fix: resolve 7 GitHub issues (catalog resolution, file ignoring, CLI, RN, Next.js, offline, monorepo)#108
Draft
fix: resolve 7 GitHub issues (catalog resolution, file ignoring, CLI, RN, Next.js, offline, monorepo)#108
Conversation
filterIgnoredDiagnostics now accepts rootDirectory and converts absolute diagnostic file paths to relative paths before matching against glob patterns. This fixes the issue where ignore.files patterns like '/resources/js/components/ui/**' would never match because diagnostic paths included the full disk path. Co-authored-by: Aiden Bai <aidenybai@users.noreply.github.com>
…, #105, #87) Adds support for: - pnpm default catalogs defined in pnpm-workspace.yaml - pnpm named catalogs (catalog:name syntax, e.g. catalog:react_v19_current) - Bun workspace catalogs (workspaces.catalog in package.json) - Catalog resolution from monorepo root when scanning a sub-package Includes test fixtures and tests for all three catalog formats. Co-authored-by: Aiden Bai <aidenybai@users.noreply.github.com>
When --yes or CI environment is detected, resolveDiffMode now defaults to full scan instead of diff-only scan. Users can still explicitly request diff mode with --diff. This allows agents and CI to reliably get a complete project scan with 'npx react-doctor . --yes'. Co-authored-by: Aiden Bai <aidenybai@users.noreply.github.com>
…ves (#100) Components ending with Title, Label, Heading, Caption, or Subtitle are now treated as text-handling components in the rn-no-raw-text rule. This prevents false positives for components like Stack.Screen.Title, NativeTabs.Trigger.Label, and other UI library components that correctly handle text rendering internally. Co-authored-by: Aiden Bai <aidenybai@users.noreply.github.com>
… detected (#83) The diagnostic message now distinguishes between router.push(), router.replace(), window.location, and location.href assignments, making it clear what the rule actually found instead of using the generic 'Client-side redirect' label. Co-authored-by: Aiden Bai <aidenybai@users.noreply.github.com>
…ly (#89) The OFFLINE_MESSAGE previously said 'could not calculate score' but the score IS computed locally via calculateScoreLocally when --offline is used. Updated to 'Score calculated locally (offline mode).'. Co-authored-by: Aiden Bai <aidenybai@users.noreply.github.com>
listWorkspacePackages now includes the root directory in the project list when it has React dependencies, alongside its workspace packages. This fixes the issue where the root folder of a monorepo that is itself a React project was not listed for scanning. Co-authored-by: Aiden Bai <aidenybai@users.noreply.github.com>
Co-authored-by: Aiden Bai <aidenybai@users.noreply.github.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
hey aiden, I'm so waiting for catalog version resolution to use the github action in our CI, any ETAs on when you're releasing this one? no rush, just curious |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Fixes 7 open GitHub issues across CLI usability, dependency detection, linting accuracy, and monorepo support.
Issues Fixed
#86 — File ignore patterns don't work with absolute paths
filterIgnoredDiagnosticsnow acceptsrootDirectoryand converts absolute diagnostic file paths to relative paths before matching against glob patterns. Previously, patterns like/resources/js/components/ui/**never matched because diagnostic paths included the full disk path.#101, #105, #87 — pnpm/Bun catalog version resolution
Adds support for resolving
catalog:andcatalog:nameversion references from:pnpm-workspace.yamlcatalog:react_v19_current)workspaces.cataloginpackage.json)#106 — Full scan in automated environments
When
--yesor CI environment is detected,resolveDiffModenow defaults to full scan instead of diff-only scan. Users can still explicitly request diff mode with--diff. This allows agents and CI to reliably get a complete project scan.#100 — False positive raw text in custom components
Components ending with
Title,Label,Heading,Caption, orSubtitleare now treated as text-handling components in thern-no-raw-textrule. This prevents false positives for components likeStack.Screen.TitleandNativeTabs.Trigger.Label.#83 — Misleading nextjs-no-client-side-redirect message
The diagnostic message now distinguishes between
router.push(),router.replace(),window.location, andlocation.hrefinstead of using the generic "Client-side redirect" label.#89 — Offline score message
Updated
OFFLINE_MESSAGEfrom "could not calculate score" to "Score calculated locally (offline mode)" since the score IS computed locally viacalculateScoreLocallywhen--offlineis used.#73 — Monorepo root not listed as scannable project
listWorkspacePackagesnow includes the root directory in the project list when it has React dependencies, alongside its workspace packages.Testing
pnpm test✅pnpm lint✅pnpm typecheck✅pnpm format✅