@gsa-tts/graymatter-eslint
Package Responsibilities
The GrayMatter ESLint Configuration package (@gsa-tts/graymatter-eslint
) provides shared ESLint configurations. It ensures consistent code quality and style across all applications and packages.
Primary Responsibilities:
- Define and maintain shared ESLint configurations
- Enforce consistent code style and quality standards
- Integrate with other tools like Prettier and TypeScript
- Provide specialized configurations for different frameworks (Svelte, Astro)
- Reduce duplication of linting configuration
Package Boundaries:
- SHOULD contain ESLint configuration files and rules
- SHOULD integrate with TypeScript for type-aware linting
- SHOULD be framework-aware (support Svelte, Astro, etc.)
- SHOULD NOT contain application code or business logic
- SHOULD NOT depend on application packages
- SHOULD NOT include project-specific overrides (these belong in the consuming projects)
Usage
Installing
pnpm add -D @gsa-tts/graymatter-eslint
Basic Configuration
Create an eslint.config.mjs
file in your project:
import { config } from '@gsa-tts/graymatter-eslint';
export default config;
With Project-Specific Overrides
import { config as baseConfig } from '@gsa-tts/graymatter-eslint';
export default [
...baseConfig,
{
}
];
Features
- TypeScript integration
- Svelte support
- Prettier integration
- Accessibility rules
- Best practices enforcement
- Consistent code style