moss-fmt is an executable tool that searches a directory of zips and extracts only the specified files to a new directory, renaming them to identifiable names in the process. The main reason being formatting files for Moss.
moss-fmt can be installed via Cargo, which comes with Rustup via:
cargo install moss-fmt
You may manually build the source code using:
$ git clone https://github.com/CJohnson19/moss-fmt.git
$ cd moss-fmt
$ cargo build --release
The binary will then be in target/release/moss-fmt
.
moss-fmt [FLAGS] [OPTIONS] --dir <dir> --filename <file>
-h
,--help
: print help information-V
,--version
: print version number-v
,--verbose
: print information about each operation performed
-d
,--dir
: Relative path to a directory with zip files you want to search. Multiple directories may be provided.-f
,--filename
: Filename to search for in each zip. Multiple file names can be provided.--filter-dir
: Folder to exclude from search in each zip. Defaults to__MACOSX
andnode_modules
.-o
,--output
: Directory to store resulting files. Defaults to current working directory.-l
,--log-file
: File to store run information like zips without a file or files that are compressed using unsupported methods. Defaults tomoss-fmt.log
- Renaming of files to individually identifiable names.
index.js
turns intojohndoe-index.js
. - No artifacts retained from the extraction process, only the files you want get removed.
- Filtering of file's parent folders, that means no
__MACOSX
ornode_modules
to deal with.