This is a
playground to test code. It runs a full
Node.js environment and already has all of
npm’s 400,000 packages pre-installed, including
hashmyjs with all
npm packages installed. Try it out:
This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.
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 = require('hashmyjs'); //Hashing from the STDIN (followed by a new line: `\
RunKit, `\EOF`) or from file passed as arguments hmj.run(); //Or if you want to hash code that is already present in your script: let code = `...`; let digest = hmj.hash(code);
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 info or go to
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]