Skip to content

chore(deps): update oxc dependencies#12

Merged
k35o merged 3 commits into
mainfrom
renovate/oxc-dependencies
May 17, 2026
Merged

chore(deps): update oxc dependencies#12
k35o merged 3 commits into
mainfrom
renovate/oxc-dependencies

Conversation

@renovate
Copy link
Copy Markdown
Contributor

@renovate renovate Bot commented May 3, 2026

This PR contains the following updates:

Package Change Age Confidence
@oxlint/plugins (source) 1.58.01.63.0 age confidence
oxfmt (source) 0.43.00.48.0 age confidence
oxlint (source) 1.58.01.63.0 age confidence
oxlint-tailwindcss 0.6.10.7.0 age confidence

Release Notes

oxc-project/oxc (oxfmt)

v0.48.0

Compare Source

v0.47.0

Compare Source

v0.46.0

Compare Source

v0.45.0

Compare Source

🐛 Bug Fixes

v0.44.0

Compare Source

🐛 Bug Fixes
  • dd2df87 npm: Export package.json for oxlint and oxfmt (#​20784) (kazuya kawaguchi)
  • 4216380 oxfmt: Support .editorconfig tab_width fallback (#​20988) (leaysgur)
oxc-project/oxc (oxlint)

v1.63.0

Compare Source

📚 Documentation

v1.62.0

Compare Source

🚀 Features
  • 348f46c linter: Add respectEslintDisableDirectives option (#​21384) (Christian Vuerings)
🐛 Bug Fixes
  • 8c425db linter: Allow string for jest version in config schema (#​21649) (camc314)

v1.61.1

Compare Source

v1.61.0

Compare Source

🚀 Features
  • 38d8090 linter/jest: Implemented jest version settings in config file. (#​21522) (Said Atrahouch)

v1.60.0

Compare Source

📚 Documentation
  • cfd8a4f linter: Don't rely on old eslint doc for available globals (#​21334) (Nicolas Le Cam)

v1.59.0

Compare Source

sergioazoc/oxlint-tailwindcss (oxlint-tailwindcss)

v0.7.0

Compare Source

  • New rule: prefer-theme-tokens (#​15) — Suggests named theme-token utilities like border-border over raw CSS variable references like border-(--border) or border-[var(--border)] when the named utility exists in the design system. Off by default — the replacement is a name-match heuristic and can change observable CSS in shadcn-style themes where --color-X wraps the raw --X (e.g. hsl(var(--X))). Coexistence with enforce-canonical and no-unnecessary-arbitrary-value is locked down by an integration matrix so they don't double-fire on the same input.
  • Fix pnpm strict workspaces — The precompute child process required @tailwindcss/node via bare specifier from its cwd, which fails under pnpm with strict hoisting (the module lives under node_modules/.pnpm/oxlint-tailwindcss@…/node_modules, not on the resolution path from the consumer's project root). The plugin now resolves the absolute path from its own install location and passes it via env to the child. Includes an actionable error message and a regression test that simulates the isolated cwd.
  • Fix unfixable cycle between no-unnecessary-whitespace and enforce-consistent-line-wrapping (#​14) — When both rules were enabled with classesPerLine, autofix oscillated forever: line-wrapping introduced \n + indent between class chunks, then no-unnecessary-whitespace collapsed it back to a single space. The whitespace rule now collapses runs of [ \t]+ only within each line, leaving newlines and the indentation that follows them untouched.
  • Multiline-safe class-string rebuilding across all autofix rules — The same root cause as #​14 affected ~12 other rules that did splitClasses(value).join(' ') to rebuild a class string after an autofix. They all collapsed multiline indentation into a single space. Introduced splitClassesWithSeparators + rebuildClassString in class-splitter.ts: the split captures every whitespace run between classes (plus leading/trailing); the rebuild preserves them verbatim for 1-to-1 transforms (canonical, sort, variant-order, important-position, logical/physical, var-syntax, negative-arb, no-unnecessary-arb, prefer-theme-tokens, no-deprecated, no-unknown suggestions) and degrades gracefully for length-changing rules (no-duplicate, shorthand) by joining with the first newline-bearing internal separator. The matrix test in tests/integration/multiline-preservation.test.ts locks per-rule behavior down.
  • 834 tests (up from 742).

v0.6.3

Compare Source

  • Perf: enforce-canonical ~5x faster — Lint time on an 898-file repo with 12 threads dropped from 106s to 22s. Named classes (no [ or ( in the utility) now resolve via the precomputed canonicalMap in DesignSystemCache instead of going through the worker thread round-trip. Only classes with arbitrary or CSS-var values (p-[2px], bg-(--c)) still call the worker. A process-wide per-class cache keyed by ${cssPath}\0${rem}\0${class} deduplicates the remaining worker requests.
  • Fix latent bug in the canonicalize worker — The worker called ds.canonicalizeCandidates(classes) in batch, but that API deduplicates its input. Inputs containing duplicate classes produced output shorter than the input and left dynamic[i] undefined in enforce-canonical. The worker now iterates canonicalizeCandidates([cls]) per class, preserving order and length.
  • 742 tests (up from 736).

v0.6.2

Compare Source

  • Fix MaxListenersExceededWarning when the plugin runs in multiple oxlint worker threads — The sort and canonicalize services registered process.on('exit', cleanup) on every module load. When oxlint spawns many lint workers, this exceeded Node's default MaxListeners (10) and emitted a warning. worker.unref() already lets the process exit without waiting for the worker, so the exit listener was redundant and has been removed. Regression test added in tests/design-system/exit-listeners.test.ts.
  • Dependencies updated@​tailwindcss/node 4.2.4, tailwindcss 4.2.4, @​oxlint/plugins 1.61.0, oxlint 1.61.0, oxfmt 0.46.0, tsdown 0.21.9, vitest 4.1.5.
  • 736 tests (up from 733).

Configuration

📅 Schedule: (in timezone Asia/Tokyo)

  • Branch creation
    • "every weekend"
  • Automerge
    • Only on Sunday and Saturday (* * * * 0,6)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate Bot added the oxc-update label May 3, 2026
@renovate renovate Bot requested a review from k35o as a code owner May 3, 2026 11:28
@renovate renovate Bot added the oxc-update label May 3, 2026
Copy link
Copy Markdown

@k8o-bot k8o-bot Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Argus review

Diff 要約

package.json の devDependencies における複数のパッケージのバージョンアップが行われています:

  • @oxlint/plugins: 1.58.0 → 1.62.0
  • oxfmt: 0.43.0 → 0.47.0
  • oxlint: 1.58.0 → 1.62.0
  • oxlint-tailwindcss: 0.6.1 → 0.6.3

レビューコメント

👍 基本的に問題ありません

依存パッケージのメンテナンス更新として適切です。以下の点を確認した上での判定です:

  • バージョン戻りなし: すべての更新が前進方向(minor/patch の上昇)で、意図的なバージョンダウンではない
  • 関連パッケージの整合性: oxlint 関連パッケージ(@oxlint/plugins と oxlint)が同じバージョン番号に揃えられており、一貫性がある
  • devDependencies のみ: 本番依存関係に影響しない範囲での更新

🟡 確認推奨事項(blocker ではありませんが)

  • テスト実行: 特に oxlint や oxfmt のメジャーな更新(oxfmt: 0.43.0 → 0.47.0)は、リント/フォーマットルールの変更を含む可能性があります。CI が通ることを確認してください
  • CHANGELOG 確認: 更新されたパッケージに破壊的変更がないか簡単にチェックをお勧めします(oxlint は複数のマイナーバージョンアップなため特に)

Posted by Argus (AI review). Treat this as a second opinion, not ground truth.

@renovate renovate Bot force-pushed the renovate/oxc-dependencies branch 2 times, most recently from 04944ac to 56b1bc2 Compare May 13, 2026 19:52
@k35o k35o mentioned this pull request May 14, 2026
2 tasks
@renovate
Copy link
Copy Markdown
Contributor Author

renovate Bot commented May 14, 2026

Edited/Blocked Notification

Renovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR.

You can manually request rebase by checking the rebase/retry box above.

⚠️ Warning: custom changes will be lost.

renovate Bot and others added 3 commits May 17, 2026 21:16
oxlint 1.63 adds the import/promise/node plugins to the default
config, surfaces `options.typeAware`, and adjusts a handful of rule
defaults (adds no-restricted-exports, no-underscore-dangle,
no-useless-assignment, require-unicode-regexp,
unicorn/no-negated-condition; drops typescript/dot-notation and
typescript/no-unnecessary-qualifier). Snapshots regenerated.
oxfmt 0.44.0 restricted its package exports to only `.` and
`./package.json`, so vite-plus 0.1.16's `require.resolve('oxfmt/bin/oxfmt')`
no longer resolves. vite-plus 0.1.21 switches to resolving via the
package entry then appending `bin/oxfmt`, which works under the
restricted exports.
@k35o k35o force-pushed the renovate/oxc-dependencies branch from 22cecf9 to ad0ec98 Compare May 17, 2026 12:17
@k35o k35o merged commit d856c58 into main May 17, 2026
3 checks passed
@k35o k35o deleted the renovate/oxc-dependencies branch May 17, 2026 12:32
@k8o-bot k8o-bot Bot mentioned this pull request May 17, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant