DonIsaac
e331ca0a9d
docs(linter): improve documentation for several rules ( #4997 )
2024-08-20 00:55:48 +00:00
overlookmotel
cca7440d4b
refactor(ast): replace AstBuilder::move_statement_vec with move_vec ( #4988 )
...
Replace `AstBuilder::move_statement_vec` with a general `move_vec` method which handles any kind of `Vec`.
2024-08-19 21:09:14 +00:00
overlookmotel
6ffbd78947
fix(transformer): remove an AstBuilder::copy call from TS namespace transform ( #4987 )
...
Replace an unsafe `AstBuilder::copy` call with `AstBuilder::move_expression` in TS namespace transform.
2024-08-19 21:09:12 +00:00
overlookmotel
a8dfddaeab
fix(transformer): remove an AstBuilder::copy call from TS module transform ( #4986 )
...
Remove an unsafe `AstBuilder::copy` call from TS module transform. `IdentifierReference` is `Clone`, so we can just clone it rather than copy. Same result, but safe.
Also shorten the surrounding code a bit, using `.unwrap()` instead of an `unreachable!()` branch.
2024-08-19 21:09:11 +00:00
overlookmotel
1467eb306c
fix(transformer): remove an AstBuilder::copy call from TS enum transform ( #4985 )
...
Replace an unsafe `AstBuilder::copy` call with `AstBuilder::move_expression` in TS enum transform.
2024-08-19 21:09:10 +00:00
overlookmotel
1365feb6b1
fix(transformer): remove an AstBuilder::copy call for TS AssignmentTarget transform ( #4984 )
...
Add `AssignmentTarget::get_expression_mut` method and use it to remove an unsound `AstBuilder::copy` call from TS transform for `AssignmentTarget`s.
2024-08-19 21:09:09 +00:00
overlookmotel
edacf936ec
fix(transformer): remove an AstBuilder::copy call ( #4983 )
...
Remove one usage of unsound `AstBuilder::copy` method, using the new `get_inner_expression_mut` method introduced in #4920 .
2024-08-19 21:09:07 +00:00
overlookmotel
4796ece77d
refactor(transformer): TS annotations transform use move_expression ( #4982 )
...
Follow on after #4920 . #4920 removed a usage of `AstBuilder::copy` and replaced with 2 new methods `AstBuilder::move_identifier_reference` and `AstBuilder:: move_member_expression`.
We can instead use `AstBuilder::move_expression` earlier and then unpack the enum again. Hopefully the compiler can see that the 2 `unreachable!()` branches are indeed unreachable and elide them.
`move_expression` is preferable to `move_member_expression` as it only creates 1 temporary `Box<Expression::NullLiteral>` instead of 2.
2024-08-19 20:59:43 +00:00
overlookmotel
1bd5853310
docs(transformer): updated README re: order of methods ( #4993 )
...
Add to `oxc_transformer` README note about order methods laid out in
files.
The idea is that you can read code for a transformer from top to bottom,
and the logic flows in this direction.
2024-08-20 04:43:47 +08:00
DonIsaac
7c6bae2d65
feat(website): add link to rule source on docs page ( #4995 )
...

2024-08-19 20:40:14 +00:00
camc314
dd38a32ba6
feat(linter) expand jsx-props-no-spread-multi to catch member expressions ( #4981 )
...
closes #4894
2024-08-19 20:32:12 +00:00
DonIsaac
7b99386071
fix(linter): missing closing ticks in some example blocks ( #4994 )
...
These broken example blocks breaks codegen for the upstream PR in this stack.
2024-08-19 20:25:14 +00:00
Don Isaac
a0effab160
feat(linter): support more flexible config.globals values ( #4990 )
...
Support `"readable", `"writable"`, and boolean values for `GlobalValue`.
I also enhanced the documentation for `OxcGlobals`
## Screenshot
<img width="797" alt="image"
src="https://github.com/user-attachments/assets/8f76de4c-4ae8-44d1-9be1-720fc3c7e0ec ">
2024-08-19 16:23:47 -04:00
Don Isaac
4436774e8c
fix(website): sanitize JSON in section docs ( #4989 )
2024-08-19 16:23:31 -04:00
Dunqing
6b885fef46
feat(traverse): expose generate_uid_based_on_node and generate_uid_in_current_scope_based_on_node from TraverseCtx ( #4965 )
...
Both of these APIs were added in #4940 . But they weren't exposed.
2024-08-19 17:42:45 +00:00
overlookmotel
770652327d
refactor(span): clarify Atom conversion methods lifetimes ( #4978 )
...
Rename lifetimes on `FromIn` impls for `Atom`s to make it clear where the lifetime of the `Atom` comes from the allocator's lifetime.
2024-08-19 11:53:01 +00:00
overlookmotel
4012260c17
refactor(ast): AstBuilder::move_identifier_reference do not allocate empty string ( #4977 )
...
#4920 introduced `AstBuilder::move_identifier_reference`. Make this slightly cheaper by using a static empty `Atom` rather than relying on `"".into_in(allocator)` which allocates an empty string into arena.
2024-08-19 11:48:38 +00:00
Boshen
64ace42566
feat(transform_conformance): show transform conformance errors ( #4976 )
2024-08-19 09:01:34 +00:00
Boshen
0df1a94a1b
test(semantic): add more symbol and reference checks to PostTransformChecker
2024-08-19 15:44:17 +08:00
Boshen
4fdf26dac8
refactor(transform_conformance): add driver ( #4969 )
2024-08-19 07:27:39 +00:00
renovate[bot]
37b9b0e21d
chore(deps): update dependency @vscode/vsce to v3 ( #4968 )
...
[](https://renovatebot.com )
This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@vscode/vsce](https://code.visualstudio.com )
([source](https://togithub.com/Microsoft/vsce )) | [`^2.27.0` ->
`^3.0.0`](https://renovatebot.com/diffs/npm/@vscode%2fvsce/2.32.0/3.0.0 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
---
### Release Notes
<details>
<summary>Microsoft/vsce (@​vscode/vsce)</summary>
###
[`v3.0.0`](https://togithub.com/microsoft/vscode-vsce/releases/tag/v3.0.0 )
[Compare
Source](https://togithub.com/Microsoft/vsce/compare/v2.32.0...v3.0.0 )
#### Changes:
- [#​1035](https://togithub.com/Microsoft/vsce/issues/1035 ):
Update deprecated dependencies and move to Node 20
This list of changes was [auto
generated](https://dev.azure.com/monacotools/Monaco/\_build/results?buildId=288216\&view=logs ).
</details>
---
### Configuration
📅 **Schedule**: Branch creation - "before 10am on monday" in timezone
Asia/Shanghai, Automerge - At any time (no schedule defined).
🚦 **Automerge**: Enabled.
♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
This PR was generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/ ). View the
[repository job log](https://developer.mend.io/github/oxc-project/oxc ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yNi4xIiwidXBkYXRlZEluVmVyIjoiMzguMjYuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-19 07:16:48 +00:00
Boshen
3f6014a042
chore(semantic): add PostTransformChecker ( #4967 )
2024-08-19 05:38:27 +00:00
DonIsaac
96422b6489
refactor(ast): make AstBuilder non-exhaustive ( #4925 )
2024-08-19 05:32:30 +00:00
renovate[bot]
a7750e3303
chore(deps): update website npm packages ( #4966 )
...
[](https://renovatebot.com )
This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@codemirror/view](https://togithub.com/codemirror/view ) | [`6.31.0`
->
`6.32.0`](https://renovatebot.com/diffs/npm/@codemirror%2fview/6.31.0/6.32.0 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
| [pnpm](https://pnpm.io ) ([source](https://togithub.com/pnpm/pnpm )) |
[`9.7.0` -> `9.7.1`](https://renovatebot.com/diffs/npm/pnpm/9.7.0/9.7.1 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
| [vite](https://vitejs.dev )
([source](https://togithub.com/vitejs/vite/tree/HEAD/packages/vite )) |
[`5.4.0` -> `5.4.1`](https://renovatebot.com/diffs/npm/vite/5.4.0/5.4.1 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
---
### Release Notes
<details>
<summary>codemirror/view (@​codemirror/view)</summary>
###
[`v6.32.0`](https://togithub.com/codemirror/view/blob/HEAD/CHANGELOG.md#6320-2024-08-12 )
[Compare
Source](https://togithub.com/codemirror/view/compare/6.31.0...6.32.0 )
##### Bug fixes
Fix a bug where the editor could draw way too big a viewport when not
managing its own scrollbar.
##### New features
The new `gutterWidgetClass` facet makes it possible to add a class to
gutter elements next to widgets.
</details>
<details>
<summary>pnpm/pnpm (pnpm)</summary>
### [`v9.7.1`](https://togithub.com/pnpm/pnpm/compare/v9.7.0...v9.7.1 )
[Compare Source](https://togithub.com/pnpm/pnpm/compare/v9.7.0...v9.7.1 )
</details>
<details>
<summary>vitejs/vite (vite)</summary>
###
[`v5.4.1`](https://togithub.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small541-2024-08-15-small )
- fix: `build.modulePreload.resolveDependencies` is optimizable
([#​16083](https://togithub.com/vitejs/vite/issues/16083 ))
([e961b31](e961b31493 )),
closes [#​16083](https://togithub.com/vitejs/vite/issues/16083 )
- fix: align CorsOptions.origin type with
[@​types/cors](https://togithub.com/types/cors )
([#​17836](https://togithub.com/vitejs/vite/issues/17836 ))
([1bda847](1bda847329 )),
closes [#​17836](https://togithub.com/vitejs/vite/issues/17836 )
- fix: typings for vite:preloadError
([#​17868](https://togithub.com/vitejs/vite/issues/17868 ))
([6700594](6700594999 )),
closes [#​17868](https://togithub.com/vitejs/vite/issues/17868 )
- fix(build): avoid re-define `__vite_import_meta_env__`
([#​17876](https://togithub.com/vitejs/vite/issues/17876 ))
([e686d74](e686d749d6 )),
closes [#​17876](https://togithub.com/vitejs/vite/issues/17876 )
- fix(deps): update all non-major dependencies
([#​17869](https://togithub.com/vitejs/vite/issues/17869 ))
([d11711c](d11711c7e4 )),
closes [#​17869](https://togithub.com/vitejs/vite/issues/17869 )
- fix(lightningcss): search for assets with correct base path
([#​17856](https://togithub.com/vitejs/vite/issues/17856 ))
([4e5ce3c](4e5ce3c7a9 )),
closes [#​17856](https://togithub.com/vitejs/vite/issues/17856 )
- fix(worker): handle self reference url worker in dependency for build
([#​17846](https://togithub.com/vitejs/vite/issues/17846 ))
([391bb49](391bb4917b )),
closes [#​17846](https://togithub.com/vitejs/vite/issues/17846 )
- chore: fix picocolors import for local dev
([#​17884](https://togithub.com/vitejs/vite/issues/17884 ))
([9018255](9018255c69 )),
closes [#​17884](https://togithub.com/vitejs/vite/issues/17884 )
- refactor: remove `handleHotUpdate` from watch-package-data plugin
([#​17865](https://togithub.com/vitejs/vite/issues/17865 ))
([e16bf1f](e16bf1fb14 )),
closes [#​17865](https://togithub.com/vitejs/vite/issues/17865 )
</details>
---
### Configuration
📅 **Schedule**: Branch creation - "before 10am on monday" in timezone
Asia/Shanghai, Automerge - At any time (no schedule defined).
🚦 **Automerge**: Enabled.
♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.
👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config help](https://togithub.com/renovatebot/renovate/discussions ) if
that's undesired.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
This PR was generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/ ). View the
[repository job log](https://developer.mend.io/github/oxc-project/oxc ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yNi4xIiwidXBkYXRlZEluVmVyIjoiMzguMjYuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-19 04:41:09 +00:00
camc314
247120f9ad
feat(linter) eslint-plugin-unicorn consistent function scoping ( #4948 )
2024-08-19 03:29:29 +00:00
michaelm
185eb206a8
fix(isolated_declarations): namespaces that are default exported should be considered for expando functions ( #4935 )
...
This should be ok but currently has an error reported
```ts
function foo(): void {}
namespace foo {
export let bar = 42;
}
foo.bar = 42;
export default foo;
```
Co-authored-by: MichaelMitchell-at <=>
Co-authored-by: Dunqing <dengqing0821@gmail.com>
Co-authored-by: Don Isaac <donald.isaac@gmail.com>
2024-08-19 11:24:05 +08:00
dalaoshu
7859f58b4e
feat(linter/eslint-plugin-vitest): implement no-conditional-tests ( #4955 )
2024-08-18 23:23:36 -04:00
Boshen
6800e694e3
feat(oxc): add Compiler and CompilerInterface ( #4954 )
...
This PR adds a full compiler pipeline to the `oxc` crate, to stop us
from implementing the same pipeline over and over again.
relates #4455
2024-08-19 10:20:05 +08:00
renovate[bot]
b58413ffa4
chore(deps): update vscode npm packages ( #4964 )
...
[](https://renovatebot.com )
This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[@types/node](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node )
([source](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node ))
| [`22.2.0` ->
`22.4.0`](https://renovatebot.com/diffs/npm/@types%2fnode/22.2.0/22.4.0 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
| [@vscode/vsce](https://code.visualstudio.com )
([source](https://togithub.com/Microsoft/vsce )) | [`2.31.1` ->
`2.32.0`](https://renovatebot.com/diffs/npm/@vscode%2fvsce/2.31.1/2.32.0 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
| [esbuild](https://togithub.com/evanw/esbuild ) | [`0.23.0` ->
`0.23.1`](https://renovatebot.com/diffs/npm/esbuild/0.23.0/0.23.1 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
---
### Release Notes
<details>
<summary>Microsoft/vsce (@​vscode/vsce)</summary>
###
[`v2.32.0`](https://togithub.com/microsoft/vscode-vsce/releases/tag/v2.32.0 )
[Compare
Source](https://togithub.com/Microsoft/vsce/compare/v2.31.1...v2.32.0 )
#### Changes:
- [#​1034](https://togithub.com/Microsoft/vsce/issues/1034 ):
Revert "Update deprecated dependencies"
- [#​1032](https://togithub.com/Microsoft/vsce/issues/1032 ): fix:
probabilistic trigger v8 crash
- [#​1028](https://togithub.com/Microsoft/vsce/issues/1028 ):
Remove need-more-info-closer workflow
This list of changes was [auto
generated](https://dev.azure.com/monacotools/Monaco/\_build/results?buildId=288197\&view=logs ).
</details>
<details>
<summary>evanw/esbuild (esbuild)</summary>
###
[`v0.23.1`](https://togithub.com/evanw/esbuild/blob/HEAD/CHANGELOG.md#0231 )
[Compare
Source](https://togithub.com/evanw/esbuild/compare/v0.23.0...v0.23.1 )
- Allow using the `node:` import prefix with `es*` targets
([#​3821](https://togithub.com/evanw/esbuild/issues/3821 ))
The [`node:` prefix on
imports](https://nodejs.org/api/esm.html#node-imports ) is an alternate
way to import built-in node modules. For example, `import fs from "fs"`
can also be written `import fs from "node:fs"`. This only works with
certain newer versions of node, so esbuild removes it when you target
older versions of node such as with `--target=node14` so that your code
still works. With the way esbuild's platform-specific feature
compatibility table works, this was added by saying that only newer
versions of node support this feature. However, that means that a target
such as `--target=node18,es2022` removes the `node:` prefix because none
of the `es*` targets are known to support this feature. This release
adds the support for the `node:` flag to esbuild's internal
compatibility table for `es*` to allow you to use compound targets like
this:
```js
// Original code
import fs from 'node:fs'
fs.open
// Old output (with --bundle --format=esm --platform=node
--target=node18,es2022)
import fs from "fs";
fs.open;
// New output (with --bundle --format=esm --platform=node
--target=node18,es2022)
import fs from "node:fs";
fs.open;
```
- Fix a panic when using the CLI with invalid build flags if `--analyze`
is present
([#​3834](https://togithub.com/evanw/esbuild/issues/3834 ))
Previously esbuild's CLI could crash if it was invoked with flags that
aren't valid for a "build" API call and the `--analyze` flag is present.
This was caused by esbuild's internals attempting to add a Go plugin
(which is how `--analyze` is implemented) to a null build object. The
panic has been fixed in this release.
- Fix incorrect location of certain error messages
([#​3845](https://togithub.com/evanw/esbuild/issues/3845 ))
This release fixes a regression that caused certain errors relating to
variable declarations to be reported at an incorrect location. The
regression was introduced in version 0.18.7 of esbuild.
- Print comments before case clauses in switch statements
([#​3838](https://togithub.com/evanw/esbuild/issues/3838 ))
With this release, esbuild will attempt to print comments that come
before case clauses in switch statements. This is similar to what
esbuild already does for comments inside of certain types of
expressions. Note that these types of comments are not printed if
minification is enabled (specifically whitespace minification).
- Fix a memory leak with `pluginData`
([#​3825](https://togithub.com/evanw/esbuild/issues/3825 ))
With this release, the build context's internal `pluginData` cache will
now be cleared when starting a new build. This should fix a leak of
memory from plugins that return `pluginData` objects from `onResolve`
and/or `onLoad` callbacks.
</details>
---
### Configuration
📅 **Schedule**: Branch creation - "before 10am on monday" in timezone
Asia/Shanghai, Automerge - At any time (no schedule defined).
🚦 **Automerge**: Enabled.
♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.
👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config help](https://togithub.com/renovatebot/renovate/discussions ) if
that's undesired.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
This PR was generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/ ). View the
[repository job log](https://developer.mend.io/github/oxc-project/oxc ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yNi4xIiwidXBkYXRlZEluVmVyIjoiMzguMjYuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-19 02:01:06 +00:00
overlookmotel
06f2d818fe
refactor(linter): avoid unnecessary temp Vecs ( #4963 )
...
Use iterator instead of collecting into temporary `Vec` which is then iterated over.
2024-08-19 01:32:06 +00:00
overlookmotel
d677b8e0ab
refactor(semantic): do not reserve space in resolved_references ( #4962 )
...
While resolving references in `SemanticBuilder`, there is little benefit to reserving space in advance in `resolved_references` as it is not possible to avoid growing the `Vec`. The comment here says "Reserve space for all references to avoid reallocations", but `reserve()` itself may cause a reallocation.
2024-08-19 01:32:05 +00:00
overlookmotel
a7ef30dcf9
refactor(semantic): UnresolvedReferencesStack contain only ReferenceId ( #4960 )
...
Remove `ReferenceFlag` from `UnresolvedReferencesStack` to align with `root_unresolved_references`.
2024-08-19 01:32:04 +00:00
overlookmotel
59d15c7086
refactor(semantic): root_unresolved_references contain only ReferenceId ( #4959 )
...
`ScopeTree::root_unresolved_references` does not need to record `ReferenceFlag` as well as `ReferenceId` - it's never read.
2024-08-19 01:32:04 +00:00
renovate[bot]
5f074d03c9
chore(deps): update rust crates ( #4961 )
...
[](https://renovatebot.com )
This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| [indexmap](https://togithub.com/indexmap-rs/indexmap ) |
workspace.dependencies | minor | `2.3.0` -> `2.4.0` |
| [markdown](https://togithub.com/wooorm/markdown-rs ) | dev-dependencies
| patch | `1.0.0-alpha.19` -> `1.0.0-alpha.20` |
| [serde](https://serde.rs )
([source](https://togithub.com/serde-rs/serde )) | workspace.dependencies
| patch | `1.0.206` -> `1.0.208` |
| [serde_json](https://togithub.com/serde-rs/json ) |
workspace.dependencies | patch | `1.0.124` -> `1.0.125` |
| [tokio](https://tokio.rs )
([source](https://togithub.com/tokio-rs/tokio )) | workspace.dependencies
| patch | `1.39.2` -> `1.39.3` |
| [wasm-bindgen](https://rustwasm.github.io/ )
([source](https://togithub.com/rustwasm/wasm-bindgen )) |
workspace.dependencies | patch | `0.2.92` -> `0.2.93` |
---
### Release Notes
<details>
<summary>indexmap-rs/indexmap (indexmap)</summary>
###
[`v2.4.0`](https://togithub.com/indexmap-rs/indexmap/blob/HEAD/RELEASES.md#240 )
[Compare
Source](https://togithub.com/indexmap-rs/indexmap/compare/2.3.0...2.4.0 )
- Added methods `IndexMap::append` and `IndexSet::append`, moving all
items from
one map or set into another, and leaving the original capacity for
reuse.
</details>
<details>
<summary>wooorm/markdown-rs (markdown)</summary>
###
[`v1.0.0-alpha.20`](https://togithub.com/wooorm/markdown-rs/releases/tag/1.0.0-alpha.20 )
[Compare
Source](https://togithub.com/wooorm/markdown-rs/compare/1.0.0-alpha.19...1.0.0-alpha.20 )
- [`6144c58`](https://togithub.com/wooorm/markdown-rs/commit/6144c58 )
Fix padded code (text) in mdast
by [@​yshavit](https://togithub.com/yshavit ) in
[https://github.com/wooorm/markdown-rs/pull/123 ](https://togithub.com/wooorm/markdown-rs/pull/123 )
**Full Changelog**:
https://github.com/wooorm/markdown-rs/compare/1.0.0-alpha.19...1.0.0-alpha.20
</details>
<details>
<summary>serde-rs/serde (serde)</summary>
###
[`v1.0.208`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.208 )
[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.207...v1.0.208 )
- Support serializing and deserializing unit structs in a `flatten`
field ([#​2802](https://togithub.com/serde-rs/serde/issues/2802 ),
thanks [@​jonhoo](https://togithub.com/jonhoo ))
###
[`v1.0.207`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.207 )
[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.206...v1.0.207 )
- Improve interactions between `flatten` attribute and
`skip_serializing`/`skip_deserializing`
([#​2795](https://togithub.com/serde-rs/serde/issues/2795 ), thanks
[@​Mingun](https://togithub.com/Mingun ))
</details>
<details>
<summary>serde-rs/json (serde_json)</summary>
###
[`v1.0.125`](https://togithub.com/serde-rs/json/releases/tag/1.0.125 )
[Compare
Source](https://togithub.com/serde-rs/json/compare/v1.0.124...1.0.125 )
- Speed up \uXXXX parsing and improve handling of unpaired surrogates
when deserializing to bytes
([#​1172](https://togithub.com/serde-rs/json/issues/1172 ),
[#​1175](https://togithub.com/serde-rs/json/issues/1175 ), thanks
[@​purplesyringa](https://togithub.com/purplesyringa ))
</details>
<details>
<summary>tokio-rs/tokio (tokio)</summary>
###
[`v1.39.3`](https://togithub.com/tokio-rs/tokio/releases/tag/tokio-1.39.3 ):
Tokio v1.39.3
[Compare
Source](https://togithub.com/tokio-rs/tokio/compare/tokio-1.39.2...tokio-1.39.3 )
### 1.39.3 (August 17th, 2024)
This release fixes a regression where the unix socket api stopped
accepting the abstract socket namespace. ([#​6772])
[#​6772]: https://togithub.com/tokio-rs/tokio/pull/6772
</details>
<details>
<summary>rustwasm/wasm-bindgen (wasm-bindgen)</summary>
###
[`v0.2.93`](https://togithub.com/rustwasm/wasm-bindgen/blob/HEAD/CHANGELOG.md#0293 )
[Compare
Source](https://togithub.com/rustwasm/wasm-bindgen/compare/0.2.92...0.2.93 )
Released 2024-08-13
##### Added
- Allow exporting functions named `default`. Throw error in
wasm-bindgen-cli if --target web and
an exported symbol is named `default`.
[#​3930](https://togithub.com/rustwasm/wasm-bindgen/pull/3930 )
- Added support for arbitrary expressions when using
`#[wasm_bindgen(typescript_custom_section)]`.
[#​3901](https://togithub.com/rustwasm/wasm-bindgen/pull/3901 )
- Implement `From<NonNull<T>>` for `JsValue`.
[#​3877](https://togithub.com/rustwasm/wasm-bindgen/pull/3877 )
- Add method `copy_within` for TypedArray, add methods
`find_last`,`find_last_index` for Array.
[#​3888](https://togithub.com/rustwasm/wasm-bindgen/pull/3888 )
- Added support for returning `Vec`s from async functions.
[#​3630](https://togithub.com/rustwasm/wasm-bindgen/pull/3630 )
- Added bindings for `InputDeviceInfo` and `MediaTrackCapabilities`.
[#​3935](https://togithub.com/rustwasm/wasm-bindgen/pull/3935 )
- Add bindings for `RTCRtpReceiver.getCapabilities(DOMString)` method.
[#​3941](https://togithub.com/rustwasm/wasm-bindgen/pull/3941 )
- Add bindings for `VisualViewport`.
[#​3931](https://togithub.com/rustwasm/wasm-bindgen/pull/3931 )
- Add bindings for `queueMicrotask`.
[#​3981](https://togithub.com/rustwasm/wasm-bindgen/pull/3981 )
- Add experimental bindings for User Agent Client Hints API
[#​3989](https://togithub.com/rustwasm/wasm-bindgen/pull/3989 )
- Add bindings for `FocusOptions`.
[#​3996](https://togithub.com/rustwasm/wasm-bindgen/pull/3996 )
- Add bindings for `RTCRtpReceiver.jitterBufferTarget`.
[#​3968](https://togithub.com/rustwasm/wasm-bindgen/pull/3968 )
- Generate getters for all WebIDL dictionary types.
[#​3993](https://togithub.com/rustwasm/wasm-bindgen/pull/3993 )
- Support for iterable in WebIDL. Gives `entries`, `keys`, `values`
methods for regular and asynchronous, as well as `for_each` for regular,
iterables.
[#​3962](https://togithub.com/rustwasm/wasm-bindgen/pull/3962 )
- Add bindings for `HTMLTableCellElement.abbr` and `scope` properties.
[#​3972](https://togithub.com/rustwasm/wasm-bindgen/pull/3972 )
- Add WebIDL definitions relating to `Popover API`.
[#​3977](https://togithub.com/rustwasm/wasm-bindgen/pull/3977 )
- Added the `thread_stack_size` property to the object parameter of
`default()` (`init()`) and `initSync()`, making it possible to set the
stack size of spawned threads. `__wbindgen_thread_destroy()` now has a
third optional parameter for the stack size, the default stack size is
assumed when not passing it. When calling from the thread to be
destroyed, by passing no parameters, the correct stack size is
determined internally.
[#​3995](https://togithub.com/rustwasm/wasm-bindgen/pull/3995 )
- Added bindings to the Device Memory API.
[#​4011](https://togithub.com/rustwasm/wasm-bindgen/pull/4011 )
- Added support for WebIDL records. This added new methods to various
APIs, notably `ClipboardItem()`, `GPUDeviceDescriptor.requiredLimits`
and `Header()`.
[#​4030](https://togithub.com/rustwasm/wasm-bindgen/pull/4030 )
- Added an official MSRV policy. Library MSRV changes will be
accompanied by a minor version bump. CLI tool MSRV can change with any
version bump.
[#​4038](https://togithub.com/rustwasm/wasm-bindgen/pull/4038 )
- Added bindings to `NavigatorOptions.vibrate`.
[#​4041](https://togithub.com/rustwasm/wasm-bindgen/pull/4041 )
- Added an experimental Node.JS ES module target, in comparison the
current `node` target uses CommonJS, with `--target
experimental-nodejs-module` or when testing with
`wasm_bindgen_test_configure!(run_in_node_experimental)`.
[#​4027](https://togithub.com/rustwasm/wasm-bindgen/pull/4027 )
- Added importing strings as `JsString` through
`#[wasm_bindgen(thread_local, static_string)] static STRING: JsString =
"a string literal";`.
[#​4055](https://togithub.com/rustwasm/wasm-bindgen/pull/4055 )
- Added experimental test coverage support for
`wasm-bindgen-test-runner`, see the guide for more information.
[#​4060](https://togithub.com/rustwasm/wasm-bindgen/pull/4060 )
##### Changed
- Stabilize Web Share API.
[#​3882](https://togithub.com/rustwasm/wasm-bindgen/pull/3882 )
- Generate JS bindings for WebIDL dictionary setters instead of using
`Reflect`. This increases the size of the Web API bindings but should be
more performant. Also, importing getters/setters from JS now supports
specifying the JS attribute name as a string, e.g.
`#[wasm_bindgen(method, setter = "x-cdm-codecs")]`.
[#​3898](https://togithub.com/rustwasm/wasm-bindgen/pull/3898 )
- Greatly improve the performance of sending WebIDL 'string enums'
across the JavaScript boundary by converting the enum variant string
to/from an int.
[#​3915](https://togithub.com/rustwasm/wasm-bindgen/pull/3915 )
- Use `table.fill` when appropriate.
[#​3446](https://togithub.com/rustwasm/wasm-bindgen/pull/3446 )
- Annotated methods in WebCodecs that throw.
[#​3970](https://togithub.com/rustwasm/wasm-bindgen/pull/3970 )
- Update and stabilize the Clipboard API.
[#​3992](https://togithub.com/rustwasm/wasm-bindgen/pull/3992 )
- Deprecate builder-pattern type setters for WebIDL dictionary types and
introduce non-mutable setters instead.
[#​3993](https://togithub.com/rustwasm/wasm-bindgen/pull/3993 )
- Allow imported async functions to return any type that can be
converted from a `JsValue`.
[#​3919](https://togithub.com/rustwasm/wasm-bindgen/pull/3919 )
- Update Web Authentication API to level 3.
[#​4000](https://togithub.com/rustwasm/wasm-bindgen/pull/4000 )
- Deprecate `AudioBufferSourceNode.onended` and
`AudioBufferSourceNode.stop()`.
[#​4020](https://togithub.com/rustwasm/wasm-bindgen/pull/4020 )
- Increase default stack size for spawned threads from 1 to 2 MB.
[#​3995](https://togithub.com/rustwasm/wasm-bindgen/pull/3995 )
- Deprecated parameters to `default` (`init`) and `initSync` in favor of
an object.
[#​3995](https://togithub.com/rustwasm/wasm-bindgen/pull/3995 )
- Update `AbortSignal` and `AbortController` according to the WHATWG
specification.
[#​4026](https://togithub.com/rustwasm/wasm-bindgen/pull/4026 )
- Update the Indexed DB API.
[#​4027](https://togithub.com/rustwasm/wasm-bindgen/pull/4027 )
- `UnwrapThrowExt for Result` now makes use of the required `Debug`
bound to display the error as well.
[#​4035](https://togithub.com/rustwasm/wasm-bindgen/pull/4035 )
[#​4049](https://togithub.com/rustwasm/wasm-bindgen/pull/4049 )
- MSRV of CLI tools bumped to v1.76. This does not affect libraries like
`wasm-bindgen`, `js-sys` and `web-sys`!
[#​4037](https://togithub.com/rustwasm/wasm-bindgen/pull/4037 )
- Filtered files in published crates, significantly reducing the package
size and notably excluding any bash files.
[#​4046](https://togithub.com/rustwasm/wasm-bindgen/pull/4046 )
- Deprecated `JsStatic` in favor of `#[wasm_bindgen(thread_local)]`,
which creates a `std:🧵 :LocalKey`. The syntax is otherwise the
same.
[#​4057](https://togithub.com/rustwasm/wasm-bindgen/pull/4057 )
- Removed `impl Deref for JsStatic` when compiling with
`cfg(target_feature = "atomics")`, which was unsound.
[#​4057](https://togithub.com/rustwasm/wasm-bindgen/pull/4057 )
- Updated the WebGPU WebIDL to the current draft as of 2024-08-05.
[#​4062](https://togithub.com/rustwasm/wasm-bindgen/pull/4062 )
- Use object URLs for linked modules without `--split-linked-modules`.
[#​4067](https://togithub.com/rustwasm/wasm-bindgen/pull/4067 )
##### Fixed
- Copy port from headless test server when using
`WASM_BINDGEN_TEST_ADDRESS`.
[#​3873](https://togithub.com/rustwasm/wasm-bindgen/pull/3873 )
- Fix `catch` not being thread-safe.
[#​3879](https://togithub.com/rustwasm/wasm-bindgen/pull/3879 )
- Fix MSRV compilation.
[#​3927](https://togithub.com/rustwasm/wasm-bindgen/pull/3927 )
- Fix `clippy::empty_docs` lint.
[#​3946](https://togithub.com/rustwasm/wasm-bindgen/pull/3946 )
- Fix missing target features in module when enabling reference types or
multi-value transformation.
[#​3967](https://togithub.com/rustwasm/wasm-bindgen/pull/3967 )
- Fixed Rust values getting GC'd while still borrowed.
[#​3940](https://togithub.com/rustwasm/wasm-bindgen/pull/3940 )
- Fixed Rust values not getting GC'd if they were created via. a
constructor.
[#​3940](https://togithub.com/rustwasm/wasm-bindgen/pull/3940 )
- Fix triggering `clippy::mem_forget` lint in exported structs.
[#​3985](https://togithub.com/rustwasm/wasm-bindgen/pull/3985 )
- Fix MDN links to static interface methods.
[#​4010](https://togithub.com/rustwasm/wasm-bindgen/pull/4010 )
- Fixed Deno support.
[#​3990](https://togithub.com/rustwasm/wasm-bindgen/pull/3990 )
- Fix `__wbindgen_thread_destroy()` ignoring parameters.
[#​3995](https://togithub.com/rustwasm/wasm-bindgen/pull/3995 )
- Fix `no_std` support and therefor compiling with `default-features =
false`.
[#​4005](https://togithub.com/rustwasm/wasm-bindgen/pull/4005 )
- Fix byte order for big-endian platforms.
[#​4015](https://togithub.com/rustwasm/wasm-bindgen/pull/4015 )
- Allow ex/importing structs, functions and parameters named with raw
identifiers.
[#​4025](https://togithub.com/rustwasm/wasm-bindgen/pull/4025 )
- Implement a more reliable way to detect the stack pointer.
[#​4036](https://togithub.com/rustwasm/wasm-bindgen/pull/4036 )
- `#[track_caller]` is now always applied on `UnwrapThrowExt` methods
when not targetting `wasm32-unknown-unknown`.
[#​4042](https://togithub.com/rustwasm/wasm-bindgen/pull/4042 )
- Fixed linked modules emitting snippet files when not using
`--split-linked-modules`.
[#​4066](https://togithub.com/rustwasm/wasm-bindgen/pull/4066 )
***
</details>
---
### Configuration
📅 **Schedule**: Branch creation - "before 10am on monday" in timezone
Asia/Shanghai, Automerge - At any time (no schedule defined).
🚦 **Automerge**: Enabled.
♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.
👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config help](https://togithub.com/renovatebot/renovate/discussions ) if
that's undesired.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
This PR was generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/ ). View the
[repository job log](https://developer.mend.io/github/oxc-project/oxc ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yNi4xIiwidXBkYXRlZEluVmVyIjoiMzguMjYuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-19 00:07:21 +00:00
DonIsaac
cdbfcfb39a
feat(linter): start import fixer for eslint/no-unused-vars ( #4849 )
2024-08-18 23:10:01 +00:00
renovate[bot]
ef057e7545
chore(deps): update npm packages ( #4958 )
...
[](https://renovatebot.com )
This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [axios](https://axios-http.com )
([source](https://togithub.com/axios/axios )) | [`1.7.3` ->
`1.7.4`](https://renovatebot.com/diffs/npm/axios/1.7.3/1.7.4 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
| [pnpm](https://pnpm.io ) ([source](https://togithub.com/pnpm/pnpm )) |
[`9.7.0` -> `9.7.1`](https://renovatebot.com/diffs/npm/pnpm/9.7.0/9.7.1 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
---
### Release Notes
<details>
<summary>axios/axios (axios)</summary>
###
[`v1.7.4`](https://togithub.com/axios/axios/blob/HEAD/CHANGELOG.md#174-2024-08-13 )
[Compare
Source](https://togithub.com/axios/axios/compare/v1.7.3...v1.7.4 )
##### Bug Fixes
- **sec:** CVE-2024-39338
([#​6539](https://togithub.com/axios/axios/issues/6539 ))
([#​6543](https://togithub.com/axios/axios/issues/6543 ))
([6b6b605](6b6b605eaf ))
- **sec:** disregard protocol-relative URL to remediate SSRF
([#​6539](https://togithub.com/axios/axios/issues/6539 ))
([07a661a](07a661a2a6 ))
##### Contributors to this release
- <img
src="https://avatars.githubusercontent.com/u/31389480?v=4&s=18 "
alt="avatar" width="18"/> [Lev
Pachmanov](https://togithub.com/levpachmanov "+47/-11 (#​6543 )")
- <img
src="https://avatars.githubusercontent.com/u/41283691?v=4&s=18 "
alt="avatar" width="18"/> [Đỗ Trọng Hải](https://togithub.com/hainenber
"+49/-4 (#​6539 )")
</details>
<details>
<summary>pnpm/pnpm (pnpm)</summary>
### [`v9.7.1`](https://togithub.com/pnpm/pnpm/compare/v9.7.0...v9.7.1 )
[Compare Source](https://togithub.com/pnpm/pnpm/compare/v9.7.0...v9.7.1 )
</details>
---
### Configuration
📅 **Schedule**: Branch creation - "before 10am on monday" in timezone
Asia/Shanghai, Automerge - At any time (no schedule defined).
🚦 **Automerge**: Enabled.
♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.
👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config help](https://togithub.com/renovatebot/renovate/discussions ) if
that's undesired.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
This PR was generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/ ). View the
[repository job log](https://developer.mend.io/github/oxc-project/oxc ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yNi4xIiwidXBkYXRlZEluVmVyIjoiMzguMjYuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-18 23:07:20 +00:00
renovate[bot]
5be0e8ab55
chore(deps): update cargo-bins/cargo-binstall action to v1.10.2 ( #4957 )
...
[](https://renovatebot.com )
This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
|
[cargo-bins/cargo-binstall](https://togithub.com/cargo-bins/cargo-binstall )
| action | patch | `v1.10.0` -> `v1.10.2` |
---
### Release Notes
<details>
<summary>cargo-bins/cargo-binstall (cargo-bins/cargo-binstall)</summary>
###
[`v1.10.2`](https://togithub.com/cargo-bins/cargo-binstall/releases/tag/v1.10.2 )
[Compare
Source](https://togithub.com/cargo-bins/cargo-binstall/compare/v1.10.1...v1.10.2 )
*Binstall is a tool to fetch and install Rust-based executables as
binaries. It aims to be a drop-in replacement for `cargo install` in
most cases. Install it today with `cargo install cargo-binstall`, from
the binaries below, or if you already have it, upgrade with `cargo
binstall cargo-binstall`.*
##### In this release:
- Enable happy eyeballs when using hickory-dns, ported from
[seanmonstar/reqwest#2378 ](https://togithub.com/seanmonstar/reqwest/issues/2378 )
([#​1877](https://togithub.com/cargo-bins/cargo-binstall/issues/1877 ))
###
[`v1.10.1`](https://togithub.com/cargo-bins/cargo-binstall/releases/tag/v1.10.1 )
[Compare
Source](https://togithub.com/cargo-bins/cargo-binstall/compare/v1.10.0...v1.10.1 )
*Binstall is a tool to fetch and install Rust-based executables as
binaries. It aims to be a drop-in replacement for `cargo install` in
most cases. Install it today with `cargo install cargo-binstall`, from
the binaries below, or if you already have it, upgrade with `cargo
binstall cargo-binstall`.*
##### In this release:
- Enable happy eyeballs when using hickory-dns, ported from
[seanmonstar/reqwest#2378 ](https://togithub.com/seanmonstar/reqwest/issues/2378 )
([#​1877](https://togithub.com/cargo-bins/cargo-binstall/issues/1877 ))
</details>
---
### Configuration
📅 **Schedule**: Branch creation - "before 10am on monday" in timezone
Asia/Shanghai, Automerge - At any time (no schedule defined).
🚦 **Automerge**: Enabled.
♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
This PR was generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/ ). View the
[repository job log](https://developer.mend.io/github/oxc-project/oxc ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yNi4xIiwidXBkYXRlZEluVmVyIjoiMzguMjYuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-18 22:50:35 +00:00
Boshen
c7a86865f3
fix(coverage): handle transformer errors
2024-08-18 22:19:58 +08:00
dalaoshu
5f8a7c22e4
fix(oxlint): rules in the configuration file are not being correctly … ( #4949 )
...
closes #4701
BTW, which one should have higher priority between the rules in the
command line and those in the configuration file? Is the current design
reasonable?
2024-08-18 14:16:43 +08:00
oxc-bot
5d0fb979cb
Release crates v0.24.3 ( #4950 )
...
## [0.24.3] - 2024-08-18
### Features
- d49fb16 oxc_codegen: Support generate range leading comments (#4898 )
(IWANABETHATGUY)
- 80d0d1f semantic: Check for invalid interface heritage clauses (#4928 )
(DonIsaac)
- 48821c0 semantic,syntax: Add SymbolFlags::ArrowFunction (#4946 )
(DonIsaac)
- f1fcdde transformer: Support react fast refresh (#4587 ) (Dunqing)
- 0d79122 transformer: Support logical-assignment-operators plugin
(#4890 ) (Dunqing)
- ab1d08c transformer: Support `optional-catch-binding` plugin (#4885 )
(Dunqing)
- 69da9fd transformer: Support nullish-coalescing-operator plugin
(#4884 ) (Dunqing)
- 3a66e58 transformer: Support exponentiation operator plugin (#4876 )
(Dunqing)
- f88cbcd transformer: Add `BoundIdentifier::new_uid_in_current_scope`
method (#4903 ) (overlookmotel)
- 1e6d0fe transformer: Add methods to `BoundIdentifier` (#4897 )
(overlookmotel)
- fd34640 traverse: Support `generate_uid_based_on_node` method in
`TraverseCtx` (#4940 ) (Dunqing)
- 72a37fc traverse: Support `clone_identifier_reference` method in
`TraverseCtx` (#4880 ) (Dunqing)
### Bug Fixes
- c0b26f4 ast: Do not include `scope_id` fields in JSON AST (#4858 )
(overlookmotel)
- bbf9ec0 codegen: Add missing `declare` to `PropertyDefinition` (#4937 )
(Boshen)
- f210cf7 codegen: Print `TSSatisfiesExpression` and
`TSInstantiationExpression` (#4936 ) (Boshen)
- 21f5762 codegen: Minify large numbers (#4889 ) (Boshen)
- e8de4bd codegen: Fix whitespace issue when minifying `x in new
Error()` (#4886 ) (Boshen)
- a226962 codegen: Print `TSNonNullExpression` (#4869 ) (Boshen)
- 3da33d3 codegen: Missing parenthesis for `PrivateInExpression` (#4865 )
(Boshen)
- 1808529 codegen: Dedupe pure annotation comments (#4862 )
(IWANABETHATGUY)
- d3bbc62 isolated-declarations: Declare modifier of PropertyDefinition
should not be retained (#4941 ) (Dunqing)
- 8e80f59 isolated_declarations: Class properties should still be lifted
from private constructors (#4934 ) (michaelm)
- b3ec9e5 isolated_declarations: Always emit module declarations that
perform augmentation (#4919 ) (michaelm)
- 0fb0b71 isolated_declarations: Always emit module declarations (#4911 )
(michaelm)
- 4a16916 isolated_declarations: Support expando functions (#4910 )
(michaelm)
- 508644a linter/tree-shaking: Correct the calculation of `>>`, `<<` and
`>>>` (#4932 ) (mysteryven)
- 46cb1c1 minifier: Handle `Object.definedPropert(exports` for
@babel/types/lib/index.js (#4933 ) (Boshen)
- 81fd637 minifier: Do not fold `0 && (module.exports = {})` for
`cjs-module-lexer` (#4878 ) (Boshen)
- 879a271 minifier: Do not join `require` calls for `cjs-module-lexer`
(#4875 ) (Boshen)
- 1bdde2c parser: Detect @flow in `/** @flow */ comment (#4861 ) (Boshen)
- 2476dce transformer: Remove an `ast.copy` from
`NullishCoalescingOperator` transform (#4913 ) (overlookmotel)
- 248a757 transformer/typescript: Typescript syntax within
`SimpleAssignmentTarget` with `MemberExpressions` is not stripped
(#4920 ) (Dunqing)
### Documentation
- 47c9552 ast, ast_macros, ast_tools: Better documentation for `Ast`
helper attributes. (#4856 ) (rzvxa)
- 0a01a47 semantic: Improve documentation (#4850 ) (DonIsaac)
- 9c700ed transformer: Add README including style guide (#4899 )
(overlookmotel)
### Refactor
- a6967b3 allocator: Correct code comment (#4904 ) (overlookmotel)
- 90d0b2b allocator, ast, span, ast_tools: Use `allocator` as var name
for `Allocator` (#4900 ) (overlookmotel)
- 1eb59d2 ast, isolated_declarations, transformer: Mark
`AstBuilder::copy` as an unsafe function (#4907 ) (overlookmotel)
- 8e8fcd0 ast_tools: Rename `oxc_ast_codegen` to `oxc_ast_tools`.
(#4846 ) (rzvxa)
- 786bf07 index: Shorten code and correct comment (#4905 )
(overlookmotel)
- ea1e64a semantic: Make SemanticBuilder opaque (#4851 ) (DonIsaac)
- 5fd1701 sourcemap: Lower the `msrv`. (#4873 ) (rzvxa)
- 48a1c32 syntax: Inline trivial bitflags methods (#4877 )
(overlookmotel)
- 452187a transformer: Rename `BoundIdentifier::new_uid_in_root_scope`
(#4902 ) (overlookmotel)
- 707a01f transformer: Re-order `BoundIdentifier` methods (#4896 )
(overlookmotel)
- 117dff2 transformer: Improve comments for `BoundIdentifier` helper
(#4895 ) (overlookmotel)
Co-authored-by: Boshen <1430279+Boshen@users.noreply.github.com>
2024-08-18 14:16:25 +08:00
DonIsaac
48821c0110
feat(semantic,syntax): add SymbolFlags::ArrowFunction ( #4946 )
...
There are many cases in lint rules where we want to see if a symbol is a
function by checking its SymbolFlags. This is currently not fully possible,
since variables assigned to arrow functions are not distinguished from any other
kind of variable. This PR adds `SymbolFlags::ArrowFunction` for variables that
are initialized to arrow functions. Symbols that are re-assigned to arrow
functions will not have this flag, but this is acceptable for lint rules.
2024-08-18 05:54:23 +00:00
camc314
915cb4d5a3
feat(linter): add dangerous fixer for oxc only used in recursion ( #4805 )
2024-08-18 01:19:37 +00:00
Don Isaac
4cb8c3771f
refactor(linter): move default_true to utils ( #4947 )
2024-08-17 14:09:58 -04:00
Boshen
873d502993
refactor(coverage): use the oxc crate
2024-08-17 22:40:08 +08:00
Boshen
bbf9ec0774
fix(codegen): add missing declare to PropertyDefinition ( #4937 )
...
I'm seeing a broken test for
```rust
#[test]
fn dts_class_decl_prop_test() {
transform_dts_test(
"export class Foo { declare a: string }",
"export declare class Foo {
a: string;
}",
);
}
```
can you double check @Dunqing ?
2024-08-17 14:26:24 +00:00
Boshen
bea76f0f24
fix(coverage): fix babel cases
2024-08-17 11:22:00 +08:00
Boshen
81439403fd
chore(coverage): print path relative to snapshot file ( #4938 )
...
Ctrl + click in terminal can open the file with this change.
I don't know about vscode, but maybe a plugin can help?
<img width="1399" alt="image" src="https://github.com/user-attachments/assets/9bb4609b-14e9-4df8-b5ee-cb96b72b2f7d ">
<img width="1131" alt="image" src="https://github.com/user-attachments/assets/e0293693-f755-4b91-8712-bbd2a0e615cc ">
2024-08-17 03:09:25 +00:00
Dunqing
fd34640d65
feat(traverse): support generate_uid_based_on_node method in TraverseCtx ( #4940 )
...
close : #4906
Port completely `gatherNodeParts` from `Babel`. But we don't have test cases to test it, we can find the bugs(if any) after we use this API in transformer plugins
2024-08-17 02:50:23 +00:00
DonIsaac
3f28c77eb6
feat(linter/eslint): improve no-dupe-keys ( #4943 )
...
- make labels in diagnostics more user-friendly
- improve examples in documentation
2024-08-17 01:25:26 +00:00
DonIsaac
e1582a5dd3
feat(linter/eslint): improve no-duplicate-case rule ( #4942 )
...
- ignore parethesis when comparing case test expressions
- make labels in diagnostics more friendly
- add more examples to documentation
2024-08-17 01:21:49 +00:00