@nordhealth/eslint-plugin
v0.2.1
Published
ESLint plugin for Nord Design System - enforces logical CSS selectors and migration rules
Readme
@nordhealth/eslint-plugin
ESLint plugin for Nord Design System - enforces logical CSS selectors, legacy class migration, and Tailwind best practices.
Installation
pnpm add -D @nordhealth/eslint-pluginUsage
Recommended Config
The recommended config enables Nord rules for ongoing development plus safe better-tailwindcss rules:
// eslint.config.mjs
import nordPlugin from '@nordhealth/eslint-plugin'
export default [
nordPlugin.configs.recommended,
// ... other configs
]Available Configs
| Config | Description |
| ------------------- | ------------------------------------------------- |
| recommended | Nord rules + safe better-tailwindcss rules (warn) |
| recommended-error | Same as recommended but with error severity |
Nord Rules
| Rule | Default | Description |
| --------------------------------------- | ------- | ------------------------------------------------------ |
| @nordhealth/logical-selectors | warn | Enforce logical CSS properties |
| @nordhealth/no-legacy-classes | off | Auto-fix deprecated n-* classes to n:* equivalents |
| @nordhealth/no-unknown-legacy-classes | off | Warn on unknown n-* classes |
Migration rules
The migration rules are off by default. Enable them when migrating from legacy CSS, then disable when complete:
// In your eslint.config.js
export default [
{
rules: {
'@nordhealth/no-legacy-classes': 'warn',
'@nordhealth/no-unknown-legacy-classes': 'warn'
}
}
]Tailwind Rules (from better-tailwindcss)
The recommended config enables these better-tailwindcss rules by default:
better-tailwindcss/enforce-consistent-class-orderbetter-tailwindcss/enforce-consistent-important-positionbetter-tailwindcss/enforce-consistent-variable-syntaxbetter-tailwindcss/enforce-shorthand-classesbetter-tailwindcss/enforce-canonical-classesbetter-tailwindcss/no-deprecated-classesbetter-tailwindcss/no-duplicate-classesbetter-tailwindcss/no-unnecessary-whitespacebetter-tailwindcss/no-conflicting-classesbetter-tailwindcss/no-restricted-classes
Enabling better-tailwindcss/no-unknown-classes
The better-tailwindcss/no-unknown-classes rule is NOT enabled by default because it requires project-specific configuration:
// eslint.config.mjs
import nordPlugin from '@nordhealth/eslint-plugin'
export default [
nordPlugin.configs.recommended,
{
settings: {
'better-tailwindcss': {
entryPoint: './path/to/your/tailwind.css'
}
},
rules: {
'better-tailwindcss/no-unknown-classes': 'warn'
}
}
]