Commit Graph

7826 Commits

Author SHA1 Message Date
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
강동윤 (Donny)
489797f1cf chore: Publish crates 2023-09-24 13:59:06 +09:00
Donny/강동윤
dff9e15b72
chore: Publish v1.3.88 with swc_core v0.83.19 (#7997) 2023-09-24 04:57:46 +00:00
SWC Bot
36de9de600 chore: Publish crates 2023-09-23 15:49:46 +00:00
Donny/강동윤
4d777ee270
feat(es/config): Accept jsc.experimental.keepImportAssertions (#7995)
**Related issue:**

 - Closes #7923.
2023-09-23 15:47:30 +00:00
SWC Bot
3eb23eba7b chore: Publish crates 2023-09-22 23:50:22 +00:00
Donny/강동윤
0acbb5f78d
refactor(bindingins): Create @swc/counter (#7991) 2023-09-22 23:48:27 +00:00
강동윤 (Donny)
276be28ae1 chore: Publish crates 2023-09-22 11:15:56 +09:00
Donny/강동윤
866f34d278
chore: Publish v1.3.87 with swc_core v0.83.18 (#7986) 2023-09-22 02:10:47 +00:00
SWC Bot
ee6260d53b chore: Publish crates 2023-09-21 05:18:49 +00:00
magic-akari
5050f5820a
fix(es/compat): Handle nullish in fn expr scope (#7980)
**Related issue:**

  - Closes: #7977
2023-09-21 05:16:43 +00:00
SWC Bot
95285e8a4a chore: Publish crates 2023-09-20 06:58:46 +00:00
Donny/강동윤
b3d3a7bc73
fix(es/minifier): Do not inline into a template literal with sequential inliner (#7971)
**Related issue:**

 - Closes #7969.
2023-09-20 06:57:03 +00:00
강동윤 (Donny)
1c89e81544 chore: Publish @swc/types@v0.1.5 2023-09-19 12:27:45 +09:00
SWC Bot
0229bad76c chore: Publish crates 2023-09-19 02:59:38 +00:00
Donny/강동윤
e40fccb9ce
fix(bindings/type): Update types of jsc.experimental (#7972)
**Related issue:**

 - Closes #7951
2023-09-19 02:57:52 +00:00
강동윤 (Donny)
2dac39304d chore: Publish crates 2023-09-19 07:09:26 +09:00
강동윤 (Donny)
76b7a747ad chore: Publish crates 2023-09-19 07:05:57 +09:00
강동윤 (Donny)
199a13847a chore: Publish crates 2023-09-19 06:38:30 +09:00
Donny/강동윤
6b1216e9e8
chore: Publish v1.3.86 with swc_core v0.83.16 (#7970) 2023-09-18 21:37:45 +00:00
SWC Bot
f66da77220 chore: Publish crates 2023-09-18 14:42:07 +00:00
magic-akari
f7b5e16aef
refactor(es/lint): Remove usage of box_patterns (#7966)
**Related issue:**
 
 - Closes #7964
2023-09-18 14:39:53 +00:00
SWC Bot
1079daab4c chore: Publish crates 2023-09-18 14:04:53 +00:00
LongYinan
07597795cc
build(bindings/node): Link msvc runtime statically (#7965)
Should resolve
https://github.com/swc-project/swc/issues/1351#issuecomment-1283551742

CI passed: https://github.com/swc-project/swc/actions/runs/6217017170
2023-09-18 14:02:55 +00:00
SWC Bot
f2baa7ab63 chore: Publish crates 2023-09-18 13:22:16 +00:00
Donny/강동윤
005ddc573e
chore(es/preset-env): Ignore tp in the version of a browser version (#7968) 2023-09-18 13:20:23 +00:00
SWC Bot
e749328312 chore: Publish crates 2023-09-16 09:19:13 +00:00
magic-akari
06ca1fe0a0
fix(es/minifier): Handle ModuleDecl when transform const modules (#7959)
**Related issue:**

 - Closes #7747
2023-09-16 09:17:26 +00:00
SWC Bot
fc90ead01d chore: Publish crates 2023-09-16 04:33:48 +00:00
magic-akari
28318f09ed
fix(es/compat): Handle PrivateName in logical_assignments (#7958)
**Related issue:**

 - Closes #7956
2023-09-16 04:32:07 +00:00
SWC Bot
e67bf05f9d chore: Publish crates 2023-09-15 12:38:09 +00:00
Donny/강동윤
be5b02a8cf
fix(es/module): Preserve import specifier if resolving fails (#7955)
**Related issue:**

 - https://github.com/vercel/next.js/pull/55216

This PR fixes a regression caught by the PR above.
2023-09-15 12:36:25 +00:00
SWC Bot
88b009cee2 chore: Publish crates 2023-09-15 08:25:18 +00:00
Gábor Szabó
ca22359dbd
chore(es/preset-env): Add the repository url to Cargo.toml (#7941) 2023-09-15 08:23:23 +00:00
강동윤 (Donny)
01fefd32f7 chore: Publish crates 2023-09-15 15:11:50 +09:00
강동윤 (Donny)
67e30819bd chore: Publish crates 2023-09-15 15:07:28 +09:00
Donny/강동윤
94b45e92a4
chore: Publish v1.3.85 with swc_core v0.83.10 (#7954) 2023-09-15 06:03:20 +00:00
SWC Bot
16ad8ec4d1 chore: Publish crates 2023-09-14 07:19:55 +00:00
Donny/강동윤
7e8d72d03b
feat(es/module): Add an option to make resolver fully resolve index.js (#7945)
**Description:**

 - `jsc.module.resolveFully` is added to support resolving as `.js`.

**Related issue:**

 - Closes #7861
 - Closes #7898
2023-09-14 07:17:23 +00:00
SWC Bot
9f8d454e00 chore: Publish crates 2023-09-14 02:49:44 +00:00
magic-akari
a80aec47ef
fix(es/compat): Handle single expression case in static block (#7944)
**Related issue:**

 - Closes #7922
2023-09-14 02:47:44 +00:00
SWC Bot
47388a047e chore: Publish crates 2023-09-14 02:17:21 +00:00
Brandon Dail
05ca19b844
fix(css/modules): Support composes when using multiple subclass selectors (#7949) 2023-09-14 02:14:58 +00:00
SWC Bot
418a2e3016 chore: Publish crates 2023-09-13 05:57:44 +00:00
Anders Kaseorg
b87ac646f8
fix(es/minifier): Parse a file as a module only if opts.module is true (#7943)
**Description:**

Previously it was impossible to minify non-strict code (e.g. `delete identifier;`) because `minify()` unconditionally parsed the input as a module regardless of the `module` setting.

**BREAKING CHANGE:**

`minify()` now respects the `module` parameter instead of ignoring it, so users who had been processing modules with `minify()` without passing `{ module: true }` will now need to pass it.

**Related issue**

 - Closes #6130.

Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2023-09-13 05:55:34 +00:00
SWC Bot
858a4f4a22 chore: Publish crates 2023-09-13 02:05:35 +00:00
Austaras
c091c5e295
feat(es/compat): Support pure_getters for optional_chaining (#7933)
**Related issue:**

 - Closes #7921
2023-09-13 02:03:41 +00:00
Donny/강동윤
26b01bd01b chore: Publish crates 2023-09-11 23:26:44 +09:00