SWC Bot
2cd893fb8a
chore: Publish crates
2023-11-19 15:13:56 +00:00
Austaras
572ad63e08
fix(es/minifier): Apply new SyntaxContext
to inlined Arrow
correctly ( #8312 )
2023-11-20 00:11:38 +09:00
Donny/강동윤
a0048427dd
test(es/minifier): Update test refs ( #8310 )
2023-11-19 19:16:38 +09:00
SWC Bot
2b368f6731
chore: Publish crates
2023-11-19 06:35:42 +00:00
Zak
fab51e1843
fix(es/proposal): Improve resolving of design:returntype
( #8303 )
...
**Description:**
Emits `'design:returntype'` metadata when using `"decoratorMetadata": true`.
**Related issue:**
- Closes #3319
2023-11-19 15:33:20 +09:00
SWC Bot
f38ad1eeef
chore: Publish crates
2023-11-18 00:03:24 +00:00
Austaras
c18a959e3a
fix(es/minifier): Apply new SyntaxContext
to inlined Arrow
( #8301 )
...
**Related issue:**
- Closes #8288
2023-11-18 09:01:27 +09:00
SWC Bot
2a2b5ee5b1
chore: Publish crates
2023-11-16 08:52:11 +00:00
Donny/강동윤
07c8935904
fix(es/codegen): Fix get_ascii_only_ident
( #8287 )
...
**Related issue:**
- Closes #8260
2023-11-16 08:50:12 +00:00
SWC Bot
9e8fe38d31
chore: Publish crates
2023-11-16 02:03:19 +00:00
David Sherret
369fb21e22
fix(es/codegen): Fix codegen of type args of an import type and a type query ( #8296 )
2023-11-16 02:01:15 +00:00
SWC Bot
c566b73bfb
chore: Publish crates
2023-11-16 00:20:22 +00:00
Donny/강동윤
7985e02fc8
fix(es/minifier): Remove hack for built-in class names ( #8293 )
...
**Description:**
Regarding https://github.com/vercel/next.js/issues/55682 , I made a mistake while investigating. I assumed it's `swcMinify`-only but it seems like `node-fetch` is fundamentally incompatible with our minification options.
I thought `node-fetch` works with terser, but it did not, and it **should not**. But as I thought `terser` works, I assumed that `terser` has a hack for `AbortSignal`. And that's how I fixed `swcMinify: true`. The correct fix is `keep_classnames: true` but it will result in +~10% bundle size bloat.
At first, I used the correct way (`keep_classnames: true`), but it resulted in the bundle size bloat, so I mimicked the hack of terser with https://github.com/vercel/next.js/pull/57904 .
While working on other minification issues, I found that there's no such hack in `terser` and I need to remove the hack in the SWC minifier.
The repro in https://github.com/vercel/next.js/issues/55682 does not work with `swcMinify: false`, even with next@14. The problem of minifier and node-fetch was not exploited before `serverMinification: true`.
**Related issue:**
- https://github.com/brix/crypto-js/issues/415
2023-11-16 09:17:42 +09:00
SWC Bot
666c843e7e
chore: Publish crates
2023-11-15 23:38:46 +00:00
David Sherret
25ac679bd3
build(es): Remove duplicate phf
dependency ( #8294 )
2023-11-15 23:36:38 +00:00
SWC Bot
c03f84e54e
chore: Publish crates
2023-11-15 22:45:18 +00:00
David Sherret
66a4d37031
build(common): Remove dependency on string-cache
( #8291 )
2023-11-15 22:43:22 +00:00
SWC Bot
99617848ef
chore: Publish crates
2023-11-15 22:04:42 +00:00
Zak
7d1836de3f
perf(es/minifier): Improve format.inline_script
( #8292 )
2023-11-15 22:02:29 +00:00
SWC Bot
36fdb179e4
chore: Publish crates
2023-11-15 17:49:24 +00:00
David Sherret
7bbe5e67d9
refactor: Remove swc_ecma_dep_graph
( #8290 )
2023-11-15 17:47:16 +00:00
SWC Bot
3bbd340205
chore: Publish crates
2023-11-15 01:09:49 +00:00
Austaras
73fec945b5
fix(es/minifier): Make Finalizer
inline literals ( #8285 )
...
**Related issue:**
- Closes #8284
2023-11-15 01:07:37 +00:00
SWC Bot
f86c12b0b4
chore: Publish crates
2023-11-14 21:39:03 +00:00
bohan
f059270348
feat(es/minifier): Support format.inline_script
( #8252 )
2023-11-14 21:37:05 +00:00
SWC Bot
5fed604276
chore: Publish crates
2023-11-14 20:02:17 +00:00
Donny/강동윤
1ccfc0762c
fix(es/minifier): Respect pure_funcs
for tagged tpls ( #8280 )
...
**Related issue:**
- Closes #8275 .
2023-11-14 19:59:15 +00:00
SWC Bot
2f6af92232
chore: Publish crates
2023-11-14 16:47:24 +00:00
Austaras
65c3d0e3f4
feat(es/minifier): Swap bin expr to save paren ( #8277 )
2023-11-14 16:45:24 +00:00
SWC Bot
aa36a53c42
chore: Publish crates
2023-11-14 16:01:17 +00:00
Austaras
20fb5bab32
fix(es/minifier): Keep class with a static block ( #8283 )
...
**Related issue:**
- Closes #8271 .
2023-11-15 00:59:14 +09:00
SWC Bot
656e13143c
chore: Publish crates
2023-11-13 22:55:08 +00:00
SWC Bot
9c438692c6
chore: Publish crates
2023-11-13 10:03:57 +00:00
magic-akari
c1281534b6
fix(es/parser): Fix ASI hazard of static
( #8262 )
...
**Related issue:**
- Closes #8253
2023-11-13 10:02:02 +00:00
SWC Bot
35b95ae430
chore: Publish crates
2023-11-13 03:50:20 +00:00
Austaras
ebcd825225
fix(es/minifier): Enable seq inliner for const declarations ( #8255 )
2023-11-13 03:47:49 +00:00
SWC Bot
07cc635489
chore: Publish crates
2023-11-11 19:12:50 +00:00
Donny/강동윤
9a0572b968
refactor(swc_node_base): Rename to swc_malloc
( #8272 )
...
**Description:**
This is quite convinient.
2023-11-11 19:10:56 +00:00
SWC Bot
14a6bf0747
chore: Publish crates
2023-11-11 17:27:26 +00:00
Donny/강동윤
ee0c12e4e7
chore(ci): Fix CI ( #8267 )
2023-11-12 02:25:36 +09:00
SWC Bot
2ef3de0021
chore: Publish crates
2023-11-10 13:10:36 +00:00
Donny/강동윤
0678c3c55f
fix(es/parser): Adjust the context for cond expr while parsing JSX ( #8261 )
...
**Related issue:**
- Closes #8243 .
2023-11-10 13:07:53 +00:00
SWC Bot
6383ac443d
chore: Publish crates
2023-11-10 12:34:31 +00:00
Donny/강동윤
e58912622d
fix(es/parser): Consider ASI while parsing TypeScript type aliases ( #8263 )
...
**Related issue:**
- Closes #8073 .
2023-11-10 12:31:55 +00:00
SWC Bot
e0525b595e
chore: Publish crates
2023-11-10 02:30:21 +00:00
magic-akari
6992d83d09
fix(es/decorators): Minimize class declarations transformation ( #8245 )
2023-11-10 02:27:01 +00:00
SWC Bot
ac80d7a93c
chore: Publish crates
2023-11-10 00:33:30 +00:00
Donny/강동윤
0faa2c4a01
fix(es/codegen): Check for trailing comments while emitting an arrow ( #8257 )
...
**Description:**
This PR also **fixes** the `Default` implementation of `JsMinifyFormatOptions`. It didn't matched the default value when it's used with `serde::Deserialize`.
**Related issue:**
- Closes #8251
2023-11-10 00:30:28 +00:00
SWC Bot
665d679c69
chore: Publish crates
2023-11-09 21:53:21 +00:00
Donny/강동윤
302954e4e5
perf(css/parser): Use AtomStoreCell
( #8247 )
2023-11-10 06:50:33 +09:00
SWC Bot
cb44d3fc33
chore: Publish crates
2023-11-09 12:01:47 +00:00
Donny/강동윤
be748f0f33
fix(es/minifier): Use cooked
while converting tpls into strings ( #8248 )
...
**Related issue:**
- Closes #8228
2023-11-09 11:59:42 +00:00
강동윤 (Donny)
60455b0e3a
chore: Publish crates
2023-11-09 15:12:15 +09:00
SWC Bot
2d2ad1e9a1
chore: Publish crates
2023-11-09 03:48:08 +00:00
Donny/강동윤
9a4bad4e9e
refactor(atoms): Improve APIs ( #8249 )
2023-11-09 03:45:59 +00:00
SWC Bot
2effaf6f43
chore: Publish crates
2023-11-09 01:01:47 +00:00
David Sherret
a5a6eb53a5
perf(atoms): Introduce AtomStoreCell
( #8232 )
2023-11-09 09:59:20 +09:00
SWC Bot
cbc01acac8
chore: Publish crates
2023-11-07 12:41:57 +00:00
Donny/강동윤
a3c03b30fb
perf(css/parser): Use AtomStore
( #8238 )
...
**Related issue:**
- Closes #8237 .
2023-11-07 21:38:54 +09:00
SWC Bot
4c2547adf2
chore: Publish crates
2023-11-07 09:55:14 +00:00
Donny/강동윤
c01454ad41
perf(atoms): Update hstr
to make global APIs fast ( #8241 )
...
**Related issue:**
- https://github.com/dudykr/ddbase/pull/14
2023-11-07 18:52:21 +09:00
SWC Bot
8aee432c69
chore: Publish crates
2023-11-07 09:36:20 +00:00
Niklas Mischkulnig
f9f305cc5f
build(preset-env/base): Upgrade browserslist-rs
to v0.13.0
( #8229 )
...
**Description:**
Upgrade browserslist-rs, there was a major version change because wasm-pack functionality was split out into a feature:
https://github.com/browserslist/browserslist-rs/compare/v0.12.4...v0.13.0
---------
Co-authored-by: 강동윤 (Donny) <kdy1997.dev@gmail.com>
2023-11-07 09:33:16 +00:00
SWC Bot
a072819859
chore: Publish crates
2023-11-07 08:55:03 +00:00
David Sherret
37657b8bd5
perf(es/lexer): Remove needless clones of Rc<RefCell<AtomStore>>
( #8231 )
...
Removes some clones of `self.atom`.
`> cargo "bench" "--package" "swc_ecma_parser" "--bench" "parser" "--" "three"`
Main: ~38.2ms
This PR: ~37.8ms
2023-11-07 08:52:14 +00:00
SWC Bot
09b3003e58
chore: Publish crates
2023-11-07 00:54:18 +00:00
Donny/강동윤
aa22746d03
perf(atoms): Replace string-cache
with hstr
( #8126 )
...
**Description:**
`hstr` is an alternative for `string-cache` which does not support static strings and does not use a global mutex.
**Related issue:**
- Closes #4946 .
- Closes #7974 .
2023-11-07 00:51:43 +00:00
SWC Bot
86e83335eb
chore: Publish crates
2023-11-06 10:47:53 +00:00
Donny/강동윤
d4ae44ac45
perf(es/parser): Use smarter lookup table for lexer ( #8226 )
...
**Description:**
`phf` is slower than expected.
2023-11-06 19:45:46 +09:00
SWC Bot
f00238d543
chore: Publish crates
2023-11-06 10:00:55 +00:00
Austaras
495268f126
chore(bindings/node): Upgrade jemalloc ( #8227 )
...
**Description:**
To get rid of rustc warning.
2023-11-06 09:57:49 +00:00
SWC Bot
b070ffe425
chore: Publish crates
2023-11-06 05:31:11 +00:00
Donny/강동윤
e3e439dba6
perf(es/parser): Improve performance ( #8224 )
...
**Description:**
Small things
2023-11-06 05:28:30 +00:00
SWC Bot
1f3726dc64
chore: Publish crates
2023-11-06 04:49:46 +00:00
Donny/강동윤
b745ed7ac8
perf(es/minifier): Remove needless operations for char freq analysis ( #8222 )
...
**Description:**
This skips a string search operation, which is quite costly, without affecting the output.
2023-11-06 13:46:43 +09:00
SWC Bot
48e5c9ad54
chore: Publish crates
2023-11-06 04:18:48 +00:00
Donny/강동윤
3833cf4e55
perf(es/parser): Remove needless strcmp
ops ( #8223 )
...
**Description:**
## The current `main`
```
es/parser/angular time: [7.9848 ms 8.0003 ms 8.0243 ms]
```
## This PR
```
es/parser/angular time: [7.3380 ms 7.3498 ms 7.3663 ms]
```
2023-11-06 13:16:35 +09:00
SWC Bot
968345b7f6
chore: Publish crates
2023-11-06 00:54:22 +00:00
Donny/강동윤
02cd7c2608
fix(css/modules): Fix handling of :global()
selector ( #8219 )
...
**Related issue:**
- Closes #8179
2023-11-06 00:51:09 +00:00
SWC Bot
edb46c3c71
chore: Publish crates
2023-11-04 21:49:01 +00:00
Donny/강동윤
14ea705f27
build(cargo): Update rustc to nightly-2023-11-04
( #8221 )
...
**Breaking Changes**:
- `Mark::default()` is now identical as `Mark::new()`.
**Description:**
I want to see if inlining is improved
2023-11-04 21:47:10 +00:00
SWC Bot
1095bff35a
chore: Publish crates
2023-11-04 08:28:24 +00:00
bohan
67e2c4a4fd
perf(es): Delete useless partition and extend in comments ( #8214 )
...
I've used `bizcharts` as a benchmark, and:
before this PR 17s:
<img width="288" alt="image"
src="https://github.com/web-infra-dev/rspack/assets/30187863/35232863-247a-4825-a08f-977de46e7216 ">
after this PR 1.7s:
<img width="585" alt="image"
src="https://github.com/swc-project/swc/assets/30187863/b802abf0-d699-45c7-b9f3-2f52192f7477 ">
You can get more info at
https://github.com/web-infra-dev/rspack/issues/4525
2023-11-04 08:26:25 +00:00
SWC Bot
71448552e5
chore: Publish crates
2023-11-04 04:19:10 +00:00
Donny/강동윤
1a26be2a27
feat(es/codegen): Respect ascii_only: false
for StrLit
( #8217 )
...
**Related issue:**
- Closes #8189
2023-11-04 04:15:58 +00:00
SWC Bot
34e7c32085
chore: Publish crates
2023-11-04 02:16:21 +00:00
magic-akari
a00f575837
perf(es/typescript): Visit ts import/export only once ( #8213 )
...
**Description:**
Move `visit_mut_for_ts_import_export` into `visit_mut_module` to make sure we only visit the top-level items.
2023-11-04 02:13:27 +00:00
SWC Bot
4594a7bea4
chore: Publish crates
2023-11-04 01:37:57 +00:00
Donny/강동윤
aeb9cafd11
fix(css/modules): Allow out-of-order class names for composes
( #8218 )
...
**Related issue:**
- Closes #7910
2023-11-04 01:35:59 +00:00
강동윤 (Donny)
808547f592
chore: Publish crates
2023-11-04 06:42:43 +09:00
SWC Bot
5bdd8fd9e7
chore: Publish crates
2023-11-02 23:31:51 +00:00
Donny/강동윤
47733a951c
fix(es/react): Visit children nodes in jsx-src
pass ( #8212 )
...
**Related issue:**
- Closes #8210
2023-11-03 08:29:16 +09:00
SWC Bot
2b35e6c159
chore: Publish crates
2023-11-02 22:20:35 +00:00
Donny/강동윤
83a5a0c612
fix(es/compat): Handle private names from class properties pass ( #8090 )
...
**Related issue:**
- Closes #7561
- https://github.com/vercel/next.js/issues/56612
2023-11-02 22:18:17 +00:00
SWC Bot
407aa63cea
chore: Publish crates
2023-11-02 21:40:11 +00:00
magic-akari
abced23b2a
fix(es/typescript): Preserve const enum for named export ( #8208 )
...
**Related issue:**
- Closes : #8204
2023-11-02 21:38:14 +00:00
SWC Bot
f721814fea
chore: Publish crates
2023-11-02 03:32:27 +00:00
Donny/강동윤
c061356b63
fix(es/transforms): Do not add PURE
comment to BytePos(0)
( #8207 )
...
**Related issue:**
- https://github.com/vercel/next.js/pull/57904 (CI failed)
2023-11-02 03:29:59 +00:00
SWC Bot
e87a45bd67
chore: Publish crates
2023-11-02 00:02:22 +00:00
Donny/강동윤
dd805e95a4
feat(es/minifier): Respect inline level and preserve native names ( #8205 )
...
**Description:**
Note: Preserving native names is a hack, but it's used by `terser` and it's the only way to preserve the name of `class AbortSignal` while mangling without `keep_classnames: true`. We can special case `AbortSignal`, but let's just follow `terser`.
**Related issue:**
- https://github.com/vercel/next.js/pull/57904
2023-11-02 08:59:59 +09:00
SWC Bot
d3ce0f1245
chore: Publish crates
2023-11-01 13:46:52 +00:00
Donny/강동윤
c1b255a59c
fix(es/compat): Use dummy span for blocks in parameters
( #8202 )
...
**Related issue:**
- Closes #8199
2023-11-01 13:43:53 +00:00
SWC Bot
9588088b37
chore: Publish crates
2023-10-31 09:29:46 +00:00
SWC Bot
6a9b6f6732
chore: Publish crates
2023-10-30 08:49:00 +00:00
Donny/강동윤
3dc4e1e02d
feat(es/preset-env): Update compat data ( #8194 )
...
**Related issue:**
- Closes #8193 .
2023-10-30 08:46:24 +00:00
SWC Bot
7cfa3213fb
chore: Publish crates
2023-10-30 05:11:33 +00:00
Donny/강동윤
b13bc32027
fix(es/compat): Make block-scoping
pass rename exports correctly ( #8175 )
...
**Related issue:**
- Closes #8148
2023-10-30 05:08:27 +00:00
SWC Bot
b77d99d4b8
chore: Publish crates
2023-10-30 01:41:47 +00:00
Donny/강동윤
0aafa75fef
feat(es/testing): Use __swc_snapshots__
for test!
macro ( #8191 )
...
**Description:**
This implements something similar to `__snapshots__` of `jest`. Instead of storing the expected result as a string literal, we now store it in `$crate/tests/__swc_snapshots__/$path_to_test__$test_name.js`.
**Related issue:**
- Closes #4509
2023-10-30 10:38:59 +09:00
SWC Bot
595a6f78ea
chore: Publish crates
2023-10-29 22:37:25 +00:00
SWC Bot
a78b486d76
chore: Publish crates
2023-10-29 22:28:09 +00:00
Donny/강동윤
e9606147fc
feat(es/testing): Support babel-like fixture testing officially ( #8190 )
2023-10-30 07:24:49 +09:00
강동윤 (Donny)
b74ef5a807
chore: Publish crates
2023-10-27 22:23:14 -07:00
SWC Bot
352208548d
chore: Publish crates
2023-10-27 18:18:40 +00:00
Austaras
bb02cdd26e
refactor(es/minifier): Simplify analyzer context ( #8164 )
2023-10-27 18:16:00 +00:00
SWC Bot
67b0a7f258
chore: Publish crates
2023-10-25 23:01:44 +00:00
Donny/강동윤
7530e9051d
perf(es/minifier): Add has_flag
to Comments
( #8182 )
2023-10-25 22:59:03 +00:00
강동윤 (Donny)
dc21f79176
chore: Publish crates
2023-10-24 04:32:08 -07:00
SWC Bot
19ccd66d89
chore: Publish crates
2023-10-24 00:04:34 +00:00
Donny/강동윤
5ca3b63582
build(deps): Update ahash
( #8174 )
2023-10-24 00:01:58 +00:00
SWC Bot
5450f5808a
chore: Publish crates
2023-10-23 22:03:16 +00:00
Donny/강동윤
9ceb57b4c7
fix(es/compat): Don't add pure annotations to dummy spans ( #8172 )
...
**Related issue:**
- Closes #8155 .
- Closes #8173 .
2023-10-23 15:00:35 -07:00
SWC Bot
7747dbd499
chore: Publish crates
2023-10-23 21:26:12 +00:00
Austaras
c26a2252b6
fix(es/minifier): Always consider reassigned
when inlining ( #8168 )
...
**Related issue:**
- Closes #8161 .
2023-10-23 21:23:29 +00:00
SWC Bot
76ba2434de
chore: Publish crates
2023-10-23 20:42:56 +00:00
David Sherret
02d0613a35
fix(es/typescript): Support ts_enum_is_mutable
with const enums ( #8171 )
2023-10-23 13:40:16 -07:00
강동윤 (Donny)
5c8a14bd69
chore: Publish crates
2023-10-21 04:37:40 -07:00
SWC Bot
cf92d8fbe7
chore: Publish crates
2023-10-21 11:36:36 +00:00
SWC Bot
366d9eb514
chore: Publish crates
2023-10-20 21:35:19 +00:00
Donny/강동윤
5be8e74ee0
chore(es/module): Remove serde(deny_unknown_fields)
( #8163 )
...
**Related issue:**
- Closes #7979
2023-10-20 21:32:34 +00:00
SWC Bot
6f9c6424d7
chore: Publish crates
2023-10-20 13:33:17 +00:00
Donny/강동윤
826386f49a
fix(es/parser): Skip this
parameters in setter ( #8158 )
...
**Description:**
This is not a proper fix, but let's wait for the conf.
**Related issue:**
- Closes #8156
2023-10-20 13:30:40 +00:00
SWC Bot
b806f925f1
chore: Publish crates
2023-10-20 06:09:49 +00:00
Donny/강동윤
08cf1f786d
fix(es/utils): Fix regression of RefRewriter
( #8153 )
...
**Related issue:**
- Found while investigating https://github.com/swc-project/swc-ecosystem-ci/actions/runs/6581045465/job/17880208108
2023-10-20 06:07:17 +00:00
SWC Bot
4a1a233db8
chore: Publish crates
2023-10-19 21:08:38 +00:00
Donny/강동윤
8a461b8957
feat(es/minifier): Drop empty static blocks ( #8152 )
...
**Related issue:**
- Closes #8136
2023-10-19 21:06:12 +00:00
SWC Bot
64bddc110e
chore: Publish crates
2023-10-19 20:24:12 +00:00
Donny/강동윤
35601e4dcb
fix(es/minifier): Abort function inliner if keep_fnames
is true
( #8145 )
...
**Related issue:**
- https://github.com/vercel/next.js/issues/56408
2023-10-19 20:20:54 +00:00
SWC Bot
9e71134b3c
chore: Publish crates
2023-10-19 19:40:19 +00:00
Austaras
13106e0d2e
refactor(es/minifier): Decouple assign_count
from reassigned
( #8137 )
2023-10-19 19:37:37 +00:00
SWC Bot
a18ffc107f
chore: Publish crates
2023-10-19 17:13:59 +00:00
pshu
8d7894c71f
fix(css/ast): Make .hash()
of Token
not recursive ( #8151 )
2023-10-19 17:10:48 +00:00
SWC Bot
0b6f2b4fe9
chore: Publish crates
2023-10-18 18:00:42 +00:00
magic-akari
e186b80ddc
feat(es/compat): Skip empty class static blocks ( #8138 )
...
**Description:**
And update the `static_block_private_id` generate rules to be consistent with Babel.
**Related issue:**
- #8136
2023-10-18 17:58:02 +00:00
SWC Bot
34b01672ad
chore: Publish crates
2023-10-18 04:24:27 +00:00
David Sherret
bffe33a270
feat(es/parser): Implement AsRef<str>
for IdentLike
( #8133 )
2023-10-18 04:22:03 +00:00
SWC Bot
5bb63aa2a2
chore: Publish crates
2023-10-18 03:47:26 +00:00
Donny/강동윤
111de264b0
fix(es/minifier): Abort seq inliner if b
can short-circuit ( #8128 )
...
**Related issue:**
- Closes #8119
2023-10-18 03:44:36 +00:00
SWC Bot
736831cb68
chore: Publish crates
2023-10-18 03:10:04 +00:00
Austaras
4f67794223
feat(es/minifier): Inline into the arguments of new
using seq inliner ( #8127 )
2023-10-18 03:07:14 +00:00
SWC Bot
dc337d59f1
chore: Publish crates
2023-10-16 22:11:45 +00:00
SWC Bot
9b27a41b76
chore: Publish crates
2023-10-16 20:41:20 +00:00
Alessandro Chitolina
9c029ef095
feat(es/compat): Implement decorator metadata proposal ( #8097 )
...
**Description:**
This PR implements the [decorator
metadata](https://github.com/tc39/proposal-decorator-metadata ) proposal,
that is now at Stage 3.
As the decorator metadata proposal is a small extension of the decorator
proposal and is not possible to compile the metadata without transpiling
decorators, I opted to implement it into the existing decorator
transformer (and helper)
**Related issue:**
- Closes #7957
2023-10-16 20:38:53 +00:00
SWC Bot
f81ca2c795
chore: Publish crates
2023-10-15 10:27:05 +00:00
magic-akari
fb81a36adc
fix(es/utils): Skip var declarator name in RefRewriter
( #8125 )
...
**Related issue:**
- Closes #8124
2023-10-15 10:24:40 +00:00
SWC Bot
3bca931560
chore: Publish crates
2023-10-15 08:25:08 +00:00
David Sherret
57b171dcbe
feat(es/typescript): Add ts_enum_is_mutable
to disable enum inlining ( #8115 )
...
**Related issue:**
- Closes #8114 .
2023-10-15 08:22:47 +00:00
SWC Bot
06a2b44499
chore: Publish crates
2023-10-13 06:10:04 +00:00
magic-akari
7da3f52485
feat(es/minifier): Evaluate more toFixed
expressions ( #8109 )
2023-10-13 15:07:00 +09:00
강동윤 (Donny)
787a465d8d
chore: Publish crates
2023-10-13 12:28:41 +09:00
SWC Bot
a1d7ea7899
chore: Publish crates
2023-10-13 02:52:46 +00:00
Donny/강동윤
affb6fb5e3
refactor(es/compat): Split swc_ecma_transforms_compat
( #8110 )
...
**Description:**
- New: `cargo build --release 478.59s user 19.16s system 814% cpu 1:01.09 total`
- Prev: `cargo build --release 495.60s user 18.89s system 742% cpu 1:09.26 total`
2023-10-12 10:08:00 +00:00
SWC Bot
04932acc02
chore: Publish crates
2023-10-12 04:06:44 +00:00
Donny/강동윤
95eb147742
refactor(es/preset-env): Rename parameter to avoid confusion ( #8106 )
...
**Related issue:**
- Closes #8103
2023-10-12 04:04:10 +00:00
SWC Bot
1bb2491368
chore: Publish crates
2023-10-12 03:28:23 +00:00
Donny/강동윤
fe0bf5746f
chore(ci): Fix CI action ( #8107 )
2023-10-12 03:26:04 +00:00
SWC Bot
1364c568e1
chore: Publish crates
2023-10-12 00:42:04 +00:00
Donny/강동윤
94bb42e294
fix(es/minifier): Don't inline functions if keep_fnames
is enabled ( #8093 )
...
**Related issue:**
- https://github.com/vercel/next.js/issues/56550
2023-10-12 00:39:19 +00:00
SWC Bot
6828fdbee5
chore: Publish crates
2023-10-11 22:50:49 +00:00
SWC Bot
a25fff5c46
chore: Publish crates
2023-10-11 18:35:43 +00:00
Donny/강동윤
cb4361f293
fix(es/decorators): Fix a regression about class expressions ( #8102 )
...
**Related issue:**
- Closes #8095
2023-10-11 16:45:21 +00:00
SWC Bot
1183c32e3c
chore: Publish crates
2023-10-11 14:05:36 +00:00
Donny/강동윤
e1043fae77
fix(es/parser): Fix parsing of await using
( #8101 )
...
**Related issue:**
- Closes #8096
2023-10-11 14:03:08 +00:00
SWC Bot
17fe7b29c5
chore: Publish crates
2023-10-11 12:44:18 +00:00
Donny/강동윤
226b17fa86
chore(ci): Remove unused concurrency tests ( #8100 )
2023-10-11 21:40:49 +09:00
SWC Bot
8a07681f78
chore: Publish crates
2023-10-11 12:26:14 +00:00
magic-akari
bf523f5351
fix(es/compat): Handle export default decorator only if not empty ( #8099 )
...
**Related issue:**
- Closes : #8098
2023-10-11 12:24:22 +00:00
SWC Bot
3dc761ab47
chore: Publish crates
2023-10-11 05:23:36 +00:00
SWC Bot
77d34014c7
chore: Publish crates
2023-10-10 14:21:09 +00:00
Donny/강동윤
a2d077958f
chore(es/minifier): Fix script for extracting test cases from next.js app ( #8092 )
2023-10-10 23:18:39 +09:00
SWC Bot
7e4b2490e8
chore: Publish crates
2023-10-10 11:44:33 +00:00
Donny/강동윤
d1097ccb59
feat(css/parser): Store lexed comments ( #8091 )
...
**Description:**
For now, we leave every comment as a leading comment. As logic for determining leading vs trailing is quite complex, I'll do it with another PR.
2023-10-10 11:42:20 +00:00
SWC Bot
4453d1b0a8
chore: Publish crates
2023-10-10 06:49:24 +00:00
SWC Bot
f44205bd57
chore: Publish crates
2023-10-10 04:10:33 +00:00
magic-akari
a912937cea
fix(es/compat): Handle __proto__
edge case in shorthand
pass ( #8077 )
...
**Related issue:**
- https://github.com/babel/babel/pull/12664
2023-10-10 04:08:45 +00:00
SWC Bot
ed648337f1
chore: Publish crates
2023-10-08 02:05:49 +00:00
SWC Bot
34e03c4661
chore: Publish crates
2023-10-08 00:41:50 +00:00
Donny/강동윤
84cec8766d
refactor(atoms): Remove usage of js_word!
to drop string-cache
( #7976 )
...
**Description:**
This PR is to prepare removal of `string-cache`. Actually, this PR does not remove it. Instead, this PR only removes direct usages of `js_word!`s, especially in patterns.
**Related issue:**
- #4946 .
2023-10-08 00:39:51 +00:00
SWC Bot
d716dc823b
chore: Publish crates
2023-10-07 14:22:43 +00:00
magic-akari
1346528477
fix(es/helpers): Override mistake in _interop_require_wildcard
( #8076 )
...
**Related issue:**
- https://github.com/babel/babel/issues/15995
2023-10-07 14:20:39 +00:00
SWC Bot
4843266545
chore: Publish crates
2023-10-06 14:46:52 +00:00
Donny/강동윤
a5621bb30a
chore(xtask): Migrate scripts to xtask ( #8072 )
...
This PR adds
- `xtask clean`
- `xtask bench`
2023-10-06 14:44:53 +00:00
SWC Bot
5c6c82bc6a
chore: Publish crates
2023-10-06 12:41:57 +00:00
Edward Faulkner
6f45b4693e
fix(es/codegen): Fix codegen of type-only imports ( #8070 )
2023-10-06 12:39:56 +00:00
SWC Bot
a6527bf9ab
chore: Publish crates
2023-10-06 00:12:18 +00:00
Donny/강동윤
9b9bc51c28
refactor(es/parser): Introduce TokenKind
along with Token
( #8071 )
...
**Description:**
This is extracted from https://github.com/swc-project/swc/pull/7790 because this PR is extremely large PR. I'll switch to `TokenKind` gradually.
2023-10-06 00:09:48 +00:00
SWC Bot
da9bee9776
chore: Publish crates
2023-10-05 09:17:21 +00:00
magic-akari
3e5b062cd2
refactor(es/module): Reimplement some functions of module/typescript ( #8063 )
2023-10-05 09:15:27 +00:00
SWC Bot
70ec648a63
chore: Publish crates
2023-10-05 08:36:48 +00:00
강동윤 (Donny)
a35fed015f
chore: Publish crates
2023-10-05 16:29:43 +09:00
SWC Bot
0edd36842b
chore: Publish crates
2023-10-03 16:49:03 +00:00
SWC Bot
89676946e6
chore: Publish crates
2023-10-03 06:04:32 +00:00
Donny/강동윤
8318ea82c2
fix(es/compat): Use async
and await
correctly in block-scoping
pass ( #8056 )
...
**Related issue:**
- Closes #7989
2023-10-03 06:02:42 +00:00
SWC Bot
4abfbaacc4
chore: Publish crates
2023-10-03 03:35:46 +00:00
SWC Bot
b3a59613ab
chore: Publish crates
2023-10-02 17:32:00 +00:00
Alessandro Chitolina
a751f1cfaf
fix(es/compat): Transform default-exported class decorators correctly ( #8050 )
...
**Description:**
Process decorators on the class expression on `export default` declaration and ensure to execute tests for the feature.
**Related issue:**
- Closes #8049
2023-10-02 17:30:13 +00:00
SWC Bot
c53a655154
chore: Publish crates
2023-10-02 16:45:51 +00:00
magic-akari
4d8e1013bb
fix(es/module): Handle directives ( #8048 )
...
**Related issue:**
- Closes : #8047
2023-10-02 16:44:05 +00:00
SWC Bot
92c6be7681
chore: Publish crates
2023-10-02 15:48:04 +00:00
Donny/강동윤
f717cf21cc
refactor(cli): Make CLI testable/managable with swc-bump
( #8045 )
...
**Description:**
It was hard to maintain CLI because actual logic was in `./bindings`.
2023-10-02 15:46:14 +00:00
SWC Bot
2bf935c68b
chore: Publish crates
2023-10-02 06:18:14 +00:00
Donny/강동윤
96a7a4d045
fix(es/compat): Fix scoping of explicit-resource-management
( #8044 )
...
**Related issue:**
- Closes #8020
2023-10-02 06:16:08 +00:00
Donny/강동윤
f2bc6a3fcc
chore(ci): Prepare multi-package repository ( #8043 )
2023-10-02 04:41:21 +00:00
강동윤 (Donny)
13161c45cd
chore: Publish crates
2023-10-01 20:52:47 +09:00
SWC Bot
203b2297c3
chore: Publish crates
2023-09-30 11:42:29 +00:00
Austaras
01391e3c13
fix(es/minifier): Check if object shorthand is skippable for seq inliner ( #8036 )
...
**Related issue:**
- Closes #7984
2023-09-30 11:40:46 +00:00
SWC Bot
3fd6f64e60
chore: Publish crates
2023-09-29 21:35:08 +00:00
Austaras
06b6eb9999
fix(es/compat): Generate OptCall
for OptCall
for private fields ( #8031 )
...
**Related issue:**
- Closes #8003
2023-09-29 21:32:48 +00:00
SWC Bot
8f445f49c9
chore: Publish crates
2023-09-29 20:54:50 +00:00
SWC Bot
5283e5bf82
chore: Publish crates
2023-09-29 20:36:29 +00:00
magic-akari
cf96171a53
fix(es/typescript): Preserve default value of an exported binding in a namespace ( #8029 )
...
**Related issue:**
- Closes : #8025
2023-09-29 20:34:24 +00:00
SWC Bot
d35de6444e
chore: Publish crates
2023-09-29 19:53:01 +00:00
SWC Bot
537932b581
chore: Publish crates
2023-09-29 19:48:02 +00:00
SWC Bot
90387bb340
chore: Publish crates
2023-09-29 14:50:45 +00:00
Donny/강동윤
a13f5cbe03
refactor(es): Extract parser/codegen code for swc::Compiler
( #8030 )
2023-09-29 14:48:31 +00:00
SWC Bot
920362685b
chore: Publish crates
2023-09-29 11:01:28 +00:00
Donny/강동윤
725f7f5bda
refactor(es/minifier): Move JS options to swc_ecma_minifier
( #8028 )
...
**Description:**
This is not a public API, though.
2023-09-29 10:59:43 +00:00
SWC Bot
2153c05c66
chore: Publish crates
2023-09-29 10:27:04 +00:00
magic-akari
990ca06aca
fix(es/module): Sort the exported ESM bindings ( #8024 )
...
**Related issue:**
- Closes : #8023
2023-09-29 10:25:22 +00:00
SWC Bot
83f77ddfce
chore: Publish crates
2023-09-29 08:49:57 +00:00
SWC Bot
632a63a46e
chore: Publish crates
2023-09-27 23:30:11 +00:00
jrandolf
38bc71006e
fix(es/compat): Use return statements for method and setter decorator ( #8017 )
...
**Description:**
This aligns with other implementations such as TypeScript's and correctly implements the currently proposed behavior.
**Related issue:**
- Closes #8015 .
2023-09-27 23:27:57 +00:00
SWC Bot
0871d4e0f0
chore: Publish crates
2023-09-27 14:36:52 +00:00
magic-akari
58172689ce
fix(es/typescript): Rename wrong unresolved_mark
( #8018 )
...
**Related issue:**
- Closes : #8016
2023-09-27 14:34:59 +00:00
강동윤 (Donny)
8231f874e7
chore: Publish crates
2023-09-27 10:13:08 +09:00
SWC Bot
0e24dc9c74
chore: Publish crates
2023-09-27 00:57:21 +00:00
magic-akari
2f01aba978
fix(es/typescript): Handle qualified access in assign pat ( #8012 )
...
**Related issue:**
- Closes #8011
- https://github.com/swc-project/swc/discussions/5186
2023-09-27 00:55:22 +00:00
SWC Bot
7c227870c8
chore: Publish crates
2023-09-26 23:39:31 +00:00
magic-akari
9d08b8a614
fix(es/typescript): Handle DeclareCollect
correctly ( #8008 )
...
**Related issue:**
- Closes #8007
2023-09-26 23:37:28 +00:00
SWC Bot
78e12595a4
chore: Publish crates
2023-09-26 03:59:50 +00:00
Donny/강동윤
f07bb482e6
fix(es/codegen): Fix codegen of optional chaining expr with a comment ( #8005 )
...
**Related issue:**
- Closes #8004
2023-09-26 03:58:02 +00:00
SWC Bot
b74a9f4357
chore: Publish crates
2023-09-25 23:38:00 +00:00
Donny/강동윤
39c680d814
fix(es/codegen): Fix codegen of unicode surrogates ( #7985 )
...
**Description:**
x-ref: https://vercel.slack.com/archives/C02HY34AKME/p1695334071194139
Reproduction: https://github.com/kdy1/repro-test-mdx-korean
Regression of next.js: `v13.4.11`(swc_core@v0.79.13 ) => `v13.5.2`
(swc_core@v0.83.12 )
- `next@v13.4.19` works (swc_core@v0.79.59 )
- `next@v13.4.20-canary.3` works (swc_core@v0.79.70 )
- **`next@v13.4.20-canary.32` fails** (swc_core@v0.83.12 )
Commit range:
662f236aa5...e67bf05f9d
- `swc_core@v0.79.70`:
662f236aa5
- `swc_core@v0.83.12`:
e67bf05f9d
Diff: https://gist.github.com/kdy1/047e7e5537c34180d446cb3d5b95fce8
---
I did more investigation by monkey-patching the `next` package.
`.minify()` resolved without an exception.
It means that `.minify()` is producing an invalid ES code.
So... candidates are
- https://github.com/swc-project/swc/pull/7890
- https://github.com/swc-project/swc/pull/7876
- https://github.com/swc-project/swc/pull/7858
- https://github.com/swc-project/swc/pull/7856
- https://github.com/swc-project/swc/pull/7853
- https://github.com/swc-project/swc/pull/7832
2023-09-25 23:36:05 +00:00
강동윤 (Donny)
243d68d8dc
chore: Publish crates
2023-09-25 22:24:43 +09:00
SWC Bot
5a94ff1083
chore: Publish crates
2023-09-25 04:04:09 +00:00
magic-akari
d91a554033
fix(es/compat): Skip function scope in block-scoped-fns
pass ( #7975 )
...
**Related issue:**
- Closes : #2793
2023-09-25 04:02:09 +00:00
SWC Bot
e146ff7d8e
chore: Publish crates
2023-09-25 01:42:53 +00:00
magic-akari
9c9a538f23
refactor(es/typescript): Reimplement TypeScript pass ( #7202 )
...
**Description:**
## Bugfixes
- Exported `let`/`var` declarations in TypeScript namespaces should be mutable.
- Fix missing declaration of complex exported patterns in TypeScript namespaces.
- Preserve concrete TS namespaces.
## New Features
- Introducing [Verbatim Module Syntax](https://www.typescriptlang.org/tsconfig#verbatimModuleSyntax ).
- Enum value will now be inlined whenever possible within a single module, optimizing runtime performance.
- Constant enums will be automatically eliminated when feasible, This can reduce bundle size.
- Added support for cross-referencing enum values.
## Deprecated
`TsEnumConfig` is deprecated
- The `treat_const_enum_as_enum` transform option is deprecated.
- The `ts_enum_is_readonly` assumption option is deprecated.
**BREAKING CHANGE:**
TypeScript Config is changed.
**Related issue:**
- Closes #5197
- Closes #5259
- Closes #7177
- Closes #7453
- Closes #7676
- Closes #7681
- Closes #7791
- Closes #7961
2023-09-25 01:41:00 +00:00
SWC Bot
bea10ef5f5
chore: Publish crates
2023-09-24 23:41:11 +00:00
Donny/강동윤
f374ad903a
fix(es): Enable resolver if jsc.baseUrl
is specified ( #7998 )
...
**Related issue:**
- Closes #7990
2023-09-24 23:39:12 +00:00