Commit Graph

383 Commits

Author SHA1 Message Date
강동윤
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
강동윤
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
강동윤
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
강동윤
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
강동윤
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
강동윤
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
강동윤
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
강동윤
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
강동윤
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
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
강동윤
99981f70c7
Add customizable api (#1006) 2020-08-27 20:35:28 +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
강동윤
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
강동윤
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
강동윤
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