unwebpack-sourcemap
Recover uncompiled TypeScript sources, JSX, and more from Webpack sourcemaps.
This is a Python command line application that parses Webpack sourcemaps and returns uncompiled TypeScript sources.
unwebpack-sourcemap can process source maps on the local filesystem, or it can discover source maps on a remote website.
Introduction
If you're unfamiliar with source maps, you can read:
- "Introduction to JavaScript Source Maps" by Google Chrome Developers
- "Use a source map" by Firefox Source Docs
Installation
1. Create a new Python virtualenv in a directory named venv.
python3 -m venv venv
2. Activate the virtualenv.
source venv/bin/activate
3. Install unwebpack-sourcemap from PyPI.
python3 -m pip install unwebpack-sourcemap
Note: unwebpack-sourcemap comes with Python dependencies that may conflict with the dependencies in your system installation of Python. That is why it is important to always install unwebpack-sourcemap inside of a virtualenv, which won't make any changes to your surrounding system.
4. Try running unwebpack-sourcemap.
unwebpack-sourcemap --help
The below examples assume that you are inside of an activated virtualenv.
If you have installed unwebpack-sourcemap in a virtualenv, but want to avoid activating it, you can find the unwebpack-sourcemap command in the location venv/bin/unwebpack-sourcemap.
Usage
These examples use the --make-directory flag to create a subdirectory named output_dir.
You can omit the --make-directory if you want to use an existing empty directory.
Example #1: Unpacking a sourcemap on the local filesystem
unwebpack-sourcemap --make-directory --local /path/to/source.map output_dir
Example #2: Unpacking a sourcemap on a remote website
unwebpack-sourcemap --make-directory https://pathto.example.com/source.map output_dir
Example #3: Unpacking a sourcemap on a remote website (with autodetection)
To attempt to read all <script src> on an HTML page, fetch JS assets, look for sourceMappingURI, and pull sourcemaps from remote sources:
This will:
- read all of the
<script src=>tags on an HTML page - fetch JavaScript assets
- look for
sourceMappingURIand pull the sourcemaps that are found.
To do this, the command is:
unwebpack-sourcemap --make-directory --detect https://pathto.example.com/spa_root/ output_dir
License and credit
unwebpack-sourcemap was originally published by rarecoil under the MIT license. rarecoil has also published a blog post explaining the design and functionality of the original version of unwebpack-sourcemap.
This repository is a fork of unwebpack-sourcemap maintained by James Mishra and packaged for PyPI.
This repository is also licensed under the MIT license.
Metadata
Release files for unwebpack-sourcemap 0.0.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| unwebpack_sourcemap-0.0.3.tar.gz | 7.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| unwebpack_sourcemap-0.0.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 15.9 kB
Release files / unwebpack_sourcemap-0.0.3.tar.gz
| Download URL | unwebpack_sourcemap-0.0.3.tar.gz |
|---|---|
| Size | 7.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
14d19d0a6cb74693b97f1f3a0c9a885c6391103a5facc32b78ccbe6e062437a6
|
|
BLAKE2b-256 checksum How to use checksums |
d116351e7e47286dde13583f5b748dfc357125ea0a27f7fa03c3ea1f0a8abd59
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.3.2 CPython/3.8.16 Linux/5.15.0-1031-azure
|
Release files / unwebpack_sourcemap-0.0.3-py3-none-any.whl
| Download URL | unwebpack_sourcemap-0.0.3-py3-none-any.whl |
|---|---|
| Size | 8.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f51b6bd390cd4a5706e320a0829974501f0cfbdc71ce828be17b8d5b3620f765
|
|
BLAKE2b-256 checksum How to use checksums |
5a1a1f832c8805ca13e1f222ee0796c0f1597426712093319e75cce682ec7ee8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.3.2 CPython/3.8.16 Linux/5.15.0-1031-azure
|