swc/crates/swc_ecma_minifier
2023-10-10 04:10:33 +00:00
..
benches feat(es/codegen): Add an option to print assert for import attributes (#7914) 2023-09-05 21:24:25 +09:00
examples feat(es/codegen): Add an option to print assert for import attributes (#7914) 2023-09-05 21:24:25 +09:00
fuzz chore(es/minifier): Configure fuzzer (#6246) 2022-10-25 04:36:03 +00:00
inputs
scripts chore(xtask): Migrate scripts to xtask (#8072) 2023-10-06 14:44:53 +00:00
src refactor(atoms): Remove usage of js_word! to drop string-cache (#7976) 2023-10-08 00:39:51 +00:00
tests fix(es/minifier): Check if object shorthand is skippable for seq inliner (#8036) 2023-09-30 11:40:46 +00:00
.eslintrc chore(repo): Configure prettier (#4523) 2022-05-04 14:25:28 +00:00
.gitignore feat(es/minifier): Remove duplicate var declarations (#5373) 2022-08-03 13:05:56 +09:00
Cargo.toml chore: Publish crates 2023-10-10 04:10:33 +00:00
package.json
README.md
yarn.lock

Minifier

EcmaScript minifier for the SWC project. This is basically a port of terser.

Note

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.

Debugging tips

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.

Profiling the minifier

From mac os x, run

./scripts/instrument/all.sh path/to/input/dir