Boshen
84c43c8282
fix(semantic): correctly resolve identifiers inside catch parameter initializers ( #3050 )
...
closes #2499
2024-04-21 23:53:38 +08:00
Boshen
92d709bf21
feat(ast): add CatchParameter node ( #3049 )
2024-04-21 23:43:39 +08:00
Boshen
1f7033e7ab
fix(semantic): correctly resolve identifiers inside parameter initializers ( #3046 )
...
close : #2644
This fixes function parameters. I think we need an extra AST node to fix catch parameters, which will be the next PR.
2024-04-21 23:38:31 +08:00
Boshen
ee1c0e5df7
feat(cli): implement --format checkstyle ( #3044 )
...
closes #2355
2024-04-21 16:30:28 +08:00
renovate[bot]
e204d192d6
chore(deps): update pnpm to v9 ( #3042 )
...
[](https://renovatebot.com )
This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [pnpm](https://pnpm.io ) ([source](https://togithub.com/pnpm/pnpm )) |
[`8.15.7` ->
`9.0.4`](https://renovatebot.com/diffs/npm/pnpm/8.15.7/9.0.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/ )
|
---
### Release Notes
<details>
<summary>pnpm/pnpm (pnpm)</summary>
### [`v9.0.4`](https://togithub.com/pnpm/pnpm/compare/v9.0.3...v9.0.4 )
[Compare Source](https://togithub.com/pnpm/pnpm/compare/v9.0.3...v9.0.4 )
### [`v9.0.3`](https://togithub.com/pnpm/pnpm/compare/v9.0.2...v9.0.3 )
[Compare Source](https://togithub.com/pnpm/pnpm/compare/v9.0.2...v9.0.3 )
### [`v9.0.2`](https://togithub.com/pnpm/pnpm/compare/v9.0.1...v9.0.2 )
[Compare Source](https://togithub.com/pnpm/pnpm/compare/v9.0.1...v9.0.2 )
### [`v9.0.1`](https://togithub.com/pnpm/pnpm/compare/v9.0.0...v9.0.1 )
[Compare Source](https://togithub.com/pnpm/pnpm/compare/v9.0.0...v9.0.1 )
### [`v9.0.0`](https://togithub.com/pnpm/pnpm/releases/tag/v9.0.0 )
[Compare
Source](https://togithub.com/pnpm/pnpm/compare/v8.15.7...v9.0.0 )
##### Major Changes
- Node.js v16 support discontinued
If you still require Node.js 16, don't worry. We ship pnpm bundled with
Node.js. This means that regardless of which Node.js version you've
installed, pnpm will operate using the necessary Node.js runtime. For
this to work you need to install pnpm either using the [standalone
script](https://pnpm.io/installation#using-a-standalone-script ) or
install the `@pnpm/exe` package.
- Configuration updates:
- [`dedupe-injected-deps`](https://pnpm.io/npmrc#dedupe-injected-deps ):
enabled by default.
-
[`link-workspace-packages`](https://pnpm.io/npmrc#link-workspace-packages ):
disabled by default. This means that by default, dependencies will be
linked from workspace packages only when they are specified using the
[workspace
protocol](https://pnpm.io/workspaces#workspace-protocol-workspace ).
-
[`hoist-workspace-packages`](https://pnpm.io/npmrc#hoist-workspace-packages ):
enabled by default.
-
[`enable-pre-post-scripts`](https://pnpm.io/cli/run#enable-pre-post-scripts ):
enabled by default.
- Use the same directory for state files on macOS as on Linux
(`~/.local/state/pnpm`).
- pnpm will now check the `package.json` file for a `packageManager`
field. If this field is present and specifies a different package
manager or a different version of pnpm than the one you're currently
using, pnpm will not proceed. This ensures that you're always using the
correct package manager and version that the project requires.
- Lockfile changes:
- Lockfile v9 is adopted. This new format has changes for better
readability, and better resistence to Git conflicts.
- Support for lockfile v5 is dropped. Use pnpm v8 to convert lockfile v5
to lockfile v6 [#​7470](https://togithub.com/pnpm/pnpm/pull/7470 ).
- Dependency resolution changes:
- Correct resolution of peer dependencies that have their own peer
dependencies.
Related issue:
[#​7444](https://togithub.com/pnpm/pnpm/issues/7444 ).
Related PR: [#​7606](https://togithub.com/pnpm/pnpm/pull/7606 ).
- Optional peer dependencies may be resolved from any packages in the
dependency graph
[#​7830](https://togithub.com/pnpm/pnpm/pull/7830 ).
- `pnpm licenses list` prints license information of all versions of the
same package in case different versions use different licenses. The
format of the `pnpm licenses list --json` output has been changed
[#​7528](https://togithub.com/pnpm/pnpm/pull/7528 ).
- A new command added for printing completion code to the console: `pnpm
completion [shell]`. The old command that modified the user's shell
dotfiles has been removed
[#​3083](https://togithub.com/pnpm/pnpm/issues/3083 ).
- When installing git-hosted dependencies, only pick the files that
would be packed with the package
[#​7638](https://togithub.com/pnpm/pnpm/pull/7638 ).
##### Minor Changes
- It is now possible to install only a subdirectory from a Git
repository.
For example, `pnpm add github:user/repo#path:packages/foo` will add a
dependency from the `packages/foo` subdirectory.
This new parameter may be combined with other supported parameters
separated by `&`. For instance, the next command will install the same
package from the `dev` branch: `pnpm add
github:user/repo#dev&path:packages/bar`.
Related issue:
[#​4765](https://togithub.com/pnpm/pnpm/issues/4765 ).
Related PR: [#​7487](https://togithub.com/pnpm/pnpm/pull/7487 ).
- `node-gyp` updated to version 10.
- PowerShell completion support added
[#​7597](https://togithub.com/pnpm/pnpm/pull/7597 ).
- Support `node-options` option inside `.npmrc` file when running
scripts [#​7596](https://togithub.com/pnpm/pnpm/issues/7596 ).
- Added support for registry-scoped SSL configurations (cert, key, and
ca). Three new settings supported: `<registryURL>:certfile`,
`<registryURL>:keyfile`, and `<registryURL>:ca`. For instance:
//registry.mycomp.com/:certfile=server-cert.pem
//registry.mycomp.com/:keyfile=server-key.pem
//registry.mycomp.com/:cafile=client-cert.pem
Related issue:
[#​7427](https://togithub.com/pnpm/pnpm/issues/7427 ).
Related PR: [#​7626](https://togithub.com/pnpm/pnpm/pull/7626 ).
- Add a field named `ignoredOptionalDependencies`. This is an array of
strings. If an optional dependency has its name included in this array,
it will be skipped
[#​7714](https://togithub.com/pnpm/pnpm/pull/7714 ).
- The checksum of the `.pnpmfile.cjs` is saved into the lockfile. If the
pnpmfile gets modified, the lockfile is reanalyzed to apply the changes
[#​7662](https://togithub.com/pnpm/pnpm/pull/7662 ).
- Added cache for `pnpm dlx`
[#​5277](https://togithub.com/pnpm/pnpm/issues/5277 ).
##### Patch Changes
- Package tarballs are not downloaded during `--lockfile-only`
installation [#​1328](https://togithub.com/pnpm/pnpm/issues/1328 ).
- Peer dependency rules should only affect reporting, not data in the
lockfile [#​7758](https://togithub.com/pnpm/pnpm/pull/7758 ).
- Link overrides should be able to use absolute path
[#​7749](https://togithub.com/pnpm/pnpm/pull/7749 ).
- `pnpm dlx` should not read settings from the current working directory
[#​7916](https://togithub.com/pnpm/pnpm/pull/7916 ).
##### Platinum Sponsors
<table>
<tbody>
<tr>
<td align="center" valign="middle">
<a href="https://bit.dev/?utm_source=pnpm&utm_medium=release_notes "
target="_blank"><img src="https://pnpm.io/img/users/bit.svg "
width="80"></a>
</td>
<td align="center" valign="middle">
<a href="https://figma.com/?utm_source=pnpm&utm_medium=release_notes "
target="_blank"><img src="https://pnpm.io/img/users/figma.svg "
width="80"></a>
</td>
</tr>
</tbody>
</table>
##### Gold Sponsors
<table>
<tbody>
<tr>
<td align="center" valign="middle">
<a href="https://discord.com/?utm_source=pnpm&utm_medium=release_notes "
target="_blank">
<picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/discord.svg " />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/discord_light.svg " />
<img src="https://pnpm.io/img/users/discord.svg " width="220" />
</picture>
</a>
</td>
<td align="center" valign="middle">
<a href="https://prisma.io/?utm_source=pnpm&utm_medium=release_notes "
target="_blank">
<picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/prisma.svg " />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/prisma_light.svg " />
<img src="https://pnpm.io/img/users/prisma.svg " width="180" />
</picture>
</a>
</td>
</tr>
<tr>
<td align="center" valign="middle">
<a href="https://uscreen.de/?utm_source=pnpm&utm_medium=release_notes "
target="_blank">
<picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/uscreen.svg " />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/uscreen_light.svg " />
<img src="https://pnpm.io/img/users/uscreen.svg " width="180" />
</picture>
</a>
</td>
<td align="center" valign="middle">
<a
href="https://www.jetbrains.com/?utm_source=pnpm&utm_medium=release_notes "
target="_blank">
<picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/jetbrains.svg " />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/jetbrains.svg " />
<img src="https://pnpm.io/img/users/jetbrains.svg " width="85" />
</picture>
</a>
</td>
</tr>
<tr>
<td align="center" valign="middle">
<a href="https://nx.dev/?utm_source=pnpm&utm_medium=release_notes "
target="_blank">
<picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/nx.svg " />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/nx_light.svg " />
<img src="https://pnpm.io/img/users/nx.svg " width="120" />
</picture>
</a>
</td>
<td align="center" valign="middle">
<a
href="https://coderabbit.ai/?utm_source=pnpm&utm_medium=release_notes "
target="_blank">
<picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/coderabbit.svg " />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/coderabbit_light.svg " />
<img src="https://pnpm.io/img/users/coderabbit.svg " width="220" />
</picture>
</a>
</td>
</tr>
</tbody>
</table>
##### Our Silver Sponsors
<table>
<tbody>
<tr>
<td align="center" valign="middle">
<a
href="https://leniolabs.com/?utm_source=pnpm&utm_medium=release_notes "
target="_blank">
<img src="https://pnpm.io/img/users/leniolabs.jpg " width="80">
</a>
</td>
<td align="center" valign="middle">
<a href="https://vercel.com/?utm_source=pnpm&utm_medium=release_notes "
target="_blank">
<picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/vercel.svg " />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/vercel_light.svg " />
<img src="https://pnpm.io/img/users/vercel.svg " width="180" />
</picture>
</a>
</td>
</tr>
<tr>
<td align="center" valign="middle">
<a href="https://depot.dev/?utm_source=pnpm&utm_medium=release_notes "
target="_blank">
<picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/depot.svg " />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/depot_light.svg " />
<img src="https://pnpm.io/img/users/depot.svg " width="200" />
</picture>
</a>
</td>
<td align="center" valign="middle">
<a href="https://moonrepo.dev/?utm_source=pnpm&utm_medium=release_notes "
target="_blank">
<picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/moonrepo.svg " />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/moonrepo_light.svg " />
<img src="https://pnpm.io/img/users/moonrepo.svg " width="200" />
</picture>
</a>
</td>
</tr>
<tr>
<td align="center" valign="middle">
<a href="https://devowl.io/?utm_source=pnpm&utm_medium=release_notes "
target="_blank">
<picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/devowlio.svg " />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/devowlio.svg " />
<img src="https://pnpm.io/img/users/devowlio.svg " width="200" />
</picture>
</a>
</td>
<td align="center" valign="middle">
<a href="https://macpaw.com/?utm_source=pnpm&utm_medium=release_notes "
target="_blank">
<picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/macpaw.svg " />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/macpaw_light.svg " />
<img src="https://pnpm.io/img/users/macpaw.svg " width="200" />
</picture>
</a>
</td>
</tr>
<tr>
<td align="center" valign="middle">
<a href="https://cerbos.dev/?utm_source=pnpm&utm_medium=release_notes "
target="_blank">
<picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/cerbos.svg " />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/cerbos_light.svg " />
<img src="https://pnpm.io/img/users/cerbos.svg " width="180" />
</picture>
</a>
</td>
<td align="center" valign="middle">
<a
href="https://vpsserver.com/en-us/?utm_source=pnpm&utm_medium=release_notes "
target="_blank">
<img src="https://pnpm.io/img/users/vpsserver.svg " width="180" />
</a>
</td>
</tr>
</tbody>
</table>
</details>
---
### Configuration
📅 **Schedule**: Branch creation - "before 8am on monday" in timezone
Asia/Shanghai, Automerge - At any time (no schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.
♻ **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 has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/ ). View
repository job log
[here](https://developer.mend.io/github/oxc-project/oxc ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zMTMuMSIsInVwZGF0ZWRJblZlciI6IjM3LjMxMy4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-21 15:50:08 +08:00
renovate[bot]
c9b18f5d7a
chore(deps): update pnpm to v9 ( #3043 )
...
[](https://renovatebot.com )
This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [pnpm](https://pnpm.io ) ([source](https://togithub.com/pnpm/pnpm )) |
[`8.15.5` ->
`9.0.4`](https://renovatebot.com/diffs/npm/pnpm/8.15.5/9.0.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/ )
|
---
### Release Notes
<details>
<summary>pnpm/pnpm (pnpm)</summary>
### [`v9.0.4`](https://togithub.com/pnpm/pnpm/compare/v9.0.3...v9.0.4 )
[Compare Source](https://togithub.com/pnpm/pnpm/compare/v9.0.3...v9.0.4 )
### [`v9.0.3`](https://togithub.com/pnpm/pnpm/compare/v9.0.2...v9.0.3 )
[Compare Source](https://togithub.com/pnpm/pnpm/compare/v9.0.2...v9.0.3 )
### [`v9.0.2`](https://togithub.com/pnpm/pnpm/compare/v9.0.1...v9.0.2 )
[Compare Source](https://togithub.com/pnpm/pnpm/compare/v9.0.1...v9.0.2 )
### [`v9.0.1`](https://togithub.com/pnpm/pnpm/compare/v9.0.0...v9.0.1 )
[Compare Source](https://togithub.com/pnpm/pnpm/compare/v9.0.0...v9.0.1 )
### [`v9.0.0`](https://togithub.com/pnpm/pnpm/releases/tag/v9.0.0 )
[Compare
Source](https://togithub.com/pnpm/pnpm/compare/v8.15.7...v9.0.0 )
##### Major Changes
- Node.js v16 support discontinued
If you still require Node.js 16, don't worry. We ship pnpm bundled with
Node.js. This means that regardless of which Node.js version you've
installed, pnpm will operate using the necessary Node.js runtime. For
this to work you need to install pnpm either using the [standalone
script](https://pnpm.io/installation#using-a-standalone-script ) or
install the `@pnpm/exe` package.
- Configuration updates:
- [`dedupe-injected-deps`](https://pnpm.io/npmrc#dedupe-injected-deps ):
enabled by default.
-
[`link-workspace-packages`](https://pnpm.io/npmrc#link-workspace-packages ):
disabled by default. This means that by default, dependencies will be
linked from workspace packages only when they are specified using the
[workspace
protocol](https://pnpm.io/workspaces#workspace-protocol-workspace ).
-
[`hoist-workspace-packages`](https://pnpm.io/npmrc#hoist-workspace-packages ):
enabled by default.
-
[`enable-pre-post-scripts`](https://pnpm.io/cli/run#enable-pre-post-scripts ):
enabled by default.
- Use the same directory for state files on macOS as on Linux
(`~/.local/state/pnpm`).
- pnpm will now check the `package.json` file for a `packageManager`
field. If this field is present and specifies a different package
manager or a different version of pnpm than the one you're currently
using, pnpm will not proceed. This ensures that you're always using the
correct package manager and version that the project requires.
- Lockfile changes:
- Lockfile v9 is adopted. This new format has changes for better
readability, and better resistence to Git conflicts.
- Support for lockfile v5 is dropped. Use pnpm v8 to convert lockfile v5
to lockfile v6 [#​7470](https://togithub.com/pnpm/pnpm/pull/7470 ).
- Dependency resolution changes:
- Correct resolution of peer dependencies that have their own peer
dependencies.
Related issue:
[#​7444](https://togithub.com/pnpm/pnpm/issues/7444 ).
Related PR: [#​7606](https://togithub.com/pnpm/pnpm/pull/7606 ).
- Optional peer dependencies may be resolved from any packages in the
dependency graph
[#​7830](https://togithub.com/pnpm/pnpm/pull/7830 ).
- `pnpm licenses list` prints license information of all versions of the
same package in case different versions use different licenses. The
format of the `pnpm licenses list --json` output has been changed
[#​7528](https://togithub.com/pnpm/pnpm/pull/7528 ).
- A new command added for printing completion code to the console: `pnpm
completion [shell]`. The old command that modified the user's shell
dotfiles has been removed
[#​3083](https://togithub.com/pnpm/pnpm/issues/3083 ).
- When installing git-hosted dependencies, only pick the files that
would be packed with the package
[#​7638](https://togithub.com/pnpm/pnpm/pull/7638 ).
##### Minor Changes
- It is now possible to install only a subdirectory from a Git
repository.
For example, `pnpm add github:user/repo#path:packages/foo` will add a
dependency from the `packages/foo` subdirectory.
This new parameter may be combined with other supported parameters
separated by `&`. For instance, the next command will install the same
package from the `dev` branch: `pnpm add
github:user/repo#dev&path:packages/bar`.
Related issue:
[#​4765](https://togithub.com/pnpm/pnpm/issues/4765 ).
Related PR: [#​7487](https://togithub.com/pnpm/pnpm/pull/7487 ).
- `node-gyp` updated to version 10.
- PowerShell completion support added
[#​7597](https://togithub.com/pnpm/pnpm/pull/7597 ).
- Support `node-options` option inside `.npmrc` file when running
scripts [#​7596](https://togithub.com/pnpm/pnpm/issues/7596 ).
- Added support for registry-scoped SSL configurations (cert, key, and
ca). Three new settings supported: `<registryURL>:certfile`,
`<registryURL>:keyfile`, and `<registryURL>:ca`. For instance:
//registry.mycomp.com/:certfile=server-cert.pem
//registry.mycomp.com/:keyfile=server-key.pem
//registry.mycomp.com/:cafile=client-cert.pem
Related issue:
[#​7427](https://togithub.com/pnpm/pnpm/issues/7427 ).
Related PR: [#​7626](https://togithub.com/pnpm/pnpm/pull/7626 ).
- Add a field named `ignoredOptionalDependencies`. This is an array of
strings. If an optional dependency has its name included in this array,
it will be skipped
[#​7714](https://togithub.com/pnpm/pnpm/pull/7714 ).
- The checksum of the `.pnpmfile.cjs` is saved into the lockfile. If the
pnpmfile gets modified, the lockfile is reanalyzed to apply the changes
[#​7662](https://togithub.com/pnpm/pnpm/pull/7662 ).
- Added cache for `pnpm dlx`
[#​5277](https://togithub.com/pnpm/pnpm/issues/5277 ).
##### Patch Changes
- Package tarballs are not downloaded during `--lockfile-only`
installation [#​1328](https://togithub.com/pnpm/pnpm/issues/1328 ).
- Peer dependency rules should only affect reporting, not data in the
lockfile [#​7758](https://togithub.com/pnpm/pnpm/pull/7758 ).
- Link overrides should be able to use absolute path
[#​7749](https://togithub.com/pnpm/pnpm/pull/7749 ).
- `pnpm dlx` should not read settings from the current working directory
[#​7916](https://togithub.com/pnpm/pnpm/pull/7916 ).
##### Platinum Sponsors
<table>
<tbody>
<tr>
<td align="center" valign="middle">
<a href="https://bit.dev/?utm_source=pnpm&utm_medium=release_notes "
target="_blank"><img src="https://pnpm.io/img/users/bit.svg "
width="80"></a>
</td>
<td align="center" valign="middle">
<a href="https://figma.com/?utm_source=pnpm&utm_medium=release_notes "
target="_blank"><img src="https://pnpm.io/img/users/figma.svg "
width="80"></a>
</td>
</tr>
</tbody>
</table>
##### Gold Sponsors
<table>
<tbody>
<tr>
<td align="center" valign="middle">
<a href="https://discord.com/?utm_source=pnpm&utm_medium=release_notes "
target="_blank">
<picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/discord.svg " />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/discord_light.svg " />
<img src="https://pnpm.io/img/users/discord.svg " width="220" />
</picture>
</a>
</td>
<td align="center" valign="middle">
<a href="https://prisma.io/?utm_source=pnpm&utm_medium=release_notes "
target="_blank">
<picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/prisma.svg " />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/prisma_light.svg " />
<img src="https://pnpm.io/img/users/prisma.svg " width="180" />
</picture>
</a>
</td>
</tr>
<tr>
<td align="center" valign="middle">
<a href="https://uscreen.de/?utm_source=pnpm&utm_medium=release_notes "
target="_blank">
<picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/uscreen.svg " />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/uscreen_light.svg " />
<img src="https://pnpm.io/img/users/uscreen.svg " width="180" />
</picture>
</a>
</td>
<td align="center" valign="middle">
<a
href="https://www.jetbrains.com/?utm_source=pnpm&utm_medium=release_notes "
target="_blank">
<picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/jetbrains.svg " />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/jetbrains.svg " />
<img src="https://pnpm.io/img/users/jetbrains.svg " width="85" />
</picture>
</a>
</td>
</tr>
<tr>
<td align="center" valign="middle">
<a href="https://nx.dev/?utm_source=pnpm&utm_medium=release_notes "
target="_blank">
<picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/nx.svg " />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/nx_light.svg " />
<img src="https://pnpm.io/img/users/nx.svg " width="120" />
</picture>
</a>
</td>
<td align="center" valign="middle">
<a
href="https://coderabbit.ai/?utm_source=pnpm&utm_medium=release_notes "
target="_blank">
<picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/coderabbit.svg " />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/coderabbit_light.svg " />
<img src="https://pnpm.io/img/users/coderabbit.svg " width="220" />
</picture>
</a>
</td>
</tr>
</tbody>
</table>
##### Our Silver Sponsors
<table>
<tbody>
<tr>
<td align="center" valign="middle">
<a
href="https://leniolabs.com/?utm_source=pnpm&utm_medium=release_notes "
target="_blank">
<img src="https://pnpm.io/img/users/leniolabs.jpg " width="80">
</a>
</td>
<td align="center" valign="middle">
<a href="https://vercel.com/?utm_source=pnpm&utm_medium=release_notes "
target="_blank">
<picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/vercel.svg " />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/vercel_light.svg " />
<img src="https://pnpm.io/img/users/vercel.svg " width="180" />
</picture>
</a>
</td>
</tr>
<tr>
<td align="center" valign="middle">
<a href="https://depot.dev/?utm_source=pnpm&utm_medium=release_notes "
target="_blank">
<picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/depot.svg " />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/depot_light.svg " />
<img src="https://pnpm.io/img/users/depot.svg " width="200" />
</picture>
</a>
</td>
<td align="center" valign="middle">
<a href="https://moonrepo.dev/?utm_source=pnpm&utm_medium=release_notes "
target="_blank">
<picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/moonrepo.svg " />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/moonrepo_light.svg " />
<img src="https://pnpm.io/img/users/moonrepo.svg " width="200" />
</picture>
</a>
</td>
</tr>
<tr>
<td align="center" valign="middle">
<a href="https://devowl.io/?utm_source=pnpm&utm_medium=release_notes "
target="_blank">
<picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/devowlio.svg " />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/devowlio.svg " />
<img src="https://pnpm.io/img/users/devowlio.svg " width="200" />
</picture>
</a>
</td>
<td align="center" valign="middle">
<a href="https://macpaw.com/?utm_source=pnpm&utm_medium=release_notes "
target="_blank">
<picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/macpaw.svg " />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/macpaw_light.svg " />
<img src="https://pnpm.io/img/users/macpaw.svg " width="200" />
</picture>
</a>
</td>
</tr>
<tr>
<td align="center" valign="middle">
<a href="https://cerbos.dev/?utm_source=pnpm&utm_medium=release_notes "
target="_blank">
<picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/cerbos.svg " />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/cerbos_light.svg " />
<img src="https://pnpm.io/img/users/cerbos.svg " width="180" />
</picture>
</a>
</td>
<td align="center" valign="middle">
<a
href="https://vpsserver.com/en-us/?utm_source=pnpm&utm_medium=release_notes "
target="_blank">
<img src="https://pnpm.io/img/users/vpsserver.svg " width="180" />
</a>
</td>
</tr>
</tbody>
</table>
###
[`v8.15.7`](https://togithub.com/pnpm/pnpm/compare/v8.15.6...v8.15.7 )
[Compare
Source](https://togithub.com/pnpm/pnpm/compare/v8.15.6...v8.15.7 )
### [`v8.15.6`](https://togithub.com/pnpm/pnpm/releases/tag/v8.15.6 )
[Compare
Source](https://togithub.com/pnpm/pnpm/compare/v8.15.5...v8.15.6 )
#### Patch Changes
- The exit code of the child process should be preserved on `pnpm run`
[#​7817](https://togithub.com/pnpm/pnpm/issues/7817 ).
- When sorting packages in a workspace, take into account workspace
dependencies specified as `peerDependencies`
[#​7813](https://togithub.com/pnpm/pnpm/issues/7813 ).
- Add `--ignore-scripts` argument to `prune` command
[#​7836](https://togithub.com/pnpm/pnpm/pull/7836 ).
#### Platinum Sponsors
<table>
<tbody>
<tr>
<td align="center" valign="middle">
<a href="https://bit.dev/?utm_source=pnpm&utm_medium=readme "
target="_blank"><img src="https://pnpm.io/img/users/bit.svg "
width="80"></a>
</td>
<td align="center" valign="middle">
<a href="https://figma.com/?utm_source=pnpm&utm_medium=readme "
target="_blank"><img src="https://pnpm.io/img/users/figma.svg "
width="80"></a>
</td>
</tr>
</tbody>
</table>
#### Gold Sponsors
<table>
<tbody>
<tr>
<td align="center" valign="middle">
<a href="https://discord.com/?utm_source=pnpm&utm_medium=readme "
target="_blank">
<picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/discord.svg " />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/discord_light.svg " />
<img src="https://pnpm.io/img/users/discord.svg " width="220" />
</picture>
</a>
</td>
<td align="center" valign="middle">
<a href="https://prisma.io/?utm_source=pnpm&utm_medium=readme "
target="_blank">
<picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/prisma.svg " />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/prisma_light.svg " />
<img src="https://pnpm.io/img/users/prisma.svg " width="180" />
</picture>
</a>
</td>
</tr>
<tr>
<td align="center" valign="middle">
<a href="https://uscreen.de/?utm_source=pnpm&utm_medium=readme "
target="_blank">
<picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/uscreen.svg " />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/uscreen_light.svg " />
<img src="https://pnpm.io/img/users/uscreen.svg " width="180" />
</picture>
</a>
</td>
<td align="center" valign="middle">
<a href="https://www.jetbrains.com/?utm_source=pnpm&utm_medium=readme "
target="_blank">
<picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/jetbrains.svg " />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/jetbrains.svg " />
<img src="https://pnpm.io/img/users/jetbrains.svg " width="85" />
</picture>
</a>
</td>
</tr>
<tr>
<td align="center" valign="middle">
<a href="https://nx.dev/?utm_source=pnpm&utm_medium=readme "
target="_blank">
<picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/nx.svg " />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/nx_light.svg " />
<img src="https://pnpm.io/img/users/nx.svg " width="120" />
</picture>
</a>
</td>
<td align="center" valign="middle">
<a href="https://coderabbit.ai/?utm_source=pnpm&utm_medium=readme "
target="_blank">
<picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/coderabbit.svg " />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/coderabbit_light.svg " />
<img src="https://pnpm.io/img/users/coderabbit.svg " width="220" />
</picture>
</a>
</td>
</tr>
</tbody>
</table>
#### Silver Sponsors
<table>
<tbody>
<tr>
<td align="center" valign="middle">
<a href="https://leniolabs.com/?utm_source=pnpm&utm_medium=readme "
target="_blank">
<img src="https://pnpm.io/img/users/leniolabs.jpg " width="80">
</a>
</td>
<td align="center" valign="middle">
<a href="https://vercel.com/?utm_source=pnpm&utm_medium=readme "
target="_blank">
<picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/vercel.svg " />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/vercel_light.svg " />
<img src="https://pnpm.io/img/users/vercel.svg " width="180" />
</picture>
</a>
</td>
</tr>
<tr>
<td align="center" valign="middle">
<a href="https://depot.dev/?utm_source=pnpm&utm_medium=readme "
target="_blank">
<picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/depot.svg " />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/depot_light.svg " />
<img src="https://pnpm.io/img/users/depot.svg " width="200" />
</picture>
</a>
</td>
<td align="center" valign="middle">
<a href="https://moonrepo.dev/?utm_source=pnpm&utm_medium=readme "
target="_blank">
<picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/moonrepo.svg " />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/moonrepo_light.svg " />
<img src="https://pnpm.io/img/users/moonrepo.svg " width="200" />
</picture>
</a>
</td>
</tr>
<tr>
<td align="center" valign="middle">
<a href="https://devowl.io/?utm_source=pnpm&utm_medium=readme "
target="_blank">
<picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/devowlio.svg " />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/devowlio.svg " />
<img src="https://pnpm.io/img/users/devowlio.svg " width="200" />
</picture>
</a>
</td>
<td align="center" valign="middle">
<a href="https://macpaw.com/?utm_source=pnpm&utm_medium=readme "
target="_blank">
<picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/macpaw.svg " />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/macpaw_light.svg " />
<img src="https://pnpm.io/img/users/macpaw.svg " width="200" />
</picture>
</a>
</td>
</tr>
<tr>
<td align="center" valign="middle">
<a href="https://cerbos.dev/?utm_source=pnpm&utm_medium=readme "
target="_blank">
<picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/cerbos.svg " />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/cerbos_light.svg " />
<img src="https://pnpm.io/img/users/cerbos.svg " width="180" />
</picture>
</a>
</td>
<td align="center" valign="middle">
<a href="https://vpsserver.com/en-us/?utm_source=pnpm&utm_medium=readme "
target="_blank">
<img src="https://pnpm.io/img/users/vpsserver.svg " width="180" />
</a>
</td>
</tr>
</tbody>
</table>
</details>
---
### Configuration
📅 **Schedule**: Branch creation - "before 8am on monday" in timezone
Asia/Shanghai, Automerge - At any time (no schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.
♻ **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 has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/ ). View
repository job log
[here](https://developer.mend.io/github/oxc-project/oxc ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zMTMuMSIsInVwZGF0ZWRJblZlciI6IjM3LjMxMy4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-21 15:49:49 +08:00
overlookmotel
27102df476
refactor(napi): remove unnecessary custom Serialize impl for Atom ( #3041 )
...
Custom `Serialize` impl on `Atom` is not required - can just use serde
derive.
2024-04-21 13:04:51 +08:00
Boshen
4425b961cd
feat(cli): implement --format unix ( #3039 )
...
closes #1462
2024-04-21 01:24:22 +08:00
Boshen
ae1f15ac1e
feat(linter): support eslint globals ( #3038 )
...
closes #3019
2024-04-20 23:01:59 +08:00
Boshen
53c0ff5135
refactor(linter): improve the ergonomics around ESlintConfig ( #3037 )
2024-04-20 20:02:22 +08:00
overlookmotel
d44301c871
fix(parser): fix comment typos ( #3036 )
...
Fix 2 typos in comments.
2024-04-20 13:13:25 +03:30
Boshen
233654af54
chore: update MAINTENANCE.md
2024-04-20 16:59:47 +08:00
Boshen
598bbbaddc
fix(linter): fix crashing with unwrap in import/no-cycle ( #3035 )
...
closes #3034
2024-04-20 16:59:13 +08:00
Boshen
fe37da63ae
ci: remove some redundant lines that are showing warnings
2024-04-20 14:23:34 +08:00
Ali Rezvani
57ad6c4aa7
feat(semantic): add root node to the AstNodes structure. ( #3032 )
...
Adds a way to fetch the root node without iterating over all ancestors
which has a nondeterministic time - best case O(1) worst case O(n!) - It
is only possible to set this field in the semantic builder.
2024-04-20 13:36:20 +08:00
overlookmotel
1249c6c326
refactor(ast): implement same traits on all fieldless enums ( #3031 )
...
Implement same traits on all AST fieldless enums, for consistency. Just
a little bit of tidying.
2024-04-20 01:53:48 +08:00
Boshen
280441f646
chore: update README
2024-04-19 23:19:10 +08:00
Ali Rezvani
0d770f57ff
refactor: remove redundant imports to fix some of clippy warnings. ( #3028 )
...
These are raising warnings in nightly, And are in fact redundant.
2024-04-19 21:02:23 +08:00
overlookmotel
0b9470eeb8
refactor(ast): shorten code ( #3027 )
...
Shorten code for getting span. Refactor only, no substantive change.
2024-04-19 18:30:58 +08:00
overlookmotel
04005ff62d
refactor(prettier): simplify import ( #3026 )
...
Just a tiny simplification. No substantive change.
2024-04-19 18:11:08 +08:00
Boshen
04f5fc0186
Release oxlint and vscode extension v0.2.18
2024-04-19 16:51:40 +08:00
Boshen
a05c4e39b8
Release crates v0.12.4
2024-04-19 16:40:05 +08:00
Boshen
fd670d542a
chore(linter): add error message to unicorn/no-single-promise-in-promise-methods
2024-04-19 15:53:49 +08:00
Boshen
2bac1d5384
feat(linter): support oxlint-disable alongside eslint-disable ( #3024 )
...
closes #2999
2024-04-19 15:39:13 +08:00
Boshen
fa08abe20a
feat(linter): remove import/no-unresolved ( #3023 )
...
closes #3015
This plugin will always contain false positives due to module resolution
complexity.
2024-04-19 12:45:50 +08:00
谭光志
9b4e87a102
feat(linter): eslint/max-len ( #2874 )
...
Co-authored-by: Wang Wenzhe <mysteryven@gmail.com>
2024-04-19 12:35:37 +08:00
Boshen
3f9f4670e2
chore(transformer): enable clippy::print_stdout
2024-04-19 10:34:50 +08:00
Yuji Sugiura
2c325ef3d6
fix(semantic/jsdoc): Skip parsing @ inside of backticks ( #3017 )
...
This PR aims to support these cases.
````js
/**
* This is normal comment, `@xxx` should not parsed as tag.
*
* @example ```ts
// @comment
@decoratorInComment
class Foo { }
```
*/
````
Only `@example` should be parsed as tag.
2024-04-18 19:18:46 +08:00
Yuji Sugiura
395ad76410
feat(linter/jsdoc): Update settings.jsdoc method ( #3016 )
...
Add `list_preferred_tag_names()` to enumerate user defined tag names in
`tagNamePreferences`.
2024-04-18 18:57:00 +08:00
Dunqing
3831147b6d
feat(transformer/typescript): report error for export = <value> ( #3021 )
2024-04-18 18:56:29 +08:00
Dunqing
7416de217b
feat(transformer/typescript): reports error for import lib = require(...); ( #3020 )
2024-04-18 18:54:45 +08:00
Dunqing
e14ac17c72
feat(transformer/typescript): insert this assignment after the super call ( #3018 )
2024-04-18 18:53:01 +08:00
Yuji Sugiura
5d89e75e48
feat(linter/jsdoc): Implement require-property-(type|name|description) rules ( #3013 )
...
Part of #1170
-
https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-property-type.md
-
https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-property-name.md
-
https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-property-description.md
2024-04-17 16:31:39 +08:00
Boshen
722d4c2350
fix(transformer): TypeScriptOptions deserialize should fallback to default ( #3012 )
2024-04-17 16:27:50 +08:00
Dunqing
b72bdcaf96
feat(transformer/react): reports duplicate __self/__source prop error ( #3009 )
2024-04-17 13:34:31 +08:00
Yuji Sugiura
7de9c91f52
feat(linter/jsdoc): Implement require-property rule ( #3011 )
...
Part of #1170
- Doc:
https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-property.md#repos-sticky-header
- Src:
https://github.com/gajus/eslint-plugin-jsdoc/blob/main/src/rules/requireProperty.js
- Test:
https://github.com/gajus/eslint-plugin-jsdoc/blob/main/test/rules/assertions/requireProperty.js
2024-04-17 12:18:59 +08:00
Wang Wenzhe
d3b7fc75f4
chore(task): add specific pnpm version for codespeed task ( #3010 )
...
> Corepack is about to download
https://registry.npmjs.org/pnpm/-/pnpm-9.0.0.tgz .
> Cannot perform a frozen installation because the version of the
lockfile is incompatible with this version of pnpm
https://github.com/oxc-project/oxc/actions/runs/8703527853/job/23877194263?pr=2874
2024-04-16 21:46:40 +08:00
Boshen
34bf68036c
Update README.md
2024-04-16 21:01:28 +08:00
Boshen
df1996157f
chore(transform_conformance): ignore more unsupported plugins ( #3008 )
2024-04-16 18:59:21 +08:00
Dunqing
cdd3bc5a4e
feat(transformer_conformance): enable typescript when the typescript plugin is present ( #3007 )
2024-04-16 10:47:06 +00:00
Dunqing
99e038cfc0
fix(transformer/typescript): modifiers should not be removed ( #3005 )
...
`codegen` relies on the modifier to decide whether to print or not. For
example, if declare is present, nothing will be printed if typescript is
not enabled.
We may need to solve this problem in a way that doesn't rely on
modifers.
2024-04-16 10:33:13 +00:00
Boshen
ae9d681b4d
feat(transform_conformance): skip windows tests ( #3003 )
2024-04-16 17:50:43 +08:00
Boshen
85a3653994
feat(transformer): add "_jsxFileName" variable in jsx source plugin ( #3000 )
2024-04-16 17:40:24 +08:00
Boshen
67045467c7
fix(transformer): react development default value should be false ( #3002 )
2024-04-16 17:28:31 +08:00
Boshen
5f4c1e1d3e
chore(transform_conformance): skip custom presets ( #3001 )
2024-04-16 17:21:34 +08:00
Dunqing
afb1dd4b24
feat(transformer/typescript): support for transform TSImportEqualsDeclaration ( #2998 )
2024-04-16 06:45:41 +00:00
Dunqing
6732e8b9af
feat(transformer/typescript): support for transform enum ( #2997 )
...
The current implementation is copied from the previous implementation
2024-04-16 14:39:37 +08:00
Boshen
e43c245388
feat(transformer): add import helpers to manage module imports ( #2996 )
...
closes #2971
2024-04-16 14:33:44 +08:00
Yuji Sugiura
df2036eea0
feat(linter): Implement plugin-jsdoc/check-property-names ( #2989 )
...
Part of #1170
- Doc:
https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-property-names.md#repos-sticky-header
- Test:
https://github.com/gajus/eslint-plugin-jsdoc/blob/main/test/rules/assertions/checkPropertyNames.js
- Impl:
https://github.com/gajus/eslint-plugin-jsdoc/blob/main/src/rules/checkPropertyNames.js
2024-04-16 13:55:33 +08:00
Dunqing
6a53fa367b
feat(transformer/typescript): correct elide imports/exports statements ( #2995 )
...
remove ts annotations one benefit: `IdentifierReference` only used on js
code
The `TypescriptReferenceCollector` implementation is inspired by
5f75019683/crates/swc_ecma_transforms_typescript/src/strip_import_export.rs (L9-L99)
This seems simpler to implement than using scope
2024-04-16 11:06:58 +08:00