Commit Graph

6562 Commits

Author SHA1 Message Date
강동윤 (Donny)
09de6f4065 chore: Publish crates with swc_core v3.0.0 2024-10-29 11:30:46 +09:00
Donny/강동윤
581aafb4df
perf(visit): Introduce Pass API and adjust visitor APIs for it (#9680)
**Description:**

 - `Pass`: `FnMut(&mut Program)`.

**Breaking Changes:**

- `chain!`: Use a tuple instead. You can replace all `chain!(` with `(` with IDE feature and it will work.
- `chain!` with 13 or more args: Use nested tuples for items after 13th element.


**Related issue:**

 - Related to https://github.com/swc-project/swc/issues/9601
2024-10-29 11:25:16 +09:00
강동윤 (Donny)
b32a5332cf chore: Publish crates with swc_core v2.0.0 2024-10-29 10:39:49 +09:00
CPunisher
7344a638b5
feat(es/minifier): Optimize switch with side effect and termination tests (#9677)
**Description:**

This is learnt from https://github.com/terser/terser/pull/1044
**Key point:** all the cases (statements) after the last side-effect and
non-terminated one are useless.

There are also some points on whether a statement is side-effect free:
- **Var declaration:** I think var declaration always contains side
effect.
- **Function declaration:** In non-strict mode, function declaration is
same as var declaration. In strict mode, function is declared in
enclosing block scope, so it's side-effect free. But there is a bad case
when we call the function before it is declared in the switch case:
```js
"use strict";
const k = (() => {
    let x = 1;
    switch (x) {
        case y():
        case x: {
            async function y() {
                console.log(123);
            }
        }
    }
    return x;
})();
```

**This is an existing bug.** I'm not sure whether we should fix it since
it is a very bad code and I also find some similar bad cases with
terser.

~I'm also not sure it's appropriate to introduce context variable
`in_strict` for `StmtExt:: may_have_side_effects`, because `in_strict`
could change from `false` to `true`. But this is a **conservative**
mistake and does not break the program. Maybe we should use visitor for
context-aware side effect checker in the future.~

**Related issue:**

 - Closes https://github.com/swc-project/swc/issues/8953
2024-10-29 10:39:05 +09:00
David Sherret
2bbd1e8485
feat(es/parser): Ability to get script's potential module errors (#9682)
**Description:**

In Deno I'm now parsing stuff as a program more often because I sometimes now need to discover if something is a script or es module by looking at the contents. A problem is that the module errors are discarded when parsing as a script, but I still might need them later if I discover the program the program should be treated as an ES module.

**BREAKING CHANGE:**

Adds a new method to the `Tokens` trait.
2024-10-29 09:50:14 +09:00
강동윤 (Donny)
17b05f283d chore: Publish crates with swc_core v1.0.6 2024-10-26 17:33:51 +09:00
CPunisher
78500af546
fix(typescript): Check whether the method is abstract when checking is_overload (#9678)
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
Benchmark / Bench everything (push) Has been cancelled
Publish crates (auto) / Publish cargo crates (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/9656
2024-10-25 12:53:48 +09:00
강동윤 (Donny)
dacb6cfce7 chore: Publish crates with swc_core v1.0.5 2024-10-24 23:28:24 +09:00
CamWass
ba2a942f56
fix(es/codegen): Improve EndsWithAlphaNum (#9675)
**Description:**

This PR makes EndsWithAlphaNum smarter, improving codegen of in/instanceof binary expressions, and for in/of heads. For example:

Before: 
```js
foo() in b;
```
After:
```js
foo()in b;
```

---------

Co-authored-by: Donny/강동윤 <kdy1997.dev@gmail.com>
2024-10-24 16:34:18 +09:00
unbyte
87b4e10e5d
fix(es/renamer): Check preserved in normal renaming mode (#9666)
**Description:**

Check `preserved` in normal renaming mode

**Related issue:**

 - Closes https://github.com/swc-project/swc/issues/9663
2024-10-22 14:02:38 +09:00
SWC Bot
0708b49e70 chore: Publish crates with swc_core v1.0.4 2024-10-21 03:52:08 +00:00
CPunisher
f70b842c55
feat(es/minifier): Implement optional catch binding (#9657)
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
Publish crates (auto) / Publish cargo crates (push) Waiting to run
**Description:**

I think removing `!v.declared_as_catch_param` is safe, since I can't think of a bad case:
1. for the vars in the params of catch-clause, we prevent the removal if `self.options.ecma < EsVersion::Es2019 || !self.options.unused` is not satisfied.
2. for the usages or re-declarations with the same var name in the body of catch-clause, I think it's safe to remove them.


**Related issue:**

 - Closes https://github.com/swc-project/swc/issues/8966
2024-10-20 18:42:38 +09:00
Benny Powers - עם ישראל חי!
4cbe33c32f
fix(wasm-typescript): Fix option types of functions (#9662)
**Description:**

The types for the wasm-typescript functions are incorrect due to a typo.

Without this fix:

```
Property 'TransformConfig' is missing in type '{ module: true; filename: any; sourceMap:   • 
 true; mode: "transform"; transform: { verbatimModuleSyntax: boolean; nativeClassProperties:       
 boolean; importNotUsedAsValues: string; importExportAssignConfig: string; }; }' but required in   
 type 'Options'. [2345]  
```
2024-10-20 09:41:09 +00:00
pshu
32116a0940
fix(es/compat): Add missing visit children for destructuring (#9658)
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
Publish crates (auto) / Publish cargo crates (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/discussions/9647
2024-10-19 01:28:07 +09:00
강동윤 (Donny)
9c355207d2 chore: Publish crates with swc_core v1.0.3
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
Publish crates (auto) / Publish cargo crates (push) Has been cancelled
CI / Test - ${{ matrix.settings.crate }} - ${{ matrix.settings.os }} (push) Has been cancelled
CI / Done (push) Has been cancelled
2024-10-17 15:30:51 +09:00
Donny/강동윤
f735108017
fix(es/proposal): Use tsc version of explicit resource management (#9585)
**Related issue:**

 - Closes https://github.com/swc-project/swc/issues/9576
2024-10-17 05:51:43 +00:00
강동윤 (Donny)
b2d40a7f93 chore: Publish crates with swc_core v1.0.2 2024-10-17 10:54:06 +09:00
magic-akari
31fe3b6be1
chore(es/typescript): Improve enum comments and sourcemap (#9652) 2024-10-17 10:50:53 +09:00
magic-akari
abffc07356
fix(es/parser): Correct > and < when exit type context (#9653)
**Related issue:**

- Close https://github.com/swc-project/swc/issues/9471
2024-10-17 10:49:46 +09:00
강동윤 (Donny)
56c4416726 chore: Publish crates with swc_core v1.0.1 2024-10-15 23:13:49 +09:00
Donny/강동윤
3d3e4340b3
feat(es): Introduce runPluginFirst for Wasm plugins (#9645)
**Related issue:**

 - Closes https://github.com/swc-project/swc/issues/9132
2024-10-15 23:13:02 +09:00
Donny/강동윤
8a19201824
fix(es): Run esnext transforms on esnext target (#9644)
**Related issue:**

 - Closes https://github.com/swc-project/swc/issues/9640
 - Closes https://github.com/swc-project/swc/issues/9641
2024-10-15 23:12:50 +09:00
Levi
88a2186ba4
feat(es/minifier): Support unary negate in cast_to_number (#9642)
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:**

Adds support for `-` in `cast_to_number`. Before it only worked if `arg` is `Infinity`. Now it uses a recursive call on `arg` so it works for expressions like `-5`, `-[]` etc.

This change is important because negative number literals (e.g. `-5`) are a `UnaryExpr` with `op`=`-` & `arg`=`5`, unless you apply `expr_simplifier` pass or something else that uses it.
2024-10-15 08:00:39 +09:00
CPunisher
4436621564
fix(es/minifier): Check type of assignment target before merging assignments (#9617)
**Description:**

Collect types of vars, maybe other optimization could benefit from this:
`merged_var_type: Option<Value<Type>>`

When the variable is reassigned, the we merge the types with some simple
rules:
`None` + `None` = `None`
`None` + `Some(ty)` = `Some(ty)`
`Some(ty1)` + `Some(ty2)` if `ty1` == `ty2` = `Some(ty1)`
Otherwise = Unknown

**Related issue:**

 - Closes https://github.com/swc-project/swc/issues/8718
2024-10-14 09:55:53 +09:00
강동윤 (Donny)
30f9a70d57 chore: Publish crates with swc_core v1.0.0
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-10-12 16:20:07 +09:00
강동윤 (Donny)
46f0116d4a chore: Publish crates with swc_core v0.109.2 2024-10-12 16:08:03 +09:00
Austaras
6f52949210
fix(es/minifier): Only merge last if return (#9633)
**Related issue:**
 - Closes https://github.com/swc-project/swc/issues/9628
2024-10-12 16:07:08 +09:00
magic-akari
f74c1f3e5a
fix(es/lints): Correct the false positive error of TS2309 (#9635)
**Related issue:**

- Closes https://github.com/swc-project/swc/issues/9632
2024-10-12 16:05:49 +09:00
Austaras
f2be26efe0
fix(es/codegen): Emit space after div if rhs has leading comment (#9631)
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/9630
2024-10-11 15:48:14 +09:00
강동윤 (Donny)
69f90af682 chore: Publish crates with swc_core v0.109.1
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-10 10:24:43 +09:00
Cong-Cong Pan
9c90a73369
fix(es/codegen): Fix source map so it works with Sentry (#9627)
**Description:**

Fix https://github.com/web-infra-dev/rspack/issues/7914

The following mapping is redundant and causes an error on Sentry.


![image](https://github.com/user-attachments/assets/0d3067d9-6adb-4434-aa84-6ed73a71fdad)

```
Your source map refers to generated column 79 on line 1, but the source only contains 78 column(s) on that line.
```
2024-10-10 10:24:29 +09:00
SWC Bot
ecf5f84685 chore: Publish crates with swc_core v0.109.0 2024-10-08 08:54:41 +00:00
Donny/강동윤
6a3b0fc166
build: Update rustc to nightly-2024-10-07 (#9624) 2024-10-08 15:01:14 +09:00
강동윤 (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