archprint 0.12.3 → 0.13.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 (87) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/README.md +43 -31
  3. package/dist/cli/adopted-rules.d.ts +8 -1
  4. package/dist/cli/adopted-rules.d.ts.map +1 -1
  5. package/dist/cli/adopted-rules.js +19 -0
  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 +3 -2
  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 +23 -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 +17 -0
  15. package/dist/cli/check-evaluate.js.map +1 -1
  16. package/dist/cli/generate.d.ts +6 -0
  17. package/dist/cli/generate.d.ts.map +1 -1
  18. package/dist/cli/generate.js +93 -43
  19. package/dist/cli/generate.js.map +1 -1
  20. package/dist/cli/layout.d.ts +3 -0
  21. package/dist/cli/layout.d.ts.map +1 -1
  22. package/dist/cli/layout.js +21 -4
  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 +2 -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 -7
  29. package/dist/cli/program.js.map +1 -1
  30. package/dist/cli/recommend.d.ts.map +1 -1
  31. package/dist/cli/recommend.js +3 -1
  32. package/dist/cli/recommend.js.map +1 -1
  33. package/dist/cli/report.d.ts.map +1 -1
  34. package/dist/cli/report.js +4 -2
  35. package/dist/cli/report.js.map +1 -1
  36. package/dist/cli/scan.d.ts +3 -0
  37. package/dist/cli/scan.d.ts.map +1 -1
  38. package/dist/cli/scan.js +7 -6
  39. package/dist/cli/scan.js.map +1 -1
  40. package/dist/detector/cycle-detector.d.ts +3 -0
  41. package/dist/detector/cycle-detector.d.ts.map +1 -1
  42. package/dist/detector/cycle-detector.js +25 -2
  43. package/dist/detector/cycle-detector.js.map +1 -1
  44. package/dist/detector/layer-detector.d.ts +11 -0
  45. package/dist/detector/layer-detector.d.ts.map +1 -1
  46. package/dist/detector/layer-detector.js +44 -56
  47. package/dist/detector/layer-detector.js.map +1 -1
  48. package/dist/detector/layer-paths.d.ts +17 -0
  49. package/dist/detector/layer-paths.d.ts.map +1 -0
  50. package/dist/detector/layer-paths.js +41 -0
  51. package/dist/detector/layer-paths.js.map +1 -0
  52. package/dist/detector/marker-inference.d.ts.map +1 -1
  53. package/dist/detector/marker-inference.js +46 -4
  54. package/dist/detector/marker-inference.js.map +1 -1
  55. package/dist/generator/depcruise-exempt.d.ts.map +1 -1
  56. package/dist/generator/depcruise-exempt.js +4 -1
  57. package/dist/generator/depcruise-exempt.js.map +1 -1
  58. package/dist/generator/eslint-layer-emitter.d.ts +29 -0
  59. package/dist/generator/eslint-layer-emitter.d.ts.map +1 -0
  60. package/dist/generator/eslint-layer-emitter.js +121 -0
  61. package/dist/generator/eslint-layer-emitter.js.map +1 -0
  62. package/dist/generator/eslint-plugin-emitter.d.ts +1 -0
  63. package/dist/generator/eslint-plugin-emitter.d.ts.map +1 -1
  64. package/dist/generator/eslint-plugin-emitter.js +2 -1
  65. package/dist/generator/eslint-plugin-emitter.js.map +1 -1
  66. package/dist/generator/eslint-preset-emitter.d.ts +2 -0
  67. package/dist/generator/eslint-preset-emitter.d.ts.map +1 -1
  68. package/dist/generator/eslint-preset-emitter.js +14 -5
  69. package/dist/generator/eslint-preset-emitter.js.map +1 -1
  70. package/dist/generator/layer-emitters.d.ts +7 -1
  71. package/dist/generator/layer-emitters.d.ts.map +1 -1
  72. package/dist/generator/layer-emitters.js +20 -5
  73. package/dist/generator/layer-emitters.js.map +1 -1
  74. package/dist/generator/ui-data-isolation-emitters.js +1 -1
  75. package/dist/generator/ui-data-isolation-emitters.js.map +1 -1
  76. package/dist/scanner/file-walker.d.ts +15 -0
  77. package/dist/scanner/file-walker.d.ts.map +1 -1
  78. package/dist/scanner/file-walker.js +50 -11
  79. package/dist/scanner/file-walker.js.map +1 -1
  80. package/dist/scanner/source-paths.d.ts +9 -0
  81. package/dist/scanner/source-paths.d.ts.map +1 -0
  82. package/dist/scanner/source-paths.js +13 -0
  83. package/dist/scanner/source-paths.js.map +1 -0
  84. package/dist/scanner/workspace-resolver.d.ts.map +1 -1
  85. package/dist/scanner/workspace-resolver.js +2 -1
  86. package/dist/scanner/workspace-resolver.js.map +1 -1
  87. package/package.json +3 -3
@@ -1,7 +1,8 @@
1
1
  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
- import { toDependencyCruiser, toEslintBoundaries } from '../generator/layer-emitters.js';
4
+ import { layerRuleName, toDependencyCruiser, toEslintBoundaries, } from '../generator/layer-emitters.js';
5
+ import { buildEslintLayers, renderEslintLayers, } from '../generator/eslint-layer-emitter.js';
5
6
  import { toDependencyCruiserPublicApi } from '../generator/public-api-emitters.js';
6
7
  import { toDependencyCruiserFeatureSlice } from '../generator/feature-slice-emitters.js';
7
8
  import { toDependencyCruiserTestIsolation, toEslintTestIsolation, } from '../generator/test-isolation-emitters.js';
@@ -23,7 +24,7 @@ import { emitRuleArtifacts } from '../generator/rule-generator.js';
23
24
  import { buildForbiddenImportSpecs, renderEslintPluginSource, } from '../generator/eslint-plugin-emitter.js';
24
25
  import { renderEslintPreset } from '../generator/eslint-preset-emitter.js';
25
26
  import { mergeNoRestrictedImports, } from '../generator/eslint-scope.js';
26
- import { consoleIsolationRule, forbiddenImportRule, importStyleRule, publicApiRules, byRuleId, testIsolationRule, } from './adopted-rules.js';
27
+ import { consoleIsolationRule, forbiddenImportRule, importStyleRule, layerRule, publicApiRules, byRuleId, testIsolationRule, } from './adopted-rules.js';
27
28
  export const ESLINT_FILE = 'eslint.mjs';
28
29
  export const DEPCRUISE_FILE = 'dependency-cruiser.json';
29
30
  export const ARCHPRINT_DIR = '.archprint';
@@ -46,6 +47,40 @@ export const FAMILY_NAMES = [
46
47
  'ui-data',
47
48
  'server-client',
48
49
  ];
50
+ const selectorKey = (selector) => selector.trim().replace(/\s+/g, ' ').toLowerCase();
51
+ /** Which emitted rules --rules keeps: every rule when it is absent, else those named by id or label. */
52
+ class RuleSelection {
53
+ wanted;
54
+ seen = new Set();
55
+ ids = new Set();
56
+ constructor(ruleIds) {
57
+ this.wanted =
58
+ ruleIds === undefined ? null : new Map(ruleIds.map((id) => [selectorKey(id), id.trim()]));
59
+ }
60
+ selects(id, label) {
61
+ const keys = [id, label].filter((key) => key !== undefined).map(selectorKey);
62
+ this.ids.add(id);
63
+ for (const key of keys)
64
+ this.seen.add(key);
65
+ return this.wanted === null || keys.some((key) => this.wanted.has(key));
66
+ }
67
+ keeps(id) {
68
+ return this.wanted === null || this.wanted.has(selectorKey(id));
69
+ }
70
+ available() {
71
+ return [...this.ids].sort();
72
+ }
73
+ unknown() {
74
+ return [...(this.wanted ?? [])]
75
+ .filter(([key]) => !this.seen.has(key))
76
+ .map(([, original]) => original);
77
+ }
78
+ }
79
+ /** Layer boundaries whose rule name is theirs alone: `no-a-to-b-to-c` can name two boundaries. */
80
+ const uniquelyNamed = (boundaries) => {
81
+ const names = boundaries.map(layerRuleName);
82
+ return boundaries.filter((_, index) => names.indexOf(names[index]) === names.lastIndexOf(names[index]));
83
+ };
49
84
  const withIgnored = (ignored, extra) => [...new Set([...ignored, ...extra])].sort();
50
85
  const byName = (a, b) => a.name < b.name ? -1 : a.name > b.name ? 1 : 0;
51
86
  export function collectEnforcement(scan, options) {
@@ -62,8 +97,13 @@ export function collectEnforcement(scan, options) {
62
97
  ignores: withIgnored([...(block.ignores ?? []), ...allowedFor(ruleId).map(literalGlob)].flatMap((glob) => exemptionGlobs(glob, appPath)), []),
63
98
  };
64
99
  const idByName = new Map(scan.patterns.map((pattern) => [pattern.config.name, pattern.config.id]));
100
+ const selection = new RuleSelection(options.ruleIds);
101
+ const selects = (id, label) => selection.selects(id, label);
102
+ const selected = (rules) => rules.filter((rule) => selects(rule.name));
65
103
  const eslintSpecs = emitEslint && pick('forbidden-imports')
66
- ? filterSpecs(buildForbiddenImportSpecs(scan.patterns), scan, options.ruleIds).map((spec) => ({
104
+ ? buildForbiddenImportSpecs(scan.patterns)
105
+ .filter((spec) => selects(idByName.get(spec.name) ?? spec.name, spec.name))
106
+ .map((spec) => ({
67
107
  ...spec,
68
108
  ignore: withIgnored(spec.ignore, allowedFor(idByName.get(spec.name) ?? '')).map((file) => repoPath(file, appPath)),
69
109
  }))
@@ -76,113 +116,123 @@ export function collectEnforcement(scan, options) {
76
116
  if (block !== null)
77
117
  eslintBlocks.push({ family, block });
78
118
  };
119
+ const chosen = (id, output) => output !== null && selects(id) ? output : null;
79
120
  if (emitEslint && pick('console')) {
80
- const block = allowing(toEslintConsoleIsolation(scan.consoleIsolation), 'console-isolation');
121
+ const block = chosen('console-isolation', allowing(toEslintConsoleIsolation(scan.consoleIsolation), 'console-isolation'));
81
122
  pushBlock('console', block);
82
123
  if (block !== null)
83
124
  adopted.push(consoleIsolationRule(scan));
84
125
  }
85
126
  if (structural && emitEslint && pick('env-access'))
86
- pushBlock('env-access', allowing(toEslintEnvAccess(scan.envAccess), 'env-access'));
127
+ pushBlock('env-access', chosen('env-access', allowing(toEslintEnvAccess(scan.envAccess), 'env-access')));
87
128
  const noRestricted = [];
88
129
  if (emitEslint && pick('import-style')) {
89
- const block = allowing(toEslintDeepRelative(scan.deepRelative), 'import-style');
130
+ const block = chosen('import-style', allowing(toEslintDeepRelative(scan.deepRelative), 'import-style'));
90
131
  noRestricted.push(block);
91
132
  if (block !== null)
92
133
  adopted.push(importStyleRule(scan));
93
134
  }
94
135
  if (emitEslint && pick('test-isolation')) {
95
- const block = allowing(toEslintTestIsolation(scan.testIsolation), 'test-isolation');
136
+ const block = chosen('test-isolation', allowing(toEslintTestIsolation(scan.testIsolation), 'test-isolation'));
96
137
  noRestricted.push(block);
97
138
  if (block !== null)
98
139
  adopted.push(testIsolationRule(scan));
99
140
  }
100
141
  if (structural && emitEslint && pick('workspace-package'))
101
- noRestricted.push(allowing(toEslintWorkspacePackageApi(scan.workspacePackageApi), 'workspace-package'));
142
+ noRestricted.push(chosen('workspace-package', allowing(toEslintWorkspacePackageApi(scan.workspacePackageApi), 'workspace-package')));
102
143
  mergeNoRestrictedImports(noRestricted).forEach((block, index) => pushBlock(index === 0 ? 'no-restricted-imports' : `no-restricted-imports-exceptions-${index}`, block));
103
144
  const depcruise = [];
104
145
  const pushDc = (family, forbidden) => {
105
146
  if (forbidden.length > 0)
106
147
  depcruise.push({ family, forbidden });
107
148
  };
108
- if (structural && emitDepcruise && pick('layer'))
109
- pushDc('layer', toDependencyCruiser(scan.layerBoundaries, ['AUTO']).forbidden);
149
+ const pushNamedDc = (family, forbidden) => pushDc(family, selected(forbidden));
150
+ const layers = structural && pick('layer')
151
+ ? uniquelyNamed(scan.layerBoundaries.filter((b) => b.gate.status === 'AUTO')).filter((boundary) => selects(layerRuleName(boundary), `${boundary.from} !-> ${boundary.to}`))
152
+ : [];
153
+ const eslintLayers = emitDepcruise
154
+ ? null
155
+ : buildEslintLayers(layers, { appDir: scan.appDir, aliases: scan.layerAliases, ignored: scan.gitignoredPaths }, allowedFor);
156
+ if (emitDepcruise)
157
+ pushDc('layer', toDependencyCruiser(layers, ['AUTO'], appPath, allowedFor).forbidden);
158
+ adopted.push(...layers.map(layerRule));
110
159
  if (structural && emitDepcruise && pick('role-layering'))
111
- pushDc('role-layering', toDependencyCruiserRoleLayering(scan.roleLayering.boundaries, ['AUTO']).forbidden);
160
+ pushNamedDc('role-layering', toDependencyCruiserRoleLayering(scan.roleLayering.boundaries, ['AUTO']).forbidden);
112
161
  if (emitDepcruise && pick('public-api')) {
113
162
  const forbidden = toDependencyCruiserPublicApi(scan.publicApi.groups, ['AUTO']).forbidden;
114
- pushDc('public-api', forbidden);
115
- if (forbidden.length > 0)
116
- adopted.push(...publicApiRules(scan));
163
+ pushNamedDc('public-api', forbidden);
164
+ adopted.push(...publicApiRules(scan).filter((rule) => selects(rule.id)));
117
165
  }
118
166
  if (structural && emitDepcruise && pick('feature-slice'))
119
- pushDc('feature-slice', toDependencyCruiserFeatureSlice(scan.featureSlices.groups, ['AUTO']).forbidden);
167
+ pushNamedDc('feature-slice', toDependencyCruiserFeatureSlice(scan.featureSlices.groups, ['AUTO']).forbidden);
120
168
  if (structural && emitDepcruise && pick('app-isolation'))
121
- pushDc('app-isolation', toDependencyCruiserAppIsolation(scan.appIsolation.groups, ['AUTO']).forbidden);
169
+ pushNamedDc('app-isolation', toDependencyCruiserAppIsolation(scan.appIsolation.groups, ['AUTO']).forbidden);
122
170
  if (pick('test-isolation') && !emitEslint && emitDepcruise) {
123
171
  const forbidden = toDependencyCruiserTestIsolation(scan.testIsolation).forbidden;
124
- pushDc('test-isolation', forbidden);
125
- if (forbidden.length > 0)
172
+ if (forbidden.length > 0 && selects('test-isolation')) {
173
+ pushDc('test-isolation', forbidden);
126
174
  adopted.push(testIsolationRule(scan));
175
+ }
127
176
  }
128
177
  if (structural && emitDepcruise && pick('dependency-hygiene'))
129
- pushDc('dependency-internals', toDependencyCruiserDependencyInternals(scan.dependencyInternals).forbidden);
178
+ pushNamedDc('dependency-internals', toDependencyCruiserDependencyInternals(scan.dependencyInternals).forbidden);
130
179
  if (structural && emitDepcruise && pick('entry-purity'))
131
- pushDc('entry-purity', toDependencyCruiserEntryPurity(scan.entryPurity).forbidden);
180
+ pushNamedDc('entry-purity', toDependencyCruiserEntryPurity(scan.entryPurity).forbidden);
132
181
  if (structural && emitDepcruise && pick('phantom-deps'))
133
- pushDc('phantom-deps', toDependencyCruiserPhantomDependencies(scan.phantomDependencies).forbidden);
182
+ pushNamedDc('phantom-deps', toDependencyCruiserPhantomDependencies(scan.phantomDependencies).forbidden);
134
183
  if (structural && emitDepcruise && pick('stories-isolation'))
135
- pushDc('stories-isolation', toDependencyCruiserStoriesIsolation(scan.storiesIsolation).forbidden);
184
+ pushNamedDc('stories-isolation', toDependencyCruiserStoriesIsolation(scan.storiesIsolation).forbidden);
136
185
  if (structural && emitDepcruise && pick('ui-data'))
137
- pushDc('ui-data', toDependencyCruiserUiData(scan.uiDataIsolation).forbidden);
186
+ pushNamedDc('ui-data', toDependencyCruiserUiData(scan.uiDataIsolation).forbidden);
138
187
  if (structural && emitDepcruise && pick('server-client'))
139
- pushDc('server-client', toDependencyCruiserServerClient(scan.serverClient).forbidden);
188
+ pushNamedDc('server-client', toDependencyCruiserServerClient(scan.serverClient).forbidden);
140
189
  const bundles = options.only === undefined;
141
- const boundaries = structural && emitDepcruise && pick('layer')
142
- ? nonEmptyBoundaries(toEslintBoundaries(scan.layerBoundaries, ['AUTO']))
190
+ const boundaries = emitDepcruise
191
+ ? nonEmptyBoundaries(toEslintBoundaries(layers, ['AUTO']))
143
192
  : null;
144
- const tsArchRules = structural && bundles ? collectTsArchRules(scan) : [];
193
+ const tsArchRules = structural && bundles
194
+ ? collectTsArchRules(scan, layers, (rule) => selection.keeps(rule.name))
195
+ : [];
145
196
  return {
146
197
  eslintSpecs,
198
+ eslintLayers,
147
199
  eslintBlocks,
148
200
  depcruise,
149
201
  boundaries,
150
202
  tsArchRules,
151
203
  hasGraph: bundles && scan.layerBoundaries.length > 0,
152
204
  adopted,
205
+ availableRules: selection.available(),
206
+ unknownRules: selection.unknown(),
153
207
  };
154
208
  }
155
- function filterSpecs(specs, scan, ruleIds) {
156
- if (!ruleIds)
157
- return specs;
158
- const wantedIds = new Set(ruleIds.map((id) => id.toLowerCase()));
159
- const wantedNames = new Set(scan.patterns
160
- .filter((pattern) => wantedIds.has(pattern.config.id.toLowerCase()))
161
- .map((pattern) => pattern.config.name.toLowerCase()));
162
- return specs.filter((spec) => wantedNames.has(spec.name.toLowerCase()));
163
- }
164
209
  function nonEmptyBoundaries(boundaries) {
165
210
  const tuple = boundaries?.rules?.['boundaries/element-types'];
166
211
  const inner = Array.isArray(tuple) ? tuple[1]?.rules : undefined;
167
212
  return Array.isArray(inner) && inner.length > 0 ? boundaries : null;
168
213
  }
169
- function collectTsArchRules(scan) {
214
+ function collectTsArchRules(scan, layers, keeps) {
170
215
  return [
171
- ...toDependencyCruiser(scan.layerBoundaries, ['AUTO']).forbidden,
172
- ...toDependencyCruiserRoleLayering(scan.roleLayering.boundaries, ['AUTO']).forbidden,
173
- ...toDependencyCruiserUiData(scan.uiDataIsolation).forbidden,
216
+ ...toDependencyCruiser(layers, ['AUTO']).forbidden,
217
+ ...[
218
+ ...toDependencyCruiserRoleLayering(scan.roleLayering.boundaries, ['AUTO']).forbidden,
219
+ ...toDependencyCruiserUiData(scan.uiDataIsolation).forbidden,
220
+ ].filter(keeps),
174
221
  ];
175
222
  }
176
223
  const writeJson = (outDir, file, config) => {
177
224
  writeOwnedFile(outDir, file, `${JSON.stringify(config, null, 2)}\n`);
178
225
  return file;
179
226
  };
227
+ export const writesEslint = ({ eslintSpecs, eslintBlocks, eslintLayers, }) => eslintSpecs.length > 0 || eslintBlocks.length > 0 || eslintLayers !== null;
180
228
  export function writeArchprintEslint(collected, outDir) {
181
- if (collected.eslintSpecs.length === 0 && collected.eslintBlocks.length === 0)
229
+ if (!writesEslint(collected))
182
230
  return null;
231
+ const { eslintSpecs, eslintBlocks, eslintLayers } = collected;
183
232
  const file = path.join(outDir, ESLINT_FILE);
184
- const blocks = collected.eslintBlocks.map((entry) => entry.block);
185
- writeOwnedFile(outDir, file, renderEslintPreset(collected.eslintSpecs, blocks));
233
+ const blocks = eslintBlocks.map((entry) => entry.block);
234
+ const layers = eslintLayers === null ? undefined : renderEslintLayers(eslintLayers, outDir);
235
+ writeOwnedFile(outDir, file, renderEslintPreset(eslintSpecs, blocks, { layers }));
186
236
  return file;
187
237
  }
188
238
  export function writeArchprintDepcruise(collected, outDir) {
@@ -1 +1 @@
1
- {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../src/cli/generate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACrF,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACzF,OAAO,EAAE,4BAA4B,EAAE,MAAM,qCAAqC,CAAC;AACnF,OAAO,EAAE,+BAA+B,EAAE,MAAM,wCAAwC,CAAC;AACzF,OAAO,EACL,gCAAgC,EAChC,qBAAqB,GACtB,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAE,+BAA+B,EAAE,MAAM,wCAAwC,CAAC;AACzF,OAAO,EAAE,sCAAsC,EAAE,MAAM,+CAA+C,CAAC;AACvG,OAAO,EAAE,+BAA+B,EAAE,MAAM,wCAAwC,CAAC;AACzF,OAAO,EAAE,8BAA8B,EAAE,MAAM,uCAAuC,CAAC;AACvF,OAAO,EAAE,sCAAsC,EAAE,MAAM,6CAA6C,CAAC;AAErG,OAAO,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAC;AAC9E,OAAO,EAAE,wBAAwB,EAAE,MAAM,4CAA4C,CAAC;AACtF,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AACxE,OAAO,EAAE,2BAA2B,EAAE,MAAM,4CAA4C,CAAC;AACzF,OAAO,EAAE,mCAAmC,EAAE,MAAM,4CAA4C,CAAC;AACjG,OAAO,EAAE,yBAAyB,EAAE,MAAM,4CAA4C,CAAC;AACvF,OAAO,EAAE,+BAA+B,EAAE,MAAM,wCAAwC,CAAC;AACzF,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAqB,MAAM,gCAAgC,CAAC;AACtF,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EACL,yBAAyB,EACzB,wBAAwB,GAEzB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAC3E,OAAO,EACL,wBAAwB,GAEzB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,eAAe,EACf,cAAc,EACd,QAAQ,EACR,iBAAiB,GAGlB,MAAM,oBAAoB,CAAC;AAE5B,MAAM,CAAC,MAAM,WAAW,GAAG,YAAY,CAAC;AACxC,MAAM,CAAC,MAAM,cAAc,GAAG,yBAAyB,CAAC;AACxD,MAAM,CAAC,MAAM,aAAa,GAAG,YAAY,CAAC;AAE1C,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,mBAAmB;IACnB,OAAO;IACP,eAAe;IACf,YAAY;IACZ,eAAe;IACf,eAAe;IACf,gBAAgB;IAChB,oBAAoB;IACpB,cAAc;IACd,cAAc;IACd,cAAc;IACd,SAAS;IACT,YAAY;IACZ,mBAAmB;IACnB,mBAAmB;IACnB,SAAS;IACT,eAAe;CACP,CAAC;AAoCX,MAAM,WAAW,GAAG,CAAC,OAA0B,EAAE,KAAwB,EAAY,EAAE,CACrF,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AAE9C,MAAM,MAAM,GAAG,CAAC,CAAwB,EAAE,CAAwB,EAAU,EAAE,CAC5E,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAEjD,MAAM,UAAU,kBAAkB,CAChC,IAAgB,EAChB,OAAuB;IAEvB,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,KAAK,CAAC;IAC/C,MAAM,aAAa,GAAG,OAAO,CAAC,SAAS,CAAC,iBAAiB,CAAC;IAC1D,MAAM,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,iBAAiB,CAAC;IACpF,MAAM,IAAI,GAAG,CAAC,MAAc,EAAW,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC;IACnF,MAAM,UAAU,GAAG,CAAC,MAAc,EAAqB,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IAC7F,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,GAAG,CAAC;IACvC,MAAM,QAAQ,GAAG,CAAmC,KAAe,EAAE,MAAc,EAAY,EAAE,CAC/F,KAAK,KAAK,IAAI;QACZ,CAAC,CAAC,KAAK;QACP,CAAC,CAAC;YACE,GAAG,KAAK;YACR,OAAO,EAAE,WAAW,CAClB,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAClF,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,CAC9B,EACD,EAAE,CACH;SACF,CAAC;IACR,MAAM,QAAQ,GAAG,IAAI,GAAG,CACtB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CACzE,CAAC;IAEF,MAAM,WAAW,GACf,UAAU,IAAI,IAAI,CAAC,mBAAmB,CAAC;QACrC,CAAC,CAAC,WAAW,CAAC,yBAAyB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,CAC9E,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACT,GAAG,IAAI;YACP,MAAM,EAAE,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAC7E,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAClC;SACF,CAAC,CACH;QACH,CAAC,CAAC,EAAE,CAAC;IACT,MAAM,OAAO,GAAkB,IAAI,CAAC,QAAQ;SACzC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;SAClF,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,IAAI,MAAM,CAAC,CAAC,CAAC;IAE1E,MAAM,YAAY,GAAwB,EAAE,CAAC;IAC7C,MAAM,SAAS,GAAG,CAAC,MAAc,EAAE,KAAqB,EAAQ,EAAE;QAChE,IAAI,KAAK,KAAK,IAAI;YAAE,YAAY,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IAC3D,CAAC,CAAC;IACF,IAAI,UAAU,IAAI,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QAClC,MAAM,KAAK,GAAG,QAAQ,CAAC,wBAAwB,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,mBAAmB,CAAC,CAAC;QAC7F,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/D,CAAC;IACD,IAAI,UAAU,IAAI,UAAU,IAAI,IAAI,CAAC,YAAY,CAAC;QAChD,SAAS,CAAC,YAAY,EAAE,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC;IACrF,MAAM,YAAY,GAAwC,EAAE,CAAC;IAC7D,IAAI,UAAU,IAAI,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;QACvC,MAAM,KAAK,GAAG,QAAQ,CAAC,oBAAoB,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,cAAc,CAAC,CAAC;QAChF,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzB,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1D,CAAC;IACD,IAAI,UAAU,IAAI,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACzC,MAAM,KAAK,GAAG,QAAQ,CAAC,qBAAqB,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,gBAAgB,CAAC,CAAC;QACpF,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzB,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5D,CAAC;IACD,IAAI,UAAU,IAAI,UAAU,IAAI,IAAI,CAAC,mBAAmB,CAAC;QACvD,YAAY,CAAC,IAAI,CACf,QAAQ,CAAC,2BAA2B,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE,mBAAmB,CAAC,CACrF,CAAC;IACJ,wBAAwB,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAC9D,SAAS,CACP,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,oCAAoC,KAAK,EAAE,EACnF,KAAK,CACN,CACF,CAAC;IAEF,MAAM,SAAS,GAA8B,EAAE,CAAC;IAChD,MAAM,MAAM,GAAG,CAAC,MAAc,EAAE,SAAkC,EAAQ,EAAE;QAC1E,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC;YAAE,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;IAClE,CAAC,CAAC;IACF,IAAI,UAAU,IAAI,aAAa,IAAI,IAAI,CAAC,OAAO,CAAC;QAC9C,MAAM,CAAC,OAAO,EAAE,mBAAmB,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACjF,IAAI,UAAU,IAAI,aAAa,IAAI,IAAI,CAAC,eAAe,CAAC;QACtD,MAAM,CACJ,eAAe,EACf,+BAA+B,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAClF,CAAC;IACJ,IAAI,aAAa,IAAI,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;QACxC,MAAM,SAAS,GAAG,4BAA4B,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;QAC1F,MAAM,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;QAChC,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;IAClE,CAAC;IACD,IAAI,UAAU,IAAI,aAAa,IAAI,IAAI,CAAC,eAAe,CAAC;QACtD,MAAM,CACJ,eAAe,EACf,+BAA+B,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAC/E,CAAC;IACJ,IAAI,UAAU,IAAI,aAAa,IAAI,IAAI,CAAC,eAAe,CAAC;QACtD,MAAM,CACJ,eAAe,EACf,+BAA+B,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAC9E,CAAC;IACJ,IAAI,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,IAAI,aAAa,EAAE,CAAC;QAC3D,MAAM,SAAS,GAAG,gCAAgC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC;QACjF,MAAM,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;QACpC,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;IAClE,CAAC;IACD,IAAI,UAAU,IAAI,aAAa,IAAI,IAAI,CAAC,oBAAoB,CAAC;QAC3D,MAAM,CACJ,sBAAsB,EACtB,sCAAsC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,SAAS,CAC3E,CAAC;IACJ,IAAI,UAAU,IAAI,aAAa,IAAI,IAAI,CAAC,cAAc,CAAC;QACrD,MAAM,CAAC,cAAc,EAAE,8BAA8B,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,CAAC;IACrF,IAAI,UAAU,IAAI,aAAa,IAAI,IAAI,CAAC,cAAc,CAAC;QACrD,MAAM,CACJ,cAAc,EACd,sCAAsC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,SAAS,CAC3E,CAAC;IACJ,IAAI,UAAU,IAAI,aAAa,IAAI,IAAI,CAAC,mBAAmB,CAAC;QAC1D,MAAM,CACJ,mBAAmB,EACnB,mCAAmC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,SAAS,CACrE,CAAC;IACJ,IAAI,UAAU,IAAI,aAAa,IAAI,IAAI,CAAC,SAAS,CAAC;QAChD,MAAM,CAAC,SAAS,EAAE,yBAAyB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,SAAS,CAAC,CAAC;IAC/E,IAAI,UAAU,IAAI,aAAa,IAAI,IAAI,CAAC,eAAe,CAAC;QACtD,MAAM,CAAC,eAAe,EAAE,+BAA+B,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,CAAC;IAExF,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC;IAC3C,MAAM,UAAU,GACd,UAAU,IAAI,aAAa,IAAI,IAAI,CAAC,OAAO,CAAC;QAC1C,CAAC,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;QACxE,CAAC,CAAC,IAAI,CAAC;IACX,MAAM,WAAW,GAAmB,UAAU,IAAI,OAAO,CAAC,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAE1F,OAAO;QACL,WAAW;QACX,YAAY;QACZ,SAAS;QACT,UAAU;QACV,WAAW;QACX,QAAQ,EAAE,OAAO,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC;QACpD,OAAO;KACR,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAClB,KAA4B,EAC5B,IAAgB,EAChB,OAAsC;IAEtC,IAAI,CAAC,OAAO;QAAE,OAAO,KAAK,CAAC;IAC3B,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IACjE,MAAM,WAAW,GAAG,IAAI,GAAG,CACzB,IAAI,CAAC,QAAQ;SACV,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;SACnE,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CACvD,CAAC;IACF,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;AAC1E,CAAC;AAED,SAAS,kBAAkB,CAAC,UAAmB;IAC7C,MAAM,KAAK,GACT,UAGD,EAAE,KAAK,EAAE,CAAC,0BAA0B,CAAC,CAAC;IACvC,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IACjE,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC;AACtE,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAgB;IAC1C,OAAO;QACL,GAAG,mBAAmB,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;QAChE,GAAG,+BAA+B,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;QACpF,GAAG,yBAAyB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,SAAS;KAC7D,CAAC;AACJ,CAAC;AAED,MAAM,SAAS,GAAG,CAAC,MAAc,EAAE,IAAY,EAAE,MAAe,EAAU,EAAE;IAC1E,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;IACrE,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,UAAU,oBAAoB,CAClC,SAA+B,EAC/B,MAAc;IAEd,IAAI,SAAS,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,IAAI,SAAS,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC3F,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAC5C,MAAM,MAAM,GAAG,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAClE,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE,kBAAkB,CAAC,SAAS,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;IAChF,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,SAA+B,EAC/B,MAAc;IAEd,MAAM,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACvF,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACxC,OAAO,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;AAC7E,CAAC;AAED,SAAS,aAAa,CACpB,SAA+B,EAC/B,IAAgB,EAChB,MAAc,EACd,KAAc;IAEd,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,IAAI,SAAS,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACjC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,MAAM;gBAAE,SAAS;YACjD,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;gBAAE,SAAS;YAC9E,OAAO,CAAC,IAAI,CACV,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,kBAAkB,IAAI,CAAC,MAAM,EAAE,CAAC,CACrF,CAAC;QACJ,CAAC;QACD,OAAO,CAAC,IAAI,CACV,SAAS,CACP,MAAM,EACN,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,6BAA6B,CAAC,EAChD,wBAAwB,CAAC,SAAS,CAAC,WAAW,CAAC,CAChD,CACF,CAAC;IACJ,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,SAAS,CAAC,YAAY,EAAE,CAAC;QAC3C,OAAO,CAAC,IAAI,CACV,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,KAAK,CAAC,MAAM,iBAAiB,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAC3F,CAAC;IACJ,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,SAAS,CAAC,SAAS,EAAE,CAAC;QACxC,OAAO,CAAC,IAAI,CACV,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,sBAAsB,KAAK,CAAC,MAAM,iBAAiB,CAAC,EAAE;YACxF,SAAS,EAAE,KAAK,CAAC,SAAS;SAC3B,CAAC,CACH,CAAC;IACJ,CAAC;IACD,IAAI,SAAS,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;QAClC,OAAO,CAAC,IAAI,CACV,SAAS,CACP,MAAM,EACN,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,kCAAkC,CAAC,EACrD,SAAS,CAAC,UAAU,CACrB,CACF,CAAC;IACJ,CAAC;IACD,IAAI,SAAS,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrC,OAAO,CAAC,IAAI,CACV,SAAS,CACP,MAAM,EACN,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,2BAA2B,CAAC,EAC9C,iBAAiB,CAAC,SAAS,CAAC,WAAW,CAAC,CACzC,CACF,CAAC;IACJ,CAAC;IACD,IAAI,KAAK,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC;QAChC,OAAO,CAAC,IAAI,CACV,SAAS,CACP,MAAM,EACN,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,2BAA2B,CAAC,EAC9C,GAAG,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CACvC,CACF,CAAC;QACF,OAAO,CAAC,IAAI,CACV,SAAS,CACP,MAAM,EACN,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,2BAA2B,CAAC,EAC9C,GAAG,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CACxC,CACF,CAAC;IACJ,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,SAAS,GAAG,CAAC,MAAc,EAAE,IAAY,EAAE,OAAe,EAAU,EAAE;IAC1E,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACtC,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AASF,MAAM,UAAU,UAAU,CACxB,IAAgB,EAChB,MAAc,EACd,OAAgF;IAEhF,MAAM,SAAS,GAAG,kBAAkB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACpD,MAAM,MAAM,GAAG,oBAAoB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IACvD,MAAM,SAAS,GAAG,uBAAuB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAC7D,MAAM,KAAK,GAAG,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACpD,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM;QAC7B,CAAC,CAAC,aAAa,CAAC,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,KAAK,KAAK,KAAK,CAAC;QACjE,CAAC,CAAC,EAAE,CAAC;IACP,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,OAAuB,EAAE,MAAc,EAAE,MAAc;IAC7E,OAAO,iBAAiB,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,kBAAkB,MAAM,EAAE,CAAC,CAAC;AAC/F,CAAC"}
1
+ {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../src/cli/generate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACrF,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,iBAAiB,EAEjB,kBAAkB,GACnB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,4BAA4B,EAAE,MAAM,qCAAqC,CAAC;AACnF,OAAO,EAAE,+BAA+B,EAAE,MAAM,wCAAwC,CAAC;AACzF,OAAO,EACL,gCAAgC,EAChC,qBAAqB,GACtB,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAE,+BAA+B,EAAE,MAAM,wCAAwC,CAAC;AACzF,OAAO,EAAE,sCAAsC,EAAE,MAAM,+CAA+C,CAAC;AACvG,OAAO,EAAE,+BAA+B,EAAE,MAAM,wCAAwC,CAAC;AACzF,OAAO,EAAE,8BAA8B,EAAE,MAAM,uCAAuC,CAAC;AACvF,OAAO,EAAE,sCAAsC,EAAE,MAAM,6CAA6C,CAAC;AAErG,OAAO,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAC;AAC9E,OAAO,EAAE,wBAAwB,EAAE,MAAM,4CAA4C,CAAC;AACtF,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AACxE,OAAO,EAAE,2BAA2B,EAAE,MAAM,4CAA4C,CAAC;AACzF,OAAO,EAAE,mCAAmC,EAAE,MAAM,4CAA4C,CAAC;AACjG,OAAO,EAAE,yBAAyB,EAAE,MAAM,4CAA4C,CAAC;AACvF,OAAO,EAAE,+BAA+B,EAAE,MAAM,wCAAwC,CAAC;AACzF,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAqB,MAAM,gCAAgC,CAAC;AACtF,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EACL,yBAAyB,EACzB,wBAAwB,GAEzB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAC3E,OAAO,EACL,wBAAwB,GAEzB,MAAM,8BAA8B,CAAC;AAGtC,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,eAAe,EACf,SAAS,EACT,cAAc,EACd,QAAQ,EACR,iBAAiB,GAGlB,MAAM,oBAAoB,CAAC;AAE5B,MAAM,CAAC,MAAM,WAAW,GAAG,YAAY,CAAC;AACxC,MAAM,CAAC,MAAM,cAAc,GAAG,yBAAyB,CAAC;AACxD,MAAM,CAAC,MAAM,aAAa,GAAG,YAAY,CAAC;AAE1C,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,mBAAmB;IACnB,OAAO;IACP,eAAe;IACf,YAAY;IACZ,eAAe;IACf,eAAe;IACf,gBAAgB;IAChB,oBAAoB;IACpB,cAAc;IACd,cAAc;IACd,cAAc;IACd,SAAS;IACT,YAAY;IACZ,mBAAmB;IACnB,mBAAmB;IACnB,SAAS;IACT,eAAe;CACP,CAAC;AAwCX,MAAM,WAAW,GAAG,CAAC,QAAgB,EAAU,EAAE,CAC/C,QAAQ,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;AAErD,wGAAwG;AACxG,MAAM,aAAa;IACA,MAAM,CAAqC;IAC3C,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IACzB,GAAG,GAAG,IAAI,GAAG,EAAU,CAAC;IAEzC,YAAY,OAAsC;QAChD,IAAI,CAAC,MAAM;YACT,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC9F,CAAC;IAED,OAAO,CAAC,EAAU,EAAE,KAAc;QAChC,MAAM,IAAI,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAiB,EAAE,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC5F,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACjB,KAAK,MAAM,GAAG,IAAI,IAAI;YAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC3C,OAAO,IAAI,CAAC,MAAM,KAAK,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,MAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3E,CAAC;IAED,KAAK,CAAC,EAAU;QACd,OAAO,IAAI,CAAC,MAAM,KAAK,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC;IAClE,CAAC;IAED,SAAS;QACP,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IAC9B,CAAC;IAED,OAAO;QACL,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;aAC5B,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aACtC,GAAG,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC;IACrC,CAAC;CACF;AAED,kGAAkG;AAClG,MAAM,aAAa,GAAG,CAAC,UAAoC,EAAmB,EAAE;IAC9E,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAC5C,OAAO,UAAU,CAAC,MAAM,CACtB,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAE,CAAC,KAAK,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,CAAE,CAAC,CAChF,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,CAAC,OAA0B,EAAE,KAAwB,EAAY,EAAE,CACrF,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AAE9C,MAAM,MAAM,GAAG,CAAC,CAAwB,EAAE,CAAwB,EAAU,EAAE,CAC5E,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAEjD,MAAM,UAAU,kBAAkB,CAChC,IAAgB,EAChB,OAAuB;IAEvB,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,KAAK,CAAC;IAC/C,MAAM,aAAa,GAAG,OAAO,CAAC,SAAS,CAAC,iBAAiB,CAAC;IAC1D,MAAM,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,iBAAiB,CAAC;IACpF,MAAM,IAAI,GAAG,CAAC,MAAc,EAAW,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC;IACnF,MAAM,UAAU,GAAG,CAAC,MAAc,EAAqB,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IAC7F,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,GAAG,CAAC;IACvC,MAAM,QAAQ,GAAG,CAAmC,KAAe,EAAE,MAAc,EAAY,EAAE,CAC/F,KAAK,KAAK,IAAI;QACZ,CAAC,CAAC,KAAK;QACP,CAAC,CAAC;YACE,GAAG,KAAK;YACR,OAAO,EAAE,WAAW,CAClB,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAClF,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,CAC9B,EACD,EAAE,CACH;SACF,CAAC;IACR,MAAM,QAAQ,GAAG,IAAI,GAAG,CACtB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CACzE,CAAC;IAEF,MAAM,SAAS,GAAG,IAAI,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACrD,MAAM,OAAO,GAAG,CAAC,EAAU,EAAE,KAAc,EAAW,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IACtF,MAAM,QAAQ,GAAG,CAA6B,KAAmB,EAAO,EAAE,CACxE,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAE7C,MAAM,WAAW,GACf,UAAU,IAAI,IAAI,CAAC,mBAAmB,CAAC;QACrC,CAAC,CAAC,yBAAyB,CAAC,IAAI,CAAC,QAAQ,CAAC;aACrC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;aAC1E,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACd,GAAG,IAAI;YACP,MAAM,EAAE,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAC7E,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAClC;SACF,CAAC,CAAC;QACP,CAAC,CAAC,EAAE,CAAC;IACT,MAAM,OAAO,GAAkB,IAAI,CAAC,QAAQ;SACzC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;SAClF,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,IAAI,MAAM,CAAC,CAAC,CAAC;IAE1E,MAAM,YAAY,GAAwB,EAAE,CAAC;IAC7C,MAAM,SAAS,GAAG,CAAC,MAAc,EAAE,KAAqB,EAAQ,EAAE;QAChE,IAAI,KAAK,KAAK,IAAI;YAAE,YAAY,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IAC3D,CAAC,CAAC;IACF,MAAM,MAAM,GAAG,CAAI,EAAU,EAAE,MAAgB,EAAY,EAAE,CAC3D,MAAM,KAAK,IAAI,IAAI,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;IACjD,IAAI,UAAU,IAAI,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QAClC,MAAM,KAAK,GAAG,MAAM,CAClB,mBAAmB,EACnB,QAAQ,CAAC,wBAAwB,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,mBAAmB,CAAC,CAC/E,CAAC;QACF,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/D,CAAC;IACD,IAAI,UAAU,IAAI,UAAU,IAAI,IAAI,CAAC,YAAY,CAAC;QAChD,SAAS,CACP,YAAY,EACZ,MAAM,CAAC,YAAY,EAAE,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,YAAY,CAAC,CAAC,CAChF,CAAC;IACJ,MAAM,YAAY,GAAwC,EAAE,CAAC;IAC7D,IAAI,UAAU,IAAI,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;QACvC,MAAM,KAAK,GAAG,MAAM,CAClB,cAAc,EACd,QAAQ,CAAC,oBAAoB,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,cAAc,CAAC,CAClE,CAAC;QACF,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzB,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1D,CAAC;IACD,IAAI,UAAU,IAAI,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACzC,MAAM,KAAK,GAAG,MAAM,CAClB,gBAAgB,EAChB,QAAQ,CAAC,qBAAqB,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,gBAAgB,CAAC,CACtE,CAAC;QACF,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzB,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5D,CAAC;IACD,IAAI,UAAU,IAAI,UAAU,IAAI,IAAI,CAAC,mBAAmB,CAAC;QACvD,YAAY,CAAC,IAAI,CACf,MAAM,CACJ,mBAAmB,EACnB,QAAQ,CAAC,2BAA2B,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE,mBAAmB,CAAC,CACrF,CACF,CAAC;IACJ,wBAAwB,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAC9D,SAAS,CACP,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,oCAAoC,KAAK,EAAE,EACnF,KAAK,CACN,CACF,CAAC;IAEF,MAAM,SAAS,GAA8B,EAAE,CAAC;IAChD,MAAM,MAAM,GAAG,CAAC,MAAc,EAAE,SAAkC,EAAQ,EAAE;QAC1E,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC;YAAE,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;IAClE,CAAC,CAAC;IACF,MAAM,WAAW,GAAG,CAAC,MAAc,EAAE,SAAkC,EAAQ,EAAE,CAC/E,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;IACtC,MAAM,MAAM,GACV,UAAU,IAAI,IAAI,CAAC,OAAO,CAAC;QACzB,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAChF,CAAC,QAAQ,EAAE,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,GAAG,QAAQ,CAAC,IAAI,QAAQ,QAAQ,CAAC,EAAE,EAAE,CAAC,CACtF;QACH,CAAC,CAAC,EAAE,CAAC;IACT,MAAM,YAAY,GAAG,aAAa;QAChC,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,iBAAiB,CACf,MAAM,EACN,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE,OAAO,EAAE,IAAI,CAAC,eAAe,EAAE,EAClF,UAAU,CACX,CAAC;IACN,IAAI,aAAa;QACf,MAAM,CAAC,OAAO,EAAE,mBAAmB,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC,SAAS,CAAC,CAAC;IACxF,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;IACvC,IAAI,UAAU,IAAI,aAAa,IAAI,IAAI,CAAC,eAAe,CAAC;QACtD,WAAW,CACT,eAAe,EACf,+BAA+B,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAClF,CAAC;IACJ,IAAI,aAAa,IAAI,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;QACxC,MAAM,SAAS,GAAG,4BAA4B,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;QAC1F,WAAW,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;QACrC,OAAO,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC3E,CAAC;IACD,IAAI,UAAU,IAAI,aAAa,IAAI,IAAI,CAAC,eAAe,CAAC;QACtD,WAAW,CACT,eAAe,EACf,+BAA+B,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAC/E,CAAC;IACJ,IAAI,UAAU,IAAI,aAAa,IAAI,IAAI,CAAC,eAAe,CAAC;QACtD,WAAW,CACT,eAAe,EACf,+BAA+B,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAC9E,CAAC;IACJ,IAAI,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,IAAI,aAAa,EAAE,CAAC;QAC3D,MAAM,SAAS,GAAG,gCAAgC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC;QACjF,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACtD,MAAM,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;YACpC,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IACD,IAAI,UAAU,IAAI,aAAa,IAAI,IAAI,CAAC,oBAAoB,CAAC;QAC3D,WAAW,CACT,sBAAsB,EACtB,sCAAsC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,SAAS,CAC3E,CAAC;IACJ,IAAI,UAAU,IAAI,aAAa,IAAI,IAAI,CAAC,cAAc,CAAC;QACrD,WAAW,CAAC,cAAc,EAAE,8BAA8B,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,CAAC;IAC1F,IAAI,UAAU,IAAI,aAAa,IAAI,IAAI,CAAC,cAAc,CAAC;QACrD,WAAW,CACT,cAAc,EACd,sCAAsC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,SAAS,CAC3E,CAAC;IACJ,IAAI,UAAU,IAAI,aAAa,IAAI,IAAI,CAAC,mBAAmB,CAAC;QAC1D,WAAW,CACT,mBAAmB,EACnB,mCAAmC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,SAAS,CACrE,CAAC;IACJ,IAAI,UAAU,IAAI,aAAa,IAAI,IAAI,CAAC,SAAS,CAAC;QAChD,WAAW,CAAC,SAAS,EAAE,yBAAyB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,SAAS,CAAC,CAAC;IACpF,IAAI,UAAU,IAAI,aAAa,IAAI,IAAI,CAAC,eAAe,CAAC;QACtD,WAAW,CAAC,eAAe,EAAE,+BAA+B,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,CAAC;IAE7F,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC;IAC3C,MAAM,UAAU,GAAG,aAAa;QAC9B,CAAC,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;QAC1D,CAAC,CAAC,IAAI,CAAC;IACT,MAAM,WAAW,GACf,UAAU,IAAI,OAAO;QACnB,CAAC,CAAC,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxE,CAAC,CAAC,EAAE,CAAC;IAET,OAAO;QACL,WAAW;QACX,YAAY;QACZ,YAAY;QACZ,SAAS;QACT,UAAU;QACV,WAAW;QACX,QAAQ,EAAE,OAAO,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC;QACpD,OAAO;QACP,cAAc,EAAE,SAAS,CAAC,SAAS,EAAE;QACrC,YAAY,EAAE,SAAS,CAAC,OAAO,EAAE;KAClC,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,UAAmB;IAC7C,MAAM,KAAK,GACT,UAGD,EAAE,KAAK,EAAE,CAAC,0BAA0B,CAAC,CAAC;IACvC,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IACjE,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC;AACtE,CAAC;AAED,SAAS,kBAAkB,CACzB,IAAgB,EAChB,MAAgC,EAChC,KAAsC;IAEtC,OAAO;QACL,GAAG,mBAAmB,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;QAClD,GAAG;YACD,GAAG,+BAA+B,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;YACpF,GAAG,yBAAyB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,SAAS;SAC7D,CAAC,MAAM,CAAC,KAAK,CAAC;KAChB,CAAC;AACJ,CAAC;AAED,MAAM,SAAS,GAAG,CAAC,MAAc,EAAE,IAAY,EAAE,MAAe,EAAU,EAAE;IAC1E,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;IACrE,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,EAC3B,WAAW,EACX,YAAY,EACZ,YAAY,GACS,EAAW,EAAE,CAClC,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,YAAY,KAAK,IAAI,CAAC;AAE7E,MAAM,UAAU,oBAAoB,CAClC,SAA+B,EAC/B,MAAc;IAEd,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC;QAAE,OAAO,IAAI,CAAC;IAC1C,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,GAAG,SAAS,CAAC;IAC9D,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAC5C,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACxD,MAAM,MAAM,GAAG,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,kBAAkB,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IAC5F,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;IAClF,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,SAA+B,EAC/B,MAAc;IAEd,MAAM,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACvF,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACxC,OAAO,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;AAC7E,CAAC;AAED,SAAS,aAAa,CACpB,SAA+B,EAC/B,IAAgB,EAChB,MAAc,EACd,KAAc;IAEd,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,IAAI,SAAS,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACjC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,MAAM;gBAAE,SAAS;YACjD,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;gBAAE,SAAS;YAC9E,OAAO,CAAC,IAAI,CACV,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,kBAAkB,IAAI,CAAC,MAAM,EAAE,CAAC,CACrF,CAAC;QACJ,CAAC;QACD,OAAO,CAAC,IAAI,CACV,SAAS,CACP,MAAM,EACN,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,6BAA6B,CAAC,EAChD,wBAAwB,CAAC,SAAS,CAAC,WAAW,CAAC,CAChD,CACF,CAAC;IACJ,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,SAAS,CAAC,YAAY,EAAE,CAAC;QAC3C,OAAO,CAAC,IAAI,CACV,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,KAAK,CAAC,MAAM,iBAAiB,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAC3F,CAAC;IACJ,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,SAAS,CAAC,SAAS,EAAE,CAAC;QACxC,OAAO,CAAC,IAAI,CACV,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,sBAAsB,KAAK,CAAC,MAAM,iBAAiB,CAAC,EAAE;YACxF,SAAS,EAAE,KAAK,CAAC,SAAS;SAC3B,CAAC,CACH,CAAC;IACJ,CAAC;IACD,IAAI,SAAS,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;QAClC,OAAO,CAAC,IAAI,CACV,SAAS,CACP,MAAM,EACN,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,kCAAkC,CAAC,EACrD,SAAS,CAAC,UAAU,CACrB,CACF,CAAC;IACJ,CAAC;IACD,IAAI,SAAS,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrC,OAAO,CAAC,IAAI,CACV,SAAS,CACP,MAAM,EACN,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,2BAA2B,CAAC,EAC9C,iBAAiB,CAAC,SAAS,CAAC,WAAW,CAAC,CACzC,CACF,CAAC;IACJ,CAAC;IACD,IAAI,KAAK,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC;QAChC,OAAO,CAAC,IAAI,CACV,SAAS,CACP,MAAM,EACN,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,2BAA2B,CAAC,EAC9C,GAAG,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CACvC,CACF,CAAC;QACF,OAAO,CAAC,IAAI,CACV,SAAS,CACP,MAAM,EACN,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,2BAA2B,CAAC,EAC9C,GAAG,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CACxC,CACF,CAAC;IACJ,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,SAAS,GAAG,CAAC,MAAc,EAAE,IAAY,EAAE,OAAe,EAAU,EAAE;IAC1E,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACtC,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AASF,MAAM,UAAU,UAAU,CACxB,IAAgB,EAChB,MAAc,EACd,OAAgF;IAEhF,MAAM,SAAS,GAAG,kBAAkB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACpD,MAAM,MAAM,GAAG,oBAAoB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IACvD,MAAM,SAAS,GAAG,uBAAuB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAC7D,MAAM,KAAK,GAAG,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACpD,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM;QAC7B,CAAC,CAAC,aAAa,CAAC,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,KAAK,KAAK,KAAK,CAAC;QACjE,CAAC,CAAC,EAAE,CAAC;IACP,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,OAAuB,EAAE,MAAc,EAAE,MAAc;IAC7E,OAAO,iBAAiB,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,kBAAkB,MAAM,EAAE,CAAC,CAAC;AAC/F,CAAC"}
@@ -23,5 +23,8 @@ export interface WriteLayoutResult {
23
23
  readme: 'created' | 'updated' | 'skipped' | 'off';
24
24
  configPath: string;
25
25
  }
26
+ export declare class UnknownRulesError extends Error {
27
+ constructor(unknown: readonly string[], available: readonly string[], structural: boolean);
28
+ }
26
29
  export declare function writeLayout(scan: ScanResult, outDir: string, options: WriteLayoutOptions): WriteLayoutResult;
27
30
  //# sourceMappingURL=layout.d.ts.map
@@ -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,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAqB,KAAK,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAQ5E,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,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;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;CACpB;AA4BD,wBAAgB,WAAW,CACzB,IAAI,EAAE,UAAU,EAChB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,kBAAkB,GAC1B,iBAAiB,CAqEnB"}
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,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAqB,KAAK,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAQ5E,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,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;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;CACpB;AAED,qBAAa,iBAAkB,SAAQ,KAAK;gBAC9B,OAAO,EAAE,SAAS,MAAM,EAAE,EAAE,SAAS,EAAE,SAAS,MAAM,EAAE,EAAE,UAAU,EAAE,OAAO;CAW1F;AA4BD,wBAAgB,WAAW,CACzB,IAAI,EAAE,UAAU,EAChB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,kBAAkB,GAC1B,iBAAiB,CA2EnB"}
@@ -1,12 +1,23 @@
1
1
  import { existsSync, rmSync } from 'node:fs';
2
2
  import * as path from 'node:path';
3
3
  import { assertRealDirectory, ownedPath, removeOwnedFile } from '../generator/owned-paths.js';
4
- import { ARCHPRINT_DIR, emitLayout } from './generate.js';
4
+ 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
8
  import { LEGACY_RULES_FILE } from './adopted-rules.js';
9
9
  import { allowedFilesByRule, LEGACY_ALLOW_FILE, readAllowed, sortAllowed, } from './allowed-exceptions.js';
10
+ export class UnknownRulesError extends Error {
11
+ constructor(unknown, available, structural) {
12
+ super(`--rules names no rule this run would generate: ${unknown.join(', ')}. ` +
13
+ (available.length > 0
14
+ ? `Rules available: ${available.join(', ')}.`
15
+ : 'This run generates no rules.') +
16
+ (structural
17
+ ? ''
18
+ : ' Structural rules, such as layer boundaries, need --include-structural.'));
19
+ }
20
+ }
10
21
  const LEGACY_FILES = [LEGACY_RULES_FILE, LEGACY_ALLOW_FILE];
11
22
  function cleanPrior(outDir, cwd) {
12
23
  const prior = readConfig(outDir);
@@ -35,17 +46,23 @@ function removeFoldedFiles(outDir, cwd) {
35
46
  export function writeLayout(scan, outDir, options) {
36
47
  assertRealDirectory(outDir);
37
48
  const allowed = readAllowed(outDir);
38
- const removed = cleanPrior(outDir, options.cwd);
39
- const emitted = emitLayout(scan, outDir, {
49
+ const collectOptions = {
40
50
  allowed: allowedFilesByRule(allowed),
41
51
  appPath: options.app,
42
52
  structural: options.structural,
43
53
  enforcers: options.enforcers,
44
54
  only: options.only,
45
55
  ruleIds: options.ruleIds,
56
+ mode: options.mode,
57
+ };
58
+ const { unknownRules, availableRules } = collectEnforcement(scan, collectOptions);
59
+ if (unknownRules.length > 0)
60
+ throw new UnknownRulesError(unknownRules, availableRules, options.structural ?? false);
61
+ const removed = cleanPrior(outDir, options.cwd);
62
+ const emitted = emitLayout(scan, outDir, {
63
+ ...collectOptions,
46
64
  expand: options.expand,
47
65
  graph: options.graph,
48
- mode: options.mode,
49
66
  version: options.version,
50
67
  });
51
68
  const files = [emitted.eslint, emitted.depcruise, ...emitted.expanded].filter((file) => file !== null);
@@ -1 +1 @@
1
- {"version":3,"file":"layout.js","sourceRoot":"","sources":["../../src/cli/layout.ts"],"names":[],"mappings":"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"}
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;AAGrD,OAAO,EAAE,iBAAiB,EAAuB,MAAM,oBAAoB,CAAC;AAC5E,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,WAAW,EACX,WAAW,GACZ,MAAM,yBAAyB,CAAC;AAyBjC,MAAM,OAAO,iBAAkB,SAAQ,KAAK;IAC1C,YAAY,OAA0B,EAAE,SAA4B,EAAE,UAAmB;QACvF,KAAK,CACH,kDAAkD,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;YACtE,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC;gBACnB,CAAC,CAAC,oBAAoB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;gBAC7C,CAAC,CAAC,8BAA8B,CAAC;YACnC,CAAC,UAAU;gBACT,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,yEAAyE,CAAC,CACjF,CAAC;IACJ,CAAC;CACF;AAED,MAAM,YAAY,GAAsB,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,CAAC;AAE/E,SAAS,UAAU,CAAC,MAAc,EAAE,GAAW;IAC7C,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;IACjC,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,CAAC;IACtB,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,KAAK,MAAM,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QAC3C,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC9D,IAAI,MAAM,KAAK,IAAI,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;YAC3F,MAAM,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACjD,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,6DAA6D;AAC7D,SAAS,iBAAiB,CAAC,MAAc,EAAE,GAAW;IACpD,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;QAChC,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACvC,IAAI,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC;YAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC;IAC/E,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,WAAW,CACzB,IAAgB,EAChB,MAAc,EACd,OAA2B;IAE3B,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAC5B,MAAM,OAAO,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IACpC,MAAM,cAAc,GAAmB;QACrC,OAAO,EAAE,kBAAkB,CAAC,OAAO,CAAC;QACpC,OAAO,EAAE,OAAO,CAAC,GAAG;QACpB,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,IAAI,EAAE,OAAO,CAAC,IAAI;KACnB,CAAC;IACF,MAAM,EAAE,YAAY,EAAE,cAAc,EAAE,GAAG,kBAAkB,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IAClF,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC;QACzB,MAAM,IAAI,iBAAiB,CAAC,YAAY,EAAE,cAAc,EAAE,OAAO,CAAC,UAAU,IAAI,KAAK,CAAC,CAAC;IACzF,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;IAChD,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE;QACvC,GAAG,cAAc;QACjB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,OAAO,EAAE,OAAO,CAAC,OAAO;KACzB,CAAC,CAAC;IACH,MAAM,KAAK,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,CAC3E,CAAC,IAAI,EAAkB,EAAE,CAAC,IAAI,KAAK,IAAI,CACxC,CAAC;IACF,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;IAEjC,IAAI,MAAM,GAAgC,KAAK,CAAC;IAChD,IAAI,aAAa,GAAG,KAAK,EAAE,OAAO,CAAC,aAAa,IAAI,KAAK,CAAC;IAC1D,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzD,MAAM,MAAM,GAAG,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,WAAW,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;QAC9F,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QACvB,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS;YAAE,aAAa,GAAG,IAAI,CAAC;IACxD,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,aAAa,CAAC;IACnE,MAAM,WAAW,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;IAC3D,IAAI,cAAc,GAAG,KAAK,EAAE,OAAO,CAAC,cAAc,IAAI,KAAK,CAAC;IAC5D,IAAI,qBAAqB,GAAG,KAAK,EAAE,OAAO,CAAC,qBAAqB,IAAI,KAAK,CAAC;IAC1E,IAAI,SAAS,GAAG,KAAK,EAAE,OAAO,CAAC,SAAS,IAAI,KAAK,CAAC;IAClD,MAAM,gBAAgB,GAAG,KAAK,EAAE,OAAO,CAAC,gBAAgB,IAAI,KAAK,CAAC;IAClE,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,MAAM,QAAQ,GAAG,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,iBAAiB,CAAC,EAAE,WAAW,CAAC,CAAC;QAC3F,IAAI,QAAQ,KAAK,SAAS;YAAE,cAAc,GAAG,IAAI,CAAC;QAClD,IAAI,QAAQ,KAAK,SAAS;YAAE,qBAAqB,GAAG,IAAI,CAAC;QACzD,MAAM,GAAG,GAAG,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,YAAY,CAAC,EAAE,WAAW,EAAE;YAC/E,MAAM,EAAE,KAAK;SACd,CAAC,CAAC;QACH,IAAI,GAAG,KAAK,SAAS;YAAE,SAAS,GAAG,IAAI,CAAC;IAC1C,CAAC;IAED,MAAM,OAAO,GAAmB;QAC9B,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAC5D,MAAM,EAAE,MAAM,KAAK,KAAK,IAAI,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,IAAI,KAAK,CAAC;QAC1F,aAAa;QACb,cAAc;QACd,qBAAqB;QACrB,SAAS;QACT,gBAAgB;KACjB,CAAC;IACF,MAAM,UAAU,GAAG,WAAW,CAC5B,MAAM,EACN,WAAW,CACT,OAAO,CAAC,eAAe,EACvB,OAAO,CAAC,OAAO,EACf;QACE,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,aAAa;KAC9D,EACD,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,EAAE,EACvD,OAAO,CACR,CACF,CAAC;IACF,MAAM,MAAM,GAAG,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;IACtD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;AACxD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../../src/cli/migrate.ts"],"names":[],"mappings":"AAoBA,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"}
1
+ {"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../../src/cli/migrate.ts"],"names":[],"mappings":"AA0BA,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"}
@@ -6,7 +6,7 @@ import { hasTsConfig, scanRepo } from './scan.js';
6
6
  import { buildRecommendations, detectStack } from './recommend.js';
7
7
  import { renderAdoptionBody } from './report.js';
8
8
  import { writeLayout } from './layout.js';
9
- import { ARCHPRINT_DIR, DEPCRUISE_FILE, ESLINT_FILE, collectEnforcement } from './generate.js';
9
+ import { ARCHPRINT_DIR, DEPCRUISE_FILE, ESLINT_FILE, collectEnforcement, writesEslint, } from './generate.js';
10
10
  import { CONFIG_FILE } from './archprint-config.js';
11
11
  import { ownedPath, staysInsideItsFolder } from '../generator/owned-paths.js';
12
12
  import { OUTPUTS_MANIFEST_FILE, readOutputs, removeIfEmpty } from './outputs-manifest.js';
@@ -138,7 +138,7 @@ export function runMigration(cwd, version, options = {}) {
138
138
  const scan = scanRepo(plan.appDir, { deep: true });
139
139
  const enforcers = detectEnforcers(scan.appDir);
140
140
  const collected = collectEnforcement(scan, { enforcers });
141
- const willEmitEslint = collected.eslintSpecs.length > 0 || collected.eslintBlocks.length > 0;
141
+ const willEmitEslint = writesEslint(collected);
142
142
  const willEmitDepcruise = collected.depcruise.length > 0;
143
143
  const emitAbort = emitMismatch(plan, willEmitEslint, willEmitDepcruise, cwd);
144
144
  if (emitAbort !== null) {
@@ -1 +1 @@
1
- {"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../src/cli/migrate.ts"],"names":[],"mappings":"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"}
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;AAoCpC,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,CA2lB7D"}
1
+ {"version":3,"file":"program.d.ts","sourceRoot":"","sources":["../../src/cli/program.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAoCpC,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,CA8lB7D"}
@@ -258,7 +258,7 @@ export function buildProgram(version = readVersion()) {
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
260
  .option('--only <family>', `emit only one rule family (${FAMILY_NAMES.join(', ')})`)
261
- .option('--rules <ids>', 'emit only these forbidden-import rule ids (comma-separated, e.g. AP-001,AP-002)')
261
+ .option('--rules <ids>', 'emit only these rules (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)) {
@@ -308,11 +308,14 @@ export function buildProgram(version = readVersion()) {
308
308
  const enforcers = applyEmitOverride(detectEnforcers(scan.appDir), options.emit);
309
309
  const recommendations = buildRecommendations(scan, detectStack(scan.appDir), enforcers);
310
310
  const ruleIds = options.rules
311
- ? options.rules
312
- .split(',')
313
- .map((id) => id.trim())
314
- .filter(Boolean)
315
- : undefined;
311
+ ?.split(',')
312
+ .map((id) => id.trim())
313
+ .filter(Boolean);
314
+ if (ruleIds !== undefined && ruleIds.length === 0) {
315
+ console.error('--rules needs at least one rule id, e.g. --rules AP-002,no-lib-to-app.');
316
+ process.exitCode = 1;
317
+ return;
318
+ }
316
319
  const { files, removed, folded, configPath } = writeLayout(scan, outDir, {
317
320
  structural,
318
321
  enforcers,
@@ -584,7 +587,7 @@ export function buildProgram(version = readVersion()) {
584
587
  });
585
588
  program
586
589
  .command('allow')
587
- .description('Allow one adopted rule to be broken in one file, with a reason. archprint check accepts it, lists it in the pull request, and archprint generate stops ESLint flagging it.')
590
+ .description('Allow one adopted rule to be broken in one file, with a reason. archprint check accepts it, lists it in the pull request, and archprint generate stops the generated rules flagging it.')
588
591
  .argument('<rule>', 'adopted rule id, e.g. AP-001 or console-isolation')
589
592
  .argument('<file>', 'file the rule reports, relative to the current directory')
590
593
  .option('--reason <text>', 'why this file is an exception (required)')