Commit Graph

277 Commits

Author SHA1 Message Date
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
강동윤
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
강동윤
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
강동윤
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
강동윤
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
강동윤
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
강동윤
c7e4783837
Fix ts enums (#821) 2020-06-04 01:45:23 +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
강동윤
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
강동윤
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
강동윤
d74f74932e Support decorators on parameters (#775)
Co-authored-by: David Sherret <dsherret@users.noreply.github.com>
2020-05-16 22:36:52 +09:00
강동윤
ddc5ace570
dce: Separate phase for dropping imports (#764) 2020-05-09 12:22:45 +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
강동윤
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
강동윤
706ae00523
Fix deeply nested optional chaining (#735)
- Handle deeply nested optional chaining expression correctly (Closes #732)
2020-03-28 11:59:45 +09:00
Muslim Guseinov
6a6013b14c
Fix enum default value transform (#730) 2020-03-26 10:53:35 +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
강동윤
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
강동윤
99b5018ba6
Fix ts enum with initializer (#694) 2020-02-29 14:54:10 +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
강동윤
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
강동윤
1fc09caa2f
type-only import, exports (#662) 2020-02-13 22:56:13 +09:00