강동윤
eecdca4e86
fix(es/transforms/base): Fix resolver ( #1414 )
...
swc_ecma_transforms_base:
- `resolver`: Handle private class methods. (denoland/deno_lint#615 )
2021-02-19 19:51:50 +09:00
강동윤
27aad87798
fix(es/transforms/base): Fix hygiene of catch clause ( #1413 )
...
swc_ecma_transforms_base:
- `hygiene`: Apply ops in catch clauses. (#1402 )
2021-02-19 16:52:02 +09:00
강동윤
eaeffabf74
fix(es): Improve performance ( #1411 )
...
swc_ecma_ast:
- Add `BindingIdent`.
- Reduce size of `Ident`.
2021-02-19 15:34:22 +09:00
강동윤
0be20ff0ae
feat(es/transforms/react): New jsx transform ( #1408 )
...
swc_ecma_transforms_react:
- Implement new jsx transform. (#1103 , denoland/deno#7993 )
2021-02-19 14:32:53 +09:00
강동윤
8fb0b4c303
fix(es/transforms/react): Use VisitMut instead of Fold ( #1409 )
...
swc_ecma_transforms_base:
- Implement `MapWithMut` for more types.
swc_ecma_transforms_react:
- Migrate to `VisitMut`.
2021-02-17 14:40:03 +09:00
강동윤
5ad57b02f2
fix(es/parser): Fix bugs ( #1405 )
...
swc_ecma_parser:
- Parse generics in class methods with special name properly.
2021-02-17 01:47:00 +09:00
강동윤
fc2a8cb073
fix(es): Fix docs.rs ( #1399 )
2021-02-15 02:45:50 +09:00
강동윤
9dabf00200
fix(es): Fix bugs ( #1395 )
...
swc_ecma_codegen:
- Implement `emit_ts_type_assertion`.
- Implement `emit_ts_type_cast_expr`.
- Implement `emit_ts_ns_export_decl`.
- Implement `emit_ts_signature_decl`.
swc_ecma_parser:
- Ensure that we report an error for invalid input. (#1391 )
swc_ecma_transforms_base:
- fixer: Handle `await (await foo)()`. (#1397 )
2021-02-14 22:18:05 +09:00
David Sherret
313f51fab1
feat(es/parser): Allow to look at the kind of an error ( #1396 )
...
swc_ecma_parser:
- Add a method to look at the kind of an error without destructuring it.
Co-authored-by: 강동윤 <kdy1997.dev@gmail.com>
2021-02-14 16:49:28 +09:00
Bartek Iwańczuk
8ef78a9e08
feat: add import assertion to dep analyzer ( #1387 )
...
Co-authored-by: 강동윤 <kdy1997.dev@gmail.com>
2021-02-10 21:49:44 +09:00
강동윤
bf445a75c4
fix(swc): Fix bugs ( #1372 )
...
swc_ecma_ast:
- Support import assertions for exports.
swc_ecma_parser:
- Support import assertions for exports.
swc_ecma_transform_typescript:
- Strip `declare globals` correctly. (#1383 )
spack:
- Re-enable multi-entry tests.
2021-02-10 17:25:28 +09:00
강동윤
686c98116d
fix(es): Fix for the type checker ( #1381 )
...
swc_ecma_codegen:
- Fix codegen of `TsCallSignatureDecl`.
swc_ecma_transforms_base:
- Handle `TsCallSignatureDecl`.
2021-02-08 01:39:05 +09:00
Michael Nicholls
bd119e6634
feat(es/preset-env): Custom config path ( #1374 )
...
swc_ecma_preset_env:
- Support custom path.
Co-authored-by: 강동윤 <kdy1@dudy.kr>
2021-02-03 13:27:11 +09:00
강동윤
0d130f8103
fix(bundler): Prevent hanging ( #1369 )
...
swc_bundler:
- Prevent infinite loop.
2021-01-30 13:35:07 +09:00
강동윤
af25a88902
fix(swc): Fix bugs for v1.2.47 ( #1368 )
...
swc_ecma_parser:
- Fix generic parsing issue in jsx context. (#1299 )
swc_ecma_transforms_module:
- Allow importing a module multiple time. (#1232 )
- Handle imports in the constructor of an exported class decl. (#1213 )
swc:
- Respect `sourceMappingURL`. (#1236 )
- Resolve `sourceMappingURL` relative from file. (#1255 )
- Respect `isModule: false` (#1258 )
spack:
- Support loading json files. (#1225 )
2021-01-29 22:19:04 +09:00
David Sherret
4155822283
Fix span of arrow expression with type params ( #1365 )
...
swc_ecma_parser:
- Fix span of arrow expression with type params.
Co-authored-by: 강동윤 <kdy1997.dev@gmail.com>
2021-01-28 20:55:43 +09:00
강동윤
78e79a7ace
feat(es/transforms/typescript): Strip out type-only namespaces ( #1361 )
...
swc_ecma_transforms_typescript:
- Strip out type-only namespaces.
2021-01-27 16:20:10 +09:00
강동윤
93a19140a8
fix(es): Fixes for type checker ( #1359 )
...
swc_ecma_codegen:
- Print type parameters of a class method.
swc_ecam_transforms_base:
- `ts_resolver`: Handle type parameter constraints correctly.
2021-01-26 22:05:30 +09:00
강동윤
947161b43b
fix(bundler): Fix bugs ( #1349 )
...
swc_bundler:
- Fix deglobbing of imports. (denoland/deno#8985)
- Use correct syntax context while deglobbing imports. (denoland/deno#9212)
- Allow reexporting from wrapped esms. (denoland/deno#8959, denoland/deno#9200)
- Fix statement orderings. (denoland/deno#9250)
- Emit injected items as early as possible. (denoland/deno#9250)
- Respect `external_modules`. (#1338 )
- Fix cjs suppport. (#1328 )
swc_ecma_transforms_base:
- hygiene: Fix for hoisting. (denoland/deno#9212 )
2021-01-25 21:15:42 +09:00
강동윤
947f9c5641
fix(es/ast): Fix EqIgnoreSpan ( #1360 )
...
swc_ecma_ast:
- Make `EqIgnoreSpan` impl of` StrKind` always return true.
2021-01-25 18:14:34 +09:00
강동윤
2921b903d7
fix(es/ast): Compilation ( #1357 )
...
swc_ecma_ast:
- Fix compilation.
2021-01-25 11:32:09 +09:00
강동윤
b7ae896bbd
fix(es): Fix bugs ( #1353 )
...
swc_ecma_transforms_compat:
- Handle all accesses to private class properties. (#1333 )
- block_scoping: Inject variable correctly. (#1231 )
- Handle async arrow function correctly. (#1341 )
2021-01-23 20:52:53 +09:00
강동윤
d4df2cece8
fix(es): Fix bugs ( #1347 )
...
swc_ecma_parser:
- Do not emit strict mode error while backtracking. (#1252 )
swc_ecma_transforms_proposal:
- Handle decorator on methods with computed key.
2021-01-23 15:46:42 +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
강동윤
0469e3a33e
fix(es): Move and rename JscTarget ( #1343 )
...
swc_ecma_ast:
- Add `EsVersion`.
swc_ecma_parser:
- Remove `JscTarget`.
- Reexport `EsVersion` as `JscTarget`.
2021-01-20 19:43:56 +09:00
강동윤
17f17e82e6
fix(bundler): Fix bugs ( #1342 )
...
swc_bundler:
- Add a testing system for constant inliner.
swc_ecma_transforms_optimization:
- const_propagation: Handle export specifiers.
- const_propagation: Handle inlining of variables whose initializer is inlined.
- dce: Allow dropping identifiers used in `exported` part of export specifiers.
2021-01-20 16:10:12 +09:00
강동윤
ddc9492aed
fix(es/transforms): Handle enum in namespaces ( #1340 )
...
swc_ecma_transforms_typescript:
- Handle enums in namespaces. (#1329 )
swc:
- Exclude files based on .swcrc.
2021-01-18 23:00:53 +09:00
강동윤
613a5a45dd
fix(es): Fixes for the type checker ( #1331 )
...
swc_ecma_codegen:
- Fix codegen of typescript interfaces.
swc_ecma_transforms_base:
- ts_resolver: Handle ts module declarations.
2021-01-15 21:12:16 +09:00
강동윤
3faefb5836
feat(es): TypeScript 4.2 ( #1330 )
...
swc_ecma_ast:
- Add `is_abstract` to constructor types.
swc_ecma_codegen:
- Fix codegen of `Bool`.
- Implement codegen for abstract constructors.
swc_ecma_parser:
- Inline tsc parser test suite.
- Implement parsing of abstract constructor types.
2021-01-15 19:30:44 +09:00
강동윤
a9bf9bb9e1
fix(swc): Fix bugs ( #1300 )
...
swc_ecma_codegen:
- Handle unicode escape sequences when target is es5. (#1227 , #1326 )
swc_ecma_transforms_compat:
- Handle template literals correctly. (#1314 )
- Handle private class properties correctly. (#1306 )
swc:
- Don't panic on `export * as foo from 'foo'`. (#1307 )
2021-01-14 21:56:25 +09:00
강동윤
6984217200
feat(ES/transform/typescript): Support namespace ( #1325 )
...
swc_common:
- Update `serde`.
swc_ecma_transforms_typescript:
- Add support for namespace.
2021-01-12 21:59:42 +09:00
강동윤
23aebacade
fix(bundler): Fix bundler ( #1318 )
...
swc_bundler:
- Use two-context system properly.
- Remove old logic.
- keywords: Handle assignment pattern property.
- keywords: Handle shorthand property.
- keywords: Handle identifiers in declarations.
swc_ecma_transforms_typescript:
- Do not remove import if there's non-type usage. (Related to denoland/deno#8978 )
swc_ecma_transforms_optimization:
- dce: Handle new expression correctly.
2021-01-11 19:38:20 +09:00
강동윤
dc0d226684
Update cargo.toml
2021-01-05 21:55:00 +09:00
강동윤
c83d19eb2f
feat(ecmascript): Remove macros ( #1319 )
...
swc_ecma_ast:
- Drop dependency on `enum_kind`.
swc_ecma_parser:
- Remove `swc_ecma_parser_macros`.
2021-01-05 21:39:24 +09:00
강동윤
842b6f953c
fix(ecmascript/transforms): Fix dce ( #1301 )
...
swc_bunder:
- Fix `keywords` pass.
swc_ecma_codegen:
- Ensure that the code generator handles unicode characters properly. (denoland/deno#8925 )
swc_ecma_parser:
- Ensure that the parser handles unicode characters properly. (denoland/deno#8925 )
swc_ecma_transforms:
- Fix dce.
2021-01-05 18:45:26 +09:00
강동윤
5d515d9ced
Fix deps
2021-01-05 14:59:53 +09:00
강동윤
76d9e2a9df
feat(ecmascript/transforms): Split into multiple crates. ( #1311 )
2021-01-05 14:29:52 +09:00
강동윤
682661d9a9
Fix
2021-01-01 13:38:44 +09:00
강동윤
35cac79f48
Publish swc crate ( #1308 )
2021-01-01 13:30:35 +09:00
Boris
d638fc32cc
Add tests to cover comments in regex pattern ( #1303 )
2020-12-30 23:13:26 +09:00
강동윤
254efc4d54
Bump version
2020-12-29 13:04:20 +09:00
Maxime Guerreiro
9063908528
feat(ecmascript/codegen): fix and use omit_trailing_semi ( #1298 )
...
swc_ecma_codegen:
- Use omit_trailing_semi in 'assert_min' tests, to identify bugs. Before this,
no code was using this method - and it had some serious bugs.
- Omit semicolons when writing punctuation, as it's permitted to do so.
- Use two macros ('semi', 'formatting_semi') to distinguish between required
semicolons, as used in for(...), and optional ones that are used between
statements.
This commit does not enforce the use of omit_trailing_semi when cfg.minify is
used (except in tests using assert_min), and as such should not modify the
behavior of existing apps. This is confirmed by the Test262 suite passing
without changes.
Co-authored-by: 강동윤 <kdy1@dudy.kr>
2020-12-29 11:56:38 +09:00
강동윤
ba13db54db
fix(bundler): Fix remaining bugs ( #1296 )
...
swc_bundler:
- Allow `export *` and `import` from same source. (denoland/deno#8828 , denoland/deno#8725 )
- Handle contextual keywords. (denoland/deno#8680 )
- Prevent duplicated identifiers. (denoland/deno#8725 )
swc_ecma_transforms:
- dce: Preserve tags in tagged template literals. (denoland/deno#8746 )
- dce: Handle throw statement correctly. (denoland/deno#8736 )
2020-12-28 19:53:40 +09:00
강동윤
b66ee58ee3
fix(bundler): Fix statement ordering issue ( #1264 )
...
swc_bundler:
- Reduce binary size by reducing usage of visitor / folders.
- Handle `export *` and `export { default }` from same source. (denoland/deno#8530 , denoland/deno#8679 )
- Fix ordering of statements. (denoland/deno#8545 )
- Sort statements in wrapped modules. (https://github.com/denoland/deno/issues/8211#issuecomment-741070299 )
- Exclude default export while handling `export *`.
- Exclude `export { default }` and `export { foo as default }` while handling `export *`.
- Make statements from same module to be injected together. (denoland/deno#8620 )
swc_ecma_transforms:
- fixer: Handle assignments in the callee of `new` correctly.
- fixer: Handle seqence expression in the callee of `new` correctly.
2020-12-27 19:02:41 +09:00
강동윤
6941f29943
fix(swc): Fixes for typescript type checker ( #1146 )
...
swc_ecma_codegen:
- Fix codegen of `TsConstructorSignature`.
- Fix codegen of `TsIndexSignature`.
- Fix codegen of type parameters in arrow expressions.
- No panic on dummy span.
swc_ecma_parser:
- Parse optoinal method correctly.
swc_ecma_transforms:
- resolver: Handle type parameters in arrow expressions.
2020-12-27 18:18:30 +09:00
강동윤
08c5d83d20
Bump version
2020-12-27 13:22:02 +09:00
강동윤
34249bbf47
feat(ecmascript/ast): Add EqIgnoreSpan and TypeEq ( #1295 )
2020-12-27 13:11:44 +09:00
Boris
c2a99944cf
feat(ecmascript/parser): Add tests for binding patterns ( #1289 )
2020-12-22 14:12:33 +09:00
강동윤
8a8db58f1c
fix(ecmascript): Fix bugs related to string literals ( #1287 )
...
swc_ecma_ast:
- Add `Str.kind`.
swc_ecma_transforms:
- Fix quotes in template literals. (#1280 )
swc_ecma_codegen:
- Fix escape of single quotes. (#1259 )
- Fix codegen of wrong escapes. (#1276 )
swc:
- Ensure that #1271 is about napi's deserialization.
2020-12-22 04:27:18 +09:00
Liam Murphy
576fb6a532
fix(ecmascript/lexer): Normalize \r\n and \r to \n in template literals ( #1286 )
...
swc_ecma_parser:
- Normalize \r\n and \r to \n in template literals.
Co-authored-by: 강동윤 <kdy1997.dev@gmail.com>
2020-12-21 17:56:17 +09:00
Liam Murphy
b760c7c9c7
fix(ecmascript/codegen): TsQualifiedName has trailing dot ( #1268 )
...
Co-authored-by: 강동윤 <kdy1997.dev@gmail.com>
2020-12-20 22:27:31 +09:00
강동윤
0ead8dc403
fix(ci): Fix ci (OOM & library api change) ( #1284 )
2020-12-20 21:31:00 +09:00
강동윤
bf69b47791
fix(ecmascript/parser): Fix span of declare
decls. ( #1282 )
...
swc_ecma_parser:
- Include `declare` span. (#843 )
2020-12-19 23:48:13 +09:00
강동윤
25856f230c
feat(parser): Don't hang on unexpected inputs ( #1274 )
...
swc_ecma_parser:
- Don't hang on unexpected inputs. (#1272 , denoland/deno#8719 )
2020-12-14 16:37:11 +09:00
강동윤
ccf4c2b12c
feat(fixer): Handle ?? properly ( #1270 )
...
swc_ecma_transforms:
- Handle `??` properly. (denoland/deno#8722 )
2020-12-12 17:45:54 +09:00
David Sherret
7a46c8844e
Implement Spanned for TokenAndSpan ( #1269 )
...
Co-authored-by: 강동윤 <kdy1997.dev@gmail.com>
2020-12-12 12:45:22 +09:00
강동윤
03f9b93f58
Fix bundler ( #1247 )
...
swc_bundler:
- Handle indirect wrapped es modules. (denoland/deno#8597 , denoland/deno#8625 )
- Respect `export { foo }`. (denoland/deno#8626 )
swc_ecma_parser:
- Allow `??=`, `||=`, `??=` in non-ts modules. (denoland/deno#8627 )
swc_ecma_transforms:
- Make `hygiene` check if a variable with expanded name exists. (denoland/deno#8620 )
- Handle `??=` correctly.
2020-12-09 14:23:44 +09:00
Luca Casonato
8ba2ae959d
feat: specifier position in DependencyDescriptor ( #1260 )
...
Co-authored-by: 강동윤 <kdy1997.dev@gmail.com>
2020-12-09 11:27:09 +09:00
강동윤
2e29d78281
fix: Decorator metadata ( #1248 )
...
swc_ecma_transforms:
- Emit proper typename for `design:type` used with enum. (#1160 )
2020-12-04 05:03:26 +09:00
강동윤
faa1c5f4e5
Fix bugs ( #1241 )
...
swc_ecma_codegen:
- Print multiline string correctly. (#1233 )
swc_ecma_transforms:
- `optional_chaining`: Ensure that #1149 is fixed. (#1149 )
- `async_to_generator`: Remove method parameters. (#1215 , #1235 )
- `regenerator`: Don't emit useless expressions. (#1125 )
- `regenerator`: Track `finally` properly. (#1125 )
spack:
- LRU cache for resolver.
2020-11-30 19:20:21 +09:00
강동윤
ea6beaa06d
Fix bundler ( #1242 )
...
swc_ecma_codegen:
- Fix codegen of unicode escapes. (denoland/deno#8541 )
swc_bundler:
- Allow importing a module multiple time. (denoland/deno#8530 )
2020-11-30 18:21:34 +09:00
강동윤
f8a1fb878d
fix(regenerator): Handle ternary correctly ( #1228 )
...
swc_ecma_transforms:
- Fix interaction between ternary and await. (#1216 )
testing_macors:
- Fix for `--lib` tests.
2020-11-24 02:54:18 +09:00
강동윤
25f2ff1a45
Bump version
2020-11-22 18:17:55 +09:00
강동윤
6888c69bda
Fix codegen: preserve input ( #1221 )
...
swc_ecma_codegen:
- Preserve input. (#1204 )
2020-11-21 02:04:29 +09:00
강동윤
4294b5e7ba
bundler: Fix issues ( #1212 )
...
swc_bundler:
- Bundler rework. (denoland/deno#6802)
- Reexports are not transitive. (denoland/deno#8246)
- Dependencies of module with circular dependency. (denoland/deno#8302)
- Order of injection between import vs export. (denoland/deno#8302)
- `export *` in wrapped modules. (denoland/deno#8308, denoland/deno#8399)
- `export { a as b }` in wrapped modules.
- Fix denoland/deno#8314.
- Fix denoland/deno#8325.
- Fix denoland/deno#8344.
- Make deno test verify exported names.
- Handle `export * from './foo'`.
swc_ecma_parser:
- Don't panic on private name in interface (Closes #1211 )
swc_ecma_transforms:
- dce: Prevent infinite loop
- Faster constant propagation pass.
2020-11-19 20:42:56 +09:00
Brad Dunbar
4327d91fe3
BigInt literal keys ( #1192 )
2020-11-15 01:22:35 +09:00
강동윤
af0b0a9ab1
Fix fixer ( #1207 )
...
swc_ecma_transforms:
- fixer: Don't unwrap paren if there's a comment for inner node.
2020-11-08 10:59:36 +09:00
강동윤
0a5e23f97c
bundler: Handle swc helpers ( #1199 )
...
swc_bundler:
- Handle helpers from `swc_ecma_transforms`.
swc_ecma_transforms:
- dce: Remove unused self-referential functions.
2020-11-05 09:53:18 +09:00
강동윤
f21a28844d
resolver: handle class declarations ( #1200 )
...
swc_ecma_transforms:
- resolver: Handle class declarations (denoland/deno_lint#463 )
2020-11-03 01:30:21 +09:00
강동윤
bae0eda8bd
Fix bundler ( #1194 )
...
swc_bundler:
- Remove wrong assertion. (denoland/deno#8148 )
- Remove wrong variables created on reexports. (denoland/deno#8188 )
swc_ecma_transforms:
- inlining: Treat usage as an argument as writes. (denoland/deno#8180 )
- inlining: Visit rhs of `||` and `&&`. (denoland/deno#8189 )
2020-10-30 14:49:02 +09:00
Pig Fang
11dbc1406c
TypeScript 4.1: intrinsic
keyword ( #1193 )
...
Co-authored-by: 강동윤 <kdy1997.dev@gmail.com>
2020-10-29 18:37:22 +09:00
Pig Fang
5ef993d9b2
TypeScript 4.1: template literal type ( #1190 )
...
Co-authored-by: 강동윤 <kdy1997.dev@gmail.com>
2020-10-29 17:27:35 +09:00
강동윤
a368f66e77
Bump version
2020-10-29 15:44:12 +09:00
강동윤
32b3bbd50b
Emit only ascii ( #1191 )
...
swc_ecma_codegen:
- Emit only ascii characters. (#1187 , #1188 )
2020-10-29 14:33:33 +09:00
강동윤
b2aec35eb6
Fix issues ( #1189 )
...
swc_bundler:
- Support emitting iife. (Closes #1184 )
swc_ecma_parser:
- Auto-detect script / module (Closes #1164 )
- lexer: Error recovery for strict mode and module mode.
- More error recovery logic for strict mode violation.
- Fix panic on invalid input. (Closes #1170 )
2020-10-28 21:20:11 +09:00
Brad Dunbar
667a8c72c0
Single argument arrow functions ( #1186 )
...
swc_ecma_codegen:
- Remove parens from arrow functions when possible.
- Remove space after prop keys when minifying.
- Remove line break after expressions when minifying.
- Remove space after generator `*` when minifying.
2020-10-27 15:08:05 +09:00
Brad Dunbar
6e9d06e95a
codegen: Preserve space for postfix unary operators ( #1185 )
...
Co-authored-by: 강동윤 <kdy1997.dev@gmail.com>
2020-10-25 17:38:27 +09:00
Frederik Wessberg
6b03c659ca
transforms: fix _typeof helper
2020-10-24 23:26:13 +09:00
강동윤
6ba64ed359
Bump version of swc_ecmascript
2020-10-20 22:17:28 +09:00
강동윤
cf01ec8277
Bump version
2020-10-20 22:09:52 +09:00
Brad Dunbar
26c530b133
Invalid template escape in ES2018+ ( #1175 )
...
Co-authored-by: 강동윤 <kdy1997.dev@gmail.com>
2020-10-20 00:17:20 +09:00
Brad Dunbar
fd760fbf09
parser: Remove unnecessary question mark ( #1174 )
2020-10-19 11:19:56 +09:00
강동윤
626c881c98
bundler: Fix ordering ( #1171 )
2020-10-16 22:26:18 +09:00
강동윤
11d137ac11
ast: Add support for fuzzing ( #1167 )
...
swc_common:
- Add support for fuzzing.
swc_ecma_ast:
- Add support for fuzzing.
2020-10-15 14:58:11 +09:00
강동윤
a5e6242601
Bump version
2020-10-14 14:39:51 +09:00
Pig Fang
aded151b8f
[typescript] 4.1 mapped type 'as' clause ( #1151 )
...
Co-authored-by: 강동윤 <kdy1997.dev@gmail.com>
2020-10-13 16:44:05 +09:00
강동윤
5a91ab994c
bundler: Fix dead code elimination ( #1157 )
...
swc_bundler:
- Fix dce bug. (#1156 )
swc_ecma_transforms:
- resolver: Ignore non-computed class properties.
- dce: Handle usages in class property initializers.
2020-10-12 00:36:44 +09:00
강동윤
f0ea70cb25
bundler: Allow importing and exporting from same module ( #1152 )
...
swc_bundler:
- Allow importing and exporting from same module. (#1150 )
2020-10-09 19:10:25 +09:00
강동윤
75a6211e2d
Fix hygiene and bundler ( #1144 )
...
swc_bundler:
- Change order of execution of modules with circular imports. (#1139 )
swc_ecma_transforms:
- hygiene: Fix handling of default in object patterns. (#1138 )
2020-10-07 14:55:02 +09:00
강동윤
0586c733e3
Fix bugs ( #1143 )
...
swc_ecma_transforms:
- fixer: Fix conditional expression in await expressions. (#1133 )
- optional_chaining: Fix call expression. (#1136 )
- hygiene: Fix codegen of computed keys. (#1140 )
2020-10-06 23:27:23 +09:00
강동윤
e4ddfcc899
export * as ns is part of ES2020 ( #1142 )
...
swc_bundler:
- Add direct support for `export * as ns from 'foo';`. (#1137 )
swc_ecma_transforms:
- Split `export` pass to `export_namespace_from` and `export_default_from`.
swc:
- Enable `export * as ns` for targets lower than es2020.
2020-10-06 20:48:29 +09:00
강동윤
aa9555865b
Fix bugs ( #1132 )
...
swc_ecma_transforms:
- Handle typescript class properties correctly. (#1122 )
- Handle optional chaining properly. (#1130 )
- Inject variables for nullisn coalescing in correct scope. (#1123 )
2020-10-04 21:59:19 +09:00
강동윤
205ce4ebe2
bundler: fix extra bugs ( #1127 )
...
swc_bundler:
- Prevent invalid output like `export * as helpers`
- Prevent stack overflow which occurs while bundling `https://deno.land/x/oak@v6.2.0/mod.ts `
swc_ecma_transforms:
- Migrate inlining pass to VisitMut
2020-10-04 00:19:35 +09:00
Nayeem Rahman
e4b8a0cc1e
fix(strip): Don't treat type-only exports as concrete references ( #1126 )
...
Co-authored-by: 강동윤 <kdy1997.dev@gmail.com>
2020-10-03 17:43:09 +09:00
Juho Vepsäläinen
ea091337d8
fix(jsx): Drop extra spaces around jsx attributes ( #1121 )
...
Co-authored-by: 강동윤 <kdy1997.dev@gmail.com>
2020-10-02 17:06:02 +09:00
강동윤
9879fa59c8
bundler: fix bugs ( #1105 )
...
swc_bundler:
- Correct lca for circular dependencies.
- Handle namespaced imports. (#1109 )
- Handle namespaced reexports. (#1110 )
- Handle shorthand properly. (#1111 )
- Implement `import.meta` (#1115 )
- Handle reexport mixed with imports correctly. (#1116 )
- Handle export default decls in computed-key modules.
- Remove all export * from. output. (#1118 )
- Handle export of class or function declaration in a computed module properly. (#1119 )
swc_ecma_transforms:
- Do not rename class members. (#1117 )
2020-10-02 11:07:40 +09:00
강동윤
1f00d9ba26
Fix jest extension ( #1106 )
2020-09-24 19:49:12 +09:00
강동윤
ab8df21797
Fix optional chaining in argument position ( #1104 )
2020-09-24 15:14:30 +09:00
Nayeem Rahman
a9c3072b65
fix(strip): Fix Config::import_not_used_as_values ( #1101 )
...
Co-authored-by: 강동윤 <kdy1997.dev@gmail.com>
2020-09-23 22:52:47 +09:00
강동윤
73671ecd90
chores: Bump version of wasm ( #1102 )
2020-09-23 21:44:51 +09:00
강동윤
688d16f228
Import assertion / json modules ( #1100 )
...
swc_atoms:
- Add "assert".
swc_ecma_ast
- Add a field to an import declaration.
swc_ecma_parser:
- Parse assertions in import statements.
- Parse assertions in top-level dynamic imports.
- Parse assertions in non-top-level dynamic imports.
swc_ecma_transforms:
- Fix compilation.
2020-09-23 14:27:27 +09:00
강동윤
7e8ff1d342
codegen: Fix for jsx ( #1097 )
2020-09-22 19:56:59 +09:00
강동윤
6c6f1aaaa3
Fixs bugs ( #1095 )
...
spack:
- fix resolver. (#1076 )
swc_common:
- preserve original sourcemap. (#1091 )
swc_ecma_transforms:
- optional chaining: `a?.b.c.d.e`. (#1092 )
- fixer: preserve parenthesis in `(a || b)()`. (#1093 )
- compat::es2015: Change order of passes (#1036 )
2020-09-22 16:39:00 +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
강동윤
ac0a19c0e8
resolver: Handle pattern in lhs of for of/in correctly ( #1089 )
2020-09-21 12:04:46 +09:00
강동윤
7905b0dcf5
wasm: Automatic deployment ( #1084 )
...
wasm:
- Add auto deployment.
2020-09-19 02:07:28 +09:00
강동윤
7ffb4c0bf9
Extension for jest ( #1081 )
2020-09-18 14:29:50 +09:00
강동윤
24c597f097
bundler: fix for deno ( #1078 )
...
swc_bundler:
- Run fixer before returning bundles.
- Fix planning of circular imports.
- Support circular imports of root entries.
- Remark properly while merging complex imports mixed with exports.
2020-09-17 21:05:47 +09:00
강동윤
1af1840d01
Fix swc_bundler ( #1075 )
...
swc_bundler:
- Skip least_common_ancestor for roots.
- Correct planning for circular imports mixed with normal imports.
- Correct merging of circular imports mixed with normal imports.
2020-09-16 18:28:10 +09:00
강동윤
ff0db8f122
Typo
2020-09-15 14:28:53 +09:00
강동윤
bc82b5567e
typescript_strip: option to remove completely unused imports ( #1060 )
2020-09-15 14:25:13 +09:00
강동윤
4d5a0dacec
resolver: Correctly set in_type ( #1071 )
2020-09-12 23:56:10 +09:00
강동윤
31d4a0ee73
Bump swc_ecmascript
2020-09-12 22:00:06 +09:00
강동윤
8a0172912e
cjs: Fix import order ( #1069 )
2020-09-12 21:52:37 +09:00
강동윤
f029115914
resolver: No additional scope for function child ( #1070 )
2020-09-12 19:23:06 +09:00
강동윤
0972db98a1
parser: Parse member expression is object patterns ( #1068 )
2020-09-12 18:39:25 +09:00
강동윤
5c76aea82b
Fix resolver ( #1064 )
...
swc_ecma_transforms:
- resolver: properly handle let and const
- resolver: handle catch parameters
- resolver: handle parameter properties
swc_ecma_visit:
- reduced compile time of debug build
2020-09-11 23:33:36 +09:00
강동윤
2fff66d985
codegen: Don't emit newline after a block comment ( #1062 )
2020-09-11 15:09:35 +09:00
강동윤
09e3f96a3e
jsdoc: Fix parser ( #1059 )
2020-09-11 12:52:57 +09:00
강동윤
dc4c92c9da
common_js: Change order of exports ( #1057 )
...
swc_ecma_transforms:
- Update order of imports and exports (#1043 )
2020-09-11 10:21:07 +09:00
강동윤
aec155b58f
resolver: Fix handling of constructor parameters ( #1056 )
2020-09-10 22:56:35 +09:00
강동윤
e2546e0100
resolver: Handle constructor properly ( #1054 )
2020-09-10 10:48:26 +09:00
강동윤
3a26d3d34d
Do not rename keywords in meta properties ( #1053 )
2020-09-09 15:16:44 +09:00
강동윤
9be8bf671d
fixer: Handle conditional expression in callee ( #1051 )
2020-09-09 12:26:10 +09:00
강동윤
82ae71faa1
Fix ts_resolver ( #1049 )
2020-09-08 20:45:58 +09:00
강동윤
98f6e1dd57
Remove wrong assertion ( #1041 )
2020-09-07 19:25:11 +09:00
강동윤
57112fc42b
Improve transforms ( #1035 )
...
swc_ecma_transforms:
- Fix `this` in optional chaining expression. (https://github.com/Brooooooklyn/swc-node/issues/62 )
- Optimize typescript stripper
- Optimize fixer
2020-09-06 19:47:15 +09:00
강동윤
eb2162cbd2
Fix stack overflow ( #1032 )
...
swc_ecma_codegen:
- Fix codegen of large binary expressions.
swc_ecma_parser:
- Fix stack overflow while parsing large binary expressions.
swc_ecma_transforms:
- typescrip::strip: Fix stack overflow while handling large binary operations.
- hygiene: Fix stack overflow by migrating it to `VisitMut`.
- hygiene: Improve performance.
- fixer: Fix stack overflow by migrating it to `VisitMut`.
- resolver: Migrate to `VisitMut`.
2020-09-06 15:09:02 +09:00
강동윤
6524802ae5
fixer: Handle binary expression in callee of new ( #1030 )
2020-09-04 17:31:02 +09:00
강동윤
108b22c0d6
Fix block scoping ( #1029 )
...
swc_ecma_transforms
- block_scoping: Handle this (#1021 )
- block_scoping: Handle variable mutation in for loops (#1022 )
2020-09-04 16:46:59 +09:00
강동윤
3d63798c9e
Handle dynamic imports in non-es6 modules ( #1028 )
2020-09-04 16:18:57 +09:00
Bartek Iwańczuk
c4cc433434
fix(dep_graph): top level dynamic import ( #1024 )
2020-09-03 23:28:25 +09:00
강동윤
1fd9bd63f9
Bump version
2020-09-03 22:51:04 +09:00
Bartek Iwańczuk
9a073f10a5
fix: expose dep_graph crate ( #1023 )
2020-09-03 22:46:41 +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
강동윤
a2960810ac
Add BigInt literal type ( #1020 )
2020-09-03 10:50:13 +09:00
강동윤
578d64a398
Support jsx pragma ( #1015 )
...
swc_ecma_transforms
- Support jsx pragma (#107 , #838 )
2020-08-30 20:32:45 +09:00
강동윤
8e237288d7
Migrate to napi ( #1009 )
2020-08-30 15:29:42 +09:00
LongYinan
b443a1e372
Test Reflect.metadata existed before use it ( #1011 )
...
Co-authored-by: 강동윤 <kdy1997.dev@gmail.com>
2020-08-30 13:30:50 +09:00
Bartek Iwańczuk
8ab466aafb
Add dependency analyzer ( #1010 )
2020-08-29 20:07:34 +09:00
강동윤
274b112ef4
Bump version
2020-08-29 20:00:34 +09:00
강동윤
9f2120ed4b
Improve performance of parser ( #1004 )
2020-08-27 21:33:34 +09:00
강동윤
99981f70c7
Add customizable api ( #1006 )
2020-08-27 20:35:28 +09:00
강동윤
d641c0216b
Bump version
2020-08-26 20:58:44 +09:00
강동윤
b25ccc006c
Improve performance ( #993 )
2020-08-26 20:50:18 +09:00
강동윤
511dc54961
Fix codegen of VisitMut for Option ( #996 )
...
swc_visit:
- Fix codegen of VisitMut for Option
2020-08-25 16:29:11 +09:00
강동윤
6c721112ab
Bump version
2020-08-24 22:50:00 +09:00
강동윤
0a83809b2a
Improve type resolver ( #994 )
2020-08-24 18:48:54 +09:00
강동윤
e3faea25b6
Improve performance of swc ( #992 )
...
swc_ecma_parser:
- Make macros uses match instead of `PartialEq`
swc_ecma_codegen:
- Move panic condition
2020-08-24 10:42:12 +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
강동윤
5000296967
Fix noop issues ( #990 )
2020-08-23 11:41:19 +09:00
강동윤
c475ab7f92
Bump versions
2020-08-21 20:06:37 +09:00
강동윤
e6191447fe
Typescript 4.0 ( #982 )
...
swc_ecma_parser:
- Add support for optional tuple element (#978 )
2020-08-21 19:31:46 +09:00
강동윤
53338fc0c3
Resolver for types ( #979 )
...
swc_ecma_transforms:
- Add ts_resolver
2020-08-21 16:25:09 +09:00
강동윤
993b77b325
Improve error messages ( #980 )
...
swc_ecma_parser:
- Improve error messages
2020-08-21 14:57:16 +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
Bartek Iwańczuk
7a13aabeb7
remove codegen::Handlers ( #974 )
2020-08-17 21:09:12 +09:00
강동윤
28398280f7
Improve spack ( #972 )
...
swd_bundler:
- Handle reexports
spack:
- Do not transform files from node_modules
2020-08-17 15:04:08 +09:00
강동윤
d816d429f5
jsdoc
2020-08-15 01:47:38 +09:00
강동윤
bceda220fa
JsDoc parser ( #923 )
2020-08-14 18:20:25 +09:00
강동윤
e2e5f5eba3
Bump version
2020-08-14 15:09:09 +09:00
강동윤
01aeec39ca
hygiene: No ref-ref conflict ( #963 )
...
swc_ecma_transforms:
- Allow referencing global idents even when it's injected (Closes #962 )
2020-08-14 15:08:36 +09:00
강동윤
7204b104a7
Decorators on parameter properties ( #961 )
...
swc_ecma_transforms:
- Support parameter decorators on properties without a value (#960 )
2020-08-13 23:13:21 +09:00
강동윤
a62af5f38f
Allow optional constructor property parameters ( #959 )
...
swc_ecma_transforms:
- Handle optional constructor property parameters properly (#958 )
2020-08-13 11:47:33 +09:00
강동윤
fe2bcb033c
New version for swc_ecmascript
2020-08-13 01:25:38 +09:00
강동윤
2fedf32747
swc_bundler ( #943 )
...
swc_bundler:
- Splitted from spack
swc_ecma_parser:
- Fix unexpected eof problem which occurs if log level is trace
swc_ecma_transforms:
- Fix bugs of dce pass
spack:
- Support cyclic dependencies
2020-08-12 22:18:47 +09:00
LongYinan
4ab3c58f6a
Strip TypeScript class properties without value assigned ( #956 )
...
Co-authored-by: 강동윤 <kdy1997.dev@gmail.com>
2020-08-11 01:58:45 +09:00
LongYinan
dde9defbe4
Fix typescript strip in class properties pass ( #954 )
...
Co-authored-by: 강동윤 <kdy1997.dev@gmail.com>
2020-08-10 20:33:25 +09:00
강동윤
e1f5d681e3
Fix typescript class properties pass ( #951 )
2020-08-10 01:22:15 +09:00
강동윤
1315d58059
Fix bugs ( #949 )
...
swc_ecma_parser:
- Allow `in` in class properties (#944 )
- Make `delete` with optional chaining valid (#947 )
swc_ecma_transforms:
- Add a `typescript_class_properties` pass (#930 )
2020-08-09 16:45:00 +09:00
LongYinan
26f49099aa
Fix metadata emitted in parameters decorator ( #948 )
2020-08-09 14:18:15 +09:00
LongYinan
f92516867f
Fix parameters decorator metadata ( #946 )
...
Co-authored-by: 강동윤 <kdy1997.dev@gmail.com>
2020-08-08 11:34:26 +09:00
강동윤
951d52ec55
Fix target, target ( #945 )
2020-08-08 01:30:15 +09:00
강동윤
34d475fbc8
Type annotation in catch binding ( #942 )
...
swc_ecma_parser:
- Support catch binding with type anntation (Closes #941 )
2020-08-07 13:04:35 +09:00
강동윤
0989e73a99
Metadata for typescript decorator ( #939 )
...
swc_ecma_transforms:
- Allow emitting decorator metadata (#666 , #919 )
swc:
- change order of passes to allow decorator using type informations
2020-08-06 21:23:34 +09:00
강동윤
969fe6ec32
Spack ( #937 )
...
spack:
- Always inline `NODE_ENV` before analyzing imports
- implements conditional requires (#884 )
2020-08-06 14:55:16 +09:00
강동윤
76bcd3d7e4
More span tests ( #935 )
2020-08-05 12:34:44 +09:00
강동윤
42554d1194
Fix fixer ( #933 )
...
swc_ecma_transforms:
- fixer: Preserve paren around computed constructor (#931 )
2020-08-04 12:15:38 +09:00
강동윤
2de59759de
Reduce size ( #928 )
...
Reduce binary size and make some dependencies optional for deno
2020-08-04 01:33:23 +09:00
강동윤
54e0bfd878
Update swc_ecma_utils ( #927 )
2020-08-03 00:47:23 +09:00
강동윤
5baa636a4b
Chores (coverage, documentation, etc..) ( #925 )
2020-08-02 19:10:28 +09:00
강동윤
d2b8916f9f
Fix more typescript bugs ( #924 )
...
swc_ecma_parser:
- Fix parsing of binding identifier `await`
swc_ecma_transforms:
- More tests for typescript::strip
- Handle export declare class properly
- Remove declared variables
- Fix enums in if statement
- Fix sequence expression in class member key
- Fix await in extend-clause
- Fix optional array pattern
- Fix optional object pattern
2020-08-02 15:06:22 +09:00
강동윤
db0a56514d
Remove TsIndexSignature from typescript::strip ( #922 )
2020-08-01 21:32:11 +09:00
LongYinan
0a7f3a28ee
super() should be first ( #918 )
...
Co-authored-by: 강동윤 <kdy1997.dev@gmail.com>
2020-08-01 00:55:13 +09:00
강동윤
0ac55ae68b
Improve ux for rust users ( #909 )
...
testing:
- Remove dependency on relative_path
swc_common:
- Span's byte positions are now self-contained and `GLOBALS` is not required while parsing.
- Changed `Comments` into a trait.
- Provide single-threaded implementation of `Comments`
- Cargo feature `tty-emiiter` (To remove tty related stuffs )
- Cargo feature `sourcemap` (To remove sourcemap for web assets)
- Removed dependency on dashmap
swc_ecma_parser:
- No duplicated comments.
- Removed dependency on once_cell and regex
- Add a test suite to visualize and test span of nodes.
swc_ecma_utils:
- Removed dependency on parser
swc:
- Remove dependency on derive_more and path-clean
- Add multi-threaded implementation of `Comments`
swc_ecmascript:
- A new crate contains `ast`, `codegen`, `parser`, `utils`, `visit`.
2020-07-31 18:49:07 +09:00
Bartek Iwańczuk
9cb32cbb75
fix: readonly is not stripped from private prop ( #916 )
...
swc_ecma_codegen:
- Fix printing logic of literals and template literals
- Fix printing of hex
swc_ecma_parser:
- Track raw string correctly
swc_ecma_transforms:
- typescript: Handle class properties (readonly)
- typescript: Handle enums inside function
Co-authored-by: 강동윤 <kdy1997.dev@gmail.com>
2020-07-30 22:40:43 +09:00
강동윤
a74eace7e2
Bump version
2020-07-30 00:56:23 +09:00
강동윤
727a0aaa25
Remove stupid assertion ( #914 )
2020-07-30 00:55:46 +09:00
강동윤
ca43112d2a
codegen: Preserve quotes ( #911 )
2020-07-28 21:56:19 +09:00
강동윤
de1f967d32
Store span of ?. in an optional chaining expression ( #907 )
...
Add OptChainExpr.question_dot_token
2020-07-28 02:15:04 +09:00
강동윤
891092caf2
Fix typescript stripper ( #905 )
...
swc_ecma_codegen:
- Fix codegen of optional catch parameters (#904 )
swc_ecma_transforms:
- Fix for nested catch clause
2020-07-28 00:55:28 +09:00
강동윤
c58b9c8649
Fix lint
2020-07-27 23:01:51 +09:00
강동윤
ecd7b4decc
Implement more methods for codegen ( #902 )
...
swc_ecma_codegen:
- implement emit_private_property (Closes #903 )
2020-07-27 22:58:42 +09:00
강동윤
ea885df521
Fix bugs ( #901 )
...
swc_ecma_parser:
- Accept `export type * from '../typings'` (#896 )
swc_ecma_transforms:
- Ensure that swc does not duplicate classes (#879 )
2020-07-27 20:21:52 +09:00
강동윤
53b09aa356
Fix decorators ( #899 )
...
swc_ecma_transforms:
- typescript::strip: Preserve a class property if it has decorators
- decorators::legacy: Implement parameter decorator.
2020-07-26 17:07:24 +09:00
David Sherret
b72901b5e0
Support parsing declare properties ( #897 )
...
swc_ecma_ast:
- ClassProperty.declare
swc_ecma_parser:
- Parsing for declare class props.
- Error when parsing a private property with a declare modifier.
Co-authored-by: 강동윤 <kdy1997.dev@gmail.com>
2020-07-26 12:53:41 +09:00
강동윤
a1d33d023a
Improve ux using swc as a rust library ( #893 )
...
swc_ecma_parser:
- Improve parser's error reporting story
- Replace `Session`, `Handler`, `Emitter` with Parser.take_errors()
- Expose `Error`
- Remove useless lifetime parameters
2020-07-25 20:26:04 +09:00
강동윤
c7a5d5fef9
Fix class hygiene issue related to class properties ( #892 )
...
swc_ecma_transforms:
- fixed hygiene bug of class_properties pass
2020-07-24 22:02:29 +09:00
강동윤
9b8bfb2455
Use stable rustc ( #886 )
2020-07-24 02:18:22 +09:00
David Sherret
d4ede122fc
Fix span of MethodProp ( #877 )
...
- Fix span of MethodProp (needs to include async keyword).
Co-authored-by: 강동윤 <kdy1997.dev@gmail.com>
2020-07-07 12:49:36 +09:00
강동윤
c0917839a5
Add empty to class member ( #875 )
2020-07-05 20:10:33 +09:00
강동윤
38adc49e7e
Bugfixes ( #873 )
...
swc_common:
- Fix new_source_file
swc_ecma_parser:
- Fix parsing of paren expr in lhs of an assignment
2020-07-01 16:31:55 +09:00
강동윤
f500e9528c
Parser for TypeScript 4.0 ( #867 )
...
- Allow rest in non-last elements in tuple type
- Allow labelled ts type element in tuple type
- More operators
2020-06-29 16:23:33 +09:00
Yusuke Tanaka
403f081058
Fix typo ( #860 )
2020-06-26 01:00:28 +09:00
강동윤
a9adb0a208
Fix parsing of comment ( #857 )
2020-06-22 22:03:51 +09:00
강동윤
cae9286af0
Bump versions
2020-06-20 17:43:24 +09:00
강동윤
fe260a02e2
ES2020 ( #855 )
...
Adapt es2020. API is not changed, but config for merged proposals are now noop.
2020-06-20 15:09:57 +09:00
강동윤
92ce023171
Handle catch parameters in regenerator ( #854 )
2020-06-18 23:11:06 +09:00
강동윤
ff440157a0
Fix regenerator ( #851 )
...
swc_ecma_transforms:
- Fix regenerator scoping issue.
2020-06-18 17:04:49 +09:00
강동윤
66d42adf7e
spack: modules ( #848 )
...
spack:
- Better es6 module detection
- Recursive merging
- Support for common js modules
- Support for node js core modules
- Inject helpers
swc_ecma_transforms:
- Fix dce
2020-06-17 23:48:34 +09:00
강동윤
31020e46d8
spack: enhancement ( #845 )
...
- Handle modules (via swcrc)
- swc.bundle([conf1, conf2])
- Correct chunking
2020-06-15 23:28:15 +09:00
강동윤
fcef201695
spack: super-fast bundler ( #825 )
...
Version is alpha as it's not complete
2020-06-13 23:09:45 +09:00
강동윤
28456d0b49
Default value for options.jsc.parser.syntax ( #840 )
2020-06-13 02:05:49 +09:00
강동윤
fce0917016
Fix bigint literals ( #837 )
2020-06-11 17:49:40 +09:00
강동윤
5022999600
regenerator: Handle yield* correctly ( #833 )
2020-06-10 19:39:12 +09:00
강동윤
3b1ebdd2e9
Allow using properties with legacy decorators ( #824 )
2020-06-06 15:30:40 +09:00
강동윤
d82e6ab69d
Fix parsing of class member named declare ( #822 )
2020-06-04 02:52:40 +09:00
강동윤
c7e4783837
Fix ts enums ( #821 )
2020-06-04 01:45:23 +09:00
강동윤
f912e9493b
Add some tests for parser ( #819 )
2020-06-03 23:37:15 +09:00
David Sherret
99c164b628
Fix type-only import declaration with empty named imports being parsed as having a default import specifier ( #817 )
...
Co-authored-by: 강동윤 <kdy1997.dev@gmail.com>
2020-06-03 15:41:24 +09:00
강동윤
d7bb5c18ae
Fix parsing of type annotation ( #816 )
2020-06-03 12:19:05 +09:00
Vladimir Guguiev
ab7c9b1287
Implement codegen of export foo as Foo from foo;
( #815 )
...
Co-authored-by: 강동윤 <kdy1997.dev@gmail.com>
2020-06-03 11:05:29 +09:00
강동윤
291251e2df
Bump version
2020-06-02 20:13:18 +09:00
강동윤
58823f9590
Add examples
2020-06-02 19:53:20 +09:00
강동윤
0efba88e3f
Improve typescript parser ( #811 )
2020-06-02 19:22:41 +09:00
강동윤
22ac51120a
Fix swc_ecma_visit ( #809 )
2020-05-30 21:06:49 +09:00
강동윤
e62ea09935
Test with real-world codes ( #806 )
...
The purpose of the commit is to prevent my mistake like the one in `v1.1.49`.
2020-05-28 22:23:53 +09:00
강동윤
9b316e68b6
Fix new reserved_words pass ( #805 )
2020-05-28 17:01:01 +09:00
강동윤
2b2e1c13cd
FIx block scoping pass ( #803 )
2020-05-28 13:08:05 +09:00
강동윤
283825c91a
Fix typescript_strip and handle reserved word ( #802 )
2020-05-28 12:00:34 +09:00
강동윤
85f068c011
Reduce stack usage on debug build ( #799 )
2020-05-27 19:26:50 +09:00
강동윤
84f1759910
Fix folder for stable rustc ( #797 )
2020-05-25 22:53:48 +09:00
Bartek Iwańczuk
13a67a4848
expose Fold in swc_ecma_visit ( #796 )
2020-05-25 20:09:34 +09:00
강동윤
f117fedad8
typescript_strip: Handle types used only in casts ( #794 )
2020-05-23 14:03:17 +09:00
강동윤
51a2913ae2
Improve typescript stripper ( #792 )
2020-05-21 22:59:06 +09:00
강동윤
5cc3efa851
resolver: Handle body of arrow functions correctly ( #790 )
2020-05-21 19:24:05 +09:00
강동윤
ce88b8c777
Type used in typescript type casting are treated as type
2020-05-21 14:40:44 +09:00
강동윤
f1900da246
Fix .swcrc (env and error message) ( #784 )
...
FIx preset-env and better error message for invalid config
2020-05-19 20:24:00 +09:00
강동윤
71ea61e6c4
Make require
of regenerator use global mark ( #780 )
2020-05-18 23:25:41 +09:00
Gurwinder Singh
5f261fcd5c
Rename Import and Export Node names ( #777 )
...
Co-authored-by: 강동윤 <kdy1997.dev@gmail.com>
2020-05-17 19:15:31 +09:00
강동윤
65f2faa339
Reduce stack usage ( #776 )
2020-05-17 18:50:52 +09:00
강동윤
d74f74932e
Support decorators on parameters ( #775 )
...
Co-authored-by: David Sherret <dsherret@users.noreply.github.com>
2020-05-16 22:36:52 +09:00
David Sherret
8b4fc59805
Support template literals in types ( #767 )
2020-05-16 17:19:48 +09:00
강동윤
e1bf60909e
Optimize parser ( #774 )
...
Add some short-circuiting
2020-05-16 15:31:19 +09:00
강동윤
fb52c1052c
Folder for stable rust ( #773 )
2020-05-16 15:11:44 +09:00
강동윤
ddc5ace570
dce: Separate phase for dropping imports ( #764 )
2020-05-09 12:22:45 +09:00
강동윤
14f5212d3d
Wasm ( #691 )
2020-05-07 18:17:57 +09:00
강동윤
37bfb79b02
Fix dead code elimination pass ( #762 )
2020-05-05 20:10:30 +09:00
강동윤
8615d69ac3
Fix bugs ( #758 )
...
swc_ecma_transforms:
- Module passes resolver pass now shares 'global' context (Closes #724 )
- TypeScript enums are treated as concrete (Closes #757 )
2020-04-30 23:48:52 +09:00
David Sherret
5bd432f7de
Fix ZeroFillRShift tokenized as Gt ( #752 )
...
Fixes #751
2020-04-29 22:09:50 +09:00
David Sherret
80f81d8cd7
Fix parsing async generator method in object expression ( #749 )
2020-04-22 12:37:17 +09:00
강동윤
cdf1772bf1
Fix declare ( #747 )
2020-04-10 22:26:29 +09:00
강동윤
648e87c28d
Fix exponential operator ( #746 )
2020-04-05 20:45:55 +09:00
강동윤
09279432c4
Do not depend on hashbrown ( #744 )
2020-04-03 10:33:35 +09:00
강동윤
4d101a0ef7
Add metadatas
2020-04-02 18:41:02 +09:00
강동윤
b279e7a815
Visitor for stable rust ( #743 )
2020-04-02 18:38:13 +09:00
David Sherret
93ffb9700b
Increase swc_ecma_parser_macros version to 0.4.1 in swc_ecma_parser ( #736 )
2020-03-28 13:54:53 +09:00
강동윤
706ae00523
Fix deeply nested optional chaining ( #735 )
...
- Handle deeply nested optional chaining expression correctly (Closes #732 )
2020-03-28 11:59:45 +09:00
강동윤
2225679ea7
Fix capturing ( #731 )
...
Fix token capturing (Closes #728 )
2020-03-26 14:56:54 +09:00
Muslim Guseinov
6a6013b14c
Fix enum default value transform ( #730 )
2020-03-26 10:53:35 +09:00
강동윤
ebc7070d1f
Fix parser ( #727 )
...
- Allow await in an yield expression (fixes #720 )
- Prevent duplicate tokens while capturing (fixes #726 )
2020-03-25 17:40:05 +09:00
David Sherret
b17b249fa6
Fix union and intersection type start ( #725 )
2020-03-22 11:02:41 +09:00
David Sherret
b677115702
Fix async arrow expression and TsIndexSignature param ident spans ( #721 )
...
- Fix async arrow expression start.
- Fix TsIndexSignature inner ident and type ann spans.
2020-03-15 08:18:28 +09:00
강동윤
c7b12cd408
Fix bugs ( #718 )
...
- Handle inline source map (Closes #706 )
- Fix parsing of conditional expression starting with async (Closes #706 )
2020-03-13 23:34:36 +09:00
강동윤
dc2e2fabbd
Allow optional binding pattern in ambient context ( #715 )
2020-03-10 13:59:32 +09:00
David Sherret
2f47d41f2b
Fix tagged template start to include tag ( #714 )
...
Co-authored-by: 강동윤 <kdy1997.dev@gmail.com>
2020-03-10 12:35:42 +09:00
강동윤
6f4e534c88
Bump versions
2020-03-10 10:39:42 +09:00
David Sherret
5a2f9249b2
Fix class declaration with decorators start. ( #711 )
2020-03-10 10:38:56 +09:00
David Sherret
1e13299540
Fix arrow start in conditional expression. ( #712 )
2020-03-10 10:29:34 +09:00
강동윤
544090832d
Bump
2020-03-10 00:41:04 +09:00
강동윤
da97acca20
Bump
2020-03-10 00:35:53 +09:00
강동윤
e448a8910c
Fix bugs ( #710 )
...
- The parser now supports parsing optional patterns in .d.ts files (Closes #709 )
- The source map is handled properly (Closes #705 , Closes #707 )
2020-03-09 21:18:41 +09:00
강동윤
759d671df1
Don't print
2020-03-05 11:20:49 +09:00
강동윤
e5a818aabd
Fix resolver and block_scoping ( #700 )
2020-03-04 16:07:17 +09:00
강동윤
6e028696a5
Faster sourcemap generation for large files ( #697 )
...
We buffer operations related to source map and make it fast using an assumption that the byte positions always increment while emitting a file.
2020-03-02 20:49:08 +09:00
강동윤
8f280c535c
Performance ( #696 )
...
- Parser performance is improved by ~15%
- Codegen performance is improved by ~90% (when comment and source map is enabled)
2020-03-01 20:05:03 +09:00
강동윤
99b5018ba6
Fix ts enum with initializer ( #694 )
2020-02-29 14:54:10 +09:00
강동윤
3911ab75b9
Bump version
2020-02-29 10:34:10 +09:00
David Sherret
0e8c5a6c93
Fix assignment pattern start when there is a type annotation ( #693 )
...
- Update dashmap to 3.5.1
Co-authored-by: 강동윤 <kdy1997.dev@gmail.com>
2020-02-29 10:29:34 +09:00
강동윤
363b8353cf
resolver: handle hoisting correctly ( #689 )
2020-02-25 21:29:52 +09:00
강동윤
1cf86b059d
Fix bugs ( #687 )
...
- stript type-only export default
- allow `continue` in a for loop
2020-02-22 14:49:04 +09:00
강동윤
cb43a69e02
implement { Hash, Eq } for ast nodes ( #684 )
...
As NaN is`IIdent` not `Number`, we can use implement Hash and Eq for ast nodes.
2020-02-21 12:47:06 +09:00
강동윤
e3ca8e5d13
Fix bugs ( #683 )
...
- Fix block_scoping (Fix #682 )
- Handle new.target in susbscript position (Fix #675 )
2020-02-20 13:06:28 +09:00
강동윤
f79223e98c
resolver: Handle method property correctly ( #679 )
2020-02-19 19:49:58 +09:00
강동윤
087e768810
Bump version
2020-02-19 12:55:41 +09:00
David Sherret
0d17f014e3
Fix tagged template span to include tag. ( #677 )
2020-02-19 12:50:07 +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
강동윤
64ed0bd801
Validate sourcemap ( #669 )
2020-02-16 16:51:42 +09:00
강동윤
f17e49934c
Add { Load, Resolve }
2020-02-15 12:52:06 +09:00
David Sherret
4550f7e1af
Support type predicate "asserts" with no "is" ( #667 )
2020-02-15 10:44:02 +09:00
강동윤
1fc09caa2f
type-only import, exports ( #662 )
2020-02-13 22:56:13 +09:00
강동윤
f344caa4fa
Reduce binary size ( #663 )
...
This pr add two helper macros to prevent folding type unnecessarily.
This reduces the binary size by 3MB on linux.
2020-02-13 21:55:54 +09:00
강동윤
f26ef0cfb7
Fix optimizer ( #661 )
2020-02-13 15:03:38 +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
kdy1
82e73b1121
Fix bugs ( #659 )
...
- Strip out const assertions (Closes #656 )
- Fix exclude of the file matcher (Closes #658 )
- Automatic typescript detection (Closes #655 )
2020-02-12 15:07:45 +00:00
강동윤
64f6e51b42
Unescape template literals before emitting. ( #652 )
...
Fixes #637 .
Fixes #639 .
2020-02-11 13:33:29 +09:00
David Sherret
1bf81c6e85
Fix span of the ExportNamespaceSpecifer ( #651 )
2020-02-11 11:02:37 +09:00
강동윤
8fb7c516d7
Better error message for missing browserslist. ( #650 )
...
Better error message for missing brwoserslist.
Fixes #648
2020-02-10 19:27:56 +09:00
David Sherret
4b7222cbfe
Support export * as ns from "module"
( #647 )
2020-02-10 11:30:25 +09:00
Hyeon Kim
226336b38b
Fix version of regenerator-runtime ( #644 )
...
7.7.7 is version of @babel/runtime, not regenerator-runtime. Looks like
the intended version was "0.11.0" as you can see in the yarn.lock:
regenerator-runtime@^0.11.0:
version "0.11.1"
resolved "https://registry.yarnpkg.com/regenerator-runtime/-/re ...
integrity sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT9...
Reference:
https://github.com/swc-project/swc/commit/05be89c19
2020-02-10 03:23:10 +09:00
David Sherret
530a5f34db
Support ecmascript private fields when parsing TypeScript. ( #642 )
2020-02-10 03:22:51 +09:00
kdy1
f8c358c9ac
Strip type-only imports ( #641 )
...
Fixes #640
2020-02-09 11:35:33 +00:00
kdy1
add63826bd
Allow await expression at other than expression statement ( #636 )
...
Fixes #635
2020-02-08 01:49:00 +00:00
dsherret
55c0258017
Remove empty expression in expression statement with top level await ( #630 )
...
Eats the semi-colon.
This doesn't compile (edit: doesn't compile the code in the tests) though because the target of that folder is ES2015. Also, this is kind of strange for me to put the tests in the "typescript" folder. Should we create something more general?
You can take over this PR if you'd like!
2020-02-07 05:33:26 +00:00
강동윤
26eb4e3206
Collect all comments ( #633 )
...
- Comments are now appended
- pin dashmap's version
2020-02-07 14:32:43 +09:00
강동윤
05be89c198
Smaller runtime ( #631 )
...
Replace babel-runtime with regenerator-runtime
2020-02-07 11:19:23 +09:00
dsherret
bf5cff152b
Fix start position on class declarations with decorators ( #628 )
...
Fixes: https://github.com/swc-project/swc/issues/626#issuecomment-582567305
See #581
2020-02-06 00:20:19 +00:00
alubbe
45604fa6e7
Remove dependency renaming to enable WASM ( #625 )
...
This PR supercedes https://github.com/swc-project/swc/pull/621 and tries to remove dependency renaming to enable WASM, as discussed in https://github.com/swc-project/swc/issues/106
2020-02-05 11:20:25 +00:00
kdy1
94eac1de89
Top level await ( #627 )
...
Implements a top level await for es2017+, and allow it for typescript and ecmascript (ecmascript requires topLevelAwait: true).
Closes #626 .
2020-02-05 01:05:23 +00:00
kdy1
42373f975b
Fix parsing of declare ( #624 )
...
Previously all children in declare context were marked as `declare`. It's wrong, and I fixed to set declare: true only on the exact node
2020-02-04 02:12:55 +00:00
kdy1
196740cdcd
Allow optional chaining in ecmascript ( #619 )
...
Fixes #618
2020-01-31 15:59:47 +00:00
강동윤
8afa3413ea
Remove dependency on lazy_static and chashmap ( #617 )
...
- `lazy_static` is replaced by `once_cell`
- `chashmap` is replaced by `dashmap`
2020-01-30 23:29:12 +09:00
kdy1
01659585e4
Fix parsing of jsx attribute values ( #616 )
...
Closes #614 .
Closes #615 .
2020-01-29 06:24:35 +00:00
강동윤
e92923b467
Bump
2020-01-29 12:21:45 +09:00
kdy1
d06eeed352
Async generator ( #613 )
...
Change parser to accept async generator.
Closes #612 .
2020-01-29 02:59:25 +00:00
kdy1
480015d407
block_scoping: handle variable infection ( #610 )
...
Handle variable infection in the block scoping pass.
i.e. In the code below, v is 'infected' by i.
```js
var functions = [];
for (let i = 0; i < 10; i++) {
let v = i;
functions.push(function() {
return v;
});
}
functions[0]() // should print 0
```
Closes #609 .
2020-01-24 12:29:57 +00:00
kdy1
0ebda3c33e
hygiene / block scoping improvement ( #608 )
...
`hygiene` pass had a bug related to globally defined variables like `Object` or `undefined`. This pr make hygiene to utilize use-bind conflict to resolve global objects correctly.
Closes #605 .
block_scoping pass had a bug with closure in for statement with let or const. This pr fixes it by extracting a loop body as a variable.
Closes #604 .
2020-01-24 05:54:52 +00:00
kdy1
9be9ea2c43
hygiene: fix handling of special identifiers ( #603 )
...
The identifiers are `arguments`, `undefined`, `NaN`.
Closes #602 .
2020-01-23 14:23:24 +00:00
kdy1
20e37eae5d
regenerator: allow nested finally block ( #601 )
...
Previously,
```js
function *foo() {
try {
} finally {
try {
} finally {
throw new Error('foo');
}
}
}
```
make swc panic
Closes #600 .
2020-01-23 01:04:08 +00:00
강동윤
8ecbe14207
hygiene: handle use-use conflict ( #599 )
...
Note that as we don't care about emitting a clean code, the renamed output may not match it of bind-bind conflict or bind-use conflict.
2020-01-22 10:43:59 +09:00
erikdesjardins
08ce8d0293
fix as_bool treating bitor like bitand ( #596 )
2020-01-20 08:22:52 +09:00
dsherret
d4fa2a6a96
Ensure semi-colon is eaten for dynamic imports and import meta found at the start of expression statements ( #595 )
...
Fixes #594 .
Also fixes span for "imports" identifier.
2020-01-18 04:51:20 +00:00
David Sherret
a55fced20b
Fix spans for "as" and const assertions ( #593 )
...
- Fix spans for "as" and const assertions
2020-01-18 12:33:01 +09:00
강동윤
2880250309
Manifest
2020-01-17 18:54:40 +09:00
강동윤
8e476d8a83
Make parser work identically in release mode ( #577 )
...
swc_ecma_parser:
- parser behaves identically on debug mode and release mode
swc:
- run all tests on travis ci
- use nvm on travis ci
swc_ecma_transforms:
- make async_to_generator understand hoisting
2020-01-17 18:44:51 +09:00
kdy1
96e1dbe213
Improve hygiene and use JSXAttrValue ( #592 )
...
swc_ecmacript:
- use JSXAttrValue (Fixes #584 )
swc_ecma_transforms:
- make hygiene pass check for exported vars (Fixes #591 )
2020-01-17 05:45:33 +00:00
David Sherret
0d67d5d855
Fix JSX opening, closing, spread child, and expression container spans ( #582 )
...
swc_ecma_parser:
- fix opening and closing jsx spans.
- fix JSX expression.
- fix JSX spread child.
2020-01-14 12:37:29 +09:00
David Sherret
e5004da87e
- Spans of class members and classes should include decorators. ( #581 )
...
- spans of class members and classes should include decorators.
- fix hi position for class parameter properties.
- fix span of members with accessibility.
2020-01-12 08:41:43 +09:00
David Sherret
b7b7fda982
Fix type predicate start position. ( #580 )
2020-01-12 08:38:58 +09:00
강동윤
b7f8282eb1
resolver: handle methods correctly ( #579 )
...
swc_ecma_transform:
- handle a class method in child scope (#578 )
2020-01-11 13:29:31 +09:00
David Sherret
fea4c5bd63
TypePredicate - Parse the asserts modifier ( #567 )
...
swc_ecma_parser:
- add support for asserts modifier from typescript 3.7
2020-01-09 14:14:44 +09:00
강동윤
5503cde085
Extract utils from swc_ecma_transforms ( #575 )
...
swc_ecma_transforms:
- extract utils
2020-01-08 10:55:22 +09:00
kdy1
6eb066166f
Don't emit error messages while trying ( #574 )
...
swc_ecma_parser:
- don't emit error messages while trying (Closes #573 )
2020-01-07 12:36:51 +00:00
kdy1
02d4fb60f2
Make capturing fast ( #570 )
...
swc_ecma_parser:
- made capturing fast (Closes #533 )
2020-01-06 01:02:51 +00:00
dsherret
8e3827403e
Fix class and interface spans ( #566 )
...
The interface span for something like `interface Test {}` was `Test {}`. Also, for stuff like `export default abstract class Test{}` it was `class Test{}` instead of `abstract class Test {}`.
2020-01-06 00:08:59 +00:00
erikdesjardins
3e0f4a5bd7
dce: preserve nested if statement ( #565 )
...
swc_ecma_transforms:
- preserve nested if statements
Co-authored-by: 강동윤 <kdy1997.dev@gmail.com>
2020-01-05 09:51:40 +09:00
dsherret
9676a05853
Import type should have type arguments rather than type params ( #560 )
...
Just found another occurrence of this. Similar to #548 .
![image](https://user-images.githubusercontent.com/1609021/71735836-716b2d00-2e1d-11ea-8878-50d28da9fa5e.png )
I'm currently going through all the types right now so you might want to hold off on merging this or doing a breaking change release until I finish that.
2020-01-04 23:56:31 +00:00
강동윤
c0cc2185ea
Fix ci ( #561 )
...
- line endings are normalized
- switched to github actions from travis to check forked branches
2020-01-04 13:33:25 +09:00
David Sherret
c43bc471dd
Fix span for patterns with a type annotation ( #558 )
...
swc_ecma_parser:
* fix span for patterns with a type annotation.
Co-authored-by: 강동윤 <kdy1997.dev@gmail.com>
2020-01-03 14:37:48 +09:00
David Sherret
5acf557e35
GetterProp - Add type_ann ( #557 )
...
swc_ecma_ast:
- add type_ann to GetterProp
swc_ecmascript_parser:
- parse type annotation after a getter property
2020-01-03 13:08:27 +09:00
강동윤
1bcfcb741a
Fix #555 ( #556 )
2020-01-03 12:19:39 +09:00
강동윤
806a6d97da
Regenerator ( #554 )
...
swc_ecma_transforms:
- implement regenerator pass
- add regenerator pass to es2015 preset
swc_ecma_preset_env:
- add regenerator
2020-01-02 20:53:06 +09:00
David Sherret
5f6b11348a
Fix span of the switch statement. ( #553 )
2020-01-02 16:46:56 +09:00
David Sherret
4f76cddebd
Fix span of await token in for/for-in/for-of stmts. ( #551 )
2020-01-02 10:18:20 +09:00
David Sherret
288008091a
Typo ( #550 )
2020-01-02 10:13:47 +09:00
강동윤
916858ae81
Bugfixes ( #549 )
...
swc_ecma_ast:
- fix TsExprWithTypeArgs (closes #548 )
swc_ecma_codegen:
- allow using default import with namespace import (closes #546 )
swc_ecma_parser:
- parse import.meta (closes #545 )
2020-01-01 06:57:34 +09:00
David Sherret
64bddebb2b
Fix parsing class properties as readonly ( #547 )
...
swc_ecma_parser
- parse readonly property correctly
2020-01-01 03:14:46 +09:00
David Sherret
708efebac9
Fix comment line's end to be on same line ( #544 )
...
- fix comment line's end to be on same line.
2019-12-30 11:09:45 +09:00