Donny/강동윤
76ec275c3c
chore(ci): Reduce CI time ( #3719 )
2022-02-24 06:06:03 +00:00
Donny/강동윤
f733c9c82f
chore(ci): Kill previous runs ( #3678 )
2022-02-22 23:25:40 +09:00
Donny/강동윤
b1d24702e3
refactor(preset-env): Extract common logic for browserslist
support ( #3674 )
2022-02-22 09:03:40 +00:00
Donny/강동윤
47a81bdb95
chore(ci): Remove useless tests from the matrix ( #3561 )
2022-02-14 21:13:25 +09:00
Donny/강동윤
a7f0e84bbf
feat(es/minifier): Drop useless assignments ( #3528 )
...
testing:
- Allow skipping diff using an environment variable `DIFF`.
swc_ecma_minifier:
- `pure`: Drop useless assignemnts.
2022-02-11 08:43:48 +00:00
Donny/강동윤
74b433080b
refactor(es/minifier): Remove unused crates ( #3395 )
2022-01-28 20:17:08 +09:00
OJ Kwon
a4c497464d
feat(plugin/runnner): Support wasm32-wasi
targets ( #3271 )
2022-01-15 04:40:00 +00:00
Donny/강동윤
978de5943e
chore(ci): Configure clippy
( #3250 )
2022-01-13 23:06:11 +09:00
OJ Kwon
92de2c7884
feat(plugin): Pass serialized ast to a wasm file ( #3199 )
...
swc_common:
- Use correct cargo feature for plugin apis.
swc_plugin:
- Add hidden functions required for memory operations from host.
swc_plugin_runner:
- Pass serialized AST to a wasm file.
2022-01-07 15:13:46 +09:00
OJ Kwon
32d3342283
refactor(plugin): Remove codes related to the plugin system based on abi_stable
( #3188 )
2022-01-04 10:26:17 +00:00
Donny/강동윤
46949d39eb
chore(ci): Split cargo docs ( #3187 )
2022-01-04 16:53:29 +09:00
Donny/강동윤
61cd7da265
chore(ci): Reduce CI time ( #3128 )
2021-12-27 17:32:47 +09:00
Donny/강동윤
ff0b55b778
feat(es/diff): Initialize a diff tool for ecmascript ( #3101 )
...
swc_ecma_diff:
- Initialize the project.
2021-12-23 22:01:56 +09:00
Donny/강동윤
7236a2213e
refactor(es/parser): Make some verification logic optional ( #3024 )
...
swc_ecma_parser:
- Make dependency on `swc_ecma_visit` optional.
2021-12-13 11:39:17 +09:00
OJ Kwon
69123ddc28
chore(ci): Setup yarn cache ( #3015 )
2021-12-12 16:16:20 +09:00
OJ Kwon
00d22b8fde
build: Use mocha
for exec_ test
instead of jest
( #3009 )
2021-12-11 07:59:21 +00:00
Donny/강동윤
91ef3cc16e
feat(plugin): Enable plugin support under experimental flag ( #2894 )
...
swc_plugin_runner:
- Add plugin resolver.
- Implement cache for resolver.
- Add some integration tests.
swc:
- Add a cargo feature named `plugin`.
- Add an experimental option for plugins.
node:
- Enable `plugin`.
- Add some integration tests.
2021-11-28 17:02:14 +09:00
Donny/강동윤
ffcb357010
feat(plugin): Rename Plugin
to JsPlugin
( #2893 )
...
swc_js_plugin_api:
- Rename to js plugin.
- Use rplugin and plugin ast instead of json.
2021-11-27 22:21:25 +09:00
Donny/강동윤
c2bbdbe9d6
feat(webpack): Add ast reducer ( #2875 )
...
swc_estree_compat:
- Fix stack overflow related to object patterns.
swc_webpack_}ast:
- Implement AST reducer.
2021-11-26 15:04:41 +09:00
Donny/강동윤
cdef843369
feat(es/estree): Allow emitting acorn
ast ( #2859 )
...
swc_estree_ast:
- Add `Flavor`.
- Adjust serialization based on `Flavor`.
swc_estree_visit:
- Remove.
testing:
- Add `diff_json`.
testing_macros:
- `#[fixture]`: Print input.
2021-11-25 20:16:46 +09:00
Donny/강동윤
790a262c07
refactor(es/estree): Rename: babel
=> estree
( #2846 )
...
swc_babel_ast:
- Rename as `swc_estree_ast`.
swc_babel_compat:
- Rename as `swc_estree_compat`.
swc_babel_visit:
- Rename as `swc_estree_visit`.
2021-11-24 05:34:41 +09:00
Donny/강동윤
020b4a554d
fix(graph_analyzer): Allow invoking load
multiple time ( #2823 )
...
swc_graph_analyzer:
- Make `load` work correctly even if it's called multiple time.
2021-11-21 14:55:59 +09:00
Donny/강동윤
af420eab4b
fix(es/utils): Fix collect_decls
( #2792 )
...
swc_ecma_utils:
- `collect_decls`: Handle assignment pattern property. (Closes #2785 )
2021-11-18 15:05:26 +09:00
Donny/강동윤
6b70fb5afe
chore: Rename the default branch from master
to main
( #2750 )
2021-11-15 16:52:45 +09:00
Donny/강동윤
2b2f6955f2
refactor: Flatten ecmascript
( #2708 )
2021-11-10 19:00:54 +09:00
Donny/강동윤
a90fae5696
fix(swc): Fix tests ( #2707 )
2021-11-10 18:08:45 +09:00
Donny/강동윤
380722976a
feat(plugin): Proxy swc_common
apis ( #2646 )
...
swc_common:
- Add `Runtime` trait for plugin.
- Implement `serde` for diagnostics.
- Proxy diagnostics using `Runtime`.
- Proxy `HygieneData::with` with `Runtime`.
- Add implementation of `Runtime` with cargo feature `plugin-rt`.
- Make `Runtime` implement `StableAbi`.
swc_plugin:
- Move api code to `swc_plugin_api`.
- Depend on `swc_common/plugin-mode`.
- Configure `Runtime` before invoking custom transforms.
- Use `bincode` for serde.
swc_plugin_runner:
- Depend on `swc_common/plugin-rt`.
- Pass `Runtime` implementation to the plugins.
- Use `bincode` for serde.
2021-11-04 19:24:49 +09:00
Donny/강동윤
db09bce687
perf(node/swc): Parse input using worker thread ( #2590 )
...
node_swc:
- Make `transform` parse the options in background.
- Make `transform` analyze the input file in background.
- Make `minify` parse the options in background.
- Make `minify` deserialize the input in background.
- Make `parse` parse the options in background.
- Make `parse` analyze the input file in background.
- Make `print` parse the options in background.
- Make `print` deserialize the input file in background.
2021-10-30 12:31:28 +00:00
Donny/강동윤
0364f9a2ae
feat(es/transforms/testing): Reduce CI time by caching execution result ( #2565 )
...
swc_ecma_transforms_testing:
- Cache execution test result on CI.
2021-10-28 04:00:25 +00:00
Donny/강동윤
7e29685a17
chore: Fix failing tests and improve CI scripts ( #2563 )
2021-10-28 02:55:49 +00:00
Donny/강동윤
01e171a4b4
test(es): Freeze as es2015
to verify base transforms ( #2468 )
2021-10-19 05:31:12 +00:00
Donny/강동윤
3d204b44f0
perf(es/transforms): Make transforms parallel ( #2449 )
...
swc_ecma_utils:
- `collect_decls`: More parallel.
swc_ecma_transforms_macros:
- Add `Parallel`, which is helper for `#[parallel]`.
- Add `ParExplode`, which is helper for `#[parallel(explode)]`.
swc_ecma_transforms_macros:
- Add `#[parllel]`.
swc_ecma_transforms_compat:
- `sticky_regex`: Parallel.
- `typeof_symbol`: Parallel.
- `for_of`: Remove exponential visit.
- `regenerator`: Remove exponential visit.
- `object_spread`: Parallel.
- `instance_of`: Parallel.
- `duplicate_keys`: Parallel.
- `logical_assignments`: Parallel.
- `template_literal`: Parallel.
- `block_scoped_functions`: Migrate to `VisitMut`.
- `for_of`: Migrate to `VisitMut`.
- `destructuring`: Reduce `Visit`.
- `arrow`: Migrate to `VisitMut`.
- `function_name`: Parallel.
- `reserved_words`: Parallel.
- `for_of`: Parallel.
swc_ecma_transforms_module:
- `import_analyzer`: Migrate to `VisitMut`.
swc_ecma_transforms_react:
- `jsx_src`: Parallel.
- `jsx_self`: Migrate to `VisitMut`.
- `jsx_self`: Parallel.
swc_ecma_transforms_proposal:
- `export_default_from`: Migrate to `VisitMut`.
swc_ecma_transforms_optimization:
- `inline_globals`: Parallel.
- `json_parse`: Migrate to `VisitMut`.
- `json_parse`: Parallel.
2021-10-18 00:03:30 +09:00
Donny/강동윤
8074c72ce9
fix(es/transforms/base): Fix hyigiene
( #2421 )
...
swc_ecma_transforms_base:
- `hygiene`: Considering scoping of `var`.
- `hygiene`: Avoid creating too many `JsWord` by caching index.
2021-10-13 17:32:37 +09:00
Donny/강동윤
897f4b670e
fix(dev/cli): Remove CLI from main swc repositoy ( #2393 )
2021-10-10 11:17:12 +00:00
Donny/강동윤
7a31a3f530
feat(plugin/api): Determine plugin api ( #2199 )
2021-10-09 17:47:42 +09:00
Donny/강동윤
ac3fbd91ac
perf(bundler): Improve performance ( #2384 )
...
*:
- Use `ahash` instread of `rustc-hash`.
swc_ecma_transforms_optimization:
- Make `dce` parallel.
2021-10-09 08:08:13 +00:00
Donny/강동윤
d0342a5a58
feat(swcpack): Enable concurrent mode ( #2356 )
...
swc_common:
- Use `Mutex` from `parking_lot` instead of it from std.
swc_bundler:
- Use `fxhash` if possible.
- Don't `clone()` all modules if the entry has only one item.
swc_ecma_loader:
- `NodeModulesResolver`: Use `path-clean` instead of `canonicalize`.
swc_ecma_transforms_optimization:
- Reimplement `dce`
node_bundler:
- Enable `concurrent` of `swc_bundler`.
2021-10-08 16:47:01 +09:00
강동윤
18e2232dbc
feat(plugin): Groundwork for rust plugin system ( #1893 )
2021-08-25 15:07:09 +00:00
강동윤
81061a91bb
fix(css): Fixup ( #2138 )
2021-08-23 14:03:08 +00:00
강동윤
c05a724d84
feat(css): Port stylis ( #2131 )
...
swc_css_ast:
- Add `Value::Comma`.
swc_css_parser:
- Implement more `Parse<T>`.
- Fix parsing of values separated with comma.
swc_css_codegen:
- Fix escaping.
- Fix codegen of `!important`.
swc_stylis:
- Port prefixer.
2021-08-23 12:42:13 +00:00
강동윤
7381644f6b
feat(css): Implement codegen for css ( #2115 )
...
swc_css_ast:
- Remove unused tokens.
- `SubclassSelector::PseudoClass` => `SubclassSelector::Pseudo`.
- Fix `AttrSelectorOp`
- `AttrSelector.value`: `Option<Text>` => `Option<Str>`.
swc_css_codegen:
- Implement a code generator.
swc_css_parser:
- Implement `Parse<Stylesheet>` for the parser.
- Fix parsing of pseudo selectors.
- Fix parsing of unknown at-rules.
2021-08-20 12:38:15 +00:00
강동윤
d39acd1d11
feat(css): Implement parser ( #2074 )
2021-08-19 05:16:32 +00:00
강동윤
883c1ac4e4
fix(bundler): Prepare renaming of bundler ( #2066 )
...
- Rename `spack` crate to `swc_node_bundler`. (#1113 )
2021-08-13 10:03:04 +00:00
강동윤
72c9f4373a
fix(es): Fix bugs ( #2055 )
...
swc_ecma_parser:
- Fix panic from span assertion. (#2040 )
swc_ecma_transforms_compat:
- Fix handling of `await for`. (#1918 )
swc_ecma_transforms_base:
- Allow using decorator metadata even if `reflect-metadata` is not imported. (#1362 )
2021-08-12 12:28:58 +00:00
강동윤
e916b35dd2
feat(node/swc): Support sourceFileName
( #1976 )
...
swc:
- Support `sourceFileName`.
2021-08-03 00:49:34 +09:00
강동윤
b02e189d07
feat(es/minifier): Implement more rules ( #1871 )
...
swc_ecma_codegen:
- Fix codegen of `U+0028` and `U+0029`.
swc_ecma_minifier:
- Implement MVP.
swc_ecma_transforms_base:
- `fixer`: Handle seq/await in rhs of for-of.
2021-07-30 10:11:27 +09:00
David Sherret
4e42c66663
chore(ci): Switch installation method of deno ( #1915 )
2021-07-13 21:41:40 +09:00
강동윤
c49e9b0b8d
feat(babel/compat): Implement reverse operation of babelify ( #1655 )
...
swc_babel_compat:
- Move `babelify` to a submodule.
- Add `swcify`.
2021-06-27 15:30:40 +00:00
강동윤
4cd43375a5
feat(swc): Add import resolvers ( #1834 )
...
swc_ecma_loader:
- Add `Resolve`.
- Add `TsConfigResolver`.
swc_ecma_transforms_module:
- Use `Resolve` for remapping import paths.
- Add `ImportResolver`.
- Add `NodeImprortResolver`.
swc:
- Add `paths` to `.swcrc`.
- Use `paths`. (#379 , #702 )
- Canonicalize file names.
2021-06-24 06:32:09 +00:00
강동윤
f4249574da
feat(ci): Track binary size and performance ( #1840 )
2021-06-23 10:50:27 +00:00