Skip to content

Commit fa0eeb7

Browse files
Boshencamc314
andauthored
release(apps): oxlint v1.43.0 && oxfmt v0.28.0 (#18843)
# Oxlint ### 💥 BREAKING CHANGES - b34a155 linter/plugins: [**BREAKING**] `RuleTester` set `context.filename` to absolute path (#18702) (overlookmotel) ### 🚀 Features - 1753209 linter/vscode: Run extension when JS configs are detected (#18832) (camc314) - c962dd2 linter/lsp: Implement support for oxlint.config.ts (#18826) (camc314) - da32203 linter: Auto generate oxlint.config.ts types (#18597) (camc314) - 19b4df7 oxlint: Introduce `defineConfig` helper (#18596) (camc314) - ea97231 linter: Implement `oxlint.config.ts` support (#17563) (camc314) - 17ca42d linter: Implement `react/no-multi-comp` rule. (#18794) (connorshea) - 88f30e0 linter/plugins: Move eslint compatible plugin conversion to `eslintCompatPlugin` function (#18791) (overlookmotel) - 2a72794 linter/plugins: `RuleTester` take `cwd` property (#18756) (overlookmotel) - 9f533db linter: Add `find_prev_token_within` method for token search (#18769) (camc314) - 772ea70 linter: Introduce `load_js_configs` napi callback (#18767) (camc314) - e9690c1 linter: Introduce `DiscoveredConfig` in preparation for JS configs (#18674) (camc314) - 558b588 linter/prefer-namespace-keyword: Move to correctness (#18733) (camc314) - 7a5c268 oxlint/lsp: Support `jsPlugins` (#17840) (Sysix) - c07497c linter/prefer-modern-dom-apis: Implement suggestion (#17965) (Mikhail Baev) - 8531bc9 linter: Implement `prefer-const` (#18687) (camchenry) - 8670b18 parser: Error on ambient class accessor implementations (#18592) (camc314) - 6b8a5ae linter: Add `eslint-plugin-import/no-nodejs-modules` rule (#18006) (Mikhail Baev) - 04f400d linter/no-duplicates: Add support for `considerQueryString` option (#18657) (camc314) - 3b7f260 linter/consistent-generic-constructor: Implement fixer (#18616) (camc314) - 794f9e4 linter/prefer-exponentation-operator: Implement suggestion (#18602) (camc314) - 773d916 linter: `eslint/sort_keys` ignore leading and trailing spreads in auto-fix (#18485) (Lonami) - 20d4ede linter: Implement `import/no-relative-parent-imports` rule (#18513) (Valentin Maerten) - 0da45ef vscode: Fallback to globally installed oxlint/oxfmt packages (#18007) (Sysix) ### 🐛 Bug Fixes - a3417b1 linter/plugins: Clear state when reloading workspace (#18837) (overlookmotel) - c879992 linter: Error on arrays passed in as config (#18822) (camc314) - 5c80422 linter/tsdown: Ensure relative path for globals import starts with `./` (#18820) (camc314) - 7419dfb linter: Remove invalid debug assersion, add test (#18819) (camc314) - 0ca6269 ci: Fix the repo path normalization logic for tests on Windows. (#18815) (connorshea) - c7b0a65 linter: Fix config option docs for `react/jsx-boolean-value` rule. (#18811) (connorshea) - cce374e linter/prefer-const: Replace entire declaration over just the `let` kw (#18814) (camc314) - 41f92d1 linter: Error when given config options for a lint rule that has no config options defined. (#18809) (connorshea) - 0867a36 linter/consistent-index-object-style: False positive with mapped + generic types (#18801) (camc314) - 1d34b42 linter: Fix 32 bit build (#18783) (camc314) - 95df577 linter/plugins: Handle error from `destroyWorkspace` (#18763) (overlookmotel) - b3261dc linter: Fix the curly rule config to enforce the shape of the config and emit correct docs (#18743) (connorshea) - d981978 linter/plugins: Use non-blocking mode when calling `destroyWorkspace` (#18762) (overlookmotel) - 3f43d4c linter: Accept bools as valid values for `fixable` (#18772) (camc314) - 005910a linter/plugins: Support plugins outside of workspace (#18755) (overlookmotel) - fd92711 vscode: Use `fsPath` for workspace mapping (#18728) (Sysix) - 358b2c1 linter/consistent-generic-constructors: Check bounds when searching for `:` token (#18745) (connorshea) - abd0c28 linter/capitalized-comments: Fix generated rule option docs (#18748) (connorshea) - d90a9f6 linter: Add more tests for `prefer-const`'s fixer and fix its invalid behavior. (#18747) (connorshea) - f82011b oxlint/lsp: Disable JS plugins support in LSP except in tests (#18727) (overlookmotel) - 94505c8 linter/jest: Change `prefer-spy-on` autofix to suggestion (#18152) (Ben Lowery) - 6ec1112 linter: Mark unused disable directive fix as suggestion (#18703) (ddmoney420) - 49609ec linter/no-useless-constructor: Consider argument transformation as used (#18706) (ddmoney420) - 40218de linter: Fix behavior of jsx-a11y/no-static-element-interactions rule. (#17817) (connorshea) - db9751d linter/no-html-link-for-pages: Handle `target=_blank` correctly (#18693) (camc314) - e440b78 linter/plugins: Pass all args to CFG event handlers when 2 rules use same handler (#18683) (overlookmotel) - b393430 linter/curly: Fix multi-or-nest and consistent conflict (#18660) (camc314) - 2e1fbc2 linter/plugins: Implement `context.parserPath` (#18644) (overlookmotel) - 34951ed linter/plugins: `filename` option takes precedence over `parserOptions.lang` in `RuleTester` (#18643) (overlookmotel) - 28df160 linter/plugins: Allow line number passed to `report` to be 0 (#18642) (overlookmotel) - 14fabec vscode: Use built-in `getWorkspaceFolder` for detecting the right workspace of a given uri (#18583) (Sysix) - 0ff4cea oxlint/cli: Report error when nested config could not be parsed (#18504) (Sysix) ### ⚡ Performance - 9862224 linter/plugins: Reduce cost of workspaces (#18758) (overlookmotel) - 6bc0bde linter: Remove string allocation (#18725) (overlookmotel) - 3a6b41e linter/plugins: Replace ESLint Traverser with lightweight traverseNode (#18529) (Rintaro Itokawa) ### 📚 Documentation - dd1a653 linter: Fix doc comment for ignoreStateless config option. (#18808) (connorshea) - 5909085 linter/plugins: Add doc comments (#18753) (overlookmotel) - ffe53a3 linter: Update lint function docs (#18766) (camc314) - b82faec linter: Glob for any css module for no-unassigned-import (#18713) (Ben Stickley) - cd86347 linter: Mark some react rules as unsupported, misc docs improvements (#18617) (connorshea) - 23401d8 linter: Update fixes and suggestions status for tsgolint rules (#18619) (camchenry) # Oxfmt ### 🚀 Features - ee30de9 oxfmt: Add config migration from biome (#18638) (Luca Fischer) ### 🐛 Bug Fixes - e754b18 oxfmt/migrate-prettier: Set `experimentalSortPackagejson: false` by default (#18831) (leaysgur) - a83c266 formatter: Keep decorated function pattern hugged when params break (#18830) (Dunqing) - 0c8efe1 formatter: Quote numeric property keys with `quoteProps: consistent` (#18803) (Dunqing) - 9c14c3e formatter: Ignore comment does not work for sequence expressions in arrow function body (#18799) (Dunqing) - 54984ae formatter: Handle leading comments in arrow function sequence expressions (#18798) (Dunqing) - 61bb2b5 formatter: Correctly expand JSX returned from arrow callbacks in JSX expression containers (#18797) (Dunqing) - 34ee194 formatter: Tailwindcss sorting doesn't work for object property keys (#18773) (Dunqing) - 48f1e35 oxfmt: Prevent ThreadsafeFunction crash on Node.js exit (#18723) (Boshen) - e96adca formatter: Follow Prettier's approach for for-in initializer parentheses (#18695) (Dunqing) - 1215a6f formatter: Preserve quote for class property key in TypeScript (#18692) (Dunqing) - 059acae formatter: Incorrect comments placement for union type in `TSTypeIntersection` (#18690) (Dunqing) - c3d05c1 formatter,oxfmt: Handle CRLF with embedded formatting (#18686) (leaysgur) - 7cb3085 formatter: Preserve comments on rest elements (#18649) (Dunqing) - 21984dd formatter: Preserve type cast comments on rest parameters (#18648) (Dunqing) - 2f70254 formatter: Don't add extra semicolon on suppressed class properties (#18631) (Dunqing) - ac1ff4e oxfmt: Use `empty_line` IR for empty xxx-in-js line (#18623) (leaysgur) - 8f76900 oxfmt: Dedent xxx-in-js templates before calling prettier (#18622) (leaysgur) - 6b726ef oxfmt: Trim whitespace only xxx-in-js templates (#18621) (leaysgur) Co-authored-by: camc314 <18101008+camc314@users.noreply.github.com>
1 parent 6114a13 commit fa0eeb7

File tree

17 files changed

+264
-117
lines changed

17 files changed

+264
-117
lines changed

Cargo.lock

Lines changed: 4 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

apps/oxfmt/CHANGELOG.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,22 @@ All notable changes to this package will be documented in this file.
44

55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0).
66

