archprint 0.13.1 → 0.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (134) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/README.md +21 -12
  3. package/dist/cli/adopted-rules.d.ts +30 -2
  4. package/dist/cli/adopted-rules.d.ts.map +1 -1
  5. package/dist/cli/adopted-rules.js +158 -2
  6. package/dist/cli/adopted-rules.js.map +1 -1
  7. package/dist/cli/allow.d.ts.map +1 -1
  8. package/dist/cli/allow.js +21 -4
  9. package/dist/cli/allow.js.map +1 -1
  10. package/dist/cli/allowed-evidence.d.ts.map +1 -1
  11. package/dist/cli/allowed-evidence.js +183 -1
  12. package/dist/cli/allowed-evidence.js.map +1 -1
  13. package/dist/cli/check-evaluate.d.ts.map +1 -1
  14. package/dist/cli/check-evaluate.js +124 -0
  15. package/dist/cli/check-evaluate.js.map +1 -1
  16. package/dist/cli/generate.d.ts +4 -4
  17. package/dist/cli/generate.d.ts.map +1 -1
  18. package/dist/cli/generate.js +115 -42
  19. package/dist/cli/generate.js.map +1 -1
  20. package/dist/cli/layout.d.ts +5 -2
  21. package/dist/cli/layout.d.ts.map +1 -1
  22. package/dist/cli/layout.js +43 -10
  23. package/dist/cli/layout.js.map +1 -1
  24. package/dist/cli/migrate.d.ts.map +1 -1
  25. package/dist/cli/migrate.js +1 -2
  26. package/dist/cli/migrate.js.map +1 -1
  27. package/dist/cli/program.d.ts.map +1 -1
  28. package/dist/cli/program.js +10 -6
  29. package/dist/cli/program.js.map +1 -1
  30. package/dist/cli/recommend.d.ts +3 -0
  31. package/dist/cli/recommend.d.ts.map +1 -1
  32. package/dist/cli/recommend.js +28 -8
  33. package/dist/cli/recommend.js.map +1 -1
  34. package/dist/cli/report.js +1 -1
  35. package/dist/cli/report.js.map +1 -1
  36. package/dist/detector/cycle-detector.d.ts +5 -0
  37. package/dist/detector/cycle-detector.d.ts.map +1 -1
  38. package/dist/detector/cycle-detector.js +20 -0
  39. package/dist/detector/cycle-detector.js.map +1 -1
  40. package/dist/detector/dependency-internals-detector.d.ts.map +1 -1
  41. package/dist/detector/dependency-internals-detector.js +6 -20
  42. package/dist/detector/dependency-internals-detector.js.map +1 -1
  43. package/dist/detector/entry-purity-detector.d.ts +7 -0
  44. package/dist/detector/entry-purity-detector.d.ts.map +1 -1
  45. package/dist/detector/entry-purity-detector.js +21 -10
  46. package/dist/detector/entry-purity-detector.js.map +1 -1
  47. package/dist/detector/phantom-dependency-detector.d.ts +7 -0
  48. package/dist/detector/phantom-dependency-detector.d.ts.map +1 -1
  49. package/dist/detector/phantom-dependency-detector.js +18 -39
  50. package/dist/detector/phantom-dependency-detector.js.map +1 -1
  51. package/dist/detector/server-client-detector.d.ts +5 -0
  52. package/dist/detector/server-client-detector.d.ts.map +1 -1
  53. package/dist/detector/server-client-detector.js +8 -3
  54. package/dist/detector/server-client-detector.js.map +1 -1
  55. package/dist/generator/app-isolation-emitters.d.ts +1 -0
  56. package/dist/generator/app-isolation-emitters.d.ts.map +1 -1
  57. package/dist/generator/app-isolation-emitters.js +2 -1
  58. package/dist/generator/app-isolation-emitters.js.map +1 -1
  59. package/dist/generator/depcruise-exempt.d.ts +4 -0
  60. package/dist/generator/depcruise-exempt.d.ts.map +1 -1
  61. package/dist/generator/depcruise-exempt.js +7 -0
  62. package/dist/generator/depcruise-exempt.js.map +1 -1
  63. package/dist/generator/dependency-internals-emitters.d.ts +2 -1
  64. package/dist/generator/dependency-internals-emitters.d.ts.map +1 -1
  65. package/dist/generator/dependency-internals-emitters.js +7 -3
  66. package/dist/generator/dependency-internals-emitters.js.map +1 -1
  67. package/dist/generator/entry-purity-emitters.d.ts +7 -3
  68. package/dist/generator/entry-purity-emitters.d.ts.map +1 -1
  69. package/dist/generator/entry-purity-emitters.js +19 -5
  70. package/dist/generator/entry-purity-emitters.js.map +1 -1
  71. package/dist/generator/env-access-emitters.d.ts +1 -0
  72. package/dist/generator/env-access-emitters.d.ts.map +1 -1
  73. package/dist/generator/env-access-emitters.js +1 -0
  74. package/dist/generator/env-access-emitters.js.map +1 -1
  75. package/dist/generator/eslint-app-emitter.d.ts +59 -0
  76. package/dist/generator/eslint-app-emitter.d.ts.map +1 -0
  77. package/dist/generator/eslint-app-emitter.js +275 -0
  78. package/dist/generator/eslint-app-emitter.js.map +1 -0
  79. package/dist/generator/eslint-preset-emitter.d.ts +2 -2
  80. package/dist/generator/eslint-preset-emitter.d.ts.map +1 -1
  81. package/dist/generator/eslint-preset-emitter.js +6 -6
  82. package/dist/generator/eslint-preset-emitter.js.map +1 -1
  83. package/dist/generator/feature-slice-emitters.d.ts +1 -0
  84. package/dist/generator/feature-slice-emitters.d.ts.map +1 -1
  85. package/dist/generator/feature-slice-emitters.js +2 -1
  86. package/dist/generator/feature-slice-emitters.js.map +1 -1
  87. package/dist/generator/layer-emitters.d.ts.map +1 -1
  88. package/dist/generator/layer-emitters.js +2 -6
  89. package/dist/generator/layer-emitters.js.map +1 -1
  90. package/dist/generator/phantom-dependency-emitters.d.ts +2 -1
  91. package/dist/generator/phantom-dependency-emitters.d.ts.map +1 -1
  92. package/dist/generator/phantom-dependency-emitters.js +7 -3
  93. package/dist/generator/phantom-dependency-emitters.js.map +1 -1
  94. package/dist/generator/role-layering-emitters.d.ts +2 -0
  95. package/dist/generator/role-layering-emitters.d.ts.map +1 -1
  96. package/dist/generator/role-layering-emitters.js +2 -1
  97. package/dist/generator/role-layering-emitters.js.map +1 -1
  98. package/dist/generator/server-client-emitters.d.ts +10 -3
  99. package/dist/generator/server-client-emitters.d.ts.map +1 -1
  100. package/dist/generator/server-client-emitters.js +23 -4
  101. package/dist/generator/server-client-emitters.js.map +1 -1
  102. package/dist/generator/stories-isolation-emitters.d.ts +1 -0
  103. package/dist/generator/stories-isolation-emitters.d.ts.map +1 -1
  104. package/dist/generator/stories-isolation-emitters.js +2 -1
  105. package/dist/generator/stories-isolation-emitters.js.map +1 -1
  106. package/dist/generator/ui-data-isolation-emitters.d.ts +1 -0
  107. package/dist/generator/ui-data-isolation-emitters.d.ts.map +1 -1
  108. package/dist/generator/ui-data-isolation-emitters.js +2 -1
  109. package/dist/generator/ui-data-isolation-emitters.js.map +1 -1
  110. package/dist/generator/workspace-package-emitters.d.ts +1 -0
  111. package/dist/generator/workspace-package-emitters.d.ts.map +1 -1
  112. package/dist/generator/workspace-package-emitters.js +1 -0
  113. package/dist/generator/workspace-package-emitters.js.map +1 -1
  114. package/dist/scanner/directives.d.ts +6 -0
  115. package/dist/scanner/directives.d.ts.map +1 -0
  116. package/dist/scanner/directives.js +35 -0
  117. package/dist/scanner/directives.js.map +1 -0
  118. package/dist/scanner/package-name.d.ts +10 -0
  119. package/dist/scanner/package-name.d.ts.map +1 -0
  120. package/dist/scanner/package-name.js +37 -0
  121. package/dist/scanner/package-name.js.map +1 -0
  122. package/dist/scanner/resolve-import.d.ts +5 -0
  123. package/dist/scanner/resolve-import.d.ts.map +1 -1
  124. package/dist/scanner/resolve-import.js +22 -19
  125. package/dist/scanner/resolve-import.js.map +1 -1
  126. package/dist/scanner/role-classifier.d.ts +11 -2
  127. package/dist/scanner/role-classifier.d.ts.map +1 -1
  128. package/dist/scanner/role-classifier.js +13 -39
  129. package/dist/scanner/role-classifier.js.map +1 -1
  130. package/package.json +2 -2
  131. package/dist/generator/eslint-layer-emitter.d.ts +0 -29
  132. package/dist/generator/eslint-layer-emitter.d.ts.map +0 -1
  133. package/dist/generator/eslint-layer-emitter.js +0 -121
  134. package/dist/generator/eslint-layer-emitter.js.map +0 -1
