reverse-sourcemap
Version:
Reverse engineering JavaScript and CSS sources from sourcemaps
77 lines (50 loc) • 2.98 kB
Markdown
# reverse-sourcemap
> Reverse engineering JavaScript and CSS sources from sourcemaps
## Getting started
Install the `reverse-sourcemap` command line utility globally with [npm](https://www.npmjs.com/).
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](https://nodejs.org/en/) is `8.11.1`, which is [the active Long Term Support (LTS) version](https://github.com/nodejs/Release#release-schedule).
## Command line options
The output of `reverse-sourcemap --help` pretty much covers all the options:
```sh
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
```
## Testing
Test files are generated with [UglifyJS2](https://github.com/mishoo/UglifyJS2) and
[`sass`](http://sass-lang.com)
by using files from the [stretchy](https://github.com/LeaVerou/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`](https://github.com/substack/tape) and can be executed with `npm test`.
Code coverage is inspected with [`nyc`](https://github.com/istanbuljs/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"](http://www.erikaheidi.com/blog/a-beginners-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"](https://davidwalsh.name/45-github-issues-dos-donts).
Linting is done with [ESLint](http://eslint.org) 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.
## License
Copyright (c) [Juga Paazmaya](https://paazmaya.fi) <paazmaya@yahoo.com>
Copyright (c) [David Kevork](https://davidkevork.me) <david@davidkevork.me>
Licensed under [the MIT license](./LICENSE).