Skip to content

feat(lint): replace stock max-params with conformance-aware rule#53

Draft
natemoo-re wants to merge 1 commit into
mainfrom
feat/max-params-rule
Draft

feat(lint): replace stock max-params with conformance-aware rule#53
natemoo-re wants to merge 1 commit into
mainfrom
feat/max-params-rule

Conversation

@natemoo-re

Copy link
Copy Markdown
Member

Summary

The 2-parameter limit is a design convention for APIs we author — but the stock rule also fired on signatures imposed by APIs we conform to (Node streams, platform-shaped interfaces), pushing agents toward whole-file // oxlint-disable max-params headers.

bombshell-dev/max-params keeps the limit for authored signatures (free function declarations, variable-assigned functions, standalone-class members) and exempts conformance cases:

  • override methods
  • members of classes that extends or implements (the signature is imposed by the base/interface)
  • inline callbacks (call arguments, object-literal properties, array elements)

Validation

  • Integration test through runOxlint covering all authored/exempt cases
  • Self-lint proof: the pre-existing error on stdio.ts's stream _write(chunk, encoding, callback) override is now correctly silent — the exact clayterm failure mode from the logs
  • Note: jsPlugin rules need meta.schema to accept options (discovered the hard way)

Includes changeset (minor).

bombshell-dev/max-params keeps the 2-param limit for signatures we
author, but exempts functions conforming to external APIs: override
methods, members of classes that extends/implements, and inline
callbacks.
@changeset-bot

changeset-bot Bot commented Jul 23, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: b9d6c2c

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
@bomb.sh/tools Minor

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@pkg-pr-new

pkg-pr-new Bot commented Jul 23, 2026

Copy link
Copy Markdown

Open in StackBlitz

npm i https://pkg.pr.new/@bomb.sh/tools@53

commit: b9d6c2c

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