Skip to content

dolsem/eslint-plugin-filename-rules

Repository files navigation

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.

NPM Version NPM Downloads Build Status Coverage Status License: MIT

Installation

$ npm install -D eslint-plugin-filename-rules

Add it to your .eslintrc.js:

module.exports = {
  plugins: [
    'filename-rules',
  ],
  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

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •