Reverse engineering JavaScript and CSS sources from sourcemaps
Install the shuji
command line utility globally with npm.
Elevated privileges might be needed via sudo
, depending on the platform. In most cases just:
npm install --global shuji
Please note that this tool requires the minimum Node.js
version to be 4.2.0
, which is the Long Term Support (LTS) version.
The output of shuji --help
pretty much covers all the options:
shuji - Reverse engineering JavaScript and CSS sources from sourcemaps
Usage: shuji [options] <file|directory>
-h, --help Help and usage instructions
-V, --version Version number
-v, --verbose Verbose output, will print which file is currently being processed
-o, --output-dir String Output directory - default: .
-M, --match String Regular expression for matching and filtering files - default: \.map$
-r, --recursive Recursively search matching files
Version 0.3.0
Test files are generated with UglifyJS2 and
sass
by using files from the stretchy project,
with the following commands:
uglifyjs stretchy.js --compress --mangle \
-o stretchy.min.js --source-map stretchy.min.js.map
uglifyjs stretchy.js --compress --mangle \
-o stretchy.min.js --source-map stretchy-with-sources.min.js.map \
--source-map-include-sources
sass stretchy.scss:stretchy.css
sass stretchy.scss:stretchy.css --sourcemap=inline
Unit tests are written with tape
and can be executed with npm test
.
Code coverage is inspected with nyc
and
can be executed with npm run coverage
after running npm test
.
Please make sure it is over 90% at all times.
"A Beginner's Guide to Open Source: The Best Advice for Making your First Contribution".
Also there is a blog post about "45 Github Issues Dos and Don’ts".
Linting is done with ESLint and can be executed with npm run lint
.
There should be no errors appearing after any JavaScript file changes.
Please note that any features or changed will not be merged without working unit tests.
v0.3.2
(2018-10-24)v0.3.1
(2016-08-08)- Test also in Windows, at AppVeyor
v0.3.0
(2016-07-07)- Start using shared ESLint configuration #1
- Test against Node.js v6
v0.2.0
(2016-03-14)- Do not overwrite existing files, instead skip them
v0.1.0
(2016-02-12)- Initial release which can make it happen
Copyright (c) Juga Paazmaya [email protected]
Licensed under the MIT license.