eslint-plugin-interface-tokens
v1.0.1
Published
Enforces Symbol token export for interfaces
Maintainers
Readme
Interface Tokens ESLint Plugin
ESLint plugin for enforcing consistent Symbol associations with TypeScript interfaces.
Key Features
- DI-friendly: Perfect for projects using interface-based dependency injection where you need reliable tokens
- Configurable: Supports flexible naming patterns and formatting rules
- Auto-fixable: Automatically adds missing Symbol exports with correct formatting
- TypeScript optimized: Designed specifically for TS codebases
Installation
npm install eslint-plugin-interface-tokens --save-devUsage
- Add to ESLint config:
// eslint.config.ts
import eslint from '@eslint/js';
import globals from 'globals';
import tseslint from 'typescript-eslint';
import prettierRecommended from 'eslint-plugin-prettier/recommended';
import eslintPluginInterfaceTokens from './eslint-plugin-interface-tokens';
export default tseslint.config(
{ ignores: ['dist'] },
{
files: ['**/*.{js,mjs,cjs,ts,mts,cts}'],
languageOptions: { globals: globals.node },
},
eslint.configs.recommended,
tseslint.configs.recommended,
eslintPluginInterfaceTokens.configs.recommended,
);- Configure options (optional):
rules: {
'eslint-plugin-interface-tokens/require-symbol-for-interface': [
'error',
{
regexp: '',
checkSingleInterfaceOnly: true,
checkSingleExportOnly: false,
requireDescription: true,
useSemicolon: true,
useSingleQuote: true,
blankLinesCount: 1,
newLine: '\n',
symbolDescriptionShouldBeEqualInterfaceName: true,
}
]
}Available Rules
require-symbol-for-interface - Main rule
