Crates.io | swc_ecma_minifier |
lib.rs | swc_ecma_minifier |
version | |
source | src |
created_at | 2021-05-20 06:17:02.108466 |
updated_at | 2024-12-04 01:24:45.099102 |
description | EcmaScript code minifier. |
homepage | |
repository | https://github.com/swc-project/swc.git |
max_upload_size | |
id | 399864 |
Cargo.toml error: | TOML parse error at line 23, column 1 | 23 | autolib = false | ^^^^^^^ unknown field `autolib`, expected one of `name`, `version`, `edition`, `authors`, `description`, `readme`, `license`, `repository`, `homepage`, `documentation`, `build`, `resolver`, `links`, `default-run`, `default_dash_run`, `rust-version`, `rust_dash_version`, `rust_version`, `license-file`, `license_dash_file`, `license_file`, `licenseFile`, `license_capital_file`, `forced-target`, `forced_dash_target`, `autobins`, `autotests`, `autoexamples`, `autobenches`, `publish`, `metadata`, `keywords`, `categories`, `exclude`, `include` |
size | 0 |
EcmaScript minifier for the SWC project. This is basically a port of terser.
Currently name mangler is very simple. To focus on creating a MVP, I (kdy1) will use simple logic for name mangler and implement the content-aware name mangler after publishing first non-beta version.
If the output contains variables named e
, t
, n
it typically means the original library is published in a minified form and the input contains eval
.
The current swc name mangler does not do anything if eval
is used.
From mac os x, run
./scripts/instrument/all.sh path/to/input/dir
Please prefer execution tests over unit tests. Execution tests are more useful because there's no chance of human error while reviewing.
You can add a test to ./tests/exec.rs
You can run ./scripts/exec.sh
from ./crates/swc_ecma_minifier
to run execution tests of SWC minifier. exec.sh
runs the cargo test with --features debug
, and it makes the cargo test print lots of debug logging. You can search for "change"
, and you can know the code responsible the optimization. The minifier has report_change!
macro, and it prints the location of the relevant code.
You can add a test to ./tests/fixture
. You can select any directory, but please prefer to use the issues
directory. You can run ./scripts/test.sh
from ./crates/swc_ecma_minifier
to run fixture tests. You can run it like ./scripts/test.sh foo
to run test cases only with foo
in the file path. If you want to get location of change, you can do ./scripts/test.sh foo --features debug
.