@@ -1,7 +1,19 @@
1
1
  import { evaluateGate, wilsonLowerBound } from '../detector/confidence-gate.js';
2
+ import { importedEntries } from '../detector/entry-purity-detector.js';
2
3
  import { layerRuleName } from '../generator/layer-emitters.js';
4
+ import { DEPENDENCY_INTERNALS_RULE } from '../generator/dependency-internals-emitters.js';
5
+ import { ENTRY_PURITY_RULE } from '../generator/entry-purity-emitters.js';
6
+ import { PHANTOM_DEPENDENCY_RULE } from '../generator/phantom-dependency-emitters.js';
7
+ import { SERVER_CLIENT_RULE } from '../generator/server-client-emitters.js';
3
8
  import { publicApiRuleName } from '../generator/public-api-emitters.js';
4
- import { readAdoptedRules } from './adopted-rules.js';
9
+ import { appIsolationRuleName } from '../generator/app-isolation-emitters.js';
10
+ import { ENV_ACCESS_RULE } from '../generator/env-access-emitters.js';
11
+ import { featureSliceRuleName } from '../generator/feature-slice-emitters.js';
12
+ import { roleLayeringRuleName } from '../generator/role-layering-emitters.js';
13
+ import { STORIES_ISOLATION_RULE } from '../generator/stories-isolation-emitters.js';
14
+ import { UI_DATA_RULE } from '../generator/ui-data-isolation-emitters.js';
15
+ import { WORKSPACE_PACKAGE_RULE } from '../generator/workspace-package-emitters.js';
16
+ import { NO_CYCLES_RULE, readAdoptedRules } from './adopted-rules.js';
5
17
  import { allowedFilesByRule, readAllowed } from './allowed-exceptions.js';
6
18
  function exclude(violations, allowedFiles) {
7
19
  const allowed = new Set(allowedFiles);
@@ -15,6 +27,142 @@ const regate = (population, violating, roleConfidence = 1, applicable = true) =>
15
27
  roleConfidence,
16
28
  applicable,
17
29
  });
30
+ function regatedCycles(scan, allowedFiles) {
31
+ const analysis = scan.cycles;
32
+ const allowed = new Set(allowedFiles);
33
+ const cycles = analysis.cycles.filter((cycle) => !cycle.files.every((file) => allowed.has(file)));
34
+ if (cycles.length === analysis.cycles.length)
35
+ return analysis;
36
+ const filesInCycles = new Set(cycles.flatMap((cycle) => cycle.files)).size;
37
+ return { ...analysis, cycles, filesInCycles, gate: regate(analysis.fileCount, filesInCycles) };
38
+ }
39
+ function regatedInternals(scan, allowedFiles) {
40
+ const analysis = scan.dependencyInternals;
41
+ const internals = exclude(analysis.violations, allowedFiles);
42
+ if (internals.removedFiles === 0)
43
+ return analysis;
44
+ const externalImporterCount = analysis.externalImporterCount - internals.removedFiles;
45
+ return {
46
+ ...analysis,
47
+ externalImporterCount,
48
+ offenderCount: internals.keptFiles,
49
+ violations: internals.kept,
50
+ gate: regate(externalImporterCount, internals.keptFiles),
51
+ };
52
+ }
53
+ /** Allowed importers leave the evidence; an entry still counts while another file imports it. */
54
+ function regatedEntryPurity(scan, allowedImporters) {
55
+ const analysis = scan.entryPurity;
56
+ const allowed = new Set(allowedImporters);
57
+ const imports = analysis.imports.filter((entry) => !allowed.has(entry.importer));
58
+ if (imports.length === analysis.imports.length)
59
+ return analysis;
60
+ const violations = importedEntries(imports);
61
+ return {
62
+ ...analysis,
63
+ imports,
64
+ violations,
65
+ offenderCount: violations.length,
66
+ gate: regate(analysis.entryCount, violations.length),
67
+ };
68
+ }
69
+ function regatedPhantom(scan, allowedFiles) {
70
+ const analysis = scan.phantomDependencies;
71
+ const phantom = exclude(analysis.violations, allowedFiles);
72
+ if (phantom.removedFiles === 0)
73
+ return analysis;
74
+ const externalImporterCount = analysis.externalImporterCount - phantom.removedFiles;
75
+ return {
76
+ ...analysis,
77
+ externalImporterCount,
78
+ offenderCount: phantom.keptFiles,
79
+ violations: phantom.kept,
80
+ gate: regate(externalImporterCount, phantom.keptFiles),
81
+ };
82
+ }
83
+ function regatedServerClient(scan, allowedFiles) {
84
+ const analysis = scan.serverClient;
85
+ const boundary = exclude(analysis.violations, allowedFiles);
86
+ if (boundary.removedFiles === 0)
87
+ return analysis;
88
+ const clientCount = analysis.clientCount - boundary.removedFiles;
89
+ return {
90
+ ...analysis,
91
+ clientCount,
92
+ offenderCount: boundary.keptFiles,
93
+ violations: boundary.kept,
94
+ gate: regate(clientCount, boundary.keptFiles, 1, analysis.serverModules.length > 0),
95
+ };
96
+ }
97
+ function regatedEnvAccess(scan, allowedFiles) {
98
+ const analysis = scan.envAccess;
99
+ const env = exclude(analysis.violations, allowedFiles);
100
+ if (env.removedFiles === 0)
101
+ return analysis;
102
+ const subjectFileCount = analysis.subjectFileCount - env.removedFiles;
103
+ return {
104
+ ...analysis,
105
+ subjectFileCount,
106
+ offenderCount: env.keptFiles,
107
+ violations: env.kept,
108
+ gate: regate(subjectFileCount, env.keptFiles),
109
+ };
110
+ }
111
+ function regatedWorkspacePackage(scan, allowedFiles) {
112
+ const analysis = scan.workspacePackageApi;
113
+ const deep = exclude(analysis.violations, allowedFiles);
114
+ if (deep.removedFiles === 0)
115
+ return analysis;
116
+ const consumerCount = analysis.consumerCount - deep.removedFiles;
117
+ return {
118
+ ...analysis,
119
+ consumerCount,
120
+ offenderCount: deep.keptFiles,
121
+ violations: deep.kept,
122
+ gate: regate(consumerCount, deep.keptFiles),
123
+ };
124
+ }
125
+ /** Allowed importers leave the evidence; the stories stay, as each is reported once, by its importer. */
126
+ function regatedStories(scan, allowedImporters) {
127
+ const analysis = scan.storiesIsolation;
128
+ const allowed = new Set(allowedImporters);
129
+ const violations = analysis.violations.filter((story) => !allowed.has(story.importer));
130
+ if (violations.length === analysis.violations.length)
131
+ return analysis;
132
+ return {
133
+ ...analysis,
134
+ offenderCount: violations.length,
135
+ violations,
136
+ gate: regate(analysis.storyCount, violations.length),
137
+ };
138
+ }
139
+ function regatedUiData(scan, allowedFiles) {
140
+ const analysis = scan.uiDataIsolation;
141
+ const ui = exclude(analysis.violations, allowedFiles);
142
+ if (ui.removedFiles === 0)
143
+ return analysis;
144
+ const componentCount = analysis.componentCount - ui.removedFiles;
145
+ return {
146
+ ...analysis,
147
+ componentCount,
148
+ offenderCount: ui.keptFiles,
149
+ violations: ui.kept,
150
+ gate: regate(componentCount, ui.keptFiles, analysis.gate.conditions.roleConfidence.value),
151
+ };
152
+ }
153
+ function regatedSiblingGroup(group, allowedFiles, memberFiles) {
154
+ const cross = exclude(group.violations, allowedFiles);
155
+ if (cross.removedFiles === 0)
156
+ return group;
157
+ const memberFileCount = group[memberFiles] - cross.removedFiles;
158
+ return {
159
+ ...group,
160
+ [memberFiles]: memberFileCount,
161
+ crossImporterCount: cross.keptFiles,
162
+ violations: cross.kept,
163
+ gate: regate(memberFileCount, cross.keptFiles),
164
+ };
165
+ }
18
166
  /** Allowed files of the rules already adopted: an allowance can keep an adopted rule, never promote another. */
