Skip to content

feat(npm-blacklist): scan multiple directories in one call - #8

Merged
thedavidmeister merged 1 commit into
mainfrom
2026-06-15-npm-blacklist-multi-dir
Jun 18, 2026
Merged

feat(npm-blacklist): scan multiple directories in one call#8
thedavidmeister merged 1 commit into
mainfrom
2026-06-15-npm-blacklist-multi-dir

Conversation

@thedavidmeister

Copy link
Copy Markdown
Contributor

What

Adds a working-directories input to the npm-blacklist composite action: a whitespace-separated list of NPM project paths to scan in a single action call, from one already-installed dependency tree.

  • working-directories takes precedence over the singular working-directory when set.
  • The action loops checker.sh over each listed directory. Every directory is checked (an early failure doesn't short-circuit), and the step fails if any directory resolves a blacklisted package.
  • Fully backward compatible: existing callers that pass only working-directory (or nothing) are unchanged.

Why

CI today calls this composite action once per workspace package (e.g. ., packages/raindex, packages/ui-components), which is fine for a static list hand-written inline. But a parameterized reusable workflow can't loop a composite uses: over a dynamic list in YAML — its only options are to bake a fixed call count in, or run a matrix that re-installs the (expensive) dependency tree per directory.

Giving the action itself a multi-directory mode lets a reusable workflow install once and scan all directories in a single step. This is the right home for the loop: the directory iteration is the action's concern, not each consumer's.

Companion PR

This unblocks the install-once design of rainlanguage/rainix's new rainix-npm-blacklist.yaml reusable workflow (rainlanguage/rainix#229), which calls this action once with the full working-directories list after a single install.

🤖 Generated with Claude Code

Add a `working-directories` input (whitespace-separated list of NPM
project paths) so a single action call can scan several projects from one
installed dependency tree. It takes precedence over the singular
`working-directory` and is fully backward compatible: callers that pass
only `working-directory` are unaffected.

This lets a CI job install dependencies once and scan every workspace
package in a single step, instead of repeating the composite `uses:` per
directory or re-installing per directory in a matrix.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@thedavidmeister thedavidmeister self-assigned this Jun 15, 2026
@coderabbitai

coderabbitai Bot commented Jun 15, 2026

Copy link
Copy Markdown

Warning

Review limit reached

@thedavidmeister, we couldn't start this review because you've reached your PR review rate limit.

More reviews will be available in 51 minutes and 1 second. Learn how PR review limits work.

Your organization has used up its prepaid credits, and credit purchases are no longer available. Enable the review add-on in the billing tab to keep reviews running — you're only billed for reviews past your plan's rate limits ($0.25/file).

⌛ How to resolve this issue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans include higher PR review limits than trial, open-source, and free plans. In all cases, reviews become available again over time. During sustained high-volume PR review activity, CodeRabbit may temporarily slow when the next review becomes available.

Please see our Fair Usage Limits Policy for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: 1b2623f5-b0e2-4827-a3cd-f90a4b2b5734

📥 Commits

Reviewing files that changed from the base of the PR and between b073706 and 8b3353a.

📒 Files selected for processing (1)
  • .github/actions/npm-blacklist/action.yml
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch 2026-06-15-npm-blacklist-multi-dir

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.

@thedavidmeister

Copy link
Copy Markdown
Contributor Author

human-approved; merging

@thedavidmeister
thedavidmeister merged commit bcaae5d into main Jun 18, 2026
1 check passed
@thedavidmeister
thedavidmeister deleted the 2026-06-15-npm-blacklist-multi-dir branch June 18, 2026 12:02
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