Skip to content

feat(lint): run eslint-plugin-harlanzw rules through Oxlint - #25

Merged
RedStar071 merged 1 commit into
mainfrom
feat/harlanzw-oxlint-plugin
Nov 5, 2026
Merged

RedStar071 merged 1 commit into
mainfrom
feat/harlanzw-oxlint-plugin

Conversation

@RedStar071

@RedStar071 RedStar071 commented Nov 5, 2026 •

Copy link
Copy Markdown
Member

🔗 Linked issue

Follow-up to #22.

❓ Type of change

  • 📖 Documentation
  • 🐞 Bug fix
  • 👌 Enhancement
  • ✨ New feature
  • 🧹 Chore
  • ⚠️ Breaking change

📚 Description

The fork replaced ESLint with Oxlint and dropped Harlan's eslint-plugin-harlanzw rules along the way. pkg-conform still told agents to configure a eslint-plugin-wolfstarzw package that does not exist.

Oxlint can load ESLint plugins as jsPlugins, so this brings the rules back without ESLint. The package exports its plugin by name and Oxlint reads the default export, so .oxlint/harlanzw.mjs re-exports it.

Enabled as errors: 22 script rules, such as no-silent-catch, nuxt-await-navigate-to, nuxt-no-unsafe-date, vue-no-reactive-destructuring, and vue-no-reactivity-after-await. Fixtures under test/fixtures are exempt from nuxt-no-side-effects-in-setup.

Left off after running every rule over the repository:

  • no-test-file-reads: 119 hits, and it also flags scripts that are not tests.
  • prefer-satisfies: 3 hits on lookup tables indexed by string, where satisfies would break the types.
  • vue-no-resolve-component-in-composables: 4 hits on resolveComponent() that is already inside <script setup>.
  • nuxt-prefer-navigate-to-over-router-push-replace: 3 hits on query updates that handle router errors.

Code changes the new rules asked for:

  • hw.ts uses styleText instead of raw ANSI codes.
  • The advocaat 401 test now asserts that the call rejects, instead of swallowing the error with .catch(() => undefined).
  • Two scoped oxlint-disable comments remain where the code must handle literal ANSI: worker-github-evidence.ts parses GitHub Actions logs, and opencode-provider.test.ts replays real opencode stderr.

Limits: Oxlint runs script rules only. The Vue template rules (link-*, vue-no-ref-access-in-templates) and the Markdown rules (ai-deslop-*, prompt-*, docs-*) do not run.

pnpm-lock.yaml also gains eslint, because the plugin lists it as a peer dependency. The pkg-conform Skill now documents the wrapper, the rules, and these limits.

🤖 AI disclosure: Wolfstar Agent Kit modified this description. AI open source policy.


Play the walkthrough

@coldtea-pr-lens

coldtea-pr-lens Bot commented Nov 5, 2026 •

Copy link
Copy Markdown

Architecture

Architecture diagram for wolfstar-project/wolfstar-agent-kit at a156fb9

Play the walkthrough


Data flow

No data-flow sequence changed in this PR.


Review

✨ Nothing flagged · reviewed a156fb9


Tip

Open a diagram on the canvas, then press W or click play to walk through the change one step at a time

🪧 More tips
  • Run npx skills add coldteadotai/pr-lens, then tell your coding agent: "Diagram the change you just made with PR Lens and attach it to the pull request."
  • Run npx @coldtea/pr-lens-cli analyze --base origin/main on a branch, then npx @coldtea/pr-lens-cli render .pr-lens/graph.json. Same lenses, your own model key, before the pull request exists
  • Click the link under each diagram to open it on a canvas you can zoom, pan and step through
  • The diagrams are links. Click one to open it on the canvas, then press W or click play to walk through the change
  • The CLI's render reads .github/pr-lens.yml and applies your renames, exclusions and lane pins at draw time
  • Set github.comment.collapsed: true in .github/pr-lens.yml to fold the comment behind one View architecture… row. Drawing still runs as before
  • Set github.draw: on-demand in .github/pr-lens.yml and PR Lens stops drawing pull requests on its own. Comment @pr-lens draw on a pull request when you want that one drawn
  • Add .github/workflows/pr-lens.yml with coldteadotai/pr-lens/packages/action@v0 and your model provider's key as its api-key to run PR Lens from your own CI. Any /chat/completions endpoint works
  • After a push, tick Redraw to draw the latest commit
  • Switch GitHub to dark mode and the diagrams follow. The moving dots are this pull request's data in motion
  • Set github.description: false in .github/pr-lens.yml to stop PR Lens adding buttons to your PR descriptions

Thanks for using PR Lens! It's free for OSS. If it helped, a star helps other teams find it.  Star PR Lens on GitHub

@socket-security

Copy link
Copy Markdown

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Addedeslint-plugin-harlanzw@​0.23.08210010096100

View full report

@RedStar071
RedStar071 merged commit 1e011d0 into main Nov 5, 2026
9 checks passed
@RedStar071
RedStar071 deleted the feat/harlanzw-oxlint-plugin branch November 5, 2026 17:29
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