我希望在文件夹及其子文件夹的特定路径中强制使用名称结构
不仅是名称的样式(烤肉串、骆驼),还有文件夹和文件的实际名称
让我们以以下路径为例
./src/modules/module1
./src/modules/module2
./src/modules/module3
提供的每个路径都应强制使用名称的子文件夹
services
components
style
在这些路径上创建具有不同名称的嵌套文件夹应该无效
所以最终结果应该是这样的:
./src/modules/module1/services (valid)
./src/modules/module1/components (valid)
./src/modules/module2/components (valid)
./src/modules/module1/banana (not valid)
./src/modules/orange/yellow (valid)
eslint 是合适的工具吗?我应该使用什么特定的插件?
我只能找到名称样式的解决方案,但没有找到任何固定命名结构的解决方案
我正在reactJS项目中使用类型脚本,并寻找一个不与任何IDE耦合的解决方案
谢谢
您可以使用 eslint repo-struct 插件,它接收包含项目文件夹和文件结构的配置文件,并验证命名/大小写。
eslint 是合适的工具吗?我应该使用什么特定的插件?
是的,eslint-plugin-project-struct它非常适合。
以下是当前功能列表:
✅ 项目结构验证。
✅ 验证文件夹和文件名。
✅ 姓名大小写验证。
✅ 名称正则表达式验证。
✅ 文件扩展名验证。
✅ 继承父级的名称(子级继承其所在文件夹的名称)。
✅ 文件夹递归。
✅ 强制嵌套/扁平结构。
./src/modules/module1/services(有效) ./src/modules/module1/components(有效) ./src/modules/module2/components(有效) ./src/modules/module1/banana (无效) ./src/modules/orange/yellow(有效)
这是满足这些要求的配置。
{
"structure": {
"name": "src",
"children": [
{
"name": "modules",
"children": [
{
"ruleId": "module"
}
]
}
]
},
"rules": {
"module": {
"name": "/^${{lowerCase}}$/",
"children": [
{
"name": "services",
"children": [
// ... rules for services folder
]
},
{
"name": "components",
"children": [
// ... rules for components folder
]
},
{
"name": "style",
"children": [
// ... rules for style folder
]
}
]
}
}
}