Commit Graph

262 Commits

Author SHA1 Message Date
SWC Bot
b94fbed4c9 chore: Publish crates 2023-03-31 06:17:53 +00:00
SWC Bot
b1fb6b655f chore: Publish crates 2023-03-30 08:08:20 +00:00
Donny/강동윤
0259a7465f
build(cargo): Update rustc to nightly-2023-03-20 (#7170)
**Description:**

This PR also updates `rkyv` to `=0.7.40`.

**Related issue:**

 - Closes https://github.com/swc-project/swc/issues/6807.
2023-03-30 08:06:02 +00:00
SWC Bot
44062d6fa5 chore: Publish crates 2023-03-29 08:50:54 +00:00
Donny/강동윤
12546c853a
build(cargo): Revert rustc upgrade (#7162)
**Description:**

The `rkyv` bug is not fixed.
2023-03-29 17:48:45 +09:00
SWC Bot
d74103739a chore: Publish crates 2023-03-29 06:26:30 +00:00
Donny/강동윤
e445502072
build(cargo): Update rustc to nightly-2023-03-28 (#7154)
**Description:**

This PR also updates `rkyv` to `=0.7.40`.

**Related issue:**

 - Closes https://github.com/swc-project/swc/issues/6807.
2023-03-29 06:24:19 +00:00
SWC Bot
47f15f9f28 chore: Publish crates 2023-03-27 06:04:11 +00:00
SWC Bot
8fe52a12b3 chore: Publish crates 2023-03-27 04:31:35 +00:00
Donny/강동윤
30bc086052
refactor(ast): Make serde optional (#7138)
**Description:**

Turbopack does not use `serde` of swc AST types.
2023-03-27 13:28:42 +09:00
Donny/강동윤
28261985b0
chore(cargo): Refactor Cargo.toml to reduce merge conflict (#7139) 2023-03-24 13:46:42 +09:00
SWC Bot
b178ff5661 chore: Publish crates 2023-03-23 09:19:33 +00:00
SWC Bot
42f71431bf chore: Publish crates 2023-03-23 05:19:01 +00:00
Donny/강동윤
963c460613
refactor: Fix lints using clippy from nightly-2023-03-13 (#6920) 2023-03-14 04:56:21 +00:00
SWC Bot
0b0e61beb6 chore: Publish crates 2023-03-11 03:44:48 +00:00
Donny/강동윤
d1d0607158
perf(es/lexer): Make lexer faster (#7052) 2023-03-11 03:43:06 +00:00
SWC Bot
02e9e49733 chore: Publish crates 2023-03-10 03:54:16 +00:00
Donny/강동윤
962b0fc8af
perf(es/lexer): Use string searcher for lexing line comments (#7043) 2023-03-10 03:52:14 +00:00
SWC Bot
56aac6783b chore: Publish crates 2023-03-08 02:51:08 +00:00
Yoni Feng
9841f0b5d1
perf(atoms): Update string-cache for per-bucket mutex (#6980) 2023-03-08 11:47:42 +09:00
SWC Bot
79549c0f20 chore: Publish crates 2023-03-07 14:50:22 +00:00
Donny/강동윤
81495f5f21
feat(common): Add an API to create a SourceFile without allocation (#7029) 2023-03-07 14:47:21 +00:00
SWC Bot
bbb3615af7 chore: Publish crates 2023-02-28 06:42:16 +00:00
SWC Bot
6496796c59 chore: Publish crates 2023-02-22 06:52:59 +00:00
SWC Bot
b9212cfee0 chore: Publish crates 2023-02-10 02:51:53 +00:00
SWC Bot
cade201a1f chore: Publish crates 2023-02-10 02:30:18 +00:00
SWC Bot
0bb4dc2c3d chore: Publish crates 2023-01-29 14:56:26 +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
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
1161360d54 chore: Publish crates 2023-01-06 03:49:20 +00:00
Donny/강동윤
26a0c13589
fix(common): Mark \r as a line ending (#6752)
**Related issue:**

 - Closes https://github.com/swc-project/swc/issues/6694.
2023-01-06 03:47:16 +00:00
SWC Bot
61245739ea chore: Publish crates 2022-12-21 03:03:05 +00:00
SWC Bot
913230d02a chore: Publish crates 2022-12-20 06:11:34 +00:00
SWC Bot
30692bc26c chore: Publish crates 2022-12-13 15:48:32 +00:00
SWC Bot
292c3388b5 chore: Publish crates 2022-12-13 07:31:37 +00:00
SWC Bot
581d9ce769 chore: Publish crates 2022-12-13 03:38:21 +00:00
SWC Bot
4d4406d5b3 chore: Publish crates 2022-12-12 02:40:19 +00:00
SWC Bot
2379fc1fd9 chore: Publish crates 2022-12-04 05:55:52 +00:00
Justin Ridgewell
a203fdb1b6
fix(common): Fix BytePos -> CharPos calculations (#6574)
**Description:**

This fixes the BytePos -> CharPos calculation necessary for source maps.
There were a few issues in the old code:

1. UTF-8 maps 1-3 bytes into 1 UTF-16 char, but 4 bytes into 2 UTF-16 chars
2. The starting offset was not recorded when we reached the end of the `multibyte_chars` iteration
3. The `mappings` can be unordered, meaning we need to restart the UTF-16 offset calculation

**Related issue:**

 - Closes https://github.com/swc-project/swc/issues/6552.
2022-12-04 14:52:00 +09:00
SWC Bot
cffa11122b chore: Publish crates 2022-12-03 00:26:38 +00:00
Justin Ridgewell
b3ea52f863
refactor(common): Cleanup source_map.rs (#6570) 2022-12-03 00:23:06 +00:00
SWC Bot
ab2e19b601 chore: Publish crates 2022-12-02 08:01:39 +00:00
Donny/강동윤
4af52c79ae
fix(common): Fix handling of input source maps (#6561)
**Related issue:**

 - Closes https://github.com/swc-project/swc/issues/4578.
 - Closes https://github.com/swc-project/swc/issues/6244.
 - https://github.com/vercel/next.js/issues/39878.

Co-authored-by: Justin Ridgewell <justin@ridgewell.name>
2022-12-02 07:58:02 +00:00
SWC Bot
96a1f93e91 chore: Publish crates 2022-11-28 07:54:59 +00:00
Donny/강동윤
47908a49d3
perf(common): Fix perf bug of sourcemap for inputs with multi-byte chars (#6523)
**Description:**

This PR makes the source map generator cache the previous position instead of searching it from 0 every time.

**Related issue:**

 - Closes https://github.com/swc-project/swc/issues/6411.
2022-11-28 07:51:36 +00:00
SWC Bot
59954370cb chore: Publish crates 2022-11-20 00:30:30 +00:00
SWC Bot
2088dd4a84 chore: Publish crates 2022-11-11 22:50:50 +00:00
Andreas
b6c1cc49e1
fix(es/plugin): Print more details on pointer conversion failures (#6378) 2022-11-11 22:47:44 +00:00