1 | {
|
2 | "rulesDirectory": "./dist/",
|
3 | "rules": {
|
4 | "tsf-folders-disabled-test": true,
|
5 | "tsf-folders-import-from-disallowed-folders": [
|
6 | true,
|
7 | {
|
8 | "disallowed": [
|
9 | "/dist/",
|
10 | "/dist",
|
11 | "/node_modules/",
|
12 | "/node_modules",
|
13 | "mobx/lib/mobx"
|
14 | ]
|
15 | }
|
16 | ],
|
17 | "tsf-folders-test-with-breakpoint": true,
|
18 | "tsf-folders-file-names": [
|
19 | true,
|
20 | {
|
21 | "file-name-casing": ["camel-case", "pascal-case"],
|
22 | "ignorePaths": []
|
23 | }
|
24 | ],
|
25 | "tsf-folders-imports-between-packages": [
|
26 | true,
|
27 | {
|
28 | "config": {
|
29 | "disallowImportFromSelf": {
|
30 | "enabled": true,
|
31 | "ignorePaths": [
|
32 | "utils",
|
33 | "utils/",
|
34 | ".spec.ts",
|
35 | ".spec.tsx",
|
36 | ".ispec.ts",
|
37 | ".ispec.tsx"
|
38 | ]
|
39 | },
|
40 | "checkImportsBetweenPackages": {
|
41 | "enabled": true,
|
42 | "checkSubFoldersEnabled": true,
|
43 | "ignorePaths": [],
|
44 | "packages": [
|
45 | {
|
46 | "description": "Application Shell",
|
47 | "importPath": "shell",
|
48 | "allowedToImport": ["*"],
|
49 | "subFolders": []
|
50 | },
|
51 | {
|
52 | "description": "TODO Area Package",
|
53 | "importPath": "todo-area",
|
54 | "allowedToImport": ["grid-package", "utils", "thirdPartySdk"],
|
55 | "diagramCluster": "areas",
|
56 | "subFolders": [
|
57 | {
|
58 | "description": "UI components",
|
59 | "importPath": "components",
|
60 | "allowedToImport": ["*"]
|
61 | },
|
62 | {
|
63 | "description": "View models used by the UI",
|
64 | "importPath": "viewmodels",
|
65 | "allowedToImport": ["models", "utils"]
|
66 | },
|
67 | {
|
68 | "description": "Models used by the view models",
|
69 | "importPath": "models",
|
70 | "allowedToImport": ["utils"]
|
71 | },
|
72 | {
|
73 | "description": "general utils",
|
74 | "importPath": "utils",
|
75 | "allowedToImport": []
|
76 | }
|
77 | ]
|
78 | },
|
79 | {
|
80 | "description": "Area that shows contact details",
|
81 | "importPath": "contact-area",
|
82 | "allowedToImport": ["grid-package", "utils", "thirdPartySdk"],
|
83 | "diagramCluster": "areas",
|
84 | "subFolders": []
|
85 | },
|
86 | {
|
87 | "description": "Grid Package with no dependencies",
|
88 | "importPath": "grid-package",
|
89 | "allowedToImport": ["thirdPartySdk"],
|
90 | "subFolders": [
|
91 | {
|
92 | "description": "UI components that compose the grid",
|
93 | "importPath": "components",
|
94 | "allowedToImport": ["*"]
|
95 | },
|
96 | {
|
97 | "description": "Models used by the UI components",
|
98 | "importPath": "models",
|
99 | "allowedToImport": ["utils"]
|
100 | },
|
101 | {
|
102 | "description": "general utils",
|
103 | "importPath": "utils",
|
104 | "allowedToImport": []
|
105 | }
|
106 | ]
|
107 | },
|
108 | {
|
109 | "description": "Utils package",
|
110 | "importPath": "utils",
|
111 | "allowedToImport": [],
|
112 | "subFolders": []
|
113 | },
|
114 | {
|
115 | "description": "Third party SDK",
|
116 | "importPath": "thirdPartySdk",
|
117 | "isExternal": true,
|
118 | "allowedToImport": [],
|
119 | "subFolders": []
|
120 | }
|
121 | ]
|
122 | }
|
123 | }
|
124 | }
|
125 | ]
|
126 | }
|
127 | }
|