This project is deprecated. What now?
Large packs contain lengthy characters, unnecessary whitespaces, and uncompressed files, scripts, and assets. Downloading these packs would be a pain for the users due to slow internet issues. SuitcaseJS fixes this by making it compact as much as possible, reducing the bandwidth need to download a specific pack and gives micro-optimizations vs. the original pack.
- NodeJS v18 or above. v22 and above recommeded for faster compilation.
- Any Javascript package manager such as NPM, PNPM Yarn, Bun, etc.
- A fully functional computer of course!
npm i -g suitcasejs
You can exclude argument -g
if you are willing to compile by API or by npx
.
This is an example on how to compile your pack.
sjs compile -i ./packs/ -o ./out.mcpack -c ./.suitcaserc
You can use relative file paths or either the full path to define where the directory or file will be.
Argument -i
defines the directory path of the pack is supposed to be.
Argument -o
is where the output of the compiled pack will appear.
Argument -c
defines the config path, although it is optional. The CLI will automatically read the config file with the name .suitcaserc
, generated by running sjs init
. If there are no config file, then it will use a default one.
import { Suitcase } from "suitcasejs";
const pack = await new Suitcase("./packs/")
.readConfig() // Will read ".suitcaserc" if available or the default config.
.compile("./out.mcpack");
console.log(await pack.getStats()); // returns object stats before and after compilation.
Since there are no new updates for a few months and me not having some time to work on SuitcaseJS, this project is now archived. But don't worry! Between March and May, I'll be making a similar project as a successor to SuitcaseJS. This time, it will get its very own user-friendly UI! Alongside a possible Golang port for the compiler or not... it depends ¯\_(ツ)_/¯. Yeah, that is pretty much it...