swc/ecmascript/minifier/scripts/terser/reference.sh
강동윤 f44e25c3af
fix(es/minifier): Improve output of minifier (#1990)
swc_common:
 - Add `Span.has_mark`.

swc_ecma_codegen:
 - Emit `1e3` for `1000`.
 - Optimize output. (#1986)

swc_ecma_minifier:
 - name mangler: Don't use keywords as an id.
 - `properties`: Optimize member expression with string properties.
 - `inline`: Inline some function expressions even if it's not fn-local.
 - `analyzer`: Track reassignment correctly.
 - `analyzer`: Track fn-local correctly.
 - `sequences`: Inject `void` if required.
 - `inline`: Inline function declarations correctly.
 - `sequences`: Merge expressions into test of if statements.
 - `sequences`: Reduce calls to an assigned variable.
 - Use `Marks` instead of `&dyn Comments`.


swc_ecma_transforms_optimization:
 - `expr_simplifier`: Fix infinite loops.

node/swc:
 - Ensure that `.transform` performs minification. (#1989)
2021-08-04 00:52:47 +09:00

17 lines
478 B
Bash
Executable File

#!/usr/bin/env bash
set -eux
##### ##### ##### ##### #####
# Usage: ./scripts/terser/reference.sh path/to/directory
#
# Used to generate expected output using terser.
##### ##### ##### ##### #####
find $1 -name input.js \
| xargs -L 1 -I {} terser --compress --output {}.output.js -- {}
find . -name 'input.js.output.js' -print0 | xargs -0 -n1 bash -c 'mv "$0" "${0/input.js.output.js/output.js}"'
# Make it easier to compare
prettier --write $1
yarn run eslint --fix $1