Tags: viscory/oxc
Tags
release(apps): oxlint v1.75.0 && oxfmt v0.60.0 (oxc-project#24713) # Oxlint ### 💥 BREAKING CHANGES - 54cc121 ast: [**BREAKING**] Split `MetaProperty` into `ImportMeta` and `NewTarget` (oxc-project#24557) (camc314) ### 🚀 Features - 7b045cd minfier: Drop last break from last switch case (oxc-project#24673) (Armano) - dd18383 linter/node: Implement no-top-level-await rule (oxc-project#24634) (Connor Shea) - 16a65f2 linter/react: Implement function-component-definition rule (oxc-project#24471) (Cole Ellison) - 7f1f585 linter: Reuse `jest/padding-around-test-blocks` for `vitest/padding-around-test-blocks` (oxc-project#24519) (Mikhail Baev) - 99978a8 linter/import/consistent-type-specifier-style: Support `prefer-top-level-if-only-type-imports` option (oxc-project#24502) (camc314) ### 🐛 Bug Fixes - 0184ad6 linter/unicorn/no-useless-undefined: Preserve valid parameter defaults (oxc-project#24686) (camc314) - 8694167 linter/eslint/prefer-destructuring: Handle typed declarations (oxc-project#24616) (camc314) - 477cf0f linter/eslint/no-throw-literal: Handle assigned errors (oxc-project#24561) (Cole Ellison) - ac9200a linter: Detect React components from returned JSX (oxc-project#24521) (camc314) - c0a6522 linter/eslint/no-useless-computed-key: Allow TS syntax in computed keys (oxc-project#24524) (Cole Ellison) ### ⚡ Performance - 346eed1 linter/unicorn/prefer-event-target: Only run on `Class` and `NewExpression` nodes (oxc-project#24685) (Mikhail Baev) - 7be5cf0 oxlint/lsp: Only invoke lint on code actions when document is not opened (oxc-project#24676) (Sysix) - d3f07a0 diagnostics: Box OxcDiagnosticInner to reduce binary size (oxc-project#24665) (Boshen) - 90ae040 linter/reporter/stylish: Compute diagnostic Info once per diagnostic (oxc-project#24525) (connorshea) ### 📚 Documentation - e6f7174 linter/valid-expect: Fix correct example being identical to incorrect one (oxc-project#24468) (mkan0141) # Oxfmt ### 💥 BREAKING CHANGES - 54cc121 ast: [**BREAKING**] Split `MetaProperty` into `ImportMeta` and `NewTarget` (oxc-project#24557) (camc314) ### 🚀 Features - 3d22307 parser: Add `ParseOptions::enable_ident_hashes` (oxc-project#24491) (Boshen) ### 🐛 Bug Fixes - 6fe866a oxfmt: Keep tailwind classes glued to template expr with `preserveWhitespace` (oxc-project#24609) (leaysgur) - 33e32d8 formatter_css: Use `line_suffix` for EOL line comment (oxc-project#24580) (leaysgur) - 5f76998 formatter_graphql: Keep same line comments pending across intervening tokens (oxc-project#24579) (leaysgur) Co-authored-by: Boshen <1430279+Boshen@users.noreply.github.com> Co-authored-by: Cameron <cameron.clark@hey.com>
release(apps): oxlint v1.75.0 && oxfmt v0.60.0 (oxc-project#24713) # Oxlint ### 💥 BREAKING CHANGES - 54cc121 ast: [**BREAKING**] Split `MetaProperty` into `ImportMeta` and `NewTarget` (oxc-project#24557) (camc314) ### 🚀 Features - 7b045cd minfier: Drop last break from last switch case (oxc-project#24673) (Armano) - dd18383 linter/node: Implement no-top-level-await rule (oxc-project#24634) (Connor Shea) - 16a65f2 linter/react: Implement function-component-definition rule (oxc-project#24471) (Cole Ellison) - 7f1f585 linter: Reuse `jest/padding-around-test-blocks` for `vitest/padding-around-test-blocks` (oxc-project#24519) (Mikhail Baev) - 99978a8 linter/import/consistent-type-specifier-style: Support `prefer-top-level-if-only-type-imports` option (oxc-project#24502) (camc314) ### 🐛 Bug Fixes - 0184ad6 linter/unicorn/no-useless-undefined: Preserve valid parameter defaults (oxc-project#24686) (camc314) - 8694167 linter/eslint/prefer-destructuring: Handle typed declarations (oxc-project#24616) (camc314) - 477cf0f linter/eslint/no-throw-literal: Handle assigned errors (oxc-project#24561) (Cole Ellison) - ac9200a linter: Detect React components from returned JSX (oxc-project#24521) (camc314) - c0a6522 linter/eslint/no-useless-computed-key: Allow TS syntax in computed keys (oxc-project#24524) (Cole Ellison) ### ⚡ Performance - 346eed1 linter/unicorn/prefer-event-target: Only run on `Class` and `NewExpression` nodes (oxc-project#24685) (Mikhail Baev) - 7be5cf0 oxlint/lsp: Only invoke lint on code actions when document is not opened (oxc-project#24676) (Sysix) - d3f07a0 diagnostics: Box OxcDiagnosticInner to reduce binary size (oxc-project#24665) (Boshen) - 90ae040 linter/reporter/stylish: Compute diagnostic Info once per diagnostic (oxc-project#24525) (connorshea) ### 📚 Documentation - e6f7174 linter/valid-expect: Fix correct example being identical to incorrect one (oxc-project#24468) (mkan0141) # Oxfmt ### 💥 BREAKING CHANGES - 54cc121 ast: [**BREAKING**] Split `MetaProperty` into `ImportMeta` and `NewTarget` (oxc-project#24557) (camc314) ### 🚀 Features - 3d22307 parser: Add `ParseOptions::enable_ident_hashes` (oxc-project#24491) (Boshen) ### 🐛 Bug Fixes - 6fe866a oxfmt: Keep tailwind classes glued to template expr with `preserveWhitespace` (oxc-project#24609) (leaysgur) - 33e32d8 formatter_css: Use `line_suffix` for EOL line comment (oxc-project#24580) (leaysgur) - 5f76998 formatter_graphql: Keep same line comments pending across intervening tokens (oxc-project#24579) (leaysgur) Co-authored-by: Boshen <1430279+Boshen@users.noreply.github.com> Co-authored-by: Cameron <cameron.clark@hey.com>
release(crates): oxc v0.141.0 (oxc-project#24714) ### 💥 BREAKING CHANGES - 54cc121 ast: [**BREAKING**] Split `MetaProperty` into `ImportMeta` and `NewTarget` (oxc-project#24557) (camc314) ### 🚀 Features - 4c71560 parser: More friendly error for spread element in dynamic imports (oxc-project#24705) (sapphi-red) - 7b045cd minfier: Drop last break from last switch case (oxc-project#24673) (Armano) - 7d3c178 minifier: Remove unreachable recursive functions (oxc-project#24125) (Dunqing) - 94f99b3 ast: Allow `NONE` to be passed to AST builder methods where `Option<ArenaVec>` is expected (oxc-project#24629) (overlookmotel) - 77230c5 ast: Accept arrays for `ArenaVec` params of AST builder methods (oxc-project#24621) (overlookmotel) - f08b152 allocator: Implement `FromIn` for array to `Vec` conversion (oxc-project#24620) (overlookmotel) - 2338c13 track-memory-allocations: Track heap deallocs, alloc bytes, and peak growth (oxc-project#24619) (Boshen) - 7aa4739 syntax,transformer: Move JSX entity decoder to `oxc_syntax` (oxc-project#24617) (camc314) - 2b097c4 str: Export `Str` as `ArenaStr` (oxc-project#24604) (overlookmotel) - 3acf4c1 minifier: Expand switch optimiation to remove empty cases (oxc-project#24520) (Armano) - 129b759 parser: Improve diagnostics for unparenthesized LHS on exponential expr (oxc-project#24569) (camc314) - 4d0c601 minifier: Fold arithmetic over undefined and null operands (oxc-project#24485) (Dunqing) - 91541dd minifier: Drop empty switch statements (oxc-project#24527) (Armano) - d05224d ast_visit: Generate VisitJs visitor that skips TypeScript type-space (oxc-project#24499) (Boshen) - 3d22307 parser: Add `ParseOptions::enable_ident_hashes` (oxc-project#24491) (Boshen) ### 🐛 Bug Fixes - 64c2241 minifier: Align class heritage removal with assumptions (oxc-project#24533) (Dunqing) - 48b59f4 parser: Span ambient generator diagnostics (oxc-project#24711) (camc314) - e750a82 ecmascript: Fix false negative for may_have_side_effects on dynamic property access (oxc-project#24709) (sapphi-red) - f145d73 minifier: Guard reordered identifier reads (oxc-project#24698) (Dunqing) - a2ef382 isolated-declarations: Reject `window.Symbol` as global symbol reference (oxc-project#24689) (camc314) - b1bcf72 minifier: Invalidate facts for redeclared bindings (oxc-project#24658) (Dunqing) - 921b834 minifier: Don't treat a conditionally-assigned var as write-once (oxc-project#24650) (Dunqing) - 061af1f minifier: Avoid stale pure function summaries (oxc-project#24636) (Dunqing) - 40c2f43 allocator: `Vec::from_array_in` do not allocate zero-length array (oxc-project#24628) (overlookmotel) - 70994ae codegen: Preserve comments before expression operands (oxc-project#24510) (Dunqing) - 7b4baff parser: Reject new import member access (oxc-project#23459) (camc314) - 128b385 minifier: Clippy warning with no-debug-assertions (oxc-project#24547) (camc314) - 8421feb parser: Use first `as` span for imported name (oxc-project#24537) (leaysgur) - c517aa0 parser: Reject invalid accessor assertions (oxc-project#24504) (camc314) ### ⚡ Performance - 884d9eb parser: Pre-size cover-grammar assignment target buffers (oxc-project#24683) (Boshen) - d3f07a0 diagnostics: Box OxcDiagnosticInner to reduce binary size (oxc-project#24665) (Boshen) - bcc9de0 parser: Defer diagnostic creation until parse exit (oxc-project#24663) (Boshen) - c35d8ab allocator: Mark `ReplaceWith` panic path cold (oxc-project#24515) (camc314) - ba65790 semantic, allocator: Branchless `clone_in` for semantic IDs (oxc-project#24564) (overlookmotel) - 747feec parser: Build AST nodes with the AST builder instead of cloning (oxc-project#24540) (Boshen) - ba35a0d react_compiler: Use IndexVec for dense id-keyed maps (oxc-project#24549) (Boshen) - b685062 react_compiler: Keep small hot-path collections inline (oxc-project#24514) (Marius Schulz) - a149e95 transformer: Outline rare expression exits (oxc-project#24512) (camc314) - 7808a6e react_compiler: Make aliasing effects cheap to intern and clone (oxc-project#24506) (Marius Schulz) - 3a36f2a react_compiler: Store AbstractValue reasons as a u16 bitmask (oxc-project#24480) (Boshen) - 1c96753 react_compiler: Use FxHashMap for the lookup-only aliasing node map (oxc-project#24490) (Boshen) Co-authored-by: Cameron <cameron.clark@hey.com>
release(apps): oxlint v1.75.0 && oxfmt v0.60.0 (oxc-project#24713) # Oxlint ### 💥 BREAKING CHANGES - 54cc121 ast: [**BREAKING**] Split `MetaProperty` into `ImportMeta` and `NewTarget` (oxc-project#24557) (camc314) ### 🚀 Features - 7b045cd minfier: Drop last break from last switch case (oxc-project#24673) (Armano) - dd18383 linter/node: Implement no-top-level-await rule (oxc-project#24634) (Connor Shea) - 16a65f2 linter/react: Implement function-component-definition rule (oxc-project#24471) (Cole Ellison) - 7f1f585 linter: Reuse `jest/padding-around-test-blocks` for `vitest/padding-around-test-blocks` (oxc-project#24519) (Mikhail Baev) - 99978a8 linter/import/consistent-type-specifier-style: Support `prefer-top-level-if-only-type-imports` option (oxc-project#24502) (camc314) ### 🐛 Bug Fixes - 0184ad6 linter/unicorn/no-useless-undefined: Preserve valid parameter defaults (oxc-project#24686) (camc314) - 8694167 linter/eslint/prefer-destructuring: Handle typed declarations (oxc-project#24616) (camc314) - 477cf0f linter/eslint/no-throw-literal: Handle assigned errors (oxc-project#24561) (Cole Ellison) - ac9200a linter: Detect React components from returned JSX (oxc-project#24521) (camc314) - c0a6522 linter/eslint/no-useless-computed-key: Allow TS syntax in computed keys (oxc-project#24524) (Cole Ellison) ### ⚡ Performance - 346eed1 linter/unicorn/prefer-event-target: Only run on `Class` and `NewExpression` nodes (oxc-project#24685) (Mikhail Baev) - 7be5cf0 oxlint/lsp: Only invoke lint on code actions when document is not opened (oxc-project#24676) (Sysix) - d3f07a0 diagnostics: Box OxcDiagnosticInner to reduce binary size (oxc-project#24665) (Boshen) - 90ae040 linter/reporter/stylish: Compute diagnostic Info once per diagnostic (oxc-project#24525) (connorshea) ### 📚 Documentation - e6f7174 linter/valid-expect: Fix correct example being identical to incorrect one (oxc-project#24468) (mkan0141) # Oxfmt ### 💥 BREAKING CHANGES - 54cc121 ast: [**BREAKING**] Split `MetaProperty` into `ImportMeta` and `NewTarget` (oxc-project#24557) (camc314) ### 🚀 Features - 3d22307 parser: Add `ParseOptions::enable_ident_hashes` (oxc-project#24491) (Boshen) ### 🐛 Bug Fixes - 6fe866a oxfmt: Keep tailwind classes glued to template expr with `preserveWhitespace` (oxc-project#24609) (leaysgur) - 33e32d8 formatter_css: Use `line_suffix` for EOL line comment (oxc-project#24580) (leaysgur) - 5f76998 formatter_graphql: Keep same line comments pending across intervening tokens (oxc-project#24579) (leaysgur) Co-authored-by: Boshen <1430279+Boshen@users.noreply.github.com> Co-authored-by: Cameron <cameron.clark@hey.com>
release(apps): oxlint v1.74.0 && oxfmt v0.59.0 (oxc-project#24454) # Oxlint ### 🚀 Features - 0433a83 linter/eslint/no-inner-declarations: Add `namespaces` option (oxc-project#24044) (Boshen) - 92f154a oxlint,oxfmt: Auto-discover `.mts` config files (oxc-project#24357) (camc314) - 8c1d74b linter/import/no-duplicates: Add autofix logic (oxc-project#24273) (Cole Ellison) ### 🐛 Bug Fixes - 0b086de linter/jest/prefer-lowercase-title: False positive when `lowercaseFirstCharacterOnly` is false (oxc-project#24414) (Connor Shea) - 097cb95 linter: Allow `vite-plus/test` and `@effect as Vitest source (oxc-project#24196) (Liang) - 8337835 linter: Error on `ignorePatterns` that cannot match files aoutside the config directory (oxc-project#24341) (leaysgur) - 9ba30e5 linter/oxc/bad-replace-all-arg: Add note to enhance diagnostic (oxc-project#24346) (camc314) - 2ce5a33 linter: Resolve `ignorePatterns` relative to the config dir (oxc-project#24339) (leaysgur) - ab90eed linter/eslint/no-loop-func: Do not error on catch variables (oxc-project#24316) (Chris Opperwall) - b67f0a6 linter/eslint/no-unused-vars: Count default parameter updates as usage (oxc-project#24323) (camc314) - d193f8e linter: Detect Junie agent env vars (oxc-project#24277) (Jeevan Mohan Pawar) - 2aecf60 linter/eslint/no-unreachable: Handle `break` in switch stmts correctly (oxc-project#24260) (camc314) ### ⚡ Performance - 7f80cac linter/vue/prop-name-casing: Precompile `ignoreProps` regex pattern (oxc-project#24413) (connorshea) - 6272051 linter/typescript/no-require-imports: Compile allow patterns once (oxc-project#24417) (connorshea) - fb1edf1 linter: Compute comment fix span only for directive comments (oxc-project#24419) (connorshea) - 33805b9 linter/jsdoc/require-param: Compile checkTypesPattern regex once (oxc-project#24420) (connorshea) - 8de6fca linter/jest/valid-title: Compile disallowedWords regex once (oxc-project#24412) (Connor Shea) - 4a0d8dc linter/eslint/no-underscore-dangle: Avoid String clone per identifier (oxc-project#24371) (Ian Macalinao) - f3ab04c linter/typescript/consistent-type-imports: Remove redundant Vec per violation (oxc-project#24370) (Ian Macalinao) - 4d2d78d linter/typescript/prefer-ts-expect-error: Avoid String clone per comment (oxc-project#24369) (Ian Macalinao) # Oxfmt ### 🚀 Features - 3a7fe74 formatter_css: Update oxc-css-parser to 0.0.7 (oxc-project#24434) (leaysgur) - 0173cd3 formatter_css: Format Less :extend and merge props (oxc-project#24358) (leaysgur) - 92f154a oxlint,oxfmt: Auto-discover `.mts` config files (oxc-project#24357) (camc314) - df250df formatter: Support `quoteProps` for TS enum and methods (oxc-project#24309) (leaysgur) - a9a5cd6 formatter_core: Expose `SourceText::as_str()` (oxc-project#24281) (leaysgur) ### 🐛 Bug Fixes - 162bddf formatter: Add required parens for conditional type in type parameter constraint (oxc-project#24450) (leaysgur) - 2d22a91 formatter: Determine type cast target from span instead of lexical scan (oxc-project#24447) (leaysgur) - 25306e9 formatter: Do not add extra parens with type cast comment (oxc-project#24444) (leaysgur) - bd6edfe formatter: Break arrow signature that exactly fills the line when cond body may hug (oxc-project#24440) (leaysgur) - a99ef41 formatter: Keep quotes on method signature named new (oxc-project#24432) (leaysgur) - fcc28df formatter_css: Keep glued-braket-value tight (oxc-project#24352) (leaysgur) - 8337835 linter: Error on `ignorePatterns` that cannot match files aoutside the config directory (oxc-project#24341) (leaysgur) - b7c7e15 formatter: Add parens for import and private field in new callee chain (oxc-project#24320) (leaysgur) - 0c8f6e4 formatter: Update detect_code_removal for oxc-project#24309 (oxc-project#24314) (leaysgur) - a85aad0 formatter: Fix member-chain and non-null parens (oxc-project#24312) (leaysgur) - 1c29c73 formatter: Preserve `TSNonNullExpression` in chain expression (oxc-project#24311) (leaysgur) - 8933c0e formatter: Keep comment inside of empty `switch` block (oxc-project#24308) (leaysgur) - ec26af2 formatter: Preserve blank lines between JSX attrs (oxc-project#24290) (leaysgur) - 70bd54d formatter: Keep arrow function body comment (oxc-project#24287) (leaysgur) - 415fe1e oxfmt: Error on ignorePatterns that cannot match files outside the config directory (oxc-project#24286) (leaysgur) - eeabc4a formatter_css: Bail on EOF-recovered parse errors (oxc-project#24282) (leaysgur) - 42ec8de formatter: Keep comments inside surviving parens and suppressed statement terminators (oxc-project#24253) (leaysgur) - 1343779 formatter: Keep comment inline for empty statements (oxc-project#24249) (leaysgur) - b996579 formatter: Print ; before trailing comments part 2 (oxc-project#24246) (leaysgur) - 4f86e8c formatter: Print `;` before trailing comments (oxc-project#24244) (leaysgur) - 01252e4 formatter: Add or remove parens for `let` declaration (oxc-project#24215) (leaysgur) ### ⚡ Performance - eeb1913 formatter_core: Avoid per-call `Vec` work-stack in soft-line removal (oxc-project#23775) (Marius Schulz) - a2f255b formatter: Use `SmallVec` for `MemberChain` collections (oxc-project#23776) (Marius Schulz) ### 📚 Documentation - b52d0f5 formatter: Add TODO comment about unsound code (oxc-project#24372) (overlookmotel) Co-authored-by: Boshen <1430279+Boshen@users.noreply.github.com>
release(apps): oxlint v1.74.0 && oxfmt v0.59.0 (oxc-project#24454) # Oxlint ### 🚀 Features - 0433a83 linter/eslint/no-inner-declarations: Add `namespaces` option (oxc-project#24044) (Boshen) - 92f154a oxlint,oxfmt: Auto-discover `.mts` config files (oxc-project#24357) (camc314) - 8c1d74b linter/import/no-duplicates: Add autofix logic (oxc-project#24273) (Cole Ellison) ### 🐛 Bug Fixes - 0b086de linter/jest/prefer-lowercase-title: False positive when `lowercaseFirstCharacterOnly` is false (oxc-project#24414) (Connor Shea) - 097cb95 linter: Allow `vite-plus/test` and `@effect as Vitest source (oxc-project#24196) (Liang) - 8337835 linter: Error on `ignorePatterns` that cannot match files aoutside the config directory (oxc-project#24341) (leaysgur) - 9ba30e5 linter/oxc/bad-replace-all-arg: Add note to enhance diagnostic (oxc-project#24346) (camc314) - 2ce5a33 linter: Resolve `ignorePatterns` relative to the config dir (oxc-project#24339) (leaysgur) - ab90eed linter/eslint/no-loop-func: Do not error on catch variables (oxc-project#24316) (Chris Opperwall) - b67f0a6 linter/eslint/no-unused-vars: Count default parameter updates as usage (oxc-project#24323) (camc314) - d193f8e linter: Detect Junie agent env vars (oxc-project#24277) (Jeevan Mohan Pawar) - 2aecf60 linter/eslint/no-unreachable: Handle `break` in switch stmts correctly (oxc-project#24260) (camc314) ### ⚡ Performance - 7f80cac linter/vue/prop-name-casing: Precompile `ignoreProps` regex pattern (oxc-project#24413) (connorshea) - 6272051 linter/typescript/no-require-imports: Compile allow patterns once (oxc-project#24417) (connorshea) - fb1edf1 linter: Compute comment fix span only for directive comments (oxc-project#24419) (connorshea) - 33805b9 linter/jsdoc/require-param: Compile checkTypesPattern regex once (oxc-project#24420) (connorshea) - 8de6fca linter/jest/valid-title: Compile disallowedWords regex once (oxc-project#24412) (Connor Shea) - 4a0d8dc linter/eslint/no-underscore-dangle: Avoid String clone per identifier (oxc-project#24371) (Ian Macalinao) - f3ab04c linter/typescript/consistent-type-imports: Remove redundant Vec per violation (oxc-project#24370) (Ian Macalinao) - 4d2d78d linter/typescript/prefer-ts-expect-error: Avoid String clone per comment (oxc-project#24369) (Ian Macalinao) # Oxfmt ### 🚀 Features - 3a7fe74 formatter_css: Update oxc-css-parser to 0.0.7 (oxc-project#24434) (leaysgur) - 0173cd3 formatter_css: Format Less :extend and merge props (oxc-project#24358) (leaysgur) - 92f154a oxlint,oxfmt: Auto-discover `.mts` config files (oxc-project#24357) (camc314) - df250df formatter: Support `quoteProps` for TS enum and methods (oxc-project#24309) (leaysgur) - a9a5cd6 formatter_core: Expose `SourceText::as_str()` (oxc-project#24281) (leaysgur) ### 🐛 Bug Fixes - 162bddf formatter: Add required parens for conditional type in type parameter constraint (oxc-project#24450) (leaysgur) - 2d22a91 formatter: Determine type cast target from span instead of lexical scan (oxc-project#24447) (leaysgur) - 25306e9 formatter: Do not add extra parens with type cast comment (oxc-project#24444) (leaysgur) - bd6edfe formatter: Break arrow signature that exactly fills the line when cond body may hug (oxc-project#24440) (leaysgur) - a99ef41 formatter: Keep quotes on method signature named new (oxc-project#24432) (leaysgur) - fcc28df formatter_css: Keep glued-braket-value tight (oxc-project#24352) (leaysgur) - 8337835 linter: Error on `ignorePatterns` that cannot match files aoutside the config directory (oxc-project#24341) (leaysgur) - b7c7e15 formatter: Add parens for import and private field in new callee chain (oxc-project#24320) (leaysgur) - 0c8f6e4 formatter: Update detect_code_removal for oxc-project#24309 (oxc-project#24314) (leaysgur) - a85aad0 formatter: Fix member-chain and non-null parens (oxc-project#24312) (leaysgur) - 1c29c73 formatter: Preserve `TSNonNullExpression` in chain expression (oxc-project#24311) (leaysgur) - 8933c0e formatter: Keep comment inside of empty `switch` block (oxc-project#24308) (leaysgur) - ec26af2 formatter: Preserve blank lines between JSX attrs (oxc-project#24290) (leaysgur) - 70bd54d formatter: Keep arrow function body comment (oxc-project#24287) (leaysgur) - 415fe1e oxfmt: Error on ignorePatterns that cannot match files outside the config directory (oxc-project#24286) (leaysgur) - eeabc4a formatter_css: Bail on EOF-recovered parse errors (oxc-project#24282) (leaysgur) - 42ec8de formatter: Keep comments inside surviving parens and suppressed statement terminators (oxc-project#24253) (leaysgur) - 1343779 formatter: Keep comment inline for empty statements (oxc-project#24249) (leaysgur) - b996579 formatter: Print ; before trailing comments part 2 (oxc-project#24246) (leaysgur) - 4f86e8c formatter: Print `;` before trailing comments (oxc-project#24244) (leaysgur) - 01252e4 formatter: Add or remove parens for `let` declaration (oxc-project#24215) (leaysgur) ### ⚡ Performance - eeb1913 formatter_core: Avoid per-call `Vec` work-stack in soft-line removal (oxc-project#23775) (Marius Schulz) - a2f255b formatter: Use `SmallVec` for `MemberChain` collections (oxc-project#23776) (Marius Schulz) ### 📚 Documentation - b52d0f5 formatter: Add TODO comment about unsound code (oxc-project#24372) (overlookmotel) Co-authored-by: Boshen <1430279+Boshen@users.noreply.github.com>
release(crates): oxc v0.140.0 (oxc-project#24453) ### 🚀 Features - 616bfa2 minifier: Remove unreachable code after terminating statements (oxc-project#24441) (Dunqing) - ddab89a data_structures: Add `likely` and `unlikely` functions (oxc-project#24368) (overlookmotel) - a3a39f9 react_compiler: Implement enableEmitHookGuards codegen (oxc-project#24329) (Boshen) - b79eef7 minifier: Apply De Morgan's law to negated comparison chains in jump guards and loop tests (oxc-project#24279) (Dunqing) - 34ff7b4 minifier: Drop write-only property assignments to unused local bindings by default (oxc-project#24112) (Dunqing) - 1b829d8 semantic: Record const enums in EnumData (oxc-project#24268) (Dunqing) - ba0944c semantic: Add `Scoping::set_symbol_span` (oxc-project#24221) (camc314) ### 🐛 Bug Fixes - 7d33363 minifier: Preserve guaranteed throws from class heritage evaluation (oxc-project#24349) (Dunqing) - 058a62f semantic: Track ambient contexts in `SemanticBuilder` (oxc-project#24327) (camc314) - 721eb0b transformer/decorator: Scope accessor class binding (oxc-project#24330) (camc314) - 1ebdce3 semantic: Allow reserved keywords in ambient declaration types (oxc-project#24325) (camc314) - 460176a track-memory-allocations: Exclude arena chunks from Sys allocs (oxc-project#24292) (Dunqing) - af4922b transformer: Clear lowered namespace redeclarations (oxc-project#24300) (camc314) - ffd2765 semantic: Mark declared computed `MethodDefinition`s as type references (oxc-project#24296) (camc314) - f17514b isolated-declarations: Emit const readonly fields as types (oxc-project#24288) (camc314) - 40f769d minifier: Make `__proto__` write tracking execution-order independent (oxc-project#24280) (Dunqing) - 6371fed transformer: Remove stale enum member bindings (oxc-project#24272) (camc314) - f05dfab transformer: Correct symbol flags for lowered namespaces (oxc-project#24271) (Dunqing) - 84eeb55 transformer: Correct symbol flags for lowered enums (oxc-project#24269) (Dunqing) - c3057da transformer: Preserve generated class binding spans (oxc-project#24220) (camc314) - 8260096 transformer: Correct span for lowered namespace symbol (oxc-project#24222) (camc314) - 42d00d3 semantic: Mark declared class heritage as type references (oxc-project#24237) (camc314) - 588d997 semantic: Mark TS `PropertyDefinition`s computed fields as type references (oxc-project#24233) (camc314) - 9b95632 semantic: Mark computed method keys in `TSMethodSignature`s as type references (oxc-project#24232) (camc314) ### ⚡ Performance - 5b26643 transformer_plugins: Dispatch global defines by trailing name (oxc-project#23666) (Boshen) - dce0f29 react_compiler: Replace all compiled functions in a single AST walk (oxc-project#24403) (Boshen) - f85f0d8 ast: Delegate inherited enum variants in clone_in and estree derives (oxc-project#23555) (Boshen) - 3ff0234 allocator: Remove `unwrap` from `ReplaceWith` (oxc-project#24365) (overlookmotel) - ab22e80 transformer: Fix Rust 1.97 performance regression (oxc-project#24354) (camc314) - b47585c parser: Use `ReplaceWith` instead of `TakeIn` (oxc-project#24018) (overlookmotel) - b227a06 minifier: Use `ReplaceWith` instead of `TakeIn` (oxc-project#24017) (overlookmotel) Co-authored-by: Boshen <1430279+Boshen@users.noreply.github.com>
release(apps): oxlint v1.74.0 && oxfmt v0.59.0 (oxc-project#24454) # Oxlint ### 🚀 Features - 0433a83 linter/eslint/no-inner-declarations: Add `namespaces` option (oxc-project#24044) (Boshen) - 92f154a oxlint,oxfmt: Auto-discover `.mts` config files (oxc-project#24357) (camc314) - 8c1d74b linter/import/no-duplicates: Add autofix logic (oxc-project#24273) (Cole Ellison) ### 🐛 Bug Fixes - 0b086de linter/jest/prefer-lowercase-title: False positive when `lowercaseFirstCharacterOnly` is false (oxc-project#24414) (Connor Shea) - 097cb95 linter: Allow `vite-plus/test` and `@effect as Vitest source (oxc-project#24196) (Liang) - 8337835 linter: Error on `ignorePatterns` that cannot match files aoutside the config directory (oxc-project#24341) (leaysgur) - 9ba30e5 linter/oxc/bad-replace-all-arg: Add note to enhance diagnostic (oxc-project#24346) (camc314) - 2ce5a33 linter: Resolve `ignorePatterns` relative to the config dir (oxc-project#24339) (leaysgur) - ab90eed linter/eslint/no-loop-func: Do not error on catch variables (oxc-project#24316) (Chris Opperwall) - b67f0a6 linter/eslint/no-unused-vars: Count default parameter updates as usage (oxc-project#24323) (camc314) - d193f8e linter: Detect Junie agent env vars (oxc-project#24277) (Jeevan Mohan Pawar) - 2aecf60 linter/eslint/no-unreachable: Handle `break` in switch stmts correctly (oxc-project#24260) (camc314) ### ⚡ Performance - 7f80cac linter/vue/prop-name-casing: Precompile `ignoreProps` regex pattern (oxc-project#24413) (connorshea) - 6272051 linter/typescript/no-require-imports: Compile allow patterns once (oxc-project#24417) (connorshea) - fb1edf1 linter: Compute comment fix span only for directive comments (oxc-project#24419) (connorshea) - 33805b9 linter/jsdoc/require-param: Compile checkTypesPattern regex once (oxc-project#24420) (connorshea) - 8de6fca linter/jest/valid-title: Compile disallowedWords regex once (oxc-project#24412) (Connor Shea) - 4a0d8dc linter/eslint/no-underscore-dangle: Avoid String clone per identifier (oxc-project#24371) (Ian Macalinao) - f3ab04c linter/typescript/consistent-type-imports: Remove redundant Vec per violation (oxc-project#24370) (Ian Macalinao) - 4d2d78d linter/typescript/prefer-ts-expect-error: Avoid String clone per comment (oxc-project#24369) (Ian Macalinao) # Oxfmt ### 🚀 Features - 3a7fe74 formatter_css: Update oxc-css-parser to 0.0.7 (oxc-project#24434) (leaysgur) - 0173cd3 formatter_css: Format Less :extend and merge props (oxc-project#24358) (leaysgur) - 92f154a oxlint,oxfmt: Auto-discover `.mts` config files (oxc-project#24357) (camc314) - df250df formatter: Support `quoteProps` for TS enum and methods (oxc-project#24309) (leaysgur) - a9a5cd6 formatter_core: Expose `SourceText::as_str()` (oxc-project#24281) (leaysgur) ### 🐛 Bug Fixes - 162bddf formatter: Add required parens for conditional type in type parameter constraint (oxc-project#24450) (leaysgur) - 2d22a91 formatter: Determine type cast target from span instead of lexical scan (oxc-project#24447) (leaysgur) - 25306e9 formatter: Do not add extra parens with type cast comment (oxc-project#24444) (leaysgur) - bd6edfe formatter: Break arrow signature that exactly fills the line when cond body may hug (oxc-project#24440) (leaysgur) - a99ef41 formatter: Keep quotes on method signature named new (oxc-project#24432) (leaysgur) - fcc28df formatter_css: Keep glued-braket-value tight (oxc-project#24352) (leaysgur) - 8337835 linter: Error on `ignorePatterns` that cannot match files aoutside the config directory (oxc-project#24341) (leaysgur) - b7c7e15 formatter: Add parens for import and private field in new callee chain (oxc-project#24320) (leaysgur) - 0c8f6e4 formatter: Update detect_code_removal for oxc-project#24309 (oxc-project#24314) (leaysgur) - a85aad0 formatter: Fix member-chain and non-null parens (oxc-project#24312) (leaysgur) - 1c29c73 formatter: Preserve `TSNonNullExpression` in chain expression (oxc-project#24311) (leaysgur) - 8933c0e formatter: Keep comment inside of empty `switch` block (oxc-project#24308) (leaysgur) - ec26af2 formatter: Preserve blank lines between JSX attrs (oxc-project#24290) (leaysgur) - 70bd54d formatter: Keep arrow function body comment (oxc-project#24287) (leaysgur) - 415fe1e oxfmt: Error on ignorePatterns that cannot match files outside the config directory (oxc-project#24286) (leaysgur) - eeabc4a formatter_css: Bail on EOF-recovered parse errors (oxc-project#24282) (leaysgur) - 42ec8de formatter: Keep comments inside surviving parens and suppressed statement terminators (oxc-project#24253) (leaysgur) - 1343779 formatter: Keep comment inline for empty statements (oxc-project#24249) (leaysgur) - b996579 formatter: Print ; before trailing comments part 2 (oxc-project#24246) (leaysgur) - 4f86e8c formatter: Print `;` before trailing comments (oxc-project#24244) (leaysgur) - 01252e4 formatter: Add or remove parens for `let` declaration (oxc-project#24215) (leaysgur) ### ⚡ Performance - eeb1913 formatter_core: Avoid per-call `Vec` work-stack in soft-line removal (oxc-project#23775) (Marius Schulz) - a2f255b formatter: Use `SmallVec` for `MemberChain` collections (oxc-project#23776) (Marius Schulz) ### 📚 Documentation - b52d0f5 formatter: Add TODO comment about unsound code (oxc-project#24372) (overlookmotel) Co-authored-by: Boshen <1430279+Boshen@users.noreply.github.com>
release(apps): oxlint v1.73.0 && oxfmt v0.58.0 (oxc-project#24219) # Oxlint ### 🚀 Features - 7db7a29 allocator: Add `ReplaceWith` trait (oxc-project#24012) (overlookmotel) - a2c97f3 linter/unicorn: Implement `explicit-timer-delay` rule (oxc-project#23612) (Mikhail Baev) - 85735cb linter/unicorn: Implement `no-confusing-array-with` rule (oxc-project#23638) (Shekhu☺️ ) - cb4fbb9 linter/eslint: Implement no-unreachable-loop rule (oxc-project#23975) (Todor Andonov) - dc32112 linter/eslint/no-constant-binary-expression: Check relational comparisons (oxc-project#24088) (camc314) - 439c344 linter/jsdoc: Added missing options to `jsdoc/require-param` rule (oxc-project#23364) (kapobajza) - 62af717 linter/unicorn/filename-case: Add `lowercase` and `screamingSnakeCase` (oxc-project#24045) (Boshen) - d963967 linter/unicorn/no-array-sort: Add `allowAfterSpread` option (oxc-project#24043) (Boshen) - 0a75682 linter: Add per-rule timings for type-aware linting (oxc-project#22488) (camchenry) - 743e222 linter/react: Add `disallowedValues` option for `forbid-dom-props` rule (oxc-project#23970) (Mikhail Baev) ### 🐛 Bug Fixes - 7b80010 linter: Use direct binding symbol ids (oxc-project#24216) (camc314) - 8f94b49 linter/import/no-duplicates: Don't flag a type-only import beside a side-effect import (oxc-project#24030) (Boshen) - d8c3fee linter/react/rules-of-hooks: Flag `useEffectEvent` escapes (oxc-project#23764) (Rayan Salhab) - 0a7312b linter/no-deprecated-functions: Map `require.requireActual` to `jest.requireActual` (oxc-project#23627) (Jerry Zhao) - d9e3ab3 linter/eslint/no-useless-return: Handle switch case continuation (oxc-project#23984) (camc314) - 0b25582 ast: Type binding node `typeAnnotation` as `TSTypeAnnotation | null` (oxc-project#23113) (Boshen) - 122d112 linter/eslint/no-restricted-imports: Flag dynamic import() expressions (oxc-project#24029) (Boshen) - 59b6b83 linter: Avoid `OnceLock` re-entry on cyclic `export *` re-exports (oxc-project#23632) (Jerry Zhao) - dd09af0 linter/import/namespace: Avoid panic on destructuring of an unresolvable namespace re-export (oxc-project#23626) (Jerry Zhao) - bdb51c7 linter/jest/prefer-ending-with-an-expect: Validate config patterns (oxc-project#24122) (camc314) - e383843 linter/unicorn/prefer-modern-dom-apis: Skip fixer for non identifier arguments (oxc-project#23630) (Jerry Zhao) - 0ac4c83 linter: Detect circular config extends (oxc-project#24115) (camc314) - bae1edf linter/import/namespace: Check namespace imports after named imports (oxc-project#24094) (camc314) - cd8fdfe linter/eslint/no-eval: Recognize Array.from family thisArg (oxc-project#24091) (camc314) - 851ee43 linter/eslint/no-eval: Resolve this binding for functions returned from an IIFE (oxc-project#23643) (Jerry Zhao) - 002ab35 linter/unicorn: Avoid prefer-array-find rest destructuring false positive (oxc-project#23654) (ColemanDunn) - 01c8775 linter/unicorn/filename-case: Keep digits attached in screamingSnakeCase (oxc-project#24056) (Boshen) - f256941 linter: Recognize `@effect/vitest` as a vitest import source (oxc-project#24025) (Boshen) - 73eeb1d linter/import/extensions: Honor per-extension `never` for explicit extensions (oxc-project#24031) (Boshen) - d4ebe1f linter: Reject non-object oxlint config files (oxc-project#24026) (Boshen) - 45d607d linter/react/forbid-component-props: Make allow/disallow lists optional in schema (oxc-project#24024) (Boshen) - 54076ad linter/unicorn/no-array-for-each: Suggest entries loop for index callbacks (oxc-project#24004) (camc314) - d057736 linter/jsdoc: Avoid param root underflow (oxc-project#23945) (camc314) - 29c76bf linter/unicorn/prefer-at: Skip object numeric-key access (oxc-project#23909) (Gaurav Dubey) ### ⚡ Performance - 657a8fc linter/oxc/bad-array-method-on-arguments: Only run on member expressions instead of all identifiers (oxc-project#24164) (camchenry) - 073d9e7 linter/eslint/prefer-rest-params: Run on functions instead of all identifiers (oxc-project#24163) (camchenry) - e5a4162 linter/jest/no-confusing-set-timeout: Early exit fast path (oxc-project#24092) (camc314) - bca7ce5 linter: Only run react-perf rules on JSX attribute nodes (oxc-project#24083) (camchenry) - 6881bf6 linter: Compute `apply_overrides` rule set lazily (oxc-project#23648) (Jerry Zhao) - 911c106 linter/eslint/no-obj-calls: Use resolved reference instead of scope walk (oxc-project#23895) (Marius Schulz) - dc8fd9a linter/unicorn/prefer-dom-node-text-content: Change dispatch to run only on less common node types (oxc-project#23897) (Connor Shea) - fdbd34d linter/eslint/no-useless-call: Fast-path static callees (oxc-project#24077) (camc314) - b1be114 linter/import/extensions: Skip empty config and borrow extensions (oxc-project#24075) (camc314) - 4781b2d linter/eslint/no-obj-calls: Use direct global matches (oxc-project#24076) (camc314) - e6cee89 linter: Avoid node-chain allocation for non-Jest calls (oxc-project#23907) (Yagiz Nizipli) - 30dc517 linter/typescript/no-restricted-types: O(1) banned-type lookups (oxc-project#23827) (Yagiz Nizipli) ### 📚 Documentation - 6ca9125 linter/typescript: Clarify consistent-type-imports behavior (oxc-project#23972) (camc314) # Oxfmt ### 🚀 Features - 4f4313e formatter_css: Update oxc-css-parser 0.0.5 (oxc-project#24120) (leaysgur) - 0ccd8a1 formatter_graphql: Update oxc-graphql-parser 0.0.5 (oxc-project#24106) (leaysgur) - 89ec3d9 formatter_core: Add literal line and root indention primitives (oxc-project#24051) (leaysgur) - 213a96b formatter_core: Add no-expand-parent for multiline text (oxc-project#24050) (leaysgur) - 0e5bcc9 formatter_graphql: Update oxc-graphql-parser 0.0.4 (oxc-project#24039) (leaysgur) - e0b35a1 formatter_css: Update `oxc-css-parser@0.0.3` (oxc-project#23974) (leaysgur) ### 🐛 Bug Fixes - 1fe6546 formatter: Omit unneeded `;` for type members with `no-semi` (oxc-project#24212) (leaysgur) - 0ad7316 formatter: Print space for `ForStatement`.`update` only if exists (oxc-project#24211) (leaysgur) - 3abbed5 formatter: Print `;` before jsdoc type-cast parens with no-semi (oxc-project#24208) (leaysgur) - 9af3833 formatter_css: Make scss formatter consistent (oxc-project#24207) (leaysgur) - 46d7194 formatter_css: Use fill IR for `@forward` members (oxc-project#24206) (leaysgur) - e31038f formatter_css: Keep comment inside sass config list (oxc-project#24205) (leaysgur) - d3b9591 formatter: Add parens around `await/yield` with `<T>` (oxc-project#24202) (leaysgur) - 2121a55 oxfmt: Reuse tinypool process during the same LSP process (oxc-project#24197) (leaysgur) - 9bf4b4a formatter_css: Align CSS output to Prettier 3.9.1 (oxc-project#24100) (leaysgur) - cd2452e formatter_css: Align SCSS output to Prettier 3.9.1 (oxc-project#24097) (leaysgur) - 4ee8745 formatter_css: Keep selector value contain line-break without breaking line (oxc-project#24055) (leaysgur) - e1ece97 formatter_graphql: Break `implements` list by print-width (oxc-project#23997) (leaysgur) - 0a6b16c formatter_json: Preserve key and literal value for json-stringify (oxc-project#23996) (leaysgur) - 903ab6e formatter_css: Preserve newlines in css-in-js selector list (oxc-project#23992) (leaysgur) - ea5d095 oxfmt: Update `--migrate prettier` (oxc-project#23963) (leaysgur) ### ⚡ Performance - 468e1e3 formatter_core: Make printer queues cursor-based (oxc-project#24098) (Boshen) - c59f2fe rust: Return impl ExactSizeIterator from slice-backed accessors (oxc-project#24144) (Boshen) - c292fb2 formatter: Inline fits element dispatcher (oxc-project#23982) (camc314) Co-authored-by: Boshen <1430279+Boshen@users.noreply.github.com>
release(apps): oxlint v1.73.0 && oxfmt v0.58.0 (oxc-project#24219) # Oxlint ### 🚀 Features - 7db7a29 allocator: Add `ReplaceWith` trait (oxc-project#24012) (overlookmotel) - a2c97f3 linter/unicorn: Implement `explicit-timer-delay` rule (oxc-project#23612) (Mikhail Baev) - 85735cb linter/unicorn: Implement `no-confusing-array-with` rule (oxc-project#23638) (Shekhu☺️ ) - cb4fbb9 linter/eslint: Implement no-unreachable-loop rule (oxc-project#23975) (Todor Andonov) - dc32112 linter/eslint/no-constant-binary-expression: Check relational comparisons (oxc-project#24088) (camc314) - 439c344 linter/jsdoc: Added missing options to `jsdoc/require-param` rule (oxc-project#23364) (kapobajza) - 62af717 linter/unicorn/filename-case: Add `lowercase` and `screamingSnakeCase` (oxc-project#24045) (Boshen) - d963967 linter/unicorn/no-array-sort: Add `allowAfterSpread` option (oxc-project#24043) (Boshen) - 0a75682 linter: Add per-rule timings for type-aware linting (oxc-project#22488) (camchenry) - 743e222 linter/react: Add `disallowedValues` option for `forbid-dom-props` rule (oxc-project#23970) (Mikhail Baev) ### 🐛 Bug Fixes - 7b80010 linter: Use direct binding symbol ids (oxc-project#24216) (camc314) - 8f94b49 linter/import/no-duplicates: Don't flag a type-only import beside a side-effect import (oxc-project#24030) (Boshen) - d8c3fee linter/react/rules-of-hooks: Flag `useEffectEvent` escapes (oxc-project#23764) (Rayan Salhab) - 0a7312b linter/no-deprecated-functions: Map `require.requireActual` to `jest.requireActual` (oxc-project#23627) (Jerry Zhao) - d9e3ab3 linter/eslint/no-useless-return: Handle switch case continuation (oxc-project#23984) (camc314) - 0b25582 ast: Type binding node `typeAnnotation` as `TSTypeAnnotation | null` (oxc-project#23113) (Boshen) - 122d112 linter/eslint/no-restricted-imports: Flag dynamic import() expressions (oxc-project#24029) (Boshen) - 59b6b83 linter: Avoid `OnceLock` re-entry on cyclic `export *` re-exports (oxc-project#23632) (Jerry Zhao) - dd09af0 linter/import/namespace: Avoid panic on destructuring of an unresolvable namespace re-export (oxc-project#23626) (Jerry Zhao) - bdb51c7 linter/jest/prefer-ending-with-an-expect: Validate config patterns (oxc-project#24122) (camc314) - e383843 linter/unicorn/prefer-modern-dom-apis: Skip fixer for non identifier arguments (oxc-project#23630) (Jerry Zhao) - 0ac4c83 linter: Detect circular config extends (oxc-project#24115) (camc314) - bae1edf linter/import/namespace: Check namespace imports after named imports (oxc-project#24094) (camc314) - cd8fdfe linter/eslint/no-eval: Recognize Array.from family thisArg (oxc-project#24091) (camc314) - 851ee43 linter/eslint/no-eval: Resolve this binding for functions returned from an IIFE (oxc-project#23643) (Jerry Zhao) - 002ab35 linter/unicorn: Avoid prefer-array-find rest destructuring false positive (oxc-project#23654) (ColemanDunn) - 01c8775 linter/unicorn/filename-case: Keep digits attached in screamingSnakeCase (oxc-project#24056) (Boshen) - f256941 linter: Recognize `@effect/vitest` as a vitest import source (oxc-project#24025) (Boshen) - 73eeb1d linter/import/extensions: Honor per-extension `never` for explicit extensions (oxc-project#24031) (Boshen) - d4ebe1f linter: Reject non-object oxlint config files (oxc-project#24026) (Boshen) - 45d607d linter/react/forbid-component-props: Make allow/disallow lists optional in schema (oxc-project#24024) (Boshen) - 54076ad linter/unicorn/no-array-for-each: Suggest entries loop for index callbacks (oxc-project#24004) (camc314) - d057736 linter/jsdoc: Avoid param root underflow (oxc-project#23945) (camc314) - 29c76bf linter/unicorn/prefer-at: Skip object numeric-key access (oxc-project#23909) (Gaurav Dubey) ### ⚡ Performance - 657a8fc linter/oxc/bad-array-method-on-arguments: Only run on member expressions instead of all identifiers (oxc-project#24164) (camchenry) - 073d9e7 linter/eslint/prefer-rest-params: Run on functions instead of all identifiers (oxc-project#24163) (camchenry) - e5a4162 linter/jest/no-confusing-set-timeout: Early exit fast path (oxc-project#24092) (camc314) - bca7ce5 linter: Only run react-perf rules on JSX attribute nodes (oxc-project#24083) (camchenry) - 6881bf6 linter: Compute `apply_overrides` rule set lazily (oxc-project#23648) (Jerry Zhao) - 911c106 linter/eslint/no-obj-calls: Use resolved reference instead of scope walk (oxc-project#23895) (Marius Schulz) - dc8fd9a linter/unicorn/prefer-dom-node-text-content: Change dispatch to run only on less common node types (oxc-project#23897) (Connor Shea) - fdbd34d linter/eslint/no-useless-call: Fast-path static callees (oxc-project#24077) (camc314) - b1be114 linter/import/extensions: Skip empty config and borrow extensions (oxc-project#24075) (camc314) - 4781b2d linter/eslint/no-obj-calls: Use direct global matches (oxc-project#24076) (camc314) - e6cee89 linter: Avoid node-chain allocation for non-Jest calls (oxc-project#23907) (Yagiz Nizipli) - 30dc517 linter/typescript/no-restricted-types: O(1) banned-type lookups (oxc-project#23827) (Yagiz Nizipli) ### 📚 Documentation - 6ca9125 linter/typescript: Clarify consistent-type-imports behavior (oxc-project#23972) (camc314) # Oxfmt ### 🚀 Features - 4f4313e formatter_css: Update oxc-css-parser 0.0.5 (oxc-project#24120) (leaysgur) - 0ccd8a1 formatter_graphql: Update oxc-graphql-parser 0.0.5 (oxc-project#24106) (leaysgur) - 89ec3d9 formatter_core: Add literal line and root indention primitives (oxc-project#24051) (leaysgur) - 213a96b formatter_core: Add no-expand-parent for multiline text (oxc-project#24050) (leaysgur) - 0e5bcc9 formatter_graphql: Update oxc-graphql-parser 0.0.4 (oxc-project#24039) (leaysgur) - e0b35a1 formatter_css: Update `oxc-css-parser@0.0.3` (oxc-project#23974) (leaysgur) ### 🐛 Bug Fixes - 1fe6546 formatter: Omit unneeded `;` for type members with `no-semi` (oxc-project#24212) (leaysgur) - 0ad7316 formatter: Print space for `ForStatement`.`update` only if exists (oxc-project#24211) (leaysgur) - 3abbed5 formatter: Print `;` before jsdoc type-cast parens with no-semi (oxc-project#24208) (leaysgur) - 9af3833 formatter_css: Make scss formatter consistent (oxc-project#24207) (leaysgur) - 46d7194 formatter_css: Use fill IR for `@forward` members (oxc-project#24206) (leaysgur) - e31038f formatter_css: Keep comment inside sass config list (oxc-project#24205) (leaysgur) - d3b9591 formatter: Add parens around `await/yield` with `<T>` (oxc-project#24202) (leaysgur) - 2121a55 oxfmt: Reuse tinypool process during the same LSP process (oxc-project#24197) (leaysgur) - 9bf4b4a formatter_css: Align CSS output to Prettier 3.9.1 (oxc-project#24100) (leaysgur) - cd2452e formatter_css: Align SCSS output to Prettier 3.9.1 (oxc-project#24097) (leaysgur) - 4ee8745 formatter_css: Keep selector value contain line-break without breaking line (oxc-project#24055) (leaysgur) - e1ece97 formatter_graphql: Break `implements` list by print-width (oxc-project#23997) (leaysgur) - 0a6b16c formatter_json: Preserve key and literal value for json-stringify (oxc-project#23996) (leaysgur) - 903ab6e formatter_css: Preserve newlines in css-in-js selector list (oxc-project#23992) (leaysgur) - ea5d095 oxfmt: Update `--migrate prettier` (oxc-project#23963) (leaysgur) ### ⚡ Performance - 468e1e3 formatter_core: Make printer queues cursor-based (oxc-project#24098) (Boshen) - c59f2fe rust: Return impl ExactSizeIterator from slice-backed accessors (oxc-project#24144) (Boshen) - c292fb2 formatter: Inline fits element dispatcher (oxc-project#23982) (camc314) Co-authored-by: Boshen <1430279+Boshen@users.noreply.github.com>
PreviousNext