Pledge
$0 (happy to contribute PR instead)
Is your feature request related to a problem? Please describe.
Running npm run lint is significantly slow because it includes knip, which performs a full project dependency analysis. This impacts developer productivity during iterative development, where linting is expected to be fast.
Describe the solution you'd like
Decouple knip from the default lint script and run it separately (e.g., manually or in CI). This allows:
- Fast linting during development using ESLint only
- Running
knip as a deeper, less frequent check
Suggested change:
"lint": "eslint --ext .ts ./src ./test",
"knip": "knip --cache --config .knip.json --production --no-progress --reporter compact",
"check:all": "npm run lint && npm run knip"
Describe alternatives you've considered
- Keeping
knip in lint but reducing scope → still slow
- Running
knip with --include dependencies only → faster but less comprehensive
- Using alternative tools like
depcheck → faster but less accurate than knip
Additional context
- Project size is relatively large with many interconnected modules (factories, handlers, services)
- Current config scans entire
src/** without exclusions, which increases analysis time
- Adding
--cache and ignoring non-runtime directories improves performance significantly
Pledge
$0 (happy to contribute PR instead)
Is your feature request related to a problem? Please describe.
Running
npm run lintis significantly slow because it includesknip, which performs a full project dependency analysis. This impacts developer productivity during iterative development, where linting is expected to be fast.Describe the solution you'd like
Decouple
knipfrom the defaultlintscript and run it separately (e.g., manually or in CI). This allows:knipas a deeper, less frequent checkSuggested change:
Describe alternatives you've considered
knipin lint but reducing scope → still slowknipwith--include dependenciesonly → faster but less comprehensivedepcheck→ faster but less accurate than knipAdditional context
src/**without exclusions, which increases analysis time--cacheand ignoring non-runtime directories improves performance significantly