@maintained/eslint-plugin-filename-rules
v1.5.0
Published
Enforce filename conventions for linted files
Readme
eslint-plugin-filename-rules
Adds an ESLint rule to enforce filename conventions for linted files. Allows different options for different file extensions. Supports custom regular expressions.
Installation
$ npm install -D @maintained/eslint-plugin-filename-rulesOld style config
Add it to your .eslintrc.js:
module.exports = {
plugins: ["@maintained/filename-rules"],
rules: {
"@maintained/filename-rules/match": [2, "camelcase"],
},
};Flat config
import { plugin as filenameRules } from '@maintained/eslint-plugin-filename-rules';
{
plugins: {
'filename-rules': filenameRules,
},
rules: {
'filename-rules/match': [2, 'camelcase']
}
}Plugin Options
The following built-in values are supported: pascalcase/PascalCase, camelcase/camelCase, snakecase/snake_case, kebabcase/kebab-case. You can also provide your own regex:
...
'filename-rules/match': [2, /^([a-z]+-)*[a-z]+(?:\..*)?$/],
...You can also specify different options for different file extensions. In this case the plugin will only check files with extensions you explicitly provided:
...
'filename-rules/match': [2, { '.js': 'camelCase', '.ts': /^([a-z]+-)*[a-z]+(?:\..*)?$/ }],
...You can use the includePath: true option to have the pattern matched against the full file path (instead of only the file basename):
...
'filename-rules/match': [2, { includePath: true, pattern: /^([a-z]+-)*[a-z]+(?:\..*)?$/ }],
...The inverse rule not-match checks that the files do NOT match the given pattern. Supports all the same options:
...
'filename-rules/not-match': [2, 'camelCase'],
...License
MIT
