Commit Graph

6579 Commits

Author SHA1 Message Date
강동윤 (Donny)
4b0d043c9b chore: Publish crates with swc_core v0.109.0 2024-10-08 14:02:03 +09:00
Levi
bfea322351
feat(es/testing): Parse test code as a Program instead of a Module (#9623)
**Description:**

This PR addresses the issue described in https://github.com/swc-project/swc/issues/8713

**BREAKING CHANGE:**
Will break unit tests that use `fold_module`/`visit_module`/`visit_mut_module` if the visitor is intended to work for both modules and scripts instead of using `fold_program`/`visit_program`/`visit_mut_program`.

When creating visitors, you should use `fold_program`/`visit_program`/`visit_mut_program` if you simply want to visit the top-level node.

When creating tests, the input source code will be parsed using `parse_program` by default. If you need to parse it as a `Module`, you can use `module: Some(true)` in `FixtureTestConfig` (or with `test!(module, ..)`), which will parse it as a `Program::Module`, or `Some(false)` for `Program::Script`. `None` will use `parse_program` (`parse_program` will auto-detect the underlying type).
2024-10-08 13:58:58 +09:00
Donny/강동윤
9a11d34ee5
feat(es/preset-env): Update preset-env data (#9573)
**Related issue:**

 - Closes https://github.com/swc-project/swc/issues/9544
2024-10-08 13:44:59 +09:00
강동윤 (Donny)
96a0c46a66 chore: Publish crates with swc_core v0.108.0 2024-10-08 12:28:01 +09:00
Donny/강동윤
85f5e5b955
fix(es/testing): Revert #9264 (#9621)
Reverts swc-project/swc#9264
2024-10-08 12:27:03 +09:00
강동윤 (Donny)
128acffbd3 chore: Publish crates with swc_core v0.107.0
Some checks are pending
CI / Cargo fmt (push) Waiting to run
CI / Cargo clippy (push) Waiting to run
CI / Check license of dependencies (push) Waiting to run
CI / Check (macos-latest) (push) Waiting to run
CI / Check (ubuntu-latest) (push) Waiting to run
CI / Check (windows-latest) (push) Waiting to run
CI / Test wasm (binding_core_wasm) (push) Waiting to run
CI / Test wasm (binding_minifier_wasm) (push) Waiting to run
CI / Test wasm (binding_typescript_wasm) (push) Waiting to run
CI / List crates (push) Waiting to run
CI / Test - ${{ matrix.settings.crate }} - ${{ matrix.settings.os }} (push) Blocked by required conditions
CI / Test node bindings - ${{ matrix.os }} (macos-latest) (push) Waiting to run
CI / Test node bindings - ${{ matrix.os }} (windows-latest) (push) Waiting to run
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 / Bench everything (push) Waiting to run
2024-10-08 08:10:53 +09:00
Levi
166b8581c2
feat(es/testing): Parse test code as a Program instead of a Module (#9264)
**Description:**

This PR addresses the issue described in #8713 

**BREAKING CHANGE:**

This will break existing unit tests that use `fold_module`/`visit_module`/`visit_mut_module` if the visitor is intended to work for both modules and scripts, instead of using `fold_program`/`visit_program`/`visit_mut_program`. This will also break existing unit tests if they're testing with input code that gets parsed as a script in `parse_program` if the visitor expects a module (they will need to update their `test!` calls to add `module` as the first argument, or use a function like `apply_module_transform`)

**Related issue:**

 - Closes https://github.com/swc-project/swc/issues/8713
2024-10-08 08:06:20 +09:00
canalun
8263da1766
fix(es/minifier): Compress consecutive return statements properly (#9620)
**Description:**

Compress consecutive return statements properly.

**Related issue:**

 - Closes https://github.com/swc-project/swc/issues/9619
2024-10-08 07:58:16 +09:00
magic-akari
2480bb00fc
refactor(es/typescript): Simplifying enum and namespace transforms (#9558)
Some checks failed
CI / Cargo fmt (push) Has been cancelled
CI / Cargo clippy (push) Has been cancelled
CI / Check license of dependencies (push) Has been cancelled
CI / Check (macos-latest) (push) Has been cancelled
CI / Check (ubuntu-latest) (push) Has been cancelled
CI / Check (windows-latest) (push) Has been cancelled
CI / Test wasm (binding_core_wasm) (push) Has been cancelled
CI / Test wasm (binding_minifier_wasm) (push) Has been cancelled
CI / Test wasm (binding_typescript_wasm) (push) Has been cancelled
CI / List crates (push) Has been cancelled
CI / Test node bindings - ${{ matrix.os }} (macos-latest) (push) Has been cancelled
CI / Test node bindings - ${{ matrix.os }} (windows-latest) (push) Has been cancelled
CI / Test with @swc/cli (push) Has been cancelled
CI / Miri (better_scoped_tls) (push) Has been cancelled
CI / Miri (string_enum) (push) Has been cancelled
CI / Miri (swc) (push) Has been cancelled
CI / Miri (swc_bundler) (push) Has been cancelled
CI / Miri (swc_ecma_codegen) (push) Has been cancelled
CI / Miri (swc_ecma_minifier) (push) Has been cancelled
Benchmark / Bench everything (push) Has been cancelled
CI / Test - ${{ matrix.settings.crate }} - ${{ matrix.settings.os }} (push) Has been cancelled
CI / Done (push) Has been cancelled
**Related issue:**

- Closes https://github.com/swc-project/swc/issues/4453
- Closes https://github.com/swc-project/swc/issues/9385
2024-10-04 18:46:26 +09:00
Donny/강동윤
ec0a62cbc5
perf(es): Avoid needless string comparisons (#9613)
Some checks are pending
CI / Cargo fmt (push) Waiting to run
CI / Cargo clippy (push) Waiting to run
CI / Check license of dependencies (push) Waiting to run
CI / Check (macos-latest) (push) Waiting to run
CI / Check (ubuntu-latest) (push) Waiting to run
CI / Check (windows-latest) (push) Waiting to run
CI / Test wasm (binding_core_wasm) (push) Waiting to run
CI / Test wasm (binding_minifier_wasm) (push) Waiting to run
CI / Test wasm (binding_typescript_wasm) (push) Waiting to run
CI / List crates (push) Waiting to run
CI / Test - ${{ matrix.settings.crate }} - ${{ matrix.settings.os }} (push) Blocked by required conditions
CI / Test node bindings - ${{ matrix.os }} (macos-latest) (push) Waiting to run
CI / Test node bindings - ${{ matrix.os }} (windows-latest) (push) Waiting to run
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 / Bench everything (push) Waiting to run
2024-10-04 14:51:34 +09:00
강동윤 (Donny)
253d7f472a chore: Publish crates with swc_core v0.106.4 2024-10-02 15:25:00 +09:00
Donny/강동윤
4ee45ac1fd
fix(es/module): Allow TypeScript nodes for Rewriter (#9606)
**Related issue:**

 - Closes https://github.com/swc-project/swc/issues/9592
2024-10-02 15:24:19 +09:00
magic-akari
866af6c947
perf(es/typescript): Reduce unnecessary visits (#9605) 2024-10-02 15:23:58 +09:00
Donny/강동윤
2f06fc559c
perf(es/codegen): Reduce usage of tracing::instrument (#9604)
**Related issue:**

 - Closes https://github.com/swc-project/swc/issues/9603
2024-10-02 15:10:03 +09:00
Donny/강동윤
24c3a0ce13
perf(es/transforms): Copy benchmarks from oxc (#9602) 2024-10-02 03:07:28 +00:00
강동윤 (Donny)
7823b1028a chore: Bump crates 2024-10-01 17:44:37 +09:00
강동윤 (Donny)
d30b5ed695 chore: Publish crates with swc_core v0.106.3 2024-10-01 17:40:52 +09:00
강동윤 (Donny)
f4c6fd8e4e chore: Publish crates with swc_core v0.106.2 2024-10-01 17:31:43 +09:00
Donny/강동윤
1659c212b2
fix(es/minifier): Ignore using declarations (#9598) 2024-10-01 08:09:39 +00:00
Donny/강동윤
f2b07665bf
feat(es): Add options to disable all esnext transforms and lints (#9597)
Some checks are pending
CI / Cargo fmt (push) Waiting to run
CI / Cargo clippy (push) Waiting to run
CI / Check license of dependencies (push) Waiting to run
CI / Check (macos-latest) (push) Waiting to run
CI / Check (ubuntu-latest) (push) Waiting to run
CI / Check (windows-latest) (push) Waiting to run
CI / Test wasm (binding_core_wasm) (push) Waiting to run
CI / Test wasm (binding_minifier_wasm) (push) Waiting to run
CI / Test wasm (binding_typescript_wasm) (push) Waiting to run
CI / List crates (push) Waiting to run
CI / Test - ${{ matrix.settings.crate }} - ${{ matrix.settings.os }} (push) Blocked by required conditions
CI / Test node bindings - ${{ matrix.os }} (macos-latest) (push) Waiting to run
CI / Test node bindings - ${{ matrix.os }} (windows-latest) (push) Waiting to run
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 / Bench everything (push) Waiting to run
2024-10-01 14:00:59 +09:00
강동윤 (Donny)
a0c0ceecfe chore: Publish crates with swc_core v0.106.1 2024-10-01 11:48:41 +09:00
CPunisher
3d9d641f8b
fix(es/codegen): Emit .d.ts when using --out-file (#9582)
**Related issue:**

Closes https://github.com/swc-project/swc/issues/9512
2024-10-01 11:43:50 +09:00
CPunisher
77900d808e
fix(es/parser): Fix failure of TS instantiation followed by satisfies (#9583)
**Related issue:**

it's already ok when followed by `as`.

Closes https://github.com/swc-project/swc/issues/8627
2024-10-01 11:41:58 +09:00
Victor Freitas
74e3d0466a
fix(es/module): Fix jsc.paths using absolute paths with dots in a filename for an alias (#9595)
**Description:**

- Resolves `jsc.paths` using an absolute filename with dots

**Related issue:**

- Closes https://github.com/swc-project/swc/issues/9591
2024-10-01 11:12:26 +09:00
Donny/강동윤
b94a0e1fd2
chore(es): Add helpers (#9586)
Some checks failed
CI / Cargo fmt (push) Has been cancelled
CI / Cargo clippy (push) Has been cancelled
CI / Check license of dependencies (push) Has been cancelled
CI / Check (macos-latest) (push) Has been cancelled
CI / Check (ubuntu-latest) (push) Has been cancelled
CI / Check (windows-latest) (push) Has been cancelled
CI / Test wasm (binding_core_wasm) (push) Has been cancelled
CI / Test wasm (binding_minifier_wasm) (push) Has been cancelled
CI / Test wasm (binding_typescript_wasm) (push) Has been cancelled
CI / List crates (push) Has been cancelled
CI / Test node bindings - ${{ matrix.os }} (macos-latest) (push) Has been cancelled
CI / Test node bindings - ${{ matrix.os }} (windows-latest) (push) Has been cancelled
CI / Test with @swc/cli (push) Has been cancelled
CI / Miri (better_scoped_tls) (push) Has been cancelled
CI / Miri (string_enum) (push) Has been cancelled
CI / Miri (swc) (push) Has been cancelled
CI / Miri (swc_bundler) (push) Has been cancelled
CI / Miri (swc_ecma_codegen) (push) Has been cancelled
CI / Miri (swc_ecma_minifier) (push) Has been cancelled
Benchmark / Bench everything (push) Has been cancelled
CI / Test - ${{ matrix.settings.crate }} - ${{ matrix.settings.os }} (push) Has been cancelled
CI / Done (push) Has been cancelled
**Description:**

This is a part of https://github.com/swc-project/swc/pull/9585. I extracted this as a separate PR to make WIP small.
2024-09-25 15:58:19 +09:00
강동윤 (Donny)
0ca3f2b906 chore: Publish crates with swc_core v0.106.0 2024-09-24 18:19:59 +09:00
magic-akari
14cfd70ee0
fix(es/compat): Skip getter and setter as FlowHelper function do (#9580)
Some checks are pending
CI / Cargo fmt (push) Waiting to run
CI / Cargo clippy (push) Waiting to run
CI / Check license of dependencies (push) Waiting to run
CI / Check (macos-latest) (push) Waiting to run
CI / Check (ubuntu-latest) (push) Waiting to run
CI / Check (windows-latest) (push) Waiting to run
CI / Test wasm (binding_core_wasm) (push) Waiting to run
CI / Test wasm (binding_minifier_wasm) (push) Waiting to run
CI / Test wasm (binding_typescript_wasm) (push) Waiting to run
CI / List crates (push) Waiting to run
CI / Test - ${{ matrix.settings.crate }} - ${{ matrix.settings.os }} (push) Blocked by required conditions
CI / Test node bindings - ${{ matrix.os }} (macos-latest) (push) Waiting to run
CI / Test node bindings - ${{ matrix.os }} (windows-latest) (push) Waiting to run
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 / Bench everything (push) Waiting to run
**Related issue:**

- Closes: #9579 
- https://github.com/swc-project/swc/issues/9161#issuecomment-2211641985
2024-09-24 03:58:24 +09:00
CPunisher
fc0ba2a084
fix(es/module): Rewrite import specifier in type declaration (#9577)
Some checks are pending
CI / Cargo fmt (push) Waiting to run
CI / Cargo clippy (push) Waiting to run
CI / Check license of dependencies (push) Waiting to run
CI / Check (macos-latest) (push) Waiting to run
CI / Check (ubuntu-latest) (push) Waiting to run
CI / Check (windows-latest) (push) Waiting to run
CI / Test wasm (binding_core_wasm) (push) Waiting to run
CI / Test wasm (binding_minifier_wasm) (push) Waiting to run
CI / Test wasm (binding_typescript_wasm) (push) Waiting to run
CI / List crates (push) Waiting to run
CI / Test - ${{ matrix.settings.crate }} - ${{ matrix.settings.os }} (push) Blocked by required conditions
CI / Test node bindings - ${{ matrix.os }} (macos-latest) (push) Waiting to run
CI / Test node bindings - ${{ matrix.os }} (windows-latest) (push) Waiting to run
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 / Bench everything (push) Waiting to run
**Description:**

Use `Arc<dyn ImportResolver>` to reduce cost

**Related issue:**

 - Closes https://github.com/swc-project/swc/issues/9548
2024-09-23 11:32:52 +09:00
CPunisher
cf74382ba0
fix(es/codegen): Fix wrong sourcemap when there are new lines in tpl (#9578)
**Description:**

1. split quasi by '\n' 
2. add the mapping between the original string and the generated string one by one.

<img width="873" alt="image"
src="https://github.com/user-attachments/assets/8a03da7f-2d22-4dd5-9bac-220418b10911">

**Related issue:**

 - Closes https://github.com/swc-project/swc/issues/9567
2024-09-23 11:02:24 +09:00
jinrui
185d6f55b3
fix(ast): Add archive(check_bytes) to all relevant AST types (#9574)
Some checks failed
CI / Cargo fmt (push) Has been cancelled
CI / Cargo clippy (push) Has been cancelled
CI / Check license of dependencies (push) Has been cancelled
CI / Check (macos-latest) (push) Has been cancelled
CI / Check (ubuntu-latest) (push) Has been cancelled
CI / Check (windows-latest) (push) Has been cancelled
CI / Test wasm (binding_core_wasm) (push) Has been cancelled
CI / Test wasm (binding_minifier_wasm) (push) Has been cancelled
CI / Test wasm (binding_typescript_wasm) (push) Has been cancelled
CI / List crates (push) Has been cancelled
CI / Test node bindings - ${{ matrix.os }} (macos-latest) (push) Has been cancelled
CI / Test node bindings - ${{ matrix.os }} (windows-latest) (push) Has been cancelled
CI / Test with @swc/cli (push) Has been cancelled
CI / Miri (better_scoped_tls) (push) Has been cancelled
CI / Miri (string_enum) (push) Has been cancelled
CI / Miri (swc) (push) Has been cancelled
CI / Miri (swc_bundler) (push) Has been cancelled
CI / Miri (swc_ecma_codegen) (push) Has been cancelled
CI / Miri (swc_ecma_minifier) (push) Has been cancelled
Benchmark / Bench everything (push) Has been cancelled
CI / Test - ${{ matrix.settings.crate }} - ${{ matrix.settings.os }} (push) Has been cancelled
CI / Done (push) Has been cancelled
**Description:**

1. all struct that support rkyv add `archive(check_bytes)`
2. all recursive struct that support rkyv add check_bytes bound

this PR will fix the error reported in https://github.com/swc-project/swc/pull/9562
2024-09-20 16:46:05 +09:00
Donny/강동윤
04016e9687
fix(es/minifier): Check variable type while optimizing += (#9575)
**Related issue:**

 - Closes https://github.com/swc-project/swc/issues/9504
2024-09-20 16:43:53 +09:00
Donny/강동윤
6d15d9c2eb
fix(es/isolated-dts): Preserve comments (#9572)
**Related issue:**

 - Closes https://github.com/swc-project/swc/issues/9550
2024-09-20 05:44:20 +00:00
강동윤 (Donny)
f637f83eb8 chore: Publish crates with swc_core v0.105.0 2024-09-19 13:12:01 +09:00
jinrui
c36871a848
fix(plugin): Don't panic when ast byte not match (#9562)
**Description:**

1. Disable rkyv strict feature, it is useless in swc.
2. Archived_root will panic if the wasm plugin ast binary not match core ast, so use safe api to avoid panic when mismatch. Implementation reference: https://github.com/rkyv/rkyv/blob/v0.7.43/examples/json/src/main.rs#L57-L76
2024-09-19 13:01:11 +09:00
강동윤 (Donny)
dbfcbf182a chore: Publish crates with swc_core v0.104.3 2024-09-19 12:57:38 +09:00
pan93412
85cc2bd79c
fix(cli): Exclude non-files from get_files_list (#9560)
Some checks failed
CI / Cargo fmt (push) Has been cancelled
CI / Cargo clippy (push) Has been cancelled
CI / Check license of dependencies (push) Has been cancelled
CI / Check (macos-latest) (push) Has been cancelled
CI / Check (ubuntu-latest) (push) Has been cancelled
CI / Check (windows-latest) (push) Has been cancelled
CI / Test wasm (binding_core_wasm) (push) Has been cancelled
CI / Test wasm (binding_minifier_wasm) (push) Has been cancelled
CI / Test wasm (binding_typescript_wasm) (push) Has been cancelled
CI / List crates (push) Has been cancelled
CI / Test node bindings - ${{ matrix.os }} (macos-latest) (push) Has been cancelled
CI / Test node bindings - ${{ matrix.os }} (windows-latest) (push) Has been cancelled
CI / Test with @swc/cli (push) Has been cancelled
CI / Miri (better_scoped_tls) (push) Has been cancelled
CI / Miri (string_enum) (push) Has been cancelled
CI / Miri (swc) (push) Has been cancelled
CI / Miri (swc_bundler) (push) Has been cancelled
CI / Miri (swc_ecma_codegen) (push) Has been cancelled
CI / Miri (swc_ecma_minifier) (push) Has been cancelled
Benchmark / Bench everything (push) Has been cancelled
CI / Test - ${{ matrix.settings.crate }} - ${{ matrix.settings.os }} (push) Has been cancelled
CI / Done (push) Has been cancelled
**Description:**

`get_files_list` does not check if a path with the `extensions` is really a file.


**Related issue:**

 - Closes https://github.com/swc-project/swc/issues/9559
2024-09-17 04:37:35 +00:00
SWC Bot
b1f0423c54 chore: Publish crates with swc_core v0.104.2
Some checks failed
CI / Cargo fmt (push) Has been cancelled
CI / Cargo clippy (push) Has been cancelled
CI / Check license of dependencies (push) Has been cancelled
CI / Check (macos-latest) (push) Has been cancelled
CI / Check (ubuntu-latest) (push) Has been cancelled
CI / Check (windows-latest) (push) Has been cancelled
CI / Test wasm (binding_core_wasm) (push) Has been cancelled
CI / Test wasm (binding_minifier_wasm) (push) Has been cancelled
CI / Test wasm (binding_typescript_wasm) (push) Has been cancelled
CI / List crates (push) Has been cancelled
CI / Test node bindings - ${{ matrix.os }} (macos-latest) (push) Has been cancelled
CI / Test node bindings - ${{ matrix.os }} (windows-latest) (push) Has been cancelled
CI / Test with @swc/cli (push) Has been cancelled
CI / Miri (better_scoped_tls) (push) Has been cancelled
CI / Miri (string_enum) (push) Has been cancelled
CI / Miri (swc) (push) Has been cancelled
CI / Miri (swc_bundler) (push) Has been cancelled
CI / Miri (swc_ecma_codegen) (push) Has been cancelled
CI / Miri (swc_ecma_minifier) (push) Has been cancelled
Benchmark / Bench everything (push) Has been cancelled
CI / Test - ${{ matrix.settings.crate }} - ${{ matrix.settings.os }} (push) Has been cancelled
CI / Done (push) Has been cancelled
2024-09-13 08:53:22 +00:00
Donny/강동윤
190d6f06d9
chore(es): Update wasmer to v4.3.7 (#9557) 2024-09-13 17:38:44 +09:00
Austaras
e2242c41c4
fix(es/minifier): Avoid decl name when mangle with eval (#9546)
Some checks failed
CI / Cargo fmt (push) Has been cancelled
CI / Cargo clippy (push) Has been cancelled
CI / Check license of dependencies (push) Has been cancelled
CI / Check (macos-latest) (push) Has been cancelled
CI / Check (ubuntu-latest) (push) Has been cancelled
CI / Check (windows-latest) (push) Has been cancelled
CI / Test wasm (binding_core_wasm) (push) Has been cancelled
CI / Test wasm (binding_minifier_wasm) (push) Has been cancelled
CI / Test wasm (binding_typescript_wasm) (push) Has been cancelled
CI / List crates (push) Has been cancelled
CI / Test node bindings - ${{ matrix.os }} (macos-latest) (push) Has been cancelled
CI / Test node bindings - ${{ matrix.os }} (windows-latest) (push) Has been cancelled
CI / Test with @swc/cli (push) Has been cancelled
CI / Miri (better_scoped_tls) (push) Has been cancelled
CI / Miri (string_enum) (push) Has been cancelled
CI / Miri (swc) (push) Has been cancelled
CI / Miri (swc_bundler) (push) Has been cancelled
CI / Miri (swc_ecma_codegen) (push) Has been cancelled
CI / Miri (swc_ecma_minifier) (push) Has been cancelled
Benchmark / Bench everything (push) Has been cancelled
CI / Test - ${{ matrix.settings.crate }} - ${{ matrix.settings.os }} (push) Has been cancelled
CI / Done (push) Has been cancelled
**Related issue:**

 - Closes https://github.com/swc-project/swc/issues/9542
2024-09-12 11:25:28 +09:00
SWC Bot
21edbc322f chore: Publish crates with swc_core v0.104.1 2024-09-11 02:50:57 +00:00
magic-akari
47ef38dc1d
fix(es/codegen): Ensure decorators are emitted first in TS paramters (#9545)
**Related issue:**

- Closes https://github.com/swc-project/swc/issues/9543
2024-09-11 11:47:37 +09:00
magic-akari
8b1e4428a3
fix(es/codegen): Handle minify number (#9541)
**Related issue:**

- Closes https://github.com/swc-project/swc/issues/9540
2024-09-11 11:20:51 +09:00
강동윤 (Donny)
3fc47fc5a3 chore: Publish crates with swc_core v0.104.0 2024-09-11 10:57:09 +09:00
magic-akari
f63a481833
feat(es/common): Introduce pure Span and BytePos to handle #__PURE__ (#9539)
Some checks failed
CI / Cargo fmt (push) Has been cancelled
CI / Cargo clippy (push) Has been cancelled
CI / Check license of dependencies (push) Has been cancelled
CI / Check (macos-latest) (push) Has been cancelled
CI / Check (ubuntu-latest) (push) Has been cancelled
CI / Check (windows-latest) (push) Has been cancelled
CI / Test wasm (binding_core_wasm) (push) Has been cancelled
CI / Test wasm (binding_minifier_wasm) (push) Has been cancelled
CI / Test wasm (binding_typescript_wasm) (push) Has been cancelled
CI / List crates (push) Has been cancelled
CI / Test node bindings - ${{ matrix.os }} (macos-latest) (push) Has been cancelled
CI / Test node bindings - ${{ matrix.os }} (windows-latest) (push) Has been cancelled
CI / Test with @swc/cli (push) Has been cancelled
CI / Miri (better_scoped_tls) (push) Has been cancelled
CI / Miri (string_enum) (push) Has been cancelled
CI / Miri (swc) (push) Has been cancelled
CI / Miri (swc_bundler) (push) Has been cancelled
CI / Miri (swc_ecma_codegen) (push) Has been cancelled
CI / Miri (swc_ecma_minifier) (push) Has been cancelled
Benchmark / Bench everything (push) Has been cancelled
CI / Test - ${{ matrix.settings.crate }} - ${{ matrix.settings.os }} (push) Has been cancelled
CI / Done (push) Has been cancelled
**Related issue:**

- #9538
2024-09-09 10:05:41 +09:00
강동윤 (Donny)
741f2c07bb chore: Publish crates with swc_core v0.103.2 2024-09-08 13:47:51 +09:00
magic-akari
62ed0655e6
fix(es/decorator): Add support for private access expressions in legacy decorators (#9535)
Some checks failed
CI / Cargo fmt (push) Has been cancelled
CI / Cargo clippy (push) Has been cancelled
CI / Check license of dependencies (push) Has been cancelled
CI / Check (macos-latest) (push) Has been cancelled
CI / Check (ubuntu-latest) (push) Has been cancelled
CI / Check (windows-latest) (push) Has been cancelled
CI / Test wasm (binding_core_wasm) (push) Has been cancelled
CI / Test wasm (binding_minifier_wasm) (push) Has been cancelled
CI / Test wasm (binding_typescript_wasm) (push) Has been cancelled
CI / List crates (push) Has been cancelled
CI / Test node bindings - ${{ matrix.os }} (macos-latest) (push) Has been cancelled
CI / Test node bindings - ${{ matrix.os }} (windows-latest) (push) Has been cancelled
CI / Test with @swc/cli (push) Has been cancelled
CI / Miri (better_scoped_tls) (push) Has been cancelled
CI / Miri (string_enum) (push) Has been cancelled
CI / Miri (swc) (push) Has been cancelled
CI / Miri (swc_bundler) (push) Has been cancelled
CI / Miri (swc_ecma_codegen) (push) Has been cancelled
CI / Miri (swc_ecma_minifier) (push) Has been cancelled
Benchmark / Bench everything (push) Has been cancelled
CI / Test - ${{ matrix.settings.crate }} - ${{ matrix.settings.os }} (push) Has been cancelled
CI / Done (push) Has been cancelled
**Related issue:**

- Closes https://github.com/swc-project/swc/issues/9429
2024-09-06 17:06:43 +09:00
magic-akari
c43dbad028
fix(es/compat): Handle label block in constructor (#9528)
Some checks failed
CI / Cargo fmt (push) Has been cancelled
CI / Cargo clippy (push) Has been cancelled
CI / Check license of dependencies (push) Has been cancelled
CI / Check (macos-latest) (push) Has been cancelled
CI / Check (ubuntu-latest) (push) Has been cancelled
CI / Check (windows-latest) (push) Has been cancelled
CI / Test wasm (binding_core_wasm) (push) Has been cancelled
CI / Test wasm (binding_minifier_wasm) (push) Has been cancelled
CI / Test wasm (binding_typescript_wasm) (push) Has been cancelled
CI / List crates (push) Has been cancelled
CI / Test node bindings - ${{ matrix.os }} (macos-latest) (push) Has been cancelled
CI / Test node bindings - ${{ matrix.os }} (windows-latest) (push) Has been cancelled
CI / Test with @swc/cli (push) Has been cancelled
CI / Miri (better_scoped_tls) (push) Has been cancelled
CI / Miri (string_enum) (push) Has been cancelled
CI / Miri (swc) (push) Has been cancelled
CI / Miri (swc_bundler) (push) Has been cancelled
CI / Miri (swc_ecma_codegen) (push) Has been cancelled
CI / Miri (swc_ecma_minifier) (push) Has been cancelled
Benchmark / Bench everything (push) Has been cancelled
CI / Test - ${{ matrix.settings.crate }} - ${{ matrix.settings.os }} (push) Has been cancelled
CI / Done (push) Has been cancelled
**Related issue:**
- Closes https://github.com/swc-project/swc/issues/9527
2024-09-05 07:38:31 +09:00
CPunisher
8513816139
fix(es/minifier): Prevent removing side effects from accessing getter (#9530)
Some checks are pending
CI / Cargo fmt (push) Waiting to run
CI / Cargo clippy (push) Waiting to run
CI / Check license of dependencies (push) Waiting to run
CI / Check (macos-latest) (push) Waiting to run
CI / Check (ubuntu-latest) (push) Waiting to run
CI / Check (windows-latest) (push) Waiting to run
CI / Test wasm (binding_core_wasm) (push) Waiting to run
CI / Test wasm (binding_minifier_wasm) (push) Waiting to run
CI / Test wasm (binding_typescript_wasm) (push) Waiting to run
CI / List crates (push) Waiting to run
CI / Test - ${{ matrix.settings.crate }} - ${{ matrix.settings.os }} (push) Blocked by required conditions
CI / Test node bindings - ${{ matrix.os }} (macos-latest) (push) Waiting to run
CI / Test node bindings - ${{ matrix.os }} (windows-latest) (push) Waiting to run
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 / Bench everything (push) Waiting to run
Closes https://github.com/swc-project/swc/issues/9500

Caused by
c7fdd6b69b/crates/swc_ecma_minifier/src/compress/pure/misc.rs (L1547).
When the object with getters pass to `self.ignore_return_value`,

c7fdd6b69b/crates/swc_ecma_minifier/src/compress/pure/misc.rs (L966)
converts the object to `0` because the object is side-effect-free
according to

c7fdd6b69b/crates/swc_ecma_utils/src/lib.rs (L1496)

We should skip this process to fix the issue.

As is known only accessing getters and setters may cause side effect, we
can safely do the transformation when none of them appears in the
object. More precision is possible if comparing the lit prop names. I
also collect computed keys of getters and setters in the object, is
there any bad case?

The reason why only numeric (string) key removes the statement is that
string key (`Computed`) is converted to `Ident` in other phases, e.g.
`{}['a']` => `{}.a`, which does not matching the pattern.
2024-09-04 12:28:46 +00:00
magic-akari
84b004387b
fix(es/typescript): Handle enum in single statement (#9532)
**Related issue:**
- Closes https://github.com/swc-project/swc/issues/9531
2024-09-04 20:56:11 +09:00
CPunisher
c7fdd6b69b
fix(es/minifier): typeof class should be function (#9522)
Some checks failed
CI / Cargo fmt (push) Has been cancelled
CI / Cargo clippy (push) Has been cancelled
CI / Check license of dependencies (push) Has been cancelled
CI / Check (macos-latest) (push) Has been cancelled
CI / Check (ubuntu-latest) (push) Has been cancelled
CI / Check (windows-latest) (push) Has been cancelled
CI / Test wasm (binding_core_wasm) (push) Has been cancelled
CI / Test wasm (binding_minifier_wasm) (push) Has been cancelled
CI / Test wasm (binding_typescript_wasm) (push) Has been cancelled
CI / List crates (push) Has been cancelled
CI / Test node bindings - ${{ matrix.os }} (macos-latest) (push) Has been cancelled
CI / Test node bindings - ${{ matrix.os }} (windows-latest) (push) Has been cancelled
CI / Test with @swc/cli (push) Has been cancelled
CI / Miri (better_scoped_tls) (push) Has been cancelled
CI / Miri (string_enum) (push) Has been cancelled
CI / Miri (swc) (push) Has been cancelled
CI / Miri (swc_bundler) (push) Has been cancelled
CI / Miri (swc_ecma_codegen) (push) Has been cancelled
CI / Miri (swc_ecma_minifier) (push) Has been cancelled
Benchmark / Bench everything (push) Has been cancelled
CI / Test - ${{ matrix.settings.crate }} - ${{ matrix.settings.os }} (push) Has been cancelled
CI / Done (push) Has been cancelled
**Related issue:**

Closes https://github.com/swc-project/swc/issues/9453
2024-09-03 08:04:44 +00:00
강동윤 (Donny)
838fe80ed1 chore: Publish crates with swc_core v0.103.1 2024-09-03 06:21:01 +09:00
Donny/강동윤
5fd68f9a3a
fix(es/minifier): Fix name mangler (#9524) 2024-09-03 06:19:15 +09:00
강동윤 (Donny)
595e8db0c9 chore: Publish crates with swc_core v0.103.0 2024-09-03 06:08:14 +09:00
강동윤 (Donny)
29fcebe48a chore: Publish crates with swc_core v0.103.0 2024-09-03 06:05:40 +09:00
magic-akari
c562cfa8af
perf(es/utils): Rewrite inject_after_super (#9496) 2024-09-03 03:11:02 +09:00
magic-akari
4b85a92170
perf(es/compat): Reimplement constructor transform (#9519)
Some checks are pending
CI / Cargo fmt (push) Waiting to run
CI / Cargo clippy (push) Waiting to run
CI / Check license of dependencies (push) Waiting to run
CI / Check (macos-latest) (push) Waiting to run
CI / Check (ubuntu-latest) (push) Waiting to run
CI / Check (windows-latest) (push) Waiting to run
CI / Test wasm (binding_core_wasm) (push) Waiting to run
CI / Test wasm (binding_minifier_wasm) (push) Waiting to run
CI / Test wasm (binding_typescript_wasm) (push) Waiting to run
CI / List crates (push) Waiting to run
CI / Test - ${{ matrix.settings.crate }} - ${{ matrix.settings.os }} (push) Blocked by required conditions
CI / Test node bindings - ${{ matrix.os }} (macos-latest) (push) Waiting to run
CI / Test node bindings - ${{ matrix.os }} (windows-latest) (push) Waiting to run
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 / Bench everything (push) Waiting to run
**Related issue:**

- Closes #9494 
- babel/babel#16194
2024-09-02 19:53:16 +09:00
강동윤 (Donny)
d0dd53137a chore: Publish crates with swc_core v0.102.2
Some checks are pending
CI / Cargo fmt (push) Waiting to run
CI / Cargo clippy (push) Waiting to run
CI / Check license of dependencies (push) Waiting to run
CI / Check (macos-latest) (push) Waiting to run
CI / Check (ubuntu-latest) (push) Waiting to run
CI / Check (windows-latest) (push) Waiting to run
CI / Test wasm (binding_core_wasm) (push) Waiting to run
CI / Test wasm (binding_minifier_wasm) (push) Waiting to run
CI / Test wasm (binding_typescript_wasm) (push) Waiting to run
CI / List crates (push) Waiting to run
CI / Test - ${{ matrix.settings.crate }} - ${{ matrix.settings.os }} (push) Blocked by required conditions
CI / Test node bindings - ${{ matrix.os }} (macos-latest) (push) Waiting to run
CI / Test node bindings - ${{ matrix.os }} (windows-latest) (push) Waiting to run
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 / Bench everything (push) Waiting to run
2024-08-30 16:55:05 +09:00
Donny/강동윤
f584ef76d7
fix(es/minifier): Iterate object properties in reverse direction while inlining property access (#9507)
Some checks are pending
CI / Cargo fmt (push) Waiting to run
CI / Cargo clippy (push) Waiting to run
CI / Check license of dependencies (push) Waiting to run
CI / Check (macos-latest) (push) Waiting to run
CI / Check (ubuntu-latest) (push) Waiting to run
CI / Check (windows-latest) (push) Waiting to run
CI / Test wasm (binding_core_wasm) (push) Waiting to run
CI / Test wasm (binding_minifier_wasm) (push) Waiting to run
CI / Test wasm (binding_typescript_wasm) (push) Waiting to run
CI / List crates (push) Waiting to run
CI / Test - ${{ matrix.settings.crate }} - ${{ matrix.settings.os }} (push) Blocked by required conditions
CI / Test node bindings - ${{ matrix.os }} (macos-latest) (push) Waiting to run
CI / Test node bindings - ${{ matrix.os }} (windows-latest) (push) Waiting to run
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 / Bench everything (push) Waiting to run
**Related issue:**

 - Closes https://github.com/swc-project/swc/issues/9498
2024-08-29 15:58:18 +09:00
강동윤 (Donny)
bebde7ee02 chore: Publish crates with swc_core v0.102.1 2024-08-28 17:29:06 +09:00
magic-akari
3e253ecc21
fix(es/typescript): Preserve more comments (#9509)
**Related issue:**

- Closes https://github.com/swc-project/swc/issues/9505
2024-08-28 17:00:10 +09:00
SWC Bot
ea4c71c052 chore: Publish crates with swc_core v0.102.1 2024-08-28 05:13:16 +00:00
Donny/강동윤
7d6269e3b8
fix(es/minifier): Track if a var is used with in (#9508)
**Related issue:**

 - Closes https://github.com/swc-project/swc/issues/9499
2024-08-28 13:32:45 +09:00
Donny/강동윤
da529304fe
feat(plugin/runner): Improve error message (#9502)
Some checks are pending
CI / Cargo fmt (push) Waiting to run
CI / Cargo clippy (push) Waiting to run
CI / Check license of dependencies (push) Waiting to run
CI / Check (macos-latest) (push) Waiting to run
CI / Check (ubuntu-latest) (push) Waiting to run
CI / Check (windows-latest) (push) Waiting to run
CI / Test wasm (binding_core_wasm) (push) Waiting to run
CI / Test wasm (binding_minifier_wasm) (push) Waiting to run
CI / Test wasm (binding_typescript_wasm) (push) Waiting to run
CI / List crates (push) Waiting to run
CI / Test - ${{ matrix.settings.crate }} - ${{ matrix.settings.os }} (push) Blocked by required conditions
CI / Test node bindings - ${{ matrix.os }} (macos-latest) (push) Waiting to run
CI / Test node bindings - ${{ matrix.os }} (windows-latest) (push) Waiting to run
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 / Bench everything (push) Waiting to run
2024-08-27 10:05:51 +09:00
SWC Bot
d068a63ba2 chore: Publish crates with swc_core v0.102.0
Some checks are pending
CI / Cargo fmt (push) Waiting to run
CI / Cargo clippy (push) Waiting to run
CI / Check license of dependencies (push) Waiting to run
CI / Check (macos-latest) (push) Waiting to run
CI / Check (ubuntu-latest) (push) Waiting to run
CI / Check (windows-latest) (push) Waiting to run
CI / Test wasm (binding_core_wasm) (push) Waiting to run
CI / Test wasm (binding_minifier_wasm) (push) Waiting to run
CI / Test wasm (binding_typescript_wasm) (push) Waiting to run
CI / List crates (push) Waiting to run
CI / Test - ${{ matrix.settings.crate }} - ${{ matrix.settings.os }} (push) Blocked by required conditions
CI / Test node bindings - ${{ matrix.os }} (macos-latest) (push) Waiting to run
CI / Test node bindings - ${{ matrix.os }} (windows-latest) (push) Waiting to run
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 / Bench everything (push) Waiting to run
2024-08-26 00:45:33 +00:00
Donny/강동윤
af922d83e5
feat(es/minifier): Support mangle cache (#9489)
**Description:**

This PR adds a name cache for the mangler. It's implemented using a `Mutex`, and it's exposed to JS as an experimental API. Note that JS API only provides an opaque object.
2024-08-25 23:42:53 +00:00
강동윤 (Donny)
3e73d4ce0c chore: Publish crates with swc_core v0.101.7 2024-08-26 07:57:00 +09:00
magic-akari
faec8c134d
refactor(es/utils): Unify prepend_stmts (#9493)
Some checks failed
CI / Cargo fmt (push) Has been cancelled
CI / Cargo clippy (push) Has been cancelled
CI / Check license of dependencies (push) Has been cancelled
CI / Check (macos-latest) (push) Has been cancelled
CI / Check (ubuntu-latest) (push) Has been cancelled
CI / Check (windows-latest) (push) Has been cancelled
CI / Test wasm (binding_core_wasm) (push) Has been cancelled
CI / Test wasm (binding_minifier_wasm) (push) Has been cancelled
CI / Test wasm (binding_typescript_wasm) (push) Has been cancelled
CI / List crates (push) Has been cancelled
CI / Test node bindings - ${{ matrix.os }} (macos-latest) (push) Has been cancelled
CI / Test node bindings - ${{ matrix.os }} (windows-latest) (push) Has been cancelled
CI / Test with @swc/cli (push) Has been cancelled
CI / Miri (better_scoped_tls) (push) Has been cancelled
CI / Miri (string_enum) (push) Has been cancelled
CI / Miri (swc) (push) Has been cancelled
CI / Miri (swc_bundler) (push) Has been cancelled
CI / Miri (swc_ecma_codegen) (push) Has been cancelled
CI / Miri (swc_ecma_minifier) (push) Has been cancelled
Benchmark / Bench everything (push) Has been cancelled
CI / Test - ${{ matrix.settings.crate }} - ${{ matrix.settings.os }} (push) Has been cancelled
CI / Done (push) Has been cancelled
2024-08-24 22:58:06 +09:00
Yusuke Tanaka
5258763cf6
chore(es/codegen): Bump minimum required swc_allocator version to 0.1.8 (#9492)
Some checks are pending
CI / Cargo fmt (push) Waiting to run
CI / Cargo clippy (push) Waiting to run
CI / Check license of dependencies (push) Waiting to run
CI / Check (macos-latest) (push) Waiting to run
CI / Check (ubuntu-latest) (push) Waiting to run
CI / Check (windows-latest) (push) Waiting to run
CI / Test wasm (binding_core_wasm) (push) Waiting to run
CI / Test wasm (binding_minifier_wasm) (push) Waiting to run
CI / Test wasm (binding_typescript_wasm) (push) Waiting to run
CI / List crates (push) Waiting to run
CI / Test - ${{ matrix.settings.crate }} - ${{ matrix.settings.os }} (push) Blocked by required conditions
CI / Test node bindings - ${{ matrix.os }} (macos-latest) (push) Waiting to run
CI / Test node bindings - ${{ matrix.os }} (windows-latest) (push) Waiting to run
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 / Bench everything (push) Waiting to run
**Description:**

`swc_ecma_codegen` uses `swc_allocator::collections` modules:


f500dd4530/crates/swc_ecma_codegen/src/text_writer/basic_impl.rs (L3)


f500dd4530/crates/swc_ecma_codegen/tests/sourcemap.rs (L5)

`collections` module was added to `swc_allocator` in 0.1.8. However,
`swc_ecma_codegen` still says that the minimum required version of
`swc_allocator` is 0.1.7:


f500dd4530/crates/swc_ecma_codegen/Cargo.toml (L27)

This can cause a compile error when someone has a lockfile that pins
`swc_allocator` 0.1.7, which is supposed to work with `swc_ecma_codegen`
according to the manifest, but actually not.
2024-08-24 20:29:59 +09:00
강동윤 (Donny)
82fa400dc4 chore: Publish crates with swc_core v0.101.6 2024-08-23 22:41:58 +09:00
magic-akari
fc0483ce1b
fix(es/typescript): Correctly handle ESM context (#9490)
**Related issue:**

- https://github.com/nodejs/node/issues/54514
2024-08-23 22:40:28 +09:00
강동윤 (Donny)
1e1b165181 chore: Publish crates with swc_core v0.101.5
Some checks are pending
CI / Cargo fmt (push) Waiting to run
CI / Cargo clippy (push) Waiting to run
CI / Check license of dependencies (push) Waiting to run
CI / Check (macos-latest) (push) Waiting to run
CI / Check (ubuntu-latest) (push) Waiting to run
CI / Check (windows-latest) (push) Waiting to run
CI / Test wasm (binding_core_wasm) (push) Waiting to run
CI / Test wasm (binding_minifier_wasm) (push) Waiting to run
CI / Test wasm (binding_typescript_wasm) (push) Waiting to run
CI / List crates (push) Waiting to run
CI / Test - ${{ matrix.settings.crate }} - ${{ matrix.settings.os }} (push) Blocked by required conditions
CI / Test node bindings - ${{ matrix.os }} (macos-latest) (push) Waiting to run
CI / Test node bindings - ${{ matrix.os }} (windows-latest) (push) Waiting to run
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 / Bench everything (push) Waiting to run
2024-08-23 11:33:28 +09:00
magic-akari
50d70d35d0
fix(es/typescript): Correctly handle deep import chains (#9487)
**Related issue:**

- Closes https://github.com/swc-project/swc/issues/9486
2024-08-23 07:01:40 +09:00
Donny/강동윤
1121bc0dc1
feat(es/parser): Disallow let let (#9484)
Some checks are pending
CI / Cargo fmt (push) Waiting to run
CI / Cargo clippy (push) Waiting to run
CI / Check license of dependencies (push) Waiting to run
CI / Check (macos-latest) (push) Waiting to run
CI / Check (ubuntu-latest) (push) Waiting to run
CI / Check (windows-latest) (push) Waiting to run
CI / Test wasm (binding_core_wasm) (push) Waiting to run
CI / Test wasm (binding_minifier_wasm) (push) Waiting to run
CI / Test wasm (binding_typescript_wasm) (push) Waiting to run
CI / List crates (push) Waiting to run
CI / Test - ${{ matrix.settings.crate }} - ${{ matrix.settings.os }} (push) Blocked by required conditions
CI / Test node bindings - ${{ matrix.os }} (macos-latest) (push) Waiting to run
CI / Test node bindings - ${{ matrix.os }} (windows-latest) (push) Waiting to run
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 / Bench everything (push) Waiting to run
**Related issue:**

 - Closes https://github.com/swc-project/swc/issues/8269
2024-08-22 09:17:33 +00:00
Donny/강동윤
ede1a52cb8
feat(es/minifier): Drop more patterns with PURE marker (#9478)
**Related issue:**

 - Closes https://github.com/swc-project/swc/issues/9459
 - Closes https://github.com/swc-project/swc/issues/9460
 - Closes https://github.com/swc-project/swc/pull/9465
2024-08-22 13:04:12 +09:00
Donny/강동윤
b0b5e36675
chore(plugin/runner): Fix benchmark (#9477)
Some checks are pending
CI / Cargo fmt (push) Waiting to run
CI / Cargo clippy (push) Waiting to run
CI / Check license of dependencies (push) Waiting to run
CI / Check (macos-latest) (push) Waiting to run
CI / Check (ubuntu-latest) (push) Waiting to run
CI / Check (windows-latest) (push) Waiting to run
CI / Test wasm (binding_core_wasm) (push) Waiting to run
CI / Test wasm (binding_minifier_wasm) (push) Waiting to run
CI / Test wasm (binding_typescript_wasm) (push) Waiting to run
CI / List crates (push) Waiting to run
CI / Test - ${{ matrix.settings.crate }} - ${{ matrix.settings.os }} (push) Blocked by required conditions
CI / Test node bindings - ${{ matrix.os }} (macos-latest) (push) Waiting to run
CI / Test node bindings - ${{ matrix.os }} (windows-latest) (push) Waiting to run
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 / Bench everything (push) Waiting to run
2024-08-21 14:43:07 +09:00
Donny/강동윤
4bee30ab40
refactor(common): Simplify SyntaxContext and Mark (#9476)
**Description:**

This PR removes the `transparent` of `SyntaxContext` and `is_builtin` of `Mark`.

**Related issue:**

 - Closes https://github.com/swc-project/swc/issues/9346
2024-08-21 05:31:05 +00:00
Donny/강동윤
ac432c4bff
fix(es/minifier): Mark LHS of for-in/of as update (#9474)
**Related issue:**

 - Closes https://github.com/swc-project/swc/issues/9466
2024-08-21 14:02:16 +09:00
Donny/강동윤
c72b5f8b32
fix(es/minifier): Force rename synthesized identifiers (#9473)
**Related issue:**

 - Closes https://github.com/swc-project/swc/issues/9468
2024-08-21 05:01:16 +00:00
Donny/강동윤
3ee8980dbe
feat(visit): Add experimental traverse APIs (#9464)
Some checks are pending
CI / Cargo fmt (push) Waiting to run
CI / Cargo clippy (push) Waiting to run
CI / Check license of dependencies (push) Waiting to run
CI / Check (macos-latest) (push) Waiting to run
CI / Check (ubuntu-latest) (push) Waiting to run
CI / Check (windows-latest) (push) Waiting to run
CI / Test wasm (binding_core_wasm) (push) Waiting to run
CI / Test wasm (binding_minifier_wasm) (push) Waiting to run
CI / Test wasm (binding_typescript_wasm) (push) Waiting to run
CI / List crates (push) Waiting to run
CI / Test - ${{ matrix.settings.crate }} - ${{ matrix.settings.os }} (push) Blocked by required conditions
CI / Test node bindings - ${{ matrix.os }} (macos-latest) (push) Waiting to run
CI / Test node bindings - ${{ matrix.os }} (windows-latest) (push) Waiting to run
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 / Bench everything (push) Waiting to run
2024-08-21 08:29:24 +09:00
SWC Bot
aefbd59f08 chore: Publish crates with swc_core v0.101.4 2024-08-20 08:31:41 +00:00
Donny/강동윤
911d4eaa14
perf(visit): Add linear AST traversal (#9452)
**Description:**

Babel decorator pass uses `fastTraverse`, and I think we can have one.

**Related issue:**

 - Closes https://github.com/swc-project/swc/issues/9451
2024-08-20 15:50:11 +09:00
강동윤 (Donny)
339f828774 chore: Publish crates 2024-08-19 21:13:35 +09:00
강동윤 (Donny)
25edb1c41e chore: Publish crates 2024-08-19 19:30:48 +09:00
SWC Bot
a514cad4f5 chore: Publish crates with swc_core v0.101.3 2024-08-19 09:56:39 +00:00
Donny/강동윤
238ba8b1d2
feat(es/decorators): Groundwork for stage 3 decorator (#9450)
**Description:**

I decided to port the babel transform instead of recreating a new pass using inputs and outputs. Babel transform reuses many codes, and this is the basic API for decorator passes that share the implementation.
2024-08-19 14:44:23 +09:00
Donny/강동윤
673655c169
fix(es): Preserve more comments (#9449)
**Related issue:**

 - Closes https://github.com/swc-project/swc/issues/9255
2024-08-19 04:16:35 +00:00
Donny/강동윤
8845b76ac4
refactor(visit): Remove VisitAll (#9448)
**Description:**

Technically, this is a breaking change, but `VisitAll` was broken anyway, so I'll not mark this PR as a breaking change.

**Related issue:**

 - Closes https://github.com/swc-project/swc/issues/9337
2024-08-19 12:48:18 +09:00
Donny/강동윤
05961eb018
fix(common): Use SourceMap::adjust_mappings in correct order (#9447)
**Related issue:**

 - Closes https://github.com/swc-project/swc/issues/9392
2024-08-19 11:37:02 +09:00
SWC Bot
f5b59485fa chore: Publish crates with swc_core v0.101.3 2024-08-19 00:46:58 +00:00
Austaras
bfaf31bc4b
fix(es/compat): Init this in sub class constructor for async (#9446)
**Related issue:**

 - Closes https://github.com/swc-project/swc/issues/8452
 - Closes https://github.com/swc-project/swc/issues/9432
2024-08-19 00:22:36 +00:00
Austaras
99738ef412
fix(es/decorators): Fix metadata for accessors (#9444)
Some checks are pending
CI / Cargo fmt (push) Waiting to run
CI / Cargo clippy (push) Waiting to run
CI / Check license of dependencies (push) Waiting to run
CI / Check (macos-latest) (push) Waiting to run
CI / Check (ubuntu-latest) (push) Waiting to run
CI / Check (windows-latest) (push) Waiting to run
CI / Test wasm (binding_core_wasm) (push) Waiting to run
CI / Test wasm (binding_minifier_wasm) (push) Waiting to run
CI / Test wasm (binding_typescript_wasm) (push) Waiting to run
CI / List crates (push) Waiting to run
CI / Test - ${{ matrix.settings.crate }} - ${{ matrix.settings.os }} (push) Blocked by required conditions
CI / Test node bindings - ${{ matrix.os }} (macos-latest) (push) Waiting to run
CI / Test node bindings - ${{ matrix.os }} (windows-latest) (push) Waiting to run
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 / Bench everything (push) Waiting to run
**Related issue:**
 - Closes https://github.com/swc-project/swc/issues/9435
2024-08-18 13:27:20 +00:00
SWC Bot
a4b918644b chore: Publish crates with swc_core v0.101.2 2024-08-16 12:50:42 +00:00
Donny/강동윤
308e5ec81b
fix(es): Mark TypeScript nodes as reachable from Evaluator (#9440) 2024-08-16 21:49:11 +09:00
강동윤 (Donny)
154bd2dbb0 chore: Publish crates with swc_core v0.101.1 2024-08-16 13:37:27 +09:00
Donny/강동윤
563c162f1c
fix(common): Do not use adjust_mappings from sourcemap crate (#9437)
**Description:**

It seems like it has a bug.

**Related issue:**

 - Reverts https://github.com/swc-project/swc/pull/9052
2024-08-16 13:36:48 +09:00
강동윤 (Donny)
3171020803 chore: Bump crates 2024-08-16 11:12:39 +09:00
SWC Bot
08b21a9588 chore: Publish crates with swc_core v0.100.7 2024-08-14 07:35:59 +00:00
Simon Buchan
230d1d98b9
fix(es): Improve sourcemap url error messages. (#9422)
Some checks are pending
CI / Cargo fmt (push) Waiting to run
CI / Cargo clippy (push) Waiting to run
CI / Check license of dependencies (push) Waiting to run
CI / Check (macos-latest) (push) Waiting to run
CI / Check (ubuntu-latest) (push) Waiting to run
CI / Check (windows-latest) (push) Waiting to run
CI / Test wasm (binding_core_wasm) (push) Waiting to run
CI / Test wasm (binding_minifier_wasm) (push) Waiting to run
CI / Test wasm (binding_typescript_wasm) (push) Waiting to run
CI / List crates (push) Waiting to run
CI / Test - ${{ matrix.settings.crate }} - ${{ matrix.settings.os }} (push) Blocked by required conditions
CI / Test node bindings - ${{ matrix.os }} (macos-latest) (push) Waiting to run
CI / Test node bindings - ${{ matrix.os }} (windows-latest) (push) Waiting to run
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 / Bench everything (push) Waiting to run
**Description:**

Parse based on the provided prefix: inline urls must start with "data:",
so only trying one will ensure the correct and more helpful error
message will be shown.

Currently, any error while trying to load a sourcemap file will give the
unhelpful error:

```
  ERROR  failed to read input source map: failed to parse inline source map url
index.js.map

 Caused by:
     relative URL without a base
     at <snip>/swc-<ver>/src/lib.rs:386
```

Further, for the common "missing file" error, give a better message that
hopefully describes the two paths tried, rather than increasing
confusion by talking about a `.js.map.map` file if it was correct.

Now it will show, for example:

```
  ERROR  failed to read input source map: failed to find input source map file "index.js.map" in "file:///D:/github/skilitics/billing/api-client/lib/services/index.js" file as either "file:///D:/github/skilitics/billing/api-client/lib/services\\index.js.map" or with appended .map
    at D:\github\swc-project\swc\crates\swc\src\lib.rs:400
```

(This example appears to be an issue in swc-node, where it is passing a
file URL which is treated as a path, and therefore never exists, I'm
working on a PR for there too)

There are more improvements that could make this code clearer and more
reliable, but this should resolve many of the confused users (including
me!)

**Related issue:**

See (maybe can be considered to fix): #8944, #8910

[PR in swc-node to fix the originating
issue](https://github.com/swc-project/swc-node/pull/840)
2024-08-14 07:11:57 +00:00
magic-akari
d2929d1ce6
feat(es/typescript): Add native_class_properties to skip reordering of class properties inits (#9421)
**Related issue:**

 - Closes #9418
2024-08-14 09:11:04 +09:00
SWC Bot
8f934603cc chore: Publish crates with swc_core v0.100.7 2024-08-13 19:05:38 +00:00