ESLint
ESLint provides static analysis and repository code-quality enforcement.
Shared configurations live in:
packages/eslint-config/
Available configurations include:
@repo/eslint-config/base
@repo/eslint-config/next-js
@repo/eslint-config/react-internal
Import ordering
The shared base configuration uses eslint-plugin-perfectionist.
Imports are grouped conceptually as:
- JavaScript side effects
- Node built-ins
- React
- framework imports
- external packages
- workspace packages
- internal aliases
- relative imports
- styles
Named imports use natural ordering.
Type imports
TypeScript imports are required to use explicit type imports where appropriate.
The repository enables:
@typescript-eslint/consistent-type-imports
@typescript-eslint/no-import-type-side-effects
Commands
Run all workspace lint tasks:
pnpm lint
Apply supported automatic fixes:
pnpm lint:fix