Donny/강동윤
656f3e944d
fix(swc): Fix swc
as a crate ( #2376 )
...
swc_ecma_transforms_typescript:
- Don't drop imports from `react`.
2021-10-08 03:38:11 +00:00
Niklas Mischkulnig
1f99c3a44c
fix(es/transforms/optimization): Fix dead_branch_remover
( #2373 )
...
swc_ecma_transforms_optimization:
- `dead_branch_remover`: Fix handling of `switch(boolean)`.
2021-10-08 11:56:09 +09:00
Donny/강동윤
7a19fc6e8c
fix(es/trasnforms/testing): Improve test_fixture
( #2369 )
...
swc_ecma_transforms_testing:
- `test_fixture`: Don't print stderr to file.
- Enable logging.
- Add `test_fixture_allowing_error`.
2021-10-07 12:24:41 +00:00
Donny/강동윤
edc4cb432e
fix(swc): Fix order of custom passes ( #2367 )
...
swc_ecma_transform_react:
- Accept `top_level_mark`.
swc:
- Fix order of `custom_before_pass`.
2021-10-07 15:13:21 +09:00
Donny/강동윤
fac6f47863
perf(es/transforms): Improve performance ( #2329 )
...
swc_ecma_ast:
- Implement `Take` for `Function`.
- Implement `Take` for `FnExpr`.
- Implement `Take` for `ClassExpr`.
swc_ecma_transforms_compat:
- Migrate `es2015::duplicate_keys` to `VisitMut`.
- Migrate `es2015::template_literals` to `VisitMut`.
- Migrate `es2015::function_name` to `VisitMut`.
- Add more fast-path to `reserved_words` pass.
swc_ecma_transforms_react:
- Reduce allocations of `pure_annotations`.
- Migrate `pure_annotations` to `VisitMut`.
- Migrate `jsx::display_name` to `VisitMut`.
swc_ecma_transforms_optimization:
- Migrate `inline_globals` to `VisitMut`.
- `inline_globals`: Use `Lrc<FxHashMap<K, V>>`.
swc:
- Cache `current_dir()`.
- `ModuleConfig::build`: cacnonicalize only if `paths` is used.
2021-10-05 13:31:35 +00:00
Donny/강동윤
8403057268
fix(es/minifier): Don't optimize new String
. ( #2341 )
...
swc_ecma_transforms_optimization:
- Don't optimize calls like `new String`.
2021-10-04 06:44:37 +00:00
Donny/강동윤
a7357ab517
chore: Update rustc ( #2332 )
2021-10-01 12:11:17 +00: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
Pig Fang
2b292e6d17
feat(es): Support type-only import/export specifiers ( #2309 )
2021-09-28 22:05:20 +09:00
Donny/강동윤
e8a1710a21
fix(es/minifier): Fix bugs ( #2283 )
...
swc_ecma_transforms_optimization:
- `expr_simplifier`: Don't inject `0` needlessly. (#2257 )
2021-09-27 12:05:31 +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/강동윤
e46a842e99
feat(es/parser, es/transform): Implement ergonomic brand checking ( #2079 )
...
swc_ecma_parser:
- Implement parsing of private properties in object literals.
swc_ecma_transforms_base:
- `fixer`: Handle `const [a = (b, c)]`.
swc_ecma_transforms_compat:
- `class_properties`: Support ergonomic brand checks. (#2064 )
swc_ecma_transforms_proposal:
- Implement ergonomic brand checks for private fields. (#2064 )
2021-09-27 08:03:48 +00:00
Donny/강동윤
5e1003ec4c
fix(es/transforms/base): Fix hygiene
( #2299 )
...
swc_ecma_transforms_base:
- `hygiene`: Support usage-def conflict where def comes first. (#2297 )
2021-09-24 10:26:01 +00:00
Donny/강동윤
2156364121
fix(es/transforms/base): Fix hygiene
( #2282 )
...
swc_ecma_transforms_base:
- `hygiene`: Handle decl-ref conflict. (#2211 )
2021-09-22 06:56:04 +00:00
Donny/강동윤
e5f46a6800
fix(wasm): Fix bugs ( #2279 )
...
swc:
- Ensure that #2281 is fixed. (#2281 )
wasm:
- Fix `baseUrl` and `paths` support.
- Apply `hygiene` pass.
2021-09-21 15:24:03 +00:00
Pig Fang
4d500baaaa
fix(es/transforms/compat): Move the optional catch binding pass to ES2019 ( #2247 )
...
swc_ecma_transforms_compat:
- Move optional chaining pass to `es2019`.
Co-authored-by: Donny <kdy1997.dev@gmail.com>
2021-09-21 21:54:51 +09:00
Donny/강동윤
180dc31550
fix(es/transforms/base): Fix hygiene
pass ( #2266 )
...
swc_ecma_transforms_base:
- `hygiene`: Consider nested scopes correctly. (#2211 )
- `hygiene`: Fix handling of constructors.
2021-09-21 12:21:49 +00:00
강동윤
ce01b8a9b7
fix(es): Fix bugs ( #2256 )
...
swc_ecma_codegen:
- Fix source map of string literals. (#2253 )
swc_ecma_transforms_typescript:
- Allow using same name for a module with function. (#2243 )
2021-09-18 07:52:08 +00:00
강동윤
f087d1515b
fix(es/transforms/testing): Fix comparing logic ( #2263 )
...
swc_ecma_transform_testing:
- Fix comparing logic.
2021-09-16 20:21:09 +09:00
강동윤
6f33c327cb
fix(es/transforms): Fix bugs ( #2249 )
...
swc_ecma_transforms_compat:
- Fix `this` in class properties. (#2228 )
swc_ecma_transforms_typescript:
- Handle `import =` correctly. (#2234 )
- Ensure that #1653 is not the case anymore. (#1653 )
swc:
- Ensure that #2232 is not the case. (#2232 )
2021-09-15 07:46:03 +00:00
Iron Lu
6e12ef0306
fix(es/transforms/compat): Add new.target
to es5
( #2231 )
2021-09-13 15:51:17 +09:00
강동윤
9eafd0c6c4
fix(es/loader): Fix support for jsc.paths
. ( #2227 )
...
swc_ecma_loader:
- `TsConfigResolver`: Use `baseUrl`. (#2050 )
swc:
- Change type of `JscConfig.base_url` to `PathBuf`.
testing:
- Improve `NormalizedOutput::compare_to_file`.
2021-09-10 12:29:26 +00:00
강동윤
2c477780f0
fix(es): Fix bugs ( #2222 )
...
swc_ecma_parser:
- Don't panic on `typeof import(T)`. (#2198 )
- Fix parsing of ternary. (#2196 )
swc_ecma_transforms_base:
- `fixer`: Handle unary in lhs of an exponentation expression. (#2191 )
swc_ecma_transforms_compat:
- Use variable for `this` in arrow expressions. (#2212 )
swc_ecma_visit:
- Add a trait `InjectVars`.
node_swc:
- Increease recursion limit while deserializing. (#2223 )
2021-09-09 20:45:20 +09:00
강동윤
b4796d9d54
fix: Fix simple bugs ( #2220 )
...
swc_ecma_utils:
- Don't panic on jsx.
swc_ecma_transforms_typescript:
- Drop type-only reexports. (#2219 )
2021-09-09 05:06:03 +00:00
Kitson Kelly
87f30b21a3
feat(common): Add variants to FileName
( #2202 )
2021-09-03 13:55:31 +09:00
강동윤
77be9f63b9
fix(swc): Improve rust apis ( #2197 )
...
swc_ecma_transforms_testing:
- Make `expected` not affect source map of input.
swc:
- Accept `before` pass.
2021-09-01 23:34:37 +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
강동윤
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
David Sherret
99c35ff980
refactor(es): Use BlockStmt
instead Vec<Stmt>
for static blocks. ( #2188 )
...
swc_ecma_ast:
- Use `BlockStmt` instead of `Vec<Stmt>` for static blocks.
swc_ecma_parser:
- Fix span of static blocks.
2021-08-31 16:12:18 +09:00
David Sherret
2f2e35af69
fix(es/parser): Remove static_blocks
from TsConfig
( #2186 )
2021-08-31 14:52:51 +09:00
강동윤
11fe35dbd1
feat(es/minifier): Implement static evaluator ( #2176 )
...
swc_ecma_minifier:
- Add an api to evaluate constants statically.
2021-08-30 05:21:38 +00:00
강동윤
ee16139a19
fix(es/transforms): Fix bugs ( #2181 )
...
swc_ecma_transforms_compat:
- `regenerator`: Fix variable hoisting for for-in/of loops. (#2164 )
- Ensure #2071 is fixed. (#2071 )
2021-08-30 04:08:24 +00:00
강동윤
c0b0337d1d
fix(es): Fix easy bugs ( #2178 )
...
swc_ecma_parser:
- Fix parsing of complex arrow expressions in a conditional expression. (#2174 )
- Report an error for wrong jsx, instead of `panic!`. (#2173 )
swc_ecma_transforms_react:
- `jsx`: Handle fragment with single child correctly. (#2177 )
swc:
- Ensure that #2170 is an invalid issue. (#2170 )
2021-08-29 20:40:52 +00:00
Sosuke Suzuki
a10118c90f
feat(es/parser, es/codegen, es/visit): Support static blocks in classes ( #2130 )
...
swc_ecma_ast:
- Add support for static blocks in classes.
2021-08-30 00:03:14 +09:00
강동윤
97514a7549
fix(es): Fix some easy bugs ( #2166 )
...
swc_ecma_parser:
- Fix parsing of typescript generics in jsx context. (#2161 )
swc_ecma_transforms_base:
- `fixer`: Handle assignment with patterns in arrow body. (#2163 )
swc_ecma_utils:
- `as_bool`: Handle assignment with operator correctly. (#2165 )
2021-08-27 06:03:06 +00:00
강동윤
8c5daeec2a
fix(es/transforms/base): Fix await
expressions. ( #2157 )
...
swc_ecma_transforms_base:
- Preserve parenthesis in `await (a || b)`. (#2155 )
2021-08-26 13:19:12 +09:00
강동윤
c78baef2cc
fix(es/transforms/compat): Implement new.tartet
( #2129 )
...
swc_ecma_transforms_compat:
- Handle `new.target`. (#1179 )
2021-08-22 06:56:49 +00:00
Sosuke Suzuki
e3e2908139
feat(es/parser): Report an early error for await
used in wrong contexts ( #2098 )
2021-08-21 04:46:22 +09:00
Sosuke Suzuki
33bdff0957
feat(es/parser): Emit an error for top-level await in script ( #2094 )
...
swc_ecma_parser:
- Report an error for a top-level await statements.
2021-08-18 00:17:59 +09:00
muji
e84ed13ffe
feat(es/loader): Support more types for browser
in package.json ( #2060 )
2021-08-16 17:34:53 +09:00
강동윤
0e30deba1a
feat(es/minifier): Implement more rules ( #2058 )
...
swc_ecma_minifier:
- Enable some sequential merging if `collapse_vars` is set.
- Enable sequential merging for top level items.
- `if_return`: Don't inject `void` if it's not exact function body. (#2072 )
- `sequences`: Add some condition for aborting. (#2078 )
swc_ecma_utils:
- Add `collect_decls`.
- Add `collect_decls_with_ctxt`.
swc_ecma_transforms_optimization:
- `inline_globals`: Don't replace if a binding exists. (#1294 )
2021-08-15 13:09:21 +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
강동윤
b0c41bb3f2
chore: Cleanup codes for fixture testing ( #2070 )
2021-08-14 06:34:04 +00:00
강동윤
1b9584cfc0
fix(swc): Fix bugs ( #2067 )
...
swc_ecma_transforms_compat:
- Fix optional chaining. (#2063 )
node/swc:
- Fix definition of `ImportDeclaration`. (#2059 )
testing:
- Allow using `testing` with stable `rustc`.
testing_macros:
- Add `#[inline(never)]`.
2021-08-13 10:57:25 +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
강동윤
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
muji
cfc3725dbb
feat(bundler): Support paths
( #2054 )
...
swc_ecma_ast:
- Implement more traits for `TargetEnv`.
swc_ecma_loader:
- `NodeModulesResolver`: Support aliasing.
2021-08-12 14:30:49 +09:00
Iron Lu
a26071f99d
feat(es/transforms): Improve module transform ( #2053 )
...
swc_ecma_transforms_module:
- Make output mockable. (#2049 )
2021-08-11 15:32:21 +09:00
muji
2151366b93
feat(es/loader): Support target runtime environment. ( #2045 )
...
swc_ecma_ast:
- Add `TargetEnv`.
swc_ecma_loader:
- Support specifying target environment.
2021-08-10 15:36:10 +09:00