unicorn/filename-case Style
作用
强制文件名使用一致的大小写风格,以改善项目组织和可维护性。 默认情况下会强制使用 kebab-case,但也可以配置其他风格。
名为 index.js、index.ts 等文件不受此规则约束,因为它们无法可靠地 重命名为其他大小写形式(主要是 PascalCase 的问题)。
为什么这不好?
不一致的文件命名约定会让查找文件、浏览项目以及在代码库中强制 一致性变得更困难。标准化命名约定可以提高可读性、减少认知负担, 并与大规模开发中的最佳实践保持一致。
示例
以下是每种大小写风格下正确的文件名示例:
kebabCase
some-file-name.jssome-file-name.test.jssome-file-name.test-utils.js
camelCase
someFileName.jssomeFileName.test.jssomeFileName.testUtils.js
snakeCase
some_file_name.jssome_file_name.test.jssome_file_name.test_utils.js
pascalCase
SomeFileName.jsSomeFileName.Test.jsSomeFileName.TestUtils.js
配置
此规则接受一个包含以下属性的配置对象:
case
type: "kebabCase" | "camelCase" | "snakeCase" | "pascalCase"
default: "kebabCase"
要强制用于文件名的大小写风格。
你可以像这样设置 case 选项:
{
"unicorn/filename-case": [
"error",
{
"case": "kebabCase"
}
]
}cases
type: object
default: {"kebabCase":true, "camelCase":false, "snakeCase":false, "pascalCase":false}
要允许/强制用于文件名的大小写风格。true 表示允许该大小写风格,false 表示禁止。
你可以像这样设置 cases 选项:
{
"unicorn/filename-case": [
"error",
{
"cases": {
"camelCase": true,
"pascalCase": true
}
}
]
}cases.camelCase
type: boolean
default: false
是否允许 camel case,例如 someFileName.js。
cases.kebabCase
type: boolean
default: true
是否允许 kebab case,例如 some-file-name.js。
cases.pascalCase
type: boolean
default: false
是否允许 pascal case,例如 SomeFileName.js。
cases.snakeCase
type: boolean
default: false
是否允许 snake case,例如 some_file_name.js。
ignore
type: string
用于忽略文件名的正则表达式模式。
你可以像这样设置 ignore 选项:
{
"unicorn/filename-case": [
"error",
{
"ignore": "^foo.*$"
}
]
}multipleFileExtensions
type: boolean
default: true
是否将文件名中额外的、由 . 分隔的部分视为扩展名的一部分,而不是文件名的一部分。
如何使用
To enable this rule using the config file or in the CLI, you can use:
{
"rules": {
"unicorn/filename-case": "error"
}
}import { defineConfig } from "oxlint";
export default defineConfig({
rules: {
"unicorn/filename-case": "error",
},
});oxlint --deny unicorn/filename-case版本
此规则是在 v0.0.14 中添加的。
