eslint-plugin-naming

0.1.10 • Public • Published

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$'.

Package Sidebar

Install

npm i eslint-plugin-naming

Weekly Downloads

8

Version

0.1.10

License

MIT

Unpacked Size

19.3 kB

Total Files

8

Last publish

Collaborators

  • niefz