- add `diff` input to pass `--diff <base>` to the CLI
- add `github-token` input for posting findings as PR comments
- stale comment cleanup: deletes previous react-doctor comments before posting
- tee output to file only when github-token is set (no change for existing users)
- add GitHub Actions section to README with input reference table
closesmillionco/react-doctor#61
Amp-Thread-ID: https://ampcode.com/threads/T-019c7ad9-c09d-713d-a08d-c699637a6846
Co-authored-by: Amp <amp@ampcode.com>
React Native/Expo projects were detected as "unknown" framework, and the 8
existing rn-* lint rules were never enabled in the oxlint config. This change:
- Adds "expo" and "react-native" as recognized Framework types
- Detects expo/react-native packages in dependency detection
- Conditionally enables all 8 rn-* rules when framework is Expo or React Native
- Adds "React Native" category mapping and help text for all rn-* rules
- Added new CLI options for diff scanning and project selection.
- Improved README with detailed configuration examples for `react-doctor.config.json` and `package.json`.
- Enhanced type definitions for scan options and diff information.
- Updated error handling in the CLI to improve user experience during scans.
knip requires typescript >=5.0.4 as a peer dependency for its Astro
plugin. When react-doctor is executed via npx or pnpm dlx, the isolated
environment does not have access to the host project's node_modules,
causing ERR_MODULE_NOT_FOUND for typescript.
Adding typescript explicitly as a dependency ensures it is always
available when react-doctor is installed.
Fixes: ERR_MODULE_NOT_FOUND: Cannot find package 'typescript' imported
from knip/dist/plugins/astro/resolveFromAST.js