HashMyJS
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.
Install
To install it you need to execute the following:
npm i hashmyjs
Note: Don't forget to use -g
, --save
, --save-dev
if appropriate.
Usage
In NodeJS
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
Help:
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
Nota bene
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.
Documentation
See this for more information.
Contribution
If you discover bugs, errors or/and have suggestions/feedback please create an issue or/and submit a PR.
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]
Contributors
Maximilian Berkmann 🐛 💻 📖 🤔 💬 👀 🛡️ ⚠️ |
Dependabot 🔧 |
Semantic Release Bot 📖 📦 |
Codacy Badger 🚇 |
---|