eslint-plugin-naming
v0.1.10
Published
ESLint plugin for enforce a case style for file and folder.
Downloads
966
Maintainers
Readme
Enforce a case style for file and folder names
💼 This rule is enabled in the ✅ recommended
.
Enforces all linted files and folders to have their names in a certain case style and lowercase file extension. The default is kebab
.
Cases
kebab
foo-bar.js
foo-bar.test.js
foo-bar.test-utils.js
camel
fooBar.js
fooBar.test.js
fooBar.testUtils.js
pascal
FooBar.js
FooBar.Test.js
FooBar.TestUtils.js
snake
foo_bar.js
foo_bar.test.js
foo_bar.test_utils.js
flat
foobar.js
foobar.test.js
foobar.testutils.js
Install
$ yarn add --dev eslint-plugin-naming
Usage
module.exports = {
extends: ['plugin:naming/recommended'],
};
Options
Single match
Type: string
You can set the match
option like this:
module.exports = {
extends: ['plugin:naming/recommended'],
rules: {
'naming/case': ['error', 'kebab'],
},
};
Multiple match
Type: {string[]}
You can set the match
option to allow multiple cases:
module.exports = {
extends: ['plugin:naming/recommended'],
rules: {
'naming/case': ['error', ['kebab', 'camel']],
},
};
Options object
Options object has the following properties:
| Name | Type | Default | Description |
| --- | --- | --- | --- |
| match
| string[]
| ["kebab"]
| List of cases to match |
| ignore
| string[]
RegExp[]
| [] | List of regular expressions |
| defaultIgnore
| boolean
| true
| Property that allows turning off default ignored values |
| validateFolders
| boolean
| true
| Property that allows turning off folders naming validation |
| validateExtensions
| boolean
| true
| Property that allows turning off extensions lowercase validation |
Example
module.exports = {
extends: ['plugin:naming/recommended'],
rules: {
'naming/case': [
'error',
{
match: 'kebab',
ignore: ['^FOOBAR\\.js$', '^(B|b)az', '\\.SOMETHING\\.js$', /^vendor/i],
},
],
},
};
Don't forget that you must escape special characters that you don't want to be interpreted as part of the regex, for example, if you have [
in the actual filename. For example, to match [id].js
, use /^\[id]\.js$/
or '^\\[id]\\.js$'
.