19
167
  export function adoptedAllowances(outDir) {
20
168
  let adopted;
@@ -112,6 +260,40 @@ export function excludeAllowed(scan, allowed) {
112
260
  };
113
261
  }),
114
262
  },
263
+ cycles: regatedCycles(scan, allowedFor(NO_CYCLES_RULE)),
264
+ phantomDependencies: regatedPhantom(scan, allowedFor(PHANTOM_DEPENDENCY_RULE)),
265
+ dependencyInternals: regatedInternals(scan, allowedFor(DEPENDENCY_INTERNALS_RULE)),
266
+ entryPurity: regatedEntryPurity(scan, allowedFor(ENTRY_PURITY_RULE)),
267
+ serverClient: regatedServerClient(scan, allowedFor(SERVER_CLIENT_RULE)),
268
+ envAccess: regatedEnvAccess(scan, allowedFor(ENV_ACCESS_RULE)),
269
+ workspacePackageApi: regatedWorkspacePackage(scan, allowedFor(WORKSPACE_PACKAGE_RULE)),
270
+ storiesIsolation: regatedStories(scan, allowedFor(STORIES_ISOLATION_RULE)),
271
+ uiDataIsolation: regatedUiData(scan, allowedFor(UI_DATA_RULE)),
272
+ featureSlices: {
273
+ ...scan.featureSlices,
274
+ groups: scan.featureSlices.groups.map((group) => regatedSiblingGroup(group, allowedFor(featureSliceRuleName(group.container)), 'sliceFileCount')),
275
+ },
276
+ appIsolation: {
277
+ ...scan.appIsolation,
278
+ groups: scan.appIsolation.groups.map((group) => regatedSiblingGroup(group, allowedFor(appIsolationRuleName(group.container)), 'appFileCount')),
279
+ },
280
+ roleLayering: {
281
+ ...scan.roleLayering,
282
+ boundaries: scan.roleLayering.boundaries.map((boundary) => {
283
+ const role = exclude(boundary.violations, allowedFor(roleLayeringRuleName(boundary.from, boundary.to)));
284
+ if (role.removedFiles === 0)
285
+ return boundary;
286
+ const roleFileCount = boundary.roleFileCount - role.removedFiles;
287
+ return {
288
+ ...boundary,
289
+ roleFileCount,
290
+ conformingFileCount: roleFileCount - role.keptFiles,
291
+ violatingFileCount: role.keptFiles,
292
+ violations: role.kept,
293
+ gate: regate(roleFileCount, role.keptFiles, boundary.roleConfidence),
294
+ };
295
+ }),
296
+ },
115
297
  layerBoundaries: scan.layerBoundaries.map((boundary) => {
116
298
  const layer = exclude(boundary.violations, allowedFor(layerRuleName(boundary)));
117
299
  if (layer.removedFiles === 0)
@@ -1 +1 @@
1
- {"version":3,"file":"allowed-evidence.js","sourceRoot":"","sources":["../../src/cli/allowed-evidence.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"allowed-evidence.js","sourceRoot":"","sources":["../../src/cli/allowed-evidence.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"check-evaluate.d.ts","sourceRoot":"","sources":["../../src/cli/check-evaluate.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,WAAW,EAAuC,MAAM,oBAAoB,CAAC;AAE3F,MAAM,MAAM,WAAW,GAAG,WAAW,GAAG,QAAQ,GAAG,MAAM,CAAC;AAE1D,MAAM,WAAW,OAAO;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,WAAW,CAAC;CACnB;AAiCD,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,WAAW,EAAE,GAAG,OAAO,EAAE,CAiEtF"}
1
+ {"version":3,"file":"check-evaluate.d.ts","sourceRoot":"","sources":["../../src/cli/check-evaluate.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,WAAW,EAAuC,MAAM,oBAAoB,CAAC;AAE3F,MAAM,MAAM,WAAW,GAAG,WAAW,GAAG,QAAQ,GAAG,MAAM,CAAC;AAE1D,MAAM,WAAW,OAAO;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,WAAW,CAAC;CACnB;AAiDD,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,WAAW,EAAE,GAAG,OAAO,EAAE,CAmKtF"}
@@ -1,9 +1,22 @@
1
+ import { detectAppIsolation } from '../detector/app-isolation-detector.js';
1
2
  import { detectConsoleIsolation } from '../detector/console-isolation-detector.js';
3
+ import { cycleEdges } from '../detector/cycle-detector.js';
4
+ import { detectDependencyInternals } from '../detector/dependency-internals-detector.js';
5
+ import { detectEntryPurity } from '../detector/entry-purity-detector.js';
6
+ import { detectEnvAccess } from '../detector/env-access-detector.js';
7
+ import { detectFeatureSliceIsolation } from '../detector/feature-slice-detector.js';
8
+ import { buildImportGraph } from '../scanner/import-graph.js';
2
9
  import { detectDeepRelativeImports } from '../detector/deep-relative-detector.js';
3
10
  import { layerImports } from '../detector/layer-detector.js';
4
11
  import { detectForbiddenImports } from '../detector/pattern-detector.js';
12
+ import { detectPhantomDependencies } from '../detector/phantom-dependency-detector.js';
5
13
  import { detectPublicApiBoundaries } from '../detector/public-api-detector.js';
14
+ import { detectRoleLayering } from '../detector/role-layering-detector.js';
15
+ import { detectServerClientBoundary } from '../detector/server-client-detector.js';
16
+ import { detectStoriesIsolation } from '../detector/stories-isolation-detector.js';
6
17
  import { detectTestIsolation } from '../detector/test-isolation-detector.js';
18
+ import { detectUiDataIsolation } from '../detector/ui-data-isolation-detector.js';
19
+ import { detectWorkspacePackageApi } from '../detector/workspace-package-detector.js';
7
20
  const toPatternConfig = (rule) => ({
8
21
  id: rule.id,
9
22
  name: rule.id,
@@ -34,6 +47,19 @@ function forbiddenImportFindings(appDir, rules) {
34
47
  }
35
48
  return findings;
36
49
  }
50
+ function containerFindings(rules, groups) {
51
+ return rules.flatMap((rule) => {
52
+ if (rule.family !== 'feature-slice' && rule.family !== 'app-isolation')
53
+ return [];
54
+ const group = groups.find((candidate) => candidate.container === rule.container);
55
+ return (group?.violations ?? []).map((violation) => ({
56
+ ruleId: rule.id,
57
+ file: violation.file,
58
+ subject: violation.target,
59
+ kind: 'target',
60
+ }));
61
+ });
62
+ }
37
63
  export function evaluateRules(appDir, rules) {
38
64
  const findings = forbiddenImportFindings(appDir, rules.filter((rule) => rule.family === 'forbidden-imports'));
39
65
  const byFamily = (family) => rules.filter((rule) => rule.family === family);
@@ -52,6 +78,46 @@ export function evaluateRules(appDir, rules) {
52
78
  findings.push({ ruleId: rule.id, file: violation.file, subject: '', kind: 'file' });
53
79
  }
54
80
  }
81
+ for (const rule of byFamily('cycles')) {
82
+ for (const edge of cycleEdges(buildImportGraph(appDir, { resolve: false }))) {
83
+ findings.push({ ruleId: rule.id, file: edge.file, subject: edge.target, kind: 'target' });
84
+ }
85
+ }
86
+ for (const rule of byFamily('dependency-hygiene')) {
87
+ for (const violation of detectDependencyInternals(appDir).violations) {
88
+ findings.push({
89
+ ruleId: rule.id,
90
+ file: violation.file,
91
+ subject: violation.specifier,
92
+ kind: 'specifier',
93
+ });
94
+ }
95
+ }
96
+ for (const rule of byFamily('entry-purity')) {
97
+ for (const edge of detectEntryPurity(appDir).imports) {
98
+ findings.push({ ruleId: rule.id, file: edge.importer, subject: edge.file, kind: 'target' });
99
+ }
100
+ }
101
+ for (const rule of byFamily('phantom-deps')) {
102
+ for (const violation of detectPhantomDependencies(appDir).violations) {
103
+ findings.push({
104
+ ruleId: rule.id,
105
+ file: violation.file,
106
+ subject: violation.specifier,
107
+ kind: 'specifier',
108
+ });
109
+ }
110
+ }
111
+ for (const rule of byFamily('server-client')) {
112
+ for (const violation of detectServerClientBoundary(appDir).violations) {
113
+ findings.push({
114
+ ruleId: rule.id,
115
+ file: violation.file,
116
+ subject: violation.target,
117
+ kind: 'target',
118
+ });
119
+ }
120
+ }
55
121
  for (const rule of byFamily('import-style')) {
56
122
  for (const violation of detectDeepRelativeImports(appDir).violations) {
57
123
  findings.push({
@@ -62,6 +128,64 @@ export function evaluateRules(appDir, rules) {
62
128
  });
63
129
  }
64
130
  }
131
+ for (const rule of byFamily('env-access')) {
132
+ for (const violation of detectEnvAccess(appDir).violations) {
133
+ findings.push({ ruleId: rule.id, file: violation.file, subject: '', kind: 'file' });
134
+ }
135
+ }
136
+ for (const rule of byFamily('workspace-package-api')) {
137
+ for (const violation of detectWorkspacePackageApi(appDir).violations) {
138
+ findings.push({
139
+ ruleId: rule.id,
140
+ file: violation.file,
141
+ subject: violation.specifier,
142
+ kind: 'specifier',
143
+ });
144
+ }
145
+ }
146
+ for (const rule of byFamily('stories-isolation')) {
147
+ for (const violation of detectStoriesIsolation(appDir).violations) {
148
+ findings.push({
149
+ ruleId: rule.id,
150
+ file: violation.importer,
151
+ subject: violation.file,
152
+ kind: 'target',
153
+ });
154
+ }
155
+ }
156
+ for (const rule of byFamily('ui-data')) {
157
+ for (const violation of detectUiDataIsolation(appDir).violations) {
158
+ findings.push({
159
+ ruleId: rule.id,
160
+ file: violation.file,
161
+ subject: violation.target,
162
+ kind: 'target',
163
+ });
164
+ }
165
+ }
166
+ const roleLayering = byFamily('role-layering');
167
+ if (roleLayering.length > 0) {
168
+ const boundaries = detectRoleLayering(appDir).boundaries;
169
+ for (const rule of roleLayering) {
170
+ if (rule.family !== 'role-layering')
171
+ continue;
172
+ const boundary = boundaries.find((candidate) => candidate.from === rule.from && candidate.to === rule.to);
173
+ for (const violation of boundary?.violations ?? []) {
174
+ findings.push({
175
+ ruleId: rule.id,
176
+ file: violation.file,
177
+ subject: violation.target,
178
+ kind: 'target',
179
+ });
180
+ }
181
+ }
182
+ }
183
+ const slices = byFamily('feature-slice');
184
+ if (slices.length > 0)
185
+ findings.push(...containerFindings(slices, detectFeatureSliceIsolation(appDir).groups));
186
+ const apps = byFamily('app-isolation');
187
+ if (apps.length > 0)
188
+ findings.push(...containerFindings(apps, detectAppIsolation(appDir).groups));
65
189
  const layers = byFamily('layer');
66
190
  if (layers.length > 0) {
67
191
  const importsAcross = layerImports(appDir);
@@ -1 +1 @@
1
- {"version":3,"file":"check-evaluate.js","sourceRoot":"","sources":["../../src/cli/check-evaluate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,2CAA2C,CAAC;AACnF,OAAO,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAC;AAClF,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAsB,MAAM,iCAAiC,CAAC;AAC7F,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAC/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAC;AAY7E,MAAM,eAAe,GAAG,CAAC,IAAyB,EAAiB,EAAE,CAAC,CAAC;IACrE,EAAE,EAAE,IAAI,CAAC,EAAE;IACX,IAAI,EAAE,IAAI,CAAC,EAAE;IACb,WAAW,EAAE,IAAI,CAAC,SAAS;IAC3B,KAAK,EAAE,IAAI,CAAC,KAAK;IACjB,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;CACnF,CAAC,CAAC;AAEH,SAAS,uBAAuB,CAAC,MAAc,EAAE,KAAqC;IACpF,MAAM,QAAQ,GAAc,EAAE,CAAC;IAC/B,MAAM,KAAK,GAAqB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QACzD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QACjC,MAAM,OAAO,GAAG,sBAAsB,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE;YACzE,OAAO,EAAE,IAAI,KAAK,MAAM;SACzB,CAAC,CAAC;QACH,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;YAChC,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;gBAC1C,QAAQ,CAAC,IAAI,CAAC;oBACZ,MAAM,EAAE,KAAK,CAAC,KAAK,CAAE,CAAC,EAAE;oBACxB,IAAI,EAAE,SAAS,CAAC,IAAI;oBACpB,OAAO,EAAE,SAAS,CAAC,SAAS;oBAC5B,IAAI,EAAE,WAAW;iBAClB,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,MAAc,EAAE,KAA6B;IACzE,MAAM,QAAQ,GAAG,uBAAuB,CACtC,MAAM,EACN,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAA+B,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,mBAAmB,CAAC,CACzF,CAAC;IACF,MAAM,QAAQ,GAAG,CAAC,MAA6B,EAAiB,EAAE,CAChE,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;IAEjD,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAC9C,KAAK,MAAM,SAAS,IAAI,mBAAmB,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,CAAC;YAC/D,QAAQ,CAAC,IAAI,CAAC;gBACZ,MAAM,EAAE,IAAI,CAAC,EAAE;gBACf,IAAI,EAAE,SAAS,CAAC,IAAI;gBACpB,OAAO,EAAE,SAAS,CAAC,MAAM;gBACzB,IAAI,EAAE,QAAQ;aACf,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;QACjD,KAAK,MAAM,SAAS,IAAI,sBAAsB,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,CAAC;YAClE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QACtF,CAAC;IACH,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;QAC5C,KAAK,MAAM,SAAS,IAAI,yBAAyB,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,CAAC;YACrE,QAAQ,CAAC,IAAI,CAAC;gBACZ,MAAM,EAAE,IAAI,CAAC,EAAE;gBACf,IAAI,EAAE,SAAS,CAAC,IAAI;gBACpB,OAAO,EAAE,SAAS,CAAC,SAAS;gBAC5B,IAAI,EAAE,WAAW;aAClB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;IACjC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,MAAM,aAAa,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;QAC3C,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;YAC1B,IAAI,IAAI,CAAC,MAAM,KAAK,OAAO;gBAAE,SAAS;YACtC,KAAK,MAAM,IAAI,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;gBACrD,QAAQ,CAAC,IAAI,CAAC;oBACZ,MAAM,EAAE,IAAI,CAAC,EAAE;oBACf,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,OAAO,EAAE,IAAI,CAAC,SAAS;oBACvB,IAAI,EAAE,WAAW;iBAClB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IACD,MAAM,SAAS,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC;IACzC,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,yBAAyB,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;QACxD,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;YAC7B,IAAI,IAAI,CAAC,MAAM,KAAK,YAAY;gBAAE,SAAS;YAC3C,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC;YACrE,KAAK,MAAM,SAAS,IAAI,KAAK,EAAE,UAAU,IAAI,EAAE,EAAE,CAAC;gBAChD,QAAQ,CAAC,IAAI,CAAC;oBACZ,MAAM,EAAE,IAAI,CAAC,EAAE;oBACf,IAAI,EAAE,SAAS,CAAC,IAAI;oBACpB,OAAO,EAAE,SAAS,CAAC,MAAM;oBACzB,IAAI,EAAE,QAAQ;iBACf,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"check-evaluate.js","sourceRoot":"","sources":["../../src/cli/check-evaluate.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { type EslintLayers } from '../generator/eslint-layer-emitter.js';
1
+ import { type EslintAppRules } from '../generator/eslint-app-emitter.js';
2
2
  import type { InstalledEnforcers } from '../scanner/enforcers.js';
3
3
  import { type BoundaryRule } from '../generator/tsarch-emitter.js';
4
4
  import { type ForbiddenImportSpec } from '../generator/eslint-plugin-emitter.js';
@@ -7,7 +7,7 @@ import { type AdoptedRule, type ResolutionMode } from './adopted-rules.js';
7
7
  export declare const ESLINT_FILE = "eslint.mjs";
8
8
  export declare const DEPCRUISE_FILE = "dependency-cruiser.json";
9
9
  export declare const ARCHPRINT_DIR = ".archprint";
10
- export declare const FAMILY_NAMES: readonly ["forbidden-imports", "layer", "role-layering", "public-api", "feature-slice", "app-isolation", "test-isolation", "dependency-hygiene", "entry-purity", "phantom-deps", "import-style", "console", "env-access", "workspace-package", "stories-isolation", "ui-data", "server-client"];
10
+ export declare const FAMILY_NAMES: readonly ["forbidden-imports", "cycles", "layer", "role-layering", "public-api", "feature-slice", "app-isolation", "test-isolation", "dependency-hygiene", "entry-purity", "phantom-deps", "import-style", "console", "env-access", "workspace-package", "stories-isolation", "ui-data", "server-client"];
11
11
  interface DependencyCruiserRule {
12
12
  name: string;
13
13
  }
@@ -21,7 +21,7 @@ interface DependencyCruiserFamily {
21
21
  }
22
22
  export interface CollectedEnforcement {
23
23
  eslintSpecs: ForbiddenImportSpec[];
24
- eslintLayers: EslintLayers | null;
24
+ eslintApp: EslintAppRules | null;
25
25
  eslintBlocks: EslintFamilyBlock[];
26
26
  depcruise: DependencyCruiserFamily[];
27
27
  boundaries: unknown | null;
@@ -42,7 +42,7 @@ export interface CollectOptions {
42
42
  appPath?: string;
43
43
  }
44
44
  export declare function collectEnforcement(scan: ScanResult, options: CollectOptions): CollectedEnforcement;
45
- export declare const writesEslint: ({ eslintSpecs, eslintBlocks, eslintLayers, }: CollectedEnforcement) => boolean;
45
+ export declare const writesEslint: ({ eslintSpecs, eslintBlocks, eslintApp, }: CollectedEnforcement) => boolean;
46
46
  export declare function writeArchprintEslint(collected: CollectedEnforcement, outDir: string): string | null;
47
47
  export declare function writeArchprintDepcruise(collected: CollectedEnforcement, outDir: string): string | null;
48
48
  export interface EmitResult {
@@ -1 +1 @@
1
- {"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../src/cli/generate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../src/cli/generate.ts"],"names":[],"mappings":"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"}