강동윤
a5e6242601
Bump version
2020-10-14 14:39:51 +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
강동윤
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
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
강동윤
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
강동윤
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
강동윤
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
강동윤
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
강동윤
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
강동윤
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
강동윤
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
강동윤
28398280f7
Improve spack ( #972 )
...
swd_bundler:
- Handle reexports
spack:
- Do not transform files from node_modules
2020-08-17 15:04:08 +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
강동윤
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
강동윤
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
강동윤
951d52ec55
Fix target, target ( #945 )
2020-08-08 01:30:15 +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
강동윤
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
강동윤
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
강동윤
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
강동윤
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
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
강동윤
9b8bfb2455
Use stable rustc ( #886 )
2020-07-24 02:18:22 +09:00
강동윤
c0917839a5
Add empty to class member ( #875 )
2020-07-05 20:10:33 +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
강동윤
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
강동윤
291251e2df
Bump version
2020-06-02 20:13:18 +09:00
강동윤
0efba88e3f
Improve typescript parser ( #811 )
2020-06-02 19:22: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
David Sherret
8b4fc59805
Support template literals in types ( #767 )
2020-05-16 17:19:48 +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
강동윤
09279432c4
Do not depend on hashbrown ( #744 )
2020-04-03 10:33:35 +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
강동윤
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
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
강동윤
1cf86b059d
Fix bugs ( #687 )
...
- stript type-only export default
- allow `continue` in a for loop
2020-02-22 14:49:04 +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
강동윤
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
강동윤
26eb4e3206
Collect all comments ( #633 )
...
- Comments are now appended
- pin dashmap's version
2020-02-07 14:32:43 +09: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
강동윤
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
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
강동윤
5503cde085
Extract utils from swc_ecma_transforms ( #575 )
...
swc_ecma_transforms:
- extract utils
2020-01-08 10:55:22 +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
강동윤
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
강동윤
702800e0d9
Attach comments to correct node ( #541 )
2019-12-28 22:02:58 +09:00
강동윤
3cf1caa4b1
Bump version
2019-12-28 14:05:12 +09:00
강동윤
b1e4122b02
Nullish coalescing / optional chaining / comments ( #529 )
...
swc_ecma_ast:
- rename `TsOptChain` to `OptChainExpr` (Fixes #525 )
- add `BinOp::NullishCoalescing`
swc_ecma_parser:
- parse `??` (Fixes #526 )
swc_ecma_transforms:
- remap comments from fixer (Fixes #528 )
2019-12-24 17:01:32 +09:00
강동윤
24b5c44ba3
Numeric separator & Bigint ( #523 )
...
swc_ecma_ast:
- `BigInt` literal
swc_ecma_parser:
- numeric separators. (#521 )
- parsing of bigint literal
2019-12-22 17:14:04 +09:00
강동윤
6186af04a9
Fix handling of jsx texts ( #519 )
...
swc_ecma_transforms:
- Fix handling of jsx texts (#517 )
2019-12-21 16:59:04 +09:00
강동윤
30af06bb70
Ast ( #513 )
...
swc_ecmascript:
- add `ExprStmt`.
- change type of regex.expression and regex.flags.
2019-12-16 18:08:21 +09:00
kdy1
3ec395ba75
Improve performance & update rustfmt ( #504 )
2019-12-13 06:21:25 +00:00
강동윤
ae6de87abb
Add more tests ( #489 )
2019-12-09 21:02:51 +09:00
Zimon Dai
ec086a1dab
use 2018 edition syntax ( #479 )
2019-12-02 17:10:05 +09:00
강동윤
153cf36168
Jsonify large pure object literals ( #477 )
...
swc_ecma_transforms:
- add `jsonify` transform
2019-12-01 17:32:44 +09:00
강동윤
fc9880e4f4
Bump parser's version
2019-11-24 14:42:08 +09:00