Tags: tt-a1i/oxc
Tags
release(apps): oxlint v1.32.0 && oxfmt v0.17.0 (oxc-project#16596) # Oxlint ### 🚀 Features - 5c62c16 linter/plugins: Allow JS plugins to access `globals` (oxc-project#16512) (Arsh) - ba7bd51 linter: Implement no-useless-return rule (oxc-project#16388) (FMP1783) - fa605df linter: Fix `arrow-body-style` automatically (oxc-project#16252) (Hamir Mahal) - 7584938 linter/plugins: Add ESLint compat mode to `RuleTester` (oxc-project#16538) (overlookmotel) - b38c2d0 linter/plugins: Add `SourceCode#lineStartIndices` getter (oxc-project#16510) (overlookmotel) - ba93ffc linter/plugins: Add `SourceCode#tokensAndComments` getter (oxc-project#16503) (overlookmotel) - d2ca540 linter/plugins: Add `SourceCode#isESTree` property (oxc-project#16499) (overlookmotel) - 9001234 linter: Add fix support for tsgolint diagnostics (oxc-project#16344) (camc314) - 2d6bb85 editors: Toggle client after vscode config changing (oxc-project#16162) (Liang Mi) - 0ec454c linter/plugins: Merge default options into options (oxc-project#16358) (overlookmotel) ### 🐛 Bug Fixes - a806d74 linter: Use import type for ESTree in visitor.d.ts (oxc-project#16472) (camc314) - 8933c84 linter: Fix jest/expect-expect rule docs. (oxc-project#16550) (connorshea) - 1c08879 linter: Fix false positive in no-invalid-fetch-options for conditional expressions (oxc-project#16570) (camc314) - 1a69b06 linter: Junit support for multiple files/errors/diagnostics (oxc-project#16568) (Shrey Sudhir) - a7d435b linter/sort-keys: Preserve multi-line formatting in autofix (oxc-project#16563) (camc314) - fd84dcc linter/plugins: `RuleTester` parser catch fatal errors (oxc-project#16558) (overlookmotel) - ab4deb0 linter/plugins: Improve safety of options merging (oxc-project#16549) (overlookmotel) - a58c76a linter: Fix the `react/jsx-fragments` rule config to take a string argument (oxc-project#16175) (connorshea) - f7751cc linter/plugins: Fix TS types for `RuleTester` (oxc-project#16546) (overlookmotel) - 6d33320 linter/plugins: Prevent user modifying the default config (oxc-project#16545) (overlookmotel) - b4483c5 linter/plugins: Add config support skeleton to `RuleTester` (oxc-project#16537) (overlookmotel) - 3a49158 linter/plugins: Improve TS types for tokens (oxc-project#16502) (overlookmotel) - 0c14531 oxlint/lsp: Revalidate all known files after internal restart (oxc-project#16407) (Sysix) - 2d3217e linter/plugins: Remove panics from `lint_file` and `setup_configs` (oxc-project#16453) (overlookmotel) - 655341b linter/oxc: Not emit error when the threshold is zero and we haven't detected a barrel file (oxc-project#16455) (Said Atrahouch) - b9f359f linter/no-var: Expand fix span to prevent conflicts with other rules (oxc-project#16445) (camc314) - c6778f3 linter: Preserve original quote style in no-hex-escape fixer (oxc-project#16410) (camc314) - 3ad913b linter: Improve rule docs page autofix description (oxc-project#16281) (Hamir Mahal) - 0b7e00c linter: Handle keyword unary expressions in yoda rule fix (oxc-project#16402) (camc314) - 5fd3096 lsp: Skip (un)registering file watcher when not dynamic watchers are supported (oxc-project#16406) (Sysix) - 804144f lsp: Respect `null` as invalid settings for `workspace/didChangeConfiguration` (oxc-project#16361) (Sysix) - 723a7e5 linter: Prevent invalid BigInt literal fix for exponential notation (oxc-project#16401) (camc314) - 2589fb1 linter: Fix prefer_expect_resolves fixer for member expressions (oxc-project#16393) (camc314) - 428c7cd linter: Wrap logical expressions in parentheses when fixing no-extra-boolean-cast (oxc-project#16363) (camc314) - 3903567 linter: Skip prefer-string-raw in type annotations and .d.ts files (oxc-project#16382) (camc314) - d490daa linter/func-names: Use centralized reserved keyword check and fix ancestor traversal (oxc-project#16362) (camc314) - d846c53 tsgolint: Use `expect` when sending diagnostics (oxc-project#16341) (camc314) - 114665d lsp: Watch for files when workspace folder is added & `workspace/configuration` is not supported (oxc-project#16307) (Sysix) - f5d0ebb linter/func-names: Avoid suggesting reserved keywords as function names (oxc-project#16352) (camc314) - d268135 linter/no-console-spaces: Preserve escape sequences in fixer output (oxc-project#16349) (camc314) - b02c21a linter/valid-title: Preserve escape sequences in fixer output (oxc-project#16348) (camc314) - 2373b76 linter/no-untyped-mock-factory: Fix fixer producing invalid syntax when newline exists after opening paren (oxc-project#16351) (camc314) ### ⚡ Performance - 67cfa58 lsp: Avoid some clones (oxc-project#16519) (Sysix) - 2a09665 oxlint/lsp: Store only `LinterCodeAction` instead of the complete `DiagnosticReport` (oxc-project#16516) (Sysix) - 0ca9754 lsp: Avoid `Uri` to `String` and back to `Uri` conversion (oxc-project#16470) (Sysix) - 2736636 lsp: Avoid cloning when revalidating diagnostics (oxc-project#16469) (Sysix) - 793b989 linter/plugins: Move result-processing work off main JS thread (oxc-project#16456) (overlookmotel) - 44dff7b linter/plugins: Skip serialization overhead when no errors (oxc-project#16443) (overlookmotel) - 1aa2409 linter/plugins: Do not remove `messageId` field from `DiagnosticReport` before sending to Rust (oxc-project#16442) (overlookmotel) - 5017db8 linter/plugins: Reduce calls to `Path::to_string_lossy` (oxc-project#16429) (overlookmotel) - 194e357 linter: Use `SmallVec` for rule options (oxc-project#16400) (Copilot) - e31b2bd linter: Only clone config if required (oxc-project#16350) (overlookmotel) - 3026086 linter: Avoid cloning rule options (oxc-project#16338) (overlookmotel) ### 📚 Documentation - fef77af linter: Fix `jsx-a11y/img-redundant-alt` configuration option names. (oxc-project#16552) (connorshea) - c0766df linter: Add config option docs for `unicorn/filename-case` rule. (oxc-project#16280) (connorshea) - e24aabd linter/plugins: Correct comment (oxc-project#16559) (overlookmotel) - 514c724 linter: Fix the name of the IIFEs config option in eslint/max-lines-per-function (oxc-project#16554) (connorshea) - 4d94438 linter/rules: Correct arrow body style options in documentation (oxc-project#16509) (GRK) - 6bac4ec linter: Pull configuration struct doc comment when rendering config docs (oxc-project#16288) (connorshea) - 8c85e08 linter/plugins: Add TODO comment (oxc-project#16511) (overlookmotel) - a9b9298 linter/plugins: Add JSDoc comments to `SourceCode` properties (oxc-project#16497) (overlookmotel) - 467cc1a linter/plugins: Improve comment on error branch (oxc-project#16464) (overlookmotel) - 041b119 linter: Add config option docs to `jest/consistent-test-it` rule. (oxc-project#16286) (connorshea) ### 🛡️ Security - d90ef9f deps: Update dependency rolldown to v1.0.0-beta.53 (oxc-project#16428) (renovate[bot]) # Oxfmt ### 🚀 Features - 3184f17 oxfmt: Pass filepath field to prettier formatting (oxc-project#16591) (Yuji Sugiura) - 7bb3304 oxfmt: Pass populated config to prettier formatting (oxc-project#16584) (leaysgur) - 69f84d2 oxfmt: Pass raw config to prettier formatting (oxc-project#16582) (leaysgur) - a83a2ec oxfmt: Expose `setupConfig(configJSON: string)` napi callback (oxc-project#16579) (leaysgur) - 930533f formatter: Convert single `\r` to `\n` in string and add a debug assertion to ensure that there is no `\r` in the text (oxc-project#16531) (Dunqing) - af76b0e oxfmt: Support formatting HTML, YAML, GraphQL, Handlerbars, Markdown, CSS files (oxc-project#16524) (leaysgur) - 66b64ef oxfmt: Support formatting JSON files (oxc-project#16523) (leaysgur) - 4767926 oxfmt: Prepare non-js/ts file support with prettier (oxc-project#16480) (leaysgur) - 2b4ce5d oxfmt: Use dedicated `format_by_xxx_formatter` method by `SourceType` (oxc-project#16417) (leaysgur) - 0867d2f oxfmt: Set up JS `formatFile()` function for Rust via napi (oxc-project#16415) (leaysgur) - b6feb66 oxfmt: Rename `embedded.ts` with preparing `formatFile()` function (oxc-project#16414) (leaysgur) - 80e6999 formatter: Add debug assertion to ensure that there is no empty content is passed in (oxc-project#16475) (Dunqing) - 7374856 formatter/sort-imports: Support `options.internalPattern` (oxc-project#16372) (leaysgur) - dd2cb62 oxfmt: Not error on explicit `--write` flag used (oxc-project#16376) (leaysgur) ### 🐛 Bug Fixes - 40b0134 formatter: Incorrect formatting of `useImperativeHandle` hook (oxc-project#16533) (Dunqing) - 75393e7 formatter: Incorrect handling of `CRLF` for multiline block comment (oxc-project#16528) (Dunqing) - ee0756b formatter: JSX text wrapping incorrect 2 (oxc-project#16320) (Dunqing) - 36308b8 formatter: Fix indent for new expression with type cast (oxc-project#16380) (leaysgur) ### ⚡ Performance - 6f16a8f formatter: Avoid using an indent with a empty content (oxc-project#16474) (Dunqing) - 201c98f formatter: Early return when no comments need to be printed (oxc-project#16432) (Dunqing) Co-authored-by: Boshen <[email protected]>
release(apps): oxlint v1.32.0 && oxfmt v0.17.0 (oxc-project#16596) # Oxlint ### 🚀 Features - 5c62c16 linter/plugins: Allow JS plugins to access `globals` (oxc-project#16512) (Arsh) - ba7bd51 linter: Implement no-useless-return rule (oxc-project#16388) (FMP1783) - fa605df linter: Fix `arrow-body-style` automatically (oxc-project#16252) (Hamir Mahal) - 7584938 linter/plugins: Add ESLint compat mode to `RuleTester` (oxc-project#16538) (overlookmotel) - b38c2d0 linter/plugins: Add `SourceCode#lineStartIndices` getter (oxc-project#16510) (overlookmotel) - ba93ffc linter/plugins: Add `SourceCode#tokensAndComments` getter (oxc-project#16503) (overlookmotel) - d2ca540 linter/plugins: Add `SourceCode#isESTree` property (oxc-project#16499) (overlookmotel) - 9001234 linter: Add fix support for tsgolint diagnostics (oxc-project#16344) (camc314) - 2d6bb85 editors: Toggle client after vscode config changing (oxc-project#16162) (Liang Mi) - 0ec454c linter/plugins: Merge default options into options (oxc-project#16358) (overlookmotel) ### 🐛 Bug Fixes - a806d74 linter: Use import type for ESTree in visitor.d.ts (oxc-project#16472) (camc314) - 8933c84 linter: Fix jest/expect-expect rule docs. (oxc-project#16550) (connorshea) - 1c08879 linter: Fix false positive in no-invalid-fetch-options for conditional expressions (oxc-project#16570) (camc314) - 1a69b06 linter: Junit support for multiple files/errors/diagnostics (oxc-project#16568) (Shrey Sudhir) - a7d435b linter/sort-keys: Preserve multi-line formatting in autofix (oxc-project#16563) (camc314) - fd84dcc linter/plugins: `RuleTester` parser catch fatal errors (oxc-project#16558) (overlookmotel) - ab4deb0 linter/plugins: Improve safety of options merging (oxc-project#16549) (overlookmotel) - a58c76a linter: Fix the `react/jsx-fragments` rule config to take a string argument (oxc-project#16175) (connorshea) - f7751cc linter/plugins: Fix TS types for `RuleTester` (oxc-project#16546) (overlookmotel) - 6d33320 linter/plugins: Prevent user modifying the default config (oxc-project#16545) (overlookmotel) - b4483c5 linter/plugins: Add config support skeleton to `RuleTester` (oxc-project#16537) (overlookmotel) - 3a49158 linter/plugins: Improve TS types for tokens (oxc-project#16502) (overlookmotel) - 0c14531 oxlint/lsp: Revalidate all known files after internal restart (oxc-project#16407) (Sysix) - 2d3217e linter/plugins: Remove panics from `lint_file` and `setup_configs` (oxc-project#16453) (overlookmotel) - 655341b linter/oxc: Not emit error when the threshold is zero and we haven't detected a barrel file (oxc-project#16455) (Said Atrahouch) - b9f359f linter/no-var: Expand fix span to prevent conflicts with other rules (oxc-project#16445) (camc314) - c6778f3 linter: Preserve original quote style in no-hex-escape fixer (oxc-project#16410) (camc314) - 3ad913b linter: Improve rule docs page autofix description (oxc-project#16281) (Hamir Mahal) - 0b7e00c linter: Handle keyword unary expressions in yoda rule fix (oxc-project#16402) (camc314) - 5fd3096 lsp: Skip (un)registering file watcher when not dynamic watchers are supported (oxc-project#16406) (Sysix) - 804144f lsp: Respect `null` as invalid settings for `workspace/didChangeConfiguration` (oxc-project#16361) (Sysix) - 723a7e5 linter: Prevent invalid BigInt literal fix for exponential notation (oxc-project#16401) (camc314) - 2589fb1 linter: Fix prefer_expect_resolves fixer for member expressions (oxc-project#16393) (camc314) - 428c7cd linter: Wrap logical expressions in parentheses when fixing no-extra-boolean-cast (oxc-project#16363) (camc314) - 3903567 linter: Skip prefer-string-raw in type annotations and .d.ts files (oxc-project#16382) (camc314) - d490daa linter/func-names: Use centralized reserved keyword check and fix ancestor traversal (oxc-project#16362) (camc314) - d846c53 tsgolint: Use `expect` when sending diagnostics (oxc-project#16341) (camc314) - 114665d lsp: Watch for files when workspace folder is added & `workspace/configuration` is not supported (oxc-project#16307) (Sysix) - f5d0ebb linter/func-names: Avoid suggesting reserved keywords as function names (oxc-project#16352) (camc314) - d268135 linter/no-console-spaces: Preserve escape sequences in fixer output (oxc-project#16349) (camc314) - b02c21a linter/valid-title: Preserve escape sequences in fixer output (oxc-project#16348) (camc314) - 2373b76 linter/no-untyped-mock-factory: Fix fixer producing invalid syntax when newline exists after opening paren (oxc-project#16351) (camc314) ### ⚡ Performance - 67cfa58 lsp: Avoid some clones (oxc-project#16519) (Sysix) - 2a09665 oxlint/lsp: Store only `LinterCodeAction` instead of the complete `DiagnosticReport` (oxc-project#16516) (Sysix) - 0ca9754 lsp: Avoid `Uri` to `String` and back to `Uri` conversion (oxc-project#16470) (Sysix) - 2736636 lsp: Avoid cloning when revalidating diagnostics (oxc-project#16469) (Sysix) - 793b989 linter/plugins: Move result-processing work off main JS thread (oxc-project#16456) (overlookmotel) - 44dff7b linter/plugins: Skip serialization overhead when no errors (oxc-project#16443) (overlookmotel) - 1aa2409 linter/plugins: Do not remove `messageId` field from `DiagnosticReport` before sending to Rust (oxc-project#16442) (overlookmotel) - 5017db8 linter/plugins: Reduce calls to `Path::to_string_lossy` (oxc-project#16429) (overlookmotel) - 194e357 linter: Use `SmallVec` for rule options (oxc-project#16400) (Copilot) - e31b2bd linter: Only clone config if required (oxc-project#16350) (overlookmotel) - 3026086 linter: Avoid cloning rule options (oxc-project#16338) (overlookmotel) ### 📚 Documentation - fef77af linter: Fix `jsx-a11y/img-redundant-alt` configuration option names. (oxc-project#16552) (connorshea) - c0766df linter: Add config option docs for `unicorn/filename-case` rule. (oxc-project#16280) (connorshea) - e24aabd linter/plugins: Correct comment (oxc-project#16559) (overlookmotel) - 514c724 linter: Fix the name of the IIFEs config option in eslint/max-lines-per-function (oxc-project#16554) (connorshea) - 4d94438 linter/rules: Correct arrow body style options in documentation (oxc-project#16509) (GRK) - 6bac4ec linter: Pull configuration struct doc comment when rendering config docs (oxc-project#16288) (connorshea) - 8c85e08 linter/plugins: Add TODO comment (oxc-project#16511) (overlookmotel) - a9b9298 linter/plugins: Add JSDoc comments to `SourceCode` properties (oxc-project#16497) (overlookmotel) - 467cc1a linter/plugins: Improve comment on error branch (oxc-project#16464) (overlookmotel) - 041b119 linter: Add config option docs to `jest/consistent-test-it` rule. (oxc-project#16286) (connorshea) ### 🛡️ Security - d90ef9f deps: Update dependency rolldown to v1.0.0-beta.53 (oxc-project#16428) (renovate[bot]) # Oxfmt ### 🚀 Features - 3184f17 oxfmt: Pass filepath field to prettier formatting (oxc-project#16591) (Yuji Sugiura) - 7bb3304 oxfmt: Pass populated config to prettier formatting (oxc-project#16584) (leaysgur) - 69f84d2 oxfmt: Pass raw config to prettier formatting (oxc-project#16582) (leaysgur) - a83a2ec oxfmt: Expose `setupConfig(configJSON: string)` napi callback (oxc-project#16579) (leaysgur) - 930533f formatter: Convert single `\r` to `\n` in string and add a debug assertion to ensure that there is no `\r` in the text (oxc-project#16531) (Dunqing) - af76b0e oxfmt: Support formatting HTML, YAML, GraphQL, Handlerbars, Markdown, CSS files (oxc-project#16524) (leaysgur) - 66b64ef oxfmt: Support formatting JSON files (oxc-project#16523) (leaysgur) - 4767926 oxfmt: Prepare non-js/ts file support with prettier (oxc-project#16480) (leaysgur) - 2b4ce5d oxfmt: Use dedicated `format_by_xxx_formatter` method by `SourceType` (oxc-project#16417) (leaysgur) - 0867d2f oxfmt: Set up JS `formatFile()` function for Rust via napi (oxc-project#16415) (leaysgur) - b6feb66 oxfmt: Rename `embedded.ts` with preparing `formatFile()` function (oxc-project#16414) (leaysgur) - 80e6999 formatter: Add debug assertion to ensure that there is no empty content is passed in (oxc-project#16475) (Dunqing) - 7374856 formatter/sort-imports: Support `options.internalPattern` (oxc-project#16372) (leaysgur) - dd2cb62 oxfmt: Not error on explicit `--write` flag used (oxc-project#16376) (leaysgur) ### 🐛 Bug Fixes - 40b0134 formatter: Incorrect formatting of `useImperativeHandle` hook (oxc-project#16533) (Dunqing) - 75393e7 formatter: Incorrect handling of `CRLF` for multiline block comment (oxc-project#16528) (Dunqing) - ee0756b formatter: JSX text wrapping incorrect 2 (oxc-project#16320) (Dunqing) - 36308b8 formatter: Fix indent for new expression with type cast (oxc-project#16380) (leaysgur) ### ⚡ Performance - 6f16a8f formatter: Avoid using an indent with a empty content (oxc-project#16474) (Dunqing) - 201c98f formatter: Early return when no comments need to be printed (oxc-project#16432) (Dunqing) Co-authored-by: Boshen <[email protected]>
release(crates): oxc v0.102.0 (oxc-project#16595) ### 💥 BREAKING CHANGES - 083fea9 napi/parser: [**BREAKING**] Represent empty optional fields on JS side as `null` (oxc-project#16411) (overlookmotel) ### 🚀 Features - 7a2afee parser: Add TS1174 error for classes extending multiple base classes (oxc-project#15993) (sapphi-red) - da87812 semantic: Add TS2309 error for export assignment with other exports (oxc-project#15992) (sapphi-red) - d6d2bcd minifier: Remove unused function calls that are marked by `manual_pure_functions` (oxc-project#16534) (sapphi-red) - c90f053 minifier: Support `.` separated values for `compress.treeshake.manualPureFunctions` (oxc-project#16529) (sapphi-red) - a607cc4 codegen: Preserve comments between CatchClause's param and body (oxc-project#16167) (copilot-swe-agent) - 8c10694 semantic: Expose get_comment_at method (oxc-project#16439) (camc314) - 3981e7a ast: Add get_comment_at to lookup a comment by span (oxc-project#16438) (camc314) ### 🐛 Bug Fixes - 699406a napi/parser: Move `ExportEntry::module_request` field to first (oxc-project#16412) (overlookmotel) - 12bd794 napi/parser: Move `ExportEntry::module_request` field to last (oxc-project#16403) (overlookmotel) ### ⚡ Performance - 790beeb napi/parser: Do not remove extraneous options on JS side (oxc-project#16447) (overlookmotel) Co-authored-by: Boshen <[email protected]>
release(apps): oxlint v1.32.0 && oxfmt v0.17.0 (oxc-project#16596) # Oxlint ### 🚀 Features - 5c62c16 linter/plugins: Allow JS plugins to access `globals` (oxc-project#16512) (Arsh) - ba7bd51 linter: Implement no-useless-return rule (oxc-project#16388) (FMP1783) - fa605df linter: Fix `arrow-body-style` automatically (oxc-project#16252) (Hamir Mahal) - 7584938 linter/plugins: Add ESLint compat mode to `RuleTester` (oxc-project#16538) (overlookmotel) - b38c2d0 linter/plugins: Add `SourceCode#lineStartIndices` getter (oxc-project#16510) (overlookmotel) - ba93ffc linter/plugins: Add `SourceCode#tokensAndComments` getter (oxc-project#16503) (overlookmotel) - d2ca540 linter/plugins: Add `SourceCode#isESTree` property (oxc-project#16499) (overlookmotel) - 9001234 linter: Add fix support for tsgolint diagnostics (oxc-project#16344) (camc314) - 2d6bb85 editors: Toggle client after vscode config changing (oxc-project#16162) (Liang Mi) - 0ec454c linter/plugins: Merge default options into options (oxc-project#16358) (overlookmotel) ### 🐛 Bug Fixes - a806d74 linter: Use import type for ESTree in visitor.d.ts (oxc-project#16472) (camc314) - 8933c84 linter: Fix jest/expect-expect rule docs. (oxc-project#16550) (connorshea) - 1c08879 linter: Fix false positive in no-invalid-fetch-options for conditional expressions (oxc-project#16570) (camc314) - 1a69b06 linter: Junit support for multiple files/errors/diagnostics (oxc-project#16568) (Shrey Sudhir) - a7d435b linter/sort-keys: Preserve multi-line formatting in autofix (oxc-project#16563) (camc314) - fd84dcc linter/plugins: `RuleTester` parser catch fatal errors (oxc-project#16558) (overlookmotel) - ab4deb0 linter/plugins: Improve safety of options merging (oxc-project#16549) (overlookmotel) - a58c76a linter: Fix the `react/jsx-fragments` rule config to take a string argument (oxc-project#16175) (connorshea) - f7751cc linter/plugins: Fix TS types for `RuleTester` (oxc-project#16546) (overlookmotel) - 6d33320 linter/plugins: Prevent user modifying the default config (oxc-project#16545) (overlookmotel) - b4483c5 linter/plugins: Add config support skeleton to `RuleTester` (oxc-project#16537) (overlookmotel) - 3a49158 linter/plugins: Improve TS types for tokens (oxc-project#16502) (overlookmotel) - 0c14531 oxlint/lsp: Revalidate all known files after internal restart (oxc-project#16407) (Sysix) - 2d3217e linter/plugins: Remove panics from `lint_file` and `setup_configs` (oxc-project#16453) (overlookmotel) - 655341b linter/oxc: Not emit error when the threshold is zero and we haven't detected a barrel file (oxc-project#16455) (Said Atrahouch) - b9f359f linter/no-var: Expand fix span to prevent conflicts with other rules (oxc-project#16445) (camc314) - c6778f3 linter: Preserve original quote style in no-hex-escape fixer (oxc-project#16410) (camc314) - 3ad913b linter: Improve rule docs page autofix description (oxc-project#16281) (Hamir Mahal) - 0b7e00c linter: Handle keyword unary expressions in yoda rule fix (oxc-project#16402) (camc314) - 5fd3096 lsp: Skip (un)registering file watcher when not dynamic watchers are supported (oxc-project#16406) (Sysix) - 804144f lsp: Respect `null` as invalid settings for `workspace/didChangeConfiguration` (oxc-project#16361) (Sysix) - 723a7e5 linter: Prevent invalid BigInt literal fix for exponential notation (oxc-project#16401) (camc314) - 2589fb1 linter: Fix prefer_expect_resolves fixer for member expressions (oxc-project#16393) (camc314) - 428c7cd linter: Wrap logical expressions in parentheses when fixing no-extra-boolean-cast (oxc-project#16363) (camc314) - 3903567 linter: Skip prefer-string-raw in type annotations and .d.ts files (oxc-project#16382) (camc314) - d490daa linter/func-names: Use centralized reserved keyword check and fix ancestor traversal (oxc-project#16362) (camc314) - d846c53 tsgolint: Use `expect` when sending diagnostics (oxc-project#16341) (camc314) - 114665d lsp: Watch for files when workspace folder is added & `workspace/configuration` is not supported (oxc-project#16307) (Sysix) - f5d0ebb linter/func-names: Avoid suggesting reserved keywords as function names (oxc-project#16352) (camc314) - d268135 linter/no-console-spaces: Preserve escape sequences in fixer output (oxc-project#16349) (camc314) - b02c21a linter/valid-title: Preserve escape sequences in fixer output (oxc-project#16348) (camc314) - 2373b76 linter/no-untyped-mock-factory: Fix fixer producing invalid syntax when newline exists after opening paren (oxc-project#16351) (camc314) ### ⚡ Performance - 67cfa58 lsp: Avoid some clones (oxc-project#16519) (Sysix) - 2a09665 oxlint/lsp: Store only `LinterCodeAction` instead of the complete `DiagnosticReport` (oxc-project#16516) (Sysix) - 0ca9754 lsp: Avoid `Uri` to `String` and back to `Uri` conversion (oxc-project#16470) (Sysix) - 2736636 lsp: Avoid cloning when revalidating diagnostics (oxc-project#16469) (Sysix) - 793b989 linter/plugins: Move result-processing work off main JS thread (oxc-project#16456) (overlookmotel) - 44dff7b linter/plugins: Skip serialization overhead when no errors (oxc-project#16443) (overlookmotel) - 1aa2409 linter/plugins: Do not remove `messageId` field from `DiagnosticReport` before sending to Rust (oxc-project#16442) (overlookmotel) - 5017db8 linter/plugins: Reduce calls to `Path::to_string_lossy` (oxc-project#16429) (overlookmotel) - 194e357 linter: Use `SmallVec` for rule options (oxc-project#16400) (Copilot) - e31b2bd linter: Only clone config if required (oxc-project#16350) (overlookmotel) - 3026086 linter: Avoid cloning rule options (oxc-project#16338) (overlookmotel) ### 📚 Documentation - fef77af linter: Fix `jsx-a11y/img-redundant-alt` configuration option names. (oxc-project#16552) (connorshea) - c0766df linter: Add config option docs for `unicorn/filename-case` rule. (oxc-project#16280) (connorshea) - e24aabd linter/plugins: Correct comment (oxc-project#16559) (overlookmotel) - 514c724 linter: Fix the name of the IIFEs config option in eslint/max-lines-per-function (oxc-project#16554) (connorshea) - 4d94438 linter/rules: Correct arrow body style options in documentation (oxc-project#16509) (GRK) - 6bac4ec linter: Pull configuration struct doc comment when rendering config docs (oxc-project#16288) (connorshea) - 8c85e08 linter/plugins: Add TODO comment (oxc-project#16511) (overlookmotel) - a9b9298 linter/plugins: Add JSDoc comments to `SourceCode` properties (oxc-project#16497) (overlookmotel) - 467cc1a linter/plugins: Improve comment on error branch (oxc-project#16464) (overlookmotel) - 041b119 linter: Add config option docs to `jest/consistent-test-it` rule. (oxc-project#16286) (connorshea) ### 🛡️ Security - d90ef9f deps: Update dependency rolldown to v1.0.0-beta.53 (oxc-project#16428) (renovate[bot]) # Oxfmt ### 🚀 Features - 3184f17 oxfmt: Pass filepath field to prettier formatting (oxc-project#16591) (Yuji Sugiura) - 7bb3304 oxfmt: Pass populated config to prettier formatting (oxc-project#16584) (leaysgur) - 69f84d2 oxfmt: Pass raw config to prettier formatting (oxc-project#16582) (leaysgur) - a83a2ec oxfmt: Expose `setupConfig(configJSON: string)` napi callback (oxc-project#16579) (leaysgur) - 930533f formatter: Convert single `\r` to `\n` in string and add a debug assertion to ensure that there is no `\r` in the text (oxc-project#16531) (Dunqing) - af76b0e oxfmt: Support formatting HTML, YAML, GraphQL, Handlerbars, Markdown, CSS files (oxc-project#16524) (leaysgur) - 66b64ef oxfmt: Support formatting JSON files (oxc-project#16523) (leaysgur) - 4767926 oxfmt: Prepare non-js/ts file support with prettier (oxc-project#16480) (leaysgur) - 2b4ce5d oxfmt: Use dedicated `format_by_xxx_formatter` method by `SourceType` (oxc-project#16417) (leaysgur) - 0867d2f oxfmt: Set up JS `formatFile()` function for Rust via napi (oxc-project#16415) (leaysgur) - b6feb66 oxfmt: Rename `embedded.ts` with preparing `formatFile()` function (oxc-project#16414) (leaysgur) - 80e6999 formatter: Add debug assertion to ensure that there is no empty content is passed in (oxc-project#16475) (Dunqing) - 7374856 formatter/sort-imports: Support `options.internalPattern` (oxc-project#16372) (leaysgur) - dd2cb62 oxfmt: Not error on explicit `--write` flag used (oxc-project#16376) (leaysgur) ### 🐛 Bug Fixes - 40b0134 formatter: Incorrect formatting of `useImperativeHandle` hook (oxc-project#16533) (Dunqing) - 75393e7 formatter: Incorrect handling of `CRLF` for multiline block comment (oxc-project#16528) (Dunqing) - ee0756b formatter: JSX text wrapping incorrect 2 (oxc-project#16320) (Dunqing) - 36308b8 formatter: Fix indent for new expression with type cast (oxc-project#16380) (leaysgur) ### ⚡ Performance - 6f16a8f formatter: Avoid using an indent with a empty content (oxc-project#16474) (Dunqing) - 201c98f formatter: Early return when no comments need to be printed (oxc-project#16432) (Dunqing) Co-authored-by: Boshen <[email protected]>
release(apps): oxlint v1.31.0 && oxfmt v0.16.0 (oxc-project#16333) # Oxlint ### 🚀 Features - 5da1a63 linter/plugins: Introduce `RuleTester` (oxc-project#16206) (overlookmotel) - 41129ab linter/plugins: Implement `languageOptions.parser` (oxc-project#16292) (overlookmotel) - 4b24825 linter: Implement no-restricted-types rule (oxc-project#16276) (camc314) - 7150209 linter/plugins: Implement `SourceCode#getNodeByRangeIndex` (oxc-project#16256) (overlookmotel) - 3226864 linter/plugins: Implement options merging (oxc-project#16217) (overlookmotel) - cbb108a linter/plugins: Support default options (oxc-project#16170) (overlookmotel) - 04a3a66 linter/plugins: Implement `SourceCode#getTokenOrCommentAfter()` (oxc-project#16045) (Arsh) - 68b63d9 linter/plugins: Implement `SourceCode#getTokenOrCommentBefore()` (oxc-project#16044) (Arsh) - 04d9454 linter/plugins: Implement `SourceCode#getTokenByRangeStart()` (oxc-project#16043) (Arsh) - 7b8d578 linter/plugins: Implement `SourceCode#getTokensBetween()` (oxc-project#16034) (Arsh) - 79c242f linter/plugins: Implement `SourceCode#getLastTokensBetween()` (oxc-project#16033) (Arsh) - 1772078 linter/plugins: Implement `SourceCode#getFirstTokenBetween()` (oxc-project#16032) (Arsh) - 21bb86d linter/plugins: Implement `SourceCode#getFirstTokensBetween()` (oxc-project#16019) (Arsh) - 78f74b1 linter/plugins: Implement `SourceCode#getLastTokenBetween()` (oxc-project#16008) (Arsh) - df0b948 linter/plugins: Implement `SourceCode#getLastToken()` (oxc-project#16003) (Arsh) ### 🐛 Bug Fixes - cf249f5 linter/plugins: Fix message interpolation (oxc-project#16300) (overlookmotel) - 9149a26 linter/plugins, napi/parser: Deep freeze visitor keys (oxc-project#16293) (overlookmotel) - 71271ee linter: Fix `typescript/no-empty-interface` config option casing. (oxc-project#16282) (connorshea) - 653fa6c oxlint/oxfmt/lsp: Tell client the real tool name & version (oxc-project#16212) (Sysix) - 385e13e linter: Support both prefer-inline and preferInline for import/no-duplicates (oxc-project#16275) (copilot-swe-agent) - efc08d3 linter: Fix config docs for no-return-assign and unicode-bom rules. (oxc-project#16260) (connorshea) - dc96d3f linter: Correct docs to use string option for import/first rule. (oxc-project#16264) (connorshea) - 15ce491 linter: Correct the default config options for the switch-exhaustiveness-check rule. (oxc-project#16268) (connorshea) - 13f985c linter: Fix casing for unicorn/explicit-length-check config option. (oxc-project#16269) (connorshea) - 0df1901 linter/plugins: Reset state after error during AST visitation (oxc-project#16246) (overlookmotel) - 42e9dcc linter: Fix docs for `consistent-type-specifier-style` and `consistent-type-definitions` rules. (oxc-project#16253) (connorshea) - 505ceb1 linter: Fix the radix rule docs to correctly render as a string-only config option (oxc-project#16248) (connorshea) - 135cee6 oxlint/lsp: Run diagnostics after delayed worker initialization (oxc-project#16244) (Sysix) - 78aa294 linter/plugins: Deep freeze options (oxc-project#16218) (overlookmotel) - 123bffe linter/plugins: Handle zero-token files in `SourceCode#getLastToken()` (oxc-project#16184) (Arsh) - 55fcfba linter: Add considerDefaultExhaustiveForUnions option to switch-exhaustiveness-check (oxc-project#16204) (camc314) - 9cc20a1 minifier: Avoid merging side effectful expressions to next assignment statement if the side effect may change the left hand side reference (oxc-project#16165) (sapphi-red) - 75249e0 linter/plugins: Handle non-UTF8 file paths (oxc-project#16157) (overlookmotel) - 86fa667 linter/plugins: Improve type def for `RuleMeta` `defaultOptions` property (oxc-project#16159) (overlookmotel) - d2b7dcb tsgolint: Improve lsp diagnostic when linting fails (oxc-project#16115) (camc314) - 8810bd5 linter: Prevent conflicting fixes between prefer_number_properties and prefer_numeric_literals (oxc-project#16113) (camc314) - 91eb3f2 ast/estree: Convert `TSImportType` `argument` field to `Literal` (oxc-project#16109) (overlookmotel) - 2da2fc1 linter: Fix prefer-string-raw fixer producing invalid JS for non-ASCII strings (oxc-project#16102) (camc314) - f5cb601 linter/plugins: Perform length checks before continuing loops (oxc-project#16025) (Arsh) - e1c21ca linter/jsx-key: Implement missing options (oxc-project#15731) (camc314) ### ⚡ Performance - 02bdf90 linter/plugins, napi/parser: Reuse arrays in visitor keys (oxc-project#16294) (overlookmotel) - 714a91a linter/no-restricted-types: Skip running if config is empty (oxc-project#16278) (camc314) - d3a34f8 linter/plugins: Optimize `getTokens()` and other methods (oxc-project#16188) (Arsh) - c05db06 linter/plugins: Speed up `initTokensWithComments` (oxc-project#16117) (overlookmotel) - 4846886 linter/plugins: Optimize merging of `tokens` and `comments` (oxc-project#16071) (Arsh) - e232d35 linter/plugins: Recycle objects in token methods (oxc-project#16068) (overlookmotel) ### 📚 Documentation - e928732 linter/plugins: Fix JSDoc comment (oxc-project#16295) (overlookmotel) - d4a1581 linter: Add a link to MDN for the no-proto rule. (oxc-project#16213) (connorshea) - be36e36 linter/plugins: Fix JSDoc comment for `loadPluginImpl` (oxc-project#16211) (overlookmotel) - 6d6e9c9 linter: Improve the docs for oxc/no-async-await rule. (oxc-project#16181) (connorshea) - 0e1d38a linter/plugins: Clarify JSDoc comment for `getTokensBetween` (oxc-project#16070) (overlookmotel) - 3ee22b2 linter/plugins: Fix JSDoc comments for tokens methods (oxc-project#16063) (overlookmotel) - f257b5c linter/plugins: Clarify JSDoc comments for tokens methods (oxc-project#16062) (overlookmotel) # Oxfmt ### 🚀 Features - 116e0d1 website: Auto generate oxfmt docs (oxc-project#15985) (Boshen) - 862bdf7 oxfmt: Detect unsupported experimental options (take2) (oxc-project#16088) (leaysgur) ### 🐛 Bug Fixes - 75ac90c formatter: Comments in call arguments should be printed as-is (oxc-project#16327) (Dunqing) - fd77568 formatter: Don't wrap parenthesis for yield expression if there is no leading comment (oxc-project#16326) (Dunqing) - 8ccfb06 formatter: Should indent class extends and interface heritage when it is a member expression without type arguments (oxc-project#16323) (Dunqing) - 0faa978 oxfmt: JsFormatEmbeddedCb types (oxc-project#16324) (Brooooooklyn) - 2b8f982 formatter: JSX text wrapping incorrect (oxc-project#16318) (Dunqing) - f3ffebe formatter: Should indent variable declarator if there is a trailing comment (oxc-project#16243) (Dunqing) - 31d3186 formatter: Incorrect handling of directives with comments (oxc-project#16235) (Dunqing) - ac8fcaf formatter: Add parens for new: private field expr (oxc-project#16312) (leaysgur) - 653fa6c oxlint/oxfmt/lsp: Tell client the real tool name & version (oxc-project#16212) (Sysix) - 380a0af formatter: Incorrect printing of class binding trailing comments (oxc-project#16234) (Dunqing) - 0ca8154 formatter: Incorrect printing of trailing comments of callee when the call arguments are empty (oxc-project#16232) (Dunqing) - ac3a92e formatter: Print comment in ternary jsx (oxc-project#16224) (leaysgur) - e3a7388 formatter: Fix parens for static member chain (oxc-project#16229) (leaysgur) - 55334c3 formatter: Incorrect printing of dangling comments in the if statement (oxc-project#16228) (Dunqing) - 9096a63 formatter: Correct printing of trailing comments after the semicolon for class properties (oxc-project#16225) (Dunqing) - 75fd568 formatter: Inconsistent union type output between two runs (oxc-project#16222) (Dunqing) - cd70484 formatter: Should not add a hard space before function body (oxc-project#16221) (Dunqing) - 9097167 formatter: Incorrect printing of union types with comments (oxc-project#16205) (Dunqing) - 79b78b3 formatter: Template literal element should not be indented (oxc-project#16189) (Dunqing) - 48d6ed2 formatter: Nested assignment pattern should not expand outer object pattern (oxc-project#16160) (Dunqing) - 8f4137d formatter: Output is incorrect when using comments inside JSX which is the right hand-side of `LogicalExpression` (oxc-project#16156) (Dunqing) - 85c3a10 formatter/sort_imports: Handle internal prefixes correctly (oxc-project#16128) (leaysgur) - 38b7bc4 oxfmt: Make no-napi build work (oxc-project#16134) (leaysgur) - 889d2e7 formatter: Handle poor layout for grouped call arguments (oxc-project#16093) (Dunqing) - 14b0a6a oxfmt: Fix JS-ish file detection (oxc-project#16092) (leaysgur) - 9706a1a oxfmt: Ignore unsupported options (oxc-project#16085) (leaysgur)
release(apps): oxlint v1.31.0 && oxfmt v0.16.0 (oxc-project#16333) # Oxlint ### 🚀 Features - 5da1a63 linter/plugins: Introduce `RuleTester` (oxc-project#16206) (overlookmotel) - 41129ab linter/plugins: Implement `languageOptions.parser` (oxc-project#16292) (overlookmotel) - 4b24825 linter: Implement no-restricted-types rule (oxc-project#16276) (camc314) - 7150209 linter/plugins: Implement `SourceCode#getNodeByRangeIndex` (oxc-project#16256) (overlookmotel) - 3226864 linter/plugins: Implement options merging (oxc-project#16217) (overlookmotel) - cbb108a linter/plugins: Support default options (oxc-project#16170) (overlookmotel) - 04a3a66 linter/plugins: Implement `SourceCode#getTokenOrCommentAfter()` (oxc-project#16045) (Arsh) - 68b63d9 linter/plugins: Implement `SourceCode#getTokenOrCommentBefore()` (oxc-project#16044) (Arsh) - 04d9454 linter/plugins: Implement `SourceCode#getTokenByRangeStart()` (oxc-project#16043) (Arsh) - 7b8d578 linter/plugins: Implement `SourceCode#getTokensBetween()` (oxc-project#16034) (Arsh) - 79c242f linter/plugins: Implement `SourceCode#getLastTokensBetween()` (oxc-project#16033) (Arsh) - 1772078 linter/plugins: Implement `SourceCode#getFirstTokenBetween()` (oxc-project#16032) (Arsh) - 21bb86d linter/plugins: Implement `SourceCode#getFirstTokensBetween()` (oxc-project#16019) (Arsh) - 78f74b1 linter/plugins: Implement `SourceCode#getLastTokenBetween()` (oxc-project#16008) (Arsh) - df0b948 linter/plugins: Implement `SourceCode#getLastToken()` (oxc-project#16003) (Arsh) ### 🐛 Bug Fixes - cf249f5 linter/plugins: Fix message interpolation (oxc-project#16300) (overlookmotel) - 9149a26 linter/plugins, napi/parser: Deep freeze visitor keys (oxc-project#16293) (overlookmotel) - 71271ee linter: Fix `typescript/no-empty-interface` config option casing. (oxc-project#16282) (connorshea) - 653fa6c oxlint/oxfmt/lsp: Tell client the real tool name & version (oxc-project#16212) (Sysix) - 385e13e linter: Support both prefer-inline and preferInline for import/no-duplicates (oxc-project#16275) (copilot-swe-agent) - efc08d3 linter: Fix config docs for no-return-assign and unicode-bom rules. (oxc-project#16260) (connorshea) - dc96d3f linter: Correct docs to use string option for import/first rule. (oxc-project#16264) (connorshea) - 15ce491 linter: Correct the default config options for the switch-exhaustiveness-check rule. (oxc-project#16268) (connorshea) - 13f985c linter: Fix casing for unicorn/explicit-length-check config option. (oxc-project#16269) (connorshea) - 0df1901 linter/plugins: Reset state after error during AST visitation (oxc-project#16246) (overlookmotel) - 42e9dcc linter: Fix docs for `consistent-type-specifier-style` and `consistent-type-definitions` rules. (oxc-project#16253) (connorshea) - 505ceb1 linter: Fix the radix rule docs to correctly render as a string-only config option (oxc-project#16248) (connorshea) - 135cee6 oxlint/lsp: Run diagnostics after delayed worker initialization (oxc-project#16244) (Sysix) - 78aa294 linter/plugins: Deep freeze options (oxc-project#16218) (overlookmotel) - 123bffe linter/plugins: Handle zero-token files in `SourceCode#getLastToken()` (oxc-project#16184) (Arsh) - 55fcfba linter: Add considerDefaultExhaustiveForUnions option to switch-exhaustiveness-check (oxc-project#16204) (camc314) - 9cc20a1 minifier: Avoid merging side effectful expressions to next assignment statement if the side effect may change the left hand side reference (oxc-project#16165) (sapphi-red) - 75249e0 linter/plugins: Handle non-UTF8 file paths (oxc-project#16157) (overlookmotel) - 86fa667 linter/plugins: Improve type def for `RuleMeta` `defaultOptions` property (oxc-project#16159) (overlookmotel) - d2b7dcb tsgolint: Improve lsp diagnostic when linting fails (oxc-project#16115) (camc314) - 8810bd5 linter: Prevent conflicting fixes between prefer_number_properties and prefer_numeric_literals (oxc-project#16113) (camc314) - 91eb3f2 ast/estree: Convert `TSImportType` `argument` field to `Literal` (oxc-project#16109) (overlookmotel) - 2da2fc1 linter: Fix prefer-string-raw fixer producing invalid JS for non-ASCII strings (oxc-project#16102) (camc314) - f5cb601 linter/plugins: Perform length checks before continuing loops (oxc-project#16025) (Arsh) - e1c21ca linter/jsx-key: Implement missing options (oxc-project#15731) (camc314) ### ⚡ Performance - 02bdf90 linter/plugins, napi/parser: Reuse arrays in visitor keys (oxc-project#16294) (overlookmotel) - 714a91a linter/no-restricted-types: Skip running if config is empty (oxc-project#16278) (camc314) - d3a34f8 linter/plugins: Optimize `getTokens()` and other methods (oxc-project#16188) (Arsh) - c05db06 linter/plugins: Speed up `initTokensWithComments` (oxc-project#16117) (overlookmotel) - 4846886 linter/plugins: Optimize merging of `tokens` and `comments` (oxc-project#16071) (Arsh) - e232d35 linter/plugins: Recycle objects in token methods (oxc-project#16068) (overlookmotel) ### 📚 Documentation - e928732 linter/plugins: Fix JSDoc comment (oxc-project#16295) (overlookmotel) - d4a1581 linter: Add a link to MDN for the no-proto rule. (oxc-project#16213) (connorshea) - be36e36 linter/plugins: Fix JSDoc comment for `loadPluginImpl` (oxc-project#16211) (overlookmotel) - 6d6e9c9 linter: Improve the docs for oxc/no-async-await rule. (oxc-project#16181) (connorshea) - 0e1d38a linter/plugins: Clarify JSDoc comment for `getTokensBetween` (oxc-project#16070) (overlookmotel) - 3ee22b2 linter/plugins: Fix JSDoc comments for tokens methods (oxc-project#16063) (overlookmotel) - f257b5c linter/plugins: Clarify JSDoc comments for tokens methods (oxc-project#16062) (overlookmotel) # Oxfmt ### 🚀 Features - 116e0d1 website: Auto generate oxfmt docs (oxc-project#15985) (Boshen) - 862bdf7 oxfmt: Detect unsupported experimental options (take2) (oxc-project#16088) (leaysgur) ### 🐛 Bug Fixes - 75ac90c formatter: Comments in call arguments should be printed as-is (oxc-project#16327) (Dunqing) - fd77568 formatter: Don't wrap parenthesis for yield expression if there is no leading comment (oxc-project#16326) (Dunqing) - 8ccfb06 formatter: Should indent class extends and interface heritage when it is a member expression without type arguments (oxc-project#16323) (Dunqing) - 0faa978 oxfmt: JsFormatEmbeddedCb types (oxc-project#16324) (Brooooooklyn) - 2b8f982 formatter: JSX text wrapping incorrect (oxc-project#16318) (Dunqing) - f3ffebe formatter: Should indent variable declarator if there is a trailing comment (oxc-project#16243) (Dunqing) - 31d3186 formatter: Incorrect handling of directives with comments (oxc-project#16235) (Dunqing) - ac8fcaf formatter: Add parens for new: private field expr (oxc-project#16312) (leaysgur) - 653fa6c oxlint/oxfmt/lsp: Tell client the real tool name & version (oxc-project#16212) (Sysix) - 380a0af formatter: Incorrect printing of class binding trailing comments (oxc-project#16234) (Dunqing) - 0ca8154 formatter: Incorrect printing of trailing comments of callee when the call arguments are empty (oxc-project#16232) (Dunqing) - ac3a92e formatter: Print comment in ternary jsx (oxc-project#16224) (leaysgur) - e3a7388 formatter: Fix parens for static member chain (oxc-project#16229) (leaysgur) - 55334c3 formatter: Incorrect printing of dangling comments in the if statement (oxc-project#16228) (Dunqing) - 9096a63 formatter: Correct printing of trailing comments after the semicolon for class properties (oxc-project#16225) (Dunqing) - 75fd568 formatter: Inconsistent union type output between two runs (oxc-project#16222) (Dunqing) - cd70484 formatter: Should not add a hard space before function body (oxc-project#16221) (Dunqing) - 9097167 formatter: Incorrect printing of union types with comments (oxc-project#16205) (Dunqing) - 79b78b3 formatter: Template literal element should not be indented (oxc-project#16189) (Dunqing) - 48d6ed2 formatter: Nested assignment pattern should not expand outer object pattern (oxc-project#16160) (Dunqing) - 8f4137d formatter: Output is incorrect when using comments inside JSX which is the right hand-side of `LogicalExpression` (oxc-project#16156) (Dunqing) - 85c3a10 formatter/sort_imports: Handle internal prefixes correctly (oxc-project#16128) (leaysgur) - 38b7bc4 oxfmt: Make no-napi build work (oxc-project#16134) (leaysgur) - 889d2e7 formatter: Handle poor layout for grouped call arguments (oxc-project#16093) (Dunqing) - 14b0a6a oxfmt: Fix JS-ish file detection (oxc-project#16092) (leaysgur) - 9706a1a oxfmt: Ignore unsupported options (oxc-project#16085) (leaysgur)
release(crates): oxc v0.100.0 (oxc-project#16331) ### 💥 BREAKING CHANGES - 74cf572 ast: [**BREAKING**] Make `source` field of `TSImportType` a `StringLiteral` (oxc-project#16114) (copilot-swe-agent) - 43156ae ast: [**BREAKING**] Rename `TSImportType` `argument` field to `source` (oxc-project#16110) (overlookmotel) - 934d873 napi: [**BREAKING**] Drop `armv7-unknown-linux-musleabihf` support (oxc-project#16105) (Boshen) ### 🚀 Features - 669afe0 ast: Add `Expression::is_jsx` method (oxc-project#16154) (Dunqing) - 17a8caa parser: Add diagnostic for JSX identifiers with hyphens (oxc-project#16133) (camchenry) - 0549ae5 parser: Add diagnostic for expected ident after optional chain (oxc-project#16132) (camchenry) - db839ae parser: Improve diagnostic for unexpected optional declarations (oxc-project#16131) (camchenry) - bab4bc8 napi/parser: Add type annotations to parse-raw-worker test (oxc-project#15998) (camc314) ### 🐛 Bug Fixes - 35ed36c traverse: Fix panic when truncating non-ASCII variable names (oxc-project#16265) (peter) - 9149a26 linter/plugins, napi/parser: Deep freeze visitor keys (oxc-project#16293) (overlookmotel) - 6b54dab minifier: Incorrect non-null object condition simplification with `&&` and `||` (oxc-project#16161) (sapphi-red) - 9cc20a1 minifier: Avoid merging side effectful expressions to next assignment statement if the side effect may change the left hand side reference (oxc-project#16165) (sapphi-red) - 91eb3f2 ast/estree: Convert `TSImportType` `argument` field to `Literal` (oxc-project#16109) (overlookmotel) - 1199cee parser: Reject invalid modifiers on parameter properties with binding patterns (oxc-project#16083) (camc314) - f376325 traverse: Remove `console.log` from build script (oxc-project#16049) (overlookmotel) ### ⚡ Performance - 82d784f lexer: Reduce bounds checks in `Lexer::get_string` (oxc-project#16317) (overlookmotel) - cc2f352 span: Add `#[inline]` to `Atom` methods (oxc-project#16311) (overlookmotel) - ffca070 span: Add `#[repr(transparent)]` to `Atom` (oxc-project#16310) (overlookmotel) - 02bdf90 linter/plugins, napi/parser: Reuse arrays in visitor keys (oxc-project#16294) (overlookmotel) ### 📚 Documentation - 891e0b4 parser: Add note about falling back to parse TSType in TSImportType (oxc-project#16119) (camc314) Co-authored-by: Boshen <[email protected]>
release(apps): oxlint v1.31.0 && oxfmt v0.16.0 (oxc-project#16333) # Oxlint ### 🚀 Features - 5da1a63 linter/plugins: Introduce `RuleTester` (oxc-project#16206) (overlookmotel) - 41129ab linter/plugins: Implement `languageOptions.parser` (oxc-project#16292) (overlookmotel) - 4b24825 linter: Implement no-restricted-types rule (oxc-project#16276) (camc314) - 7150209 linter/plugins: Implement `SourceCode#getNodeByRangeIndex` (oxc-project#16256) (overlookmotel) - 3226864 linter/plugins: Implement options merging (oxc-project#16217) (overlookmotel) - cbb108a linter/plugins: Support default options (oxc-project#16170) (overlookmotel) - 04a3a66 linter/plugins: Implement `SourceCode#getTokenOrCommentAfter()` (oxc-project#16045) (Arsh) - 68b63d9 linter/plugins: Implement `SourceCode#getTokenOrCommentBefore()` (oxc-project#16044) (Arsh) - 04d9454 linter/plugins: Implement `SourceCode#getTokenByRangeStart()` (oxc-project#16043) (Arsh) - 7b8d578 linter/plugins: Implement `SourceCode#getTokensBetween()` (oxc-project#16034) (Arsh) - 79c242f linter/plugins: Implement `SourceCode#getLastTokensBetween()` (oxc-project#16033) (Arsh) - 1772078 linter/plugins: Implement `SourceCode#getFirstTokenBetween()` (oxc-project#16032) (Arsh) - 21bb86d linter/plugins: Implement `SourceCode#getFirstTokensBetween()` (oxc-project#16019) (Arsh) - 78f74b1 linter/plugins: Implement `SourceCode#getLastTokenBetween()` (oxc-project#16008) (Arsh) - df0b948 linter/plugins: Implement `SourceCode#getLastToken()` (oxc-project#16003) (Arsh) ### 🐛 Bug Fixes - cf249f5 linter/plugins: Fix message interpolation (oxc-project#16300) (overlookmotel) - 9149a26 linter/plugins, napi/parser: Deep freeze visitor keys (oxc-project#16293) (overlookmotel) - 71271ee linter: Fix `typescript/no-empty-interface` config option casing. (oxc-project#16282) (connorshea) - 653fa6c oxlint/oxfmt/lsp: Tell client the real tool name & version (oxc-project#16212) (Sysix) - 385e13e linter: Support both prefer-inline and preferInline for import/no-duplicates (oxc-project#16275) (copilot-swe-agent) - efc08d3 linter: Fix config docs for no-return-assign and unicode-bom rules. (oxc-project#16260) (connorshea) - dc96d3f linter: Correct docs to use string option for import/first rule. (oxc-project#16264) (connorshea) - 15ce491 linter: Correct the default config options for the switch-exhaustiveness-check rule. (oxc-project#16268) (connorshea) - 13f985c linter: Fix casing for unicorn/explicit-length-check config option. (oxc-project#16269) (connorshea) - 0df1901 linter/plugins: Reset state after error during AST visitation (oxc-project#16246) (overlookmotel) - 42e9dcc linter: Fix docs for `consistent-type-specifier-style` and `consistent-type-definitions` rules. (oxc-project#16253) (connorshea) - 505ceb1 linter: Fix the radix rule docs to correctly render as a string-only config option (oxc-project#16248) (connorshea) - 135cee6 oxlint/lsp: Run diagnostics after delayed worker initialization (oxc-project#16244) (Sysix) - 78aa294 linter/plugins: Deep freeze options (oxc-project#16218) (overlookmotel) - 123bffe linter/plugins: Handle zero-token files in `SourceCode#getLastToken()` (oxc-project#16184) (Arsh) - 55fcfba linter: Add considerDefaultExhaustiveForUnions option to switch-exhaustiveness-check (oxc-project#16204) (camc314) - 9cc20a1 minifier: Avoid merging side effectful expressions to next assignment statement if the side effect may change the left hand side reference (oxc-project#16165) (sapphi-red) - 75249e0 linter/plugins: Handle non-UTF8 file paths (oxc-project#16157) (overlookmotel) - 86fa667 linter/plugins: Improve type def for `RuleMeta` `defaultOptions` property (oxc-project#16159) (overlookmotel) - d2b7dcb tsgolint: Improve lsp diagnostic when linting fails (oxc-project#16115) (camc314) - 8810bd5 linter: Prevent conflicting fixes between prefer_number_properties and prefer_numeric_literals (oxc-project#16113) (camc314) - 91eb3f2 ast/estree: Convert `TSImportType` `argument` field to `Literal` (oxc-project#16109) (overlookmotel) - 2da2fc1 linter: Fix prefer-string-raw fixer producing invalid JS for non-ASCII strings (oxc-project#16102) (camc314) - f5cb601 linter/plugins: Perform length checks before continuing loops (oxc-project#16025) (Arsh) - e1c21ca linter/jsx-key: Implement missing options (oxc-project#15731) (camc314) ### ⚡ Performance - 02bdf90 linter/plugins, napi/parser: Reuse arrays in visitor keys (oxc-project#16294) (overlookmotel) - 714a91a linter/no-restricted-types: Skip running if config is empty (oxc-project#16278) (camc314) - d3a34f8 linter/plugins: Optimize `getTokens()` and other methods (oxc-project#16188) (Arsh) - c05db06 linter/plugins: Speed up `initTokensWithComments` (oxc-project#16117) (overlookmotel) - 4846886 linter/plugins: Optimize merging of `tokens` and `comments` (oxc-project#16071) (Arsh) - e232d35 linter/plugins: Recycle objects in token methods (oxc-project#16068) (overlookmotel) ### 📚 Documentation - e928732 linter/plugins: Fix JSDoc comment (oxc-project#16295) (overlookmotel) - d4a1581 linter: Add a link to MDN for the no-proto rule. (oxc-project#16213) (connorshea) - be36e36 linter/plugins: Fix JSDoc comment for `loadPluginImpl` (oxc-project#16211) (overlookmotel) - 6d6e9c9 linter: Improve the docs for oxc/no-async-await rule. (oxc-project#16181) (connorshea) - 0e1d38a linter/plugins: Clarify JSDoc comment for `getTokensBetween` (oxc-project#16070) (overlookmotel) - 3ee22b2 linter/plugins: Fix JSDoc comments for tokens methods (oxc-project#16063) (overlookmotel) - f257b5c linter/plugins: Clarify JSDoc comments for tokens methods (oxc-project#16062) (overlookmotel) # Oxfmt ### 🚀 Features - 116e0d1 website: Auto generate oxfmt docs (oxc-project#15985) (Boshen) - 862bdf7 oxfmt: Detect unsupported experimental options (take2) (oxc-project#16088) (leaysgur) ### 🐛 Bug Fixes - 75ac90c formatter: Comments in call arguments should be printed as-is (oxc-project#16327) (Dunqing) - fd77568 formatter: Don't wrap parenthesis for yield expression if there is no leading comment (oxc-project#16326) (Dunqing) - 8ccfb06 formatter: Should indent class extends and interface heritage when it is a member expression without type arguments (oxc-project#16323) (Dunqing) - 0faa978 oxfmt: JsFormatEmbeddedCb types (oxc-project#16324) (Brooooooklyn) - 2b8f982 formatter: JSX text wrapping incorrect (oxc-project#16318) (Dunqing) - f3ffebe formatter: Should indent variable declarator if there is a trailing comment (oxc-project#16243) (Dunqing) - 31d3186 formatter: Incorrect handling of directives with comments (oxc-project#16235) (Dunqing) - ac8fcaf formatter: Add parens for new: private field expr (oxc-project#16312) (leaysgur) - 653fa6c oxlint/oxfmt/lsp: Tell client the real tool name & version (oxc-project#16212) (Sysix) - 380a0af formatter: Incorrect printing of class binding trailing comments (oxc-project#16234) (Dunqing) - 0ca8154 formatter: Incorrect printing of trailing comments of callee when the call arguments are empty (oxc-project#16232) (Dunqing) - ac3a92e formatter: Print comment in ternary jsx (oxc-project#16224) (leaysgur) - e3a7388 formatter: Fix parens for static member chain (oxc-project#16229) (leaysgur) - 55334c3 formatter: Incorrect printing of dangling comments in the if statement (oxc-project#16228) (Dunqing) - 9096a63 formatter: Correct printing of trailing comments after the semicolon for class properties (oxc-project#16225) (Dunqing) - 75fd568 formatter: Inconsistent union type output between two runs (oxc-project#16222) (Dunqing) - cd70484 formatter: Should not add a hard space before function body (oxc-project#16221) (Dunqing) - 9097167 formatter: Incorrect printing of union types with comments (oxc-project#16205) (Dunqing) - 79b78b3 formatter: Template literal element should not be indented (oxc-project#16189) (Dunqing) - 48d6ed2 formatter: Nested assignment pattern should not expand outer object pattern (oxc-project#16160) (Dunqing) - 8f4137d formatter: Output is incorrect when using comments inside JSX which is the right hand-side of `LogicalExpression` (oxc-project#16156) (Dunqing) - 85c3a10 formatter/sort_imports: Handle internal prefixes correctly (oxc-project#16128) (leaysgur) - 38b7bc4 oxfmt: Make no-napi build work (oxc-project#16134) (leaysgur) - 889d2e7 formatter: Handle poor layout for grouped call arguments (oxc-project#16093) (Dunqing) - 14b0a6a oxfmt: Fix JS-ish file detection (oxc-project#16092) (leaysgur) - 9706a1a oxfmt: Ignore unsupported options (oxc-project#16085) (leaysgur)
release(apps): oxlint v1.30.0 && oxfmt v0.15.0 (oxc-project#16047) # Oxlint ### 💥 BREAKING CHANGES - cbb27fd ast: [**BREAKING**] Add `TSGlobalDeclaration` type (oxc-project#15712) (overlookmotel) ### 🚀 Features - 72660f7 linter: Support auto generate config document for tuple lint option (oxc-project#15904) (Duc Nghiem Xuan) - 0c1f82b linter/plugins: Add `tokens` property to `Program` (oxc-project#16020) (overlookmotel) - 9e61beb linter/plugins: Implement `SourceCode#getFirstToken()` (oxc-project#16002) (Arsh) - 9a548dd linter/plugins: Implement `SourceCode#getLastTokens()` (oxc-project#16000) (Arsh) - 0b6cb11 linter/plugins: Implement `SourceCode#getFirstTokens()` (oxc-project#15976) (Arsh) - 166781e linter/plugins: Implement `SourceCode#getTokenAfter()` (oxc-project#15973) (Arsh) - 6ae232b linter: Expose type errors via tsgolint (oxc-project#15917) (camc314) - 2bfdd26 linter/plugins: Implement `SourceCode#getTokensAfter()` (oxc-project#15971) (Arsh) - 45fffc1 linter/plugins: Implement `SourceCode#getTokenBefore()` (oxc-project#15956) (Arsh) - 776e473 linter/plugins: Implement `SourceCode#getTokensBefore()` (oxc-project#15955) (Arsh) - 595867a oxlint: Generate markdownDescription fields for oxlint JSON schema. (oxc-project#15959) (connorshea) - 5569317 vscode: Add quick actions to status bar tooltip (oxc-project#15962) (Sysix) - 986cac1 linter/plugins: Token-related `SourceCode` APIs (TS ESLint implementation) (oxc-project#15861) (Arsh) - a21f9e4 linter: Implement unicorn/prefer-bigint-literals rule (oxc-project#15923) (Michiel Vrins) - 4b9d8d2 linter/type-aware: Include range with tsconfig diagnostics (oxc-project#15916) (camc314) - 220d01e editor: Improve the status bar item for the VS Code extension by adding a tooltip. (oxc-project#15819) (connorshea) ### 🐛 Bug Fixes - 2bd3cb6 apps, editors, napi: Fix `oxlint-disable` comments (oxc-project#16014) (overlookmotel) - 81f5360 linter/prefer-number-properties: Get fixer to replace entire call expr (oxc-project#15979) (camc314) - e4ba07f language_server: Always write to memory file system (oxc-project#15975) (Sysix) - a8a2032 linter: Support missing `range` for internal diagnostics (oxc-project#15964) (camc314) - 619a226 oxlint/lsp: Don't register `textDocument/formatting` capability (oxc-project#15882) (Sysix) - 6ab1a20 linter: Fix no_useless_spread producing invalid syntax when removing empty object spreads (oxc-project#15905) (camc314) - be4b6df linter: Unicorn/prefer-string-replace-all incorrectly escapes backslashes (oxc-project#15901) (camc314) - 9fa9ef2 linter: Gracefully fail when using import plugin, large file counf and JS plugins (oxc-project#15864) (camc314) - c027398 linter/plugins: Correct bindings package names glob in TSDown config (oxc-project#15871) (overlookmotel) - b622ef8 linter: Fix `oxc/bad_array_method_on_arguments` rule behavior. (oxc-project#15854) (connorshea) - aa06c3f linter: Recognize NewExpression as value context in no-unused-private-class-members (oxc-project#15843) (camc314) - e89c5ba typescript/prefer-namespace-keyword: Skip nested `TSModuleDeclaration`s (oxc-project#15806) (overlookmotel) - 646d020 linter/exhaustive-dependencies: Prevent is_callee_of_call_expr flag from leaking into nested expressions (oxc-project#15832) (camc314) - 46bd6bd linter/plugins: Pin `@typescript-eslint/scope-manager` dependency (oxc-project#15807) (overlookmotel) - fba31fa linter: Patch `@typescript-eslint/scope manager` (oxc-project#15214) (Arsh) - 50307c1 linter/jest: Ignore `expect` identifier in argument position (oxc-project#15785) (camc314) ### ⚡ Performance - 024b48a linter/plugins: Lazy-load tokens parsing code (oxc-project#16011) (overlookmotel) - 15365c9 linter/plugins: Reduce var assignments (oxc-project#15953) (overlookmotel) - 84d1f4f linter/plugins: Downgrade some checks to debug-only (oxc-project#15922) (overlookmotel) - a49f704 linter/typescript: Avoid searching source text unless required (oxc-project#15805) (overlookmotel) ### 📚 Documentation - ceffa5a linter: Add config option docs for various rules. (oxc-project#16024) (connorshea) - 9a0ed13 linter: Fix config option docs for eslint/operator-assignment rule. (oxc-project#16030) (connorshea) - 0b18005 linter: Add config docs generation for rules with Regex arguments (oxc-project#15978) (connorshea) - 48d18e0 linter: Improve diagnostic message for promise/catch-or-return rule (oxc-project#15980) (connorshea) - 6c72e84 linter: Use backticks for code elements across more rule diagnostics (oxc-project#15958) (connorshea) - a63dad7 linter/plugins: Add comment (oxc-project#15952) (overlookmotel) - 81ea642 vscode: Use markdownDescription for better formatting in VSCode Settings (oxc-project#15889) (connorshea) - db6a110 linter/plugins: Fix JSDoc comment (oxc-project#15884) (overlookmotel) - 1487271 linter: Add config option docs for `jsdoc/require-param` and `jsdoc/require-returns` rules (oxc-project#15857) (connorshea) - fbf0fd4 linter/plugins: Add JSDoc comments to `Plugin` and `Rule` types (oxc-project#15815) (overlookmotel) - ac5e4b5 linter/plugins: Add JSDoc comments and improve comments (oxc-project#15814) (overlookmotel) - 9b7b083 linter: Fix error in `curly` `"all"` example (oxc-project#15801) (camc314) - 65a3520 linter: Improve diagnostic for consistent-type-definitions rule. (oxc-project#15752) (connorshea) ### 🛡️ Security - f9b9276 deps: Update dependency rolldown to v1.0.0-beta.51 (oxc-project#15856) (renovate[bot]) # Oxfmt ### 💥 BREAKING CHANGES - a937890 formatter: [**BREAKING**] Default to `lineWidth: 100` (oxc-project#15933) (leaysgur) - 03d5f5a formatter/sort-imports: [**BREAKING**] Change default order to `natural` with `natord` crate (oxc-project#15828) (leaysgur) - cbb27fd ast: [**BREAKING**] Add `TSGlobalDeclaration` type (oxc-project#15712) (overlookmotel) ### 🚀 Features - 7818e22 formatter/sort-imports: Support `options.groups` (oxc-project#15831) (leaysgur) - f9a502c oxfmt: `oxfmt --lsp` support (oxc-project#15765) (leaysgur) ### 🐛 Bug Fixes - 4817486 formatter: Revert `FormatElement::BestFitting` printing logic (oxc-project#16028) (Dunqing) - 5562dd6 formatter: Incorrect formatting method chain with trailing comments (oxc-project#16027) (Dunqing) - 6d14c8b formatter: Comments in export class decorators are printing incorrectly (oxc-project#15897) (Dunqing) - 683c764 formatter: Correct a few minor mismatched typescript tests (oxc-project#15894) (Dunqing) - c11cc07 formatter: Improve formatting for default type on type parameters (oxc-project#15893) (Dunqing) - 0bff596 formatter: Handle JSX expresssion dangling comment (oxc-project#15890) (leaysgur) - 16a9dc8 formatter: Inconsistent printing of class extends and interface extends (oxc-project#15892) (Dunqing) - 300b496 formatter: Inconsistent CallExpression and NewExpression around member chain and logical expression (oxc-project#15858) (Dunqing) ### ⚡ Performance - 65174cc formatter: Reduce the size of `TextWidth` to 4 byte (oxc-project#15827) (Dunqing) - 4fe3aac formatter: Use `ArenaVec` and `ArenaBox` (oxc-project#15420) (Dunqing) Co-authored-by: overlookmotel <[email protected]>
PreviousNext