Commit Graph

6440 Commits

Author SHA1 Message Date
Donny/강동윤
3638e97c80
feat(es/testing): Improve comment testing story (#9150)
**Description:**

This PR makes `PluginCommentProxy` work by default in `test_fixture()`. This PR adds a scoped-local to `swc_common`, and uses it from `swc_ecma_transforms_testing`.

It can't be tested in the main repository, though. We cannot enable `plugin_mode` of `swc_common` in the main SWC repository.


**Related issue:**

 - Closes https://github.com/swc-project/swc/issues/9149.
2024-07-06 06:20:01 +00:00
SWC Bot
4a4d877561 chore: Bump crates 2024-07-06 05:25:49 +00:00
Donny/강동윤
2bc51b8ab2
fix(es/typescript): Fix tricky cases in TS fast strip (#9159)
**Description:**

We can leverage lexer information to handle tricky cases.
2024-07-06 05:24:02 +00:00
SWC Bot
17aab3bf9a chore: Bump crates 2024-07-06 04:48:20 +00:00
SWC Bot
7fb3868f58 chore: Bump crates 2024-07-06 01:19:39 +00:00
강동윤 (Donny)
b0f233f0a2 chore: Bump preset_env_base
Some checks failed
CI / Done (push) Blocked by required conditions
Benchmark / List crates (push) Waiting to run
Benchmark / Bench ${{ matrix.crate }} (push) Blocked by required conditions
Benchmark / Process result (push) Blocked by required conditions
Bot / Start (push) Waiting to run
Publish (core) / stable - ${{ matrix.settings.target }} - node@20 (map[build:cargo build --manifest-path ../../bindings/swc_cli/Cargo.toml --release --features plugin --target x86_64-apple-darwin cp ../../bindings/target/x86_64-apple-darwin/release/swc . chmod +x ./swc… (push) Has been cancelled
Publish (core) / stable - ${{ matrix.settings.target }} - node@20 (map[build:export CARGO_PROFILE_RELEASE_LTO=false yarn build --target x86_64-pc-windows-msvc cargo build --manifest-path ../../bindings/swc_cli/Cargo.toml --release --features plugin --target x86_64-pc-w… (push) Has been cancelled
Publish (core) / stable - ${{ matrix.settings.target }} - node@20 (map[build:export DISABLE_PLUGIN_E2E_TESTS=true export CARGO_PROFILE_RELEASE_CODEGEN_UNITS=256 export CARGO_PROFILE_RELEASE_LTO=false cargo build --manifest-path ../../bindings/swc_cli/Cargo.toml --relea… (push) Has been cancelled
Publish (core) / stable - ${{ matrix.settings.target }} - node@20 (map[build:export DISABLE_PLUGIN_E2E_TESTS=true export CARGO_PROFILE_RELEASE_LTO=false cargo build --manifest-path ../../bindings/swc_cli/Cargo.toml --release --target i686-pc-windows-msvc cp ../../bindi… (push) Has been cancelled
Publish (core) / stable - ${{ matrix.settings.target }} - node@20 (map[build:export DISABLE_PLUGIN_E2E_TESTS=true yarn napi build --bin swc --release --target armv7-unknown-linux-gnueabihf --manifest-path ../../bindings/swc_cli/Cargo.toml -x --target-dir ../release -o … (push) Has been cancelled
Publish (core) / stable - ${{ matrix.settings.target }} - node@20 (map[build:export JEMALLOC_SYS_WITH_LG_PAGE=16 && rustup toolchain install $(cat ../../rust-toolchain) && rustup target add aarch64-unknown-linux-musl && RUSTFLAGS='-C target-feature=+crt-static -C link-… (push) Has been cancelled
Publish (core) / stable - ${{ matrix.settings.target }} - node@20 (map[build:set -e && export CARGO_PROFILE_RELEASE_LTO=false && RUSTFLAGS='-C target-feature=+sse2' cargo build --manifest-path ../../bindings/swc_cli/Cargo.toml --release --features plugin --target x86_6… (push) Has been cancelled
Publish (core) / stable - ${{ matrix.settings.target }} - node@20 (map[build:set -e && export JEMALLOC_SYS_WITH_LG_PAGE=16 && rustup target add aarch64-unknown-linux-gnu && RUSTFLAGS='' cargo build --manifest-path ../../bindings/swc_cli/Cargo.toml --release --features … (push) Has been cancelled
Publish (core) / stable - ${{ matrix.settings.target }} - node@20 (map[build:set -e && unset CC_x86_64_unknown_linux_gnu && unset CC && RUSTFLAGS='-C target-feature=+sse2' cargo build --manifest-path ../../bindings/swc_cli/Cargo.toml --release --features plugin --targe… (push) Has been cancelled
Publish (core) / stable - ${{ matrix.settings.target }} - node@20 (map[build:sudo rm -Rf /Library/Developer/CommandLineTools/SDKs/*; export CC=$(xcrun -f clang); export CXX=$(xcrun -f clang++); SYSROOT=$(xcrun --sdk macosx --show-sdk-path); export CFLAGS="-isysroot $SY… (push) Has been cancelled
Publish (core) / Build - wasm (${{ matrix.settings.npm }}) for node.js (map[crate:binding_core_wasm npm:@swc\/wasm target:nodejs]) (push) Has been cancelled
Publish (core) / Build - wasm (${{ matrix.settings.npm }}) for node.js (map[crate:binding_core_wasm npm:@swc\/wasm-web target:web]) (push) Has been cancelled
Publish (core) / Build - wasm (${{ matrix.settings.npm }}) for node.js (map[crate:binding_typescript_wasm npm:@swc\/wasm-typescript target:nodejs]) (push) Has been cancelled
Publish (core) / Test bindings on ${{ matrix.settings.target }} - node@${{ matrix.node }} (18, map[host:macos-latest target:x86_64-apple-darwin]) (push) Has been cancelled
Publish (core) / Test bindings on ${{ matrix.settings.target }} - node@${{ matrix.node }} (18, map[host:windows-latest target:x86_64-pc-windows-msvc]) (push) Has been cancelled
Publish (core) / Test bindings on ${{ matrix.settings.target }} - node@${{ matrix.node }} (20, map[host:macos-latest target:x86_64-apple-darwin]) (push) Has been cancelled
Publish (core) / Test bindings on ${{ matrix.settings.target }} - node@${{ matrix.node }} (20, map[host:windows-latest target:x86_64-pc-windows-msvc]) (push) Has been cancelled
Publish (core) / Test bindings on Linux-x64-gnu - node@${{ matrix.node }} (18) (push) Has been cancelled
Publish (core) / Test bindings on Linux-x64-gnu - node@${{ matrix.node }} (20) (push) Has been cancelled
Publish (core) / Test bindings on x86_64-unknown-linux-musl - node@${{ matrix.node }} (18) (push) Has been cancelled
Publish (core) / Test bindings on x86_64-unknown-linux-musl - node@${{ matrix.node }} (20) (push) Has been cancelled
Publish (core) / Test bindings on aarch64-unknown-linux-musl - node@lts (push) Has been cancelled
Publish (core) / Test bindings on armv7-unknown-linux-gnueabihf - node@${{ matrix.node }} (18) (push) Has been cancelled
Publish (core) / Test bindings on armv7-unknown-linux-gnueabihf - node@${{ matrix.node }} (20) (push) Has been cancelled
Publish (core) / npm (push) Has been cancelled
2024-07-06 09:33:36 +09:00
Donny/강동윤
05c721030a
feat(es/typescript): Improve fast TS strip (#9154)
**Description:**

It's almost done, but it need some more adjustment for arrow functions.
2024-07-06 08:27:18 +09:00
SWC Bot
2daee6fa7e chore: Bump crates 2024-07-05 21:45:45 +00:00
magic-akari
732d748d4e
feat(es/typescript): Improve fast TS stripper (#9153) 2024-07-06 06:44:08 +09:00
Donny/강동윤
9fca4ab555
feat(es/typescript): Improve fast TS stripper (#9152)
**Related issue:**

- https://github.com/swc-project/swc/pull/9143#pullrequestreview-2160591522
2024-07-05 21:34:03 +09:00
SWC Bot
a26e134bf9 chore: Bump crates 2024-07-05 12:10:50 +00:00
Donny/강동윤
b129343c94
feat(es/typescript): Add swc_fast_ts_strip (#9143)
**Description:**

This PR also adds a CI process for each Wasm binding.

---------

Co-authored-by: magic-akari <akari.ccino@gmail.com>
2024-07-05 21:07:24 +09:00
SWC Bot
ce78baa17d chore: Bump crates 2024-07-05 09:20:32 +00:00
Donny/강동윤
648830a9a9
perf(es): Reduce allocations for dynamic stacks (#9133) 2024-07-05 09:18:38 +00:00
SWC Bot
9372030be7 chore: Bump crates
Some checks are pending
CI / Done (push) Blocked by required conditions
Benchmark / List crates (push) Waiting to run
Benchmark / Bench ${{ matrix.crate }} (push) Blocked by required conditions
Benchmark / Process result (push) Blocked by required conditions
Bot / Start (push) Waiting to run
Publish (core) / stable - ${{ matrix.settings.target }} - node@20 (map[build:cargo build --manifest-path ../../bindings/swc_cli/Cargo.toml --release --features plugin --target x86_64-apple-darwin cp ../../bindings/target/x86_64-apple-darwin/release/swc . chmod +x ./swc… (push) Waiting to run
Publish (core) / stable - ${{ matrix.settings.target }} - node@20 (map[build:export CARGO_PROFILE_RELEASE_LTO=false yarn build --target x86_64-pc-windows-msvc cargo build --manifest-path ../../bindings/swc_cli/Cargo.toml --release --features plugin --target x86_64-pc-w… (push) Waiting to run
Publish (core) / stable - ${{ matrix.settings.target }} - node@20 (map[build:export DISABLE_PLUGIN_E2E_TESTS=true export CARGO_PROFILE_RELEASE_CODEGEN_UNITS=256 export CARGO_PROFILE_RELEASE_LTO=false cargo build --manifest-path ../../bindings/swc_cli/Cargo.toml --relea… (push) Waiting to run
Publish (core) / stable - ${{ matrix.settings.target }} - node@20 (map[build:export DISABLE_PLUGIN_E2E_TESTS=true export CARGO_PROFILE_RELEASE_LTO=false cargo build --manifest-path ../../bindings/swc_cli/Cargo.toml --release --target i686-pc-windows-msvc cp ../../bindi… (push) Waiting to run
Publish (core) / stable - ${{ matrix.settings.target }} - node@20 (map[build:export DISABLE_PLUGIN_E2E_TESTS=true yarn napi build --bin swc --release --target armv7-unknown-linux-gnueabihf --manifest-path ../../bindings/swc_cli/Cargo.toml -x --target-dir ../release -o … (push) Waiting to run
Publish (core) / stable - ${{ matrix.settings.target }} - node@20 (map[build:export JEMALLOC_SYS_WITH_LG_PAGE=16 && rustup toolchain install $(cat ../../rust-toolchain) && rustup target add aarch64-unknown-linux-musl && RUSTFLAGS='-C target-feature=+crt-static -C link-… (push) Waiting to run
Publish (core) / stable - ${{ matrix.settings.target }} - node@20 (map[build:set -e && export CARGO_PROFILE_RELEASE_LTO=false && RUSTFLAGS='-C target-feature=+sse2' cargo build --manifest-path ../../bindings/swc_cli/Cargo.toml --release --features plugin --target x86_6… (push) Waiting to run
Publish (core) / stable - ${{ matrix.settings.target }} - node@20 (map[build:set -e && export JEMALLOC_SYS_WITH_LG_PAGE=16 && rustup target add aarch64-unknown-linux-gnu && RUSTFLAGS='' cargo build --manifest-path ../../bindings/swc_cli/Cargo.toml --release --features … (push) Waiting to run
Publish (core) / stable - ${{ matrix.settings.target }} - node@20 (map[build:set -e && unset CC_x86_64_unknown_linux_gnu && unset CC && RUSTFLAGS='-C target-feature=+sse2' cargo build --manifest-path ../../bindings/swc_cli/Cargo.toml --release --features plugin --targe… (push) Waiting to run
Publish (core) / stable - ${{ matrix.settings.target }} - node@20 (map[build:sudo rm -Rf /Library/Developer/CommandLineTools/SDKs/*; export CC=$(xcrun -f clang); export CXX=$(xcrun -f clang++); SYSROOT=$(xcrun --sdk macosx --show-sdk-path); export CFLAGS="-isysroot $SY… (push) Waiting to run
Publish (core) / Test bindings on ${{ matrix.settings.target }} - node@${{ matrix.node }} (18, map[host:macos-latest target:x86_64-apple-darwin]) (push) Blocked by required conditions
Publish (core) / Test bindings on ${{ matrix.settings.target }} - node@${{ matrix.node }} (18, map[host:windows-latest target:x86_64-pc-windows-msvc]) (push) Blocked by required conditions
Publish (core) / Test bindings on ${{ matrix.settings.target }} - node@${{ matrix.node }} (20, map[host:macos-latest target:x86_64-apple-darwin]) (push) Blocked by required conditions
Publish (core) / Test bindings on ${{ matrix.settings.target }} - node@${{ matrix.node }} (20, map[host:windows-latest target:x86_64-pc-windows-msvc]) (push) Blocked by required conditions
Publish (core) / Test bindings on Linux-x64-gnu - node@${{ matrix.node }} (18) (push) Blocked by required conditions
Publish (core) / Test bindings on Linux-x64-gnu - node@${{ matrix.node }} (20) (push) Blocked by required conditions
Publish (core) / Test bindings on x86_64-unknown-linux-musl - node@${{ matrix.node }} (18) (push) Blocked by required conditions
Publish (core) / Test bindings on x86_64-unknown-linux-musl - node@${{ matrix.node }} (20) (push) Blocked by required conditions
Publish (core) / Test bindings on aarch64-unknown-linux-musl - node@lts (push) Blocked by required conditions
Publish (core) / Test bindings on armv7-unknown-linux-gnueabihf - node@${{ matrix.node }} (18) (push) Blocked by required conditions
Publish (core) / Test bindings on armv7-unknown-linux-gnueabihf - node@${{ matrix.node }} (20) (push) Blocked by required conditions
Publish (core) / npm (push) Blocked by required conditions
Publish (core) / Build - wasm (${{ matrix.settings.npm }}) for node.js (map[crate:binding_core_wasm npm:@swc\/wasm target:nodejs]) (push) Waiting to run
Publish (core) / Build - wasm (${{ matrix.settings.npm }}) for node.js (map[crate:binding_core_wasm npm:@swc\/wasm-web target:web]) (push) Waiting to run
Publish (core) / Build - wasm (${{ matrix.settings.npm }}) for node.js (map[crate:binding_typescript_wasm npm:@swc\/wasm-typescript target:nodejs]) (push) Waiting to run
2024-07-05 08:46:00 +00:00
Donny/강동윤
42b4caf573
fix(es/renamer): Remove FastJsWord (#9136)
**Description:**

Actually it was slower.

```
Starting recording with the Time Profiler template. Launching process: full-4ec72b7d24d0fcd8.
Ctrl-C to stop the recording
Gnuplot not found, using plotters backend
Benchmarking es/minify/libraries/antd
Benchmarking es/minify/libraries/antd: Warming up for 3.0000 s


Warning: Unable to complete 10 samples in 5.0s. You may wish to increase target time to 5.2s.
Benchmarking es/minify/libraries/antd: Collecting 10 samples in estimated 5.1501 s (10 iterations)
Benchmarking es/minify/libraries/antd: Analyzing
es/minify/libraries/antd
                        time:   [517.09 ms 521.65 ms 527.04 ms]
                        change: [-5.0960% -4.1320% -3.0084%] (p = 0.00 < 0.05)
                        Performance has improved.
Benchmarking es/minify/libraries/d3
Benchmarking es/minify/libraries/d3: Warming up for 3.0000 s

Warning: Unable to complete 10 samples in 5.0s. You may wish to increase target time to 7.3s or enable flat sampling.
Benchmarking es/minify/libraries/d3: Collecting 10 samples in estimated 7.3000 s (55 iterations)
Benchmarking es/minify/libraries/d3: Analyzing
es/minify/libraries/d3  time:   [132.42 ms 132.66 ms 132.93 ms]
                        change: [-5.0809% -4.6687% -4.2423%] (p = 0.00 < 0.05)
                        Performance has improved.
Found 1 outliers among 10 measurements (10.00%)
  1 (10.00%) high mild
Benchmarking es/minify/libraries/echarts
Benchmarking es/minify/libraries/echarts: Warming up for 3.0000 s
Benchmarking es/minify/libraries/echarts: Collecting 10 samples in estimated 8.8664 s (20 iterations)
Benchmarking es/minify/libraries/echarts: Analyzing
es/minify/libraries/echarts
                        time:   [441.89 ms 442.98 ms 444.21 ms]
                        change: [-5.8436% -5.4580% -5.0604%] (p = 0.00 < 0.05)
                        Performance has improved.
Benchmarking es/minify/libraries/jquery
Benchmarking es/minify/libraries/jquery: Warming up for 3.0000 s
Benchmarking es/minify/libraries/jquery: Collecting 10 samples in estimated 7.2124 s (165 iterations)
Benchmarking es/minify/libraries/jquery: Analyzing
es/minify/libraries/jquery
                        time:   [43.549 ms 43.624 ms 43.703 ms]
                        change: [-3.3699% -3.0686% -2.7597%] (p = 0.00 < 0.05)
                        Performance has improved.
Benchmarking es/minify/libraries/lodash
Benchmarking es/minify/libraries/lodash: Warming up for 3.0000 s
Benchmarking es/minify/libraries/lodash: Collecting 10 samples in estimated 6.5048 s (110 iterations)
Benchmarking es/minify/libraries/lodash: Analyzing
es/minify/libraries/lodash
                        time:   [58.951 ms 59.114 ms 59.290 ms]
                        change: [-1.2723% -0.7019% -0.0217%] (p = 0.06 > 0.05)
                        No change in performance detected.
Found 1 outliers among 10 measurements (10.00%)
  1 (10.00%) high severe
Benchmarking es/minify/libraries/moment
Benchmarking es/minify/libraries/moment: Warming up for 3.0000 s
Benchmarking es/minify/libraries/moment: Collecting 10 samples in estimated 5.5497 s (220 iterations)
Benchmarking es/minify/libraries/moment: Analyzing
es/minify/libraries/moment
                        time:   [25.261 ms 25.313 ms 25.355 ms]
                        change: [-1.4771% -0.9851% -0.5957%] (p = 0.00 < 0.05)
                        Change within noise threshold.
Benchmarking es/minify/libraries/react
Benchmarking es/minify/libraries/react: Warming up for 3.0000 s
Benchmarking es/minify/libraries/react: Collecting 10 samples in estimated 5.1132 s (605 iterations)
Benchmarking es/minify/libraries/react: Analyzing
es/minify/libraries/react
                        time:   [8.4265 ms 8.4431 ms 8.4624 ms]
                        change: [-1.3741% -1.0134% -0.6710%] (p = 0.00 < 0.05)
                        Change within noise threshold.
Found 1 outliers among 10 measurements (10.00%)
  1 (10.00%) high mild
Benchmarking es/minify/libraries/terser
Benchmarking es/minify/libraries/terser: Warming up for 3.0000 s

Warning: Unable to complete 10 samples in 5.0s. You may wish to increase target time to 5.6s or enable flat sampling.
Benchmarking es/minify/libraries/terser: Collecting 10 samples in estimated 5.5614 s (55 iterations)
Benchmarking es/minify/libraries/terser: Analyzing
es/minify/libraries/terser
                        time:   [100.87 ms 100.98 ms 101.15 ms]
                        change: [-6.7656% -6.1477% -5.4618%] (p = 0.00 < 0.05)
                        Performance has improved.
Found 1 outliers among 10 measurements (10.00%)
  1 (10.00%) high severe
Benchmarking es/minify/libraries/three
Benchmarking es/minify/libraries/three: Warming up for 3.0000 s

Warning: Unable to complete 10 samples in 5.0s. You may wish to increase target time to 9.3s or enable flat sampling.
Benchmarking es/minify/libraries/three: Collecting 10 samples in estimated 9.3499 s (55 iterations)
Benchmarking es/minify/libraries/three: Analyzing
es/minify/libraries/three
                        time:   [170.12 ms 170.44 ms 170.81 ms]
                        change: [-6.9164% -6.4564% -5.9450%] (p = 0.00 < 0.05)
                        Performance has improved.
Found 1 outliers among 10 measurements (10.00%)
  1 (10.00%) high severe
Benchmarking es/minify/libraries/typescript
Benchmarking es/minify/libraries/typescript: Warming up for 3.0000 s

Warning: Unable to complete 10 samples in 5.0s. You may wish to increase target time to 9.3s.
Benchmarking es/minify/libraries/typescript: Collecting 10 samples in estimated 9.2642 s (10 iterations)
Benchmarking es/minify/libraries/typescript: Analyzing
es/minify/libraries/typescript
                        time:   [927.57 ms 929.26 ms 930.85 ms]
                        change: [-4.4792% -4.1803% -3.9000%] (p = 0.00 < 0.05)
                        Performance has improved.
Benchmarking es/minify/libraries/victory
Benchmarking es/minify/libraries/victory: Warming up for 3.0000 s
Benchmarking es/minify/libraries/victory: Collecting 10 samples in estimated 7.0301 s (30 iterations)
Benchmarking es/minify/libraries/victory: Analyzing
es/minify/libraries/victory
                        time:   [233.98 ms 234.44 ms 234.96 ms]
                        change: [-7.2681% -6.7396% -6.2554%] (p = 0.00 < 0.05)
                        Performance has improved.
Benchmarking es/minify/libraries/vue
Benchmarking es/minify/libraries/vue: Warming up for 3.0000 s
Benchmarking es/minify/libraries/vue: Collecting 10 samples in estimated 6.7241 s (110 iterations)
Benchmarking es/minify/libraries/vue: Analyzing
es/minify/libraries/vue time:   [61.051 ms 61.124 ms 61.225 ms]
                        change: [-2.3890% -2.1697% -1.9536%] (p = 0.00 < 0.05)
                        Performance has improved.
```


**Related issue:**

 - Closes #9126
2024-07-05 08:44:27 +00:00
SWC Bot
f70e0716fd chore: Bump crates 2024-07-05 08:04:59 +00:00
Donny/강동윤
8a3ae44370
fix(es/decorators): Fix bugs of 2022-03 implementation (#9145)
**Description:**

I extracted some changes from https://github.com/swc-project/swc/pull/8970
2024-07-05 08:02:43 +00:00
SWC Bot
ce454176ba chore: Bump crates 2024-07-05 07:13:12 +00:00
CPunisher
1a739b7928
fix(es/minifier): Fix undefined judgement (#9146)
**Description:**

by symbol name -> by whether it points to global undefined or not.

The updated test results all involve variables with `undefined` ident (although they are indeed uninitialized).


**Related issue:**

 - Closes: https://github.com/swc-project/swc/issues/8567
2024-07-05 07:05:43 +00:00
SWC Bot
2481d73c3b chore: Bump crates 2024-07-05 06:21:16 +00:00
LongYinan
17915d9e22
chore: Update miette (#9137)
Co-authored-by: 강동윤 (Donny) <kdy1997.dev@gmail.com>
2024-07-05 06:19:35 +00:00
SWC Bot
59f2a345fa chore: Bump crates 2024-07-05 02:18:53 +00:00
Donny/강동윤
9d9fe6625b
refactor(es/parser): Improve readability (#9141) 2024-07-05 09:49:43 +09:00
SWC Bot
2d6509a7d4 chore: Bump crates
Some checks are pending
CI / Done (push) Blocked by required conditions
Benchmark / List crates (push) Waiting to run
Benchmark / Bench ${{ matrix.crate }} (push) Blocked by required conditions
Benchmark / Process result (push) Blocked by required conditions
Bot / Start (push) Waiting to run
Publish (core) / stable - ${{ matrix.settings.target }} - node@20 (map[build:cargo build --manifest-path ../../bindings/swc_cli/Cargo.toml --release --features plugin --target x86_64-apple-darwin cp ../../bindings/target/x86_64-apple-darwin/release/swc . chmod +x ./swc… (push) Waiting to run
Publish (core) / stable - ${{ matrix.settings.target }} - node@20 (map[build:export CARGO_PROFILE_RELEASE_LTO=false yarn build --target x86_64-pc-windows-msvc cargo build --manifest-path ../../bindings/swc_cli/Cargo.toml --release --features plugin --target x86_64-pc-w… (push) Waiting to run
Publish (core) / stable - ${{ matrix.settings.target }} - node@20 (map[build:export DISABLE_PLUGIN_E2E_TESTS=true export CARGO_PROFILE_RELEASE_CODEGEN_UNITS=256 export CARGO_PROFILE_RELEASE_LTO=false cargo build --manifest-path ../../bindings/swc_cli/Cargo.toml --relea… (push) Waiting to run
Publish (core) / stable - ${{ matrix.settings.target }} - node@20 (map[build:export DISABLE_PLUGIN_E2E_TESTS=true export CARGO_PROFILE_RELEASE_LTO=false cargo build --manifest-path ../../bindings/swc_cli/Cargo.toml --release --target i686-pc-windows-msvc cp ../../bindi… (push) Waiting to run
Publish (core) / stable - ${{ matrix.settings.target }} - node@20 (map[build:export DISABLE_PLUGIN_E2E_TESTS=true yarn napi build --bin swc --release --target armv7-unknown-linux-gnueabihf --manifest-path ../../bindings/swc_cli/Cargo.toml -x --target-dir ../release -o … (push) Waiting to run
Publish (core) / stable - ${{ matrix.settings.target }} - node@20 (map[build:export JEMALLOC_SYS_WITH_LG_PAGE=16 && rustup toolchain install $(cat ../../rust-toolchain) && rustup target add aarch64-unknown-linux-musl && RUSTFLAGS='-C target-feature=+crt-static -C link-… (push) Waiting to run
Publish (core) / stable - ${{ matrix.settings.target }} - node@20 (map[build:set -e && export CARGO_PROFILE_RELEASE_LTO=false && RUSTFLAGS='-C target-feature=+sse2' cargo build --manifest-path ../../bindings/swc_cli/Cargo.toml --release --features plugin --target x86_6… (push) Waiting to run
Publish (core) / stable - ${{ matrix.settings.target }} - node@20 (map[build:set -e && export JEMALLOC_SYS_WITH_LG_PAGE=16 && rustup target add aarch64-unknown-linux-gnu && RUSTFLAGS='' cargo build --manifest-path ../../bindings/swc_cli/Cargo.toml --release --features … (push) Waiting to run
Publish (core) / stable - ${{ matrix.settings.target }} - node@20 (map[build:set -e && unset CC_x86_64_unknown_linux_gnu && unset CC && RUSTFLAGS='-C target-feature=+sse2' cargo build --manifest-path ../../bindings/swc_cli/Cargo.toml --release --features plugin --targe… (push) Waiting to run
Publish (core) / stable - ${{ matrix.settings.target }} - node@20 (map[build:sudo rm -Rf /Library/Developer/CommandLineTools/SDKs/*; export CC=$(xcrun -f clang); export CXX=$(xcrun -f clang++); SYSROOT=$(xcrun --sdk macosx --show-sdk-path); export CFLAGS="-isysroot $SY… (push) Waiting to run
Publish (core) / Test bindings on ${{ matrix.settings.target }} - node@${{ matrix.node }} (18, map[host:macos-latest target:x86_64-apple-darwin]) (push) Blocked by required conditions
Publish (core) / Test bindings on ${{ matrix.settings.target }} - node@${{ matrix.node }} (18, map[host:windows-latest target:x86_64-pc-windows-msvc]) (push) Blocked by required conditions
Publish (core) / Test bindings on ${{ matrix.settings.target }} - node@${{ matrix.node }} (20, map[host:macos-latest target:x86_64-apple-darwin]) (push) Blocked by required conditions
Publish (core) / Test bindings on ${{ matrix.settings.target }} - node@${{ matrix.node }} (20, map[host:windows-latest target:x86_64-pc-windows-msvc]) (push) Blocked by required conditions
Publish (core) / Test bindings on Linux-x64-gnu - node@${{ matrix.node }} (18) (push) Blocked by required conditions
Publish (core) / Test bindings on Linux-x64-gnu - node@${{ matrix.node }} (20) (push) Blocked by required conditions
Publish (core) / Test bindings on x86_64-unknown-linux-musl - node@${{ matrix.node }} (18) (push) Blocked by required conditions
Publish (core) / Test bindings on x86_64-unknown-linux-musl - node@${{ matrix.node }} (20) (push) Blocked by required conditions
Publish (core) / Test bindings on aarch64-unknown-linux-musl - node@lts (push) Blocked by required conditions
Publish (core) / Test bindings on armv7-unknown-linux-gnueabihf - node@${{ matrix.node }} (18) (push) Blocked by required conditions
Publish (core) / Test bindings on armv7-unknown-linux-gnueabihf - node@${{ matrix.node }} (20) (push) Blocked by required conditions
Publish (core) / npm (push) Blocked by required conditions
Publish (core) / Build - wasm (${{ matrix.settings.npm }}) for node.js (map[crate:binding_core_wasm npm:@swc\/wasm target:nodejs]) (push) Waiting to run
Publish (core) / Build - wasm (${{ matrix.settings.npm }}) for node.js (map[crate:binding_core_wasm npm:@swc\/wasm-web target:web]) (push) Waiting to run
Publish (core) / Build - wasm (${{ matrix.settings.npm }}) for node.js (map[crate:binding_typescript_wasm npm:@swc\/wasm-typescript target:nodejs]) (push) Waiting to run
2024-07-04 16:21:44 +00:00
Donny/강동윤
45f671d8d8
fix(es/renamer): Fix renaming of default-exported declarations (#9135)
**Related issue:**

 - Closes #9129
2024-07-04 21:08:45 +09:00
SWC Bot
401ef98b6a chore: Bump crates 2024-07-04 09:25:36 +00:00
SWC Bot
db5c25309b chore: Bump crates
Some checks are pending
CI / Done (push) Blocked by required conditions
Benchmark / List crates (push) Waiting to run
Benchmark / Bench ${{ matrix.crate }} (push) Blocked by required conditions
Benchmark / Process result (push) Blocked by required conditions
Bot / Start (push) Waiting to run
Publish (core) / stable - ${{ matrix.settings.target }} - node@20 (map[build:cargo build --manifest-path ../../bindings/swc_cli/Cargo.toml --release --features plugin --target x86_64-apple-darwin cp ../../bindings/target/x86_64-apple-darwin/release/swc . chmod +x ./swc… (push) Waiting to run
Publish (core) / stable - ${{ matrix.settings.target }} - node@20 (map[build:export CARGO_PROFILE_RELEASE_LTO=false yarn build --target x86_64-pc-windows-msvc cargo build --manifest-path ../../bindings/swc_cli/Cargo.toml --release --features plugin --target x86_64-pc-w… (push) Waiting to run
Publish (core) / stable - ${{ matrix.settings.target }} - node@20 (map[build:export DISABLE_PLUGIN_E2E_TESTS=true export CARGO_PROFILE_RELEASE_CODEGEN_UNITS=256 export CARGO_PROFILE_RELEASE_LTO=false cargo build --manifest-path ../../bindings/swc_cli/Cargo.toml --relea… (push) Waiting to run
Publish (core) / stable - ${{ matrix.settings.target }} - node@20 (map[build:export DISABLE_PLUGIN_E2E_TESTS=true export CARGO_PROFILE_RELEASE_LTO=false cargo build --manifest-path ../../bindings/swc_cli/Cargo.toml --release --target i686-pc-windows-msvc cp ../../bindi… (push) Waiting to run
Publish (core) / stable - ${{ matrix.settings.target }} - node@20 (map[build:export DISABLE_PLUGIN_E2E_TESTS=true yarn napi build --bin swc --release --target armv7-unknown-linux-gnueabihf --manifest-path ../../bindings/swc_cli/Cargo.toml -x --target-dir ../release -o … (push) Waiting to run
Publish (core) / stable - ${{ matrix.settings.target }} - node@20 (map[build:export JEMALLOC_SYS_WITH_LG_PAGE=16 && rustup toolchain install $(cat ../../rust-toolchain) && rustup target add aarch64-unknown-linux-musl && RUSTFLAGS='-C target-feature=+crt-static -C link-… (push) Waiting to run
Publish (core) / stable - ${{ matrix.settings.target }} - node@20 (map[build:set -e && export CARGO_PROFILE_RELEASE_LTO=false && RUSTFLAGS='-C target-feature=+sse2' cargo build --manifest-path ../../bindings/swc_cli/Cargo.toml --release --features plugin --target x86_6… (push) Waiting to run
Publish (core) / stable - ${{ matrix.settings.target }} - node@20 (map[build:set -e && export JEMALLOC_SYS_WITH_LG_PAGE=16 && rustup target add aarch64-unknown-linux-gnu && RUSTFLAGS='' cargo build --manifest-path ../../bindings/swc_cli/Cargo.toml --release --features … (push) Waiting to run
Publish (core) / stable - ${{ matrix.settings.target }} - node@20 (map[build:set -e && unset CC_x86_64_unknown_linux_gnu && unset CC && RUSTFLAGS='-C target-feature=+sse2' cargo build --manifest-path ../../bindings/swc_cli/Cargo.toml --release --features plugin --targe… (push) Waiting to run
Publish (core) / stable - ${{ matrix.settings.target }} - node@20 (map[build:sudo rm -Rf /Library/Developer/CommandLineTools/SDKs/*; export CC=$(xcrun -f clang); export CXX=$(xcrun -f clang++); SYSROOT=$(xcrun --sdk macosx --show-sdk-path); export CFLAGS="-isysroot $SY… (push) Waiting to run
Publish (core) / Test bindings on ${{ matrix.settings.target }} - node@${{ matrix.node }} (18, map[host:macos-latest target:x86_64-apple-darwin]) (push) Blocked by required conditions
Publish (core) / Test bindings on ${{ matrix.settings.target }} - node@${{ matrix.node }} (18, map[host:windows-latest target:x86_64-pc-windows-msvc]) (push) Blocked by required conditions
Publish (core) / Test bindings on ${{ matrix.settings.target }} - node@${{ matrix.node }} (20, map[host:macos-latest target:x86_64-apple-darwin]) (push) Blocked by required conditions
Publish (core) / Test bindings on ${{ matrix.settings.target }} - node@${{ matrix.node }} (20, map[host:windows-latest target:x86_64-pc-windows-msvc]) (push) Blocked by required conditions
Publish (core) / Test bindings on Linux-x64-gnu - node@${{ matrix.node }} (18) (push) Blocked by required conditions
Publish (core) / Test bindings on Linux-x64-gnu - node@${{ matrix.node }} (20) (push) Blocked by required conditions
Publish (core) / Test bindings on x86_64-unknown-linux-musl - node@${{ matrix.node }} (18) (push) Blocked by required conditions
Publish (core) / Test bindings on x86_64-unknown-linux-musl - node@${{ matrix.node }} (20) (push) Blocked by required conditions
Publish (core) / Test bindings on aarch64-unknown-linux-musl - node@lts (push) Blocked by required conditions
Publish (core) / Test bindings on armv7-unknown-linux-gnueabihf - node@${{ matrix.node }} (18) (push) Blocked by required conditions
Publish (core) / Test bindings on armv7-unknown-linux-gnueabihf - node@${{ matrix.node }} (20) (push) Blocked by required conditions
Publish (core) / npm (push) Blocked by required conditions
Publish (core) / Build - wasm (${{ matrix.settings.npm }}) for node.js (map[crate:binding_core_wasm npm:@swc\/wasm target:nodejs]) (push) Waiting to run
Publish (core) / Build - wasm (${{ matrix.settings.npm }}) for node.js (map[crate:binding_core_wasm npm:@swc\/wasm-web target:web]) (push) Waiting to run
Publish (core) / Build - wasm (${{ matrix.settings.npm }}) for node.js (map[crate:binding_typescript_wasm npm:@swc\/wasm-typescript target:nodejs]) (push) Waiting to run
2024-07-04 05:06:54 +00:00
Donny/강동윤
e94e5e70c3
fix(es/loader): Exclude .json from default extension list (#9134)
**Related issue:**

 - Closes #9121
2024-07-04 05:05:04 +00:00
SWC Bot
43b1e31ffb chore: Bump crates 2024-07-04 03:25:42 +00:00
SWC Bot
c34c25370f chore: Bump crates 2024-07-03 06:12:03 +00:00
Donny/강동윤
dfee5f838b
refactor(es/typescript): Extract type annotation proposal out (#9127)
**Description:**

The Node.js team wants a Wasm package that only implements type annotation proposals. So, we need to refactor our TypeScript transform to allow it.


**Related issue:**

 - https://github.com/nodejs/loaders/issues/208#issuecomment-2205063110
2024-07-03 15:10:10 +09:00
SWC Bot
360c525888 chore: Bump crates
Some checks are pending
CI / Test with @swc/cli (push) Waiting to run
CI / Miri (better_scoped_tls) (push) Waiting to run
CI / Miri (string_enum) (push) Waiting to run
CI / Miri (swc) (push) Waiting to run
CI / Miri (swc_bundler) (push) Waiting to run
CI / Miri (swc_ecma_codegen) (push) Waiting to run
CI / Miri (swc_ecma_minifier) (push) Waiting to run
CI / Done (push) Blocked by required conditions
Benchmark / List crates (push) Waiting to run
Benchmark / Bench ${{ matrix.crate }} (push) Blocked by required conditions
Benchmark / Process result (push) Blocked by required conditions
Bot / Start (push) Waiting to run
Publish (core) / stable - ${{ matrix.settings.target }} - node@20 (map[build:cargo build --manifest-path ../../bindings/swc_cli/Cargo.toml --release --features plugin --target x86_64-apple-darwin cp ../../bindings/target/x86_64-apple-darwin/release/swc . chmod +x ./swc… (push) Waiting to run
Publish (core) / stable - ${{ matrix.settings.target }} - node@20 (map[build:export CARGO_PROFILE_RELEASE_LTO=false yarn build --target x86_64-pc-windows-msvc cargo build --manifest-path ../../bindings/swc_cli/Cargo.toml --release --features plugin --target x86_64-pc-w… (push) Waiting to run
Publish (core) / stable - ${{ matrix.settings.target }} - node@20 (map[build:export DISABLE_PLUGIN_E2E_TESTS=true export CARGO_PROFILE_RELEASE_CODEGEN_UNITS=256 export CARGO_PROFILE_RELEASE_LTO=false cargo build --manifest-path ../../bindings/swc_cli/Cargo.toml --relea… (push) Waiting to run
Publish (core) / stable - ${{ matrix.settings.target }} - node@20 (map[build:export DISABLE_PLUGIN_E2E_TESTS=true export CARGO_PROFILE_RELEASE_LTO=false cargo build --manifest-path ../../bindings/swc_cli/Cargo.toml --release --target i686-pc-windows-msvc cp ../../bindi… (push) Waiting to run
Publish (core) / stable - ${{ matrix.settings.target }} - node@20 (map[build:export DISABLE_PLUGIN_E2E_TESTS=true yarn napi build --bin swc --release --target armv7-unknown-linux-gnueabihf --manifest-path ../../bindings/swc_cli/Cargo.toml -x --target-dir ../release -o … (push) Waiting to run
Publish (core) / stable - ${{ matrix.settings.target }} - node@20 (map[build:export JEMALLOC_SYS_WITH_LG_PAGE=16 && rustup toolchain install $(cat ../../rust-toolchain) && rustup target add aarch64-unknown-linux-musl && RUSTFLAGS='-C target-feature=+crt-static -C link-… (push) Waiting to run
Publish (core) / stable - ${{ matrix.settings.target }} - node@20 (map[build:set -e && export CARGO_PROFILE_RELEASE_LTO=false && RUSTFLAGS='-C target-feature=+sse2' cargo build --manifest-path ../../bindings/swc_cli/Cargo.toml --release --features plugin --target x86_6… (push) Waiting to run
Publish (core) / stable - ${{ matrix.settings.target }} - node@20 (map[build:set -e && export JEMALLOC_SYS_WITH_LG_PAGE=16 && rustup target add aarch64-unknown-linux-gnu && RUSTFLAGS='' cargo build --manifest-path ../../bindings/swc_cli/Cargo.toml --release --features … (push) Waiting to run
Publish (core) / stable - ${{ matrix.settings.target }} - node@20 (map[build:set -e && unset CC_x86_64_unknown_linux_gnu && unset CC && RUSTFLAGS='-C target-feature=+sse2' cargo build --manifest-path ../../bindings/swc_cli/Cargo.toml --release --features plugin --targe… (push) Waiting to run
Publish (core) / stable - ${{ matrix.settings.target }} - node@20 (map[build:sudo rm -Rf /Library/Developer/CommandLineTools/SDKs/*; export CC=$(xcrun -f clang); export CXX=$(xcrun -f clang++); SYSROOT=$(xcrun --sdk macosx --show-sdk-path); export CFLAGS="-isysroot $SY… (push) Waiting to run
Publish (core) / Test bindings on ${{ matrix.settings.target }} - node@${{ matrix.node }} (18, map[host:macos-latest target:x86_64-apple-darwin]) (push) Blocked by required conditions
Publish (core) / Test bindings on ${{ matrix.settings.target }} - node@${{ matrix.node }} (18, map[host:windows-latest target:x86_64-pc-windows-msvc]) (push) Blocked by required conditions
Publish (core) / Test bindings on Linux-x64-gnu - node@${{ matrix.node }} (18) (push) Blocked by required conditions
Publish (core) / Test bindings on x86_64-unknown-linux-musl - node@${{ matrix.node }} (18) (push) Blocked by required conditions
Publish (core) / Test bindings on armv7-unknown-linux-gnueabihf - node@${{ matrix.node }} (18) (push) Blocked by required conditions
Publish (core) / npm (push) Blocked by required conditions
Publish (core) / Build - wasm for node.js (push) Waiting to run
Publish (core) / Build - wasm for web (push) Waiting to run
2024-07-02 01:51:57 +00:00
Donny/강동윤
07c3054847
test(es/decorators): Split decorator-tests (#9119) 2024-07-02 10:50:23 +09:00
SWC Bot
f8a33e3800 chore: Bump crates 2024-07-02 01:17:55 +00:00
Levi
570c47a9ac
feat(es/minifier): Handle more indexing expression (#8750)
**Related issue:**

 - Closes #8747
2024-07-02 10:15:45 +09:00
SWC Bot
fb3f04536f chore: Bump crates
Some checks are pending
CI / Test with @swc/cli (push) Waiting to run
CI / Miri (better_scoped_tls) (push) Waiting to run
CI / Miri (string_enum) (push) Waiting to run
CI / Miri (swc) (push) Waiting to run
CI / Miri (swc_bundler) (push) Waiting to run
CI / Miri (swc_ecma_codegen) (push) Waiting to run
CI / Miri (swc_ecma_minifier) (push) Waiting to run
CI / Done (push) Blocked by required conditions
Benchmark / List crates (push) Waiting to run
Benchmark / Bench ${{ matrix.crate }} (push) Blocked by required conditions
Benchmark / Process result (push) Blocked by required conditions
Bot / Start (push) Waiting to run
Publish (core) / stable - ${{ matrix.settings.target }} - node@20 (map[build:cargo build --manifest-path ../../bindings/swc_cli/Cargo.toml --release --features plugin --target x86_64-apple-darwin cp ../../bindings/target/x86_64-apple-darwin/release/swc . chmod +x ./swc… (push) Waiting to run
Publish (core) / stable - ${{ matrix.settings.target }} - node@20 (map[build:export CARGO_PROFILE_RELEASE_LTO=false yarn build --target x86_64-pc-windows-msvc cargo build --manifest-path ../../bindings/swc_cli/Cargo.toml --release --features plugin --target x86_64-pc-w… (push) Waiting to run
Publish (core) / stable - ${{ matrix.settings.target }} - node@20 (map[build:export DISABLE_PLUGIN_E2E_TESTS=true export CARGO_PROFILE_RELEASE_CODEGEN_UNITS=256 export CARGO_PROFILE_RELEASE_LTO=false cargo build --manifest-path ../../bindings/swc_cli/Cargo.toml --relea… (push) Waiting to run
Publish (core) / stable - ${{ matrix.settings.target }} - node@20 (map[build:export DISABLE_PLUGIN_E2E_TESTS=true export CARGO_PROFILE_RELEASE_LTO=false cargo build --manifest-path ../../bindings/swc_cli/Cargo.toml --release --target i686-pc-windows-msvc cp ../../bindi… (push) Waiting to run
Publish (core) / stable - ${{ matrix.settings.target }} - node@20 (map[build:export DISABLE_PLUGIN_E2E_TESTS=true yarn napi build --bin swc --release --target armv7-unknown-linux-gnueabihf --manifest-path ../../bindings/swc_cli/Cargo.toml -x --target-dir ../release -o … (push) Waiting to run
Publish (core) / stable - ${{ matrix.settings.target }} - node@20 (map[build:export JEMALLOC_SYS_WITH_LG_PAGE=16 && rustup toolchain install $(cat ../../rust-toolchain) && rustup target add aarch64-unknown-linux-musl && RUSTFLAGS='-C target-feature=+crt-static -C link-… (push) Waiting to run
Publish (core) / stable - ${{ matrix.settings.target }} - node@20 (map[build:set -e && export CARGO_PROFILE_RELEASE_LTO=false && RUSTFLAGS='-C target-feature=+sse2' cargo build --manifest-path ../../bindings/swc_cli/Cargo.toml --release --features plugin --target x86_6… (push) Waiting to run
Publish (core) / stable - ${{ matrix.settings.target }} - node@20 (map[build:set -e && export JEMALLOC_SYS_WITH_LG_PAGE=16 && rustup target add aarch64-unknown-linux-gnu && RUSTFLAGS='' cargo build --manifest-path ../../bindings/swc_cli/Cargo.toml --release --features … (push) Waiting to run
Publish (core) / stable - ${{ matrix.settings.target }} - node@20 (map[build:set -e && unset CC_x86_64_unknown_linux_gnu && unset CC && RUSTFLAGS='-C target-feature=+sse2' cargo build --manifest-path ../../bindings/swc_cli/Cargo.toml --release --features plugin --targe… (push) Waiting to run
Publish (core) / stable - ${{ matrix.settings.target }} - node@20 (map[build:sudo rm -Rf /Library/Developer/CommandLineTools/SDKs/*; export CC=$(xcrun -f clang); export CXX=$(xcrun -f clang++); SYSROOT=$(xcrun --sdk macosx --show-sdk-path); export CFLAGS="-isysroot $SY… (push) Waiting to run
Publish (core) / Test bindings on ${{ matrix.settings.target }} - node@${{ matrix.node }} (18, map[host:macos-latest target:x86_64-apple-darwin]) (push) Blocked by required conditions
Publish (core) / Test bindings on ${{ matrix.settings.target }} - node@${{ matrix.node }} (18, map[host:windows-latest target:x86_64-pc-windows-msvc]) (push) Blocked by required conditions
Publish (core) / Test bindings on Linux-x64-gnu - node@${{ matrix.node }} (18) (push) Blocked by required conditions
Publish (core) / Test bindings on x86_64-unknown-linux-musl - node@${{ matrix.node }} (18) (push) Blocked by required conditions
Publish (core) / Test bindings on armv7-unknown-linux-gnueabihf - node@${{ matrix.node }} (18) (push) Blocked by required conditions
Publish (core) / npm (push) Blocked by required conditions
Publish (core) / Build - wasm for node.js (push) Waiting to run
Publish (core) / Build - wasm for web (push) Waiting to run
2024-07-01 08:17:08 +00:00
Donny/강동윤
72021def15
perf(es/lexer): Do not use memchr::memmem in parser (#9118)
Some checks are pending
CI / Test with @swc/cli (push) Waiting to run
CI / Miri (better_scoped_tls) (push) Waiting to run
CI / Miri (string_enum) (push) Waiting to run
CI / Miri (swc) (push) Waiting to run
CI / Miri (swc_bundler) (push) Waiting to run
CI / Miri (swc_ecma_codegen) (push) Waiting to run
CI / Miri (swc_ecma_minifier) (push) Waiting to run
CI / Done (push) Blocked by required conditions
Benchmark / List crates (push) Waiting to run
Benchmark / Bench ${{ matrix.crate }} (push) Blocked by required conditions
Benchmark / Process result (push) Blocked by required conditions
Bot / Start (push) Waiting to run
Publish (core) / stable - ${{ matrix.settings.target }} - node@20 (map[build:cargo build --manifest-path ../../bindings/swc_cli/Cargo.toml --release --features plugin --target x86_64-apple-darwin cp ../../bindings/target/x86_64-apple-darwin/release/swc . chmod +x ./swc… (push) Waiting to run
Publish (core) / stable - ${{ matrix.settings.target }} - node@20 (map[build:export CARGO_PROFILE_RELEASE_LTO=false yarn build --target x86_64-pc-windows-msvc cargo build --manifest-path ../../bindings/swc_cli/Cargo.toml --release --features plugin --target x86_64-pc-w… (push) Waiting to run
Publish (core) / stable - ${{ matrix.settings.target }} - node@20 (map[build:export DISABLE_PLUGIN_E2E_TESTS=true export CARGO_PROFILE_RELEASE_CODEGEN_UNITS=256 export CARGO_PROFILE_RELEASE_LTO=false cargo build --manifest-path ../../bindings/swc_cli/Cargo.toml --relea… (push) Waiting to run
Publish (core) / stable - ${{ matrix.settings.target }} - node@20 (map[build:export DISABLE_PLUGIN_E2E_TESTS=true export CARGO_PROFILE_RELEASE_LTO=false cargo build --manifest-path ../../bindings/swc_cli/Cargo.toml --release --target i686-pc-windows-msvc cp ../../bindi… (push) Waiting to run
Publish (core) / stable - ${{ matrix.settings.target }} - node@20 (map[build:export DISABLE_PLUGIN_E2E_TESTS=true yarn napi build --bin swc --release --target armv7-unknown-linux-gnueabihf --manifest-path ../../bindings/swc_cli/Cargo.toml -x --target-dir ../release -o … (push) Waiting to run
Publish (core) / stable - ${{ matrix.settings.target }} - node@20 (map[build:export JEMALLOC_SYS_WITH_LG_PAGE=16 && rustup toolchain install $(cat ../../rust-toolchain) && rustup target add aarch64-unknown-linux-musl && RUSTFLAGS='-C target-feature=+crt-static -C link-… (push) Waiting to run
Publish (core) / stable - ${{ matrix.settings.target }} - node@20 (map[build:set -e && export CARGO_PROFILE_RELEASE_LTO=false && RUSTFLAGS='-C target-feature=+sse2' cargo build --manifest-path ../../bindings/swc_cli/Cargo.toml --release --features plugin --target x86_6… (push) Waiting to run
Publish (core) / stable - ${{ matrix.settings.target }} - node@20 (map[build:set -e && export JEMALLOC_SYS_WITH_LG_PAGE=16 && rustup target add aarch64-unknown-linux-gnu && RUSTFLAGS='' cargo build --manifest-path ../../bindings/swc_cli/Cargo.toml --release --features … (push) Waiting to run
Publish (core) / stable - ${{ matrix.settings.target }} - node@20 (map[build:set -e && unset CC_x86_64_unknown_linux_gnu && unset CC && RUSTFLAGS='-C target-feature=+sse2' cargo build --manifest-path ../../bindings/swc_cli/Cargo.toml --release --features plugin --targe… (push) Waiting to run
Publish (core) / stable - ${{ matrix.settings.target }} - node@20 (map[build:sudo rm -Rf /Library/Developer/CommandLineTools/SDKs/*; export CC=$(xcrun -f clang); export CXX=$(xcrun -f clang++); SYSROOT=$(xcrun --sdk macosx --show-sdk-path); export CFLAGS="-isysroot $SY… (push) Waiting to run
Publish (core) / Test bindings on ${{ matrix.settings.target }} - node@${{ matrix.node }} (18, map[host:macos-latest target:x86_64-apple-darwin]) (push) Blocked by required conditions
Publish (core) / Test bindings on ${{ matrix.settings.target }} - node@${{ matrix.node }} (18, map[host:windows-latest target:x86_64-pc-windows-msvc]) (push) Blocked by required conditions
Publish (core) / Test bindings on Linux-x64-gnu - node@${{ matrix.node }} (18) (push) Blocked by required conditions
Publish (core) / Test bindings on x86_64-unknown-linux-musl - node@${{ matrix.node }} (18) (push) Blocked by required conditions
Publish (core) / Test bindings on armv7-unknown-linux-gnueabihf - node@${{ matrix.node }} (18) (push) Blocked by required conditions
Publish (core) / npm (push) Blocked by required conditions
Publish (core) / Build - wasm for node.js (push) Waiting to run
Publish (core) / Build - wasm for web (push) Waiting to run
Reverts swc-project/swc#9096.
I'm reverting this as this regressed performance in `linux-x86_64`.
2024-07-01 15:01:34 +09:00
SWC Bot
226617e73e chore: Bump crates 2024-07-01 05:22:20 +00:00
Pig Fang
18d6277e4c
feat(preset-env): Upgrade browserslist-rs (#9023)
**Description:**

Compilation time of browserslist-rs has beed reduced by 32%. See:
https://github.com/browserslist/browserslist-rs/pull/23

But, it's still slower that oxc-browserslist:


![image](https://github.com/swc-project/swc/assets/17216317/44602603-e33f-442e-9ee0-242061089397)

while browserslist-rs costs about 3.9s.




**Related issue:**

Close #9014

---------

Co-authored-by: 강동윤 (Donny) <kdy1997.dev@gmail.com>
2024-07-01 05:20:49 +00:00
SWC Bot
6ce0e7109e chore: Bump crates 2024-07-01 03:14:15 +00:00
Donny/강동윤
6520052432
fix(es/compat): Do not reuse span (#9117)
**Related issue:**

 - Closes #9108
2024-07-01 12:12:32 +09:00
강동윤 (Donny)
47a79485d9 chore: Revert bump crates
This reverts commit 97b92aa6ff.
2024-06-29 18:28:54 +09:00
SWC Bot
97b92aa6ff chore: Bump crates 2024-06-29 09:26:51 +00:00
Donny/강동윤
2a0ebec0f5
fix(es/lexer): Fix lexing of \r\n in JSX (#9112)
**Description:**

I made a mistake while working on the performance of the lexer.


**Related issue:**

 - Closes #9106
2024-06-29 18:24:51 +09:00
Donny/강동윤
8ef30cc08c
perf(es/parser): Increase token context size (#9104)
**Description:**

Now, `TokenContext` is 1 byte, so we can increase the stack size for it.

```
Gnuplot not found, using plotters backend
Benchmarking es/parser/colors
Benchmarking es/parser/colors: Warming up for 3.0000 s
Benchmarking es/parser/colors: Collecting 100 samples in estimated 5.0243 s (561k iterations)
Benchmarking es/parser/colors: Analyzing
es/parser/colors        time:   [8.8652 µs 8.8821 µs 8.9013 µs]
                        change: [+0.3001% +0.6986% +1.0681%] (p = 0.00 < 0.05)
                        Change within noise threshold.
Found 9 outliers among 100 measurements (9.00%)
  4 (4.00%) high mild
  5 (5.00%) high severe

Benchmarking es/parser/angular
Benchmarking es/parser/angular: Warming up for 3.0000 s
Benchmarking es/parser/angular: Collecting 100 samples in estimated 5.1460 s (1100 iterations)
Benchmarking es/parser/angular: Analyzing
es/parser/angular       time:   [4.5989 ms 4.6075 ms 4.6180 ms]
                        change: [+1.5999% +1.9780% +2.3764%] (p = 0.00 < 0.05)
                        Performance has regressed.
Found 8 outliers among 100 measurements (8.00%)
  1 (1.00%) high mild
  7 (7.00%) high severe

Benchmarking es/parser/backbone
Benchmarking es/parser/backbone: Warming up for 3.0000 s
Benchmarking es/parser/backbone: Collecting 100 samples in estimated 7.0775 s (10k iterations)
Benchmarking es/parser/backbone: Analyzing
es/parser/backbone      time:   [694.50 µs 695.84 µs 697.51 µs]
                        change: [-1.1099% -0.7438% -0.3658%] (p = 0.00 < 0.05)
                        Change within noise threshold.
Found 13 outliers among 100 measurements (13.00%)
  5 (5.00%) high mild
  8 (8.00%) high severe

Benchmarking es/parser/jquery
Benchmarking es/parser/jquery: Warming up for 3.0000 s
Benchmarking es/parser/jquery: Collecting 100 samples in estimated 5.1340 s (1300 iterations)
Benchmarking es/parser/jquery: Analyzing
es/parser/jquery        time:   [3.9253 ms 3.9334 ms 3.9430 ms]
                        change: [+0.2515% +0.6374% +1.0228%] (p = 0.00 < 0.05)
                        Change within noise threshold.
Found 10 outliers among 100 measurements (10.00%)
  3 (3.00%) high mild
  7 (7.00%) high severe

Benchmarking es/parser/jquery mobile
Benchmarking es/parser/jquery mobile: Warming up for 3.0000 s
Benchmarking es/parser/jquery mobile: Collecting 100 samples in estimated 5.3971 s (900 iterations)
Benchmarking es/parser/jquery mobile: Analyzing
es/parser/jquery mobile time:   [5.9041 ms 5.9175 ms 5.9340 ms]
                        change: [-1.8844% -1.5663% -1.2247%] (p = 0.00 < 0.05)
                        Performance has improved.
Found 11 outliers among 100 measurements (11.00%)
  4 (4.00%) high mild
  7 (7.00%) high severe

Benchmarking es/parser/mootools
Benchmarking es/parser/mootools: Warming up for 3.0000 s
Benchmarking es/parser/mootools: Collecting 100 samples in estimated 5.1747 s (1700 iterations)
Benchmarking es/parser/mootools: Analyzing
es/parser/mootools      time:   [3.0240 ms 3.0352 ms 3.0489 ms]
                        change: [-1.5654% -1.1553% -0.6819%] (p = 0.00 < 0.05)
                        Change within noise threshold.
Found 7 outliers among 100 measurements (7.00%)
  1 (1.00%) high mild
  6 (6.00%) high severe

Benchmarking es/parser/underscore
Benchmarking es/parser/underscore: Warming up for 3.0000 s
Benchmarking es/parser/underscore: Collecting 100 samples in estimated 6.1976 s (10k iterations)
Benchmarking es/parser/underscore: Analyzing
es/parser/underscore    time:   [612.60 µs 614.58 µs 616.82 µs]
                        change: [-1.9306% -1.5582% -1.1803%] (p = 0.00 < 0.05)
                        Performance has improved.
Found 7 outliers among 100 measurements (7.00%)
  4 (4.00%) high mild
  3 (3.00%) high severe

Benchmarking es/parser/three
Benchmarking es/parser/three: Warming up for 3.0000 s
Benchmarking es/parser/three: Collecting 100 samples in estimated 5.1445 s (300 iterations)
Benchmarking es/parser/three: Analyzing
es/parser/three         time:   [16.890 ms 16.951 ms 17.026 ms]
                        change: [-2.1520% -1.7192% -1.2254%] (p = 0.00 < 0.05)
                        Performance has improved.
Found 17 outliers among 100 measurements (17.00%)
  3 (3.00%) high mild
  14 (14.00%) high severe

Benchmarking es/parser/yui
Benchmarking es/parser/yui: Warming up for 3.0000 s
Benchmarking es/parser/yui: Collecting 100 samples in estimated 5.0417 s (1800 iterations)
Benchmarking es/parser/yui: Analyzing
es/parser/yui           time:   [2.8076 ms 2.8156 ms 2.8249 ms]
                        change: [-2.2730% -1.9284% -1.5384%] (p = 0.00 < 0.05)
                        Performance has improved.
Found 16 outliers among 100 measurements (16.00%)
  5 (5.00%) high mild
  11 (11.00%) high severe

Benchmarking es/parser/cal-com
Benchmarking es/parser/cal-com: Warming up for 3.0000 s
Benchmarking es/parser/cal-com: Collecting 100 samples in estimated 5.9664 s (400 iterations)
Benchmarking es/parser/cal-com: Analyzing
es/parser/cal-com       time:   [14.815 ms 14.888 ms 14.974 ms]
                        change: [-1.2376% -0.7153% -0.1968%] (p = 0.01 < 0.05)
                        Change within noise threshold.
Found 17 outliers among 100 measurements (17.00%)
  1 (1.00%) high mild
  16 (16.00%) high severe

Benchmarking es/parser/typescript
Benchmarking es/parser/typescript: Warming up for 3.0000 s


Warning: Unable to complete 100 samples in 5.0s. You may wish to increase target time to 10.5s, or reduce sample count to 40.
Benchmarking es/parser/typescript: Collecting 100 samples in estimated 10.496 s (100 iterations)
Benchmarking es/parser/typescript: Analyzing
es/parser/typescript    time:   [101.97 ms 102.32 ms 102.73 ms]
                        change: [-1.6102% -1.1640% -0.7126%] (p = 0.00 < 0.05)
                        Change within noise threshold.
Found 14 outliers among 100 measurements (14.00%)
  4 (4.00%) high mild
  10 (10.00%) high severe

```
2024-06-25 14:02:38 +00:00
SWC Bot
feae5a9bdd chore: Bump crates 2024-06-25 13:40:14 +00:00
Donny/강동윤
c0602c81db
perf(es/parser): Add a check before numeric operations (#9105)
**Description:**

`c.is_ascii_uppercase()` was expensive than expected.
2024-06-25 22:38:30 +09:00
강동윤 (Donny)
56f03675bc chore: Publish crates for EsSyntax fix
Some checks are pending
CI / Test with @swc/cli (push) Waiting to run
CI / Miri (better_scoped_tls) (push) Waiting to run
CI / Miri (string_enum) (push) Waiting to run
CI / Miri (swc) (push) Waiting to run
CI / Miri (swc_bundler) (push) Waiting to run
CI / Miri (swc_ecma_codegen) (push) Waiting to run
CI / Miri (swc_ecma_minifier) (push) Waiting to run
CI / Done (push) Blocked by required conditions
Benchmark / List crates (push) Waiting to run
Benchmark / Bench ${{ matrix.crate }} (push) Blocked by required conditions
Benchmark / Process result (push) Blocked by required conditions
Bot / Start (push) Waiting to run
Publish (core) / stable - ${{ matrix.settings.target }} - node@20 (map[build:cargo build --manifest-path ../../bindings/swc_cli/Cargo.toml --release --features plugin --target x86_64-apple-darwin cp ../../bindings/target/x86_64-apple-darwin/release/swc . chmod +x ./swc… (push) Waiting to run
Publish (core) / stable - ${{ matrix.settings.target }} - node@20 (map[build:export CARGO_PROFILE_RELEASE_LTO=false yarn build --target x86_64-pc-windows-msvc cargo build --manifest-path ../../bindings/swc_cli/Cargo.toml --release --features plugin --target x86_64-pc-w… (push) Waiting to run
Publish (core) / stable - ${{ matrix.settings.target }} - node@20 (map[build:export DISABLE_PLUGIN_E2E_TESTS=true export CARGO_PROFILE_RELEASE_CODEGEN_UNITS=256 export CARGO_PROFILE_RELEASE_LTO=false cargo build --manifest-path ../../bindings/swc_cli/Cargo.toml --relea… (push) Waiting to run
Publish (core) / stable - ${{ matrix.settings.target }} - node@20 (map[build:export DISABLE_PLUGIN_E2E_TESTS=true export CARGO_PROFILE_RELEASE_LTO=false cargo build --manifest-path ../../bindings/swc_cli/Cargo.toml --release --target i686-pc-windows-msvc cp ../../bindi… (push) Waiting to run
Publish (core) / stable - ${{ matrix.settings.target }} - node@20 (map[build:export DISABLE_PLUGIN_E2E_TESTS=true yarn napi build --bin swc --release --target armv7-unknown-linux-gnueabihf --manifest-path ../../bindings/swc_cli/Cargo.toml -x --target-dir ../release -o … (push) Waiting to run
Publish (core) / stable - ${{ matrix.settings.target }} - node@20 (map[build:export JEMALLOC_SYS_WITH_LG_PAGE=16 && rustup toolchain install $(cat ../../rust-toolchain) && rustup target add aarch64-unknown-linux-musl && RUSTFLAGS='-C target-feature=+crt-static -C link-… (push) Waiting to run
Publish (core) / stable - ${{ matrix.settings.target }} - node@20 (map[build:set -e && export CARGO_PROFILE_RELEASE_LTO=false && RUSTFLAGS='-C target-feature=+sse2' cargo build --manifest-path ../../bindings/swc_cli/Cargo.toml --release --features plugin --target x86_6… (push) Waiting to run
Publish (core) / stable - ${{ matrix.settings.target }} - node@20 (map[build:set -e && export JEMALLOC_SYS_WITH_LG_PAGE=16 && rustup target add aarch64-unknown-linux-gnu && RUSTFLAGS='' cargo build --manifest-path ../../bindings/swc_cli/Cargo.toml --release --features … (push) Waiting to run
Publish (core) / stable - ${{ matrix.settings.target }} - node@20 (map[build:set -e && unset CC_x86_64_unknown_linux_gnu && unset CC && RUSTFLAGS='-C target-feature=+sse2' cargo build --manifest-path ../../bindings/swc_cli/Cargo.toml --release --features plugin --targe… (push) Waiting to run
Publish (core) / stable - ${{ matrix.settings.target }} - node@20 (map[build:sudo rm -Rf /Library/Developer/CommandLineTools/SDKs/*; export CC=$(xcrun -f clang); export CXX=$(xcrun -f clang++); SYSROOT=$(xcrun --sdk macosx --show-sdk-path); export CFLAGS="-isysroot $SY… (push) Waiting to run
Publish (core) / Test bindings on ${{ matrix.settings.target }} - node@${{ matrix.node }} (18, map[host:macos-latest target:x86_64-apple-darwin]) (push) Blocked by required conditions
Publish (core) / Test bindings on ${{ matrix.settings.target }} - node@${{ matrix.node }} (18, map[host:windows-latest target:x86_64-pc-windows-msvc]) (push) Blocked by required conditions
Publish (core) / Test bindings on Linux-x64-gnu - node@${{ matrix.node }} (18) (push) Blocked by required conditions
Publish (core) / Test bindings on x86_64-unknown-linux-musl - node@${{ matrix.node }} (18) (push) Blocked by required conditions
Publish (core) / Test bindings on armv7-unknown-linux-gnueabihf - node@${{ matrix.node }} (18) (push) Blocked by required conditions
Publish (core) / npm (push) Blocked by required conditions
Publish (core) / Build - wasm for node.js (push) Waiting to run
Publish (core) / Build - wasm for web (push) Waiting to run
2024-06-25 12:40:41 +09:00
SWC Bot
59cd331c7e chore: Bump crates 2024-06-25 00:32:48 +00:00
Donny/강동윤
2a490ad0b2
perf(es/parser): Remove unnecessary check (#9102)
**Description:**

We can skip some checks for error recovery.
2024-06-25 09:31:10 +09:00
SWC Bot
03a0d903a0 chore: Bump crates 2024-06-23 14:56:34 +00:00
Donny/강동윤
719b7c54f6
perf(es/parser): Optimize macros (#9100)
**Description:**

I could optimize macros used enormous amount of times.
2024-06-23 23:54:51 +09:00
Donny/강동윤
1b3672f1e7
perf(es/lexer): Use memchr::memmem for lexing block comments (#9096)
**Description:**

This PR also makes the lexer more CPU-cache friendly.
2024-06-22 09:54:52 +09:00
SWC Bot
a19a287833 chore: Bump crates 2024-06-22 00:36:49 +00:00
Donny/강동윤
e71b6d31b1
feat(cli): Support generating .d.ts files (#9097)
**Description:**

I verified that `swc_cli` (Rust) works with 

```json
{
    "jsc": {
        "parser": {
            "syntax": "typescript"
        },
        "experimental": {
            "emitIsolatedDts": true
        }
    }
}
```
2024-06-22 09:35:15 +09:00
SWC Bot
7c8397ddfb chore: Bump crates 2024-06-21 23:48:17 +00:00
Donny/강동윤
51a27022b9
feat(es/transform): Add experimental .d.ts generation (#9093) 2024-06-21 23:46:37 +00:00
Donny/강동윤
2f02630b1e
perf(es/lexer): Apply various optimizations (#9095)
**Description:**

- `TokenContexts` now uses smallvec, as the element type is very small (1 byte) now.
 - Some codes are moved to allow CPU to cache code correctly.
2024-06-21 17:23:57 +00:00
SWC Bot
8dbcb509da chore: Bump crates 2024-06-21 16:58:16 +00:00
Donny/강동윤
5520b236dd
refactor(es/parser): Rename EsConfig and TsConfig (#9094)
**Description:**

`EsConfig` and `TsConfig` sound like a general configuration for the whole language, while actually it's only about parsing.

To avoid a breaking change, I created type aliases that will work without changing the code, while warning the users.

**Related issue:**

 - Closes #9089.
2024-06-22 01:56:37 +09:00
SWC Bot
0de10d8a0c chore: Bump crates 2024-06-21 13:26:59 +00:00
Donny/강동윤
a2645e2fa0
feat(swc_core): Reexport swc_typescript (#9092) 2024-06-21 22:25:16 +09:00
강동윤 (Donny)
5625bd64bd chore: Bump crates 2024-06-21 20:21:43 +09:00
강동윤 (Donny)
63fd29e799 chore: Workaround a bug of cargo-mono 2024-06-21 20:18:01 +09:00
Luca Casonato
5a2c968720
chore(deps): Replace sha-1 with sha1 (#9091)
They renamed the crate: https://github.com/RustCrypto/hashes?tab=readme-ov-file#crate-names
2024-06-21 11:17:50 +00:00
Donny/강동윤
a8551592b2
feat(typescript): Implement Isolated Declaration (#9086)
**Description:**

This PR adds TypeScript Isolated Declarations implementation by forking Deno's implementation.
2024-06-21 09:54:59 +00:00
SWC Bot
568b3b37a5 chore: Bump crates 2024-06-21 08:51:36 +00:00
Donny/강동윤
e423d1bced
feat(common): Add fallible methods to swc_common::SourceMap (#9090)
**Description:**

This PR will make `swc_ecma_codegen` not `panic` for invalid spans.
2024-06-21 17:49:43 +09:00
Donny/강동윤
56f128fc03
chore: Add a crate swc_typescript (#9085)
**Description:**

This crate will be used for TypeScript Isolated Declaration support
2024-06-21 12:45:53 +09:00
SWC Bot
810461eaa7 chore: Bump crates 2024-06-19 06:21:32 +00:00
Donny/강동윤
af586069a9
perf(es/lexer): Add fast-path to jsx lexer (#9081) 2024-06-19 01:12:37 +00:00
Donny/강동윤
238f1c50e5
perf(es/lexer): Add a fast-path to template literal lexer (#9080)
**Description:**

We don't need to allocate at all in the fast path.
2024-06-19 00:43:57 +00:00
Donny/강동윤
69f00b85d4
perf(es/lexer): Reduce allocation while lexing identifiers (#9076)
**Description:**

In the fast path, we don't even use the buffer.

```
Benchmarking es/lexer/cal-com
Benchmarking es/lexer/cal-com: Warming up for 3.0000 s
Benchmarking es/lexer/cal-com: Collecting 100 samples in estimated 5.5395 s (900 iterations)
Benchmarking es/lexer/cal-com: Analyzing
es/lexer/cal-com        time:   [6.1799 ms 6.2010 ms 6.2250 ms]
                        change: [-4.4027% -3.9504% -3.5372%] (p = 0.00 < 0.05)
                        Performance has improved.
Found 17 outliers among 100 measurements (17.00%)
  4 (4.00%) high mild
  13 (13.00%) high severe

```
2024-06-18 08:53:59 +00:00
Donny/강동윤
373bac55aa
perf(es/lexer): Make lexing of string literals faster (#9077)
**Description:**

We don't need to push a character at a time. This profiling result does not include improvements from
https://github.com/swc-project/swc/pull/9076.

```
Benchmarking es/lexer/cal-com
es/lexer/cal-com        time:   [6.4555 ms 6.4936 ms 6.5368 ms]
```
2024-06-18 17:27:17 +09:00
SWC Bot
c0d40c6a51 chore: Bump crates 2024-06-18 07:34:18 +00:00
Donny/강동윤
6426928b91
perf(es/lexer): Optimize lexer (#9075)
**Description:**

 - `TokenContext` is now 1 byte.
 - `read_word_with` now uses `&dyn` instead of `impl FnOnce`.
2024-06-18 07:32:32 +00:00
SWC Bot
ddaafe00e0 chore: Bump crates 2024-06-18 05:16:23 +00:00
Donny/강동윤
cfe3ba306d
fix(es/decorators): Reduce the number of sourcemap mappings (#9074)
**Description:**

Coverage gets better if we generate fewer source map entries. This PR only fixes the issue for `"coverageProvider": "v8"`. Much more work is required for the default coverage provider I guess.

**Related issue:**

 - #3854
2024-06-18 14:14:42 +09:00
Donny/강동윤
7698eaa006
perf(common): Use Chars in StringInput (#9073)
**Description:**

Now it's possible
2024-06-18 03:45:56 +00:00
SWC Bot
e383961579 chore: Bump crates 2024-06-18 03:21:43 +00:00
hardfist
8d37daedf1
fix(css/minifier): Don't tranform rotate deg (#9072)
**Description:**

Transform rotate deg will cause animation work differently, so don't do transform for rotate deg

**Related issue:**

 - Closes #9070
2024-06-18 03:20:02 +00:00
SWC Bot
071e5be80d chore: Bump crates 2024-06-18 02:56:14 +00:00
Donny/강동윤
c3a8c0b567
refactor(common): Simplify StringInput implementation (#9071) 2024-06-18 11:54:34 +09:00
Donny/강동윤
aa59ca3727
chore: Restore benchmark action (#9067)
**Description:**

Let's restore https://swc.rs/docs/benchmarks
2024-06-17 16:08:01 +09:00
SWC Bot
f8c2c4791a chore: Bump crates 2024-06-16 05:31:45 +00:00
Donny/강동윤
cdd20cd163
fix(common): Revert Use SourceMap::adjust_mappings (#9058)
**Description:**

https://github.com/getsentry/rust-sourcemap/pull/91 should fix this
issue, but let's revert #9052 for now.

# Context

`swc_core` regressed.

Caught by https://github.com/vercel/next.js/pull/66902

```
 ⚠ Linting is disabled.
  ▲ Next.js 15.0.0-canary.34

 ✓ Checking validity of types
   Creating an optimized production build ...
Panic: PanicInfo { payload: Any { .. }, message: Some(attempt to add with overflow), location: Location { file: "/Users/kdy1/.cargo/registry/src/index.crates.io-6f17d22bba15001f/sourcemap-8.0.1/src/encoder.rs", line: 89, col: 13 }, can_unwind: true, force_no_backtrace: false }
Backtrace:    0: backtrace::backtrace::libunwind::trace
             at /Users/kdy1/.cargo/registry/src/index.crates.io-6f17d22bba15001f/backtrace-0.3.68/src/backtrace/libunwind.rs:93:5
      backtrace::backtrace::trace_unsynchronized::<<backtrace::capture::Backtrace>::create::{closure#0}>
             at /Users/kdy1/.cargo/registry/src/index.crates.io-6f17d22bba15001f/backtrace-0.3.68/src/backtrace/mod.rs:66:5
      backtrace::backtrace::trace::<<backtrace::capture::Backtrace>::create::{closure#0}>
             at /Users/kdy1/.cargo/registry/src/index.crates.io-6f17d22bba15001f/backtrace-0.3.68/src/backtrace/mod.rs:53:14
      <backtrace::capture::Backtrace>::create
             at /Users/kdy1/.cargo/registry/src/index.crates.io-6f17d22bba15001f/backtrace-0.3.68/src/capture.rs:176:9
      <backtrace::capture::Backtrace>::new
             at /Users/kdy1/.cargo/registry/src/index.crates.io-6f17d22bba15001f/backtrace-0.3.68/src/capture.rs:140:22
   1: next_swc_napi::init::{closure#0}
             at packages/next-swc/crates/napi/src/lib.rs:85:29
   2: <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call
             at /rustc/6f3df08aadf71e8d4bf7e49f5dc10dfa6f254cb4/library/alloc/src/boxed.rs:2077:9
      std::panicking::rust_panic_with_hook
             at /rustc/6f3df08aadf71e8d4bf7e49f5dc10dfa6f254cb4/library/std/src/panicking.rs:799:13
   3: std::panicking::begin_panic_handler::{{closure}}
             at /rustc/6f3df08aadf71e8d4bf7e49f5dc10dfa6f254cb4/library/std/src/panicking.rs
```
2024-06-16 14:30:01 +09:00
SWC Bot
11df9e9424 chore: Bump crates 2024-06-16 00:54:44 +00:00
Donny/강동윤
ca26eb796b
perf(es/parser): Reduce allocations while lexing numbers (#9057) 2024-06-16 09:52:53 +09:00
Donny/강동윤
bc8ec625ec
perf(es/parser): Reduce allocations for raw while lexing numbers (#9056) 2024-06-15 18:01:40 +09:00
Donny/강동윤
ab226dcfb7
feat(es/ast): Add more utilities (#9054) 2024-06-15 08:24:12 +00:00
SWC Bot
10eab94d81 chore: Bump crates 2024-06-14 14:47:30 +00:00
Donny/강동윤
eda2e45691
feat(common): Use SourceMap::adjust_mappings (#9052) 2024-06-14 14:45:58 +00:00
Luca Casonato
6306778512
refactor(es/ast): Remove unused fields of TsPropertySignature (#8955)
**Description:**

TsPropertySignature can not have params, type params, or an initializer.

**BREAKING CHANGE:**

Yes. Any users looking into these fields should stop - they are always empty.

---------

Co-authored-by: 강동윤 (Donny) <kdy1997.dev@gmail.com>
2024-06-14 21:57:10 +09:00
Donny/강동윤
e856478060
refactor(es/utils): Refine some APIs (#9049)
**Description:**

This PR
 - moves some APIs into `swc_ecma_ast`.
 - removes needless types.

**BREAKING CHANGE:**

 - `swc_ecma_utils::IdentExt::private` => `swc_ecma_ast::Ident::into_private`.
 - `swc_ecma_utils::IdentExt::prefix` => `swc_ecma_ast::Ident::with_prefix`.
 - `swc_ecma_utils::undefined` => `swc_ecma_ast::Expr::undefined`.
2024-06-14 21:53:16 +09:00
강동윤 (Donny)
12e1c5d036 chore: Bump crates 2024-06-14 15:28:28 +09:00
SWC Bot
a3a37a0c7c chore: Bump crates 2024-06-14 06:26:31 +00:00
Donny/강동윤
32e23edd85
refactor(es/parser): Remove unused raw: Raw params (#9048) 2024-06-14 15:13:05 +09:00
Donny/강동윤
e5601989a1
perf(es/lints): Avoid needless allocations in no-dupe-args (#9041)
**Description:**

I introduced a zero-allocation variant for `swc_ecma_utils::DestructuringFinder` that does not allocate anything.
2024-06-14 14:39:15 +09:00
SWC Bot
931f752d54 chore: Bump crates 2024-06-14 05:24:10 +00:00
Donny/강동윤
60fe5f0eff
perf(es/parser): Do not track raw by hand (#9047)
**Description:**

We can skip this logic completely, as it's `raw`.

~I'm under the impression that I'm super stupid~
2024-06-14 14:22:26 +09:00
SWC Bot
0a3265e7fc chore: Bump crates 2024-06-13 08:20:48 +00:00
Donny/강동윤
11bba262f5
test(es/parser): Add benchmarks (#9044)
**Description:**

- Source: https://github.com/oxc-project/bench-javascript-parser-written-in-rust
2024-06-13 08:19:11 +00:00
SWC Bot
80d22e355a chore: Bump crates 2024-06-12 07:45:07 +00:00
SWC Bot
82479ec163 chore: Bump crates 2024-06-12 05:23:40 +00:00
Donny/강동윤
675916ccbd
perf(es/minifier): Do not visit var init multiple times (#9039)
**Description:**

I mistakenly introduced a performance regression with https://github.com/swc-project/swc/pull/9032. It makes the minifier visit the initializer of variables multiple times - once while normal visiting and once in `hoist_props_of_vars`. This PR fixes it.
2024-06-12 12:24:28 +09:00
Donny/강동윤
5bffd0ff9b
perf(es/parser): Optimize lexing of template literals, again (#9037)
**Description:**

Applies same trick as #9036, but for `cooked`
2024-06-12 01:12:05 +00:00
SWC Bot
9d2e1cee0b chore: Bump crates 2024-06-12 00:44:35 +00:00
David Sherret
91e92ececa
fix(es/codegen): Emit named type in mapped types (#9038)
**Description:**

Fixes the emit of mapped types.
2024-06-12 00:42:40 +00:00
SWC Bot
ac5eb02167 chore: Bump crates 2024-06-11 12:21:40 +00:00
Donny/강동윤
6ab19a1b5f
perf(es/parser): Optimize lexing of template literals (#9036)
**Description:**

We don't need to push one char at a time.
2024-06-11 21:20:00 +09:00
SWC Bot
6400140999 chore: Bump crates 2024-06-11 11:22:41 +00:00
Donny/강동윤
cb16994a8d
fix(es/minifier): Visit RHS while hoisting properties (#9032)
**Description:**

Handles 

```js
var FRUITS = { MANGO: "mango" }, getMangoLabel = (label) => label[FRUITS.MANGO];
```

while hoisting properties. In the code above, the initializer of the second variable declarator should be visited after hoisting the first variable declarator. Otherwise `FRUITS.MANGO` cannot be handled.


**Related issue:**

 - Closes #9030
2024-06-11 20:20:39 +09:00
SWC Bot
0a7aa10706 chore: Bump crates 2024-06-11 07:15:38 +00:00
Donny/강동윤
39654bf1e7
fix(es): Make output field optional (#9033) 2024-06-11 07:14:01 +00:00
SWC Bot
b31927cb66 chore: Bump crates 2024-06-11 06:01:25 +00:00
Donny/강동윤
6669343b4a
fix(es/minifier): Fix typescript enum detection (#9031)
**Description:**

This reverts commit cc8c1550dd because it caused a regression in the next.js canary.

 - Canary version: `15.0.0-canary.12`


**Related issue:**

 - Reverts #8986
2024-06-11 14:59:42 +09:00
SWC Bot
206b1e9b02 chore: Bump crates 2024-06-10 02:31:08 +00:00
Donny/강동윤
54ac992781
feat(es/renamer): Workaround a bug of Safari (#9029)
**Related issue:**

 - Closes #9015
2024-06-10 11:29:24 +09:00
SWC Bot
98540a588b chore: Bump crates 2024-06-07 12:02:11 +00:00
Donny/강동윤
825749f440
feat(es): Integrate experimental data API (#9027) 2024-06-07 21:00:26 +09:00
SWC Bot
f1ca6a7906 chore: Bump crates 2024-06-07 07:18:53 +00:00
Donny/강동윤
cada50b017
feat(es/minifier): Support module: "unknown" (#9026)
**Related issue:**

 - Closes #8571
2024-06-07 07:17:05 +00:00
SWC Bot
81ec70419b chore: Bump crates 2024-06-05 10:39:06 +00:00
Donny/강동윤
6ce112cfeb
feat(es/transforms): Add an API for returning metadata to JS (#9022) 2024-06-05 10:37:28 +00:00
강동윤 (Donny)
2b81d72333 chore: Workaround the bug of cargo-mono 2024-06-05 15:46:04 +09:00
Donny/강동윤
6fa79be081
feat(es/transforms): Add experimental output API for transforms (#9000)
**Description:**

This interface will provide a way to emit some outputs from transforms. This data will be emitted back to the JS caller.
2024-06-05 15:38:28 +09:00
SWC Bot
668a11d50d chore: Bump crates 2024-06-05 06:32:40 +00:00
SWC Bot
03edd92dc8 chore: Bump crates 2024-06-05 06:07:36 +00:00
Donny/강동윤
555e71cfd5
fix(es/es2015): Remove needless unreachable! (#9021)
**Related issue:**

 - Closes #9020
2024-06-05 06:05:22 +00:00
SWC Bot
277843e2e9 chore: Bump crates 2024-06-04 09:53:19 +00:00
Donny/강동윤
3bf31148ba
perf(es/parser): Add feature named tracing-spans (#9019) 2024-06-04 18:51:25 +09:00
강동윤 (Donny)
2fb890cf20 chore: Publish crates 2024-06-04 09:09:39 +09:00
SWC Bot
1496ed1814 chore: Bump crates 2024-06-02 10:34:24 +00:00
Donny/강동윤
9f8e24a76c
fix(es/minifier): Fix evaluation of -0 as a string (#9011)
**Related issue:**

 - Closes #9010

---------

Co-authored-by: magic-akari <akari.ccino@gmail.com>
2024-06-02 19:32:44 +09:00
SWC Bot
1f911f9d19 chore: Bump crates 2024-06-02 03:37:22 +00:00
Donny/강동윤
2879a4d42b
fix(es/minifier): Do not index a string with a surrogate pair (#9013)
**Related issue:**

 - Closes #9008
2024-06-02 03:35:43 +00:00
SWC Bot
04c183933a chore: Bump crates 2024-06-02 03:12:32 +00:00
Donny/강동윤
8a29577cc5
fix(es/minifier): Fix comparison of -0.0 (#9012)
**Related issue:**

 - Closes #9007
2024-06-02 03:10:55 +00:00
SWC Bot
d44ec65e36 chore: Bump crates 2024-06-01 14:20:10 +00:00
Donny/강동윤
0d9ecf39c1
fix(es/resolver): Fix hoisting of const and let (#8987)
**Description:**

 - Repro: https://github.com/kdy1/repro-next-66237

**Related issue:**

 - https://github.com/vercel/next.js/issues/66237
2024-06-01 23:18:34 +09:00
SWC Bot
629d59cb18 chore: Bump crates 2024-05-31 03:15:29 +00:00
Donny/강동윤
e764ff6f64
fix(es/minifier): Preserve unused special properties (#9005)
**Related issue:**

 - https://github.com/vercel/next.js/issues/66378
2024-05-31 03:13:43 +00:00
SWC Bot
74a1fd4341 chore: Bump crates 2024-05-31 00:57:55 +00:00
Donny/강동윤
da70ebed69
feat(x): Initialize project (#8999)
**Description:**

SWC X will be a cross-module optimizer that utilizes an enormous amount of information. After merging this, I'll experiment with several approaches.
2024-05-31 00:56:21 +00:00
SWC Bot
993eccbf9c chore: Bump crates 2024-05-31 00:33:36 +00:00
Donny/강동윤
09121a61cc
fix(es/es2015): Fix injection location of this for getter/setter properties (#8993)
**Related issue:**

 - Closes #8992

---------

Co-authored-by: magic-akari <akari.ccino@gmail.com>
2024-05-31 00:32:00 +00:00
SWC Bot
b534d03591 chore: Bump crates 2024-05-30 14:02:56 +00:00
Donny/강동윤
cc8c1550dd
feat(es/minifier): Detect TypeScript enum initialization pattern (#8986)
**Description:**

We can optimize
```js
var Foo;
Foo || Foo = {};
```

This code looks strange, but 
```ts
enum Foo {
    a = 1,
    b = 2,
}
```

transpiles to

```js
var Foo;
(function(Foo) {
    Foo[Foo["a"] = 1] = "a";
    Foo[Foo["b"] = 2] = "b";
})(Foo || (Foo = {}));

```

and after minification it becomes

```js
var Foo, Foo1;
(Foo1 = Foo || (Foo = {}))[Foo1.a = 1] = "a", Foo1[Foo1.b = 2] = "b";

```
2024-05-30 14:01:07 +00:00
SWC Bot
e07be900b9 chore: Bump crates 2024-05-30 09:49:05 +00:00
SWC Bot
1267e3ecd4 chore: Bump crates 2024-05-30 06:32:29 +00:00
Donny/강동윤
a81a01f629
fix(es/jest): Handle @jest/globals (#8994)
**Description:**

- We have two `jest` pass. One in `@swc/core` (via _hidden.jest flag), and one in the plugin. This PR fixes only the core one.

However, the linked issue is wrong because the code tries to break the rules of ESM specification. So, although this PR closes the issue, the final form is not the issue the author wanted.

**Related issue:**

 - Closes https://github.com/swc-project/plugins/issues/310
2024-05-30 15:30:45 +09:00
Donny/강동윤
c0dc5e44ab
test(es/minifier): Update the passing terser test list (#8984) 2024-05-27 22:45:44 +09:00
SWC Bot
ab32e694a0 chore: Bump crates 2024-05-26 12:43:18 +00:00
Donny/강동윤
51e0639ede
fix(es/es2015): Fix typeof comparions with "object" (#8976)
**Related issue:**

 - Closes #8971
2024-05-26 21:41:23 +09:00
SWC Bot
7c62a79d9b chore: Bump crates 2024-05-24 05:12:45 +00:00
Donny/강동윤
a753c8d191
fix(es/minifier): Mark usage in TaggedTpl as ref (#8975)
**Related issue:**

 - Closes #8974
2024-05-24 05:11:00 +00:00
Donny/강동윤
2a43df4984
fix(es/minifier): Fix comparison of -0.0 and 0 (#8973)
**Related issue:**

 - Closes #8972
2024-05-24 09:16:42 +09:00
SWC Bot
eaffeb8dab chore: Bump crates 2024-05-23 05:20:02 +00:00
Donny/강동윤
95472e4037
test(es/decorators): Add tests written by evanw (#8967)
**Description:**

Add https://github.com/evanw/decorator-tests as partially ignored tests so we can work on decorator fixes gradually.
2024-05-23 14:18:32 +09:00
Donny/강동윤
a4567998b0
fix(es/codegen): Accept &impl Node instead of impl Node (#8969) 2024-05-23 12:13:13 +09:00
SWC Bot
85e4eaa507 chore: Bump crates 2024-05-23 02:25:14 +00:00
Donny/강동윤
e80fd41ea8
feat(es/codegen): Add to_code (#8968)
**Description:**

This is a utility function for printing an AST node as a string
2024-05-23 02:23:32 +00:00
SWC Bot
ea14fc8e59 chore: Bump crates 2024-05-22 02:29:02 +00:00
Donny/강동윤
545ec51b51
fix(es/minifier): Add type check to & and | (#8965)
**Related issue:**

 - Closes #8964
2024-05-22 11:27:00 +09:00
SWC Bot
59e310d0fe chore: Bump crates 2024-05-21 01:22:57 +00:00
Donny/강동윤
ced63a973e
feat(plugin/runner): Add description about wasi and file system (#8963)
**Description:**
 
 - x-ref:
https://vercel.slack.com/archives/C01QNLABZJ8/p1715816821287309?thread_ts=1715793483.177469&cid=C01QNLABZJ8
2024-05-21 01:21:27 +00:00
SWC Bot
4fc3c66f8f chore: Bump crates 2024-05-18 01:45:56 +00:00
Donny/강동윤
f960d52364
refactor(bindings): Make @swc/core a subpackage (#8625)
**Description:**

This is for consistency and future extensions.
2024-05-18 09:23:06 +09:00
Donny/강동윤
02729f24d8
fix(es/minifier): Abort property hoisting on eval (#8957)
**Description:**

 - Repro: https://github.com/kdy1/repro-next-46887-2


**Related issue:**

- https://github.com/vercel/next.js/issues/46887#issuecomment-2113264586
2024-05-16 11:35:45 +09:00
SWC Bot
f681924023 chore: Bump crates 2024-05-16 02:11:50 +00:00
Donny/강동윤
255485e373
fix(es/minifier): Abort array property inliner if the array is used as a ref (#8956)
**Description:**

Repro:
 - https://github.com/kdy1/repro-next-46887

**Related issue:**

 - https://github.com/vercel/next.js/issues/46887
2024-05-16 11:09:41 +09:00
SWC Bot
53e1ae2e1b chore: Bump crates 2024-05-14 00:56:51 +00:00
Donny/강동윤
ff60960afe
doc(es/typescript): Fix example (#8952)
**Related issue:**

 - Closes #8950
2024-05-14 00:55:06 +00:00
SWC Bot
23b63bc1e5 chore: Bump crates 2024-05-13 09:15:58 +00:00
Donny/강동윤
606cb677c4
fix(es): Allow input source map file to be omitted (#8951)
**Description:**

Some libraries generate source maps but do not upload them to npm, which causes SWC to fail.

**Related issue:**

- https://github.com/swc-project/swc/issues/8789#issuecomment-2105055772
2024-05-13 09:14:21 +00:00
SWC Bot
6bd0d983e2 chore: Bump crates 2024-05-13 05:01:28 +00:00
Austaras
7053bb16ce
fix(es/compat): Avoid reserved name for private method (#8949)
**Description:**

Following development should follow babel/babel#16261 to avoid separate `WeakMap` for each individual private method


**Related issue:**

 - Closes #8948.
2024-05-13 04:59:48 +00:00
Donny/강동윤
3046d71daa
fix(es/minifier): Abort seq inliner on ** (#8947)
**Related issue:**

 - Closes #8942
2024-05-13 01:11:46 +00:00
SWC Bot
8baa0e579c chore: Bump crates 2024-05-13 00:48:12 +00:00
Donny/강동윤
772c50fd76
fix(es/minifier): Fix evaluation of String.charCodeAt (#8946)
**Related issue:**

 - Closes #8943
2024-05-13 00:46:29 +00:00
SWC Bot
5673fceaf6 chore: Bump crates 2024-05-10 02:25:42 +00:00
Donny/강동윤
6362ff4ba8
fix(es/ast): Pin version of unicodes (#8941)
**Description:**

https://github.com/swc-project/swc/issues/8940#issuecomment-2102423586

> I found part of the problem:
> 
> U+30FB was added to `ID_Continue` from Unicode version 14 to 15, but v8 is using an older version of unicode ... which I can't find the exact version.
> 
> I spent 2 hours searching for all the missing pieces, I give up.
> 
> Let me back port unicode version 14.

**Related issue:**

 - Closes #8940
2024-05-10 11:23:52 +09:00
Austaras
5a3456c254
fix(es/minifier): Don't invoke IIFE containing reserved words (#8939)
**Description:**

`inline` and `seq inline` should apply this change too.

**Related issue:**

 - Closes #8622
2024-05-09 06:54:25 +00:00
SWC Bot
1f01cd42bd chore: Bump crates 2024-05-09 01:51:35 +00:00
Donny/강동윤
257afc92c9
fix(es/minifier): Abort inliner on mutation via property (#8938)
**Related issue:**

 - Closes #8937
2024-05-09 10:49:41 +09:00
SWC Bot
76393d9fd7 chore: Bump crates 2024-05-08 07:27:20 +00:00
Donny/강동윤
d4be383318
fix(es/minifier): Fix a bug about Tpl => Str (#8934)
**Description:**

I added the method to `swc_ecma_ast` to reuse it from plugins.

**Related issue:**

 - Closes #8931
2024-05-08 07:25:32 +00:00
SWC Bot
2c27925f34 chore: Bump crates 2024-05-08 06:59:23 +00:00
Donny/강동윤
c536d2ad6f
fix(es/module): Resolve .jsx imports fully (#8936)
**Related issue:**

 - Closes #8935
2024-05-08 15:57:50 +09:00
Donny/강동윤
c9d72cdc6a
fix(es/minifier): Fix operand handling of ** (#8933)
**Related issue:**

 - Closes #8924
2024-05-08 01:37:57 +00:00
Donny/강동윤
2405dc6ba0
fix(css/modules): Fix :global selectors without preceding whitespace (#8926)
**Related issue:**

 - Closes #8461
2024-05-07 08:43:41 +00:00
Austaras
8932a1b527
refactor(es/minifier): Remove unnecessary check (#8927) 2024-05-07 06:19:24 +00:00
SWC Bot
8654a34385 chore: Bump crates 2024-05-07 05:54:22 +00:00
Donny/강동윤
7014c63625
fix(css/modules): Allow any order of composes (#8930)
**Related issue:**

 - Closes #8240
2024-05-07 05:52:49 +00:00
SWC Bot
ad1cc5f972 chore: Bump crates 2024-05-07 05:28:42 +00:00
Donny/강동윤
4d4a7a9bcb
fix(es/minifier): Consider side effects of operands of binary expressions (#8929)
**Related issue:**

 - Closes #8923
2024-05-07 05:27:08 +00:00
SWC Bot
9bf57906c5 chore: Bump crates 2024-05-07 04:58:37 +00:00
Donny/강동윤
6b60bdb697
fix(es/fixer): Wrap class expressions in callee (#8928)
**Related issue:**

 - Closes #8920
2024-05-07 04:57:05 +00:00
SWC Bot
431b7306b8 chore: Bump crates 2024-05-07 03:17:29 +00:00
Donny/강동윤
aca6a77903
fix(es/minifier): Respect module: false (#8925)
**Description:**

Tests are modified because I enabled script detection for the fixture test suite.

**Related issue:**

 - Closes #8909
2024-05-07 12:15:47 +09:00
Donny/강동윤
762b0d4477
fix(es/proposal): Fix scoping of explicit resource management pass (#8903)
**Related issue:**

 - Closes #8895
2024-05-05 01:33:54 +00:00
SWC Bot
225d25a015 chore: Bump crates 2024-05-05 01:10:06 +00:00
SWC Bot
a9bab833ba chore: Bump crates 2024-05-01 00:36:57 +00:00
magic-akari
af96e396de
fix(es/decorators): Handle ref of decorated class (#8905)
**Related issue:**

Follow up #8515 

 - Ts Decorator does not always return a class; we need to give it the correct reference.
2024-05-01 00:35:17 +00:00
SWC Bot
9ec9459b16 chore: Bump crates 2024-04-30 07:55:10 +00:00
Donny/강동윤
86e2bb04ac
fix(es/minifier): Increment ref_count while invoking IIFE (#8904)
**Related issue:**

 - Closes #8880
2024-04-30 09:11:23 +09:00
강동윤 (Donny)
7ac3b0a7dc chore: Bump crates 2024-04-29 09:56:27 +09:00
SWC Bot
0dcdae9bda chore: Bump crates 2024-04-29 00:56:23 +00:00
magic-akari
cc1432a12f
chore: Apply cargo autoinherit (#8902) 2024-04-29 00:54:45 +00:00
SWC Bot
b3d495f796 chore: Bump crates 2024-04-27 05:10:38 +00:00
magic-akari
8fe57adc02
fix(es/decorator): Support for legacy decorators in class expressions (#8892)
**Related issue:**

- Closes #8515
2024-04-27 05:09:10 +00:00
SWC Bot
0fc70b3579 chore: Bump crates 2024-04-27 04:46:08 +00:00
Donny/강동윤
be359fa753
fix(es/minifier): Do not add vars if eval exists (#8888)
**Related issue:**

 - Closes #8886

---------

Co-authored-by: austaras <austaras@outlook.com>
2024-04-27 13:44:25 +09:00
SWC Bot
f9106a50c0 chore: Bump crates 2024-04-24 00:37:30 +00:00
David Sherret
1155ac7972
feat(es/ast): Support abstract auto-accessors (#8736)
**Description:**

Supports abstract auto-accessors:
3e91592b06/tests/baselines/reference/autoAccessorAllowedModifiers.js (L9)

**BREAKING CHANGE:**

Adds a new is_abstract property
2024-04-24 09:35:33 +09:00
SWC Bot
d925f8a6d2 chore: Bump crates 2024-04-23 12:36:02 +00:00
Austaras
cd4548fd8c
fix(es/minifier): Abort seq inline on recursive usage (#8887)
**Related issue:**

 - Closes #8841
2024-04-23 12:34:14 +00:00
SWC Bot
6d3c41d2d5 chore: Bump crates 2024-04-23 01:50:19 +00:00
Donny/강동윤
c7a06b1a5e
fix(es/codegen): Use Str.raw for es5 (#8873)
**Related issue:**

 - Closes #8871
2024-04-23 10:48:33 +09:00
SWC Bot
f5e50c2c6e chore: Bump crates 2024-04-23 01:25:36 +00:00
Donny/강동윤
063eabd33c
fix(es/compat): Fix async generator (#8881)
**Related issue:**

 - Closes #8805
2024-04-23 01:23:49 +00:00
SWC Bot
16a3885107 chore: Bump crates 2024-04-22 04:09:07 +00:00
Donny/강동윤
d7188cdb66
fix(es): Ignore sourceMappingURL in string literals (#8879)
**Related issue:**

 - Closes #8869
2024-04-22 04:07:18 +00:00
SWC Bot
e1a197694c chore: Bump crates 2024-04-19 13:39:58 +00:00
yehonatanz
e22c3681a6
fix(es/resolver): Prioritze jsc.paths by length in tsc resolver (#8875)
**Description:**

See #8858 

**BREAKING CHANGE:**
`jsc.paths` are now prioritized differently to align with `tsc`. The order is:
1. Exact matches
2. Wildcard pattern matches, sorted by length of prefix before wildcard


**Related issue:**

 - Closes #8858
2024-04-19 13:38:19 +00:00
SWC Bot
2e0663befc chore: Bump crates 2024-04-19 12:54:02 +00:00
Anders Kaseorg
5419a9477f
fix(html/codegen): Expand elements before which body isn’t elided (#8877)
**Description:**

For example, transforming `<body><noscript>` to `<noscript>` would
incorrectly change the meaning so `<noscript>` is parsed as a child of
`<head>`.

Reference: [§13.2.6.4.4 The "in head" insertion
mode](https://html.spec.whatwg.org/multipage/parsing.html#parsing-main-inhead),
[13.2.6.4.6 The "after head" insertion
mode](https://html.spec.whatwg.org/multipage/parsing.html#the-after-head-insertion-mode).

**Related issue:**

- Closes #8876.

Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2024-04-19 12:52:16 +00:00
SWC Bot
0036f74205 chore: Bump crates 2024-04-18 05:00:08 +00:00
Donny/강동윤
6e9d1a4ebf
fix(es/helpers): Fix resolving of usingCtx helper (#8874)
**Related issue:**

 - Closes #8872
2024-04-18 04:58:21 +00:00
SWC Bot
4410d62317 chore: Bump crates 2024-04-17 05:44:33 +00:00
Donny/강동윤
f9459a8adf
build(cargo): Update rustc to nightly-2024-04-16 (#8870) 2024-04-17 05:42:11 +00:00
강동윤 (Donny)
0f07acbc57 chore: Publish crates 2024-04-16 20:02:16 +09:00
SWC Bot
81c3c5ca9e chore: Bump crates 2024-04-16 10:46:02 +00:00
Donny/강동윤
a1c5415b3b
feat(es/transforms): Allocate stacks dynamically (#8867)
**Description:**

 - This PR introduces an in-tree testing system for Deno.
 - This PR adds `stacker` cargo-feature to `swc_ecma_utils`.

**Related issue:**

 - #1627
 - Closes #8840
2024-04-16 19:43:58 +09:00
Donny/강동윤
2075a23373
fix(es/codegen): Fix ascii_only for identifiers (#8866)
**Related issue:**

 - Closes #8852
2024-04-16 05:21:45 +00:00
Donny/강동윤
740c0bb00a
fix(es/minifier): Remove raw of strings after modification (#8865)
**Related issue:**

 - Closes #8864
2024-04-16 04:39:54 +00:00
SWC Bot
af19385097 chore: Bump crates 2024-04-16 03:07:23 +00:00
David E Disch
df2e056f29
refactor(es/minifier): Remove mangle.safari10 (#8857)
**Related issue:**

 - Closes #8837
2024-04-16 03:05:43 +00:00
SWC Bot
0af201043a chore: Bump crates 2024-04-16 02:24:47 +00:00
Donny/강동윤
ca9c76b46f
build(cargo): Update rustc to nightly-2024-04-03 (#8821) 2024-04-16 02:20:47 +00:00
SWC Bot
5f75019683 chore: Bump crates 2024-04-15 06:29:53 +00:00
Donny/강동윤
6d240768b1
fix(es/proposal): Update explicit resource management to match spec (#8860)
**Related issue:**

 - Closes #8853
2024-04-15 15:28:11 +09:00
SWC Bot
3de82531b2 chore: Bump crates 2024-04-15 05:03:24 +00:00
Donny/강동윤
fbd32fbff3
fix(es/parser): Fix span of BindingIdent (#8859)
**Related issue:**

 - Closes #8856
2024-04-15 05:01:36 +00:00
SWC Bot
59d18c30b4 chore: Bump crates 2024-04-13 02:39:50 +00:00
Austaras
f6ba92b033
fix(es/resolver): Correctly check strict mode (#8851)
**Related issue:**

 - Closes #8842
2024-04-13 02:38:10 +00:00
SWC Bot
d4b89db047 chore: Bump crates 2024-04-13 02:13:18 +00:00
magic-akari
7a89e5da3b
fix(es/minifier): Handle switch cases (#8854)
**Related issue:**

- Closes #8813
2024-04-13 02:11:32 +00:00
SWC Bot
fcc82a5a5b chore: Bump crates 2024-04-12 08:34:38 +00:00