Commit Graph

536 Commits

Author SHA1 Message Date
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