Commit Graph

37 Commits

Author SHA1 Message Date
Donny/강동윤
6afa40b7b4
chore(ci): Integrate changeset (#9284)
**Description:**

@swc-bot works, but as it works by creating a commit after merging each PR, it makes reading commit log harder and it causes problems with caching in CI.

Changeset itself does not support managing Rust crates, but there's a crate for this purpose.
2024-07-19 18:44:43 +09:00
Donny/강동윤
9c176632b1
refactor(visit): Pre-generate visitor code (#9262)
**Description:**

This would improve compile time by a margin, and this is a refactoring that should be done before applying `swc_allocator::boxed::Box` to ES AST.

This PR removes `swc_visit_macros` because we now use a simple binary to generate code before publishing.


**Related issue:**

 - Closes https://github.com/swc-project/swc/issues/9101
2024-07-17 23:00:45 +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
Donny/강동윤
6420aefca5
chore: Use cargo xtask (#8068) 2023-10-05 08:34:51 +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
Donny/강동윤
d623db48de
perf(bindings): Enable share-generics to reduce binary size (#7482) 2023-06-03 00:35:09 +09:00
Donny/강동윤
899021e440
fix(es/plugin): Disable SIMD (#6163)
**Description:**

This PR disables SIMD for all hosts because wasmer cache is not portable.
2022-10-15 05:18:19 +00:00
Donny/강동윤
bb427c4267
build(bindings): Use new llvm pass manager (#5816) 2022-09-10 16:20:30 +00:00
Donny/강동윤
a0007e11c3
fix(es/visit): Disable serde by default (#5273) 2022-07-23 13:54:39 +00:00
LongYinan
db9b988845
feat(node-swc): Add libc field in Linux platform packages (#4046) 2022-03-16 18:58:24 +09:00
OJ Kwon
82914d4edf
build(cargo): Use lld for windows-x64 (#3683) 2022-02-23 04:16:45 +09:00
Donny
d901b6222f chore(ci): Change version of rustc 2022-01-05 19:55:55 +09:00
Donny
1ebbe62290 chore(ci): Fix aarch64-pc-windows-msvc 2022-01-05 18:48:19 +09:00
Donny
158d4bc1ed chore: Reduce compile time 2021-11-30 09:26:27 +09:00
Donny
166c12d295 chore: Revert 2021-11-30 08:34:20 +09:00
Donny
189a5903cc chore: Fix cargo config again 2021-11-30 08:19:47 +09:00
Donny
3695159958 chore: Fix cargo config 2021-11-30 08:07:21 +09:00
Donny/강동윤
435faccc2e
chore: Reduce compile time (#2909) 2021-11-30 00:16:28 +09:00
Donny/강동윤
28850eef5c
chore: Allow using #[doc(cfg)] (#2871) 2021-11-25 14:16:18 +09:00
LongYinan
1a659d3214
ci: Sync to latest napi workflow (#2592) 2021-10-31 10:04:18 +09:00
강동윤
6eaf60b8a4
fix(swc): Disable aes feature (#2109)
node/swc:
 - Disable `aes`. (#1807)
2021-08-19 12:12:16 +00:00
강동윤
4011703af5
fix(testing): Allow using it with stable rustc (#1974)
testing_macros:
 - Make `#[fixture]` relative to cargo manifest dir.
2021-07-29 14:18:21 +09:00
LongYinan
d6454add72
fix(node/swc): Fix for m1 mac (#1939) 2021-07-20 14:54:02 +09:00
LongYinan
d6571933ff
feat(node-swc): Support windows aarch64 and linux aarch64 musl (#1773) 2021-06-02 09:34:27 +09:00
강동윤
82ef06afb8
feat(babel/compat): Improve performance of babelify (#1626)
swc_babel_compat:
 - Optimize.

swc:
 - Improve performance of comment storage.
2021-05-06 14:56:54 +09:00
강동윤
46c3d62ebd
fix(swc): Fix bugs (#1560)
spack:
 - Ensure that #1533 is fixed. (#1533) 

swc_ecma_parser:
 - Support `async override` in classes. (#1558)

swc_ecma_transforms_compat:
 - `async_to_generator`: Preserve this in async object methods. (#1575)
 - `nullish_coaelscing`: Fix assignments. (#1570)
 - `export_namespace_from`: Preserve order of statements. (#1457)

swc:
 - Disable aes. (#1583)
2021-04-17 06:00:14 +00:00
강동윤
7f5bfdcc00
fix(bundler): Fix bugs (#1382)
swc_bundler:
 - Improve performance
 - Use `Vec<AHashSet<usize>>` instead of `AHashSet<(usize, usize)>`.
 - Fix statement orderings. (denoland/deno#9464) 
 - Fix wrapped esm mixed with circular imports. (denoland/deno#8224)
 - Store content of wrapped esm at top level. (denoland/deno#8224)
2021-02-22 17:27:40 +09:00
LongYinan
0c45a31f31
Upgrade to napi@1 (#1244)
node-swc:
 - Support apple silicon.
 - Support linux aarch64.
 - Support linux armv7.
 - Support android aarch64.
 - Support yarn pnp.
2020-12-30 14:30:09 +09:00
강동윤
3262052e33
Improve performance and reduce binary size (#973)
spack:
 - Optimize resolver

swc_bunder:
 - Parallize merging of reexports
 - Remove useless `clone`s

swc_ecma_utils:
 - Migrate DropSpan to VisitMut

swc_ecma_transforms:
 - Migrate simple transforms to VisitMut
 - Ignore types to reduce binary size
 - Hide actual types so that we can optimize it in future without breaking change

swc_visit:
 - Apply transforms for vector in-place
 - Apply transforms for box in-place
2020-08-19 01:29:49 +09:00
강동윤
3a372ad29a
Move node-swc into the repository (#789)
The commit will help

 - Better testing
 - Preventing regression like #785.
 - **Implementing spack** (It requires access to neon api because of the plugin system)
2020-05-22 20:36:39 +09:00
강동윤
14f5212d3d
Wasm (#691) 2020-05-07 18:17:57 +09:00
강동윤
eebf14fbef
Allow stable rust (#118)
This pr introduces some cargo features. For `swc_common` and `swc_ecma_ast`, it introduces a feature flag `fold`.
`Fold` and `Visit` traits exist only if the feature is enabled.

For `swc_ecma_parser`, flag called `verify` is added. When disabled, we skip checking of validity of some expressions.

e.g. `{foo = bar}`

Verification is disabled by default it requires nightly compiler
2019-01-17 23:17:16 +09:00
강동윤
8e0e9ca4c7 Make it thread safe 2018-11-17 17:02:34 +09:00
강동윤
056a11dd06 chores: cleanup for docs; no email from travis 2018-01-27 15:14:53 +09:00
강동윤
4d52cb49d4 Implement error reporting.
* Use syntax_pos and rustc_error.
 * Use syntax_pos::Span
2018-01-21 17:47:37 +09:00
강동윤
06731dfcb5 Cleanup and documentations for swc_common.
* Remove CanIUse trait, which will be reimpplemented in future
 using Visitor.

 * Remove some other unused stuffs.

 * Change public path of swc_common::fold::* to swc_common::*.
2018-01-15 10:33:18 +09:00
강동윤
e949c40517
ECMAScript parser (#1)
- Parser and lexer for lastest ecma spec https://tc39.github.io/ecma262

  - Lexer is currently very inefficient

 - Use https://github.com/tc39/test262-parser-tests/ for testing.

 - Implement proc-macro based ast folder and assert_eq_ignore_span! based on it.

 - Some utilities for proc macro at /macros/common
2018-01-12 16:53:06 +09:00