我期待着强制在一个文件夹和它的子文件夹的特定路径的名称结构
不仅是名称的样式(kebab,camel),而且是文件夹和文件的实际名称
让我们以下列路径为例
./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项目中使用type-script,并寻找一个不耦合到任何IDE的解决方案
谢了
3条答案
按热度按时间krugob8w1#
看看FoldersLint,它应该能完成这项工作。
https://github.com/denisraslov/folderslint
基本上是这样工作的:
的数据
oxf4rvwz2#
您可以使用eslint repo-structure插件,它接收带有项目文件夹和文件结构的配置文件,并验证命名/大小写。
https://github.com/eduhdm/eslint-plugin-repo-structure
epggiuax3#
eslint是正确的工具吗?我应该使用的任何特定插件?
是的,eslint-plugin-project-structure非常适合。
以下是当前功能列表:
⑶项目结构验证。
文件夹和文件名的验证。
名称案例验证。
Name regex validation.
文件扩展名验证。
继承父文件夹的名称(子文件夹继承其所在文件夹的名称)。
文件夹递归。
强制嵌套/扁平结构。
让我们以下列路径为例
./src/modules/module1
./src/modules/module2
./src/modules/module3
每个提供的路径应该强制子文件夹的名称
服务
组件
式样
在这些路径上创建具有不同名称的嵌套文件夹应该无效
./src/modules/module 1/services(有效)
./src/modules/module 1/components(有效)
./src/modules/module 2/components(有效)
./src/modules/module 1/banana(无效)
./src/modules/橙子/yellow(有效)
根据我从你的描述中理解的
./src/modules/orange/yellow (valid)
应该是./src/modules/orange/yellow (not valid)
。下面是满足这些要求的配置。
1.只能在
modules
文件夹中创建文件夹。文件夹的名称必须符合camelCase
。modules
文件夹中的每个文件夹只能有3个名为components
、style
和services
的子文件夹。字符串
在这里,您将找到API的详细描述。https://github.com/Igorkowalski94/eslint-plugin-project-structure#api