{ "$schema": "../../node_modules/eslint-plugin-project-structure/folderStructure.schema.json", "regexParameters": { "camelCase": "^[a-z]+[A-Za-z0-9]+" }, "structure": [ { "name": "packages", "children": [ { "name": "twenty-front", "children": [ { "name": "*", "children": [] }, { "name": "*" }, { "name": "src", "children": [ { "name": "*", "children": [] }, { "name": "*" }, { "name": "modules", "children": [ { "ruleId": "moduleFolderRule" }, { "name": "types", "ruleId": "doNotCheckLeafFolderRule" } ] } ] } ] } ] } ], "rules": { "moduleFolderRule": { "name": "^(?!utils$|hooks$|states$|types$|graphql$|components$|effect-components$|constants$|validation-schemas$|contexts$|scopes$|services$|errors$)[a-z][a-z0-9]**(?:-[a-z0-9]+)**$", "folderRecursionLimit": 6, "children": [ { "ruleId": "moduleFolderRule" }, { "name": "hooks", "ruleId": "hooksLeafFolderRule" }, { "name": "utils", "ruleId": "utilsLeafFolderRule" }, { "name": "states", "ruleId": "doNotCheckLeafFolderRule" }, { "name": "types", "ruleId": "doNotCheckLeafFolderRule" }, { "name": "graphql", "ruleId": "doNotCheckLeafFolderRule" }, { "name": "components", "ruleId": "doNotCheckLeafFolderRule" }, { "name": "effect-components", "ruleId": "doNotCheckLeafFolderRule" }, { "name": "constants", "ruleId": "doNotCheckLeafFolderRule" }, { "name": "validation-schemas", "ruleId": "doNotCheckLeafFolderRule" }, { "name": "contexts", "ruleId": "doNotCheckLeafFolderRule" }, { "name": "scopes", "ruleId": "doNotCheckLeafFolderRule" }, { "name": "services", "ruleId": "doNotCheckLeafFolderRule" }, { "name": "errors", "ruleId": "doNotCheckLeafFolderRule" } ] }, "hooksLeafFolderRule": { "folderRecursionLimit": 2, "children": [ { "name": "use{PascalCase}.(ts|tsx)" }, { "name": "__tests__", "children": [{ "name": "use{PascalCase}.test.(ts|tsx)" }] }, { "name": "internal", "ruleId": "hooksLeafFolderRule" } ] }, "doNotCheckLeafFolderRule": { "folderRecursionLimit": 1, "children": [{ "name": "*" }, { "name": "*", "children": [] }] }, "utilsLeafFolderRule": { "folderRecursionLimit": 1, "children": [ { "name": "{camelCase}.ts" }, { "name": "__tests__", "children": [{ "name": "{camelCase}.test.ts" }] } ] } } }