0.0.2 • Published 5 months ago

eslint-plugin-file-export-name v0.0.2

Weekly downloads
-
License
MIT
Repository
-
Last release
5 months ago

ESLint Plugin: File Export Name

This ESLint plugin ensures that the default export name matches the file name according to specified case styles and patterns.

Installation

npm install eslint-plugin-file-export-name --save-dev

yarn add -D eslint-plugin-file-export-name

pnpm add -D eslint-plugin-file-export-name

Usage

Add the plugin to your .eslintrc configuration file:

{
  "plugins": ["file-export-name"],
  "rules": {
    "file-export-name/match-file-export-name": "error"
  }
}

Rule: match-file-export-name

This rule verifies that the default export name matches the file name according to the specified configuration.

Options

The rule accepts an object or an array of objects with the following properties:

  • cases: An array of allowed case styles ("pascal", "camel", "kebab", "snake").
  • pattern: A string representing a regular expression to match the export name.
  • ignore: An array of file patterns to ignore.
  • extensions: An array of file extensions to apply the rule to.

Default Configuration

{
  "cases": ["pascal", "camel"],
  "extensions": [".jsx", ".tsx", ".js", ".ts"],
  "ignore": ["<text>", "<input>"],
  "pattern": null
}

Examples

Basic configuration

{
  "rules": {
    "file-export-name/match-file-export-name": ["error", {
      "cases": ["pascal", "camel"],
      "pattern": "^My.*$",
      "ignore": ["utils/*.js"],
      "extensions": [".jsx", ".tsx"]
    }]
  }
}

// or you can use just in one line
{
  "rules": {
    "file-export-name/match-file-export-name": "error"
  }
}

Multiple configurations

{
  "rules": {
    "file-export-name/match-file-export-name": ["error", [
      {
        "cases": ["pascal"],
        "extensions": [".jsx", ".tsx"]
      },
      {
        "cases": ["camel"],
        "extensions": [".js", ".ts"]
      }
    ]]
  }
}

Features

  • Supports multiple case styles: PascalCase, camelCase, kebab-case, and snake_case
  • Custom regex pattern matching for export names
  • Ability to ignore specific files or patterns
  • Configure different rules for different file extensions
  • Automatically ignores index files