7+
## [0.28.0] - 2026-02-02
8+
9+
### 🚀 Features
10+
11+
- ee30de9 oxfmt: Add config migration from biome (#18638) (Luca Fischer)
12+
13+
### 🐛 Bug Fixes
14+
15+
- e754b18 oxfmt/migrate-prettier: Set `experimentalSortPackagejson: false` by default (#18831) (leaysgur)
16+
- 34ee194 formatter: Tailwindcss sorting doesn't work for object property keys (#18773) (Dunqing)
17+
- 48f1e35 oxfmt: Prevent ThreadsafeFunction crash on Node.js exit (#18723) (Boshen)
18+
- c3d05c1 formatter,oxfmt: Handle CRLF with embedded formatting (#18686) (leaysgur)
19+
- ac1ff4e oxfmt: Use `empty_line` IR for empty xxx-in-js line (#18623) (leaysgur)
20+
- 8f76900 oxfmt: Dedent xxx-in-js templates before calling prettier (#18622) (leaysgur)
21+
- 6b726ef oxfmt: Trim whitespace only xxx-in-js templates (#18621) (leaysgur)
22+
723
## [0.27.0] - 2026-01-26
824

925
### 🚀 Features

apps/oxfmt/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "oxfmt"
3-
version = "0.27.0"
3+
version = "0.28.0"
44
authors.workspace = true
55
categories.workspace = true
66
edition.workspace = true

apps/oxfmt/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "oxfmt-app",
3-
"version": "0.27.0",
3+
"version": "0.28.0",
44
"private": true,
55
"description": "Internal development package for oxfmt. For the published package.json template, see `npm/oxfmt/package.json`.",
66
"license": "MIT",

apps/oxfmt/src-js/bindings.js

Lines changed: 52 additions & 52 deletions
Large diffs are not rendered by default.

apps/oxlint/CHANGELOG.md

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,54 @@ All notable changes to this package will be documented in this file.
44

55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0).
66

7+
## [1.43.0] - 2026-02-02
8+
9+
### 💥 BREAKING CHANGES
10+
11+
- b34a155 linter/plugins: [**BREAKING**] `RuleTester` set `context.filename` to absolute path (#18702) (overlookmotel)
12+
13+
### 🚀 Features
14+
15+
- c962dd2 linter/lsp: Implement support for oxlint.config.ts (#18826) (camc314)
16+
- da32203 linter: Auto generate oxlint.config.ts types (#18597) (camc314)
17+
- 19b4df7 oxlint: Introduce `defineConfig` helper (#18596) (camc314)
18+
- ea97231 linter: Implement `oxlint.config.ts` support (#17563) (camc314)
19+
- 88f30e0 linter/plugins: Move eslint compatible plugin conversion to `eslintCompatPlugin` function (#18791) (overlookmotel)
20+
- 2a72794 linter/plugins: `RuleTester` take `cwd` property (#18756) (overlookmotel)
21+
- 772ea70 linter: Introduce `load_js_configs` napi callback (#18767) (camc314)
22+
- e9690c1 linter: Introduce `DiscoveredConfig` in preparation for JS configs (#18674) (camc314)
23+
- 558b588 linter/prefer-namespace-keyword: Move to correctness (#18733) (camc314)
24+
- 7a5c268 oxlint/lsp: Support `jsPlugins` (#17840) (Sysix)
25+
26+
### 🐛 Bug Fixes
27+
28+
- a3417b1 linter/plugins: Clear state when reloading workspace (#18837) (overlookmotel)
29+
- c879992 linter: Error on arrays passed in as config (#18822) (camc314)
30+
- 5c80422 linter/tsdown: Ensure relative path for globals import starts with `./` (#18820) (camc314)
31+
- 7419dfb linter: Remove invalid debug assersion, add test (#18819) (camc314)
32+
- 0ca6269 ci: Fix the repo path normalization logic for tests on Windows. (#18815) (connorshea)
33+
- 41f92d1 linter: Error when given config options for a lint rule that has no config options defined. (#18809) (connorshea)
34+
- 1d34b42 linter: Fix 32 bit build (#18783) (camc314)
35+
- 95df577 linter/plugins: Handle error from `destroyWorkspace` (#18763) (overlookmotel)
36+
- d981978 linter/plugins: Use non-blocking mode when calling `destroyWorkspace` (#18762) (overlookmotel)
37+
- 3f43d4c linter: Accept bools as valid values for `fixable` (#18772) (camc314)
38+
- 005910a linter/plugins: Support plugins outside of workspace (#18755) (overlookmotel)
39+
- f82011b oxlint/lsp: Disable JS plugins support in LSP except in tests (#18727) (overlookmotel)
40+
- e440b78 linter/plugins: Pass all args to CFG event handlers when 2 rules use same handler (#18683) (overlookmotel)
41+
- 2e1fbc2 linter/plugins: Implement `context.parserPath` (#18644) (overlookmotel)
42+
- 34951ed linter/plugins: `filename` option takes precedence over `parserOptions.lang` in `RuleTester` (#18643) (overlookmotel)
43+
- 28df160 linter/plugins: Allow line number passed to `report` to be 0 (#18642) (overlookmotel)
44+
- 0ff4cea oxlint/cli: Report error when nested config could not be parsed (#18504) (Sysix)
45+
46+
### ⚡ Performance
47+
48+
- 9862224 linter/plugins: Reduce cost of workspaces (#18758) (overlookmotel)
49+
- 3a6b41e linter/plugins: Replace ESLint Traverser with lightweight traverseNode (#18529) (Rintaro Itokawa)
50+
51+
### 📚 Documentation
52+
53+
- ffe53a3 linter: Update lint function docs (#18766) (camc314)
54+
755
## [1.42.0] - 2026-01-26
856

957
### 🚀 Features

apps/oxlint/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "oxlint"
3-
version = "1.42.0"
3+
version = "1.43.0"
44
authors.workspace = true
55
categories.workspace = true
66
edition.workspace = true

apps/oxlint/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "oxlint-app",
3-
"version": "1.42.0",
3+
"version": "1.43.0",
44
"private": true,
55
"description": "Internal development package for oxlint. For the published package.json template, see `npm/oxlint/package.json`.",
66
"license": "MIT",

0 commit comments

Comments
 (0)