It's a relatively simple NodeJS program that allows you to get the base64 encoded SHA-256 hash for a JS file or the code itself that you could later on use as the integrity of a script that you would integrate to a page so it won't be flagged by CSP or else.
To install it you need to execute the following:
npm i hashmyjs
Note: Don't forget to use
--save-dev if appropriate.
const hmj = ;//Hashing from the STDIN (followed by a new line: `\$`, `\EOF`) or from file passed as argumentshmj;//Or if you want to hash code that is already present in your script:let code = `...`;let digest = hmjhashcode;
In the CLI
hashmyjs -- [options] [files] #If used via an npm script
Usage: hashmyjs [options] [files...]A simple NodeJS JS file/code hasher.Options:-V, --version output the version number-f, --format [format] Specify the format of the output (text (default), json, csv) (default: text)-o, --output [path] Output to a file instead of in the STDOUT (default: stdout)-i, --interactive Forces to read the input from the STDIN-p, --prettify Prettify the output-h, --help output usage information
If you use wildcard
* in the CLI to get files, NodeJS will have a hard time getting the file from the right URL so it will lead in errors.
See this for more information.
If you want to contribute, make sure you stick with the coding style that ESLint is enforcing (cf. configuration file). To check if a file stick to the standards:
eslint -c ./config/.eslintrc.js yourFile.js#Or `npm lint` if appropriate
To fix formatting errors and such, run:
./fixjs.sh [your js files seperated by spaces]
🐛 💻 📖 🤔 💬 👀 🛡️ ⚠️
Semantic Release Bot