Skip to content

🔭 Reverse engineering JavaScript and CSS sources from sourcemaps

License

Notifications You must be signed in to change notification settings

davidkevork/reverse-sourcemap

 
 

Repository files navigation

reverse-sourcemap

Reverse engineering JavaScript and CSS sources from sourcemaps

Getting started

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.

Command line options

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

Testing

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.

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 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 paazmaya@yahoo.com Copyright (c) David Kevork david@davidkevork.me

Licensed under the MIT license.

About

🔭 Reverse engineering JavaScript and CSS sources from sourcemaps

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 66.4%
  • CSS 33.6%