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.
- package/CHANGELOG.md +26 -0
- package/README.md +21 -12
- package/dist/cli/adopted-rules.d.ts +30 -2
- package/dist/cli/adopted-rules.d.ts.map +1 -1
- package/dist/cli/adopted-rules.js +158 -2
- package/dist/cli/adopted-rules.js.map +1 -1
- package/dist/cli/allow.d.ts.map +1 -1
- package/dist/cli/allow.js +21 -4
- package/dist/cli/allow.js.map +1 -1
- package/dist/cli/allowed-evidence.d.ts.map +1 -1
- package/dist/cli/allowed-evidence.js +183 -1
- package/dist/cli/allowed-evidence.js.map +1 -1
- package/dist/cli/check-evaluate.d.ts.map +1 -1
- package/dist/cli/check-evaluate.js +124 -0
- package/dist/cli/check-evaluate.js.map +1 -1
- package/dist/cli/generate.d.ts +4 -4
- package/dist/cli/generate.d.ts.map +1 -1
- package/dist/cli/generate.js +115 -42
- package/dist/cli/generate.js.map +1 -1
- package/dist/cli/layout.d.ts +5 -2
- package/dist/cli/layout.d.ts.map +1 -1
- package/dist/cli/layout.js +43 -10
- package/dist/cli/layout.js.map +1 -1
- package/dist/cli/migrate.d.ts.map +1 -1
- package/dist/cli/migrate.js +1 -2
- package/dist/cli/migrate.js.map +1 -1
- package/dist/cli/program.d.ts.map +1 -1
- package/dist/cli/program.js +10 -6
- package/dist/cli/program.js.map +1 -1
- package/dist/cli/recommend.d.ts +3 -0
- package/dist/cli/recommend.d.ts.map +1 -1
- package/dist/cli/recommend.js +28 -8
- package/dist/cli/recommend.js.map +1 -1
- package/dist/cli/report.js +1 -1
- package/dist/cli/report.js.map +1 -1
- package/dist/detector/cycle-detector.d.ts +5 -0
- package/dist/detector/cycle-detector.d.ts.map +1 -1
- package/dist/detector/cycle-detector.js +20 -0
- package/dist/detector/cycle-detector.js.map +1 -1
- package/dist/detector/dependency-internals-detector.d.ts.map +1 -1
- package/dist/detector/dependency-internals-detector.js +6 -20
- package/dist/detector/dependency-internals-detector.js.map +1 -1
- package/dist/detector/entry-purity-detector.d.ts +7 -0
- package/dist/detector/entry-purity-detector.d.ts.map +1 -1
- package/dist/detector/entry-purity-detector.js +21 -10
- package/dist/detector/entry-purity-detector.js.map +1 -1
- package/dist/detector/phantom-dependency-detector.d.ts +7 -0
- package/dist/detector/phantom-dependency-detector.d.ts.map +1 -1
- package/dist/detector/phantom-dependency-detector.js +18 -39
- package/dist/detector/phantom-dependency-detector.js.map +1 -1
- package/dist/detector/server-client-detector.d.ts +5 -0
- package/dist/detector/server-client-detector.d.ts.map +1 -1
- package/dist/detector/server-client-detector.js +8 -3
- package/dist/detector/server-client-detector.js.map +1 -1
- package/dist/generator/app-isolation-emitters.d.ts +1 -0
- package/dist/generator/app-isolation-emitters.d.ts.map +1 -1
- package/dist/generator/app-isolation-emitters.js +2 -1
- package/dist/generator/app-isolation-emitters.js.map +1 -1
- package/dist/generator/depcruise-exempt.d.ts +4 -0
- package/dist/generator/depcruise-exempt.d.ts.map +1 -1
- package/dist/generator/depcruise-exempt.js +7 -0
- package/dist/generator/depcruise-exempt.js.map +1 -1
- package/dist/generator/dependency-internals-emitters.d.ts +2 -1
- package/dist/generator/dependency-internals-emitters.d.ts.map +1 -1
- package/dist/generator/dependency-internals-emitters.js +7 -3
- package/dist/generator/dependency-internals-emitters.js.map +1 -1
- package/dist/generator/entry-purity-emitters.d.ts +7 -3
- package/dist/generator/entry-purity-emitters.d.ts.map +1 -1
- package/dist/generator/entry-purity-emitters.js +19 -5
- package/dist/generator/entry-purity-emitters.js.map +1 -1
- package/dist/generator/env-access-emitters.d.ts +1 -0
- package/dist/generator/env-access-emitters.d.ts.map +1 -1
- package/dist/generator/env-access-emitters.js +1 -0
- package/dist/generator/env-access-emitters.js.map +1 -1
- package/dist/generator/eslint-app-emitter.d.ts +59 -0
- package/dist/generator/eslint-app-emitter.d.ts.map +1 -0
- package/dist/generator/eslint-app-emitter.js +275 -0
- package/dist/generator/eslint-app-emitter.js.map +1 -0
- package/dist/generator/eslint-preset-emitter.d.ts +2 -2
- package/dist/generator/eslint-preset-emitter.d.ts.map +1 -1
- package/dist/generator/eslint-preset-emitter.js +6 -6
- package/dist/generator/eslint-preset-emitter.js.map +1 -1
- package/dist/generator/feature-slice-emitters.d.ts +1 -0
- package/dist/generator/feature-slice-emitters.d.ts.map +1 -1
- package/dist/generator/feature-slice-emitters.js +2 -1
- package/dist/generator/feature-slice-emitters.js.map +1 -1
- package/dist/generator/layer-emitters.d.ts.map +1 -1
- package/dist/generator/layer-emitters.js +2 -6
- package/dist/generator/layer-emitters.js.map +1 -1
- package/dist/generator/phantom-dependency-emitters.d.ts +2 -1
- package/dist/generator/phantom-dependency-emitters.d.ts.map +1 -1
- package/dist/generator/phantom-dependency-emitters.js +7 -3
- package/dist/generator/phantom-dependency-emitters.js.map +1 -1
- package/dist/generator/role-layering-emitters.d.ts +2 -0
- package/dist/generator/role-layering-emitters.d.ts.map +1 -1
- package/dist/generator/role-layering-emitters.js +2 -1
- package/dist/generator/role-layering-emitters.js.map +1 -1
- package/dist/generator/server-client-emitters.d.ts +10 -3
- package/dist/generator/server-client-emitters.d.ts.map +1 -1
- package/dist/generator/server-client-emitters.js +23 -4
- package/dist/generator/server-client-emitters.js.map +1 -1
- package/dist/generator/stories-isolation-emitters.d.ts +1 -0
- package/dist/generator/stories-isolation-emitters.d.ts.map +1 -1
- package/dist/generator/stories-isolation-emitters.js +2 -1
- package/dist/generator/stories-isolation-emitters.js.map +1 -1
- package/dist/generator/ui-data-isolation-emitters.d.ts +1 -0
- package/dist/generator/ui-data-isolation-emitters.d.ts.map +1 -1
- package/dist/generator/ui-data-isolation-emitters.js +2 -1
- package/dist/generator/ui-data-isolation-emitters.js.map +1 -1
- package/dist/generator/workspace-package-emitters.d.ts +1 -0
- package/dist/generator/workspace-package-emitters.d.ts.map +1 -1
- package/dist/generator/workspace-package-emitters.js +1 -0
- package/dist/generator/workspace-package-emitters.js.map +1 -1
- package/dist/scanner/directives.d.ts +6 -0
- package/dist/scanner/directives.d.ts.map +1 -0
- package/dist/scanner/directives.js +35 -0
- package/dist/scanner/directives.js.map +1 -0
- package/dist/scanner/package-name.d.ts +10 -0
- package/dist/scanner/package-name.d.ts.map +1 -0
- package/dist/scanner/package-name.js +37 -0
- package/dist/scanner/package-name.js.map +1 -0
- package/dist/scanner/resolve-import.d.ts +5 -0
- package/dist/scanner/resolve-import.d.ts.map +1 -1
- package/dist/scanner/resolve-import.js +22 -19
- package/dist/scanner/resolve-import.js.map +1 -1
- package/dist/scanner/role-classifier.d.ts +11 -2
- package/dist/scanner/role-classifier.d.ts.map +1 -1
- package/dist/scanner/role-classifier.js +13 -39
- package/dist/scanner/role-classifier.js.map +1 -1
- package/package.json +2 -2
- package/dist/generator/eslint-layer-emitter.d.ts +0 -29
- package/dist/generator/eslint-layer-emitter.d.ts.map +0 -1
- package/dist/generator/eslint-layer-emitter.js +0 -121
- package/dist/generator/eslint-layer-emitter.js.map +0 -1
package/dist/cli/generate.js
CHANGED
|
@@ -2,34 +2,35 @@ import * as path from 'node:path';
|
|
|
2
2
|
import { exemptionGlobs, literalGlob, repoPath } from '../generator/eslint-scope.js';
|
|
3
3
|
import { writeOwnedFile } from '../generator/owned-paths.js';
|
|
4
4
|
import { layerRuleName, toDependencyCruiser, toEslintBoundaries, } from '../generator/layer-emitters.js';
|
|
5
|
-
import {
|
|
5
|
+
import { entryRuleSpec, hasAppRules, internalsRuleSpec, layerRuleSpecs, phantomRuleSpec, renderEslintAppRules, serverClientRuleSpec, } from '../generator/eslint-app-emitter.js';
|
|
6
6
|
import { toDependencyCruiserPublicApi } from '../generator/public-api-emitters.js';
|
|
7
|
-
import { toDependencyCruiserFeatureSlice } from '../generator/feature-slice-emitters.js';
|
|
7
|
+
import { featureSliceRuleName, toDependencyCruiserFeatureSlice, } from '../generator/feature-slice-emitters.js';
|
|
8
8
|
import { toDependencyCruiserTestIsolation, toEslintTestIsolation, } from '../generator/test-isolation-emitters.js';
|
|
9
|
-
import { toDependencyCruiserAppIsolation } from '../generator/app-isolation-emitters.js';
|
|
10
|
-
import { toDependencyCruiserDependencyInternals } from '../generator/dependency-internals-emitters.js';
|
|
11
|
-
import { toDependencyCruiserRoleLayering } from '../generator/role-layering-emitters.js';
|
|
12
|
-
import { toDependencyCruiserEntryPurity } from '../generator/entry-purity-emitters.js';
|
|
13
|
-
import { toDependencyCruiserPhantomDependencies } from '../generator/phantom-dependency-emitters.js';
|
|
9
|
+
import { appIsolationRuleName, toDependencyCruiserAppIsolation, } from '../generator/app-isolation-emitters.js';
|
|
10
|
+
import { DEPENDENCY_INTERNALS_RULE, toDependencyCruiserDependencyInternals, } from '../generator/dependency-internals-emitters.js';
|
|
11
|
+
import { roleLayeringRuleName, toDependencyCruiserRoleLayering, } from '../generator/role-layering-emitters.js';
|
|
12
|
+
import { ENTRY_PURITY_RULE, toDependencyCruiserEntryPurity, } from '../generator/entry-purity-emitters.js';
|
|
13
|
+
import { PHANTOM_DEPENDENCY_RULE, toDependencyCruiserPhantomDependencies, } from '../generator/phantom-dependency-emitters.js';
|
|
14
14
|
import { toEslintDeepRelative } from '../generator/deep-relative-emitters.js';
|
|
15
15
|
import { toEslintConsoleIsolation } from '../generator/console-isolation-emitters.js';
|
|
16
|
-
import { toEslintEnvAccess } from '../generator/env-access-emitters.js';
|
|
17
|
-
import { toEslintWorkspacePackageApi } from '../generator/workspace-package-emitters.js';
|
|
16
|
+
import { ENV_ACCESS_RULE, toEslintEnvAccess } from '../generator/env-access-emitters.js';
|
|
17
|
+
import { toEslintWorkspacePackageApi, WORKSPACE_PACKAGE_RULE, } from '../generator/workspace-package-emitters.js';
|
|
18
18
|
import { toDependencyCruiserStoriesIsolation } from '../generator/stories-isolation-emitters.js';
|
|
19
19
|
import { toDependencyCruiserUiData } from '../generator/ui-data-isolation-emitters.js';
|
|
20
|
-
import { toDependencyCruiserServerClient } from '../generator/server-client-emitters.js';
|
|
20
|
+
import { SERVER_CLIENT_RULE, toDependencyCruiserServerClient, } from '../generator/server-client-emitters.js';
|
|
21
21
|
import { toGraphviz, toMermaid } from '../generator/graph-emitters.js';
|
|
22
22
|
import { renderTsArchTests } from '../generator/tsarch-emitter.js';
|
|
23
23
|
import { emitRuleArtifacts } from '../generator/rule-generator.js';
|
|
24
24
|
import { buildForbiddenImportSpecs, renderEslintPluginSource, } from '../generator/eslint-plugin-emitter.js';
|
|
25
25
|
import { renderEslintPreset } from '../generator/eslint-preset-emitter.js';
|
|
26
26
|
import { mergeNoRestrictedImports, } from '../generator/eslint-scope.js';
|
|
27
|
-
import { consoleIsolationRule, forbiddenImportRule, importStyleRule, layerRule, publicApiRules, byRuleId, testIsolationRule, } from './adopted-rules.js';
|
|
27
|
+
import { appIsolationRule, consoleIsolationRule, envAccessRule, featureSliceRule, forbiddenImportRule, importStyleRule, cycleRule, dependencyInternalsRule, entryPurityRule, isCycleFree, layerRule, NO_CYCLES_RULE, phantomDependencyRule, serverClientRule, publicApiRules, byRuleId, roleLayeringRule, storiesIsolationRule, testIsolationRule, uiDataRule, workspacePackageRule, } from './adopted-rules.js';
|
|
28
28
|
export const ESLINT_FILE = 'eslint.mjs';
|
|
29
29
|
export const DEPCRUISE_FILE = 'dependency-cruiser.json';
|
|
30
30
|
export const ARCHPRINT_DIR = '.archprint';
|
|
31
31
|
export const FAMILY_NAMES = [
|
|
32
32
|
'forbidden-imports',
|
|
33
|
+
'cycles',
|
|
33
34
|
'layer',
|
|
34
35
|
'role-layering',
|
|
35
36
|
'public-api',
|
|
@@ -123,8 +124,12 @@ export function collectEnforcement(scan, options) {
|
|
|
123
124
|
if (block !== null)
|
|
124
125
|
adopted.push(consoleIsolationRule(scan));
|
|
125
126
|
}
|
|
126
|
-
if (structural && emitEslint && pick('env-access'))
|
|
127
|
-
|
|
127
|
+
if (structural && emitEslint && pick('env-access')) {
|
|
128
|
+
const block = chosen(ENV_ACCESS_RULE, allowing(toEslintEnvAccess(scan.envAccess), ENV_ACCESS_RULE));
|
|
129
|
+
pushBlock('env-access', block);
|
|
130
|
+
if (block !== null)
|
|
131
|
+
adopted.push(envAccessRule(scan));
|
|
132
|
+
}
|
|
128
133
|
const noRestricted = [];
|
|
129
134
|
if (emitEslint && pick('import-style')) {
|
|
130
135
|
const block = chosen('import-style', allowing(toEslintDeepRelative(scan.deepRelative), 'import-style'));
|
|
@@ -138,8 +143,12 @@ export function collectEnforcement(scan, options) {
|
|
|
138
143
|
if (block !== null)
|
|
139
144
|
adopted.push(testIsolationRule(scan));
|
|
140
145
|
}
|
|
141
|
-
if (structural && emitEslint && pick('workspace-package'))
|
|
142
|
-
|
|
146
|
+
if (structural && emitEslint && pick('workspace-package')) {
|
|
147
|
+
const block = chosen(WORKSPACE_PACKAGE_RULE, allowing(toEslintWorkspacePackageApi(scan.workspacePackageApi), WORKSPACE_PACKAGE_RULE));
|
|
148
|
+
noRestricted.push(block);
|
|
149
|
+
if (block !== null)
|
|
150
|
+
adopted.push(workspacePackageRule(scan));
|
|
151
|
+
}
|
|
143
152
|
mergeNoRestrictedImports(noRestricted).forEach((block, index) => pushBlock(index === 0 ? 'no-restricted-imports' : `no-restricted-imports-exceptions-${index}`, block));
|
|
144
153
|
const depcruise = [];
|
|
145
154
|
const pushDc = (family, forbidden) => {
|
|
@@ -150,23 +159,87 @@ export function collectEnforcement(scan, options) {
|
|
|
150
159
|
const layers = structural && pick('layer')
|
|
151
160
|
? uniquelyNamed(scan.layerBoundaries.filter((b) => b.gate.status === 'AUTO')).filter((boundary) => selects(layerRuleName(boundary), `${boundary.from} !-> ${boundary.to}`))
|
|
152
161
|
: [];
|
|
153
|
-
const
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
162
|
+
const isEnforceable = (gate, population) => gate.status === 'AUTO' && population > 0;
|
|
163
|
+
const phantom = structural &&
|
|
164
|
+
pick('phantom-deps') &&
|
|
165
|
+
isEnforceable(scan.phantomDependencies.gate, scan.phantomDependencies.externalImporterCount) &&
|
|
166
|
+
selects(PHANTOM_DEPENDENCY_RULE)
|
|
167
|
+
? scan.phantomDependencies
|
|
168
|
+
: null;
|
|
169
|
+
const serverClient = structural &&
|
|
170
|
+
pick('server-client') &&
|
|
171
|
+
isEnforceable(scan.serverClient.gate, scan.serverClient.clientCount) &&
|
|
172
|
+
selects(SERVER_CLIENT_RULE)
|
|
173
|
+
? scan.serverClient
|
|
174
|
+
: null;
|
|
175
|
+
const internals = structural &&
|
|
176
|
+
pick('dependency-hygiene') &&
|
|
177
|
+
isEnforceable(scan.dependencyInternals.gate, scan.dependencyInternals.externalImporterCount) &&
|
|
178
|
+
selects(DEPENDENCY_INTERNALS_RULE)
|
|
179
|
+
? scan.dependencyInternals
|
|
180
|
+
: null;
|
|
181
|
+
const entry = structural &&
|
|
182
|
+
pick('entry-purity') &&
|
|
183
|
+
isEnforceable(scan.entryPurity.gate, scan.entryPurity.entryCount) &&
|
|
184
|
+
selects(ENTRY_PURITY_RULE)
|
|
185
|
+
? scan.entryPurity
|
|
186
|
+
: null;
|
|
187
|
+
const appRules = {
|
|
188
|
+
appDir: scan.appDir,
|
|
189
|
+
aliases: scan.layerAliases,
|
|
190
|
+
ignored: scan.gitignoredPaths,
|
|
191
|
+
layers: layerRuleSpecs(layers, allowedFor),
|
|
192
|
+
phantom: phantom === null
|
|
193
|
+
? null
|
|
194
|
+
: phantomRuleSpec(phantom, phantom.declaringPackageJsons, phantom.workspacePackages, allowedFor),
|
|
195
|
+
serverClient: serverClient === null ? null : serverClientRuleSpec(serverClient, allowedFor),
|
|
196
|
+
internals: internals === null ? null : internalsRuleSpec(internals, allowedFor),
|
|
197
|
+
entry: entry === null ? null : entryRuleSpec(entry, allowedFor),
|
|
198
|
+
};
|
|
199
|
+
const eslintApp = emitDepcruise || !hasAppRules(appRules) ? null : appRules;
|
|
200
|
+
if (emitDepcruise) {
|
|
157
201
|
pushDc('layer', toDependencyCruiser(layers, ['AUTO'], appPath, allowedFor).forbidden);
|
|
202
|
+
if (phantom !== null)
|
|
203
|
+
pushDc('phantom-deps', toDependencyCruiserPhantomDependencies(phantom, allowedFor).forbidden);
|
|
204
|
+
if (serverClient !== null)
|
|
205
|
+
pushDc('server-client', toDependencyCruiserServerClient(serverClient, appPath, allowedFor).forbidden);
|
|
206
|
+
if (internals !== null)
|
|
207
|
+
pushDc('dependency-internals', toDependencyCruiserDependencyInternals(internals, allowedFor).forbidden);
|
|
208
|
+
if (entry !== null)
|
|
209
|
+
pushDc('entry-purity', toDependencyCruiserEntryPurity(entry, allowedFor).forbidden);
|
|
210
|
+
}
|
|
158
211
|
adopted.push(...layers.map(layerRule));
|
|
159
|
-
if (
|
|
160
|
-
|
|
212
|
+
if (phantom !== null)
|
|
213
|
+
adopted.push(phantomDependencyRule(scan));
|
|
214
|
+
if (pick('cycles') && isCycleFree(scan) && selects(NO_CYCLES_RULE))
|
|
215
|
+
adopted.push(cycleRule(scan));
|
|
216
|
+
if (serverClient !== null)
|
|
217
|
+
adopted.push(serverClientRule(scan));
|
|
218
|
+
if (internals !== null)
|
|
219
|
+
adopted.push(dependencyInternalsRule(scan));
|
|
220
|
+
if (entry !== null)
|
|
221
|
+
adopted.push(entryPurityRule(scan));
|
|
222
|
+
const isAuto = (candidate) => candidate.gate.status === 'AUTO';
|
|
223
|
+
if (structural && emitDepcruise && pick('role-layering')) {
|
|
224
|
+
const boundaries = scan.roleLayering.boundaries.filter((boundary) => isAuto(boundary) && selects(roleLayeringRuleName(boundary.from, boundary.to)));
|
|
225
|
+
pushDc('role-layering', toDependencyCruiserRoleLayering(boundaries).forbidden);
|
|
226
|
+
adopted.push(...boundaries.map(roleLayeringRule));
|
|
227
|
+
}
|
|
161
228
|
if (emitDepcruise && pick('public-api')) {
|
|
162
229
|
const forbidden = toDependencyCruiserPublicApi(scan.publicApi.groups, ['AUTO']).forbidden;
|
|
163
230
|
pushNamedDc('public-api', forbidden);
|
|
164
231
|
adopted.push(...publicApiRules(scan).filter((rule) => selects(rule.id)));
|
|
165
232
|
}
|
|
166
|
-
if (structural && emitDepcruise && pick('feature-slice'))
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
233
|
+
if (structural && emitDepcruise && pick('feature-slice')) {
|
|
234
|
+
const groups = scan.featureSlices.groups.filter((group) => isAuto(group) && selects(featureSliceRuleName(group.container)));
|
|
235
|
+
pushDc('feature-slice', toDependencyCruiserFeatureSlice(groups).forbidden);
|
|
236
|
+
adopted.push(...groups.map(featureSliceRule));
|
|
237
|
+
}
|
|
238
|
+
if (structural && emitDepcruise && pick('app-isolation')) {
|
|
239
|
+
const groups = scan.appIsolation.groups.filter((group) => isAuto(group) && selects(appIsolationRuleName(group.container)));
|
|
240
|
+
pushDc('app-isolation', toDependencyCruiserAppIsolation(groups).forbidden);
|
|
241
|
+
adopted.push(...groups.map(appIsolationRule));
|
|
242
|
+
}
|
|
170
243
|
if (pick('test-isolation') && !emitEslint && emitDepcruise) {
|
|
171
244
|
const forbidden = toDependencyCruiserTestIsolation(scan.testIsolation).forbidden;
|
|
172
245
|
if (forbidden.length > 0 && selects('test-isolation')) {
|
|
@@ -174,18 +247,18 @@ export function collectEnforcement(scan, options) {
|
|
|
174
247
|
adopted.push(testIsolationRule(scan));
|
|
175
248
|
}
|
|
176
249
|
}
|
|
177
|
-
if (structural && emitDepcruise && pick('
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
if (structural && emitDepcruise && pick('
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
250
|
+
if (structural && emitDepcruise && pick('stories-isolation')) {
|
|
251
|
+
const forbidden = selected(toDependencyCruiserStoriesIsolation(scan.storiesIsolation).forbidden);
|
|
252
|
+
pushDc('stories-isolation', forbidden);
|
|
253
|
+
if (forbidden.length > 0)
|
|
254
|
+
adopted.push(storiesIsolationRule(scan));
|
|
255
|
+
}
|
|
256
|
+
if (structural && emitDepcruise && pick('ui-data')) {
|
|
257
|
+
const forbidden = selected(toDependencyCruiserUiData(scan.uiDataIsolation).forbidden);
|
|
258
|
+
pushDc('ui-data', forbidden);
|
|
259
|
+
if (forbidden.length > 0)
|
|
260
|
+
adopted.push(uiDataRule(scan));
|
|
261
|
+
}
|
|
189
262
|
const bundles = options.only === undefined;
|
|
190
263
|
const boundaries = emitDepcruise
|
|
191
264
|
? nonEmptyBoundaries(toEslintBoundaries(layers, ['AUTO']))
|
|
@@ -195,7 +268,7 @@ export function collectEnforcement(scan, options) {
|
|
|
195
268
|
: [];
|
|
196
269
|
return {
|
|
197
270
|
eslintSpecs,
|
|
198
|
-
|
|
271
|
+
eslintApp,
|
|
199
272
|
eslintBlocks,
|
|
200
273
|
depcruise,
|
|
201
274
|
boundaries,
|
|
@@ -224,15 +297,15 @@ const writeJson = (outDir, file, config) => {
|
|
|
224
297
|
writeOwnedFile(outDir, file, `${JSON.stringify(config, null, 2)}\n`);
|
|
225
298
|
return file;
|
|
226
299
|
};
|
|
227
|
-
export const writesEslint = ({ eslintSpecs, eslintBlocks,
|
|
300
|
+
export const writesEslint = ({ eslintSpecs, eslintBlocks, eslintApp, }) => eslintSpecs.length > 0 || eslintBlocks.length > 0 || eslintApp !== null;
|
|
228
301
|
export function writeArchprintEslint(collected, outDir) {
|
|
229
302
|
if (!writesEslint(collected))
|
|
230
303
|
return null;
|
|
231
|
-
const { eslintSpecs, eslintBlocks,
|
|
304
|
+
const { eslintSpecs, eslintBlocks, eslintApp } = collected;
|
|
232
305
|
const file = path.join(outDir, ESLINT_FILE);
|
|
233
306
|
const blocks = eslintBlocks.map((entry) => entry.block);
|
|
234
|
-
const
|
|
235
|
-
writeOwnedFile(outDir, file, renderEslintPreset(eslintSpecs, blocks, {
|
|
307
|
+
const app = eslintApp === null ? undefined : renderEslintAppRules(eslintApp, outDir);
|
|
308
|
+
writeOwnedFile(outDir, file, renderEslintPreset(eslintSpecs, blocks, { app }));
|
|
236
309
|
return file;
|
|
237
310
|
}
|
|
238
311
|
export function writeArchprintDepcruise(collected, outDir) {
|
package/dist/cli/generate.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate.js","sourceRoot":"","sources":["../../src/cli/generate.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"generate.js","sourceRoot":"","sources":["../../src/cli/generate.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/layout.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { InstalledEnforcers } from '../scanner/enforcers.js';
|
|
2
|
-
import type
|
|
2
|
+
import { type Recommendations } from './recommend.js';
|
|
3
3
|
import type { ScanResult } from './scan.js';
|
|
4
4
|
import { type ResolutionMode } from './adopted-rules.js';
|
|
5
5
|
export interface WriteLayoutOptions {
|
|
@@ -14,7 +14,7 @@ export interface WriteLayoutOptions {
|
|
|
14
14
|
recommendations: Recommendations;
|
|
15
15
|
app: string;
|
|
16
16
|
cwd: string;
|
|
17
|
-
|
|
17
|
+
readme?: boolean;
|
|
18
18
|
}
|
|
19
19
|
export interface WriteLayoutResult {
|
|
20
20
|
files: string[];
|
|
@@ -22,6 +22,9 @@ export interface WriteLayoutResult {
|
|
|
22
22
|
folded: string[];
|
|
23
23
|
readme: 'created' | 'updated' | 'skipped' | 'off';
|
|
24
24
|
configPath: string;
|
|
25
|
+
/** Previously adopted rules a scoped run kept, and those the current scan no longer generates. */
|
|
26
|
+
kept: string[];
|
|
27
|
+
dropped: string[];
|
|
25
28
|
}
|
|
26
29
|
export declare class UnknownRulesError extends Error {
|
|
27
30
|
constructor(unknown: readonly string[], available: readonly string[], structural: boolean);
|
package/dist/cli/layout.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../src/cli/layout.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAKlE,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../src/cli/layout.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAKlE,OAAO,EAAwB,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAE5E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAIL,KAAK,cAAc,EACpB,MAAM,oBAAoB,CAAC;AAQ5B,MAAM,WAAW,kBAAkB;IACjC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,EAAE,kBAAkB,CAAC;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,cAAc,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,eAAe,CAAC;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,KAAK,CAAC;IAClD,UAAU,EAAE,MAAM,CAAC;IACnB,kGAAkG;IAClG,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,qBAAa,iBAAkB,SAAQ,KAAK;gBAC9B,OAAO,EAAE,SAAS,MAAM,EAAE,EAAE,SAAS,EAAE,SAAS,MAAM,EAAE,EAAE,UAAU,EAAE,OAAO;CAW1F;AAwDD,wBAAgB,WAAW,CACzB,IAAI,EAAE,UAAU,EAChB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,kBAAkB,GAC1B,iBAAiB,CA6FnB"}
|
package/dist/cli/layout.js
CHANGED
|
@@ -5,7 +5,9 @@ import { ARCHPRINT_DIR, collectEnforcement, emitLayout } from './generate.js';
|
|
|
5
5
|
import { buildConfig, readConfig, writeConfig } from './archprint-config.js';
|
|
6
6
|
import { injectAdoptionSection } from './adoption-readme.js';
|
|
7
7
|
import { ensureIgnoreEntry } from './ignore-file.js';
|
|
8
|
-
import {
|
|
8
|
+
import { reconcileWithAdopted } from './recommend.js';
|
|
9
|
+
import { renderAdoptionBody } from './report.js';
|
|
10
|
+
import { LEGACY_RULES_FILE, readAdoptedRules, } from './adopted-rules.js';
|
|
9
11
|
import { allowedFilesByRule, LEGACY_ALLOW_FILE, readAllowed, sortAllowed, } from './allowed-exceptions.js';
|
|
10
12
|
export class UnknownRulesError extends Error {
|
|
11
13
|
constructor(unknown, available, structural) {
|
|
@@ -43,6 +45,26 @@ function removeFoldedFiles(outDir, cwd) {
|
|
|
43
45
|
}
|
|
44
46
|
return folded;
|
|
45
47
|
}
|
|
48
|
+
/** The rules a scoped run (--only, --rules) keeps from the previous adoption: it adds to them, never replaces them. */
|
|
49
|
+
function carriedRuleIds(outDir, options, requested) {
|
|
50
|
+
if (options.only === undefined && options.ruleIds === undefined)
|
|
51
|
+
return [];
|
|
52
|
+
const requestedIds = new Set(requested.map((rule) => rule.id));
|
|
53
|
+
return (readAdoptedRules(outDir) ?? [])
|
|
54
|
+
.map((rule) => rule.id)
|
|
55
|
+
.filter((id) => !requestedIds.has(id));
|
|
56
|
+
}
|
|
57
|
+
/** Selects the requested and carried rules by id, across every family: a carried rule was adopted, held or not. */
|
|
58
|
+
function withCarried(options, requested, carried) {
|
|
59
|
+
if (carried.length === 0)
|
|
60
|
+
return options;
|
|
61
|
+
return {
|
|
62
|
+
...options,
|
|
63
|
+
structural: true,
|
|
64
|
+
only: undefined,
|
|
65
|
+
ruleIds: [...requested.map((rule) => rule.id), ...carried],
|
|
66
|
+
};
|
|
67
|
+
}
|
|
46
68
|
export function writeLayout(scan, outDir, options) {
|
|
47
69
|
assertRealDirectory(outDir);
|
|
48
70
|
const allowed = readAllowed(outDir);
|
|
@@ -55,22 +77,25 @@ export function writeLayout(scan, outDir, options) {
|
|
|
55
77
|
ruleIds: options.ruleIds,
|
|
56
78
|
mode: options.mode,
|
|
57
79
|
};
|
|
58
|
-
const
|
|
59
|
-
if (unknownRules.length > 0)
|
|
60
|
-
throw new UnknownRulesError(unknownRules, availableRules, options.structural ?? false);
|
|
80
|
+
const requested = collectEnforcement(scan, collectOptions);
|
|
81
|
+
if (requested.unknownRules.length > 0)
|
|
82
|
+
throw new UnknownRulesError(requested.unknownRules, requested.availableRules, options.structural ?? false);
|
|
83
|
+
const carried = carriedRuleIds(outDir, collectOptions, requested.adopted);
|
|
61
84
|
const removed = cleanPrior(outDir, options.cwd);
|
|
62
85
|
const emitted = emitLayout(scan, outDir, {
|
|
63
|
-
...collectOptions,
|
|
86
|
+
...withCarried(collectOptions, requested.adopted, carried),
|
|
64
87
|
expand: options.expand,
|
|
65
|
-
graph: options.graph,
|
|
88
|
+
graph: options.only === undefined && options.graph !== false,
|
|
66
89
|
version: options.version,
|
|
67
90
|
});
|
|
91
|
+
const emittedIds = new Set(emitted.rules.map((rule) => rule.id));
|
|
92
|
+
const adoption = reconcileWithAdopted(options.recommendations, emitted.rules);
|
|
68
93
|
const files = [emitted.eslint, emitted.depcruise, ...emitted.expanded].filter((file) => file !== null);
|
|
69
94
|
const prior = readConfig(outDir);
|
|
70
95
|
let readme = 'off';
|
|
71
96
|
let readmeCreated = prior?.managed.readmeCreated ?? false;
|
|
72
|
-
if (options.
|
|
73
|
-
const result = injectAdoptionSection(path.join(options.cwd, 'README.md'),
|
|
97
|
+
if (options.readme && files.length > 0) {
|
|
98
|
+
const result = injectAdoptionSection(path.join(options.cwd, 'README.md'), renderAdoptionBody(adoption));
|
|
74
99
|
readme = result.status;
|
|
75
100
|
if (result.status === 'created')
|
|
76
101
|
readmeCreated = true;
|
|
@@ -102,11 +127,19 @@ export function writeLayout(scan, outDir, options) {
|
|
|
102
127
|
npmignore,
|
|
103
128
|
npmignoreCreated,
|
|
104
129
|
};
|
|
105
|
-
const configPath = writeConfig(outDir, buildConfig(
|
|
130
|
+
const configPath = writeConfig(outDir, buildConfig(adoption, options.version, {
|
|
106
131
|
app: options.app,
|
|
107
132
|
rulesDir: path.relative(options.cwd, outDir) || ARCHPRINT_DIR,
|
|
108
133
|
}, { rules: emitted.rules, allowed: sortAllowed(allowed) }, managed));
|
|
109
134
|
const folded = removeFoldedFiles(outDir, options.cwd);
|
|
110
|
-
return {
|
|
135
|
+
return {
|
|
136
|
+
files,
|
|
137
|
+
removed,
|
|
138
|
+
folded,
|
|
139
|
+
readme,
|
|
140
|
+
configPath,
|
|
141
|
+
kept: carried.filter((id) => emittedIds.has(id)),
|
|
142
|
+
dropped: carried.filter((id) => !emittedIds.has(id)),
|
|
143
|
+
};
|
|
111
144
|
}
|
|
112
145
|
//# sourceMappingURL=layout.js.map
|
package/dist/cli/layout.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"layout.js","sourceRoot":"","sources":["../../src/cli/layout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,mBAAmB,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAE9F,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAuB,UAAU,EAAE,MAAM,eAAe,CAAC;AACnG,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAuB,MAAM,uBAAuB,CAAC;AAClG,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"layout.js","sourceRoot":"","sources":["../../src/cli/layout.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../../src/cli/migrate.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../../src/cli/migrate.ts"],"names":[],"mappings":"AAyBA,eAAO,MAAM,UAAU,oBAAoB,CAAC;AAC5C,eAAO,MAAM,aAAa,mBAAmB,CAAC;AAI9C,UAAU,UAAU;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,UAAU,GAAG,IAAI,CAAC;IAC9B,aAAa,EAAE,UAAU,GAAG,IAAI,CAAC;IACjC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAwGD,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAEpD;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAa7D;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,UAAU,GAAG,SAAS,GAAG,SAAS,CAAC;IAC3C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,wBAAgB,YAAY,CAC1B,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,EACf,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAA;CAAO,GACjC,aAAa,CAgDf"}
|
package/dist/cli/migrate.js
CHANGED
|
@@ -4,7 +4,6 @@ import { detectEnforcers } from '../scanner/enforcers.js';
|
|
|
4
4
|
import { discoverAppDirs } from '../scanner/app-dirs.js';
|
|
5
5
|
import { hasTsConfig, scanRepo } from './scan.js';
|
|
6
6
|
import { buildRecommendations, detectStack } from './recommend.js';
|
|
7
|
-
import { renderAdoptionBody } from './report.js';
|
|
8
7
|
import { writeLayout } from './layout.js';
|
|
9
8
|
import { ARCHPRINT_DIR, DEPCRUISE_FILE, ESLINT_FILE, collectEnforcement, writesEslint, } from './generate.js';
|
|
10
9
|
import { CONFIG_FILE } from './archprint-config.js';
|
|
@@ -163,7 +162,7 @@ export function runMigration(cwd, version, options = {}) {
|
|
|
163
162
|
recommendations,
|
|
164
163
|
app: path.relative(cwd, plan.appDir) || '.',
|
|
165
164
|
cwd,
|
|
166
|
-
|
|
165
|
+
readme: true,
|
|
167
166
|
});
|
|
168
167
|
for (const edit of edits)
|
|
169
168
|
if (staysInsideItsFolder(edit.path))
|
package/dist/cli/migrate.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../src/cli/migrate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC1E,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACnE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../src/cli/migrate.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"program.d.ts","sourceRoot":"","sources":["../../src/cli/program.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"program.d.ts","sourceRoot":"","sources":["../../src/cli/program.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA8BpC,wBAAgB,WAAW,IAAI,MAAM,CAOpC;AAsCD,wBAAsB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAyDlF;AAwCD,wBAAgB,YAAY,CAAC,OAAO,SAAgB,GAAG,OAAO,CAumB7D"}
|
package/dist/cli/program.js
CHANGED
|
@@ -10,7 +10,7 @@ import { checkSelfConsistency } from '../detector/self-consistency.js';
|
|
|
10
10
|
import { discoverAppDirs } from '../scanner/app-dirs.js';
|
|
11
11
|
import { detectEnforcers } from '../scanner/enforcers.js';
|
|
12
12
|
import { hasTsConfig, scanRepo } from './scan.js';
|
|
13
|
-
import {
|
|
13
|
+
import { renderExplain, renderInit, renderReport, renderRecommendations } from './report.js';
|
|
14
14
|
import { buildRecommendations, detectStack } from './recommend.js';
|
|
15
15
|
import { toScanSummary } from './summary.js';
|
|
16
16
|
import { ARCHPRINT_DIR, ESLINT_FILE, FAMILY_NAMES, emitOne } from './generate.js';
|
|
@@ -201,7 +201,7 @@ export function buildProgram(version = readVersion()) {
|
|
|
201
201
|
recommendations,
|
|
202
202
|
app: displayPath(appDir, cwd),
|
|
203
203
|
cwd,
|
|
204
|
-
|
|
204
|
+
readme: true,
|
|
205
205
|
});
|
|
206
206
|
const config = readConfig(outDir);
|
|
207
207
|
/* v8 ignore next -- writeLayout always writes a readable config */
|
|
@@ -257,8 +257,8 @@ export function buildProgram(version = readVersion()) {
|
|
|
257
257
|
.option('--no-graph', 'skip the layer dependency graph (Mermaid and Graphviz, with --expand)')
|
|
258
258
|
.option('--expand', 'also write the per-family files, rule cards, fixtures, and graph')
|
|
259
259
|
.option('--readme', 'also add an archprint section to README.md summarizing what is enforced')
|
|
260
|
-
.option('--only <family>', `
|
|
261
|
-
.option('--rules <ids>', '
|
|
260
|
+
.option('--only <family>', `adopt one rule family, keeping the rules adopted before (${FAMILY_NAMES.join(', ')})`)
|
|
261
|
+
.option('--rules <ids>', 'adopt these rules, keeping the rules adopted before (comma-separated ids, e.g. AP-002,import-style,no-lib-to-app)')
|
|
262
262
|
.option('--check', 'after generating, run the eslint rules against the repo and report pass/fail')
|
|
263
263
|
.action(async (input, options) => {
|
|
264
264
|
if (options.emit !== undefined && !EMIT_TARGETS.includes(options.emit)) {
|
|
@@ -316,7 +316,7 @@ export function buildProgram(version = readVersion()) {
|
|
|
316
316
|
process.exitCode = 1;
|
|
317
317
|
return;
|
|
318
318
|
}
|
|
319
|
-
const { files, removed, folded, configPath } = writeLayout(scan, outDir, {
|
|
319
|
+
const { files, removed, folded, configPath, kept, dropped } = writeLayout(scan, outDir, {
|
|
320
320
|
structural,
|
|
321
321
|
enforcers,
|
|
322
322
|
graph: options.graph,
|
|
@@ -328,12 +328,16 @@ export function buildProgram(version = readVersion()) {
|
|
|
328
328
|
recommendations,
|
|
329
329
|
app: displayPath(scan.appDir, cwd),
|
|
330
330
|
cwd,
|
|
331
|
-
|
|
331
|
+
readme: options.readme,
|
|
332
332
|
});
|
|
333
333
|
if (removed.length > 0) {
|
|
334
334
|
console.log(`Refreshed: removed ${removed.length} stale archprint output(s) before writing.`);
|
|
335
335
|
}
|
|
336
336
|
reportFolded(folded, displayPath(configPath, cwd));
|
|
337
|
+
if (kept.length > 0)
|
|
338
|
+
console.log(`Kept ${kept.length} previously adopted rule(s): ${kept.join(', ')}.`);
|
|
339
|
+
if (dropped.length > 0)
|
|
340
|
+
console.log(`Dropped ${dropped.length} previously adopted rule(s) the current scan no longer generates: ${dropped.join(', ')}. Review their evidence with 'archprint scan'.`);
|
|
337
341
|
if (files.length === 0) {
|
|
338
342
|
if (heldStructuralAuto > 0) {
|
|
339
343
|
console.log(`No mechanical AUTO rules to generate. ${heldStructuralAuto} structural rule(s) are held for review; pass --include-structural to emit them (review before enforcing).`);
|