mirror of
https://github.com/oxc-project/oxc.git
synced 2026-09-14 19:36:11 +08:00
codex/jsstr-core
2055 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
f4eacfcfef |
chore(deps): update oxc to ^0.149.0 (#26412)
This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Adoption](https://docs.renovatebot.com/merge-confidence/) | [Passing](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---|---|---| | [@oxc-project/types](https://oxc.rs) ([source](https://redirect.github.com/oxc-project/oxc/tree/HEAD/npm/oxc-types)) | [`^0.148.0` → `^0.149.0`](https://renovatebot.com/diffs/npm/@oxc-project%2ftypes/0.148.0/0.149.0) |  |  |  |  | | [oxc-parser](https://oxc.rs/docs/guide/usage/parser) ([source](https://redirect.github.com/oxc-project/oxc/tree/HEAD/napi/parser)) | [`^0.148.0` → `^0.149.0`](https://renovatebot.com/diffs/npm/oxc-parser/0.148.0/0.149.0) |  |  |  |  | --- ### Release Notes <details> <summary>oxc-project/oxc (oxc-parser)</summary> ### [`v0.149.0`](https://redirect.github.com/oxc-project/oxc/blob/HEAD/napi/parser/CHANGELOG.md#01490---2026-09-07) ##### 🐛 Bug Fixes - [`c966aca`](https://redirect.github.com/oxc-project/oxc/commit/c966aca) parser: Do not omit `<` token opening type argument list ([#​26328](https://redirect.github.com/oxc-project/oxc/issues/26328)) (overlookmotel) </details> --- ### Configuration 📅 **Schedule**: (in timezone Asia/Shanghai) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/oxc-project/oxc). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC42OS4xIiwidXBkYXRlZEluVmVyIjoiNDQuNjkuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> |
||
|
|
b4da00b621 |
release(apps): oxlint v1.82.0 && oxfmt v0.67.0 (#26384)
# Oxlint ### 🚀 Features - |
||
|
|
aa38ddfbea |
fix(linter/unicorn/numeric-separators-style): correct schema defaults (#26393)
## Summary Fix the generated defaults for `unicorn/numeric-separators-style`. The rule already uses `number.minimumDigits: 5`, matching Unicorn, but the generated documentation and JSON schema advertise `0`. The same schema issue also advertises `groupLength: 0` for every numeric base. ## Why the defaults are wrong `NumericBaseConfig` is shared by binary, hexadecimal, octal, and decimal configuration. Its derived `Default` initializes both numeric fields to zero. The rule supplies the actual defaults in `NumericSeparatorsStyleConfig::default()` and `NumericNumberConfig::default()`. Schema generation uses the shared type's defaults for its individual properties. In particular, flattening `NumericBaseConfig` into `NumericNumberConfig` preserves the zero-valued property defaults instead of the decimal defaults. This makes the documented threshold disagree with the rule's existing behavior: ```js 1234; // Allowed with the default configuration. 12345; // Reported; the fix is 12_345. ``` ## Change Add a single parameterized schema helper for `NumericBaseConfig`, then select the appropriate defaults with `schemars(schema_with = ...)` on each field. The helper retains the derived schema's property descriptions, types, and constraints, and overrides only the `groupLength` and `minimumDigits` default metadata. The resulting defaults are: | Configuration | `groupLength` | `minimumDigits` | | --- | --- | --- | | `binary` | 4 | 0 | | `hexadecimal` | 2 | 0 | | `octal` | 4 | 0 | | `number` | 3 | 5 | The schema annotation on the flattened decimal base also corrects `number.minimumDigits`. `number.fractionGroupLength` remains unchanged, and the documentation continues to display its default as `Infinity`. Regenerate the JSON configuration schema and the TypeScript configuration types from it. The generated TypeScript types inline the binary, hexadecimal, and octal option objects because those properties now have individual schemas; their accepted configuration shapes are unchanged. This changes schema and documentation metadata only. Runtime defaults, option parsing, diagnostics, and autofixes are unchanged. Fixes #26391 |
||
|
|
66744f0eb9 |
feat(parser)!: rename panicked to fatal_error in ParserReturn (#26382)
`ParserReturn` contains a property `panicked`. The name `panicked` is misleading. The parser did _not_ panic. When `true`, it means that the parser encountered a fatal error and is unable to parse the source, because it contains an unrecoverable syntax error. Rename this property to `fatal_error`, to better describe what it means. This is a breaking change, but one that's trivial to fix in downstream code - the property doesn't change its meaning or behavior, just its name. All the changes in this PR in other crates are just reacting to this change and making everywhere use the term "fatal error" instead of "panicked", so the codebase is consistent. |
||
|
|
5a52c8d53d |
test(oxlint/lsp): avoid calling run_file (#26353)
`run_file` is an internal function, which does not get called by the language server. Instead, it calls the parent function `run_diagnostic`. Refactor the code, so internal implication is kept secret in tests. |
||
|
|
a5a4ac8811 |
refactor(lsp): ToolTrait consume TextDocument & CodeActionParams (#26339)
Refactors the `oxc_language_server::Tool` trait and associated LSP plumbing to pass `TextDocument` and `CodeActionParams` by value, aligning tool APIs with “consume” semantics and simplifying call sites that previously had to keep borrowed values alive. |
||
|
|
8dd81f9bb8 |
chore(deps): update dependency @napi-rs/cli to v3.9.0 (#26256)
This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Adoption](https://docs.renovatebot.com/merge-confidence/) | [Passing](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---|---|---| | [@napi-rs/cli](https://napi.rs/) ([source](https://redirect.github.com/napi-rs/napi-rs)) | [`3.8.6` → `3.9.0`](https://renovatebot.com/diffs/npm/@napi-rs%2fcli/3.8.6/3.9.0) |  |  |  |  | --- > [!WARNING] > Some dependencies could not be looked up. Check the warning logs for more information. --- ### Release Notes <details> <summary>napi-rs/napi-rs (@​napi-rs/cli)</summary> ### [`v3.9.0`](https://redirect.github.com/napi-rs/napi-rs/compare/@napi-rs/cli@3.8.6...@napi-rs/cli@3.9.0) [Compare Source](https://redirect.github.com/napi-rs/napi-rs/compare/@napi-rs/cli@3.8.6...@napi-rs/cli@3.9.0) </details> --- ### Configuration 📅 **Schedule**: (in timezone Asia/Shanghai) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR is behind base branch, 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://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/oxc-project/oxc). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC41Ny4zIiwidXBkYXRlZEluVmVyIjoiNDQuNjEuMyIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Cameron <cameron.clark@hey.com> |
||
|
|
3b7e45399d |
refactor(oxlint/lsp): remove offset_to_position (#26336)
With https://github.com/oxc-project/oxc/pull/23329 the conversion from offset to line/column position is now done by a helper function in `oxc_language_server`. There was a helper function inside `oxlint` to call the function. Instead, call it directly now. Moved the tests to the correct place, and removed duplicated ones. |
||
|
|
2a68cc458b |
refactor(oxlint/lsp): remove Option for code actions map (#26335)
The `Option<>` wrap for `Vec<LinterCodeAction>` is not needed, after each lint-run we save an entry (even if empty) to the map. There is no different code branch for `None` as a value. |
||
|
|
949d7a9302 |
chore(deps): update vitest to v5 (#26299)
## Summary - update workspace test dependencies to Vitest 5.0.0 - pin Vitest and related tooling to Vite 8.2.2 - migrate removed sequential and benchmark APIs - update the pnpm lockfile |
||
|
|
7e75a5aab6 |
test(ast_visit, linter/plugins): increase test coverage for UTF-16 offset conversion (#26287)
Follow-on after #26173 and #26223. Expand the test coverage added in both PRs to cover more cases. |
||
|
|
8c7ea7678d |
fix(ast_visit): account for trimmed source offsets (#26223)
## Summary - keep UTF-8 translation offsets absolute when the converter is built from source with a trimmed BOM or partial-source prefix - extend the Oxlint BOM fixture with the reported comment-before-Unicode case - assert the JS plugin API returns the complete comment range and source slice Without the fix, the integration snapshot reports an end offset of 4 and slices `"/*x*"`. With the fix, it reports an end offset of 5 and slices `"/*x*/"`. Fixes #26162 *Update*: #26173 fixed the same bug in the same way, and has been merged. This PR adds more tests, so merging it on top. Co-authored-by: camc314 <18101008+camc314@users.noreply.github.com> |
||
|
|
07851b9c5d |
fix(parser): fix debug assert failure when lexer error with tokens enabled (#26229)
`Lexer::finalize_tokens` discards the last collected token - the `Eof` that terminates every token stream - and debug asserted that it was `Eof`. Turns out that assumption does not always hold. Where the lexer cannot lex any further it emits `Kind::Undetermined`, and no `Eof` ever follows, so the last token is `Undetermined` and the debug assertion fails. This can be triggered by an unterminated string, for example: ```js foo(); 'unterminated ``` Like `Eof`, `Undetermined` is not a "real" token, so either way it's fine to remove it from the token stream. The fix is just to relax the debug assertion to accept either. Release behaviour is unchanged - it was only a debug assert. Only came across this while running the conformance tests which compare current lexer to the new one (`oxc_lexer`). |
||
|
|
9cee146886 |
fix(oxlint/lsp): don't try to parse fix message, always fallback (#26204)
We had at the beginning some rules' diagnostics like `<rule-name>: diagnostic message`, from that message we did create a code action `Fix this <rule-name> problem`, but this is buggy.
I searched in `crates/oxc_linter` for `OxcDiagnostic::\w+\(".*:` and found only `no-invalid-regexp` to be a useful case.
For other rules this could be wrong like:
- Unexpected `javascript:` url
- `<Document />` from `next/document` should not be imported outside of `pages/_document.js`. See: https:/..`
- Always prefer `const x: T = { ... }`.
|
||
|
|
b41bb35bca |
fix(linter): qualify rules in rules output (#26250)
## Summary - preserve plugin names when tracking default and enabled rules - prevent same-named rules from inheriting another plugin’s state in Markdown and JSON output - add regression coverage for all known rule-name collisions Fixes #26209. |
||
|
|
6a0e19cfaa |
feat(linter/eslint/no-unmodified-loop-condition): support checkConditionalExpressions option (#26249)
## Summary - add the ESLint-compatible `checkConditionalExpressions` option to `no-unmodified-loop-condition`, defaulting to `false` - port tests added by eslint/eslint#21175 and add regression coverage for repeated references within and across binary groups Closes #26182. |
||
|
|
9a612d57e5 |
chore(deps): update npm packages (#26178)
This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Adoption](https://docs.renovatebot.com/merge-confidence/) | [Passing](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---|---|---| | [@typescript-eslint/parser](https://typescript-eslint.io/packages/parser) ([source](https://redirect.github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser)) | [`8.67.0` → `8.68.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2fparser/8.67.0/8.68.0) |  |  |  |  | | [@typescript-eslint/scope-manager](https://typescript-eslint.io/packages/scope-manager) ([source](https://redirect.github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/scope-manager)) | [`8.67.0` → `8.68.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2fscope-manager/8.67.0/8.68.0) |  |  |  |  | | [@typescript-eslint/visitor-keys](https://typescript-eslint.io) ([source](https://redirect.github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/visitor-keys)) | [`8.67.0` → `8.68.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2fvisitor-keys/8.67.0/8.68.0) |  |  |  |  | | [eslint](https://eslint.org) ([source](https://redirect.github.com/eslint/eslint)) | [`10.8.1` → `10.9.1`](https://renovatebot.com/diffs/npm/eslint/10.8.1/10.9.1) |  |  |  |  | | [svelte](https://svelte.dev) ([source](https://redirect.github.com/sveltejs/svelte/tree/HEAD/packages/svelte)) | [`5.56.10` → `5.57.0`](https://renovatebot.com/diffs/npm/svelte/5.56.10/5.57.0) |  |  |  |  | | [tinypool](https://redirect.github.com/tinylibs/tinypool) | [`2.1.0` → `2.1.2`](https://renovatebot.com/diffs/npm/tinypool/2.1.0/2.1.2) |  |  |  |  | | [vscode-languageserver-protocol](https://redirect.github.com/Microsoft/vscode-languageserver-node) ([source](https://redirect.github.com/Microsoft/vscode-languageserver-node/tree/HEAD/protocol)) | [`3.18.2` → `3.18.3`](https://renovatebot.com/diffs/npm/vscode-languageserver-protocol/3.18.2/3.18.3) |  |  |  |  | | [vscode-languageserver-textdocument](https://redirect.github.com/Microsoft/vscode-languageserver-node) ([source](https://redirect.github.com/Microsoft/vscode-languageserver-node/tree/HEAD/textDocument)) | [`1.0.12` → `1.0.14`](https://renovatebot.com/diffs/npm/vscode-languageserver-textdocument/1.0.12/1.0.14) |  |  |  |  | --- ### Release Notes <details> <summary>typescript-eslint/typescript-eslint (@​typescript-eslint/parser)</summary> ### [`v8.68.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#8680-2026-08-24) [Compare Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.67.0...v8.68.0) This was a version bump only for parser to align it with other projects, there were no code changes. See [GitHub Releases](https://redirect.github.com/typescript-eslint/typescript-eslint/releases/tag/v8.68.0) for more information. You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. </details> <details> <summary>typescript-eslint/typescript-eslint (@​typescript-eslint/scope-manager)</summary> ### [`v8.68.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/scope-manager/CHANGELOG.md#8680-2026-08-24) [Compare Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.67.0...v8.68.0) This was a version bump only for scope-manager to align it with other projects, there were no code changes. See [GitHub Releases](https://redirect.github.com/typescript-eslint/typescript-eslint/releases/tag/v8.68.0) for more information. You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. </details> <details> <summary>typescript-eslint/typescript-eslint (@​typescript-eslint/visitor-keys)</summary> ### [`v8.68.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/visitor-keys/CHANGELOG.md#8680-2026-08-24) [Compare Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.67.0...v8.68.0) This was a version bump only for visitor-keys to align it with other projects, there were no code changes. See [GitHub Releases](https://redirect.github.com/typescript-eslint/typescript-eslint/releases/tag/v8.68.0) for more information. You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. </details> <details> <summary>eslint/eslint (eslint)</summary> ### [`v10.9.1`](https://redirect.github.com/eslint/eslint/compare/v10.9.0...5c8c2417b9ff462f2dc4e54a062c59135b45b845) [Compare Source](https://redirect.github.com/eslint/eslint/compare/v10.9.0...v10.9.1) ### [`v10.9.0`](https://redirect.github.com/eslint/eslint/compare/v10.8.1...c27bc926e496985eb7911c09eb60914b2e4b5d0f) [Compare Source](https://redirect.github.com/eslint/eslint/compare/v10.8.1...v10.9.0) </details> <details> <summary>sveltejs/svelte (svelte)</summary> ### [`v5.57.0`](https://redirect.github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5570) [Compare Source](https://redirect.github.com/sveltejs/svelte/compare/svelte@5.56.10...svelte@5.57.0) ##### Minor Changes - feat: export `RenderOutput`, `SyncRenderOutput`, `Csp` and `Sha256Source` from `svelte/server` ([#​18648](https://redirect.github.com/sveltejs/svelte/pull/18648)) - feat: add `has` function to `createContext` ([#​18472](https://redirect.github.com/sveltejs/svelte/pull/18472)) - feat: support `defaultValue` on `<select>` ([#​18591](https://redirect.github.com/sveltejs/svelte/pull/18591)) - feat: add getOrInsert/getOrInsertComputed to SvelteMap ([#​18728](https://redirect.github.com/sveltejs/svelte/pull/18728)) ##### Patch Changes - fix: block template store subscriptions on the promise that assigns the store ([#​18582](https://redirect.github.com/sveltejs/svelte/pull/18582)) - fix: route $derived teardown errors through invoke\_error\_boundary ([#​18486](https://redirect.github.com/sveltejs/svelte/pull/18486)) - fix: track SvelteDate snapshots in reactions ([#​18700](https://redirect.github.com/sveltejs/svelte/pull/18700)) - fix: remove `<svelte:head>` anchors on unmount ([#​18697](https://redirect.github.com/sveltejs/svelte/pull/18697)) - fix: warn on undeclared shorthand event handlers on `<svelte:window>`, `<svelte:document>` and `<svelte:body>` ([#​18480](https://redirect.github.com/sveltejs/svelte/pull/18480)) - perf: reuse the cached value in the `<option>`/`<select>` value guard ([#​18713](https://redirect.github.com/sveltejs/svelte/pull/18713)) - fix: prevent malformed AST output for `<select>` with static `value` attribute ([#​18449](https://redirect.github.com/sveltejs/svelte/pull/18449)) - fix: apply ownership mutation ignores to binding assignments ([#​18718](https://redirect.github.com/sveltejs/svelte/pull/18718)) - fix: prevent onoutroend from firing twice when compilerOptions.hmr is true ([#​18655](https://redirect.github.com/sveltejs/svelte/pull/18655)) - fix: preserve whitespace after inline elements when printing ([#​18685](https://redirect.github.com/sveltejs/svelte/pull/18685)) - perf: fold SSR block-open markers into the branch's first push ([#​18712](https://redirect.github.com/sveltejs/svelte/pull/18712)) - fix: run `onDestroy` callbacks when a server render throws ([#​18585](https://redirect.github.com/sveltejs/svelte/pull/18585)) - fix: report `derived_invalid_export` for `export let x = $derived(...)` in runes mode ([#​18692](https://redirect.github.com/sveltejs/svelte/pull/18692)) - fix: never apply class hash to elements inside `<svelte:head>` ([#​18160](https://redirect.github.com/sveltejs/svelte/pull/18160)) - fix: keep `defaultChecked` on hydrated radio inputs with spread attributes ([#​18701](https://redirect.github.com/sveltejs/svelte/pull/18701)) - fix: accept `onfocusin`/`onfocusout` in `a11y_mouse_events_have_key_events` ([#​18689](https://redirect.github.com/sveltejs/svelte/pull/18689)) - perf: O(n²)→O(n) Map lookups for legacy `$:` reactive statement ordering ([#​18602](https://redirect.github.com/sveltejs/svelte/pull/18602)) - fix: distinct memoizer on style/class directives ([#​18466](https://redirect.github.com/sveltejs/svelte/pull/18466)) - fix: measure nested transitions before applying their starting styles ([#​18647](https://redirect.github.com/sveltejs/svelte/pull/18647)) - fix: don't turn component instances stored in `$state` into state proxies ([#​18646](https://redirect.github.com/sveltejs/svelte/pull/18646)) - perf: emit `$.only_child` for elements with a single child ([#​18717](https://redirect.github.com/sveltejs/svelte/pull/18717)) - fix: omit `bind:focused` from SSR output (it has no HTML attribute) ([#​18724](https://redirect.github.com/sveltejs/svelte/pull/18724)) - fix: more robust rendering of Svelte custom element slots ([#​18710](https://redirect.github.com/sveltejs/svelte/pull/18710)) - perf: optimize simple object destructuring in `@const` tags ([#​18390](https://redirect.github.com/sveltejs/svelte/pull/18390)) - fix: properly apply static textarea value attribute during CSR ([#​18727](https://redirect.github.com/sveltejs/svelte/pull/18727)) - fix: end a restored reaction context at the end of its synchronous segment ([#​18694](https://redirect.github.com/sveltejs/svelte/pull/18694)) - fix: keep the dependencies of a reaction that throws, so deriveds it read are neither leaked nor stuck in their error ([#​18703](https://redirect.github.com/sveltejs/svelte/pull/18703)) - fix: don't resurrect outroing elements when an ancestor block is paused and resumed ([#​18431](https://redirect.github.com/sveltejs/svelte/pull/18431)) - perf: use `$.comment()` for single-comment templates ([#​18714](https://redirect.github.com/sveltejs/svelte/pull/18714)) - chore: move `@types/trusted-types` to devDependencies ([#​18730](https://redirect.github.com/sveltejs/svelte/pull/18730)) - perf: store setters cache as `Set` instead of `Array` ([#​18251](https://redirect.github.com/sveltejs/svelte/pull/18251)) - fix: transform derived assignments and select function bindings correctly during server-side rendering ([#​18669](https://redirect.github.com/sveltejs/svelte/pull/18669)) - fix: keep boolean attributes with an empty string value when rendering attribute objects on the server ([#​18721](https://redirect.github.com/sveltejs/svelte/pull/18721)) - fix: sync `SvelteURL` port signal when the protocol setter clears the port ([#​18705](https://redirect.github.com/sveltejs/svelte/pull/18705)) - fix: block declaration tags and `{@const}` on async values read inside closures ([#​18533](https://redirect.github.com/sveltejs/svelte/pull/18533)) - fix: avoid css tree-shaking for exported Snippet ([#​18540](https://redirect.github.com/sveltejs/svelte/pull/18540)) - perf: treat `<img loading>` as a static element again ([#​18711](https://redirect.github.com/sveltejs/svelte/pull/18711)) - fix: prevent `selectedcontent` mutation from changing the selected option ([#​18495](https://redirect.github.com/sveltejs/svelte/pull/18495)) - fix: avoid `NaN` keyframe values in `slide` transition for elements without a layout box ([#​18430](https://redirect.github.com/sveltejs/svelte/pull/18430)) - fix: preserve line feed character references in attribute values ([#​18691](https://redirect.github.com/sveltejs/svelte/pull/18691)) - fix: decode uppercase-`X` hex numeric character references (`&#X...;`) ([#​18708](https://redirect.github.com/sveltejs/svelte/pull/18708)) - chore: clarify when `$effect.pre` runs relative to DOM updates ([#​18534](https://redirect.github.com/sveltejs/svelte/pull/18534)) - fix: scope SSR boundary failed snippets to their boundary ([#​18593](https://redirect.github.com/sveltejs/svelte/pull/18593)) </details> <details> <summary>tinylibs/tinypool (tinypool)</summary> ### [`v2.1.2`](https://redirect.github.com/tinylibs/tinypool/releases/tag/v2.1.2) [Compare Source](https://redirect.github.com/tinylibs/tinypool/compare/v2.1.1...v2.1.2) Contains security fix for <https://github.com/tinylibs/tinypool/security/advisories/GHSA-85c8-ppgw-ccpr>. #### What's Changed - fix: guard worker filename from proto pollution by [@​AriPerkkio](https://redirect.github.com/AriPerkkio) in [#​135](https://redirect.github.com/tinylibs/tinypool/pull/135) **Full Changelog**: <https://github.com/tinylibs/tinypool/compare/v2.1.1...v2.1.2> ### [`v2.1.1`](https://redirect.github.com/tinylibs/tinypool/releases/tag/v2.1.1) [Compare Source](https://redirect.github.com/tinylibs/tinypool/compare/v2.1.0...v2.1.1) Contains security fix for <https://github.com/tinylibs/tinypool/security/advisories/GHSA-5gmw-xhrv-c9v3>. #### What's Changed - fix: guard worker options from proto pollution by [@​AriPerkkio](https://redirect.github.com/AriPerkkio) in [#​134](https://redirect.github.com/tinylibs/tinypool/pull/134) **Full Changelog**: <https://github.com/tinylibs/tinypool/compare/v2.1.0...v2.1.1> </details> --- ### Configuration 📅 **Schedule**: (in timezone Asia/Shanghai) - Branch creation - "before 10am on monday" - 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://redirect.github.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://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/oxc-project/oxc). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC40OS4wIiwidXBkYXRlZEluVmVyIjoiNDQuNDkuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Cameron <cameron.clark@hey.com> |
||
|
|
b9559fb8e9 |
chore(deps): update oxc to ^0.148.0 (#26221)
This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Adoption](https://docs.renovatebot.com/merge-confidence/) | [Passing](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---|---|---| | [@oxc-project/types](https://oxc.rs) ([source](https://redirect.github.com/oxc-project/oxc/tree/HEAD/npm/oxc-types)) | [`^0.147.0` → `^0.148.0`](https://renovatebot.com/diffs/npm/@oxc-project%2ftypes/0.147.0/0.148.0) |  |  |  |  | | [oxc-parser](https://oxc.rs/docs/guide/usage/parser) ([source](https://redirect.github.com/oxc-project/oxc/tree/HEAD/napi/parser)) | [`^0.147.0` → `^0.148.0`](https://renovatebot.com/diffs/npm/oxc-parser/0.147.0/0.148.0) |  |  |  |  | --- ### Configuration 📅 **Schedule**: (in timezone Asia/Shanghai) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/oxc-project/oxc). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC40OS4wIiwidXBkYXRlZEluVmVyIjoiNDQuNDkuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> |
||
|
|
0b4e2e67f4 |
release(apps): oxlint v1.81.0 && oxfmt v0.66.0 (#26199)
# Oxlint ### 🚀 Features - |
||
|
|
9e1b635d34 |
refactor(oxlint/lsp): delay String Conversion for FixedContent to CodeAction properties (#26176)
**Before:** Converting `Fix` to `FixContent` did convert `Cow` into `String` and stored into the `ServerLinter.code_action` Map, to get requested later by the client, where we convert `FixContent` to `CodeAction` (where we need the `String` format) **After:** Consume directly `Fix` `Cow` fields, and delay to conversion to `String` until the `CodeAction` is requested to be converted. So only downside I see, is that `textDocument/codeAction` is requested more times than a `textDocument/diagnostic` request. So the conversion does happen more times, but get released quickly. |
||
|
|
8af5703b56 |
chore(oxlint/generate-config-types): remove unneeded DummyRule tsType mapping (#26206)
With the major update in https://github.com/oxc-project/oxc/pull/26193, this code does not do anything. Removing it. |
||
|
|
cd00a2c635 |
chore(oxlint): regenerate config types by cargo lintgen (#26195)
Follow up on #26193. (Also fixes main CI failures) `json-schema-to-typescript`: `^15.0.4` → `^16.0.0` changed the output. |
||
|
|
e412cf2ce3 |
fix(linter): clamp invalid JS plugin locations (#26144)
Follow-up to #26138, closes #25867. External plugins can report a node range past the source text. The default formatter rejects that invalid span and previously panicked. Clamp external diagnostic offsets to the source's UTF-16 length before normalizing reversed ranges. The end-to-end fixture now covers: - reversed locations - negative loc values - negative node ranges - an out-of-range node range in Unicode source text |
||
|
|
d86c1137c4 |
fix(linter): normalize reversed JS plugin locations (#26138)
## Summary - normalize reversed JS plugin diagnostic locations to empty spans at their stated start - add an end-to-end regression fixture for reversed `loc` positions https://github.com/oxc-project/oxc/issues/25867 |
||
|
|
7cec5f3f69 |
test(linter): cover unused directives with JS plugins in Vue (#26102)
## Summary
- Add an end-to-end regression fixture for unused disable directives in Vue files when a JavaScript plugin is enabled.
- Exercise the original #25892 source and snapshot the unused rule-name diagnostics instead of panicking.
## Testing
- Confirmed the same fixture aborts with the reported out-of-bounds panic on detached pre-fix commit
|
||
|
|
d5be0375e6 |
docs(linter/typescript/switch-exhaustiveness-check): clarify default case comment pattern (#26100)
## Summary - clarify that `defaultCaseCommentPattern` recognizes a trailing comment in place of an omitted `default` clause - document the required location, absence of a live `default`, and the `considerDefaultExhaustiveForUnions` requirement for union switches - regenerate the JSON schema and TypeScript configuration types Fixes #26087 |
||
|
|
3910e2b9b1 |
fix(linter/eslint/no-unassigned-vars): skip Svelte and Vue files (#26042)
## Summary Closes #26038. `no-unassigned-vars` is a `correctness` rule, so this fires by default with no config: ```svelte <script lang="ts"> let dialog: HTMLDialogElement; function openDialog() { dialog.showModal(); } </script> <dialog bind:this={dialog}>Hello</dialog> ``` ```text repro.svelte:2:7: warning eslint(no-unassigned-vars): 'dialog' is always 'undefined' because it's never assigned. ``` ## Why the rule cannot get this right today The rule's decision is `has_read && no reference is_write()`, taken over the symbol's references in the current script block. Oxlint reaches `.svelte`/`.vue` through `PartialLoader`, which extracts the `<script>` blocks and throws the markup away before parsing — so the template's write is not in the AST the rule sees, and no reference on `dialog` is ever a write. Every ingredient of the diagnostic is satisfied, and the diagnostic is still wrong: Svelte assigns the element to `dialog` on mount. The same shape exists in Vue, where a `<script setup>` `let` is a `setup-let` binding that `v-model="x"` and inline handlers such as `@click="x = 1"` compile to direct assignments against. This is not a matter of tightening the check — the write is in a part of the file the linter never parses. ## The change `prefer-const` hit exactly this and already skips both extensions ([#25148](https://github.com/oxc-project/oxc/pull/25148)): ```rust fn should_run(&self, ctx: &crate::context::ContextHost) -> bool { // ignore svelte/vue: their templates can reassign a binding, which we can't see. !ctx.file_extension().is_some_and(|ext| ext == "svelte" || ext == "vue") } ``` This applies the sibling rule's guard rather than inventing one, and documents it in the rule docs under an `#### Ignored Files` heading, matching `prefer-const`'s wording. `.astro` is deliberately **not** included: an Astro template renders a frontmatter binding but has no construct that writes back to it, so the false positive does not arise there. `prefer-const` drew the same line. ## Scope, stated honestly This trades a false positive for lost coverage: a genuinely unassigned variable inside a `.svelte`/`.vue` `<script>` block is no longer reported. That matches the precedent and the reporter's own request, and a `correctness` false positive that fires on the documented Svelte idiom costs more than the missed report. Restoring coverage needs template-aware analysis, which is the language-support effort tracked separately (#13017, #17991). ## Verification - `cargo test -p oxc_linter --lib` — **1254 passed, 0 failed**. - Two new tests, `test_svelte` and `test_vue`, cover the reported repro, `bind:value`, a two-`<script>` Svelte component, `v-model`, and an inline `@click` handler. - **Revert-checked:** with `should_run` removed and the tests kept, exactly those two tests fail and the rest pass. The failure output reproduces the reported diagnostic verbatim, including the `let shared` case from the two-script component — so the tests fail for the right reason, not because the fixture path changed. - `cargo clippy -p oxc_linter --lib --all-features` — no new findings (the two `FromIterator::from_iter` warnings are pre-existing, in `tsgolint.rs` and `lib.rs`). - `cargo fmt --check` clean. - The rule is not part of `docs_rule_pages.snap`, so the doc addition needs no snapshot regeneration. Built and tested on Windows with the `1.97.1-x86_64-pc-windows-gnu` toolchain rather than the pinned `1.98.0`, and with `RUSTFLAGS` overridden to drop the MSVC-only link args that `.cargo/config.toml` applies to every `target_os = "windows"` target. Nothing in the repository was changed for that. --- Written with AI assistance (Claude Code), reviewed and tested by me before submitting, per AGENTS.md. --------- Signed-off-by: hamodywe <iosapk.org@gmail.com> Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com> |
||
|
|
d5d3c76cf6 |
test(linter/plugins): skip ESLint Stylistic conformance test with invalid syntax (#26082)
#26076 updated Oxlint JS plugin conformance snapshots, revealing that one ESLint Stylistic test was failing. Turns out the cause was #25154 which (correctly) made it illegal for a `TSIndexSignature` to contain more than one parameter. The code in this test case is invalid. So just skip the test. |
||
|
|
047f7ca3b5 |
fix(linter/plugins): fix interaction between JS plugins and Vue rules (#26080)
While working on #26077, Claude spotted another related bug. JS plugins have to run last because they need to mutate the AST, and in the process they destroy the stored AST. For files with multiple sections (Vue, Astro, Svelte), we ran native rules then JS rules for each section in turn. That appeared fine - JS rules do run last. But the problem is that some rules e.g. `vue/valid-define-emits` also access _earlier_ sections. Because JS plugins already ran on those previous sections, their ASTs have been discarded already, leading to incorrect results. Instead, lint in 3 separate passes which each run on _all_ sections before going on to the next pass: 1. Native rules. 2. JS rules. 3. Unused directives. i.e.: - Before: section 1 native, section 1 JS, section 2 native, section 2 JS. - After: section 1 native, section 2 native, section 1 JS, section 2 JS. Unused directives check has to be in a separate final pass, as it requires both native rules and JS rules to have run before it. Looping over sections is cheap compared to the work that happens in each turn of the loops, so I very much doubt this has a measurable impact on perf. This change does have one visible effect: The order of diagnostics will change for multi-section files. Previously diagnostics would be output in section order, now they're in rule type (native/JS) order. I don't _think_ that matters. |
||
|
|
36ec0ef2ba |
test(linter/plugins): update conformance snapshot (#26076)
Conformance snapshots had got out of sync. At some point 1 test for ESLint Stylistic's `no-comma` rule has got broken (unclear when or how). This PR doesn't attempt to fix the bug, but just makes sure the snapshot matches reality. |
||
|
|
1c87f82a4e |
chore(deps): update oxc to ^0.147.0 (#26059)
This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Adoption](https://docs.renovatebot.com/merge-confidence/) | [Passing](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---|---|---| | [@oxc-project/types](https://oxc.rs) ([source](https://redirect.github.com/oxc-project/oxc/tree/HEAD/npm/oxc-types)) | [`^0.146.0` → `^0.147.0`](https://renovatebot.com/diffs/npm/@oxc-project%2ftypes/0.146.0/0.147.0) |  |  |  |  | | [oxc-parser](https://oxc.rs/docs/guide/usage/parser) ([source](https://redirect.github.com/oxc-project/oxc/tree/HEAD/napi/parser)) | [`^0.146.0` → `^0.147.0`](https://renovatebot.com/diffs/npm/oxc-parser/0.146.0/0.147.0) |  |  |  |  | --- ### Release Notes <details> <summary>oxc-project/oxc (oxc-parser)</summary> ### [`v0.147.0`](https://redirect.github.com/oxc-project/oxc/blob/HEAD/napi/parser/CHANGELOG.md#01470---2026-08-24) ##### 🐛 Bug Fixes - [`8a9bdbd`](https://redirect.github.com/oxc-project/oxc/commit/8a9bdbd) estree: Include decorators in `FormalParameterRest ` spans ([#​26021](https://redirect.github.com/oxc-project/oxc/issues/26021)) (camc314) </details> --- ### Configuration 📅 **Schedule**: (in timezone Asia/Shanghai) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/oxc-project/oxc). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC4zOS4wIiwidXBkYXRlZEluVmVyIjoiNDQuMzkuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> |
||
|
|
97e99b8548 |
release(apps): oxlint v1.80.0 && oxfmt v0.65.0 (#26045)
# Oxlint ### 🚀 Features - |
||
|
|
8a353a76e9 |
fix(linter/eslint/no-control-regex): refine help message text (#25996)
`eslint(no-control-regex)` correctly flags this regex
```ts
const fnKeyRe = /^(?:\x1b+)(O|N|\[|\[\[)(?:(\d+)(?:;(\d+))?([~^$])|(?:1;)?(\d+)?([a-zA-Z]))/
```
`'U+001B' is a control character.` and shows in help text, `help: Avoid
matching control characters in regular expressions. If intentional,
consider using a Unicode escape instead.`
but the help text is misleading, all forms of unicode escapes are also
flagged.
```ts
const a = /\x1b/;
const b = /\u001b/;
const c = /\u{1b}/u;
const d = /\u{001b}/u;
```
This behaviour is consistent with upstream eslint rule, just the help
text is misleading, so I have changed the help text to say to disable
this rule when its intentional
|
||
|
|
8a9bdbd6d8 |
fix(estree): include decorators in FormalParameterRest spans (#26021)
Serialize `FormalParameterRest` with its outer span so its range includes parameter decorators. Regenerate the raw-transfer deserializers and remove `sourceMapValidationDecorators.ts` from the ESTree mismatch baseline. Fixes #26011. |
||
|
|
32c2675084 |
chore(deps): update rust crates (#26024)
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [javascript-globals](https://redirect.github.com/oxc-project/javascript-globals) | workspace.dependencies | minor | `1.5.2` → `1.6.0` | | [papaya](https://redirect.github.com/ibraheemdev/papaya) | workspace.dependencies | patch | `0.2.4` → `0.2.5` | | [saphyr](https://redirect.github.com/saphyr-rs/saphyr) | workspace.dependencies | patch | `0.0.11` → `0.0.12` | | [similar](https://redirect.github.com/mitsuhiko/similar) | workspace.dependencies | minor | `3.1.2` → `3.2.0` | --- ### Release Notes <details> <summary>oxc-project/javascript-globals (javascript-globals)</summary> ### [`v1.6.0`](https://redirect.github.com/oxc-project/javascript-globals/blob/HEAD/CHANGELOG.md#160---2026-08-18) [Compare Source](https://redirect.github.com/oxc-project/javascript-globals/compare/javascript-globals-v1.5.2...javascript-globals-v1.6.0) ##### Added - add Bun globals ([#​275](https://redirect.github.com/oxc-project/javascript-globals/pull/275)) ##### Other - reduce Rust dev debug info ([#​271](https://redirect.github.com/oxc-project/javascript-globals/pull/271)) </details> <details> <summary>ibraheemdev/papaya (papaya)</summary> ### [`v0.2.5`](https://redirect.github.com/ibraheemdev/papaya/releases/tag/v0.2.5): 0.2.5 [Compare Source](https://redirect.github.com/ibraheemdev/papaya/compare/v0.2.4...v0.2.5) - Added the `fast-barrier` feature to allow opting out of process wide memory barriers, which can be expensive to initialize ([#​100](https://redirect.github.com/ibraheemdev/papaya/pull/100)). - Fixed a bug where blocking resizes could lead to deadlocks ([#​92](https://redirect.github.com/ibraheemdev/papaya/pull/92)). - `HashSet::retain` no longer takes a mutable reference ([#​101](https://redirect.github.com/ibraheemdev/papaya/pull/101)). </details> <details> <summary>saphyr-rs/saphyr (saphyr)</summary> ### [`v0.0.12`](https://redirect.github.com/saphyr-rs/saphyr/compare/v0.0.11...v0.0.12) [Compare Source](https://redirect.github.com/saphyr-rs/saphyr/compare/v0.0.11...v0.0.12) </details> <details> <summary>mitsuhiko/similar (similar)</summary> ### [`v3.2.0`](https://redirect.github.com/mitsuhiko/similar/blob/HEAD/CHANGELOG.md#320) [Compare Source](https://redirect.github.com/mitsuhiko/similar/compare/3.1.2...3.2.0) - Added structured, line-oriented three-way merging through `TextMerge`, with merge and diff3 conflict output, configurable labels and marker sizes, owned and borrowed inputs, byte output, and whitespace-insensitive comparison. - Added `WhitespaceMode` and `TextDiffConfig::whitespace_mode` for Git-style line comparisons that ignore changes in whitespace (`-b`) or all whitespace (`-w`). - Changed `Algorithm::Myers` to reduce unmatched/confusing records and use Git-style bounded, non-minimal splits on expensive searches, and added `Algorithm::RawMyers` for the previous shortest-edit-script behavior without output-changing heuristics. - Improved heuristics and performance for most algorithms other than LCS. - Improved large-input performance by avoiding quadratic Histogram scans. </details> --- ### Configuration 📅 **Schedule**: (in timezone Asia/Shanghai) - Branch creation - "before 10am on monday" - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://redirect.github.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://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/oxc-project/oxc). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC4zOS4wIiwidXBkYXRlZEluVmVyIjoiNDQuMzkuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Cameron Clark <cameron.clark@hey.com> |
||
|
|
7e2f193dc2 |
refactor(lsp): allow tools to send multiple ClientMessages (#25961)
> ## Pull request overview > > Refactors the language-server tool initialization/restart plumbing to support emitting multiple `ClientMessage`s (instead of a single optional message), so tools can surface more than one warning/error to the client during startup and config changes. > |
||
|
|
d5d575c1de |
chore(deps): update rust to v1.98.0 (#25945)
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [rust](https://rust-lang.org/) ([source](https://redirect.github.com/rust-lang/rust), [changelog](https://redirect.github.com/rust-lang/rust/blob/main/RELEASES.md)) | toolchain | minor | `1.97.1` → `1.98.0` | --- ### Configuration 📅 **Schedule**: (in timezone Asia/Shanghai) - Branch creation - "before 10am on monday" - 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://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/oxc-project/oxc). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC4zNS40IiwidXBkYXRlZEluVmVyIjoiNDQuMzUuNCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Cameron <cameron.clark@hey.com> |
||
|
|
1193c9dbaf |
chore(oxfmt): dogfood operator position at line start (#25937)
dogfood |
||
|
|
f7be7cc5d3 |
chore(deps): update dependency oxc-parser to ^0.146.0 (#25921)
This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Adoption](https://docs.renovatebot.com/merge-confidence/) | [Passing](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---|---|---| | [oxc-parser](https://oxc.rs/docs/guide/usage/parser) ([source](https://redirect.github.com/oxc-project/oxc/tree/HEAD/napi/parser)) | [`^0.145.0` → `^0.146.0`](https://renovatebot.com/diffs/npm/oxc-parser/0.145.0/0.146.0) |  |  |  |  | --- ### Configuration 📅 **Schedule**: (in timezone Asia/Shanghai) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR is behind base branch, 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://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/oxc-project/oxc). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC4zMy4yIiwidXBkYXRlZEluVmVyIjoiNDQuMzMuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> |
||
|
|
2878ee943b |
chore(deps): update dependency @oxc-project/types to ^0.146.0 (#25915)
This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Adoption](https://docs.renovatebot.com/merge-confidence/) | [Passing](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---|---|---| | [@oxc-project/types](https://oxc.rs) ([source](https://redirect.github.com/oxc-project/oxc/tree/HEAD/npm/oxc-types)) | [`^0.145.0` → `^0.146.0`](https://renovatebot.com/diffs/npm/@oxc-project%2ftypes/0.145.0/0.146.0) |  |  |  |  | --- ### Configuration 📅 **Schedule**: (in timezone Asia/Shanghai) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR is behind base branch, 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://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/oxc-project/oxc). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC4zMy4yIiwidXBkYXRlZEluVmVyIjoiNDQuMzMuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> |
||
|
|
82ebb48d68 |
chore(deps): update oxc to ^0.145.0 (#25878)
This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Adoption](https://docs.renovatebot.com/merge-confidence/) | [Passing](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---|---|---| | [@oxc-project/types](https://oxc.rs) ([source](https://redirect.github.com/oxc-project/oxc/tree/HEAD/npm/oxc-types)) | [`^0.144.0` → `^0.145.0`](https://renovatebot.com/diffs/npm/@oxc-project%2ftypes/0.144.0/0.145.0) |  |  |  |  | | [oxc-parser](https://oxc.rs/docs/guide/usage/parser) ([source](https://redirect.github.com/oxc-project/oxc/tree/HEAD/napi/parser)) | [`^0.144.0` → `^0.145.0`](https://renovatebot.com/diffs/npm/oxc-parser/0.144.0/0.145.0) |  |  |  |  | --- ### Release Notes <details> <summary>oxc-project/oxc (@​oxc-project/types)</summary> ### [`v0.145.0`](https://redirect.github.com/oxc-project/oxc/blob/HEAD/npm/oxc-types/CHANGELOG.md#01450---2026-08-18) ##### 🐛 Bug Fixes - [`0c68b7f`](https://redirect.github.com/oxc-project/oxc/commit/0c68b7f) estree: Emit `decorators` on `FormalParameterRest` ([#​25582](https://redirect.github.com/oxc-project/oxc/issues/25582)) (camc314) </details> <details> <summary>oxc-project/oxc (oxc-parser)</summary> ### [`v0.145.0`](https://redirect.github.com/oxc-project/oxc/blob/HEAD/napi/parser/CHANGELOG.md#01450---2026-08-18) ##### 🐛 Bug Fixes - [`db44651`](https://redirect.github.com/oxc-project/oxc/commit/db44651) napi: Disable reuseWorker in browser bindings ([#​25640](https://redirect.github.com/oxc-project/oxc/issues/25640)) (leaysgur) - [`0c68b7f`](https://redirect.github.com/oxc-project/oxc/commit/0c68b7f) estree: Emit `decorators` on `FormalParameterRest` ([#​25582](https://redirect.github.com/oxc-project/oxc/issues/25582)) (camc314) </details> --- ### Configuration 📅 **Schedule**: (in timezone Asia/Shanghai) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/oxc-project/oxc). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC4zMi42IiwidXBkYXRlZEluVmVyIjoiNDQuMzIuNiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> |
||
|
|
0db127cc16 |
release(apps): oxlint v1.79.0 && oxfmt v0.64.0 (#25866)
# Oxlint ### 💥 BREAKING CHANGES - |
||
|
|
228e8e0f85 |
fix(linter): resolve inactive React compiler rules (#25830)
Enable React Compiler memo dependency validation so `react/memo-dependencies` reports missing and extra values. Remove `react/gating` until Oxlint exposes compiler gating options. Validated with `just ready`. AI-assisted. |
||
|
|
c84ede371b |
perf(estree_tokens): share JS token update entry point (#25826)
Add a shared non-generic JS-style token update entry point so `oxc_linter` and `oxlint` do not each instantiate the ESTree token visitor. On `aarch64-apple-darwin`, `cargo build -p oxlint --release --features allocator` reduces the `oxlint` binary by 49,616 bytes (48.5 KiB, 0.39%), from 12,756,960 to 12,707,344 bytes. Validated with `just ready`. AI assistance was used for implementation and measurement. |
||
|
|
f0121edb71 |
perf(linter): share config deserialization entry point (#25820)
Share a non-generic JSON deserialization entry point across `oxc_linter` and `oxlint`, avoiding duplicate monomorphizations. Also deserialize well-known settings without deep-cloning the raw JSON value. Validated with `just ready`. AI assistance was used for implementation and measurement. |
||
|
|
aa49d86046 |
fix(linter): allow spread rule options in config types (#25675)
## Summary - represent variadic rule options as a severity followed by zero or more option values - regenerate the Oxlint configuration schema and TypeScript declarations - add a type-level regression for mapped options spread into `no-restricted-globals` ## Root cause The schema wrapper materialized the first `additionalItems` entry as a required tuple element and set `minItems` to 2. A dynamic TypeScript spread has type `T[]` and may be empty, so it cannot satisfy that required position even though the severity-only form is already valid through `RuleNoConfig`. Keeping severity as the only fixed tuple item and leaving the rule options in `additionalItems` generates `[severity, ...options]`, which accepts both an empty spread and populated spreads without changing runtime rule behavior. Closes #25666 ## AI assistance Implemented with assistance from OpenAI Codex. The contributor remains responsible for reviewing, understanding, and submitting the change under the repository AI usage policy. --------- Co-authored-by: Cameron <cameron.clark@hey.com> |
||
|
|
9ed10b728d |
perf(linter): use unstable sorts for unique keys (#25778)
Switches order-independent sorts to unstable sorting and avoids cloning rule-table plugin names. Reduces the stripped `oxlint` release binary from 12,773,568 to 12,757,040 bytes: 16,528 bytes (0.13%). Validated with `cargo test -p oxc_linter` and focused oxlint JSON checks. AI assistance was used for analysis and implementation. |
||
|
|
efebf4c824 |
chore(deps): update npm packages (#25753)
This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Adoption](https://docs.renovatebot.com/merge-confidence/) | [Passing](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---|---|---| | [@napi-rs/wasm-runtime](https://napi.rs/) ([source](https://redirect.github.com/napi-rs/napi-rs/tree/HEAD/wasm-runtime)) | [`1.2.2` → `1.2.3`](https://renovatebot.com/diffs/npm/@napi-rs%2fwasm-runtime/1.2.2/1.2.3) |  |  |  |  | | [@typescript-eslint/parser](https://typescript-eslint.io/packages/parser) ([source](https://redirect.github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser)) | [`8.66.0` → `8.67.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2fparser/8.66.0/8.67.0) |  |  |  |  | | [@typescript-eslint/scope-manager](https://typescript-eslint.io/packages/scope-manager) ([source](https://redirect.github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/scope-manager)) | [`8.66.0` → `8.67.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2fscope-manager/8.66.0/8.67.0) |  |  |  |  | | [@typescript-eslint/visitor-keys](https://typescript-eslint.io) ([source](https://redirect.github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/visitor-keys)) | [`8.66.0` → `8.67.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2fvisitor-keys/8.66.0/8.67.0) |  |  |  |  | | [degit](https://redirect.github.com/Rich-Harris/degit) | [`3.6.6` → `3.7.0`](https://renovatebot.com/diffs/npm/degit/3.6.6/3.7.0) |  |  |  |  | | [eslint](https://eslint.org) ([source](https://redirect.github.com/eslint/eslint)) | [`10.8.0` → `10.8.1`](https://renovatebot.com/diffs/npm/eslint/10.8.0/10.8.1) |  |  |  |  | | [serialize-javascript](https://redirect.github.com/yahoo/serialize-javascript) | [`7.0.7` → `7.1.0`](https://renovatebot.com/diffs/npm/serialize-javascript/7.0.7/7.1.0) |  |  |  |  | | [svelte](https://svelte.dev) ([source](https://redirect.github.com/sveltejs/svelte/tree/HEAD/packages/svelte)) | [`5.56.8` → `5.56.9`](https://renovatebot.com/diffs/npm/svelte/5.56.8/5.56.9) |  |  |  |  | | [tsx](https://tsx.hirok.io) ([source](https://redirect.github.com/privatenumber/tsx)) | [`4.23.9` → `4.23.12`](https://renovatebot.com/diffs/npm/tsx/4.23.9/4.23.12) |  |  |  |  | --- ### Release Notes <details> <summary>napi-rs/napi-rs (@​napi-rs/wasm-runtime)</summary> ### [`v1.2.3`](https://redirect.github.com/napi-rs/napi-rs/blob/HEAD/wasm-runtime/CHANGELOG.md#123-2026-08-12) [Compare Source](https://redirect.github.com/napi-rs/napi-rs/compare/@napi-rs/wasm-runtime@1.2.2...@napi-rs/wasm-runtime@1.2.3) ##### Bug Fixes - **cli:** compatible with emnapi v1 & v2 ([#​3454](https://redirect.github.com/napi-rs/napi-rs/issues/3454)) ([aeba312](https://redirect.github.com/napi-rs/napi-rs/commit/aeba31217201e96435848fd17055478ff7cf8b98)) - **deps:** update emnapi to v2.0.0-alpha.4 ([#​3451](https://redirect.github.com/napi-rs/napi-rs/issues/3451)) ([b8ba732](https://redirect.github.com/napi-rs/napi-rs/commit/b8ba732c4611a54dde09dfe3da750f50726b51d9)) </details> <details> <summary>typescript-eslint/typescript-eslint (@​typescript-eslint/parser)</summary> ### [`v8.67.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#8670-2026-08-10) [Compare Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.66.0...v8.67.0) This was a version bump only for parser to align it with other projects, there were no code changes. See [GitHub Releases](https://redirect.github.com/typescript-eslint/typescript-eslint/releases/tag/v8.67.0) for more information. You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. </details> <details> <summary>typescript-eslint/typescript-eslint (@​typescript-eslint/scope-manager)</summary> ### [`v8.67.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/scope-manager/CHANGELOG.md#8670-2026-08-10) [Compare Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.66.0...v8.67.0) This was a version bump only for scope-manager to align it with other projects, there were no code changes. See [GitHub Releases](https://redirect.github.com/typescript-eslint/typescript-eslint/releases/tag/v8.67.0) for more information. You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. </details> <details> <summary>typescript-eslint/typescript-eslint (@​typescript-eslint/visitor-keys)</summary> ### [`v8.67.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/visitor-keys/CHANGELOG.md#8670-2026-08-10) [Compare Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.66.0...v8.67.0) This was a version bump only for visitor-keys to align it with other projects, there were no code changes. See [GitHub Releases](https://redirect.github.com/typescript-eslint/typescript-eslint/releases/tag/v8.67.0) for more information. You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. </details> <details> <summary>Rich-Harris/degit (degit)</summary> ### [`v3.7.0`](https://redirect.github.com/Rich-Harris/degit/compare/v3.6.6...v3.7.0) [Compare Source](https://redirect.github.com/Rich-Harris/degit/compare/v3.6.6...v3.7.0) </details> <details> <summary>eslint/eslint (eslint)</summary> ### [`v10.8.1`](https://redirect.github.com/eslint/eslint/releases/tag/v10.8.1) [Compare Source](https://redirect.github.com/eslint/eslint/compare/v10.8.0...v10.8.1) #### Bug Fixes - [`18eb0a7`](https://redirect.github.com/eslint/eslint/commit/18eb0a7e787b9fac3049ef3dad0e845d2bd940a4) fix: prevent ASI hazard in `no-unused-labels` autofix ([#​21173](https://redirect.github.com/eslint/eslint/issues/21173)) (dongkyu lee) - [`151ba3f`](https://redirect.github.com/eslint/eslint/commit/151ba3f5834a0909e8b9b1736f4889ac694c0104) fix: false positives in `getter-return` and `accessor-pairs` ([#​21163](https://redirect.github.com/eslint/eslint/issues/21163)) (Grit) - [`6898df9`](https://redirect.github.com/eslint/eslint/commit/6898df9364639ee64b9448a4cb6b08a30c16bd37) fix: ignore meta-property names in `id-denylist` ([#​21166](https://redirect.github.com/eslint/eslint/issues/21166)) (Pixel) - [`4d7db66`](https://redirect.github.com/eslint/eslint/commit/4d7db6628e2badf0857cb88734fe641c3874bce9) fix: ignore meta-property names in `id-match` ([#​21167](https://redirect.github.com/eslint/eslint/issues/21167)) (Pixel) - [`677214e`](https://redirect.github.com/eslint/eslint/commit/677214e7eea83d8bc6e4b79eea871577e1369d5f) fix: handle ASI hazards in no-unused-vars removeVar suggestion ([#​20935](https://redirect.github.com/eslint/eslint/issues/20935)) (kuldeep kumar) #### Documentation - [`7d0cbf8`](https://redirect.github.com/eslint/eslint/commit/7d0cbf81cfdb7526b5c4cb7b222ddc7f257db560) docs: Update README (GitHub Actions Bot) - [`0a05812`](https://redirect.github.com/eslint/eslint/commit/0a05812adb12598b32e85297b98df5ad14501d60) docs: add missing backticks to `no-duplicate-imports.js` ([#​21183](https://redirect.github.com/eslint/eslint/issues/21183)) (Lee Daeun) - [`678c90b`](https://redirect.github.com/eslint/eslint/commit/678c90b55da2889d4400cbf6e2584ab683faf202) docs: Update README (GitHub Actions Bot) - [`8a10424`](https://redirect.github.com/eslint/eslint/commit/8a104242e8e1c5614940fab7324346974cff7d26) docs: Update README (GitHub Actions Bot) - [`69bb948`](https://redirect.github.com/eslint/eslint/commit/69bb948061105426dbe6e3c931fcda783286e020) docs: Update README (GitHub Actions Bot) #### Chores - [`0a14800`](https://redirect.github.com/eslint/eslint/commit/0a148005051fded2ef1d14cc228ae505251b4b10) chore: update github/codeql-action action to v4.37.4 ([#​21196](https://redirect.github.com/eslint/eslint/issues/21196)) (renovate\[bot]) - [`05adcb1`](https://redirect.github.com/eslint/eslint/commit/05adcb13542061dc7fadde5cd58d23d405a96d93) test: fix failing ecosystem test for `eslint-plugin-unicorn` ([#​21191](https://redirect.github.com/eslint/eslint/issues/21191)) (Lazizbek Ergashev) - [`5611035`](https://redirect.github.com/eslint/eslint/commit/56110356652dd614b3cf0933538abb551fc6bd6f) test: add error locations info to `no-void` ([#​21185](https://redirect.github.com/eslint/eslint/issues/21185)) (Lee Daeun) - [`ee47333`](https://redirect.github.com/eslint/eslint/commit/ee47333aa681cfc3cb54df08c38f211ea219cc2a) ci: bump github/codeql-action from 4 to 4.37.3 ([#​21176](https://redirect.github.com/eslint/eslint/issues/21176)) (dependabot\[bot]) - [`f131c03`](https://redirect.github.com/eslint/eslint/commit/f131c034ad91bbf06bcbb6b5e931447a8e419a46) chore: improve ecosystem test failure reporting ([#​20937](https://redirect.github.com/eslint/eslint/issues/20937)) (crimsonjay0) - [`1f6edde`](https://redirect.github.com/eslint/eslint/commit/1f6eddee609b369b50993eab08d437dda4700991) chore: update ecosystem plugins ([#​21182](https://redirect.github.com/eslint/eslint/issues/21182)) (ESLint Bot) - [`d3266fb`](https://redirect.github.com/eslint/eslint/commit/d3266fb26c719c6b90a6cbe54bb120c9335ad19c) chore: unpin `webpack` dependency ([#​21172](https://redirect.github.com/eslint/eslint/issues/21172)) (Francesco Trotta) - [`65a6519`](https://redirect.github.com/eslint/eslint/commit/65a6519cc8733b4688558a8611397cf9d01dd55d) chore: add allowScripts field to package.json ([#​21092](https://redirect.github.com/eslint/eslint/issues/21092)) (GiHoon Noh) - [`22e5256`](https://redirect.github.com/eslint/eslint/commit/22e52568536e0009d4493dc888736bc163220c4b) ci: add `triage:no` label to Dependabot PRs ([#​21141](https://redirect.github.com/eslint/eslint/issues/21141)) (lumir) - [`55c9038`](https://redirect.github.com/eslint/eslint/commit/55c9038836c91b6bd5617f0c97bea2274c9cc0bf) ci: bump actions/labeler from 6 to 7 ([#​21159](https://redirect.github.com/eslint/eslint/issues/21159)) (dependabot\[bot]) - [`7280e78`](https://redirect.github.com/eslint/eslint/commit/7280e78183d4711a49916b6a49ba5efaa651a991) chore: update dependency prettier to v3.9.6 ([#​21162](https://redirect.github.com/eslint/eslint/issues/21162)) (renovate\[bot]) - [`eddbad6`](https://redirect.github.com/eslint/eslint/commit/eddbad60158d8cda86830fbe934a9d2282273b32) test: fix failing ecosystem test for `eslint-plugin-unicorn` ([#​21156](https://redirect.github.com/eslint/eslint/issues/21156)) (Francesco Trotta) - [`60a178d`](https://redirect.github.com/eslint/eslint/commit/60a178d5ef1b0c471be0831031ed7347f8f81dc2) chore: update ecosystem plugins ([#​21150](https://redirect.github.com/eslint/eslint/issues/21150)) (ESLint Bot) - [`f9f61dc`](https://redirect.github.com/eslint/eslint/commit/f9f61dc6112836f46a58a410c38b8c2faf10973f) test: add error locations to `no-unreachable` ([#​21151](https://redirect.github.com/eslint/eslint/issues/21151)) (JIYEON) - [`d086293`](https://redirect.github.com/eslint/eslint/commit/d08629382b0a6aaa042823b796e5100e60053b54) test: add error locations to `no-undef` ([#​21147](https://redirect.github.com/eslint/eslint/issues/21147)) (JIYEON) - [`cc01b67`](https://redirect.github.com/eslint/eslint/commit/cc01b67061bbf558aa25746883ea1cad847f7cf2) test: add error locations to `no-useless-catch` ([#​21144](https://redirect.github.com/eslint/eslint/issues/21144)) (devoil) - [`688e75e`](https://redirect.github.com/eslint/eslint/commit/688e75ede01b295d51f2f86c9d82da020a4c887e) chore: add missing backticks in JSDoc ([#​21143](https://redirect.github.com/eslint/eslint/issues/21143)) (Bo Hyun Kim) - [`7c1e175`](https://redirect.github.com/eslint/eslint/commit/7c1e17543ad396f50f65b003cf9142d43d3c63b0) test: add error locations to `require-await` ([#​21145](https://redirect.github.com/eslint/eslint/issues/21145)) (Grit) - [`588a26d`](https://redirect.github.com/eslint/eslint/commit/588a26ddce3c5a20f5b3f3d51ba1353cce7b4b0c) test: add error locations to `no-extra-label` ([#​21139](https://redirect.github.com/eslint/eslint/issues/21139)) (dongkyu lee) - [`059aa89`](https://redirect.github.com/eslint/eslint/commit/059aa895743639e3ab53d14f9d944ff4be042233) test: add error locations to `no-useless-concat` ([#​21140](https://redirect.github.com/eslint/eslint/issues/21140)) (dongkyu lee) - [`5a452a8`](https://redirect.github.com/eslint/eslint/commit/5a452a8ba53917d65c9d83c3959ed35c2f890613) test: add error locations to `no-const-assign` ([#​21138](https://redirect.github.com/eslint/eslint/issues/21138)) (dongkyu lee) </details> <details> <summary>yahoo/serialize-javascript (serialize-javascript)</summary> ### [`v7.1.0`](https://redirect.github.com/yahoo/serialize-javascript/releases/tag/v7.1.0) [Compare Source](https://redirect.github.com/yahoo/serialize-javascript/compare/v7.0.7...v7.1.0) #### What's Changed - feat: add Node.js 26 to test matrix by [@​okuryu](https://redirect.github.com/okuryu) in [#​224](https://redirect.github.com/yahoo/serialize-javascript/pull/224) - release: v7.1.0 by [@​okuryu](https://redirect.github.com/okuryu) in [#​225](https://redirect.github.com/yahoo/serialize-javascript/pull/225) **Full Changelog**: <https://github.com/yahoo/serialize-javascript/compare/v7.0.7...v7.1.0> </details> <details> <summary>sveltejs/svelte (svelte)</summary> ### [`v5.56.9`](https://redirect.github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5569) [Compare Source](https://redirect.github.com/sveltejs/svelte/compare/svelte@5.56.8...svelte@5.56.9) ##### Patch Changes - fix: skip controlled each fast path while another batch is pending ([#​18625](https://redirect.github.com/sveltejs/svelte/pull/18625)) - fix: better whitespace handling inside printer ([#​18638](https://redirect.github.com/sveltejs/svelte/pull/18638)) - fix: don't duplicate comments in attributes ([#​18636](https://redirect.github.com/sveltejs/svelte/pull/18636)) - fix: preserve CSS comments in the AST printer ([#​18637](https://redirect.github.com/sveltejs/svelte/pull/18637)) </details> <details> <summary>privatenumber/tsx (tsx)</summary> ### [`v4.23.12`](https://redirect.github.com/privatenumber/tsx/releases/tag/v4.23.12) [Compare Source](https://redirect.github.com/privatenumber/tsx/compare/v4.23.11...v4.23.12) ##### Bug Fixes - shim `import.meta` when tokens are split by comments or newlines ([#​829](https://redirect.github.com/privatenumber/tsx/issues/829)) ([ed9d330](https://redirect.github.com/privatenumber/tsx/commit/ed9d33046a135de13a35fdfce12368b79d1b1518)), closes [#​828](https://redirect.github.com/privatenumber/tsx/issues/828) *** This release is also available on: - [npm package (@​latest dist-tag)](https://www.npmjs.com/package/tsx/v/4.23.12) ### [`v4.23.11`](https://redirect.github.com/privatenumber/tsx/compare/v4.23.10...bd3bc6448e957c1172eb91a0584ec7fec2d6a7ad) [Compare Source](https://redirect.github.com/privatenumber/tsx/compare/v4.23.10...v4.23.11) ### [`v4.23.10`](https://redirect.github.com/privatenumber/tsx/releases/tag/v4.23.10) [Compare Source](https://redirect.github.com/privatenumber/tsx/compare/v4.23.9...v4.23.10) ##### Bug Fixes - support nyc coverage discovery ([#​710](https://redirect.github.com/privatenumber/tsx/issues/710)) ([ec1bcd5](https://redirect.github.com/privatenumber/tsx/commit/ec1bcd5f711e5159b67cb0aea211f06cf2cfce8a)) *** This release is also available on: - [npm package (@​latest dist-tag)](https://www.npmjs.com/package/tsx/v/4.23.10) </details> --- ### Configuration 📅 **Schedule**: (in timezone Asia/Shanghai) - Branch creation - "before 10am on monday" - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://redirect.github.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://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/oxc-project/oxc). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC4yOS41IiwidXBkYXRlZEluVmVyIjoiNDQuMjkuNSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Cameron <cameron.clark@hey.com> |
||
|
|
9c6f1912b5 |
chore(deps): update rust crates (#25756)
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [futures](https://rust-lang.github.io/futures-rs) ([source](https://redirect.github.com/rust-lang/futures-rs)) | workspace.dependencies | patch | `0.3.33` → `0.3.34` | | [handlebars](https://redirect.github.com/sunng87/handlebars-rust) | workspace.dependencies | patch | `6.4.3` → `6.4.4` | | [javascript-globals](https://redirect.github.com/oxc-project/javascript-globals) | workspace.dependencies | patch | `1.5.1` → `1.5.2` | --- ### Release Notes <details> <summary>rust-lang/futures-rs (futures)</summary> ### [`v0.3.34`](https://redirect.github.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0334---2026-08-11) [Compare Source](https://redirect.github.com/rust-lang/futures-rs/compare/0.3.33...0.3.34) - Preserve cloned waker identity. ([#​3032](https://redirect.github.com/rust-lang/futures-rs/issues/3032)) - Updato `syn` to 3. ([#​3028](https://redirect.github.com/rust-lang/futures-rs/issues/3028)) </details> <details> <summary>sunng87/handlebars-rust (handlebars)</summary> ### [`v6.4.4`](https://redirect.github.com/sunng87/handlebars-rust/blob/HEAD/CHANGELOG.md#644---2026-08-12) [Compare Source](https://redirect.github.com/sunng87/handlebars-rust/compare/v6.4.3...v6.4.4) - \[Changed] We have to revert `preserve_json_order` as a default feature. Users who need this can still enable it for handlebars-rust, or enable `preserve_order` for you serde\_json. </details> <details> <summary>oxc-project/javascript-globals (javascript-globals)</summary> ### [`v1.5.2`](https://redirect.github.com/oxc-project/javascript-globals/blob/HEAD/CHANGELOG.md#152---2026-08-13) [Compare Source](https://redirect.github.com/oxc-project/javascript-globals/compare/javascript-globals-v1.5.1...javascript-globals-v1.5.2) ##### Other - Auto update globals from upstream ([#​268](https://redirect.github.com/oxc-project/javascript-globals/pull/268)) - Auto update globals from upstream ([#​265](https://redirect.github.com/oxc-project/javascript-globals/pull/265)) - Auto update globals from upstream ([#​261](https://redirect.github.com/oxc-project/javascript-globals/pull/261)) - *(deps)* update rust crate serde\_json to v1.0.151 ([#​259](https://redirect.github.com/oxc-project/javascript-globals/pull/259)) - *(deps)* update rust crate serde to v1.0.229 ([#​256](https://redirect.github.com/oxc-project/javascript-globals/pull/256)) - update sponsor section - *(deps)* update rust crate rustc-hash to v2.1.3 ([#​247](https://redirect.github.com/oxc-project/javascript-globals/pull/247)) - standardize rustfmt config - normalize README sponsor section - add crates environment to release workflow </details> --- ### Configuration 📅 **Schedule**: (in timezone Asia/Shanghai) - Branch creation - "before 10am on monday" - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://redirect.github.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://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/oxc-project/oxc). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC4yOS41IiwidXBkYXRlZEluVmVyIjoiNDQuMjkuNSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Cameron <cameron.clark@hey.com> |
||
|
|
892238149b |
refactor(linter): remove inactive react config rule (#25740)
Remove the inactive `react/config` rule and its generated metadata. Oxlint uses fixed, valid React Compiler options, so the rule cannot produce actionable diagnostics. AI-assisted: Codex was used to implement and validate this change. |