Commit Graph

4510 Commits

Author SHA1 Message Date
SWC Bot
0bb4dc2c3d chore: Publish crates 2023-01-29 14:56:26 +00:00
HeYunfei
508267dccf
fix(visit): Fix detection of Option<Vec<T>> (#6872) 2023-01-29 14:54:08 +00:00
Donny/강동윤
b8fcf3bc62 chore: Publish crates 2023-01-29 22:44:56 +09:00
SWC Bot
2836fb207b chore: Publish crates 2023-01-29 13:30:41 +00:00
Donny/강동윤
cb3901cb5e chore: Publish crates 2023-01-29 03:35:48 +09:00
SWC Bot
3babace12d chore: Publish crates 2023-01-28 18:34:39 +00:00
SWC Bot
1b56b40fda chore: Publish crates 2023-01-28 17:21:30 +00:00
Austaras
c0e72ef64a
fix(es/minifier): Track reassign in parent scope (#6865)
**Related issue:**

 - Closes https://github.com/swc-project/swc/issues/6864.
2023-01-28 17:19:19 +00:00
SWC Bot
33dab56853 chore: Publish crates 2023-01-27 13:00:49 +00:00
Alex Vasilev
39c75fdcce
fix(es/module): Fix handling of this for systemjs (#6857)
**Related issue:**

 - Closes https://github.com/swc-project/swc/issues/6784.
2023-01-27 12:58:22 +00:00
SWC Bot
5a5a7d70e4 chore: Publish crates 2023-01-27 06:59:44 +00:00
Donny/강동윤
60d9403073
fix(es/parser): Fix parsing of generics (#6859)
**Related issue:**

 - Closes https://github.com/swc-project/swc/issues/6851.
2023-01-27 06:57:19 +00:00
SWC Bot
586783a7ac chore: Publish crates 2023-01-27 05:38:19 +00:00
Donny/강동윤
d1687d8e01
feat(es/minifier): Improve compatibility of arrows with terser (#6862)
**Related issue:**

 - Closes https://github.com/swc-project/swc/issues/6123.
2023-01-27 14:36:12 +09:00
SWC Bot
49d9237e64 chore: Publish crates 2023-01-27 04:47:07 +00:00
Donny/강동윤
45cdfed6c8
chore(ci): FIx CI (#6861) 2023-01-27 04:44:58 +00:00
Donny/강동윤
420a67ac2b chore: Publish crates 2023-01-26 17:22:40 +09:00
Donny/강동윤
7147cb3e2a chore: Publish crates 2023-01-26 12:27:54 +09:00
SWC Bot
dbb3f362aa chore: Publish crates 2023-01-26 03:09:22 +00:00
SWC Bot
8fc1b651b1 chore: Publish crates 2023-01-26 02:11:53 +00:00
Donny/강동윤
99d48e305e
fix(plugin): Make span_to_source use dedicated function (#6853)
**Related issue:**

 - Closes https://github.com/swc-project/swc/issues/6852.
 - Closes https://github.com/swc-project/swc/issues/6404.
2023-01-26 02:09:36 +00:00
SWC Bot
28be71dfaf chore: Publish crates 2023-01-26 01:19:53 +00:00
Austaras
55225cb994
refactor(es/minifier): Merge cond_init with reassigned (#6850)
**Description:**

And optimize the following situation
```js
export function genElement(el, state) {
    if ('slot' === el.tag) return el1 = el, genChildren(el1);
    if (el.component) {
        var el1
        return 999;
    }
}
```
which rarely happens in hand written JS, but is often generated by swc merge variable pass.
2023-01-26 10:17:33 +09:00
Donny/강동윤
1bf9b3777e chore: Publish crates 2023-01-24 16:05:45 +09:00
SWC Bot
7ee39c73e1 chore: Publish crates 2023-01-24 07:05:16 +00:00
SWC Bot
30b8cc612e chore: Publish crates 2023-01-24 06:18:52 +00:00
HeYunfei
58208ef8ae
perf(es/minifier): Make pure function check O(1) (#6840) 2023-01-24 06:16:23 +00:00
SWC Bot
05724e5122 chore: Publish crates 2023-01-23 10:16:00 +00:00
Austaras
2fcab36418
refactor(es/preset-env): Use a const fn instead of a macro (#6844) 2023-01-23 10:13:42 +00:00
SWC Bot
1d81137592 chore: Publish crates 2023-01-20 08:52:56 +00:00
Donny/강동윤
21e14787c5
fix(es/minifier): Don't inline into await from sequential inliner (#6839)
**Related issue:**

 - Closes https://github.com/swc-project/swc/issues/6837.
2023-01-20 08:50:51 +00:00
SWC Bot
8863e31446 chore: Publish crates 2023-01-20 08:11:11 +00:00
Donny/강동윤
df702614e1
fix(es/codegen): Fix codegen of string literals with \x000 (#6838)
**Related issue:**

 - Closes https://github.com/swc-project/swc/issues/6836.
2023-01-20 08:08:58 +00:00
SWC Bot
8194c65953 chore: Publish crates 2023-01-18 02:19:16 +00:00
Alex Dixon
7205543d5f
refactor(es/typescript): Remove unused code (#6830) 2023-01-18 02:16:43 +00:00
SWC Bot
09b3e72861 chore: Publish crates 2023-01-17 06:58:46 +00:00
Donny/강동윤
6ba726ba28 chore: Publish crates 2023-01-17 11:56:28 +09:00
SWC Bot
6f77544a10 chore: Publish crates 2023-01-17 02:52:10 +00:00
SWC Bot
c3607ba6eb chore: Publish crates 2023-01-16 16:09:51 +00:00
RiESAEX
ad8d043f1d
feat(es/helper): Use require to load polyfills and helpers in Script (#6778) 2023-01-16 16:07:40 +00:00
SWC Bot
b1f3eb74df chore: Publish crates 2023-01-16 15:26:01 +00:00
westhide
e9fdac216c
fix(es/codegen): Skip space if jsx attrs is empty (#6823) 2023-01-16 15:23:28 +00:00
SWC Bot
4a75eb0157 chore: Publish crates 2023-01-16 06:59:39 +00:00
Donny/강동윤
ebce18b221
fix(es/renamer): Handle rest params correctly (#6821)
**Related issue:**

 - Closes https://github.com/swc-project/swc/issues/6819.
2023-01-16 06:57:16 +00:00
SWC Bot
179a5f8a92 chore: Publish crates 2023-01-16 04:53:53 +00:00
Donny/강동윤
82bd5c2041
feat(es/renamer): Rename synthesized identifiers even on eval (#6818)
**Related issue:**

 - Closes https://github.com/swc-project/swc/issues/5068.
2023-01-16 04:51:47 +00:00
SWC Bot
a5707ae7c1 chore: Publish crates 2023-01-15 06:45:26 +00:00
Donny/강동윤
ff78b8f7e0
feat(es/ast): Add EsNext to EsVersion (#6816) 2023-01-15 15:43:10 +09:00
SWC Bot
4ea0e20ded chore: Publish crates 2023-01-15 00:20:53 +00:00
SWC Bot
767f50040b chore: Publish crates 2023-01-14 09:00:21 +00:00
Alexander Akait
43e75194e5
feat(css/parser): Normalize at-rules (#6705) 2023-01-14 08:58:24 +00:00
SWC Bot
47cc6446d4 chore: Publish crates 2023-01-13 07:32:44 +00:00
Donny/강동윤
e7ea054c63
test(es): Enable execution tests for fixed issues (#6805) 2023-01-13 07:30:21 +00:00
SWC Bot
0bc0a0d274 chore: Publish crates 2023-01-13 06:57:24 +00:00
Donny/강동윤
8f683e3f77
feat(es/minifier): Remove noop spreads (#6803)
**Related issue:**

 - Closes https://github.com/swc-project/swc/issues/6788.
2023-01-13 06:55:04 +00:00
SWC Bot
b5adb7b842 chore: Publish crates 2023-01-13 05:42:09 +00:00
Donny/강동윤
a299fd0418
test(es/minifier): Add a test for an invalid issue (#6802)
**Related issue:**
 
 - https://github.com/vercel/next.js/discussions/30237#discussioncomment-4674405
2023-01-13 05:39:22 +00:00
SWC Bot
b27793f579 chore: Publish crates 2023-01-13 05:02:46 +00:00
Donny/강동윤
631dd7872b
feat(es/renamer): Support safari10 from the name mangler (#6801) 2023-01-13 05:00:13 +00:00
SWC Bot
75bf8397ba chore: Publish crates 2023-01-12 11:42:47 +00:00
Donny/강동윤
224eff91eb
feat(es/quote): Allow using Str as a var (#6797) 2023-01-12 11:40:26 +00:00
SWC Bot
be0af3ff13 chore: Publish crates 2023-01-12 11:04:17 +00:00
Donny/강동윤
b29aa5b5a0
test(es/preset-env): Add a test for a wrong issue (#6794)
**Related issue:**
 
 - Closes https://github.com/swc-project/swc/issues/6460.
2023-01-12 11:01:25 +00:00
SWC Bot
ba910306ad chore: Publish crates 2023-01-12 09:22:29 +00:00
Donny/강동윤
07676d5515
fix(es/compat): Ignore this in nested scopes in classes pass (#6796)
**Related issue:**

 - Closes https://github.com/swc-project/swc/issues/6506.
2023-01-12 09:19:40 +00:00
SWC Bot
2efcbdd2b4 chore: Publish crates 2023-01-12 07:31:36 +00:00
Donny/강동윤
c14540905f
fix(es/transform): Apply hygiene and resolver if minify is specified (#6793)
**Related issue:**

 - Closes https://github.com/swc-project/swc/issues/6791.
2023-01-12 07:29:28 +00:00
SWC Bot
06e7db9f06 chore: Publish crates 2023-01-12 06:56:43 +00:00
Donny/강동윤
7dc5ccb0fc
test(es/compat): Add a test to verify parameters passs (#6792)
**Related issue:**

 - Closes https://github.com/swc-project/swc/issues/6790.
2023-01-12 15:54:36 +09:00
Donny/강동윤
5496379454 chore: Publish crates 2023-01-11 18:36:16 +09:00
SWC Bot
d9b22b8bf7 chore: Publish crates 2023-01-11 08:43:06 +00:00
SWC Bot
1431c735a9 chore: Publish crates 2023-01-11 07:44:21 +00:00
Donny/강동윤
bbfa97a475
fix(es/decorator): Fix type detection for template literal types (#6786)
**Related issue:**

 - Closes https://github.com/swc-project/swc/issues/6682.
2023-01-11 07:42:09 +00:00
SWC Bot
eddf8fd1bb chore: Publish crates 2023-01-11 07:06:58 +00:00
Donny/강동윤
06770cff04
fix(es/minifier): Make AST compressor respect toplevel (#6775)
**Related issue:**

 - Closes https://github.com/swc-project/swc/issues/4386.
2023-01-11 07:04:20 +00:00
SWC Bot
267d256b5b chore: Publish crates 2023-01-11 06:04:36 +00:00
Donny/강동윤
336b1d8b4d
fix(es/minifier): Don't inline conditionally initialized vars (#6751)
**Related issue:**

 - Closes https://github.com/swc-project/swc/issues/6750.
 - Closes https://github.com/swc-project/swc/issues/6780.
2023-01-11 06:01:56 +00:00
SWC Bot
c695249b2a chore: Publish crates 2023-01-11 05:09:17 +00:00
Donny/강동윤
0ef84e1c00
test(es/module): Add a test for invalid issue (#6785)
**Related issue:**

 - Closes https://github.com/swc-project/swc/issues/6779.
2023-01-11 05:06:45 +00:00
SWC Bot
cd06479a43 chore: Publish crates 2023-01-11 03:00:59 +00:00
HeYunfei
ff8facef64
fix(es/parser): Allow parsing import.meta as an expression (#6783) 2023-01-11 02:58:25 +00:00
SWC Bot
70c3126771 chore: Publish crates 2023-01-10 10:21:15 +00:00
Donny/강동윤
ae3cfa7d2d
fix(es): Remove useless context (#6777) 2023-01-10 10:19:01 +00:00
SWC Bot
6f1e08fa3c chore: Publish crates 2023-01-10 06:45:17 +00:00
Donny/강동윤
ec7e913815
fix(es/minifier): Make name mangler respect toplevel (#6774)
**Related issue:**

 - Closes https://github.com/swc-project/swc/issues/6418.
2023-01-10 06:42:49 +00:00
SWC Bot
52dada97ff chore: Publish crates 2023-01-10 06:03:34 +00:00
Donny/강동윤
3f0f664c48
fix(es/codegen): Skip lo of a program if body is not empty (#6773)
**Related issue:**

 - Closes https://github.com/swc-project/swc/issues/6767.
2023-01-10 06:01:14 +00:00
SWC Bot
478b1fe458 chore: Publish crates 2023-01-10 05:10:48 +00:00
magic-akari
019cf37199
feat(es/typescript): Support const modifier on type parameters (#6672)
**Related issue:**

 - https://github.com/microsoft/TypeScript/pull/51865.
2023-01-10 05:08:29 +00:00
SWC Bot
b102504eb9 chore: Publish crates 2023-01-10 03:30:52 +00:00
Donny/강동윤
6d365de9e2
chore(ci): Fix CI action (#6772) 2023-01-10 03:28:07 +00:00
SWC Bot
ca64ab0906 chore: Publish crates 2023-01-09 11:00:40 +00:00
magic-akari
1d147602c0
fix(es/helpers): Make _classPrivateFieldLooseBase return receiver (#6770) 2023-01-09 10:58:29 +00:00
SWC Bot
a145bb5776 chore: Publish crates 2023-01-09 06:27:08 +00:00
Donny/강동윤
6c126da1d4
test(es): Add a test for a fixed source map issue (#6768)
**Related issue:**

 - Closes https://github.com/swc-project/swc/issues/6244.
2023-01-09 06:25:03 +00:00
SWC Bot
a225efe363 chore: Publish crates 2023-01-08 04:59:27 +00:00
Justin Ridgewell
2b503c16d5
fix(es/codegen): Fix LineCol calculation of printed files (#6763)
**Description:**

There were several issues with the way we updated the current `LineCol` position during the printing of the generated file:

- We used `chars` and `char_indices` (UTF-32) instead of `encode_utf16` (UTF-16) chars.
- JS uses UCS-2 (basically UTF-16) for its strings, and source maps default to that implicitly.
- `\r` was incorrectly handled
  - it didn't add a `line_start`; only `\n` did
- `\r\n` was incorrectly handled
- It was trying to let the `\n` path handle the `line_start`, but it called
`chars.next()` which ate the `\n` char.

I also took the opportunity to avoid the `Vec` allocations and reduced some code duplication.

See the
[before](https://evanw.github.io/source-map-visualization/#ODEzAC8qKgogKiBmb28KICogQHBhcmFtIGRhdGEgZm9vCiAqIEByZXR1cm5zIGZvbwogKi8gZXhwb3J0IGNvbnN0IGZpeHVwUmlza0NvbmZpZ0RhdGEgPSAoZGF0YSk9PnsKICAgIGlmICh4KSB7CiAgICAgICAgcmV0dXJuIDEyMzsKICAgIH0gZWxzZSB7CiAgICAgICAgcmV0dXJuIDQ1NjsKICAgIH0KfTsKCi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbWx1Y0hWMExuUnpJbDBzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSWk4cUtseHlYRzRnS2lCbWIyOWNjbHh1SUNvZ1FIQmhjbUZ0SUdSaGRHRWdabTl2WEhKY2JpQXFJRUJ5WlhSMWNtNXpJR1p2YjF4eVhHNGdLaTljY2x4dVpYaHdiM0owSUdOdmJuTjBJR1pwZUhWd1VtbHphME52Ym1acFowUmhkR0VnUFNBb1pHRjBZVG9nWVc1NUtUb2dkSGx3WlhNdVVtbHphME52Ym1acFoxUjVjR1VnUFQ0Z2UxeHlYRzRnSUdsbUlDaDRLU0I3WEhKY2JpQWdJQ0J5WlhSMWNtNGdNVEl6TzF4eVhHNGdJSDBnWld4elpTQjdYSEpjYmlBZ0lDQnlaWFIxY200Z05EVTJPMXh5WEc0Z0lIMWNjbHh1ZlRzaVhTd2libUZ0WlhNaU9sc2labWw0ZFhCU2FYTnJRMjl1Wm1sblJHRjBZU0lzSW1SaGRHRWlMQ0o0SWwwc0ltMWhjSEJwYm1keklqb2lRVUZCUVN4dFJFRkpReXhIUVVORUxFOUJRVThzVFVGQlRVRXNjMEpCUVhOQ0xFTkJRVU5ETEU5QlFXOURPMGxCUTNSRkxFbEJRVWxETEVkQlFVYzdVVUZEVEN4UFFVRlBPMGxCUTFRc1QwRkJUenRSUVVOTUxFOUJRVTg3U1VGRFZDeERRVUZETzBGQlEwZ3NSVUZCUlNKOTQ0NAB7InZlcnNpb24iOjMsInNvdXJjZXMiOlsiaW5wdXQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIGZvb1xyXG4gKiBAcGFyYW0gZGF0YSBmb29cclxuICogQHJldHVybnMgZm9vXHJcbiAqL1xyXG5leHBvcnQgY29uc3QgZml4dXBSaXNrQ29uZmlnRGF0YSA9IChkYXRhOiBhbnkpOiB0eXBlcy5SaXNrQ29uZmlnVHlwZSA9PiB7XHJcbiAgaWYgKHgpIHtcclxuICAgIHJldHVybiAxMjM7XHJcbiAgfSBlbHNlIHtcclxuICAgIHJldHVybiA0NTY7XHJcbiAgfVxyXG59OyJdLCJuYW1lcyI6WyJmaXh1cFJpc2tDb25maWdEYXRhIiwiZGF0YSIsIngiXSwibWFwcGluZ3MiOiJBQUFBLG1EQUlDLEdBQ0QsT0FBTyxNQUFNQSxzQkFBc0IsQ0FBQ0MsT0FBb0M7SUFDdEUsSUFBSUMsR0FBRztRQUNMLE9BQU87SUFDVCxPQUFPO1FBQ0wsT0FBTztJQUNULENBQUM7QUFDSCxFQUFFIn0=)
and
[after](https://evanw.github.io/source-map-visualization/#ODIyAC8qKgogKiBmb28KICogQHBhcmFtIGRhdGEgZm9vCiAqIEByZXR1cm5zIGZvbwogKi8gZXhwb3J0IHZhciBmaXh1cFJpc2tDb25maWdEYXRhID0gZnVuY3Rpb24oZGF0YSkgewogICAgaWYgKHgpIHsKICAgICAgICByZXR1cm4gMTIzOwogICAgfSBlbHNlIHsKICAgICAgICByZXR1cm4gNDU2OwogICAgfQp9OwoKLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklpNHZZWEJ3TG1weklsMHNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJaThxS2x4eVhHNGdLaUJtYjI5Y2NseHVJQ29nUUhCaGNtRnRJR1JoZEdFZ1ptOXZYSEpjYmlBcUlFQnlaWFIxY201eklHWnZiMXh5WEc0Z0tpOWNjbHh1Wlhod2IzSjBJR052Ym5OMElHWnBlSFZ3VW1semEwTnZibVpwWjBSaGRHRWdQU0FvWkdGMFlUb2dZVzU1S1RvZ2RIbHdaWE11VW1semEwTnZibVpwWjFSNWNHVWdQVDRnZTF4eVhHNGdJR2xtSUNoNEtTQjdYSEpjYmlBZ0lDQnlaWFIxY200Z01USXpPMXh5WEc0Z0lIMGdaV3h6WlNCN1hISmNiaUFnSUNCeVpYUjFjbTRnTkRVMk8xeHlYRzRnSUgxY2NseHVmVHNpWFN3aWJtRnRaWE1pT2xzaVptbDRkWEJTYVhOclEyOXVabWxuUkdGMFlTSXNJbVJoZEdFaUxDSjRJbDBzSW0xaGNIQnBibWR6SWpvaVFVRkJRVHM3T3p0RFFVbERMRWRCUTBRc1QwRkJUeXhKUVVGTlFTeHpRa0ZCYzBJc1UwRkJRME1zVFVGQmIwTTdTVUZEZEVVc1NVRkJTVU1zUjBGQlJ6dFJRVU5NTEU5QlFVODdTVUZEVkN4UFFVRlBPMUZCUTB3c1QwRkJUenRKUVVOVUxFTkJRVU03UVVGRFNDeEZRVUZGSW4wPTQ0NgB7InZlcnNpb24iOjMsInNvdXJjZXMiOlsiLi9hcHAuanMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIGZvb1xyXG4gKiBAcGFyYW0gZGF0YSBmb29cclxuICogQHJldHVybnMgZm9vXHJcbiAqL1xyXG5leHBvcnQgY29uc3QgZml4dXBSaXNrQ29uZmlnRGF0YSA9IChkYXRhOiBhbnkpOiB0eXBlcy5SaXNrQ29uZmlnVHlwZSA9PiB7XHJcbiAgaWYgKHgpIHtcclxuICAgIHJldHVybiAxMjM7XHJcbiAgfSBlbHNlIHtcclxuICAgIHJldHVybiA0NTY7XHJcbiAgfVxyXG59OyJdLCJuYW1lcyI6WyJmaXh1cFJpc2tDb25maWdEYXRhIiwiZGF0YSIsIngiXSwibWFwcGluZ3MiOiJBQUFBOzs7O0NBSUMsR0FDRCxPQUFPLElBQU1BLHNCQUFzQixTQUFDQyxNQUFvQztJQUN0RSxJQUFJQyxHQUFHO1FBQ0wsT0FBTztJQUNULE9BQU87UUFDTCxPQUFPO0lBQ1QsQ0FBQztBQUNILEVBQUUifQ==)


**Related issue:**

 - Closes https://github.com/swc-project/swc/issues/6694.
2023-01-08 13:57:26 +09:00
SWC Bot
fb6770f649 chore: Publish crates 2023-01-06 08:17:26 +00:00
HeYunfei
8a6a1cbcf1
feat(es/minifier): Handle boolean in Evaluator (#6756)
**Related issue:**

 - Closes https://github.com/swc-project/swc/issues/5953.
2023-01-06 08:15:07 +00:00
Donny/강동윤
48902b60d3 chore: Publish crates 2023-01-06 16:41:16 +09:00