1.0.4 • Published 11 months ago

eslint-plugin-filename-export v1.0.4

Weekly downloads
-
License
MIT
Repository
github
Last release
11 months ago

eslint-plugin-filename-export

This plugin enforces that the filename matches to a named export or default export when a name is provided. This can be set to being case sensitive or case insensitive.

Installation

Install with your package manager of choice:

pnpm i -D eslint-plugin-filename-export

Add to your ESLint config:

{
  "plugins": ["eslint-plugin-filename-export"],
  "rules": {
    "filename-export/match-named-export": "error",
    "filename-export/match-default-export": "error"
  }
}

Rules

  • filename-export/match-named-export - Enforces that the filename matches to a named export.
  • filename-export/match-default-export - Enforces that filenames match the name of the default export.

These rules ignore index files, test/spec files, and files that have no relevant exports by default. Additionally, files with a default export will be ignored by the match-named-export rule.

If you want to add additional filename exemptions, use the ESLint's builting filename overrides.

Options

Both of these rules have the following available options:

  • casing:

    • strict: Filenames much match in case to the exports
    • loose: Filenames do not need to match case (default)
  • stripextra:

    • true: Filenames will be stripped of any non-alphanumeric characters (to allow filenames like great_function.ts to match greatfunction)
    • false: Filenames will not be stripped of any extra characters (default)

These can be passed as a second item in an array to the rule as follows

"filename-export/match-named-export": [
  "error",
  {
    "casing": "strict",
    "sripextra": true
  }
]

Roadmap

This plugin is mainly being produced for personal use. If you are interested in using it, but need additional features, please open an issue and I will consider adding them.

Pull requests will also be evaluated and merged as appropriate.

1.0.4

11 months ago

1.0.2

1 year ago

1.0.1

1 year ago

1.0.0

1 year ago

1.0.3

1 year ago

0.5.1

1 year ago

0.3.0

2 years ago

0.5.0

2 years ago

0.4.0

2 years ago

0.2.1

2 years ago

0.2.0

2 years ago

0.1.2

2 years ago

0.1.1

2 years ago

0.1.0

2 years ago

0.0.4

2 years ago

0.0.3

2 years ago

0.0.2

2 years ago

0.0.1

2 years ago