Dunqing
b50c5ec623
fix(parser): unexpected ts type annotation in get/set ( #1942 )
...
fix: https://github.com/oxc-project/oxc/issues/1939
2024-01-08 15:07:43 +08:00
Boshen
08438e04ba
refactor(parser): remove TokenValue::RegExp from Token ( #1926 )
...
This PR is part of #1880 .
`Token` size is reduced from 48 to 40 bytes.
To reconstruct the regex pattern and flags within the parser , the regex
string is
re-parsed from the end by reading all valid flags.
In order to make things work nicely, the lexer will no longer recover
from a invalid regex.
2024-01-08 13:48:52 +08:00
Boshen
7eb2573178
refactor(parser): parse BigInt lazily ( #1924 )
...
This PR partially fixes #1803 and is part of #1880 .
BigInt is removed from the `Token` value, so that the token size can be
reduced once we removed all the variants.
`Token` is now also `Copy`, which removes all the `clone` and `drop`
calls.
This yields 5% performance improvement for the parser.
2024-01-08 12:37:20 +08:00
overlookmotel
eb2966c512
fix(parser): fix incorrectly identified directives ( #1885 )
...
Parser incorrectly identifies string literals as directives if they
follow after `import`s, `export`s, or decorators.
In all of these cases, `'use strict'` produces a directive in the AST,
where it should be parsed as an `ExpressionStatement` containing a
`StringLiteral`:
```js
import x from 'foo';
'use strict';
```
```js
export {x};
'use strict';
```
```js
@foo
'use strict';
```
[Playground](https://oxc-project.github.io/oxc/playground/?code=3YCAAIC0gICAgICAgIC0G8rnONK89ITJ3zrK%2FUP7OmSZPgHQzStr3yMtwFTU%2BD1WPt09JgqZJLoYooydbGsM5vGcf34BnIA%3D )
This PR should fix that.
I'm not sure about the decorator case, though. I assume it's not a
directive. But is prefixing a string literal with a decorator even legal
syntax anyway?
And a side nit: If I'm reading it right, I don't think the `continue`
statement in the decorator arm of the match does anything. Do I have
that right?
Last question: Where does one go about putting a test? I guess these
silly cases aren't covered by Babel etc's tests.
---------
Co-authored-by: Boshen <boshenc@gmail.com>
2024-01-04 13:39:15 +00:00
Dunqing
c3090c2c70
fix(parser): terminate parsing if an EmptyParenthesizedExpression error occurs ( #1874 )
...
close: https://github.com/oxc-project/oxc/issues/1870#issue-2061901976
2024-01-03 11:34:14 +08:00
overlookmotel
62bc8c5cea
fix(parser): error on source larger than 4 GiB ( #1860 )
...
`Token` and `Span` both represent `start` and `end` as `u32`.
This limits size of source which can be parsed to `u32::MAX`.
19577709db/crates/oxc_span/src/span.rs (L14-L20)
However, this constraint is currently not enforced.
In a release build, code will not panic on arithmetic overflow, so
`start`/`end` could wrap around back to zero if source is 4 GiB or more.
That'd produce nonsense spans. But worse, the lexer relies in some
places on `self.current.token.start` being correct, so if the value
wrapped around, possibly it'd keep rewinding to the start of the source
and lexing it again, causing an infinite loop.
In worst case, if for some reason an application's public API used OXC's
parser with user-supplied source code (parser-as-a-service!), this could
be exploited for denial of service.
This PR adds an assertion to catch this at the start of parsing instead.
This does add an extra instruction, but I imagine the effect will be
negligible compared to the work required to parse the code.
2024-01-02 11:05:28 +08:00
dependabot[bot]
c16821a55f
chore(deps): bump the dependencies group with 11 updates ( #1865 )
...
Bumps the dependencies group with 11 updates:
| Package | From | To |
| --- | --- | --- |
| [proc-macro2](https://github.com/dtolnay/proc-macro2 ) | `1.0.71` |
`1.0.73` |
| [quote](https://github.com/dtolnay/quote ) | `1.0.33` | `1.0.34` |
| [serde_json](https://github.com/serde-rs/json ) | `1.0.108` | `1.0.109`
|
| [thiserror](https://github.com/dtolnay/thiserror ) | `1.0.51` |
`1.0.53` |
| [is-terminal](https://github.com/sunfishcode/is-terminal ) | `0.4.9` |
`0.4.10` |
| [memchr](https://github.com/BurntSushi/memchr ) | `2.6.4` | `2.7.1` |
| [syn](https://github.com/dtolnay/syn ) | `2.0.43` | `2.0.44` |
| [ouroboros](https://github.com/joshua-maros/ouroboros ) | `0.18.1` |
`0.18.2` |
| [similar](https://github.com/mitsuhiko/similar ) | `2.3.0` | `2.4.0` |
| [napi](https://github.com/napi-rs/napi-rs ) | `2.14.1` | `2.14.2` |
| [napi-derive](https://github.com/napi-rs/napi-rs ) | `2.14.4` |
`2.14.6` |
Updates `proc-macro2` from 1.0.71 to 1.0.73
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/dtolnay/proc-macro2/releases ">proc-macro2's
releases</a>.</em></p>
<blockquote>
<h2>1.0.73</h2>
<ul>
<li>Documentation improvements</li>
</ul>
<h2>1.0.72</h2>
<ul>
<li>Improve build script to be robust to proc_macro::Span unstable API
changes</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="4dce5d7ebd "><code>4dce5d7</code></a>
Release 1.0.73</li>
<li><a
href="708540bec1 "><code>708540b</code></a>
Merge pull request <a
href="https://redirect.github.com/dtolnay/proc-macro2/issues/431 ">#431</a>
from dtolnay/doccfg</li>
<li><a
href="014fa8243f "><code>014fa82</code></a>
Restore documented cfg on LineColumn</li>
<li><a
href="df4fa83806 "><code>df4fa83</code></a>
Merge pull request <a
href="https://redirect.github.com/dtolnay/proc-macro2/issues/430 ">#430</a>
from dtolnay/nightlyci</li>
<li><a
href="75897cfc99 "><code>75897cf</code></a>
Make CI verify that proc_macro_span works in latest nightly</li>
<li><a
href="643cb897d7 "><code>643cb89</code></a>
Release 1.0.72</li>
<li><a
href="3db197755b "><code>3db1977</code></a>
Merge pull request <a
href="https://redirect.github.com/dtolnay/proc-macro2/issues/429 ">#429</a>
from dtolnay/probe</li>
<li><a
href="a961baeb81 "><code>a961bae</code></a>
Test for the specific proc_macro_span API expected by proc-macro2</li>
<li><a
href="784ae2e18a "><code>784ae2e</code></a>
Merge pull request <a
href="https://redirect.github.com/dtolnay/proc-macro2/issues/428 ">#428</a>
from dtolnay/cargoenvvar</li>
<li><a
href="8ade7dacec "><code>8ade7da</code></a>
Require cargo promised environment variables to be present</li>
<li>See full diff in <a
href="https://github.com/dtolnay/proc-macro2/compare/1.0.71...1.0.73 ">compare
view</a></li>
</ul>
</details>
<br />
Updates `quote` from 1.0.33 to 1.0.34
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/dtolnay/quote/releases ">quote's
releases</a>.</em></p>
<blockquote>
<h2>1.0.34</h2>
<ul>
<li>Documentation improvements</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="c777ce6fc1 "><code>c777ce6</code></a>
Release 1.0.34</li>
<li><a
href="e9cb3c25f3 "><code>e9cb3c2</code></a>
Pull in proc-macro2 build script improvement</li>
<li><a
href="f8fc16dc18 "><code>f8fc16d</code></a>
Test docs.rs documentation build in CI</li>
<li><a
href="3a9d31fd45 "><code>3a9d31f</code></a>
Update actions/checkout@v3 -> v4</li>
<li><a
href="fe2dec4258 "><code>fe2dec4</code></a>
Merge pull request <a
href="https://redirect.github.com/dtolnay/quote/issues/262 ">#262</a>
from dtolnay/syn2</li>
<li><a
href="5d33628e98 "><code>5d33628</code></a>
Update syn 1.0 link to syn 2.0</li>
<li>See full diff in <a
href="https://github.com/dtolnay/quote/compare/1.0.33...1.0.34 ">compare
view</a></li>
</ul>
</details>
<br />
Updates `serde_json` from 1.0.108 to 1.0.109
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/serde-rs/json/releases ">serde_json's
releases</a>.</em></p>
<blockquote>
<h2>v1.0.109</h2>
<ul>
<li>Documentation improvements</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="f88bf1fccb "><code>f88bf1f</code></a>
Release 1.0.109</li>
<li><a
href="bb62c73ece "><code>bb62c73</code></a>
Merge pull request <a
href="https://redirect.github.com/serde-rs/json/issues/1097 ">#1097</a>
from serde-rs/doccfg</li>
<li><a
href="df36d109fd "><code>df36d10</code></a>
Restore doc cfg on re-exports</li>
<li><a
href="c367091342 "><code>c367091</code></a>
Merge pull request <a
href="https://redirect.github.com/serde-rs/json/issues/1095 ">#1095</a>
from dtolnay/hashtest</li>
<li><a
href="b328ee7df4 "><code>b328ee7</code></a>
Eliminate hash closure in favor of calling hash_one directly</li>
<li><a
href="b9bcbad3c0 "><code>b9bcbad</code></a>
Use BuildHasher::hash_one</li>
<li><a
href="7ff6c9e30c "><code>7ff6c9e</code></a>
Use random hasher state for number hashing test</li>
<li><a
href="fe031cd1de "><code>fe031cd</code></a>
Delete trace_macros! functionality from test</li>
<li><a
href="05196caf16 "><code>05196ca</code></a>
Update ui test suite to nightly-2023-11-19</li>
<li>See full diff in <a
href="https://github.com/serde-rs/json/compare/v1.0.108...v1.0.109 ">compare
view</a></li>
</ul>
</details>
<br />
Updates `thiserror` from 1.0.51 to 1.0.53
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/dtolnay/thiserror/releases ">thiserror's
releases</a>.</em></p>
<blockquote>
<h2>1.0.53</h2>
<ul>
<li>Reduce spurious rebuilds under RustRover IDE when using a nightly
toolchain (<a
href="https://redirect.github.com/dtolnay/thiserror/issues/270 ">#270</a>)</li>
</ul>
<h2>1.0.52</h2>
<ul>
<li>Fix interaction with RUSTC_BOOTSTRAP (<a
href="https://redirect.github.com/dtolnay/thiserror/issues/269 ">#269</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="af28d9c078 "><code>af28d9c</code></a>
Release 1.0.53</li>
<li><a
href="c22822cd8c "><code>c22822c</code></a>
Merge pull request <a
href="https://redirect.github.com/dtolnay/thiserror/issues/275 ">#275</a>
from dtolnay/probers</li>
<li><a
href="87223991b7 "><code>8722399</code></a>
Rerun build script on changes to probe.rs</li>
<li><a
href="0e280fe61d "><code>0e280fe</code></a>
Merge pull request <a
href="https://redirect.github.com/dtolnay/thiserror/issues/274 ">#274</a>
from dtolnay/bootstrap</li>
<li><a
href="f334cfcdc1 "><code>f334cfc</code></a>
Do not rebuild on RUSTC_BOOTSTRAP changes on nightly compiler</li>
<li><a
href="5fd95375e3 "><code>5fd9537</code></a>
Update crate name used for build script probe</li>
<li><a
href="a9b1585343 "><code>a9b1585</code></a>
Move ExitStatus::success check into compile_probe()</li>
<li><a
href="0f349a4bb1 "><code>0f349a4</code></a>
Remove needless_raw_string_hashes clippy pedantic suppression from build
script</li>
<li><a
href="c1c003f2a3 "><code>c1c003f</code></a>
Merge pull request <a
href="https://redirect.github.com/dtolnay/thiserror/issues/273 ">#273</a>
from dtolnay/cargoenvvar</li>
<li><a
href="9b7356fd43 "><code>9b7356f</code></a>
Require cargo promised environment variables to be present</li>
<li>Additional commits viewable in <a
href="https://github.com/dtolnay/thiserror/compare/1.0.51...1.0.53 ">compare
view</a></li>
</ul>
</details>
<br />
Updates `is-terminal` from 0.4.9 to 0.4.10
<details>
<summary>Commits</summary>
<ul>
<li><a
href="c3b72b5767 "><code>c3b72b5</code></a>
chore: Release is-terminal version 0.4.10</li>
<li><a
href="6c8aff6f8c "><code>6c8aff6</code></a>
windows-sys 0.52 (<a
href="https://redirect.github.com/sunfishcode/is-terminal/issues/32 ">#32</a>)</li>
<li>See full diff in <a
href="https://github.com/sunfishcode/is-terminal/compare/v0.4.9...v0.4.10 ">compare
view</a></li>
</ul>
</details>
<br />
Updates `memchr` from 2.6.4 to 2.7.1
<details>
<summary>Commits</summary>
<ul>
<li><a
href="31c1e7911e "><code>31c1e79</code></a>
2.7.1</li>
<li><a
href="d9ac66d726 "><code>d9ac66d</code></a>
api: impl Clone for FindRevIter</li>
<li><a
href="8957028d16 "><code>8957028</code></a>
benchmarks/engines/rust-memchr: complete bump to 2.7.0</li>
<li><a
href="5caaf3e736 "><code>5caaf3e</code></a>
benchmarks/engines/rust-memchr: bump to 2.7.0</li>
<li><a
href="b93d817ea6 "><code>b93d817</code></a>
2.7.0</li>
<li><a
href="8b62928c7b "><code>8b62928</code></a>
cargo: remove unused exclusions</li>
<li><a
href="a22b2df27d "><code>a22b2df</code></a>
ci: update to wasmtime 15</li>
<li><a
href="bce19408dd "><code>bce1940</code></a>
benchmarks/engines/bytecount: revert to 0.6.4</li>
<li><a
href="2f5d8c4842 "><code>2f5d8c4</code></a>
benchmarks: fix wasmtime command</li>
<li><a
href="e77f0bf07a "><code>e77f0bf</code></a>
arch: simplify and improve is_equal_raw</li>
<li>Additional commits viewable in <a
href="https://github.com/BurntSushi/memchr/compare/2.6.4...2.7.1 ">compare
view</a></li>
</ul>
</details>
<br />
Updates `syn` from 2.0.43 to 2.0.44
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/dtolnay/syn/releases ">syn's
releases</a>.</em></p>
<blockquote>
<h2>2.0.44</h2>
<ul>
<li>Documentation improvements</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="58b42f5264 "><code>58b42f5</code></a>
Release 2.0.44</li>
<li><a
href="4523437760 "><code>4523437</code></a>
Merge pull request <a
href="https://redirect.github.com/dtolnay/syn/issues/1569 ">#1569</a>
from dtolnay/cfgvisit</li>
<li><a
href="694a1bb661 "><code>694a1bb</code></a>
Render doc cfg on Visit/VisitMut/Fold trait methods</li>
<li><a
href="1728630caa "><code>1728630</code></a>
Add doc cfg on Error::new_spanned</li>
<li><a
href="649e4266ae "><code>649e426</code></a>
Mark exprs which are not parsed in "derive" mode as
"full"-only</li>
<li><a
href="6c4627f24a "><code>6c4627f</code></a>
Fill in missing doc cfg on Expr and Pat nodes</li>
<li><a
href="1cea0bef11 "><code>1cea0be</code></a>
Merge pull request <a
href="https://redirect.github.com/dtolnay/syn/issues/1568 ">#1568</a>
from dtolnay/doccfg</li>
<li><a
href="dc2153d04e "><code>dc2153d</code></a>
Restore doc cfg on re-exports</li>
<li><a
href="e2b6ebc55b "><code>e2b6ebc</code></a>
Fix typo in ast_enum cfg</li>
<li><a
href="a193361b83 "><code>a193361</code></a>
Fix unused_macros warning on ast_enum when features are disabled</li>
<li>Additional commits viewable in <a
href="https://github.com/dtolnay/syn/compare/2.0.43...2.0.44 ">compare
view</a></li>
</ul>
</details>
<br />
Updates `ouroboros` from 0.18.1 to 0.18.2
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/joshua-maros/ouroboros/commits ">compare
view</a></li>
</ul>
</details>
<br />
Updates `similar` from 2.3.0 to 2.4.0
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/mitsuhiko/similar/blob/main/CHANGELOG.md ">similar's
changelog</a>.</em></p>
<blockquote>
<h2>2.4.0</h2>
<ul>
<li>Fixed a bug where the LCS diff algorithm didn't always call
<code>D::finish</code>. (<a
href="https://redirect.github.com/mitsuhiko/similar/issues/58 ">#58</a>)</li>
<li>Fixed a bug in LCS that caused a panic if the common prefix and the
common suffix overlapped. (<a
href="https://redirect.github.com/mitsuhiko/similar/issues/59 ">#59</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="ace8f34a27 "><code>ace8f34</code></a>
2.4.0</li>
<li><a
href="e9a05ed6fa "><code>e9a05ed</code></a>
Fix overlap bug in LCS (<a
href="https://redirect.github.com/mitsuhiko/similar/issues/59 ">#59</a>)</li>
<li><a
href="18712783da "><code>1871278</code></a>
Always call finish (<a
href="https://redirect.github.com/mitsuhiko/similar/issues/58 ">#58</a>)</li>
<li><a
href="f5c1afa8f4 "><code>f5c1afa</code></a>
Use unwrap_or (<a
href="https://redirect.github.com/mitsuhiko/similar/issues/56 ">#56</a>)</li>
<li><a
href="2b31f65445 "><code>2b31f65</code></a>
doc(inline/iter_strings_lossy): describe different behaviors (<a
href="https://redirect.github.com/mitsuhiko/similar/issues/52 ">#52</a>)</li>
<li>See full diff in <a
href="https://github.com/mitsuhiko/similar/compare/2.3.0...2.4.0 ">compare
view</a></li>
</ul>
</details>
<br />
Updates `napi` from 2.14.1 to 2.14.2
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/napi-rs/napi-rs/releases ">napi's
releases</a>.</em></p>
<blockquote>
<h2><code>@napi-rs/cli</code><a
href="https://github.com/2 "><code>@2</code></a>.14.2</h2>
<h2>What's Changed</h2>
<ul>
<li>Fix CARGO env var in <code>napi build</code> by <a
href="https://github.com/overlookmotel "><code>@overlookmotel</code></a>
in <a
href="https://redirect.github.com/napi-rs/napi-rs/pull/1426 ">napi-rs/napi-rs#1426</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/napi-rs/napi-rs/compare/napi@2.10.5...@napi-rs/cli@2.14.2 ">https://github.com/napi-rs/napi-rs/compare/napi@2.10.5 ...<code>@napi-rs/cli</code><code>@2.14.2</code></a></p>
<h2>napi-derive@2.14.2</h2>
<h2>What's Changed</h2>
<ul>
<li>fix(napi-derive): compile warning by <a
href="https://github.com/Brooooooklyn "><code>@Brooooooklyn</code></a>
in <a
href="https://redirect.github.com/napi-rs/napi-rs/pull/1820 ">napi-rs/napi-rs#1820</a></li>
<li>fix(napi): compile error for wasm32-unknown-unknown target by <a
href="https://github.com/Brooooooklyn "><code>@Brooooooklyn</code></a>
in <a
href="https://redirect.github.com/napi-rs/napi-rs/pull/1822 ">napi-rs/napi-rs#1822</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/napi-rs/napi-rs/compare/napi-derive@2.14.1...napi-derive@2.14.2 ">https://github.com/napi-rs/napi-rs/compare/napi-derive@2.14.1...napi-derive@2.14.2 </a></p>
<h2>napi@2.14.2</h2>
<h2>What's Changed</h2>
<ul>
<li>test(napi): decrease the worker sizes on Linux x64 musl platform by
<a
href="https://github.com/Brooooooklyn "><code>@Brooooooklyn</code></a>
in <a
href="https://redirect.github.com/napi-rs/napi-rs/pull/1823 ">napi-rs/napi-rs#1823</a></li>
<li>fix(napi): apply clippy suggestions by <a
href="https://github.com/Brooooooklyn "><code>@Brooooooklyn</code></a>
in <a
href="https://redirect.github.com/napi-rs/napi-rs/pull/1878 ">napi-rs/napi-rs#1878</a></li>
<li>chore(napi): add status to error messages in AsyncWork by <a
href="https://github.com/Brooooooklyn "><code>@Brooooooklyn</code></a>
in <a
href="https://redirect.github.com/napi-rs/napi-rs/pull/1880 ">napi-rs/napi-rs#1880</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/napi-rs/napi-rs/compare/napi@2.14.1...napi@2.14.2 ">https://github.com/napi-rs/napi-rs/compare/napi@2.14.1...napi@2.14.2 </a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="03eb476cef "><code>03eb476</code></a>
Release independent packages</li>
<li><a
href="f47cc72749 "><code>f47cc72</code></a>
chore(release): publish</li>
<li><a
href="f29801686b "><code>f298016</code></a>
fix(cli): copy binding files into wasi packages (<a
href="https://redirect.github.com/napi-rs/napi-rs/issues/1881 ">#1881</a>)</li>
<li><a
href="65273a4631 "><code>65273a4</code></a>
chore(napi): add status to error messages in AsyncWork (<a
href="https://redirect.github.com/napi-rs/napi-rs/issues/1880 ">#1880</a>)</li>
<li><a
href="f2972c743f "><code>f2972c7</code></a>
chore(release): publish</li>
<li><a
href="e175e6fbd6 "><code>e175e6f</code></a>
fix(deps): update dependency emnapi to v0.45.0 (<a
href="https://redirect.github.com/napi-rs/napi-rs/issues/1879 ">#1879</a>)</li>
<li><a
href="dc79bb86d0 "><code>dc79bb8</code></a>
chore(release): publish</li>
<li><a
href="b0ba466f95 "><code>b0ba466</code></a>
fix(cli): also load wasm file from packages (<a
href="https://redirect.github.com/napi-rs/napi-rs/issues/1876 ">#1876</a>)</li>
<li><a
href="f62685e836 "><code>f62685e</code></a>
fix(cli): exclude node_modules in artifacts command (<a
href="https://redirect.github.com/napi-rs/napi-rs/issues/1875 ">#1875</a>)</li>
<li><a
href="67743b1046 "><code>67743b1</code></a>
fix(cli): exclude node_modules in artifacts command</li>
<li>Additional commits viewable in <a
href="https://github.com/napi-rs/napi-rs/compare/napi@2.14.1...napi@2.14.2 ">compare
view</a></li>
</ul>
</details>
<br />
Updates `napi-derive` from 2.14.4 to 2.14.6
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/napi-rs/napi-rs/releases ">napi-derive's
releases</a>.</em></p>
<blockquote>
<h2>napi-derive@2.14.6</h2>
<h2>What's Changed</h2>
<ul>
<li>fix(napi-derive): proc-macro crash on enum by <a
href="https://github.com/Brooooooklyn "><code>@Brooooooklyn</code></a>
in <a
href="https://redirect.github.com/napi-rs/napi-rs/pull/1870 ">napi-rs/napi-rs#1870</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/napi-rs/napi-rs/compare/napi-derive@2.14.5...napi-derive@2.14.6 ">https://github.com/napi-rs/napi-rs/compare/napi-derive@2.14.5...napi-derive@2.14.6 </a></p>
<h2>napi-derive@2.14.5</h2>
<h2>What's Changed</h2>
<ul>
<li>fix(napi-derive): catch_unwind on constructor by <a
href="https://github.com/Brooooooklyn "><code>@Brooooooklyn</code></a>
in <a
href="https://redirect.github.com/napi-rs/napi-rs/pull/1869 ">napi-rs/napi-rs#1869</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/napi-rs/napi-rs/compare/@napi-rs/cli@3.0.0-alpha.24...napi-derive@2.14.5 ">https://github.com/napi-rs/napi-rs/compare/ <code>@napi-rs/cli</code><code>@3.0.0-alpha.24...napi-derive@2.14.5</code></a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="5825dcc3a6 "><code>5825dcc</code></a>
Release independent packages</li>
<li><a
href="84f3092d70 "><code>84f3092</code></a>
fix(napi-derive): proc-macro crash on enum (<a
href="https://redirect.github.com/napi-rs/napi-rs/issues/1870 ">#1870</a>)</li>
<li><a
href="85807ad790 "><code>85807ad</code></a>
Release independent packages</li>
<li><a
href="02dd4c3fd3 "><code>02dd4c3</code></a>
fix(napi-derive): catch_unwind on constructor (<a
href="https://redirect.github.com/napi-rs/napi-rs/issues/1869 ">#1869</a>)</li>
<li><a
href="b411b87872 "><code>b411b87</code></a>
chore(release): publish</li>
<li><a
href="c42f00ff43 "><code>c42f00f</code></a>
feat(cli): support wasi target test & release workflow (<a
href="https://redirect.github.com/napi-rs/napi-rs/issues/1867 ">#1867</a>)</li>
<li><a
href="bac8ea0e4d "><code>bac8ea0</code></a>
chore(release): publish</li>
<li><a
href="edba0cbd6c "><code>edba0cb</code></a>
chore(cli): root directory access permissions (<a
href="https://redirect.github.com/napi-rs/napi-rs/issues/1864 ">#1864</a>)</li>
<li><a
href="c3eeba1e34 "><code>c3eeba1</code></a>
chore(cli): change warning message to yellow</li>
<li><a
href="5f7e170697 "><code>5f7e170</code></a>
chore(release): publish</li>
<li>Additional commits viewable in <a
href="https://github.com/napi-rs/napi-rs/compare/napi-derive@2.14.4...napi-derive@2.14.6 ">compare
view</a></li>
</ul>
</details>
<br />
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions
</details>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-01 08:06:33 +00:00
Deivid Almeida
c1cfd1759e
feat(linter): no-irregular-whitespace rule ( #1835 )
...
Parser, trivias and trivias_builder were edited to get all whitespaces.
Now Trivias struct store comments and whitespaces Vec. After that, i
will implement the no-irregular-whitespace rule.
P.S.: There isn't a way to implement this feature without lose a little
bit of performance, comparing with my last PR #1819 to minimax this
trouble instead of store the irregular whitespace as Span it was stored
as u32, i removed a map iterator and removed too a unused function. If
you have a suggestion about it pls give me a feedback.
2023-12-31 12:05:38 +08:00
IWANABETHATGUY
4bbc977971
chore: upgrade rustc toolchain to stable 1.75.0 ( #1853 )
...
ref:
https://blog.rust-lang.org/2023/12/28/Rust-1.75.0.html
2023-12-29 12:20:51 +08:00
overlookmotel
19577709db
Remove redundant code from lexer ( #1850 )
...
Just removes a couple of lines of redundant code from the lexer.
A note on the 2nd one:
```rs
let mut builder = AutoCow::new(lexer);
let c = lexer.consume_char();
builder.push_matching(c);
```
`push_matching()` is a no-op unless
`force_allocation_without_current_ascii_char()` has already been called.
Here the `AutoCow` has just been freshly created, so we know it hasn't.
2023-12-29 10:07:21 +08:00
overlookmotel
1feec95a94
fix(parser) fix typo in expecting_directives variable name ( #1801 )
...
Renamves `expecting_diretives ` to `expecting_directives` to fix spelling
2023-12-24 16:51:02 +00:00
magic-akari
5b2696b711
refactor(parser): report this parameter error ( #1788 )
...
- follow up: #1728
2023-12-23 22:09:14 +08:00
Boshen
2b4d1bf142
fix(parser): await in jsx expression
...
closes #1740
2023-12-19 20:23:16 +08:00
magic-akari
a2858ed452
refactor(ast): introduce ThisParameter ( #1728 )
...
Most TypeScript types can be eliminated during the code generation phase
by not printing the corresponding AST nodes.
The changes in this PR enable applying a similar technique to the `this`
parameter.
2023-12-19 13:20:33 +08:00
Boshen
19e77b0af3
fix(parser): false postive for "Missing initializer in const declaration" in declare + namespace ( #1724 )
...
closes #1723
2023-12-18 17:03:42 +08:00
Boshen
8edcab82f2
chore(lexer): document the accessor keyword
2023-12-14 12:55:55 +08:00
dependabot[bot]
a3b52fb548
chore(deps): bump the dependencies group with 7 updates ( #1651 )
2023-12-11 14:21:56 +08:00
Boshen
69c056be79
chore: remove crates/oxc_parser/README.md
2023-12-11 13:59:03 +08:00
Boshen
8347e2225c
Release crates v0.4.0
2023-12-08 17:20:37 +08:00
Boshen
1554f7c0d2
feat(parsr): parse let.a = 1 with error recovery ( #1587 )
2023-11-29 23:21:39 +08:00
Boshen
9842be4461
refactor(parser): remove duplicated code
2023-11-29 18:23:32 +08:00
Boshen
6670d94708
chore(rust): remove unnecessary clippy::non_upper_case_globals ( #1557 )
2023-11-27 14:31:38 +08:00
magic-akari
9ff0ffcc6f
feat(ast): implement new proposal-import-attributes ( #1476 )
...
- [Import Attributes](https://tc39.es/proposal-import-attributes )
2023-11-25 15:56:09 +08:00
Boshen
567c6ed757
feat(prettier): print directives ( #1497 )
2023-11-22 19:39:25 +08:00
JonaAnders
08164b0e18
refactor(parser) Updated comments mentioning the ecma specification section 12.x ( #1496 )
...
The ECMA specification seems to added the "Tokens" section to the
specification as 12.6. This pushed all the other sections down,
resulting in e.g. former 12.6 now being 12.7. Comments in the parser
mention this part of the specification. All the mentions of section
12.6+ therefor are outdated now. This pull request tries to fix that by
updating all the comments.
2023-11-22 19:29:04 +08:00
Boshen
07b010912a
feat(parser): add preserve_parens option (default: true) ( #1474 )
...
closes #1461
2023-11-21 11:16:30 +08:00
magic-akari
a7e0706dbc
fix(parser): correct import_kind of TSImportEqualsDeclaration ( #1449 )
2023-11-20 16:57:38 +08:00
Boshen
1a576f60a8
refactor(rust): move to workspace lint table ( #1444 )
2023-11-20 14:38:10 +08:00
Boshen
0218ae8641
feat(prettier): print leading comments with newlines ( #1434 )
2023-11-19 22:46:55 +08:00
Jon Surrell
cb804d3cd2
Add base to AST BigintLiteral ( #1416 )
2023-11-19 11:11:19 +08:00
magic-akari
445352991f
fix(parser): Fix type import ( #1291 )
...
- fix : #1288
- fix : #1289
2023-11-14 15:17:58 +08:00
magic-akari
9c0aafcd1c
fix(parser): Disallow ReservedWord in NamedExports ( #1230 )
...
- fix : #1222
---------
Co-authored-by: Boshen <boshenc@gmail.com>
2023-11-12 10:52:02 +00:00
magic-akari
8afb81aa34
fix(parser): ASI of async class member ( #1214 )
...
Co-authored-by: Boshen <boshenc@gmail.com>
2023-11-10 16:21:51 +00:00
Boshen
ba603cebb9
Release Oxc v0.3.0
2023-11-06 19:11:16 +08:00
Boshen
a455c81db6
fix(linter): revert changes to JSX attribute strings ( #1101 )
2023-10-30 15:26:04 +08:00
Boshen
6295f9ce18
fix(ast): jsx attribute value and text child should be jsx string ( #1089 )
2023-10-29 15:32:24 +08:00
Boshen
af1a76bafa
feat(transformer): implement some of needs_explicit_esm for typescript ( #1047 )
...
Co-authored-by: magic-akari <akari.ccino@gmail.com>
2023-10-24 17:30:01 +08:00
Boshen
854b55a3e6
feat(codegen): json strings proposal ( #1039 )
2023-10-23 18:29:30 +08:00
Cameron
76ac9cd4c5
fix(lexer) Fix spans for jsx children ( #1030 )
...
Closes #1026
2023-10-22 22:44:19 +08:00
Boshen
4886d408eb
chore(clippy): enable undocumented_unsafe_blocks
2023-10-16 15:18:14 +08:00
Boshen
db5417f9a9
refactor(clippy): allow clippy::too_many_lines
2023-10-16 15:18:11 +08:00
Boshen
47872200e5
refactor(ast): clean up some methods
2023-10-15 10:49:35 +08:00
Boshen
55b2f031df
feat(minifier): partially re-enable minifier ( #963 )
...
closes #949
closes #950
closes #951
All minifier tests are disable from this PR.
We are going to fix the compilation errors first, then the behavioral
errors.
2023-10-08 11:06:42 +08:00
Boshen
817f8c295e
ci: turn off doc tests because they are slow to compile and run ( #961 )
2023-10-07 17:01:23 +08:00
Boshen
5045853b9a
Rust 1.73.0 ( #958 )
2023-10-06 17:56:14 +13:00
Cameron
5b1e1e5408
feat(parser): TypeScript 5.2 ( #811 )
...
- adds support for [Using
Declarations](https://devblogs.microsoft.com/typescript/announcing-typescript-5-2/#using-declarations-and-explicit-resource-management )
Closes #786
2023-10-05 12:52:14 +13:00
IWANABETHATGUY
266253c142
fix: ts parsing error ( #940 )
...
Fixed https://github.com/web-infra-dev/oxc/issues/932
2023-09-29 22:02:56 +13:00
Boshen
70189f9758
refactor(ast): change the arguments order for some new functions
2023-09-16 16:07:52 +08:00
Boshen
38bbc96fb0
Release oxc v0.2.0
2023-09-14 23:41:44 +08:00
Boshen
f447cf3a3b
perf(lexer): only check the first lower case for match_keyword ( #913 )
2023-09-14 23:19:16 +08:00