Table of Contents
- Oxlint v1.73.0
- Oxfmt v0.58.0
Oxlint v1.73.0
π Features
- 7db7a29 allocator: Add
ReplaceWithtrait (#24012) (overlookmotel) - a2c97f3 linter/unicorn: Implement
explicit-timer-delayrule (#23612) (Mikhail Baev) - 85735cb linter/unicorn: Implement
no-confusing-array-withrule (#23638) (ShekhuβΊοΈ) - cb4fbb9 linter/eslint: Implement no-unreachable-loop rule (#23975) (Todor Andonov)
- dc32112 linter/eslint/no-constant-binary-expression: Check relational comparisons (#24088) (camc314)
- 439c344 linter/jsdoc: Added missing options to
jsdoc/require-paramrule (#23364) (kapobajza) - 62af717 linter/unicorn/filename-case: Add
lowercaseandscreamingSnakeCase(#24045) (Boshen) - d963967 linter/unicorn/no-array-sort: Add
allowAfterSpreadoption (#24043) (Boshen) - 0a75682 linter: Add per-rule timings for type-aware linting (#22488) (camchenry)
- 743e222 linter/react: Add
disallowedValuesoption forforbid-dom-propsrule (#23970) (Mikhail Baev)
π Bug Fixes
- 7b80010 linter: Use direct binding symbol ids (#24216) (camc314)
- 8f94b49 linter/import/no-duplicates: Don't flag a type-only import beside a side-effect import (#24030) (Boshen)
- d8c3fee linter/react/rules-of-hooks: Flag
useEffectEventescapes (#23764) (Rayan Salhab) - 0a7312b linter/no-deprecated-functions: Map
require.requireActualtojest.requireActual(#23627) (Jerry Zhao) - d9e3ab3 linter/eslint/no-useless-return: Handle switch case continuation (#23984) (camc314)
- 0b25582 ast: Type binding node
typeAnnotationasTSTypeAnnotation | null(#23113) (Boshen) - 122d112 linter/eslint/no-restricted-imports: Flag dynamic import() expressions (#24029) (Boshen)
- 59b6b83 linter: Avoid
OnceLockre-entry on cyclicexport *re-exports (#23632) (Jerry Zhao) - dd09af0 linter/import/namespace: Avoid panic on destructuring of an unresolvable namespace re-export (#23626) (Jerry Zhao)
- bdb51c7 linter/jest/prefer-ending-with-an-expect: Validate config patterns (#24122) (camc314)
- e383843 linter/unicorn/prefer-modern-dom-apis: Skip fixer for non identifier arguments (#23630) (Jerry Zhao)
- 0ac4c83 linter: Detect circular config extends (#24115) (camc314)
- bae1edf linter/import/namespace: Check namespace imports after named imports (#24094) (camc314)
- cd8fdfe linter/eslint/no-eval: Recognize Array.from family thisArg (#24091) (camc314)
- 851ee43 linter/eslint/no-eval: Resolve this binding for functions returned from an IIFE (#23643) (Jerry Zhao)
- 002ab35 linter/unicorn: Avoid prefer-array-find rest destructuring false positive (#23654) (ColemanDunn)
- 01c8775 linter/unicorn/filename-case: Keep digits attached in screamingSnakeCase (#24056) (Boshen)
- f256941 linter: Recognize
@effect/vitestas a vitest import source (#24025) (Boshen) - 73eeb1d linter/import/extensions: Honor per-extension
neverfor explicit extensions (#24031) (Boshen) - d4ebe1f linter: Reject non-object oxlint config files (#24026) (Boshen)
- 45d607d linter/react/forbid-component-props: Make allow/disallow lists optional in schema (#24024) (Boshen)
- 54076ad linter/unicorn/no-array-for-each: Suggest entries loop for index callbacks (#24004) (camc314)
- d057736 linter/jsdoc: Avoid param root underflow (#23945) (camc314)
- 29c76bf linter/unicorn/prefer-at: Skip object numeric-key access (#23909) (Gaurav Dubey)
β‘ Performance
- 657a8fc linter/oxc/bad-array-method-on-arguments: Only run on member expressions instead of all identifiers (#24164) (camchenry)
- 073d9e7 linter/eslint/prefer-rest-params: Run on functions instead of all identifiers (#24163) (camchenry)
- e5a4162 linter/jest/no-confusing-set-timeout: Early exit fast path (#24092) (camc314)
- bca7ce5 linter: Only run react-perf rules on JSX attribute nodes (#24083) (camchenry)
- 6881bf6 linter: Compute
apply_overridesrule set lazily (#23648) (Jerry Zhao) - 911c106 linter/eslint/no-obj-calls: Use resolved reference instead of scope walk (#23895) (Marius Schulz)
- dc8fd9a linter/unicorn/prefer-dom-node-text-content: Change dispatch to run only on less common node types (#23897) (Connor Shea)
- fdbd34d linter/eslint/no-useless-call: Fast-path static callees (#24077) (camc314)
- b1be114 linter/import/extensions: Skip empty config and borrow extensions (#24075) (camc314)
- 4781b2d linter/eslint/no-obj-calls: Use direct global matches (#24076) (camc314)
- e6cee89 linter: Avoid node-chain allocation for non-Jest calls (#23907) (Yagiz Nizipli)
- 30dc517 linter/typescript/no-restricted-types: O(1) banned-type lookups (#23827) (Yagiz Nizipli)
π Documentation
Oxfmt v0.58.0
π Features
- 4f4313e formatter_css: Update oxc-css-parser 0.0.5 (#24120) (leaysgur)
- 0ccd8a1 formatter_graphql: Update oxc-graphql-parser 0.0.5 (#24106) (leaysgur)
- 89ec3d9 formatter_core: Add literal line and root indention primitives (#24051) (leaysgur)
- 213a96b formatter_core: Add no-expand-parent for multiline text (#24050) (leaysgur)
- 0e5bcc9 formatter_graphql: Update oxc-graphql-parser 0.0.4 (#24039) (leaysgur)
- e0b35a1 formatter_css: Update
oxc-css-parser@0.0.3(#23974) (leaysgur)
π Bug Fixes
- 1fe6546 formatter: Omit unneeded
;for type members withno-semi(#24212) (leaysgur) - 0ad7316 formatter: Print space for
ForStatement.updateonly if exists (#24211) (leaysgur) - 3abbed5 formatter: Print
;before jsdoc type-cast parens with no-semi (#24208) (leaysgur) - 9af3833 formatter_css: Make scss formatter consistent (#24207) (leaysgur)
- 46d7194 formatter_css: Use fill IR for
@forwardmembers (#24206) (leaysgur) - e31038f formatter_css: Keep comment inside sass config list (#24205) (leaysgur)
- d3b9591 formatter: Add parens around
await/yieldwith<T>(#24202) (leaysgur) - 2121a55 oxfmt: Reuse tinypool process during the same LSP process (#24197) (leaysgur)
- 9bf4b4a formatter_css: Align CSS output to Prettier 3.9.1 (#24100) (leaysgur)
- cd2452e formatter_css: Align SCSS output to Prettier 3.9.1 (#24097) (leaysgur)
- 4ee8745 formatter_css: Keep selector value contain line-break without breaking line (#24055) (leaysgur)
- e1ece97 formatter_graphql: Break
implementslist by print-width (#23997) (leaysgur) - 0a6b16c formatter_json: Preserve key and literal value for json-stringify (#23996) (leaysgur)
- 903ab6e formatter_css: Preserve newlines in css-in-js selector list (#23992) (leaysgur)
- ea5d095 oxfmt: Update
--migrate prettier(#23963) (leaysgur)