#zip #fmt #format #moss

app moss-fmt

An executable tool to extract only desired files from a series of zips

2 unstable releases

0.2.0 Jul 17, 2021
0.1.0 May 16, 2021

#2 in #moss

MIT license

18KB
317 lines

moss-fmt

Build Status

Description

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.

Installation

moss-fmt can be installed via Cargo, which comes with Rustup via:

cargo install moss-fmt

Manually building

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.

Usage

moss-fmt [FLAGS] [OPTIONS] --dir <dir> --filename <file>

Flags

  • -h, --help: print help information
  • -V, --version: print version number
  • -v, --verbose: print information about each operation performed

Options

  • -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 and node_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 to moss-fmt.log

Features

  • Renaming of files to individually identifiable names. index.js turns into johndoe-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 or node_modules to deal with.

Dependencies

~3.5–4.5MB
~76K SLoC