unicorn/filename-case Style
What it does
Enforces specific case styles for filenames. By default, kebab case is enforced.
Why is this bad?
Inconsistent file naming conventions make it harder to locate files, navigate projects, and enforce consistency across a codebase. Standardizing naming conventions improves readability, reduces cognitive overhead, and aligns with best practices in large-scale development.
Cases
Examples of correct filenames for each case:
kebabCase
some-file-name.js
some-file-name.test.js
some-file-name.test-utils.js
camelCase
someFileName.js
someFileName.test.js
someFileName.testUtils.js
snakeCase
some_file_name.js
some_file_name.test.js
some_file_name.test_utils.js
pascalCase
SomeFileName.js
SomeFileName.Test.js
SomeFileName.TestUtils.js
Options
Use kebabCase
as the default option.
case
{ type: 'kebabCase' | 'camelCase' | 'snakeCase' | 'pascalCase' }
You can set the case option like this:
json
"unicorn/filename-case": [
"error",
{
"case": "kebabCase"
}
]
cases
{ type: { [key in 'kebabCase' | 'camelCase' | 'snakeCase' | 'pascalCase']?: boolean } }
You can set the case option like this:
json
"unicorn/filename-case": [
"error",
{
"cases": {
"camelCase": true,
"pascalCase": true
}
}
]
How to use
To enable this rule in the CLI or using the config file, you can use:
bash
oxlint --deny unicorn/filename-case
json
{
"rules": {
"unicorn/filename-case": "error"
}
}