Skip to content

chore(lint): vendor anti-slop oxlint plugin - #280

Open
l2ysho wants to merge 1 commit into
mainfrom
chore/anti-slop-oxlint-plugin
Open

chore(lint): vendor anti-slop oxlint plugin#280
l2ysho wants to merge 1 commit into
mainfrom
chore/anti-slop-oxlint-plugin

Conversation

@l2ysho

@l2ysho l2ysho commented Aug 20, 2026

Copy link
Copy Markdown
Owner

What

Vendors dmmulroy/anti-slop as an oxlint JS plugin at tools/oxlint/anti-slop/, with all 15 generic rules enabled at error.

  • .oxlintrc.json: adds jsPlugins, the 15 rules, and ignore patterns for .agent/**, .agents/**, .claude/**, tools/oxlint/anti-slop/**.
  • package.json: oxlint 1.71.0 -> 1.79.0, adds @oxlint/plugins 1.79.0.
  • The upstream effect/ rule group is deleted; this repo has no Effect dependency.

Why the oxlint bump

The JS plugin API needs oxlint and @oxlint/plugins at the same version, and @oxlint/plugins publishes nothing below 1.73.0. 1.71.0 could not load the plugin at all.

Reviewer notes

CI lint will fail on this branch. The new rules report 21 errors in existing source. They are not fixed here, because installing rules and migrating code are separate changes:

Rule Count Files
no-runtime-typeof 10 src/core.ts, src/parsePdf.ts, src/resolveInput.ts, 2 tests
require-safety-comment-for-type-assertion 8 src/core.ts, src/getPdfMetadata.ts
no-unknown-parameters 2 src/getPdfMetadata.ts
no-unsafe-dictionary-type 1 src/getPdfMetadata.ts

The 8 SAFETY: comments are mechanical. no-runtime-typeof is not: resolveInput branches on string | Buffer | Stream by design, so it needs either a discriminated input type or a per-file exception. Decide before merge.

pnpm typecheck passes. The vendored plugin is outside tsconfig.json include.

Upstream expects the vendored copy to be edited locally, not tracked as a fixed dependency.

🤖 Generated with Claude Code

Add dmmulroy/anti-slop as a vendored oxlint JS plugin in
tools/oxlint/anti-slop, with all 15 generic rules at "error".

The Effect rule group is removed: this repo has no Effect dependency.

oxlint moves 1.71.0 -> 1.79.0 and @oxlint/plugins 1.79.0 is added.
The plugin API needs both packages at the same version, and
@oxlint/plugins does not publish anything below 1.73.0.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Aug 20, 2026

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: f32e0692-49fa-4e2b-ac8b-316ced1965d4


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.

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