Skip to content

fix: move @oxlint/plugins from peerDependency to dependency (#102)#107

Merged
itaymendel merged 1 commit into
mainfrom
fix/oxlint-plugins-as-dependency
May 24, 2026
Merged

fix: move @oxlint/plugins from peerDependency to dependency (#102)#107
itaymendel merged 1 commit into
mainfrom
fix/oxlint-plugins-as-dependency

Conversation

@itaymendel

@itaymendel itaymendel commented May 24, 2026

Copy link
Copy Markdown
Owner

Summary by CodeRabbit

  • Chores
    • @oxlint/plugins is now a runtime dependency, automatically included with installation
    • Peer dependencies streamlined to diff, estree-walker, and oxc-parser only, reducing setup complexity

Review Change Stack

@coderabbitai

coderabbitai Bot commented May 24, 2026

Copy link
Copy Markdown
📝 Walkthrough

Walkthrough

@oxlint/plugins is reclassified from a development and peer dependency to a runtime dependency. The package entry is moved from devDependencies to a new top-level dependencies section, and its peerDependencies entry is removed.

Changes

Dependency Reclassification

Layer / File(s) Summary
Runtime dependency reclassification
package.json
@oxlint/plugins is added to dependencies, removed from devDependencies, and removed from peerDependencies. Only diff, estree-walker, and oxc-parser remain as peer dependencies.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Possibly related PRs

  • itaymendel/oxlint-plugin-complexity#93: Both PRs modify the dependency classification of @oxlint/plugins in package.json; this PR moves it to runtime dependencies while the retrieved PR updates its version.
  • itaymendel/oxlint-plugin-complexity#43: Both PRs modify @oxlint/plugins dependency entries in package.json, migrating the package's classification and peer dependency setup.

Poem

🐰 A hop, a skip, a dependency's flight,
From dev to runtime, now held tight,
No more peers need apply, just three remain,
@oxlint/plugins runs through our vein! 🌿

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately describes the main change: moving @oxlint/plugins from peerDependency to dependency, which is reflected in the package.json modifications.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/oxlint-plugins-as-dependency

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🧹 Nitpick comments (1)
package.json (1)

60-62: ⚖️ Poor tradeoff

Align @oxlint/plugins dependency type with Oxlint plugin guidance

  • Oxlint docs recommend publishing plugins with @oxlint/plugins as a runtime dependency (not a dev dependency) because eslintCompatPlugin must be present when the consumer executes the plugin.
  • Other published oxlint plugins already declare @oxlint/plugins under dependencies (e.g., @mkaradeniz/oxlint-plugin-whitespace, oxlint-plugin-effect), matching this change.
  • Still consider validating that having multiple @oxlint/plugins versions/copies in a consumer install won’t cause any issues (since each plugin can bring its own range).
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@package.json` around lines 60 - 62, The package currently lists
"`@oxlint/plugins`" incorrectly (should be a runtime dependency) — update
package.json so "`@oxlint/plugins`" is moved from devDependencies to dependencies
with the same version range (e.g., "^1.62.0") so eslintCompatPlugin is available
at consumer runtime; after changing, run an install/test to confirm the package
still builds and validate that multiple copies/versions of "`@oxlint/plugins`" in
a consumer environment do not cause conflicts (check resolution tree / hoisting
behavior) to ensure compatibility.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Nitpick comments:
In `@package.json`:
- Around line 60-62: The package currently lists "`@oxlint/plugins`" incorrectly
(should be a runtime dependency) — update package.json so "`@oxlint/plugins`" is
moved from devDependencies to dependencies with the same version range (e.g.,
"^1.62.0") so eslintCompatPlugin is available at consumer runtime; after
changing, run an install/test to confirm the package still builds and validate
that multiple copies/versions of "`@oxlint/plugins`" in a consumer environment do
not cause conflicts (check resolution tree / hoisting behavior) to ensure
compatibility.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: bd1817b3-fbbc-4fb6-9bf5-a37a4b28b1ba

📥 Commits

Reviewing files that changed from the base of the PR and between 643ee48 and 8acf0d7.

⛔ Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (1)
  • package.json

@itaymendel itaymendel merged commit 0244bf0 into main May 24, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant