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/강동윤
04238d0b93
feat(swc_common): Allow dylib
( #2628 )
...
swc_common:
- Add `dylib` to `crate-type`.
2021-11-02 23:54:20 +09:00
Donny/강동윤
e589d00f62
refactor: Move HANDLER
to swc_common
( #2599 )
...
swc_common:
- Add `HANDLER`.
swc_ecma_utils:
- Replace `HANDLER` with one from `swc_common`.
- Make `StmtLike` `: Send + Sync`.
2021-10-31 20:41:36 +09:00
Donny/강동윤
ecf0d7507c
feat(swc): Allow removing filename from error output ( #2498 )
...
swc:
- Add an option to exclude filename from error messages.
2021-10-21 04:45:12 +00:00
Donny/강동윤
123c1f5d02
chore: Fix typo ( #2472 )
2021-10-19 08:25:57 +00: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/강동윤
76de51333d
fix(es/transforms): Fix for react + typescript ( #2422 )
...
swc_common:
- Add `NoopComments`.
- Implement `Comments` for `Option<C>` where C: `Comments`.
- Add some helper methods to `Comments`.
- Deprecate `CommentsExt`.
swc_ecma_transforms_base:
- `resolver`: Handle `TsImportEqualsDecl`.
swc_ecma_transforms_react:
- Reduce useless cloning using `Arc`.
- Expose API for parsing directives like `@jsxPragma`.
swc_ecma_transforms_typescript:
- Accept `pragma` and `pragmaFrag`.
- Support jsx directives.
- Preserve jsx-related imports.
swc:
- Optimize `SwcComments`.
- Run`resolver` before everything else.
2021-10-13 22:29:56 +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
LongYinan
fee270fe57
perf(common): Avoid string re-allocation ( #2318 )
2021-09-30 14:50:25 +09:00
Donny/강동윤
6a41e9a0be
fix(es): Fix performance bugs ( #2313 )
...
swc_common:
- Optimize `SourceMap.span_until_char`.
swc_ecma_codegen:
- Make `Emitter` generic.
swc_ecma_parser:
- `Lexer`: Reuse allocation of `String`.
- `Lexer`: Avoid copying useless data.
2021-09-29 12:10:38 +00:00
Donny/강동윤
650e1494d4
fix: Migrate dependencies ( #2307 )
...
*:
- Migrate from `log` to `tracing`. (#2284 )
- Migrate from `fxhash` to `rustc-hash`.
swc_common:
- Add a cargo feature named `debug`.
2021-09-27 09:19:15 +00:00
Donny/강동윤
83d88ce388
chore: Improve docs ( #2301 )
2021-09-24 19:41:01 +09:00
강동윤
48d61039d2
fix(common, node/swc): Allow inlining sourcesContent
( #2245 )
...
swc_common:
- Allow setting `sourceContents` of source map files. (#2218 )
swc:
- Support `inlineSourceContents`. (#2244 )
2021-09-14 02:31:32 +00:00
Kitson Kelly
87f30b21a3
feat(common): Add variants to FileName
( #2202 )
2021-09-03 13:55:31 +09:00
강동윤
a8cb554be5
feat: Expose .take()
( #2190 )
...
swc_common:
- Add `Take`. (#2189 )
swc_ecma_ast:
- Implement `Take` for ast nodes.
swc_ecma_transforms_base:
- Remove `MapWithMut`.
2021-08-31 14:45:48 +00:00
강동윤
d58642b70c
feat(common): Implement TypeEq
and EqIgnoreSpan
for tuples ( #2184 )
...
swc_common:
- Implement `TypeEq` and `EqIgnoreSpan` for tuples.
2021-08-30 12:44:46 +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
강동윤
f6aabfce9c
perf: Use ahash instead of sip hash ( #2073 )
...
swc_common:
- Add `AHashMap`.
- Add `AHashSet`.
2021-08-14 10:33:16 +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
LongYinan
fe2a063525
perf(node/swc): Use mimalloc ( #2068 )
2021-08-13 18:39:13 +09:00
강동윤
c6dce67494
fix(swc): Report error correctly ( #2065 )
...
swc_common:
- Add some utilities for `Handler`.
swc:
- Remove `Compiler.handler`.
- Accept `handler` for each operations. (#2035 )
2021-08-13 07:05:40 +00:00
David Sherret
064416c079
feat(common): Add an utiliy method for comments ( #2002 )
...
swc_common:
- Add `SingleThreadedComments::from_leading_and_trailing`.
2021-08-04 13:36:49 +09:00
David Sherret
080b1fa3ac
fix(common): Remove potential race condition ( #2001 )
...
swc_common:
- Remove potential race condition in `CommentsExt`.
2021-08-04 13:02:03 +09:00
강동윤
f44e25c3af
fix(es/minifier): Improve output of minifier ( #1990 )
...
swc_common:
- Add `Span.has_mark`.
swc_ecma_codegen:
- Emit `1e3` for `1000`.
- Optimize output. (#1986 )
swc_ecma_minifier:
- name mangler: Don't use keywords as an id.
- `properties`: Optimize member expression with string properties.
- `inline`: Inline some function expressions even if it's not fn-local.
- `analyzer`: Track reassignment correctly.
- `analyzer`: Track fn-local correctly.
- `sequences`: Inject `void` if required.
- `inline`: Inline function declarations correctly.
- `sequences`: Merge expressions into test of if statements.
- `sequences`: Reduce calls to an assigned variable.
- Use `Marks` instead of `&dyn Comments`.
swc_ecma_transforms_optimization:
- `expr_simplifier`: Fix infinite loops.
node/swc:
- Ensure that `.transform` performs minification. (#1989 )
2021-08-04 00:52:47 +09:00
강동윤
ff47e2539e
fix(swc): Fix bugs ( #1932 )
...
swc_common:
- Fix handling of input source map. (#1930 )
swc:
- Respect `paths`. (#1858 )
node:
- Fix typings of `paths`.
2021-07-17 11:16:00 +00:00
David Sherret
6dc6d8a847
refactor(es/dep-graph): Remove SourceMap dependency ( #1908 )
2021-07-14 00:59:13 +09:00
강동윤
104be9837b
fix(es/transforms): Fix transforms ( #1909 )
...
swc_ecma_transforms_compat:
- `regenerator`: Use es6 import while folding module. (#1641 )
- `typeof_symbol`: Handle `undefined` specially. (#1843 )
- `regenerator`: Do not create useless codes. (#1687 )
- `typeof_symbol`: Migrate to `VisitMut`.
swc_ecma_transforms_module:
- Add `import_hoister`.
- Improve import analyzer. (#1682 )
- Allow overriding `export *` wth named exports. (#1714 )
swc_ecma_transforms_testing:
- Add a hack for `regenerator-runtime`.
swc:
- Run import analyzer ahead of time. (#1682 )
misc:
- Downgrade rustc to the version rust-analyzer supports.
2021-07-10 11:18:28 +00:00
강동윤
03be315921
fix(es/transforms): Fix decorator bugs ( #1905 )
...
swc_ecma_transforms_proposal:
- Initialze decorators lazily. (#1278 )
2021-07-08 20:48:07 +09:00
강동윤
19bcb06f73
fix(swc): Fix source path of a source map file ( #1902 )
...
swc:
- Use `output_path` to make sourcemap path relative to the `.map` file. (#1255 )
2021-07-08 07:32:06 +00:00
강동윤
35af4c5186
chore: Publish v1.2.63 & Update rustc ( #1894 )
2021-07-05 12:51:09 +00: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
Maxime Guerreiro
c5f1c6b8ba
chore(es/ast): Upgrade arbitrary crate to v1 ( #1844 )
...
swc_ecma_ast:
- Upgrade arbitrary crate.
2021-06-25 14:40:51 +09:00
강동윤
5a6c4fd5a0
fix(swc): Fix sourcemap ( #1832 )
...
swc_common:
- `SourceMap`: Don't panic for dummy spans.
swc_ecma_codegen:
- Use span for `throw`. (#1685 )
- Use span for `var` / `let` / `const`.
- Use span for `new`.
- Use span for `if`.
- Add spans to braces of a block statement. (#1796 )
swc_ecma_transforms_compat:
- `parameters`: Don't drop the span of block statements. (#1796 )
swc:
- Allow specifying input source map in `.swcrc`.
- Ensure that the inline source map works properly. (#1713 )
2021-06-18 11:34:17 +00:00
muji
7b9b9fe9ce
fix(common): Fix compiler error ( #1747 )
...
Co-authored-by: 강동윤 <kdy1997.dev@gmail.com>
2021-05-28 20:57:57 +09:00
강동윤
470c8f4745
fix(es/minifier): Publish ( #1716 )
2021-05-20 15:09:30 +09:00
강동윤
c6b22c57f8
feat(es/minifier): Implement minifier partially ( #1302 )
...
Co-authored-by: Fábio Santos <fabiosantosart@gmail.com>
2021-05-20 13:51:30 +09:00
강동윤
2ad0af9e91
fix(es/transforms/compat): Improve performance ( #1673 )
...
swc_ecma_transforms_compat:
- `classes`: Fast-path.
- `destructuring`: Fast-path.
- `sticky_regex`: Fast-path.
- `spread`: Fast-path.
- `shorthand`: Fast-path.
- `typeof_symbol`: Fast-path.
- `block_scoped_functions`: Fast path.
- `duplicate_keys`: Use fxhash.
- `instance_of`: Fast path.
- `reserved_words`: Make string comparison efficient.
2021-05-11 04:53:36 +00:00
Pig Fang
4aed9423de
fix(es/parser): Allow using override
with static
( #1663 )
2021-05-09 21:04:42 +09:00
Niklas Mischkulnig
f4d0e46cbb
feat(es/transforms/compat): Add pure comment to classes ( #1646 )
...
swc_ecma_transforms_compat:
- Add pure annotations while tranpiling classes.
2021-05-08 15:47:20 +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
Daniel Woznicki
d1415f9bf7
feat(node-swc): Babel ast translator ( #1465 )
2021-05-01 18:09:10 +09:00
강동윤
8222cc075d
feat(ast_node): Add #[ast_serde] ( #1595 )
...
ast_node:
- Add `#[ast_serde]`.
2021-04-21 09:11:50 +00:00
강동윤
c765c7e06e
fix: Fix bugs ( #1590 )
...
swc_ecma_transforms_proposal:
- Detect decorators in typescript parameter properties. (#1456 )
swc:
- Add tests for #1362 . (#1362 )
2021-04-19 10:16:10 +00:00
Devon Govett
8f5daa3bbb
feat(es/transforms/react): Add pure annotation comments ( #1564 )
...
swc_ecma_transforms_react:
- Add pure annotations for react.
2021-04-11 15:09:27 +09:00
강동윤
2211a9908a
fix(swc): Fix various bugs ( #1550 )
...
swc:
- Improve error message for invalid configs. (#1532 )
swc_common:
- Handle input source map correctly. (#1404 )
swc_ecma_parser:
- Fix parsing of generics type declarations when tsx is enabled. (#1526 )
swc_ecma_transforms_compat:
- Allow using carriage return. (#1549 )
2021-04-08 12:55:02 +00:00
강동윤
645de92762
Bump version
2021-04-07 12:02:35 +09:00
Austaras
0fabc2cfc9
feat(es/transforms/react): Support fast refresh ( #1524 )
...
Co-authored-by: 강동윤 <kdy1997.dev@gmail.com>
2021-03-31 22:14:47 +09:00
강동윤
13a9d12c84
chore(ci): Configure github actions for rustdoc ( #1523 )
2021-03-31 13:09:10 +09:00