Commit Graph

252 Commits

Author SHA1 Message Date
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
Donny/강동윤
020027d5d9
chore: Publish v1.3.91 with swc_core v0.83.34 (#8040) 2023-10-01 11:51:50 +00:00
Donny/강동윤
8214b9ed4e
chore(ci): Prepare @swc/minifier (#8027) 2023-09-29 19:51:00 +00:00
Donny/강동윤
a13f5cbe03
refactor(es): Extract parser/codegen code for swc::Compiler (#8030) 2023-09-29 14:48:31 +00:00
Donny/강동윤
64d8f4b59f
feat(bindings): Create a minifier-only package (#7993) 2023-09-29 08:47:59 +00:00
강동윤 (Donny)
8231f874e7 chore: Publish crates 2023-09-27 10:13:08 +09:00
Donny/강동윤
724b83b05d
chore: Publish v1.3.90 with swc_core v0.83.26 (#8013) 2023-09-27 01:12:23 +00:00
강동윤 (Donny)
243d68d8dc chore: Publish crates 2023-09-25 22:24:43 +09:00
Donny/강동윤
98d283cb34
chore: Publish v1.3.89 with swc_core v0.83.22 (#8002) 2023-09-25 13:24:09 +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
강동윤 (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
강동윤 (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
강동윤 (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
강동윤 (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
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
Donny/강동윤
26b01bd01b chore: Publish crates 2023-09-11 23:26:44 +09:00
Donny/강동윤
c8ac13e60c
chore: Publish v1.3.84 with swc_core v0.83.5 (#7937) 2023-09-11 23:21:02 +09:00
Donny/강동윤
8bb2925e23 chore: Publish crates 2023-09-07 10:23:00 +09:00
Donny/강동윤
3b10b7532d
chore: Publish v1.3.83 with swc_core v0.83.2 (#7920) 2023-09-07 10:20:12 +09:00
Donny/강동윤
a86e9f3bb5
fix(es/module): Fix jsc.paths for projects using pnpm (#7918)
**Related issue:**

- x-ref: https://vercel.slack.com/archives/C04DUD7EB1B/p1693911653100299?thread_ts=1693819683.070959&cid=C04DUD7EB1B
2023-09-06 17:29:47 +00:00
Donny/강동윤
ee7575695d
feat(es/codegen): Add an option to print assert for import attributes (#7914)
**Description:**

- `jsc.experimental.keepImportAssertions` is renamed to `jsc.experimental.keepImportAttributes`.
 - `jsc.experimental.emitAssertForImportAttributes` is added.

**Related issue:**

 - Closes #7908
2023-09-05 21:24:25 +09:00
Donny/강동윤
fd1c0cfdae chore: Publish crates 2023-09-01 11:36:14 +09:00
Donny/강동윤
7d2a3015dc
chore: Publish v1.3.82 with swc_core v0.82.10 (#7905) 2023-09-01 11:35:07 +09:00
Donny/강동윤
15d3900f60 chore: Publish crates 2023-08-30 21:08:25 +09:00
Donny/강동윤
feb36e61ff
chore: Publish v1.3.81 with swc_core v0.82.7 (#7895) 2023-08-30 21:07:19 +09:00
Donny/강동윤
5fbc251db1
fix(es/module): Don't create absolute paths for jsc.paths on Windows (#7892)
**Related issue:**

 - Closes #7806
2023-08-30 10:11:34 +00:00
Donny/강동윤
7911973020 chore: Publish crates 2023-08-25 22:55:28 +09:00
Donny/강동윤
74a5dc62a7
chore: Publish v1.3.80 with swc_core v0.81.5 (#7867) 2023-08-25 22:54:38 +09:00
Donny/강동윤
c18051fb0b chore: Publish crates 2023-08-25 15:21:54 +09:00
Donny/강동윤
f819c4487d
chore: Publish v1.3.79 with swc_core v0.81.3 (#7859) 2023-08-25 15:20:50 +09:00
Donny/강동윤
854e2e78b3
chore(ci): Fix CI (#7857) 2023-08-25 03:32:44 +00:00
Donny/강동윤
f9013a0409
chore: Publish v1.3.78 with swc_core v0.79.69 (#7831) 2023-08-18 04:29:38 +09:00
David Sherret
981d7b152b
refactor(common): Make ahash optional (#7816)
**Description:**

This adds the ability to not include `ahash` with swc_common, which
caused some issues for me compiling dprint-plugin-typescript to Wasm
because of:

```
   Compiling ahash v0.8.3
   Compiling getrandom v0.2.10
error: the wasm*-unknown-unknown targets are not supported by default, you may need to enable the "js" feature. For more information see: https://docs.rs/getrandom/#webassembly-support
   --> C:\Users\david\.cargo\registry\src\index.crates.io-6f17d22bba15001f\getrandom-0.2.10\src\lib.rs:285:9
    |
285 | /         compile_error!("the wasm*-unknown-unknown targets are not supported by \
286 | |                         default, you may need to enable the \"js\" feature. \
287 | |                         For more information see: \
288 | |                         https://docs.rs/getrandom/#webassembly-support");
    | |________________________________________________________________________^
``` 

(I can't enable the JS feature because it's running the wasm file in
Wasmer and also I don't support Wasi in dprint plugins)

**BREAKING CHANGE:**

This removes swc_common's "perf" feature and makes it the default, then
adds an `ahash` feature instead. An alternative would be to make the
`ahash` dep optional and part of the default features, then do
`default-features = false` in the downstream crates (I think, but I'm
not sure), but I figure most people will be using the perf default
anyway? I'm not sure what's preferable.

**Related issue:**

 - Closes #7729.
2023-08-16 18:02:05 +00:00
Donny/강동윤
6f2773a744 chore: Publish crates 2023-08-16 11:26:52 +09:00
Donny/강동윤
677e25026d
chore: Publish v1.3.77 with swc_core v0.79.59 (#7817) 2023-08-16 11:23:54 +09:00
Donny/강동윤
7fac0270c4 chore: Publish crates 2023-08-10 17:13:03 +09:00
Donny/강동윤
7aea2bdd97
chore: Publish v1.3.76 with swc_core v0.79.55 (#7794) 2023-08-10 17:12:04 +09:00
Donny/강동윤
54f38cb47e chore: Publish crates 2023-08-10 12:05:44 +09:00
Donny/강동윤
9079050232
chore: Publish v1.3.76 with swc_core v0.79.54 (#7792) 2023-08-10 12:04:11 +09:00
Donny/강동윤
000f817bcc chore: Publish crates 2023-08-08 14:05:39 +09:00
Donny/강동윤
41692f91db
chore: Publish v1.3.75 with swc_core v0.79.49 (#7778) 2023-08-08 14:03:36 +09:00
Donny/강동윤
5afdd2ed54 chore: Publish crates 2023-08-03 07:19:43 +09:00
Donny/강동윤
9eb05f2d05
chore: Publish v1.3.74 with swc_core v0.79.38 (#7744) 2023-08-03 07:17:29 +09:00