mirror of
https://github.com/swc-project/swc.git
synced 2024-12-26 23:27:56 +03:00
dd805e95a4
**Description:** Note: Preserving native names is a hack, but it's used by `terser` and it's the only way to preserve the name of `class AbortSignal` while mangling without `keep_classnames: true`. We can special case `AbortSignal`, but let's just follow `terser`. **Related issue:** - https://github.com/vercel/next.js/pull/57904 |
||
---|---|---|
.. | ||
benches | ||
examples | ||
fuzz | ||
inputs | ||
scripts | ||
src | ||
tests | ||
.eslintrc | ||
.gitignore | ||
Cargo.toml | ||
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