fix: resolve all knip unused dependency and unlisted binary warnings#434
Conversation
Bun.Transpiler.transformSync() and import() throw AggregateError when .rules.ts files contain syntax errors. These were unhandled, causing archgate check to crash instead of reporting the file as blocked. Wrap transpiler, parser, and dynamic import calls in try-catch blocks and return structured violation results so the error surfaces as a check failure rather than an unhandled exception. Fixes Sentry issue 130690158. Signed-off-by: Rhuan Barreto <rhuan@barreto.work>
Add proto-installed tools (conventional-changelog, czg, oxfmt, oxlint) to knip's ignoreDependencies and ignoreBinaries lists. These packages are in devDependencies for version pinning but installed via proto, so knip cannot resolve them from node_modules. Signed-off-by: Rhuan Barreto <rhuan@barreto.work>
|
Warning Review limit reached
More reviews will be available in 38 minutes and 18 seconds. 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 To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based credits. 🚦 How do rate limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please see our Fair Usage Limits Policy for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Plus Run ID: 📒 Files selected for processing (2)
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. Comment |
Deploying archgate-cli with
|
| Latest commit: |
6a05efb
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://cffc2c5c.archgate-cli.pages.dev |
| Branch Preview URL: | https://claude-focused-mcclintock-ed.archgate-cli.pages.dev |
Code Coverage
Full HTML report available in workflow artifacts. Per-directory breakdown
|
Worktrees created by Claude Code lack node_modules, causing knip and other tools to fail. This hook runs `bun install` automatically when a worktree is created. Signed-off-by: Rhuan Barreto <rhuan@barreto.work>
# archgate ## [0.45.7](v0.45.6...v0.45.7) (2026-06-27) ### Bug Fixes * **deps:** update docs dependencies ([#437](#437)) ([e8f10c1](e8f10c1)) * handle parse errors in rule scanner and loader gracefully ([#432](#432)) ([7c384d2](7c384d2)), closes [#130690158](https://github.com/archgate/cli/issues/130690158) * resolve all knip unused dependency and unlisted binary warnings ([#434](#434)) ([d7690b2](d7690b2)) --- This PR was generated with [simple-release](https://github.com/TrigenSoftware/simple-release). <details> <summary>📄 Cheatsheet</summary> <br> You can configure the bot's behavior through a pull request comment using the `!simple-release/set-options` command. ### Command Format ````md !simple-release/set-options ```json { "bump": {}, "publish": {} } ``` ```` ### Useful Parameters #### Bump | Parameter | Type | Description | |-----------|------|-------------| | `version` | `string` | Force set specific version | | `as` | `'major' \| 'minor' \| 'patch' \| 'prerelease'` | Release type | | `prerelease` | `string` | Pre-release identifier (e.g., "alpha", "beta") | | `firstRelease` | `boolean` | Whether this is the first release | | `skip` | `boolean` | Skip version bump | | `byProject` | `Record<string, object>` | Per-project bump options for monorepos | #### Publish | Parameter | Type | Description | |-----------|------|-------------| | `skip` | `boolean` | Skip publishing | | `access` | `'public' \| 'restricted'` | Package access level | | `tag` | `string` | Tag for npm publication | ### Usage Examples #### Force specific version ````md !simple-release/set-options ```json { "bump": { "version": "2.0.0" } } ``` ```` #### Force major bump ````md !simple-release/set-options ```json { "bump": { "as": "major" } } ``` ```` #### Create alpha pre-release ````md !simple-release/set-options ```json { "bump": { "prerelease": "alpha" } } ``` ```` #### Publish with specific access and tag ````md !simple-release/set-options ```json { "bump": { "prerelease": "beta" }, "publish": { "access": "public", "tag": "beta" } } ``` ```` ### Access Restrictions The command can only be used by users with permissions: - repository owner - organization member - collaborator ### Notes - The last comment with `!simple-release/set-options` command takes priority - JSON must be valid, otherwise the command will be ignored - Parameters apply only to the current release execution - The command can be updated by editing the comment or adding a new one </details> <!-- Please do not edit this comment. simple-release-pull-request: true simple-release-branch-from: release simple-release-branch-to: main --> Signed-off-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Summary
conventional-changelog,czg,oxfmt,oxlint) to knip'signoreDependenciesandignoreBinarieslistsknipitself toignoreBinaries(it self-resolves as a dependency but not as a binary since it's invoked via proto)bun run knipnow exits cleanly with zero findingsContext
These tools are listed in
devDependenciesfor version pinning but installed and invoked via proto (not npm). Knip couldn't resolve them fromnode_modules/.bin/, so it reported them as both unused dependencies and unlisted binaries. This was a pre-existing issue that causedbun run validateto fail at the knip step.Test plan
bun run knipexits 0 with no output (no findings, no hints)bun run validatepasses end-to-end