Donny/강동윤
6b96a3d8ed
feat: Enable logging of timings ( #2833 )
...
swc_timer:
- Add `Timer`.
- Add `timer!()`.
node:
- Enable logging.
2021-11-22 21:01:08 +09:00
Donny
a973b0bed4
chore: Publish crates
2021-11-03 13:55:27 +09:00
Donny
3935400a55
chore: Improve version manager script
2021-11-02 14:53:13 +09:00
Donny
cd2a2777d9
chore: Publish crates
2021-10-31 18:17:31 +09:00
Donny/강동윤
9ba68c6863
fix(common): Fix sourcemap ( #2457 )
...
swc_common:
- Include the index to the name in `mappings` of a sourcemap.
swc:
- Fix handling of `inputSourceMap`.
2021-10-18 06:43:59 +00:00
Donny/강동윤
1645bb30b7
perf(es/transforms): Reduce usage of #[fast_path]
( #2442 )
...
swc_ecma_ast:
- Implement `Take` for `ObjectLit`.
- Implement `Take` for `ArrayLit`.
swc_ecma_transforms_compat:
- `nullish_coalescing`: Remove exponential visit.
- `nullish_coalescing`: Migrate to `VisitMut`.
- `optional_chaining`: Reduce exponential visit. (But it's not removed)
- `class_properties`: Remove exponential visit.
- `jsx_src`: Migrate to `VisitMut`.
- `optional_chaining`: Mae it parallel.
- `async_to_generator`: Remove `#[fast_path]`.
- `arrow`: Remove `#[fast_path]`.
- `destructuring`: Remove `#[fast_path]`.
- `block_scoped_functions`: Remove `#[fast_path]`.
- `classes`: Remove `#[fast_path]`.
2021-10-16 08:12:02 +00:00
Donny/강동윤
4c983e9158
perf(es/codegen, es/parser): Improve performance ( #2406 )
...
ast_node:
- Make `.span()` inlinable.
swc_ecma_codegen:
- Reduce call to *heavy* `.span()` calls.
swc_ecma_parser:
- Reduce `memmove` by using typed-arena.
swc_bundler:
- Make `Bundle.bundle` take `&mut self`.
- Make drop concurrent.
2021-10-15 12:49:37 +09: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
강동윤
cb2b0c671f
fix(es/transforms/base): Optimize hygiene
( #2193 )
...
swc_ecma_transforms_base:
- `hygiene`: Don't rename if not required. (#1600 )
swc_ecma_minifier:
- Remove `hygiene_optimizer`.
2021-09-01 13:11:55 +00:00
강동윤
d975a197c9
fix(es): Fix source map ( #2159 )
...
swc:
- Fill `names` of sourcemap.
- Don't add `sourceContents` to sourcemap if `sources` is added.
node_swc:
- Handle source map for `minify` correctly.
- `minify`: Accept `{ filename: code }`.
2021-08-26 10:44:38 +00:00
강동윤
e468752ebc
fix(es/minifier): Fix usage via yarn resolution ( #2158 )
...
swc_common:
- Deprecate some unused types.
swc:
- `BoolOrObject`: Improve the error message for deserialization failure.
- `BoolOrObject`: Treat an empty object as `true`.
- `JsMinifyFormatOptions`: Add fields. (#2153 )
node_swc:
- Improve error message for deserialization failure.
2021-08-26 06:18:59 +00:00
강동윤
ff440d47a4
chore: Organize project ( #1849 )
2021-06-24 17:01:21 +09:00
LongYinan
d6571933ff
feat(node-swc): Support windows aarch64 and linux aarch64 musl ( #1773 )
2021-06-02 09:34:27 +09:00
LongYinan
6a13615381
feat(node-swc): Support FreeBSD ( #1758 )
2021-05-28 12:47:02 +09:00
LongYinan
ca417e9d59
feat(node-swc): Support windows ia32 arch ( #1367 )
2021-01-29 15:09:44 +09:00
강동윤
6a1c3da326
fix(bundler): Fix bugs ( #1346 )
...
swc_bundler:
- Fix keywords pass.
swc_ecma_transforms_optimization:
- Remove `dbg!`.
- `constant_propagation`: Inline only injected variables.
2021-01-22 18:39:57 +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
강동윤
4490e2551d
swc.rs ( #1085 )
...
Changes url from https://swc-project.github.io to https://swc.rs
2020-09-21 22:53:48 +09:00
강동윤
2b12594cf2
Add musl support ( #1072 )
2020-09-13 18:27:26 +09:00
LongYinan
c0cb9e4401
Upgrade to napi-rs@0.3 cli ( #1033 )
2020-09-05 17:48:22 +09:00
강동윤
8a01e2b7b6
Fix spack ( #1016 )
...
swc_ecma_transforms:
- Add tests for #898
- dce preserves `export * from 'foo';`
swc_bundler:
- Fix some concurrency bugs
- Run dce only once
- Handle `export * from 'foo'`
- Handle namespace imports with computed key
- Add some unit tests for `plan`
- Handle export default decl
- Handle simple coomon dependencies properly
2020-09-03 22:45:42 +09:00
강동윤
8e237288d7
Migrate to napi ( #1009 )
2020-08-30 15:29:42 +09:00
강동윤
decac0c052
Improve performance of spack ( #981 )
...
swc_bundler:
- Invoke `LocalMark` less time
- Use better strategy for parallel computing
2020-08-23 17:27:56 +09:00
강동윤
db4ce50373
Bugfixes ( #989 )
...
swc_ecmascript:
- Make react / const modules configurable
2020-08-23 12:29:01 +09:00
강동윤
c6a10251c9
Chores ( #986 )
2020-08-23 02:41:39 +09:00
강동윤
655fc12fcb
Make spack respect swcrc ( #964 )
2020-08-14 21:02:39 +09:00
강동윤
5baa636a4b
Chores (coverage, documentation, etc..) ( #925 )
2020-08-02 19:10:28 +09:00
강동윤
881c3a369f
Coverage with crontab ( #920 )
...
I decided to configure crontab on my desktop because coverage test requires 20+GB of ram
2020-08-01 16:57:36 +09:00
강동윤
0efba88e3f
Improve typescript parser ( #811 )
2020-06-02 19:22:41 +09:00
강동윤
598c179007
Correct coverage script
2020-05-23 20:15:41 +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
강동윤
53d09d448e
Handle await-for loop just like babel ( #676 )
2020-02-18 12:27:13 +09:00
강동윤
e709da9d55
Fix SourceMap ( #672 )
...
Previously, `SourceMap` (taken from rustc) has a bug which reuses start position when new_source_file is invoked concurrently.
2020-02-17 15:56:41 +09:00
강동윤
30e08a55a7
Fix coverage
2020-02-17 10:47:12 +09:00
강동윤
36aeac8639
Coverage ( #670 )
...
Add a script to calculate coverage
2020-02-16 21:06:25 +09:00
강동윤
348052b017
Improve optimizer ( #660 )
...
Although it's quite naive at the moment, I added two optimization passes.
- dead code elimination (Closes #607 )
- inlining
2020-02-13 11:45:14 +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