Commit Graph

87 Commits

Author SHA1 Message Date
Donny/강동윤
19131e168e
perf(es): Don't share Globals (#5975)
**Description:**

We don't need to share an instance of `Globals`.
2022-09-28 10:34:30 +00:00
Donny/강동윤
2ba88154fc
fix(es/codegen): Align sourcemap with terser (#5657) 2022-09-26 18:12:42 +09:00
Donny/강동윤
3c3529cb84
build(rustc): Update rustc (#5943)
**Description:**

This PR updates rustc, and fix some performance bugs of `swc_common`.
2022-09-24 03:33:47 +00:00
Donny/강동윤
991a34e0c2
fix(es/minifier): Remove fake_block while calculating next scope (#5869)
**Description:**

We now remove `fake_block` mark from `with_ctx`.

**Related issue:**
 - Closes https://github.com/swc-project/swc/issues/5865
2022-09-15 06:04:47 +00:00
OJ Kwon
6f19f8902f
refactor(swc_core): enable bytechecked flag (#5792)
**Description:**

Another update to enable bytecheck rkyv feature flag.

Our dep tree is quite tangled with implicit enable (plugin -> rkyv). PR tries to detach some of it while trying to preserve existing behavior as much as it can.
2022-09-09 08:05:51 +00:00
magic-akari
9c998d4406
fix(es): Use paren_remover pass (#5753)
**Description:**

We now apply the paren_remover pass before applying other transforms.

**Related issue:**
 - Closes #5652 
 - Closes #5752
2022-09-09 05:02:24 +00:00
magic-akari
7deadd8667
feat(es/lexer): Recover from git merge conflict (#5775) 2022-09-08 04:24:44 +00:00
Donny/강동윤
c10d55780e
perf(es/parser): Operate on u8 (#5774) 2022-09-07 06:13:32 +00:00
OJ Kwon
a3e855f720
feat(es/plugin): Provide swc_core diagnostic from plugin (#5591) 2022-08-22 23:48:50 +00:00
Donny/강동윤
288ae51fb1
fix(es/codgen): Fix sourcemap ofBlockStmt (#5570) 2022-08-20 07:53:51 +00:00
OJ Kwon
d46418bb47
feat(es/plugin/runner): Add more traces for the plugin host (#5538) 2022-08-18 06:54:17 +09:00
OJ Kwon
ff7f6f63f9
fix(es/plugin): Share SourceFile for plugin transforms (#5475) 2022-08-15 00:45:19 +00:00
OJ Kwon
83417b6f75
refactor(bindings): Use published swc_core as interface (#5482) 2022-08-14 04:39:27 +00:00
OJ Kwon
d36e48efbf
build(plugin): Downgrade rkyv (#5459) 2022-08-12 14:04:05 +00:00
Donny/강동윤
3eb1f4b2b1
chore(ci): Fix lints (#5462) 2022-08-12 13:13:35 +00:00
OJ Kwon
6a36a8d982
fix(plugin): Disable remaining bytecheck (#5437) 2022-08-11 01:23:00 +00:00
OJ Kwon
2b5080e291
fix(es): Temporarily disable bytecheck (#5414) 2022-08-08 02:58:08 +00:00
OJ Kwon
5a164bd137
feat(plugin): Make metadata api lazy (#5310) 2022-07-27 13:16:44 +09:00
OJ Kwon
35b1e78179
chore(deps): Update bytecheck (#5296) 2022-07-26 01:25:37 +00:00
Donny/강동윤
037a53d5d1
perf(es/ast): Use Atom in some places (#5271) 2022-07-22 20:09:25 +09:00
magic-akari
c0ace4cb2c
fix(es/modules): Use a private context for export from (#5262) 2022-07-21 06:04:06 +00:00
OJ Kwon
2fa51ecd78
test(plugin): Setup e2e fixture testing for plugins (#5192) 2022-07-13 06:39:08 +00:00
OJ Kwon
f167198470
feat(plugin/macros): Export new interface for getting plugin schema version (#5166) 2022-07-11 01:44:00 +00:00
David Sherret
bbbe0b6e94
fix(sourcemap): Handle multi-byte characters correctly (#5153) 2022-07-09 03:47:52 +00:00
OJ Kwon
82fbe15a57
feat(plugin): Wrap serialized struct with a version (#5128) 2022-07-07 07:46:49 +00:00
OJ Kwon
2ba8b39fa0
refactor(common): Bikeshed plugin apis (#5120) 2022-07-06 04:42:00 +00:00
OJ Kwon
e1aa937183
feat(plugin): Allow taking the inner data from versioned (#5071) 2022-06-30 01:21:12 +00:00
Donny/강동윤
34f4f5a3bc
feat(atoms): Improve atoms (#5066) 2022-06-29 12:02:33 +00:00
Donny/강동윤
2e139f1441
perf(atoms): More groundwork for replacing JsWord with Atom (#5064) 2022-06-29 13:08:29 +09:00
OJ Kwon
e34a864390
feat(plugin): Add versioned wrapper struct (#5062) 2022-06-29 03:35:23 +00:00
LongYinan
db9f7a5ad4
chore(ci): Fix publish build on Windows (#4970) 2022-06-14 15:58:10 +00:00
OJ Kwon
6bc33cb042
feat(es/codegen): Support other source map implementations (#4879) 2022-06-05 14:40:55 +00:00
Donny/강동윤
f847709787
chore(common): Update rustc (#4828) 2022-05-28 07:07:58 +00:00
OJ Kwon
a937357d47
feat(plugin): Implement SourceMap.span_to_* (#4781) 2022-05-25 02:09:55 +00:00
Donny/강동윤
98df64517e
perf(common): Add more methods to Spanned (#4749)
- Lots of code only needs `lo` or `hi`, but they call `span()`, which is inefficient in some cases.
 - This PR only adds a trivial amount of optimization. I may add full optimization in future.
 - This PR improves codegen performance of `ExprOrSpread` and `Option<ExprOrSpread>`.
2022-05-23 09:18:40 +00:00
Donny/강동윤
03dd9de1c3
fix(es/codegen): Exclude synthesized files from sourcemap (#4714) 2022-05-20 04:07:16 +00:00
David Sherret
606f7c967e
fix(common): Don't use reserved byte position (#4690) 2022-05-17 15:44:25 +00:00
Donny/강동윤
fe1e62a5e7
perf(common): Improve performance of StringInput (#4680) 2022-05-17 03:14:14 +00:00
Donny/강동윤
da49f810db
feat(es): Add check for BytePos::DUMMY (#4675) 2022-05-16 03:29:24 +00:00
Donny/강동윤
98e4845fce
build(repo): Update rustc (#4667) 2022-05-15 09:03:54 +00:00
Donny/강동윤
11726cc0e1
perf(es/parser): Optimize for cpu code cache (#4666) 2022-05-15 08:39:09 +00:00
Hana
b6f904b8f0
feat(es): Add an option to omit columns from sourcemaps (#4646) 2022-05-13 08:49:31 +00:00
Donny/강동윤
67942d5731
feat(common): Reserve BytePos(0) for dummy spans (#4616) 2022-05-11 16:14:42 +00:00
Donny/강동윤
53610fdafc
feat(es/resolver): Use different syntax context for unresolved refs (#4436)
- We don't need a list of bindings to check if an identifier is unresolved.
 - Checking if an identifier is unresolved is now one CPU instruction.
   - Previously it was one hashmap operation.
 - This PR also improves performance, by removing the hashmaps mentioned above.
2022-04-26 07:38:50 +00:00
Satish Srinivasan
a06c55930f
fix(common): Ignore extraneous mapping of 1, 0 => 0, 0 (#4381) 2022-04-20 23:31:06 +09:00
OJ Kwon
f06c862a9f feat(plugin): Support lookup_char_pos of SourceMap (#4364) 2022-04-19 14:26:28 +09:00
那里好脏不可以
37a8c90750
chore(*): Typo + fomatting (#4304) 2022-04-11 18:45:58 +00:00
OJ Kwon
281db2cc4f
feat(plugin): Make more types serializable (#4289) 2022-04-09 16:12:14 +09:00
OJ Kwon
b15e984317
feat(plugin): Implement proxy for dummy_with_cmt (#4268) 2022-04-07 05:37:12 +00:00
OJ Kwon
6ea66cf001
feat(plugin): Implement plugin api for comments (#4229) 2022-04-03 15:22:36 +09:00