Tags: absidue/oxc
Tags
release(apps): oxlint v1.60.0 && oxfmt v0.45.0 (oxc-project#21375) # Oxlint ### 💥 BREAKING CHANGES - 382958a span: [**BREAKING**] Remove re-exports of string types from `oxc_span` crate (oxc-project#21246) (overlookmotel) - c4aedfa str: [**BREAKING**] Add `static_ident!` macro (oxc-project#21245) (overlookmotel) - 7354f3c linter: [**BREAKING**] Error on no matched files (oxc-project#21144) (camc314) ### 🚀 Features - 91f2c79 linter/eslint-jest-plugin: Implemented `prefer-importing-jest-globals` rule (oxc-project#21303) (Said Atrahouch) - a02f32c linter: Add release version for existing rules (oxc-project#21363) (camchenry) - b9e93da linter: Allow tagging rules with release version (oxc-project#21362) (camchenry) - f99ecda oxlint: Gate `vite.config.ts` recognition behind `VP_VERSION` env var (oxc-project#21298) (leaysgur) - cf459d3 linter: Implement suggestion for `no-empty-function` rule (oxc-project#21347) (Mikhail Baev) - 7213d61 linter: Adding pending suggestions fix to `valid_expect` rules. (oxc-project#21249) (Said Atrahouch) - ae45312 linter: Introduce `--type-check-only` flag (oxc-project#21184) (camc314) - 1ce8b90 linter: Implemented `valid-expect-in-promise` vitest and jest rule (oxc-project#21170) (Said Atrahouch) - 39f7fda linter: Add auto-fix to `unicorn/prefer-default-parameters` (oxc-project#21166) (yefan) - 15574bc linter/unicorn: Implement consistent-template-literal-escape (oxc-project#21126) (AliceLanniste) - c5c8c03 linter/prefer-readonly-parameter-types: Move rule from nursery to pedantic (oxc-project#21114) (camc314) - 1893be1 linter/no-useless-default-assignment: Move rule from nursery to correctness (oxc-project#21113) (camc314) - 5462ff9 linter/strict-void-return: Move rule from nursery to pedantic (oxc-project#21115) (camc314) - c2989bd linter/no-unnecessary-type-parameters: Move rule from nursery to suspicious (oxc-project#21112) (camc314) - 79d339a linter/no-unnecessary-qualifier: Move rule from nursery to style (oxc-project#21111) (camc314) ### 🐛 Bug Fixes - b577efc linter/unicorn: Handle optional chaining in `prefer-array-flat` and `no-invalid-remove-event-listener` (oxc-project#21299) (Mikhail Baev) - 5e55735 oxlint/lsp: Skip .git directories in LSP walkers (oxc-project#21316) (camc314) - ec7f6ed oxlint, oxfmt: Apply `check_for_writer_error` to `.flush()` (oxc-project#21343) (Craig Morrison) - a17a08a linter/no-useless-assignment: Handle continue edges in loop analysis (oxc-project#21358) (camc314) - a0eac12 linter/array-type: Move match to first stmt (oxc-project#21357) (camc314) - 1b3abc3 linter: Exclude boundary tokens from JSXText whitespace check in isSpaceBetweenTokens (oxc-project#21313) (bab) - ecbcf5e linter: More info to summary output for GitHub formatter (oxc-project#21330) (Théo LUDWIG) - a0a8c62 linter/no-fallthrough: Check from start of switch case for empty lines (oxc-project#21324) (Josh Cartmell) - 36f0bc4 linter/no-cycle: Report all cyclic dependencies inside a file (oxc-project#21259) (camc314) - 3f80536 linter: Ignore regex flags other than `g`/`u`/`v` in `prefer-string-replace-all` (oxc-project#21203) (bab) - f21d3aa linter/unicorn: Report on optional in `require-number-to-fixed-digits-argument` rule (oxc-project#21207) (Mikhail Baev) - af8e122 linter: Render each config error as a separate diagnostic (oxc-project#21120) (bab) - a950f55 linter/unicorn: Do not report on optionals in `no-single-promise-in-promise-methods` (oxc-project#21157) (Mikhail Baev) - 472f8ee linter: Mark complete comment for unused disable directives + lsp fix (oxc-project#21092) (copilot-swe-agent) - edd0865 linter/no-array-index-key: False positive when index is inside an expression within a template literal (oxc-project#21123) (bab) - 7e8d520 linter/unicorn: Report on optional `foo?.postMessage` in `require-post-message-target-origin` rule (oxc-project#21104) (Mikhail Baev) ### ⚡ Performance - addcd02 napi/parser, linter/plugins: Raw transfer deserializer for `Vec`s use shift instead of multiply where possible (oxc-project#21142) (overlookmotel) - 3068ded napi/parser, linter/plugins: Shift before add when calculating positions in raw transfer deserializer (oxc-project#21141) (overlookmotel) - eb400b8 napi/parser, linter/plugins: Remove `uint32` buffer view (oxc-project#21140) (overlookmotel) - 7a86613 linter/plugins: Use `Int32Array`s for tokens and comments buffers (oxc-project#21136) (overlookmotel) - 8c51121 napi/parser, linter/plugins: Raw transfer deserialize `Span` fields as `i32`s (oxc-project#21135) (overlookmotel) - bc1bcdd napi/parser, linter/plugins: Inline trivial raw transfer field deserializers into node object definitions (oxc-project#21134) (overlookmotel) - c0278ab napi/parser, linter/plugins: Use `Int32Array` in raw transfer deserializer (oxc-project#21132) (overlookmotel) - 43482c7 linter/plugins: Use `>>` not `>>>` in binary search loops (oxc-project#21129) (overlookmotel) ### 📚 Documentation - 7888280 linter: Move config docs for `no-restricted-exports` (oxc-project#21360) (camchenry) - 162d26c linter: Improve docs for `typescript/array-type` (oxc-project#21356) (camchenry) - a2dbaec linter: Add missing docs for options for `typescript/class-literal-property-style` (oxc-project#21355) (camchenry) - 79593eb linter: Improve docs for `typescript/consistent-type-assertions` (oxc-project#21353) (camchenry) - f9d20d2 linter: Move config option docs for `typescript/no-empty-object-type` (oxc-project#21352) (camchenry) - a8f650d linter: Add missing config option docs for `prefer-string-start-ends-with` (oxc-project#21332) (camchenry) - cfd8a4f linter: Don't rely on old eslint doc for available globals (oxc-project#21334) (Nicolas Le Cam) - 03865fa linter: Jest/prefer-snapshot-hint: add doc comment for snapshot hint mode (oxc-project#21290) (camchenry) - a6fe09b linter: Add missing docs for config options in `react` plugin (oxc-project#21289) (camchenry) - 60eaf47 linter: Add missing docs for config options in unicorn plugin (oxc-project#21288) (camchenry) - c3c2055 linter: `jsx-a11y/label-has-associated-control`: document the `assert` options (oxc-project#21287) (camchenry) - a928ed9 linter: Add missing config docs for vitest plugin rules (oxc-project#21285) (camchenry) - 7e07c7c linter: `id-length`: move enum docs to doc comments (oxc-project#21281) (camchenry) - 9746bdf linter: Add missing docs for `class-methods-use-this` config (oxc-project#21278) (camchenry) - 6ffe7a5 linter: Move docs for `Target` variant onto enum (oxc-project#21277) (camchenry) - 305350d linter/plugins: Correct comments (oxc-project#21130) (overlookmotel) # Oxfmt ### 💥 BREAKING CHANGES - 382958a span: [**BREAKING**] Remove re-exports of string types from `oxc_span` crate (oxc-project#21246) (overlookmotel) ### 🚀 Features - e3081e1 oxfmt: Gate `vite.config.ts` recognition behind `VP_VERSION` env var (oxc-project#21295) (leaysgur) - 5b0b573 oxfmt: Update prettier to 3.8.2 (oxc-project#21294) (leaysgur) - 0d67834 oxfmt: Show hint for all files are ignored case (oxc-project#21154) (leaysgur) ### 🐛 Bug Fixes - 2871fc2 oxfmt: Non idempotent formatting on comments in TS (oxc-project#20449) (Cat Chen) - ec7f6ed oxlint, oxfmt: Apply `check_for_writer_error` to `.flush()` (oxc-project#21343) (Craig Morrison) - 1a8c225 formatter: Preserve newline between self-closing JSX element and single-char text (oxc-project#21149) (Justin Mecham) - 407b725 oxfmt: Indent dangling comments in empty enum with block indent (oxc-project#21163) (Leonabcd123) - d13fd37 formatter: Remove extra outer parentheses on return with JSDoc type cast (oxc-project#21109) (bab) - 22babde oxfmt: Fix unicode char escaping (oxc-project#21162) (leaysgur) - 4da53e5 formatter: Preserve trailing comma in TSX arrow functions with default type params (oxc-project#21151) (Justin Mecham) - 94fe774 oxfmt: Handle paths with consecutive leading slashes (oxc-project#21155) (leaysgur) - 50c389b oxfmt: Support `.editorconfig` `quote_type` (oxc-project#20989) (leaysgur) ### ⚡ Performance - 0ce619f formatter: Use `Allocator::alloc_concat_strs_array` instead of `StringBuilder::from_strs_array_in` (oxc-project#21339) (overlookmotel)
release(apps): oxlint v1.60.0 && oxfmt v0.45.0 (oxc-project#21375) # Oxlint ### 💥 BREAKING CHANGES - 382958a span: [**BREAKING**] Remove re-exports of string types from `oxc_span` crate (oxc-project#21246) (overlookmotel) - c4aedfa str: [**BREAKING**] Add `static_ident!` macro (oxc-project#21245) (overlookmotel) - 7354f3c linter: [**BREAKING**] Error on no matched files (oxc-project#21144) (camc314) ### 🚀 Features - 91f2c79 linter/eslint-jest-plugin: Implemented `prefer-importing-jest-globals` rule (oxc-project#21303) (Said Atrahouch) - a02f32c linter: Add release version for existing rules (oxc-project#21363) (camchenry) - b9e93da linter: Allow tagging rules with release version (oxc-project#21362) (camchenry) - f99ecda oxlint: Gate `vite.config.ts` recognition behind `VP_VERSION` env var (oxc-project#21298) (leaysgur) - cf459d3 linter: Implement suggestion for `no-empty-function` rule (oxc-project#21347) (Mikhail Baev) - 7213d61 linter: Adding pending suggestions fix to `valid_expect` rules. (oxc-project#21249) (Said Atrahouch) - ae45312 linter: Introduce `--type-check-only` flag (oxc-project#21184) (camc314) - 1ce8b90 linter: Implemented `valid-expect-in-promise` vitest and jest rule (oxc-project#21170) (Said Atrahouch) - 39f7fda linter: Add auto-fix to `unicorn/prefer-default-parameters` (oxc-project#21166) (yefan) - 15574bc linter/unicorn: Implement consistent-template-literal-escape (oxc-project#21126) (AliceLanniste) - c5c8c03 linter/prefer-readonly-parameter-types: Move rule from nursery to pedantic (oxc-project#21114) (camc314) - 1893be1 linter/no-useless-default-assignment: Move rule from nursery to correctness (oxc-project#21113) (camc314) - 5462ff9 linter/strict-void-return: Move rule from nursery to pedantic (oxc-project#21115) (camc314) - c2989bd linter/no-unnecessary-type-parameters: Move rule from nursery to suspicious (oxc-project#21112) (camc314) - 79d339a linter/no-unnecessary-qualifier: Move rule from nursery to style (oxc-project#21111) (camc314) ### 🐛 Bug Fixes - b577efc linter/unicorn: Handle optional chaining in `prefer-array-flat` and `no-invalid-remove-event-listener` (oxc-project#21299) (Mikhail Baev) - 5e55735 oxlint/lsp: Skip .git directories in LSP walkers (oxc-project#21316) (camc314) - ec7f6ed oxlint, oxfmt: Apply `check_for_writer_error` to `.flush()` (oxc-project#21343) (Craig Morrison) - a17a08a linter/no-useless-assignment: Handle continue edges in loop analysis (oxc-project#21358) (camc314) - a0eac12 linter/array-type: Move match to first stmt (oxc-project#21357) (camc314) - 1b3abc3 linter: Exclude boundary tokens from JSXText whitespace check in isSpaceBetweenTokens (oxc-project#21313) (bab) - ecbcf5e linter: More info to summary output for GitHub formatter (oxc-project#21330) (Théo LUDWIG) - a0a8c62 linter/no-fallthrough: Check from start of switch case for empty lines (oxc-project#21324) (Josh Cartmell) - 36f0bc4 linter/no-cycle: Report all cyclic dependencies inside a file (oxc-project#21259) (camc314) - 3f80536 linter: Ignore regex flags other than `g`/`u`/`v` in `prefer-string-replace-all` (oxc-project#21203) (bab) - f21d3aa linter/unicorn: Report on optional in `require-number-to-fixed-digits-argument` rule (oxc-project#21207) (Mikhail Baev) - af8e122 linter: Render each config error as a separate diagnostic (oxc-project#21120) (bab) - a950f55 linter/unicorn: Do not report on optionals in `no-single-promise-in-promise-methods` (oxc-project#21157) (Mikhail Baev) - 472f8ee linter: Mark complete comment for unused disable directives + lsp fix (oxc-project#21092) (copilot-swe-agent) - edd0865 linter/no-array-index-key: False positive when index is inside an expression within a template literal (oxc-project#21123) (bab) - 7e8d520 linter/unicorn: Report on optional `foo?.postMessage` in `require-post-message-target-origin` rule (oxc-project#21104) (Mikhail Baev) ### ⚡ Performance - addcd02 napi/parser, linter/plugins: Raw transfer deserializer for `Vec`s use shift instead of multiply where possible (oxc-project#21142) (overlookmotel) - 3068ded napi/parser, linter/plugins: Shift before add when calculating positions in raw transfer deserializer (oxc-project#21141) (overlookmotel) - eb400b8 napi/parser, linter/plugins: Remove `uint32` buffer view (oxc-project#21140) (overlookmotel) - 7a86613 linter/plugins: Use `Int32Array`s for tokens and comments buffers (oxc-project#21136) (overlookmotel) - 8c51121 napi/parser, linter/plugins: Raw transfer deserialize `Span` fields as `i32`s (oxc-project#21135) (overlookmotel) - bc1bcdd napi/parser, linter/plugins: Inline trivial raw transfer field deserializers into node object definitions (oxc-project#21134) (overlookmotel) - c0278ab napi/parser, linter/plugins: Use `Int32Array` in raw transfer deserializer (oxc-project#21132) (overlookmotel) - 43482c7 linter/plugins: Use `>>` not `>>>` in binary search loops (oxc-project#21129) (overlookmotel) ### 📚 Documentation - 7888280 linter: Move config docs for `no-restricted-exports` (oxc-project#21360) (camchenry) - 162d26c linter: Improve docs for `typescript/array-type` (oxc-project#21356) (camchenry) - a2dbaec linter: Add missing docs for options for `typescript/class-literal-property-style` (oxc-project#21355) (camchenry) - 79593eb linter: Improve docs for `typescript/consistent-type-assertions` (oxc-project#21353) (camchenry) - f9d20d2 linter: Move config option docs for `typescript/no-empty-object-type` (oxc-project#21352) (camchenry) - a8f650d linter: Add missing config option docs for `prefer-string-start-ends-with` (oxc-project#21332) (camchenry) - cfd8a4f linter: Don't rely on old eslint doc for available globals (oxc-project#21334) (Nicolas Le Cam) - 03865fa linter: Jest/prefer-snapshot-hint: add doc comment for snapshot hint mode (oxc-project#21290) (camchenry) - a6fe09b linter: Add missing docs for config options in `react` plugin (oxc-project#21289) (camchenry) - 60eaf47 linter: Add missing docs for config options in unicorn plugin (oxc-project#21288) (camchenry) - c3c2055 linter: `jsx-a11y/label-has-associated-control`: document the `assert` options (oxc-project#21287) (camchenry) - a928ed9 linter: Add missing config docs for vitest plugin rules (oxc-project#21285) (camchenry) - 7e07c7c linter: `id-length`: move enum docs to doc comments (oxc-project#21281) (camchenry) - 9746bdf linter: Add missing docs for `class-methods-use-this` config (oxc-project#21278) (camchenry) - 6ffe7a5 linter: Move docs for `Target` variant onto enum (oxc-project#21277) (camchenry) - 305350d linter/plugins: Correct comments (oxc-project#21130) (overlookmotel) # Oxfmt ### 💥 BREAKING CHANGES - 382958a span: [**BREAKING**] Remove re-exports of string types from `oxc_span` crate (oxc-project#21246) (overlookmotel) ### 🚀 Features - e3081e1 oxfmt: Gate `vite.config.ts` recognition behind `VP_VERSION` env var (oxc-project#21295) (leaysgur) - 5b0b573 oxfmt: Update prettier to 3.8.2 (oxc-project#21294) (leaysgur) - 0d67834 oxfmt: Show hint for all files are ignored case (oxc-project#21154) (leaysgur) ### 🐛 Bug Fixes - 2871fc2 oxfmt: Non idempotent formatting on comments in TS (oxc-project#20449) (Cat Chen) - ec7f6ed oxlint, oxfmt: Apply `check_for_writer_error` to `.flush()` (oxc-project#21343) (Craig Morrison) - 1a8c225 formatter: Preserve newline between self-closing JSX element and single-char text (oxc-project#21149) (Justin Mecham) - 407b725 oxfmt: Indent dangling comments in empty enum with block indent (oxc-project#21163) (Leonabcd123) - d13fd37 formatter: Remove extra outer parentheses on return with JSDoc type cast (oxc-project#21109) (bab) - 22babde oxfmt: Fix unicode char escaping (oxc-project#21162) (leaysgur) - 4da53e5 formatter: Preserve trailing comma in TSX arrow functions with default type params (oxc-project#21151) (Justin Mecham) - 94fe774 oxfmt: Handle paths with consecutive leading slashes (oxc-project#21155) (leaysgur) - 50c389b oxfmt: Support `.editorconfig` `quote_type` (oxc-project#20989) (leaysgur) ### ⚡ Performance - 0ce619f formatter: Use `Allocator::alloc_concat_strs_array` instead of `StringBuilder::from_strs_array_in` (oxc-project#21339) (overlookmotel)
release(crates): oxc v0.125.0 (oxc-project#21374) ### 💥 BREAKING CHANGES - 36cdc31 str: [**BREAKING**] Remove identity `FromIn` impl for `Ident` (oxc-project#21251) (overlookmotel) - 382958a span: [**BREAKING**] Remove re-exports of string types from `oxc_span` crate (oxc-project#21246) (overlookmotel) - c4aedfa str: [**BREAKING**] Add `static_ident!` macro (oxc-project#21245) (overlookmotel) ### 🚀 Features - e7e1aea transformer/typescript: Add `optimize_enums` option for regular enum inlining (oxc-project#20539) (Dunqing) - 679f57f transformer/typescript: Implement const enum inlining and declaration removal (oxc-project#20508) (Dunqing) - 6dd061c semantic: Extend `MemberWriteTarget` to cover all property modification patterns (oxc-project#21205) (Dunqing) - f134e24 minifier: Support `property_write_side_effects` option to drop unused property assignments (oxc-project#20773) (Dunqing) - 75663c0 semantic: Add enum member value evaluation for const enum support (oxc-project#20602) (Dunqing) - 3cfe8ed semantic: Add `MemberWriteTarget` flag to `ReferenceFlags` (oxc-project#20772) (Dunqing) ### 🐛 Bug Fixes - af1a586 transformer/class-properties: Use correct property name when converting parameter properties (oxc-project#21268) (Amal Jossy) - b43250a allocator: Move allocation tracking into `Bump` (oxc-project#21342) (overlookmotel) - 36f505f allocator: `StringBuilder` use `Allocator::alloc_layout` (oxc-project#21340) (overlookmotel) - 7a08a6f allocator: Fix allocation counting in `Allocator::alloc_concat_strs_array` (oxc-project#21336) (overlookmotel) - 2338e28 ecmascript: Treat `this` as potentially having side effects (oxc-project#21297) (sapphi-red) - bd8bd39 allocator: Remove unsafe hacks from `from_raw_parts` methods (oxc-project#21283) (overlookmotel) - 8f4c340 allocator: Remove dangerous pointer const to mut cast (oxc-project#21279) (overlookmotel) - aa9259f parser: Add missing error code for optional param diagnostic (oxc-project#21258) (camc314) - 04b3c2f str: Fix unsound casting const pointers to mut pointers (oxc-project#21242) (overlookmotel) - ceadf6c str: Make `Ident::from_raw` an unsafe function (oxc-project#21241) (overlookmotel) - eab13b3 transformer/decorators: Avoid accessor storage name collisions (oxc-project#21106) (Dunqing) - 07e8a30 transformer/react-refresh: Handle parenthesized variable initializers (oxc-project#21047) (camc314) ### ⚡ Performance - c3ca6f6 allocator: `StringBuilder::from_strs_array_in` check for 0 length earlier (oxc-project#21338) (overlookmotel) - c2422bb allocator: `Allocator::alloc_concat_strs_array` check for 0 length earlier (oxc-project#21337) (overlookmotel) - 04b0fdc allocator: Mark `Allocator::alloc_layout` as `#[inline(always)]` (oxc-project#21335) (overlookmotel) - 17aee9e allocator: Use `offset_from_unsigned` in `ChunkFooter::as_raw_parts` (oxc-project#21280) (overlookmotel) - 61adedd minifier: Fix O(n²) perf on very many var decls (oxc-project#21062) (Gunnlaugur Thor Briem) - addcd02 napi/parser, linter/plugins: Raw transfer deserializer for `Vec`s use shift instead of multiply where possible (oxc-project#21142) (overlookmotel) - 3068ded napi/parser, linter/plugins: Shift before add when calculating positions in raw transfer deserializer (oxc-project#21141) (overlookmotel) - eb400b8 napi/parser, linter/plugins: Remove `uint32` buffer view (oxc-project#21140) (overlookmotel) - 2675085 napi/parser: Lazy deserialization use only `Int32Array` (oxc-project#21139) (overlookmotel) - 5b35a53 napi/parser: Deserializing tokens use only `int32` array (oxc-project#21138) (overlookmotel) - f163d10 parser: Tokens raw deserialization use `Int32Array` (oxc-project#21137) (overlookmotel) - 7a86613 linter/plugins: Use `Int32Array`s for tokens and comments buffers (oxc-project#21136) (overlookmotel) - 8c51121 napi/parser, linter/plugins: Raw transfer deserialize `Span` fields as `i32`s (oxc-project#21135) (overlookmotel) - bc1bcdd napi/parser, linter/plugins: Inline trivial raw transfer field deserializers into node object definitions (oxc-project#21134) (overlookmotel) - c0278ab napi/parser, linter/plugins: Use `Int32Array` in raw transfer deserializer (oxc-project#21132) (overlookmotel) - 43482c7 linter/plugins: Use `>>` not `>>>` in binary search loops (oxc-project#21129) (overlookmotel) ### 📚 Documentation - f5e1845 allocator: Upgrade headers in doc comments for `Bump` (oxc-project#21263) (overlookmotel) - 2870174 allocator: Upper case `SAFETY` in comments (oxc-project#21253) (overlookmotel) - 01bc269 str: Reformat `Ident` doc comments (oxc-project#21240) (overlookmotel) - dd47359 allocator: Add doc comments for panics and errors (oxc-project#21230) (overlookmotel)
release(apps): oxlint v1.60.0 && oxfmt v0.45.0 (oxc-project#21375) # Oxlint ### 💥 BREAKING CHANGES - 382958a span: [**BREAKING**] Remove re-exports of string types from `oxc_span` crate (oxc-project#21246) (overlookmotel) - c4aedfa str: [**BREAKING**] Add `static_ident!` macro (oxc-project#21245) (overlookmotel) - 7354f3c linter: [**BREAKING**] Error on no matched files (oxc-project#21144) (camc314) ### 🚀 Features - 91f2c79 linter/eslint-jest-plugin: Implemented `prefer-importing-jest-globals` rule (oxc-project#21303) (Said Atrahouch) - a02f32c linter: Add release version for existing rules (oxc-project#21363) (camchenry) - b9e93da linter: Allow tagging rules with release version (oxc-project#21362) (camchenry) - f99ecda oxlint: Gate `vite.config.ts` recognition behind `VP_VERSION` env var (oxc-project#21298) (leaysgur) - cf459d3 linter: Implement suggestion for `no-empty-function` rule (oxc-project#21347) (Mikhail Baev) - 7213d61 linter: Adding pending suggestions fix to `valid_expect` rules. (oxc-project#21249) (Said Atrahouch) - ae45312 linter: Introduce `--type-check-only` flag (oxc-project#21184) (camc314) - 1ce8b90 linter: Implemented `valid-expect-in-promise` vitest and jest rule (oxc-project#21170) (Said Atrahouch) - 39f7fda linter: Add auto-fix to `unicorn/prefer-default-parameters` (oxc-project#21166) (yefan) - 15574bc linter/unicorn: Implement consistent-template-literal-escape (oxc-project#21126) (AliceLanniste) - c5c8c03 linter/prefer-readonly-parameter-types: Move rule from nursery to pedantic (oxc-project#21114) (camc314) - 1893be1 linter/no-useless-default-assignment: Move rule from nursery to correctness (oxc-project#21113) (camc314) - 5462ff9 linter/strict-void-return: Move rule from nursery to pedantic (oxc-project#21115) (camc314) - c2989bd linter/no-unnecessary-type-parameters: Move rule from nursery to suspicious (oxc-project#21112) (camc314) - 79d339a linter/no-unnecessary-qualifier: Move rule from nursery to style (oxc-project#21111) (camc314) ### 🐛 Bug Fixes - b577efc linter/unicorn: Handle optional chaining in `prefer-array-flat` and `no-invalid-remove-event-listener` (oxc-project#21299) (Mikhail Baev) - 5e55735 oxlint/lsp: Skip .git directories in LSP walkers (oxc-project#21316) (camc314) - ec7f6ed oxlint, oxfmt: Apply `check_for_writer_error` to `.flush()` (oxc-project#21343) (Craig Morrison) - a17a08a linter/no-useless-assignment: Handle continue edges in loop analysis (oxc-project#21358) (camc314) - a0eac12 linter/array-type: Move match to first stmt (oxc-project#21357) (camc314) - 1b3abc3 linter: Exclude boundary tokens from JSXText whitespace check in isSpaceBetweenTokens (oxc-project#21313) (bab) - ecbcf5e linter: More info to summary output for GitHub formatter (oxc-project#21330) (Théo LUDWIG) - a0a8c62 linter/no-fallthrough: Check from start of switch case for empty lines (oxc-project#21324) (Josh Cartmell) - 36f0bc4 linter/no-cycle: Report all cyclic dependencies inside a file (oxc-project#21259) (camc314) - 3f80536 linter: Ignore regex flags other than `g`/`u`/`v` in `prefer-string-replace-all` (oxc-project#21203) (bab) - f21d3aa linter/unicorn: Report on optional in `require-number-to-fixed-digits-argument` rule (oxc-project#21207) (Mikhail Baev) - af8e122 linter: Render each config error as a separate diagnostic (oxc-project#21120) (bab) - a950f55 linter/unicorn: Do not report on optionals in `no-single-promise-in-promise-methods` (oxc-project#21157) (Mikhail Baev) - 472f8ee linter: Mark complete comment for unused disable directives + lsp fix (oxc-project#21092) (copilot-swe-agent) - edd0865 linter/no-array-index-key: False positive when index is inside an expression within a template literal (oxc-project#21123) (bab) - 7e8d520 linter/unicorn: Report on optional `foo?.postMessage` in `require-post-message-target-origin` rule (oxc-project#21104) (Mikhail Baev) ### ⚡ Performance - addcd02 napi/parser, linter/plugins: Raw transfer deserializer for `Vec`s use shift instead of multiply where possible (oxc-project#21142) (overlookmotel) - 3068ded napi/parser, linter/plugins: Shift before add when calculating positions in raw transfer deserializer (oxc-project#21141) (overlookmotel) - eb400b8 napi/parser, linter/plugins: Remove `uint32` buffer view (oxc-project#21140) (overlookmotel) - 7a86613 linter/plugins: Use `Int32Array`s for tokens and comments buffers (oxc-project#21136) (overlookmotel) - 8c51121 napi/parser, linter/plugins: Raw transfer deserialize `Span` fields as `i32`s (oxc-project#21135) (overlookmotel) - bc1bcdd napi/parser, linter/plugins: Inline trivial raw transfer field deserializers into node object definitions (oxc-project#21134) (overlookmotel) - c0278ab napi/parser, linter/plugins: Use `Int32Array` in raw transfer deserializer (oxc-project#21132) (overlookmotel) - 43482c7 linter/plugins: Use `>>` not `>>>` in binary search loops (oxc-project#21129) (overlookmotel) ### 📚 Documentation - 7888280 linter: Move config docs for `no-restricted-exports` (oxc-project#21360) (camchenry) - 162d26c linter: Improve docs for `typescript/array-type` (oxc-project#21356) (camchenry) - a2dbaec linter: Add missing docs for options for `typescript/class-literal-property-style` (oxc-project#21355) (camchenry) - 79593eb linter: Improve docs for `typescript/consistent-type-assertions` (oxc-project#21353) (camchenry) - f9d20d2 linter: Move config option docs for `typescript/no-empty-object-type` (oxc-project#21352) (camchenry) - a8f650d linter: Add missing config option docs for `prefer-string-start-ends-with` (oxc-project#21332) (camchenry) - cfd8a4f linter: Don't rely on old eslint doc for available globals (oxc-project#21334) (Nicolas Le Cam) - 03865fa linter: Jest/prefer-snapshot-hint: add doc comment for snapshot hint mode (oxc-project#21290) (camchenry) - a6fe09b linter: Add missing docs for config options in `react` plugin (oxc-project#21289) (camchenry) - 60eaf47 linter: Add missing docs for config options in unicorn plugin (oxc-project#21288) (camchenry) - c3c2055 linter: `jsx-a11y/label-has-associated-control`: document the `assert` options (oxc-project#21287) (camchenry) - a928ed9 linter: Add missing config docs for vitest plugin rules (oxc-project#21285) (camchenry) - 7e07c7c linter: `id-length`: move enum docs to doc comments (oxc-project#21281) (camchenry) - 9746bdf linter: Add missing docs for `class-methods-use-this` config (oxc-project#21278) (camchenry) - 6ffe7a5 linter: Move docs for `Target` variant onto enum (oxc-project#21277) (camchenry) - 305350d linter/plugins: Correct comments (oxc-project#21130) (overlookmotel) # Oxfmt ### 💥 BREAKING CHANGES - 382958a span: [**BREAKING**] Remove re-exports of string types from `oxc_span` crate (oxc-project#21246) (overlookmotel) ### 🚀 Features - e3081e1 oxfmt: Gate `vite.config.ts` recognition behind `VP_VERSION` env var (oxc-project#21295) (leaysgur) - 5b0b573 oxfmt: Update prettier to 3.8.2 (oxc-project#21294) (leaysgur) - 0d67834 oxfmt: Show hint for all files are ignored case (oxc-project#21154) (leaysgur) ### 🐛 Bug Fixes - 2871fc2 oxfmt: Non idempotent formatting on comments in TS (oxc-project#20449) (Cat Chen) - ec7f6ed oxlint, oxfmt: Apply `check_for_writer_error` to `.flush()` (oxc-project#21343) (Craig Morrison) - 1a8c225 formatter: Preserve newline between self-closing JSX element and single-char text (oxc-project#21149) (Justin Mecham) - 407b725 oxfmt: Indent dangling comments in empty enum with block indent (oxc-project#21163) (Leonabcd123) - d13fd37 formatter: Remove extra outer parentheses on return with JSDoc type cast (oxc-project#21109) (bab) - 22babde oxfmt: Fix unicode char escaping (oxc-project#21162) (leaysgur) - 4da53e5 formatter: Preserve trailing comma in TSX arrow functions with default type params (oxc-project#21151) (Justin Mecham) - 94fe774 oxfmt: Handle paths with consecutive leading slashes (oxc-project#21155) (leaysgur) - 50c389b oxfmt: Support `.editorconfig` `quote_type` (oxc-project#20989) (leaysgur) ### ⚡ Performance - 0ce619f formatter: Use `Allocator::alloc_concat_strs_array` instead of `StringBuilder::from_strs_array_in` (oxc-project#21339) (overlookmotel)
release(apps): oxlint v1.59.0 && oxfmt v0.44.0 (oxc-project#21085) # Oxlint ### 💥 BREAKING CHANGES - 22ce6af oxlint/lsp: [**BREAKING**] Show/fix safe suggestions by default (oxc-project#19816) (Sysix) ### 🚀 Features - 7a7b7b8 oxlint/lsp: Add source.fixAllDangerous.oxc code action kind (oxc-project#20526) (bab) - 9cfe57e linter/unicorn: Implement prefer-import-meta-properties rule (oxc-project#20662) (Irfan - ئىرفان) - 1edb391 linter/eslint: Implement `no-restricted-exports` rule (oxc-project#20592) (Nicolas Le Cam) - 0f12bcd linter/react: Implement `hook-use-state` rule (oxc-project#20986) (Khaled Labeb) - 1513a9f oxlint/lsp: Show note field for lsp diagnostic (oxc-project#20983) (Sysix) - 7fdf722 linter/unicorn: Implement `no-useless-iterator-to-array` rule (oxc-project#20945) (Mikhail Baev) - 39c8f2c linter/jest: Implement padding-around-after-all-blocks (oxc-project#21034) (Sapphire) - ac39e51 linter/eslint-vitest-plugin: Prefer importing vitest globals (oxc-project#20960) (Said Atrahouch) - 0b84de1 oxlint: Support allow option for prefer-promise-reject-errors (oxc-project#20934) (camc314) - 23db851 linter/consistent-return: Move rule from nursery to suspicious (oxc-project#20920) (camc314) - 9a27e32 linter/no-unnecessary-type-conversion: Move rule from nursery to suspicious (oxc-project#20919) (camc314) - 1ca7b58 linter/dot-notation: Move rule from nursery to style (oxc-project#20918) (camc314) - 73ba81a linter/consistent-type-exports: Move rule from nursery to style (oxc-project#20917) (camc314) - b9199b1 linter/unicorn: Implement switch-case-break-position (oxc-project#20872) (Mikhail Baev) - 3435ff8 linter: Implements `prefer-snapshot-hint` rule in Jest and Vitest (oxc-project#20870) (Said Atrahouch) - 98510d2 linter: Implement react/prefer-function-component (oxc-project#19652) (Connor Shea) - 871f9d9 linter: Implement no-useless-assignment (oxc-project#15466) (Zhaoting Zhou) - 0f01fbd linter: Implement eslint/object-shorthand (oxc-project#17688) (yue) ### 🐛 Bug Fixes - dd2df87 npm: Export package.json for oxlint and oxfmt (oxc-project#20784) (kazuya kawaguchi) - 9bc77dd linter/no-unused-private-class-members: False positive with await expr (oxc-project#21067) (camc314) - 60a57cd linter/const-comparisons: Detect equality contradictions (oxc-project#21065) (camc314) - 2bb2be2 linter/no-array-index-key: False positive when index is passed as function argument (oxc-project#21012) (bab) - 6492953 linter/no-this-in-sfc: Only flag `this` used as member expression object (oxc-project#20961) (bab) - 9446dcc oxlint/lsp: Skip `node_modules` in oxlint config walker (oxc-project#21004) (copilot-swe-agent) - af89923 linter/no-namespace: Support glob pattern matching against basename (oxc-project#21031) (bab) - 64a1a7e oxlint: Don't search for nested config outside base config (oxc-project#21051) (Sysix) - 3b953bc linter/button-has-type: Ignore `document.createElement` calls (oxc-project#21008) (Said Atrahouch) - 8c36070 linter/unicorn: Add support for `Array.from()` for `prefer-set-size` rule (oxc-project#21016) (Mikhail Baev) - c1a48f0 linter: Detect vitest import from vite-plus/test (oxc-project#20976) (Said Atrahouch) - 5c32fd1 lsp: Prevent corrupted autofix output from overlapping text edits (oxc-project#19793) (Peter Wagenet) - ca79960 linter/no-array-index-key: Move span to `key` property (oxc-project#20947) (camc314) - 2098274 linter: Add suggestion for `jest/prefer-equality-matcher` (oxc-project#20925) (eryue0220) - 6eb77ec linter: Allow default-import barrels in import/named (oxc-project#20757) (Bazyli Brzóska) - 9c218ef linter/eslint-vitest-plugin: Remove pending fix status for require-local-test-context-for-concurrent-snapshot (oxc-project#20890) (Said Atrahouch) ### ⚡ Performance - fb52383 napi/parser, linter/plugins: Clear buffers and source texts earlier (oxc-project#21025) (overlookmotel) - 3b7dec4 napi/parser, linter/plugins: Use `utf8Slice` for decoding UTF-8 strings (oxc-project#21022) (overlookmotel) - 012c924 napi/parser, linter/plugins: Speed up decoding strings in raw transfer (oxc-project#21021) (overlookmotel) - 55e1e9b napi/parser, linter/plugins: Initialize vars as 0 (oxc-project#21020) (overlookmotel) - c25ef02 napi/parser, linter/plugins: Simplify branch condition in `deserializeStr` (oxc-project#21019) (overlookmotel) - 9f494c3 napi/parser, linter/plugins: Raw transfer use `String.fromCharCode` in string decoding (oxc-project#21018) (overlookmotel) - 0503a78 napi/parser, linter/plugins: Faster deserialization of `raw` fields (oxc-project#20923) (overlookmotel) - a24f75e napi/parser: Optimize string deserialization for non-ASCII sources (oxc-project#20834) (Joshua Tuddenham) ### 📚 Documentation - af72b80 oxlint: Fix typo for --tsconfig (oxc-project#20889) (leaysgur) - 70c53b1 linter: Highlight that tsconfig is not respected in type aware linting (oxc-project#20884) (camc314) # Oxfmt ### 🚀 Features - 35cf6e8 oxfmt: Add node version hint for ts config import failures (oxc-project#21046) (camc314) ### 🐛 Bug Fixes - dd2df87 npm: Export package.json for oxlint and oxfmt (oxc-project#20784) (kazuya kawaguchi) - 9d45511 oxfmt: Propagate file write errors instead of panicking (oxc-project#20997) (leaysgur) - 139ddd9 formatter: Handle leading comment after array elision (oxc-project#20987) (leaysgur) - 4216380 oxfmt: Support `.editorconfig` `tab_width` fallback (oxc-project#20988) (leaysgur) - d10df39 formatter: Resolve pending space in fits measurer before expanded-mode early exit (oxc-project#20954) (Dunqing) - f9ef1bd formatter: Avoid breaking after `=>` when arrow body has JSDoc type cast (oxc-project#20857) (bab) Co-authored-by: Boshen <1430279+Boshen@users.noreply.github.com>
release(apps): oxlint v1.59.0 && oxfmt v0.44.0 (oxc-project#21085) # Oxlint ### 💥 BREAKING CHANGES - 22ce6af oxlint/lsp: [**BREAKING**] Show/fix safe suggestions by default (oxc-project#19816) (Sysix) ### 🚀 Features - 7a7b7b8 oxlint/lsp: Add source.fixAllDangerous.oxc code action kind (oxc-project#20526) (bab) - 9cfe57e linter/unicorn: Implement prefer-import-meta-properties rule (oxc-project#20662) (Irfan - ئىرفان) - 1edb391 linter/eslint: Implement `no-restricted-exports` rule (oxc-project#20592) (Nicolas Le Cam) - 0f12bcd linter/react: Implement `hook-use-state` rule (oxc-project#20986) (Khaled Labeb) - 1513a9f oxlint/lsp: Show note field for lsp diagnostic (oxc-project#20983) (Sysix) - 7fdf722 linter/unicorn: Implement `no-useless-iterator-to-array` rule (oxc-project#20945) (Mikhail Baev) - 39c8f2c linter/jest: Implement padding-around-after-all-blocks (oxc-project#21034) (Sapphire) - ac39e51 linter/eslint-vitest-plugin: Prefer importing vitest globals (oxc-project#20960) (Said Atrahouch) - 0b84de1 oxlint: Support allow option for prefer-promise-reject-errors (oxc-project#20934) (camc314) - 23db851 linter/consistent-return: Move rule from nursery to suspicious (oxc-project#20920) (camc314) - 9a27e32 linter/no-unnecessary-type-conversion: Move rule from nursery to suspicious (oxc-project#20919) (camc314) - 1ca7b58 linter/dot-notation: Move rule from nursery to style (oxc-project#20918) (camc314) - 73ba81a linter/consistent-type-exports: Move rule from nursery to style (oxc-project#20917) (camc314) - b9199b1 linter/unicorn: Implement switch-case-break-position (oxc-project#20872) (Mikhail Baev) - 3435ff8 linter: Implements `prefer-snapshot-hint` rule in Jest and Vitest (oxc-project#20870) (Said Atrahouch) - 98510d2 linter: Implement react/prefer-function-component (oxc-project#19652) (Connor Shea) - 871f9d9 linter: Implement no-useless-assignment (oxc-project#15466) (Zhaoting Zhou) - 0f01fbd linter: Implement eslint/object-shorthand (oxc-project#17688) (yue) ### 🐛 Bug Fixes - dd2df87 npm: Export package.json for oxlint and oxfmt (oxc-project#20784) (kazuya kawaguchi) - 9bc77dd linter/no-unused-private-class-members: False positive with await expr (oxc-project#21067) (camc314) - 60a57cd linter/const-comparisons: Detect equality contradictions (oxc-project#21065) (camc314) - 2bb2be2 linter/no-array-index-key: False positive when index is passed as function argument (oxc-project#21012) (bab) - 6492953 linter/no-this-in-sfc: Only flag `this` used as member expression object (oxc-project#20961) (bab) - 9446dcc oxlint/lsp: Skip `node_modules` in oxlint config walker (oxc-project#21004) (copilot-swe-agent) - af89923 linter/no-namespace: Support glob pattern matching against basename (oxc-project#21031) (bab) - 64a1a7e oxlint: Don't search for nested config outside base config (oxc-project#21051) (Sysix) - 3b953bc linter/button-has-type: Ignore `document.createElement` calls (oxc-project#21008) (Said Atrahouch) - 8c36070 linter/unicorn: Add support for `Array.from()` for `prefer-set-size` rule (oxc-project#21016) (Mikhail Baev) - c1a48f0 linter: Detect vitest import from vite-plus/test (oxc-project#20976) (Said Atrahouch) - 5c32fd1 lsp: Prevent corrupted autofix output from overlapping text edits (oxc-project#19793) (Peter Wagenet) - ca79960 linter/no-array-index-key: Move span to `key` property (oxc-project#20947) (camc314) - 2098274 linter: Add suggestion for `jest/prefer-equality-matcher` (oxc-project#20925) (eryue0220) - 6eb77ec linter: Allow default-import barrels in import/named (oxc-project#20757) (Bazyli Brzóska) - 9c218ef linter/eslint-vitest-plugin: Remove pending fix status for require-local-test-context-for-concurrent-snapshot (oxc-project#20890) (Said Atrahouch) ### ⚡ Performance - fb52383 napi/parser, linter/plugins: Clear buffers and source texts earlier (oxc-project#21025) (overlookmotel) - 3b7dec4 napi/parser, linter/plugins: Use `utf8Slice` for decoding UTF-8 strings (oxc-project#21022) (overlookmotel) - 012c924 napi/parser, linter/plugins: Speed up decoding strings in raw transfer (oxc-project#21021) (overlookmotel) - 55e1e9b napi/parser, linter/plugins: Initialize vars as 0 (oxc-project#21020) (overlookmotel) - c25ef02 napi/parser, linter/plugins: Simplify branch condition in `deserializeStr` (oxc-project#21019) (overlookmotel) - 9f494c3 napi/parser, linter/plugins: Raw transfer use `String.fromCharCode` in string decoding (oxc-project#21018) (overlookmotel) - 0503a78 napi/parser, linter/plugins: Faster deserialization of `raw` fields (oxc-project#20923) (overlookmotel) - a24f75e napi/parser: Optimize string deserialization for non-ASCII sources (oxc-project#20834) (Joshua Tuddenham) ### 📚 Documentation - af72b80 oxlint: Fix typo for --tsconfig (oxc-project#20889) (leaysgur) - 70c53b1 linter: Highlight that tsconfig is not respected in type aware linting (oxc-project#20884) (camc314) # Oxfmt ### 🚀 Features - 35cf6e8 oxfmt: Add node version hint for ts config import failures (oxc-project#21046) (camc314) ### 🐛 Bug Fixes - dd2df87 npm: Export package.json for oxlint and oxfmt (oxc-project#20784) (kazuya kawaguchi) - 9d45511 oxfmt: Propagate file write errors instead of panicking (oxc-project#20997) (leaysgur) - 139ddd9 formatter: Handle leading comment after array elision (oxc-project#20987) (leaysgur) - 4216380 oxfmt: Support `.editorconfig` `tab_width` fallback (oxc-project#20988) (leaysgur) - d10df39 formatter: Resolve pending space in fits measurer before expanded-mode early exit (oxc-project#20954) (Dunqing) - f9ef1bd formatter: Avoid breaking after `=>` when arrow body has JSDoc type cast (oxc-project#20857) (bab) Co-authored-by: Boshen <1430279+Boshen@users.noreply.github.com>
release(crates): oxc v0.124.0 (oxc-project#21084) ### 🐛 Bug Fixes - fc7f60c allocator: Revert changes to `get_current_chunk_footer_field_offset` (oxc-project#20964) (overlookmotel) - 31316c8 semantic: Rebind class expressions before identifier checks (oxc-project#20916) (camc314) ### ⚡ Performance - fb52383 napi/parser, linter/plugins: Clear buffers and source texts earlier (oxc-project#21025) (overlookmotel) - 3b7dec4 napi/parser, linter/plugins: Use `utf8Slice` for decoding UTF-8 strings (oxc-project#21022) (overlookmotel) - 012c924 napi/parser, linter/plugins: Speed up decoding strings in raw transfer (oxc-project#21021) (overlookmotel) - 55e1e9b napi/parser, linter/plugins: Initialize vars as 0 (oxc-project#21020) (overlookmotel) - c25ef02 napi/parser, linter/plugins: Simplify branch condition in `deserializeStr` (oxc-project#21019) (overlookmotel) - 9f494c3 napi/parser, linter/plugins: Raw transfer use `String.fromCharCode` in string decoding (oxc-project#21018) (overlookmotel) - 91cf105 allocator: Increase initial chunk size from 512B to 16KB (oxc-project#20968) (overlookmotel) - cbc0c21 allocator: Add `#[cold]` to to error handling functions (oxc-project#20967) (overlookmotel) - 0503a78 napi/parser, linter/plugins: Faster deserialization of `raw` fields (oxc-project#20923) (overlookmotel) - a24f75e napi/parser: Optimize string deserialization for non-ASCII sources (oxc-project#20834) (Joshua Tuddenham) ### 📚 Documentation - c78a57a syntax: Fix typo (oxc-project#21044) (camc314) - f5e228f allocator: Fix typo in comment (oxc-project#20972) (overlookmotel) - 7159d51 allocator: Improve doc comment examples for `vec2::Vec` (oxc-project#20969) (overlookmotel) - b1da750 allocator, data_structures: Correct comments (oxc-project#20966) (overlookmotel) Co-authored-by: Boshen <1430279+Boshen@users.noreply.github.com>
release(apps): oxlint v1.59.0 && oxfmt v0.44.0 (oxc-project#21085) # Oxlint ### 💥 BREAKING CHANGES - 22ce6af oxlint/lsp: [**BREAKING**] Show/fix safe suggestions by default (oxc-project#19816) (Sysix) ### 🚀 Features - 7a7b7b8 oxlint/lsp: Add source.fixAllDangerous.oxc code action kind (oxc-project#20526) (bab) - 9cfe57e linter/unicorn: Implement prefer-import-meta-properties rule (oxc-project#20662) (Irfan - ئىرفان) - 1edb391 linter/eslint: Implement `no-restricted-exports` rule (oxc-project#20592) (Nicolas Le Cam) - 0f12bcd linter/react: Implement `hook-use-state` rule (oxc-project#20986) (Khaled Labeb) - 1513a9f oxlint/lsp: Show note field for lsp diagnostic (oxc-project#20983) (Sysix) - 7fdf722 linter/unicorn: Implement `no-useless-iterator-to-array` rule (oxc-project#20945) (Mikhail Baev) - 39c8f2c linter/jest: Implement padding-around-after-all-blocks (oxc-project#21034) (Sapphire) - ac39e51 linter/eslint-vitest-plugin: Prefer importing vitest globals (oxc-project#20960) (Said Atrahouch) - 0b84de1 oxlint: Support allow option for prefer-promise-reject-errors (oxc-project#20934) (camc314) - 23db851 linter/consistent-return: Move rule from nursery to suspicious (oxc-project#20920) (camc314) - 9a27e32 linter/no-unnecessary-type-conversion: Move rule from nursery to suspicious (oxc-project#20919) (camc314) - 1ca7b58 linter/dot-notation: Move rule from nursery to style (oxc-project#20918) (camc314) - 73ba81a linter/consistent-type-exports: Move rule from nursery to style (oxc-project#20917) (camc314) - b9199b1 linter/unicorn: Implement switch-case-break-position (oxc-project#20872) (Mikhail Baev) - 3435ff8 linter: Implements `prefer-snapshot-hint` rule in Jest and Vitest (oxc-project#20870) (Said Atrahouch) - 98510d2 linter: Implement react/prefer-function-component (oxc-project#19652) (Connor Shea) - 871f9d9 linter: Implement no-useless-assignment (oxc-project#15466) (Zhaoting Zhou) - 0f01fbd linter: Implement eslint/object-shorthand (oxc-project#17688) (yue) ### 🐛 Bug Fixes - dd2df87 npm: Export package.json for oxlint and oxfmt (oxc-project#20784) (kazuya kawaguchi) - 9bc77dd linter/no-unused-private-class-members: False positive with await expr (oxc-project#21067) (camc314) - 60a57cd linter/const-comparisons: Detect equality contradictions (oxc-project#21065) (camc314) - 2bb2be2 linter/no-array-index-key: False positive when index is passed as function argument (oxc-project#21012) (bab) - 6492953 linter/no-this-in-sfc: Only flag `this` used as member expression object (oxc-project#20961) (bab) - 9446dcc oxlint/lsp: Skip `node_modules` in oxlint config walker (oxc-project#21004) (copilot-swe-agent) - af89923 linter/no-namespace: Support glob pattern matching against basename (oxc-project#21031) (bab) - 64a1a7e oxlint: Don't search for nested config outside base config (oxc-project#21051) (Sysix) - 3b953bc linter/button-has-type: Ignore `document.createElement` calls (oxc-project#21008) (Said Atrahouch) - 8c36070 linter/unicorn: Add support for `Array.from()` for `prefer-set-size` rule (oxc-project#21016) (Mikhail Baev) - c1a48f0 linter: Detect vitest import from vite-plus/test (oxc-project#20976) (Said Atrahouch) - 5c32fd1 lsp: Prevent corrupted autofix output from overlapping text edits (oxc-project#19793) (Peter Wagenet) - ca79960 linter/no-array-index-key: Move span to `key` property (oxc-project#20947) (camc314) - 2098274 linter: Add suggestion for `jest/prefer-equality-matcher` (oxc-project#20925) (eryue0220) - 6eb77ec linter: Allow default-import barrels in import/named (oxc-project#20757) (Bazyli Brzóska) - 9c218ef linter/eslint-vitest-plugin: Remove pending fix status for require-local-test-context-for-concurrent-snapshot (oxc-project#20890) (Said Atrahouch) ### ⚡ Performance - fb52383 napi/parser, linter/plugins: Clear buffers and source texts earlier (oxc-project#21025) (overlookmotel) - 3b7dec4 napi/parser, linter/plugins: Use `utf8Slice` for decoding UTF-8 strings (oxc-project#21022) (overlookmotel) - 012c924 napi/parser, linter/plugins: Speed up decoding strings in raw transfer (oxc-project#21021) (overlookmotel) - 55e1e9b napi/parser, linter/plugins: Initialize vars as 0 (oxc-project#21020) (overlookmotel) - c25ef02 napi/parser, linter/plugins: Simplify branch condition in `deserializeStr` (oxc-project#21019) (overlookmotel) - 9f494c3 napi/parser, linter/plugins: Raw transfer use `String.fromCharCode` in string decoding (oxc-project#21018) (overlookmotel) - 0503a78 napi/parser, linter/plugins: Faster deserialization of `raw` fields (oxc-project#20923) (overlookmotel) - a24f75e napi/parser: Optimize string deserialization for non-ASCII sources (oxc-project#20834) (Joshua Tuddenham) ### 📚 Documentation - af72b80 oxlint: Fix typo for --tsconfig (oxc-project#20889) (leaysgur) - 70c53b1 linter: Highlight that tsconfig is not respected in type aware linting (oxc-project#20884) (camc314) # Oxfmt ### 🚀 Features - 35cf6e8 oxfmt: Add node version hint for ts config import failures (oxc-project#21046) (camc314) ### 🐛 Bug Fixes - dd2df87 npm: Export package.json for oxlint and oxfmt (oxc-project#20784) (kazuya kawaguchi) - 9d45511 oxfmt: Propagate file write errors instead of panicking (oxc-project#20997) (leaysgur) - 139ddd9 formatter: Handle leading comment after array elision (oxc-project#20987) (leaysgur) - 4216380 oxfmt: Support `.editorconfig` `tab_width` fallback (oxc-project#20988) (leaysgur) - d10df39 formatter: Resolve pending space in fits measurer before expanded-mode early exit (oxc-project#20954) (Dunqing) - f9ef1bd formatter: Avoid breaking after `=>` when arrow body has JSDoc type cast (oxc-project#20857) (bab) Co-authored-by: Boshen <1430279+Boshen@users.noreply.github.com>
release(apps): oxlint v1.58.0 && oxfmt v0.43.0 (oxc-project#20867) # Oxlint ### 💥 BREAKING CHANGES - c0ebbce linter: [**BREAKING**] Report error on unknown builtin rule (oxc-project#20464) (camc314) ### 🚀 Features - 04f85e5 linter/no-unused-vars: Add safe-fix option for import fixes (oxc-project#20839) (Marcell Toth) - 32a3706 linter/eslint-vitest-plugin: Implements `require-test-timeout` rule (oxc-project#20806) (Said Atrahouch) - ae03653 linter: Implement suggestion for `eslint/no-useless-computed-key` rule (oxc-project#20805) (Mikhail Baev) - 6624513 linter/prefer-string-starts-ends-with: Move rule from nursery to style (oxc-project#20797) (camc314) - 58941f8 linter/prefer-readonly: Move rule from nursery to style (oxc-project#20796) (camc314) - 8837ffd linter/prefer-regexp-exec: Move rule from nursery to style (oxc-project#20795) (camc314) - 7e88871 linter/prefer-find: Move rule out of nursery (oxc-project#20794) (camc314) - ca6e5bc linter/vitest: Implement prefer-called-exactly-once-with (oxc-project#17562) (Said Atrahouch) - e80c0bf linter/eslint-plugin-vitest: Implement `require-mock-type-parameters` (oxc-project#20785) (Said Atrahouch) - cec8b8f linter/vitest: Implement require-awaited-expect-poll rule (oxc-project#20702) (Said Atrahouch) - d8e9d01 linter/eslint-plugin-vitest: Set `prefer-to-have-been-called-times` compatible with jest (oxc-project#20703) (Said Atrahouch) - caf8231 linter: Enhance import plugin diagnostics with help messages (oxc-project#20766) (离谱) - f44adfa linter: Improve the oxlint config generated by `--init`. (oxc-project#20632) (connorshea) - 43f4827 linter: Add help text to jest and promise diagnostics (oxc-project#20640) (kszongic) - 16516de linter: Enhance types for `DummyRule` (oxc-project#20751) (camc314) - 27374e8 linter: Add hint about node version when ts config fail to import (oxc-project#20570) (camc314) - 8e34150 linter/eslint-plugin-vitest: Sync rule with JS implementation (oxc-project#20679) (Said Atrahouch) ### 🐛 Bug Fixes - df057d5 linter/no-noninteractive-tabindex: Add missing composite widget … (oxc-project#20860) (bab) - bb34073 linter: Mark vitest/valid-title as a compatible jest rules (oxc-project#20463) (Nicolas Le Cam) - bd2c76b linter: Handle shadowed locals in no-restricted-globals (oxc-project#20811) (Ulrich Stark) - 62e39be linter: Sort nested object keys in fix of `eslint/sort-keys` in one pass (oxc-project#20838) (Ulrich Stark) - 3ef37da oxlint/lsp: Error on unknown command (oxc-project#20841) (Sysix) - ab1070d oxlint/cli: Skip parsing base config again for nested config search (oxc-project#20809) (Sysix) - 2be3728 oxlint/lsp: Skip parsing base config again for nested config search (oxc-project#20808) (Sysix) - 6171217 oxlint: Respect `NO_COLOR` env for `format=stylish` (oxc-project#20804) (Sysix) - d89ae8f linter/plugins: Patch `WeakMap` to emulate `WeakMap`s keyed by `sourceCode` (oxc-project#20799) (overlookmotel) - c610666 linter/no-shadow: Respect env settings when builtinGlobals is enabled (oxc-project#20429) (vvnikita74) - 6bb502f linter/no-invalid-void-type: Allow void generic args in heritage clauses (oxc-project#20780) (camc314) - 365bb7d linter: Skip typed nested literals in explicit-module-boundary-types (oxc-project#20776) (camc314) - 0aa1ff0 linter/plugins: Ensure `after` hook is always called in ESLint compat mode (oxc-project#20721) (overlookmotel) - 31145a9 linter/plugins: Fire `after` hook after CFG events in ESLint compat (oxc-project#20720) (overlookmotel) - c09a5ab diagnostics: Skip minified fallback for single-line reporters (oxc-project#20716) (camc314) - e4dc9a1 linter: Isolate `--init` config writes from parallel tests (oxc-project#20717) (camc314) - 7e394ec linter: Clarify empty replacement fixer help text (oxc-project#20698) (camc314) - d15a99c linter/jsx-curly-brace-presence: Flag empty string literals (oxc-project#20690) (camc314) ### 📚 Documentation - c722495 linter: Update JS Plugins + LS references (oxc-project#20843) (camc314) - e1f9748 linter/jsdoc/require-property: Fix typo (oxc-project#20792) (Benjaming61001) - be3dcc1 linter: Add note about node version + custom TS plugin (oxc-project#19381) (camc314) # Oxfmt ### 🚀 Features - 6ef440a oxfmt: Support bool for object style options (oxc-project#20853) (leaysgur) - 23050fa oxfmt: Support markdown-in-js substitution (oxc-project#20683) (leaysgur) - 4087295 oxfmt: Support angular-in-js substitution (oxc-project#20676) (leaysgur)
release(apps): oxlint v1.58.0 && oxfmt v0.43.0 (oxc-project#20867) # Oxlint ### 💥 BREAKING CHANGES - c0ebbce linter: [**BREAKING**] Report error on unknown builtin rule (oxc-project#20464) (camc314) ### 🚀 Features - 04f85e5 linter/no-unused-vars: Add safe-fix option for import fixes (oxc-project#20839) (Marcell Toth) - 32a3706 linter/eslint-vitest-plugin: Implements `require-test-timeout` rule (oxc-project#20806) (Said Atrahouch) - ae03653 linter: Implement suggestion for `eslint/no-useless-computed-key` rule (oxc-project#20805) (Mikhail Baev) - 6624513 linter/prefer-string-starts-ends-with: Move rule from nursery to style (oxc-project#20797) (camc314) - 58941f8 linter/prefer-readonly: Move rule from nursery to style (oxc-project#20796) (camc314) - 8837ffd linter/prefer-regexp-exec: Move rule from nursery to style (oxc-project#20795) (camc314) - 7e88871 linter/prefer-find: Move rule out of nursery (oxc-project#20794) (camc314) - ca6e5bc linter/vitest: Implement prefer-called-exactly-once-with (oxc-project#17562) (Said Atrahouch) - e80c0bf linter/eslint-plugin-vitest: Implement `require-mock-type-parameters` (oxc-project#20785) (Said Atrahouch) - cec8b8f linter/vitest: Implement require-awaited-expect-poll rule (oxc-project#20702) (Said Atrahouch) - d8e9d01 linter/eslint-plugin-vitest: Set `prefer-to-have-been-called-times` compatible with jest (oxc-project#20703) (Said Atrahouch) - caf8231 linter: Enhance import plugin diagnostics with help messages (oxc-project#20766) (离谱) - f44adfa linter: Improve the oxlint config generated by `--init`. (oxc-project#20632) (connorshea) - 43f4827 linter: Add help text to jest and promise diagnostics (oxc-project#20640) (kszongic) - 16516de linter: Enhance types for `DummyRule` (oxc-project#20751) (camc314) - 27374e8 linter: Add hint about node version when ts config fail to import (oxc-project#20570) (camc314) - 8e34150 linter/eslint-plugin-vitest: Sync rule with JS implementation (oxc-project#20679) (Said Atrahouch) ### 🐛 Bug Fixes - df057d5 linter/no-noninteractive-tabindex: Add missing composite widget … (oxc-project#20860) (bab) - bb34073 linter: Mark vitest/valid-title as a compatible jest rules (oxc-project#20463) (Nicolas Le Cam) - bd2c76b linter: Handle shadowed locals in no-restricted-globals (oxc-project#20811) (Ulrich Stark) - 62e39be linter: Sort nested object keys in fix of `eslint/sort-keys` in one pass (oxc-project#20838) (Ulrich Stark) - 3ef37da oxlint/lsp: Error on unknown command (oxc-project#20841) (Sysix) - ab1070d oxlint/cli: Skip parsing base config again for nested config search (oxc-project#20809) (Sysix) - 2be3728 oxlint/lsp: Skip parsing base config again for nested config search (oxc-project#20808) (Sysix) - 6171217 oxlint: Respect `NO_COLOR` env for `format=stylish` (oxc-project#20804) (Sysix) - d89ae8f linter/plugins: Patch `WeakMap` to emulate `WeakMap`s keyed by `sourceCode` (oxc-project#20799) (overlookmotel) - c610666 linter/no-shadow: Respect env settings when builtinGlobals is enabled (oxc-project#20429) (vvnikita74) - 6bb502f linter/no-invalid-void-type: Allow void generic args in heritage clauses (oxc-project#20780) (camc314) - 365bb7d linter: Skip typed nested literals in explicit-module-boundary-types (oxc-project#20776) (camc314) - 0aa1ff0 linter/plugins: Ensure `after` hook is always called in ESLint compat mode (oxc-project#20721) (overlookmotel) - 31145a9 linter/plugins: Fire `after` hook after CFG events in ESLint compat (oxc-project#20720) (overlookmotel) - c09a5ab diagnostics: Skip minified fallback for single-line reporters (oxc-project#20716) (camc314) - e4dc9a1 linter: Isolate `--init` config writes from parallel tests (oxc-project#20717) (camc314) - 7e394ec linter: Clarify empty replacement fixer help text (oxc-project#20698) (camc314) - d15a99c linter/jsx-curly-brace-presence: Flag empty string literals (oxc-project#20690) (camc314) ### 📚 Documentation - c722495 linter: Update JS Plugins + LS references (oxc-project#20843) (camc314) - e1f9748 linter/jsdoc/require-property: Fix typo (oxc-project#20792) (Benjaming61001) - be3dcc1 linter: Add note about node version + custom TS plugin (oxc-project#19381) (camc314) # Oxfmt ### 🚀 Features - 6ef440a oxfmt: Support bool for object style options (oxc-project#20853) (leaysgur) - 23050fa oxfmt: Support markdown-in-js substitution (oxc-project#20683) (leaysgur) - 4087295 oxfmt: Support angular-in-js substitution (oxc-project#20676) (leaysgur)
PreviousNext