Rule: file-name-casing
Enforces a consistent file naming convention
Rationale
Helps maintain a consistent style across a file hierarchy
Config
One of the following arguments must be provided:
camel-case: File names must be camel-cased:fileName.ts.pascal-case: File names must be Pascal-cased:FileName.ts.kebab-case: File names must be kebab-cased:file-name.ts.snake-case: File names must be snake-cased:file_name.ts.ignore: File names are ignored (useful for the object configuration).
Or an object, where the key represents a regular expression that matches the file name, and the value is the file name rule from the previous list.
- { “.tsx”: “pascal-case”, “.ts”: “camel-case” }
Config examples
"file-name-casing": [true, "camel-case"]
"file-name-casing": [true, "pascal-case"]
"file-name-casing": [true, "kebab-case"]
"file-name-casing": [true, "snake-case"]
"file-name-casing": [true, {".tsx": "pascal-case", ".ts": "camel-case"}]
"file-name-casing": [true, {".style.ts": "kebab-case", ".tsx": "pascal-case", ".*": "camel-case"}]
"file-name-casing": [true, {".ts": "ignore", ".tsx": "pascal-case"}]
Schema
{
"type": "array",
"items": {
"anyOf": [
{
"type": "array",
"items": [
{
"type": "string",
"enum": [
"camel-case",
"ignore",
"pascal-case",
"kebab-case",
"snake-case"
]
}
]
},
{
"type": "object",
"additionalProperties": {
"type": "string",
"enum": [
"camel-case",
"ignore",
"pascal-case",
"kebab-case",
"snake-case"
]
},
"minProperties": 1
}
]
}
}