Commit Graph

703 Commits

Author SHA1 Message Date
SWC Bot
6383ac443d chore: Publish crates 2023-11-10 12:34:31 +00:00
Donny/강동윤
e58912622d
fix(es/parser): Consider ASI while parsing TypeScript type aliases (#8263)
**Related issue:**

 - Closes #8073.
2023-11-10 12:31:55 +00:00
SWC Bot
2d2ad1e9a1 chore: Publish crates 2023-11-09 03:48:08 +00:00
SWC Bot
2effaf6f43 chore: Publish crates 2023-11-09 01:01:47 +00:00
David Sherret
a5a6eb53a5
perf(atoms): Introduce AtomStoreCell (#8232) 2023-11-09 09:59:20 +09:00
SWC Bot
4c2547adf2 chore: Publish crates 2023-11-07 09:55:14 +00:00
SWC Bot
a072819859 chore: Publish crates 2023-11-07 08:55:03 +00:00
David Sherret
37657b8bd5
perf(es/lexer): Remove needless clones of Rc<RefCell<AtomStore>> (#8231)
Removes some clones of `self.atom`.

`> cargo "bench" "--package" "swc_ecma_parser" "--bench" "parser" "--" "three"`

Main: ~38.2ms
This PR: ~37.8ms
2023-11-07 08:52:14 +00:00
SWC Bot
09b3003e58 chore: Publish crates 2023-11-07 00:54:18 +00:00
Donny/강동윤
aa22746d03
perf(atoms): Replace string-cache with hstr (#8126)
**Description:**

`hstr` is an alternative for `string-cache` which does not support static strings and does not use a global mutex.
 
**Related issue:**

 - Closes #4946.
 - Closes #7974.
2023-11-07 00:51:43 +00:00
SWC Bot
86e83335eb chore: Publish crates 2023-11-06 10:47:53 +00:00
Donny/강동윤
d4ae44ac45
perf(es/parser): Use smarter lookup table for lexer (#8226)
**Description:**

`phf` is slower than expected.
2023-11-06 19:45:46 +09:00
SWC Bot
f00238d543 chore: Publish crates 2023-11-06 10:00:55 +00:00
SWC Bot
b070ffe425 chore: Publish crates 2023-11-06 05:31:11 +00:00
Donny/강동윤
e3e439dba6
perf(es/parser): Improve performance (#8224)
**Description:**

Small things
2023-11-06 05:28:30 +00:00
SWC Bot
48e5c9ad54 chore: Publish crates 2023-11-06 04:18:48 +00:00
Donny/강동윤
3833cf4e55
perf(es/parser): Remove needless strcmp ops (#8223)
**Description:**


## The current `main`

```
es/parser/angular       time:   [7.9848 ms 8.0003 ms 8.0243 ms]
```

## This PR

```
es/parser/angular       time:   [7.3380 ms 7.3498 ms 7.3663 ms]
```
2023-11-06 13:16:35 +09:00
SWC Bot
edb46c3c71 chore: Publish crates 2023-11-04 21:49:01 +00:00
Donny/강동윤
14ea705f27
build(cargo): Update rustc to nightly-2023-11-04 (#8221)
**Breaking Changes**:

 - `Mark::default()` is now identical as `Mark::new()`.

**Description:**

I want to see if inlining is improved
2023-11-04 21:47:10 +00:00
SWC Bot
4594a7bea4 chore: Publish crates 2023-11-04 01:37:57 +00:00
SWC Bot
2b35e6c159 chore: Publish crates 2023-11-02 22:20:35 +00:00
SWC Bot
b77d99d4b8 chore: Publish crates 2023-10-30 01:41:47 +00:00
SWC Bot
67b0a7f258 chore: Publish crates 2023-10-25 23:01:44 +00:00
Donny/강동윤
7530e9051d
perf(es/minifier): Add has_flag to Comments (#8182) 2023-10-25 22:59:03 +00:00
SWC Bot
5450f5808a chore: Publish crates 2023-10-23 22:03:16 +00:00
Donny/강동윤
5be8e74ee0
chore(es/module): Remove serde(deny_unknown_fields) (#8163)
**Related issue:**

 - Closes #7979
2023-10-20 21:32:34 +00:00
SWC Bot
6f9c6424d7 chore: Publish crates 2023-10-20 13:33:17 +00:00
Donny/강동윤
826386f49a
fix(es/parser): Skip this parameters in setter (#8158)
**Description:**

This is not a proper fix, but let's wait for the conf.

**Related issue:**

 - Closes #8156
2023-10-20 13:30:40 +00:00
SWC Bot
34b01672ad chore: Publish crates 2023-10-18 04:24:27 +00:00
David Sherret
bffe33a270
feat(es/parser): Implement AsRef<str> for IdentLike (#8133) 2023-10-18 04:22:03 +00:00
SWC Bot
1183c32e3c chore: Publish crates 2023-10-11 14:05:36 +00:00
Donny/강동윤
e1043fae77
fix(es/parser): Fix parsing of await using (#8101)
**Related issue:**

 - Closes #8096
2023-10-11 14:03:08 +00:00
SWC Bot
34e03c4661 chore: Publish crates 2023-10-08 00:41:50 +00:00
Donny/강동윤
84cec8766d
refactor(atoms): Remove usage of js_word! to drop string-cache (#7976)
**Description:**

This PR is to prepare removal of `string-cache`. Actually, this PR does not remove it. Instead, this PR only removes direct usages of `js_word!`s, especially in patterns.



**Related issue:**

 - #4946.
2023-10-08 00:39:51 +00:00
Donny/강동윤
a5621bb30a
chore(xtask): Migrate scripts to xtask (#8072)
This PR adds

 - `xtask clean`
 - `xtask bench`
2023-10-06 14:44:53 +00:00
SWC Bot
a6527bf9ab chore: Publish crates 2023-10-06 00:12:18 +00:00
Donny/강동윤
9b9bc51c28
refactor(es/parser): Introduce TokenKind along with Token (#8071)
**Description:**

This is extracted from https://github.com/swc-project/swc/pull/7790 because this PR is extremely large PR. I'll switch to `TokenKind` gradually.
2023-10-06 00:09:48 +00:00
SWC Bot
4623b3e07f chore: Publish crates 2023-09-05 12:26:15 +00:00
SWC Bot
d1ec49e3e5 chore: Publish crates 2023-08-31 13:25:10 +00:00
SWC Bot
562f5e1eb3 chore: Publish crates 2023-08-28 00:31:39 +00:00
Donny/강동윤
4d3fcb86e4
feat(es/ast): Support import attributes proposal (#7868)
**Related issue:**

 - Closes #7179
2023-08-28 00:29:45 +00:00
SWC Bot
2be46c920c chore: Publish crates 2023-08-27 18:25:51 +00:00
Donny/강동윤
3180e68bf2
fix(es/compat): Apply transforms for explicit resource management (#7881)
**Related issue:**

 - Closes #7879
2023-08-27 18:23:32 +00:00
SWC Bot
7b5cb902a5 chore: Publish crates 2023-08-24 12:58:41 +00:00
Donny/강동윤
c65732496e
refactor(common): Mark some methods of Input unsafe (#7848)
**Related issue:**

 - Closes #7709
2023-08-24 12:56:38 +00:00
SWC Bot
a9a6928a4e chore: Publish crates 2023-08-24 08:20:56 +00:00
SWC Bot
e9dfe879d9 chore: Publish crates 2023-08-16 18:04:14 +00:00
SWC Bot
d5495eeb9a chore: Publish crates 2023-08-16 14:18:56 +00:00
SWC Bot
2dc88ef147 chore: Publish crates 2023-08-16 13:26:52 +00:00
Donny/강동윤
8b809dbe23
refactor(es/parser): Remove needless unsafe (#7818)
**Related issue:**

 - Closes #7797
2023-08-16 13:24:35 +00:00
SWC Bot
a671afa0aa chore: Publish crates 2023-08-16 02:12:39 +00:00
SWC Bot
0f66ee315a chore: Publish crates 2023-08-14 15:47:58 +00:00
David Sherret
e527c12a82
fix(es/parser): Revert lexer fix for << (#7807)
This temporarily reverts commit 68503726a7
until https://github.com/swc-project/swc/issues/7621 can be fixed.

Re-opens #7187.
2023-08-14 15:45:51 +00:00
SWC Bot
74d446f759 chore: Publish crates 2023-08-14 01:35:45 +00:00
Manish Goregaokar
5e7834aa2e
refactor(es/parser): Don't attempt to handle shebangs in read_token_number_sign (#7803)
bump() has a safety invariant that there must be input in the buffer to
read (See https://github.com/swc-project/swc/issues/7709).

This function as currently written calls `bump()` after calling
`read_token_interpreter()`, which *may* have exhausted the buffer
already in the specific case that it is handling a shebang. (The input
string `#!/bin/js` with no newline is sufficient to cause UB here)

Fortunately, shebangs never reach this function, due to `read_shebang`!
Hurray!

It's cleaner to not attempt to handle shebangs here when this code path
will never be reached, and use a debug assertion to ensure that we're
not dealing with shebangs.
2023-08-14 01:33:50 +00:00
SWC Bot
b5dcce03c1 chore: Publish crates 2023-08-10 08:01:19 +00:00
SWC Bot
0219eebeb9 chore: Publish crates 2023-08-07 21:31:50 +00:00
Fy
5f97f8656f
refactor(es/parser): Do not validate top-level await with target (#7774) 2023-08-07 21:30:04 +00:00
SWC Bot
1e6ade8cfa chore: Publish crates 2023-08-07 20:01:21 +00:00
SWC Bot
97289b4edc chore: Publish crates 2023-08-06 20:31:13 +00:00
Gareth McSorley
e50cfde938
refactor(es/parser): Do not use lexical (#7758)
This PR replaces the current usage of lexical within the swc_ecma_parser
crate with equivalent parsing of large numbers using BigInt.

**Description:**

As discussed in
https://github.com/swc-project/swc/issues/7752, lexical contains a
number of soundness issues but doesn't appear to be actively supported.
Given the relatively low integration surface it seems reasonable to
replace the usage of lexical with another package to avoid this issue.

**Related issue:**

- Closes #7752
2023-08-06 20:29:17 +00:00
SWC Bot
d3b516d692 chore: Publish crates 2023-07-28 05:59:26 +00:00
Rene B
864bdefbe0
refactor(es/parser): Make stacker an optional dependency (#7720) 2023-07-28 05:57:31 +00:00
SWC Bot
026101b71e chore: Publish crates 2023-07-20 05:57:51 +00:00
SWC Bot
26d79444c6 chore: Publish crates 2023-07-13 02:09:23 +00:00
Manish Goregaokar
a961090c9d
chore(es/parser): Scope use of lexical to certain features (#7644) 2023-07-13 11:07:25 +09:00
SWC Bot
735a82d6a4 chore: Publish crates 2023-07-05 03:52:51 +00:00
Donny/강동윤
b34f1adbcc
build(cargo): Update rustc to 2023-07-03 (#7623) 2023-07-05 03:50:43 +00:00
SWC Bot
cba986807a chore: Publish crates 2023-06-30 07:43:11 +00:00
Donny/강동윤
68503726a7
fix(es/parser): Re-lex << as two <-s if required (#7439)
**Related issue:**

 - Closes #7187.
2023-06-30 07:41:19 +00:00
SWC Bot
efc1afd96a chore: Publish crates 2023-06-29 14:15:31 +00:00
Donny/강동윤
bcd5a1d666
feat(es/compat): Implement transform for explicit resource management (#7376)
**Related issue:**

 - Closes #7316.
 - Closes #7369.
2023-06-29 14:13:43 +00:00
SWC Bot
b4ae28b053 chore: Publish crates 2023-06-26 04:02:12 +00:00
Donny/강동윤
9d5dda1299
fix(es/parser): Adjust context while parsing type arguments of TypeScript type queries (#7582)
**Related issue:**

 - Closes #7580.
2023-06-26 04:00:00 +00:00
SWC Bot
4efefb0f4e chore: Publish crates 2023-06-23 02:28:10 +00:00
SWC Bot
8c1436aaf5 chore: Publish crates 2023-06-22 13:40:52 +00:00
Donny/강동윤
d57d0d3ad3
build(cargo): Update deps (#7566) 2023-06-22 13:37:35 +00:00
SWC Bot
33355cf707 chore: Publish crates 2023-06-22 07:43:38 +00:00
Donny/강동윤
d12dc70c91
build(cargo): Update deps (#7564) 2023-06-22 07:40:41 +00:00
SWC Bot
f9c5265bde chore: Publish crates 2023-06-21 15:44:11 +00:00
SWC Bot
c023a03d7b chore: Publish crates 2023-06-21 03:18:22 +00:00
SWC Bot
fec056f5db chore: Publish crates 2023-06-20 03:21:20 +00:00
SWC Bot
44aac8fe27 chore: Publish crates 2023-06-19 05:51:51 +00:00
SWC Bot
08574e690b chore: Publish crates 2023-06-12 08:04:50 +00:00
Donny/강동윤
3958f1792c
refactor(es/ast): Remove unused fields (#7518)
**Related issue:**

 - Closes #7347.
 - Closes #7487.
2023-06-12 08:02:34 +00:00
SWC Bot
96895b1f3f chore: Publish crates 2023-06-12 06:49:35 +00:00
Donny/강동윤
aa83584634
refactor(es/ast): Reimplement optional chaining (#7441)
**Related issue:**

 - Closes #7003.
 - Closes #7156.
2023-06-12 06:47:40 +00:00
SWC Bot
cea1237c5e chore: Publish crates 2023-06-12 01:39:32 +00:00
Pig Fang
6c00a2422a
feat(es/parser): Disallow tagged tpl in optional chaining (#7515) 2023-06-12 01:37:39 +00:00
SWC Bot
a63905aa2c chore: Publish crates 2023-05-30 05:18:06 +00:00
Donny/강동윤
8274cce9a7
test(es/parser): Add a test for a fixed issue (#7467)
**Related issue:**

 - Closes #7456.
2023-05-30 04:35:07 +00:00
SWC Bot
a85816d505 chore: Publish crates 2023-05-25 04:54:11 +00:00
Donny/강동윤
77850dd8f0
fix(es/parser): Fix parsing of generic jsx element name (#7449)
**Related issue:**

 - Closes #7444.
2023-05-25 13:52:14 +09:00
SWC Bot
6c3ff01a53 chore: Publish crates 2023-05-24 07:48:00 +00:00
SWC Bot
c1f2b4a09f chore: Publish crates 2023-05-24 06:59:37 +00:00
Donny/강동윤
a37d59a134
fix(es/parser): Fix parsing of tsx with a type annotation in a conditional expression (#7440)
**Related issue:**

 - Closes #7224.
2023-05-24 15:57:50 +09:00
SWC Bot
b95cd8444e chore: Publish crates 2023-05-24 06:27:35 +00:00
Donny/강동윤
33a922b6f8
fix(es/parser): Allow using package as a parameter name in interface (#7438)
**Related issue:**

 - Closes #7186.
2023-05-24 06:25:39 +00:00
SWC Bot
47114702ef chore: Publish crates 2023-05-23 05:30:42 +00:00
Donny/강동윤
1cab43f17d
fix(es/parser): Reset class context (#7433)
**Related issue:**

 - Closes #7428.
2023-05-23 05:28:56 +00:00