reverse-sourcemap
Reverse engineering JavaScript and CSS sources from sourcemaps
Getting started
Install thereverse-sourcemap
command line utility globally with npm.
Elevated privileges might be needed via sudo
, depending on the platform. In most cases just:
```sh
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.
Command line options
The output ofreverse-sourcemap --help
pretty much covers all the options:
```sh
reverse-sourcemap - Reverse engineering JavaScript and CSS sources from sourcemaps
Usage: reverse-sourcemap options
-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
```
Testing
Test files are generated with UglifyJS2 andsass
by using files from the stretchy project,
with the following commands:
```sh
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.
Contributing
"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 withnpm 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.