강동윤
c5e18e06d1
Use objekt::Clone
2019-02-05 15:24:30 +09:00
강동윤
ea013a1e12
Export module configs
2019-02-05 14:33:29 +09:00
강동윤
4c6c4bc595
Make Helper scoped thread local ( #134 )
...
This allows injecting helpers per file without any multi threading issue.
2019-02-05 14:15:38 +09:00
강동윤
a1629d3997
Implement module transforms ( #133 )
...
swc_ecma_ast:
- implement more `From<T>` for `Expr`
swc_ecma_transforms:
- fnv -> fxhash
- implement common js imports
- improve fixer
- use js_word! instead of &*sym
- add noop pass
- handle state correctly
- ExprFactory::member(), computed_member()
2019-02-05 12:50:19 +09:00
강동윤
33fe3a9515
Remove dbg!
2019-02-02 23:17:06 +09:00
강동윤
ca6f4eb096
Remove unnecessary logging
2019-01-31 19:49:02 +09:00
강동윤
d8d117b494
implement Clone for HelperResetter
2019-01-31 19:44:34 +09:00
강동윤
976943ba97
Add HelperResetter
pass ( #132 )
2019-01-31 19:39:26 +09:00
강동윤
f914c8579e
Revert "Fix Arc<Helpers> ( #130 )" ( #131 )
...
This reverts commit 6865370205
.
2019-01-31 18:22:35 +09:00
강동윤
6865370205
Fix Arc<Helpers> ( #130 )
...
Don't clone Arc<Helpers>
2019-01-31 15:14:49 +09:00
강동윤
e681ae37e4
mute resolver
2019-01-30 13:09:21 +09:00
강동윤
e63be11d0e
Fix order of the classes pass
2019-01-30 13:05:45 +09:00
강동윤
c87fac213a
Add a test about inheriting native class
2019-01-30 11:30:09 +09:00
강동윤
ba0c7c908c
Improve swc_ecma_trnasforms ( #127 )
...
# swc_ecma_ast
- Add PrivateName to Expr
# swc_ecma_parser
- Fix parsing of private name
# swc_ecma_transforms
## Hygiene
- It correctly tracks `BindingIdentifer` / `IdentifierReference`
- Preserve `IdentiferReference` if it conflicts with a `BindingIdentifier`
## Block scoping
- It correctly tracks `BindingIdentifer` / `IdentifierReference`
## Fixer
- It removes useless parens.
- It removes useless `IdentiferReference`s in comma expressions.
## Classes properties
- public prooperty
- private property
## Class decorators
- implemented
2019-01-29 23:56:16 +09:00
강동윤
90135ede1e
fix a bug
2019-01-24 16:41:19 +09:00
강동윤
fd79f4eb78
fix swc_ecma_codegen
2019-01-24 16:18:39 +09:00
강동윤
c648232864
Classes improvements ( #123 )
...
Now swc passes all tests from `@babel/plugin-transform-classes`
2019-01-24 16:07:09 +09:00
강동윤
0bca2e6ff5
Fix tests
2019-01-23 11:06:17 +09:00
강동윤
3d13d330bb
swc_ecma_codgen for stable rust ( #122 )
...
Now swc_ecma_codegen can be built with stable rust
2019-01-23 10:55:47 +09:00
강동윤
9313b04c6c
Enable some assertions and fix ICE on release mode
2019-01-22 12:37:51 +09:00
강동윤
4379515f00
Bump version
2019-01-20 11:10:31 +09:00
강동윤
f87e2fb123
Fix parser
2019-01-20 11:08:26 +09:00
강동윤
cb12e13a0b
Fix cfg(not(procmacro2_semver_exempt))
2019-01-19 09:31:31 +09:00
강동윤
29c5faed9b
Remove usage of nightly features
2019-01-18 10:26:04 +09:00
강동윤
d534ebcba7
swc_ecma_codegen v0.5.0
2019-01-18 00:11:41 +09:00
강동윤
8ff21b9c99
Bump version (again)
2019-01-18 00:01:10 +09:00
강동윤
ca235e1c67
Bump version
2019-01-17 23:58:43 +09:00
강동윤
3facfd8810
Bump version
2019-01-17 23:57:56 +09:00
강동윤
12944c006a
Fix to publish it
2019-01-17 23:38:45 +09:00
강동윤
eebf14fbef
Allow stable rust ( #118 )
...
This pr introduces some cargo features. For `swc_common` and `swc_ecma_ast`, it introduces a feature flag `fold`.
`Fold` and `Visit` traits exist only if the feature is enabled.
For `swc_ecma_parser`, flag called `verify` is added. When disabled, we skip checking of validity of some expressions.
e.g. `{foo = bar}`
Verification is disabled by default it requires nightly compiler
2019-01-17 23:17:16 +09:00
강동윤
338759110f
Fix parsing of large integers
2019-01-16 11:53:41 +09:00
강동윤
bb28d81ed4
Strip typescript declarations
2019-01-15 20:51:13 +09:00
강동윤
a126afaf42
Better error messages for unimplemented!
s
2019-01-15 20:18:41 +09:00
강동윤
b9eb110549
Cache compiled helpers
2019-01-15 11:53:43 +09:00
강동윤
e85bcce9cf
implement Clone for passes
2019-01-15 11:15:18 +09:00
강동윤
66eab1bc85
enable
flag for the simplifier pass
2019-01-15 10:59:40 +09:00
강동윤
1710bb6e8a
Allow using Pass
as a trait object
2019-01-14 17:54:42 +09:00
강동윤
2a49e1e896
implement clone for transform passes
2019-01-14 17:36:15 +09:00
강동윤
fefc4c88c7
camelCase for react options
2019-01-14 13:45:19 +09:00
강동윤
1fabc3fa3e
debug_assert! instead of assert!
...
This reduces binary size
2019-01-10 18:54:40 +09:00
강동윤
7aee29d91d
Fix tests
2019-01-10 18:33:32 +09:00
강동윤
d4fefa8615
Reduce binary size ( #116 )
...
- remove unused debug impls
2019-01-10 18:23:25 +09:00
강동윤
0f0dc1451a
Make procmacro2_semver_exempt optional
2019-01-09 09:46:38 +09:00
강동윤
eb22cfb1bd
default for syntax configs
2019-01-08 18:27:38 +09:00
강동윤
fc3a9d6180
.swcrc file for configuration ( #115 )
...
libswc:
- use config file
2019-01-08 16:34:35 +09:00
강동윤
ea610c6ded
Typescript & parser for decorators
...
swc_atoms:
- add some atoms
swc_ecma_ast:
- ast nodes for typescript
- `ClassMethod` -> `Method`, `ClassMethodKind` -> `MethodKind`
- private class method / class property
- use separate type for tagged template literals
- add `declare` field to `Decl`s
- make function body optional
swc_ecma_parser:
- rename Type to TokenContext
- support decorators
Note: error reporting for invalid decorator is not implemented yet
- merge `Config` into `Syntax`
- Use DiagnosticBuilder for error type
This is to make backtracking cheaper.
swc_ecma_transforms:
- add `strip` pass
2019-01-07 19:43:47 +09:00
강동윤
2e22397f42
Fix hygiene bug ( #109 )
2018-12-31 23:10:50 +09:00
Leviathan Jeanis
75e83860be
Update proc_macro2 to fix missing join()
2018-12-30 09:48:56 -06:00
강동윤
f89a227d5e
implement more traits for Syntax
2018-12-30 13:06:13 +09:00
강동윤
b437488082
implement es3::reserved_word ( #103 )
2018-12-30 12:56:04 +09:00