Reverse engineering JavaScript and CSS sources from sourcemaps
Install the reverse-sourcemap
command line utility globally with npm.
Elevated privileges might be needed via sudo
, depending on the platform. In most cases just:
npm install --global reverse-sourcemap
Please note that the minimum supported version of Node.js is 8.11.1
, which is the active Long Term Support (LTS) version.
The output of reverse-sourcemap --help
pretty much covers all the options:
reverse-sourcemap - Reverse engineering JavaScript and CSS sources from sourcemaps
Usage: reverse-sourcemap [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.4.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.
Copyright (c) Juga Paazmaya [email protected] Copyright (c) David Kevork [email protected]
Licensed under the MIT license.