Commit Graph

102 Commits

Author SHA1 Message Date
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
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
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
Gengkun
970cc81033
feat(html/minifier): Support using custom css minifier (#9425)
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:**

Support use a custom css minifier when minimizing html, add `feature =
"custom-css-minifier"` to enable this and remove the dependencies of
`swc_css_*`.
And `feature = "default-css-minifier"` keep the original behavior, using
`swc_css` when minimizing html, and this is the default feature.
(Rspack is now using LightningCSS to minimize CSS files, but the CSS
insides html is still using `swc_css` (which called by
`swc_html_minifier`) to do the minify, so we want to also use
LightningCSS to minify the CSS insides html to keep the consistent with
CSS files)
2024-08-13 10:28:13 +00:00
SWC Bot
47d8faaff6 chore: Publish crates with swc_core v0.100.6 2024-08-12 05:11:10 +00:00
Donny/강동윤
9751518a0a
fix(visit): Fix regression of AST paths (#9420) 2024-08-12 14:09:37 +09:00
SWC Bot
91e32bdbad chore: Publish crates with swc_core v0.100.6 2024-08-12 04:03:24 +00:00
David Sherret
34d1b27251
feat(estree/compat): Remove dependency on rayon (#9393)
Co-authored-by: Donny/강동윤 <kdy1997.dev@gmail.com>
2024-08-12 03:10:24 +00:00
SWC Bot
1c65541392 chore: Publish crates with swc_core v0.100.6 2024-08-09 19:09:34 +00:00
magic-akari
165c8facd4
fix(es/typescript): Update ts-strip type definition (#9415)
**Related issue:**
 - Closes #9413
2024-08-10 04:06:29 +09:00
magic-akari
442fb7b487
fix(es/typescript): Strip this param in getter/setter (#9414) 2024-08-09 18:12:45 +00:00
magic-akari
b395f483d1
fix(es/typescript): Strip exported default overload function declaration (#9412) 2024-08-10 02:41:28 +09:00
magic-akari
8c161a003e
fix(es/typescript): Strip optional mark and definite mark (#9411) 2024-08-10 02:00:14 +09:00
SWC Bot
e697c1c649 chore: Publish crates with swc_core v0.100.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-09 12:46:31 +00:00
magic-akari
124e5ffa7b
fix(es/typescript): Strip class modifiers (#9399)
Co-authored-by: Donny/강동윤 <kdy1997.dev@gmail.com>
2024-08-09 21:43:20 +09:00
SWC Bot
ac7cf0371f chore: Publish crates with swc_core v0.100.4 2024-08-09 05:54:23 +00:00
Donny/강동윤
c977c2bec2
chore(xtask): Make reducing version of swc_core easier (#9406)
**Description:**

This PR
 - makes auto-publish action store the version of `swc_core` in the commit message.
 - fixes `swc_core` version reducing logic.
2024-08-09 14:52:10 +09:00
SWC Bot
91ba0c429c chore: Publish crates 2024-08-09 04:34:50 +00:00
Donny/강동윤
041a7b7ff7
fix(visit): Fix regression (#9404)
**Related issue:**

 - https://github.com/vercel/next.js/pull/68560
2024-08-09 13:33:32 +09:00
SWC Bot
f5dd10024b chore: Publish crates 2024-08-08 06:30:22 +00:00
magic-akari
5c8aa522da
fix(es/typescript): Strip declaration of exported function overloads (#9397)
- Closes https://github.com/swc-project/swc/issues/9396
2024-08-08 06:25:06 +00:00
SWC Bot
5a077e32b9 chore: Publish crates 2024-08-07 20:48:40 +00:00
magic-akari
e24e2ffe59
fix(es/typescript): Enable Injector to process JSX (#9395)
- Closes https://github.com/swc-project/swc/issues/9394
2024-08-08 05:47:12 +09:00
magic-akari
8e49c904d8
chore(es/typescript): Remove unreachable_visit_mut_type (#9390)
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-07 08:35:53 +00:00
SWC Bot
48f109e596 chore: Publish crates 2024-08-07 03:17:07 +00:00
Alex Crawford
f5304761b3
fix(common): Remove unused import (#9387)
Moving the import under the tty-emitter feature fixes the following:

    warning: unused import: `IsTerminal`
      --> /home/user/swc/crates/swc_common/src/errors/emitter.rs:15:28
       |
    15 |     io::{self, prelude::*, IsTerminal},
       |                            ^^^^^^^^^^
       |
       = note: `#[warn(unused_imports)]` on by default

---------

Co-authored-by: Donny/강동윤 <kdy1997.dev@gmail.com>
2024-08-07 12:15:48 +09:00
Alex Crawford
4e854c7996
fix(common): Require newer version of allocator (#9386)
[EqIgnoreSpan](ec03d1ec54/crates/swc_common/src/eq.rs (L4))
uses the nightly_only macro, which was introduced in version 0.1.7 of
swc_allocator. When building with the older version of the allocator,
the following error results:

    error[E0432]: unresolved import `swc_allocator::nightly_only`
     --> /home/user/.cargo/registry/.../swc_common-0.36.3/src/eq.rs:4:5
      |
    4 | use swc_allocator::nightly_only;
      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^ no `nightly_only` in the root

---------

Co-authored-by: Donny/강동윤 <kdy1997.dev@gmail.com>
2024-08-07 11:45:46 +09:00
SWC Bot
35afd135d3 chore: Publish crates 2024-08-06 10:35:22 +00:00
pshu
a538ca1990
chore(common): Remove dbg log (#9384) 2024-08-06 19:34:00 +09:00
SWC Bot
d0ab82dfbd chore: Publish crates 2024-08-06 09:45:44 +00:00
Donny/강동윤
021e41d153
feat(visit): Make kind() accessible without swc_visit (#9382) 2024-08-06 03:48:18 +00:00
SWC Bot
42c1fa782d chore: Publish crates 2024-08-06 00:18:31 +00:00