SWC Bot
7e8b6c0f04
chore: Publish crates
2023-11-26 00:50:50 +00:00
Bin Xin
58568fa23b
fix(es/react): Make jsx with single spread child static ( #8339 )
...
**Description:**
Example:
```js
<h1>{...a}</h1>
```
Before:
```js
_jsx("h1", {
children: [
...a
]
})
```
After:
```js
_jsxs("h1", {
children: [
...a
]
})
```
Following the implementation in [Typescript](d4fbc9b57d/src/compiler/transformers/jsx.ts (L340)
), jsx with a single spread child should also be considered as static jsx.
Live examples:
[Typescript](https://www.typescriptlang.org/play?target=99&jsx=4#code/MYewdgzgLgBAhjAvDAPACwIwD4DeA6AgbQwCYBmAXQF8UB6TLAKCA )
[Esbuild](https://esbuild.github.io/try/#dAAwLjE5LjcAewogIGxvYWRlcjogJ2pzeCcsCiAganN4OiAnYXV0b21hdGljJywKfQA8ZGl2PnsuLi5bXX08L2Rpdj4 )
[SWC](https://play.swc.rs/?version=1.3.100-nightly-20231124.1&code=H4sIAAAAAAAAA0vOzysuUUhUsFWwSckss6vW09OLjq210QdxAHOBudocAAAA&config=H4sIAAAAAAAAA1WOMQrDMAxF95zCaO5QPPY2wijFIbaDJENL8N0rO2lJN%2F33kPT3yTlYJMDD7TZa2JCF%2BJeNyDsrvowAhYQSOG4Kt69dpCvlSoO0Q8BaipCJGVehkyljlrlwul5nwqAX0FHNGlPfBqxaEmoMcOr290WRn6Sjmvi796NWm9oHTYlQ69cAAAA%3D )
2023-11-26 00:48:51 +00:00
SWC Bot
ae6c30b221
chore: Publish crates
2023-11-25 02:45:12 +00:00
Austaras
ed5a9b3f2e
fix(es/minifier): Give up terminate merge if in try
with finally
( #8342 )
...
**Related issue:**
- Closes #8337 .
- Closes #8324 .
- Reverts #8328 .
2023-11-25 02:43:18 +00:00
SWC Bot
727ce04f89
chore: Publish crates
2023-11-23 11:22:29 +00:00
Redfire
13156157eb
build(cargo): Update vergen
to v8
( #8325 )
...
**Description:**
Updates `vergen` build dependency in `swc_core` to v8. This reduces the amount of dependency duplication. In my case in particular, it allows me to remove `syn` v1 from my [repository](https://github.com/redfire75369/spiderfire ).
2023-11-23 11:20:12 +00:00
SWC Bot
5d94418518
chore: Publish crates
2023-11-23 01:53:53 +00:00
Austaras
3dd73a3cd8
fix(es/renamer): Allow globalThis
to be shadowed ( #8327 )
...
**Related issue:**
- Closes #8317
2023-11-23 01:52:01 +00:00
SWC Bot
5ce4b368db
chore: Publish crates
2023-11-23 00:57:05 +00:00
Donny/강동윤
01e2c7fc5a
fix(es/minifier): Fix if_return
bug related to await
and yield
( #8328 )
...
**Related issue:**
- Closes #8324
2023-11-23 00:54:57 +00:00
SWC Bot
14cd8dda29
chore: Publish crates
2023-11-22 23:25:21 +00:00
magic-akari
8af6ffb1dd
fix(es/parser): Wrap with OptChain
across TsNonNull
( #8332 )
...
**Related issue:**
- Closes #8326 .
2023-11-23 08:23:30 +09:00
SWC Bot
185289775f
chore: Publish crates
2023-11-22 06:22:12 +00:00
Zak
91ef7c9415
fix(es/decorators): Resolve enum for design:returntype
( #8320 )
2023-11-22 06:20:11 +00:00
SWC Bot
97d57f0e4f
chore: Publish crates
2023-11-21 09:21:47 +00:00
David Sherret
c25601dec2
fix(es/typescript): Handle shebang with jsx pragma ( #8318 )
...
**Description:**
This handles a shebang with a jsx prag. Previously `h` would be removed as an import in this case.
**Related issue:**
https://github.com/denoland/deno/issues/21258
2023-11-21 09:19:40 +00:00
강동윤 (Donny)
23fdaf13f8
chore: Publish crates
2023-11-21 10:23:28 +09:00
SWC Bot
7cec0ac1a0
chore: Publish crates
2023-11-20 22:51:17 +00:00
Zzzen
51042e090d
fix(es/parsing): Fix parsing of type satisfies = 0;
( #8305 )
...
**Related issue:**
- Closes #8121
2023-11-20 22:49:15 +00:00
SWC Bot
a8bd170634
chore: Publish crates
2023-11-20 22:19:11 +00:00
Donny/강동윤
7dfdc12218
fix(es/module): Read link if an import is resolved as symlink ( #8297 )
...
**Related issue:**
- Closes #8265
2023-11-21 07:17:05 +09:00
SWC Bot
38c489c26c
chore: Publish crates
2023-11-20 21:59:52 +00:00
magic-akari
feb8a6dad9
fix(es/parser): Report error for exported reserved name ( #8313 )
...
**Related issue:**
- Closes #8268 .
2023-11-20 21:57:51 +00:00
SWC Bot
0744dbddc5
chore: Publish crates
2023-11-20 19:57:49 +00:00
강동윤 (Donny)
e9fa6e90c8
chore: Publish crates
2023-11-21 02:28:23 +09:00
SWC Bot
5fa2ed4bfd
chore: Publish crates
2023-11-20 06:22:03 +00:00
magic-akari
00b88399a0
fix(es/parser): Fix parsing of import type from from
( #8309 )
...
**Related issue:**
- Closes #8308 .
2023-11-20 06:20:06 +00:00
SWC Bot
af8c1d33f5
chore: Publish crates
2023-11-20 04:30:06 +00:00
David Sherret
2113bb3e19
fix(es/resolver): Ignore qualifiers of TsImportType
( #8299 )
2023-11-20 04:04:17 +00:00
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