archprint 0.10.5 → 0.12.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 +16 -0
- package/README.md +20 -11
- package/dist/cli/adopted-rules.d.ts +9 -10
- package/dist/cli/adopted-rules.d.ts.map +1 -1
- package/dist/cli/adopted-rules.js +26 -22
- package/dist/cli/adopted-rules.js.map +1 -1
- package/dist/cli/allow.d.ts +12 -0
- package/dist/cli/allow.d.ts.map +1 -0
- package/dist/cli/allow.js +58 -0
- package/dist/cli/allow.js.map +1 -0
- package/dist/cli/allowed-evidence.d.ts +11 -0
- package/dist/cli/allowed-evidence.d.ts.map +1 -0
- package/dist/cli/allowed-evidence.js +116 -0
- package/dist/cli/allowed-evidence.js.map +1 -0
- package/dist/cli/allowed-exceptions.d.ts +19 -0
- package/dist/cli/allowed-exceptions.d.ts.map +1 -0
- package/dist/cli/allowed-exceptions.js +84 -0
- package/dist/cli/allowed-exceptions.js.map +1 -0
- package/dist/cli/archprint-config.d.ts +14 -0
- package/dist/cli/archprint-config.d.ts.map +1 -1
- package/dist/cli/archprint-config.js +25 -3
- package/dist/cli/archprint-config.js.map +1 -1
- package/dist/cli/check.d.ts +3 -0
- package/dist/cli/check.d.ts.map +1 -1
- package/dist/cli/check.js +91 -30
- package/dist/cli/check.js.map +1 -1
- package/dist/cli/generate.d.ts +3 -1
- package/dist/cli/generate.d.ts.map +1 -1
- package/dist/cli/generate.js +21 -7
- package/dist/cli/generate.js.map +1 -1
- package/dist/cli/layout.d.ts +2 -1
- package/dist/cli/layout.d.ts.map +1 -1
- package/dist/cli/layout.js +22 -5
- package/dist/cli/layout.js.map +1 -1
- package/dist/cli/program.d.ts.map +1 -1
- package/dist/cli/program.js +37 -4
- package/dist/cli/program.js.map +1 -1
- package/dist/generator/eslint-scope.d.ts +11 -1
- package/dist/generator/eslint-scope.d.ts.map +1 -1
- package/dist/generator/eslint-scope.js +47 -16
- package/dist/generator/eslint-scope.js.map +1 -1
- package/dist/generator/owned-paths.d.ts +2 -0
- package/dist/generator/owned-paths.d.ts.map +1 -1
- package/dist/generator/owned-paths.js +8 -0
- package/dist/generator/owned-paths.js.map +1 -1
- package/dist/mcp/server.d.ts +1 -1
- package/dist/mcp/server.js +1 -1
- package/dist/mcp/server.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import type { AdoptedRule } from './adopted-rules.js';
|
|
2
|
+
import type { AllowedException } from './allowed-exceptions.js';
|
|
1
3
|
import type { Recommendation, Recommendations } from './recommend.js';
|
|
2
4
|
export declare const CONFIG_FILE = "config.json";
|
|
3
5
|
export interface ManagedOutputs {
|
|
@@ -14,6 +16,8 @@ export interface ArchprintConfig {
|
|
|
14
16
|
app: string;
|
|
15
17
|
stack: string[];
|
|
16
18
|
rulesDir: string;
|
|
19
|
+
rules?: AdoptedRule[];
|
|
20
|
+
allowed?: AllowedException[];
|
|
17
21
|
enforced: Recommendation[];
|
|
18
22
|
reportOnly: Recommendation[];
|
|
19
23
|
review: Recommendation[];
|
|
@@ -24,11 +28,21 @@ export interface ArchprintConfig {
|
|
|
24
28
|
};
|
|
25
29
|
managed: ManagedOutputs;
|
|
26
30
|
}
|
|
31
|
+
export declare function configPath(outDir: string): string;
|
|
32
|
+
export type ConfigSection = 'rules' | 'allowed';
|
|
33
|
+
/** The raw value of a section in config.json text; undefined when the text is not JSON or has no such section. */
|
|
34
|
+
export declare function configSection(text: string, section: ConfigSection): unknown;
|
|
35
|
+
export declare function readConfigSection(outDir: string, section: ConfigSection): unknown;
|
|
27
36
|
export declare function buildConfig(recommendations: Recommendations, version: string, location: {
|
|
28
37
|
app: string;
|
|
29
38
|
rulesDir: string;
|
|
39
|
+
}, adoption: {
|
|
40
|
+
rules: AdoptedRule[];
|
|
41
|
+
allowed: AllowedException[];
|
|
30
42
|
}, managed: ManagedOutputs): ArchprintConfig;
|
|
31
43
|
export declare function writeConfig(outDir: string, config: ArchprintConfig): string;
|
|
44
|
+
/** Replaces the given sections of config.json, keeping every other key as it is on disk. */
|
|
45
|
+
export declare function updateConfig(outDir: string, sections: Partial<ArchprintConfig>): string;
|
|
32
46
|
export declare function recordManagedFiles(outDir: string, cwd: string, version: string, absoluteFiles: readonly string[]): void;
|
|
33
47
|
export declare function readConfig(outDir: string): ArchprintConfig | null;
|
|
34
48
|
//# sourceMappingURL=archprint-config.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"archprint-config.d.ts","sourceRoot":"","sources":["../../src/cli/archprint-config.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEtE,eAAO,MAAM,WAAW,gBAAgB,CAAC;AAEzC,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,aAAa,EAAE,OAAO,CAAC;IACvB,cAAc,EAAE,OAAO,CAAC;IACxB,qBAAqB,EAAE,OAAO,CAAC;IAC/B,SAAS,EAAE,OAAO,CAAC;IACnB,gBAAgB,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,eAAe;IAC9B,gBAAgB,EAAE,MAAM,CAAC;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,UAAU,EAAE,cAAc,EAAE,CAAC;IAC7B,MAAM,EAAE,cAAc,EAAE,CAAC;IACzB,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,QAAQ,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACzC,OAAO,EAAE,cAAc,CAAC;CACzB;
|
|
1
|
+
{"version":3,"file":"archprint-config.d.ts","sourceRoot":"","sources":["../../src/cli/archprint-config.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEtE,eAAO,MAAM,WAAW,gBAAgB,CAAC;AAEzC,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,aAAa,EAAE,OAAO,CAAC;IACvB,cAAc,EAAE,OAAO,CAAC;IACxB,qBAAqB,EAAE,OAAO,CAAC;IAC/B,SAAS,EAAE,OAAO,CAAC;IACnB,gBAAgB,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,eAAe;IAC9B,gBAAgB,EAAE,MAAM,CAAC;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,WAAW,EAAE,CAAC;IACtB,OAAO,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC7B,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,UAAU,EAAE,cAAc,EAAE,CAAC;IAC7B,MAAM,EAAE,cAAc,EAAE,CAAC;IACzB,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,QAAQ,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACzC,OAAO,EAAE,cAAc,CAAC;CACzB;AAYD,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAEjD;AAED,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,SAAS,CAAC;AAEhD,kHAAkH;AAClH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAM3E;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAGjF;AAED,wBAAgB,WAAW,CACzB,eAAe,EAAE,eAAe,EAChC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,EAC3C,QAAQ,EAAE;IAAE,KAAK,EAAE,WAAW,EAAE,CAAC;IAAC,OAAO,EAAE,gBAAgB,EAAE,CAAA;CAAE,EAC/D,OAAO,EAAE,cAAc,GACtB,eAAe,CAejB;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,GAAG,MAAM,CAI3E;AAED,4FAA4F;AAC5F,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,MAAM,CAKvF;AAED,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,SAAS,MAAM,EAAE,GAC/B,IAAI,CAoBN;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CAyBjE"}
|
|
@@ -11,15 +11,30 @@ const EMPTY_MANAGED = {
|
|
|
11
11
|
npmignore: false,
|
|
12
12
|
npmignoreCreated: false,
|
|
13
13
|
};
|
|
14
|
-
function configPath(outDir) {
|
|
14
|
+
export function configPath(outDir) {
|
|
15
15
|
return path.join(outDir, CONFIG_FILE);
|
|
16
16
|
}
|
|
17
|
-
|
|
17
|
+
/** The raw value of a section in config.json text; undefined when the text is not JSON or has no such section. */
|
|
18
|
+
export function configSection(text, section) {
|
|
19
|
+
try {
|
|
20
|
+
return JSON.parse(text)[section];
|
|
21
|
+
}
|
|
22
|
+
catch {
|
|
23
|
+
return undefined;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
export function readConfigSection(outDir, section) {
|
|
27
|
+
const file = configPath(outDir);
|
|
28
|
+
return existsSync(file) ? configSection(readFileSync(file, 'utf8'), section) : undefined;
|
|
29
|
+
}
|
|
30
|
+
export function buildConfig(recommendations, version, location, adoption, managed) {
|
|
18
31
|
return {
|
|
19
32
|
archprintVersion: version,
|
|
20
33
|
app: location.app,
|
|
21
34
|
stack: recommendations.stack,
|
|
22
35
|
rulesDir: location.rulesDir,
|
|
36
|
+
rules: adoption.rules,
|
|
37
|
+
allowed: adoption.allowed,
|
|
23
38
|
enforced: recommendations.enforceNow,
|
|
24
39
|
reportOnly: recommendations.reportOnly,
|
|
25
40
|
review: recommendations.review,
|
|
@@ -33,12 +48,19 @@ export function writeConfig(outDir, config) {
|
|
|
33
48
|
writeOwnedFile(outDir, file, `${JSON.stringify(config, null, 2)}\n`);
|
|
34
49
|
return file;
|
|
35
50
|
}
|
|
51
|
+
/** Replaces the given sections of config.json, keeping every other key as it is on disk. */
|
|
52
|
+
export function updateConfig(outDir, sections) {
|
|
53
|
+
const file = configPath(outDir);
|
|
54
|
+
const current = JSON.parse(readFileSync(file, 'utf8'));
|
|
55
|
+
writeOwnedFile(outDir, file, `${JSON.stringify({ ...current, ...sections }, null, 2)}\n`);
|
|
56
|
+
return file;
|
|
57
|
+
}
|
|
36
58
|
export function recordManagedFiles(outDir, cwd, version, absoluteFiles) {
|
|
37
59
|
const relative = absoluteFiles.map((file) => path.relative(cwd, file));
|
|
38
60
|
const existing = readConfig(outDir);
|
|
39
61
|
if (existing) {
|
|
40
62
|
const files = [...new Set([...existing.managed.files, ...relative])];
|
|
41
|
-
|
|
63
|
+
updateConfig(outDir, { managed: { ...existing.managed, files } });
|
|
42
64
|
return;
|
|
43
65
|
}
|
|
44
66
|
writeConfig(outDir, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"archprint-config.js","sourceRoot":"","sources":["../../src/cli/archprint-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"archprint-config.js","sourceRoot":"","sources":["../../src/cli/archprint-config.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/check.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { type AdoptedRule } from './adopted-rules.js';
|
|
2
|
+
import { type AllowedException } from './allowed-exceptions.js';
|
|
2
3
|
import { type RuleChange } from './check-diff.js';
|
|
3
4
|
import { type Finding } from './check-evaluate.js';
|
|
4
5
|
export type FailOn = 'none' | 'new';
|
|
@@ -36,6 +37,8 @@ export type CheckResult = {
|
|
|
36
37
|
fixed: ReportedFinding[];
|
|
37
38
|
adoptedInChange: AdoptedInChange[];
|
|
38
39
|
removedInChange: AdoptedRule[];
|
|
40
|
+
allowedInChange: AllowedException[];
|
|
41
|
+
unusedAllows: AllowedException[];
|
|
39
42
|
};
|
|
40
43
|
export declare function runCheck(options: CheckOptions): CheckResult;
|
|
41
44
|
export declare function checkExitCode(result: CheckResult, failOn: FailOn): number;
|
package/dist/cli/check.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../src/cli/check.ts"],"names":[],"mappings":"AAGA,OAAO,
|
|
1
|
+
{"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../src/cli/check.ts"],"names":[],"mappings":"AAGA,OAAO,EAML,KAAK,WAAW,EACjB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAyB,KAAK,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AACvF,OAAO,EAAgC,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAChF,OAAO,EAAiB,KAAK,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAYlE,MAAM,MAAM,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC;AAEpC,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,eAAgB,SAAQ,OAAO;IAC9C,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,IAAI,EAAE,WAAW,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,WAAW,CAAC;IAClB,MAAM,EAAE,UAAU,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,WAAW,GACnB;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACrC;IACE,MAAM,EAAE,eAAe,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,WAAW,EAAE,CAAC;CACxB,GACD;IACE,MAAM,EAAE,SAAS,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,UAAU,EAAE,eAAe,EAAE,CAAC;IAC9B,KAAK,EAAE,eAAe,EAAE,CAAC;IACzB,eAAe,EAAE,eAAe,EAAE,CAAC;IACnC,eAAe,EAAE,WAAW,EAAE,CAAC;IAC/B,eAAe,EAAE,gBAAgB,EAAE,CAAC;IACpC,YAAY,EAAE,gBAAgB,EAAE,CAAC;CAClC,CAAC;AA+GN,wBAAgB,QAAQ,CAAC,OAAO,EAAE,YAAY,GAAG,WAAW,CA6F3D;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAEzE;AAOD,wBAAgB,cAAc,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM,CAGxD;AAUD,wBAAgB,eAAe,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CA8B3D;AAED,wBAAgB,SAAS,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAEvE;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAoCxE;AAUD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CA0B/E;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CA4DzD"}
|
package/dist/cli/check.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { existsSync, realpathSync, statSync } from 'node:fs';
|
|
2
2
|
import * as path from 'node:path';
|
|
3
|
-
import { CONFIG_FILE, readConfig } from './archprint-config.js';
|
|
4
|
-
import { InvalidRulesError,
|
|
3
|
+
import { CONFIG_FILE, configPath, readConfig } from './archprint-config.js';
|
|
4
|
+
import { InvalidRulesError, LEGACY_RULES_FILE, parseConfigRules, parseLegacyRules, readAdoptedRules, } from './adopted-rules.js';
|
|
5
|
+
import { allowKey, readAllowed } from './allowed-exceptions.js';
|
|
5
6
|
import { diffFindings, partitionRules } from './check-diff.js';
|
|
6
7
|
import { evaluateRules } from './check-evaluate.js';
|
|
7
8
|
import { CheckSetupError, checkoutBase, defaultBase, fileAtCommit, mergeBase, renamedPaths, repoRoot, } from './check-git.js';
|
|
@@ -17,6 +18,26 @@ function appRelativeRenames(renames, appPrefix) {
|
|
|
17
18
|
}
|
|
18
19
|
return mapped;
|
|
19
20
|
}
|
|
21
|
+
function readBaseAllowed(baseOutDir) {
|
|
22
|
+
try {
|
|
23
|
+
return readAllowed(baseOutDir);
|
|
24
|
+
}
|
|
25
|
+
catch {
|
|
26
|
+
return [];
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
function loadAllowed(outDir) {
|
|
30
|
+
try {
|
|
31
|
+
return readAllowed(outDir);
|
|
32
|
+
}
|
|
33
|
+
catch (error) {
|
|
34
|
+
throw new CheckSetupError(`cannot read the allowed exceptions: ${error.message}`);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
const withoutAllowed = (findings, allowed) => {
|
|
38
|
+
const keys = new Set(allowed.map((entry) => allowKey(entry.rule, entry.file)));
|
|
39
|
+
return findings.filter((finding) => !keys.has(allowKey(finding.ruleId, finding.file)));
|
|
40
|
+
};
|
|
20
41
|
function readBaseRules(baseOutDir) {
|
|
21
42
|
try {
|
|
22
43
|
return readAdoptedRules(baseOutDir);
|
|
@@ -50,25 +71,35 @@ function loadRules(outDir) {
|
|
|
50
71
|
throw new CheckSetupError(`cannot read the adopted rules: ${reason}`);
|
|
51
72
|
}
|
|
52
73
|
}
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
74
|
+
/** The rules adopted on a commit, from its config.json or, for older setups, its rules.json. */
|
|
75
|
+
function rulesAtCommit(root, commit, setupDir) {
|
|
76
|
+
const config = path.posix.join(setupDir, CONFIG_FILE);
|
|
77
|
+
const configText = fileAtCommit(root, commit, config);
|
|
78
|
+
const rules = configText === null ? null : parseConfigRules(configText, config);
|
|
79
|
+
if (rules !== null)
|
|
80
|
+
return { file: config, rules };
|
|
81
|
+
const legacy = path.posix.join(setupDir, LEGACY_RULES_FILE);
|
|
82
|
+
const legacyText = fileAtCommit(root, commit, legacy);
|
|
83
|
+
return legacyText === null ? null : { file: legacy, rules: parseLegacyRules(legacyText, legacy) };
|
|
84
|
+
}
|
|
85
|
+
function rulesRemovedInChange(options) {
|
|
56
86
|
try {
|
|
57
87
|
const root = realpathSync(repoRoot(options.cwd));
|
|
58
88
|
const relative = path.relative(root, path.resolve(realpathSync(options.cwd), options.out));
|
|
59
89
|
if (outsideRepo(relative))
|
|
60
90
|
return null;
|
|
61
|
-
const setupDir = toPosix(relative);
|
|
62
91
|
const base = options.base ?? defaultBase(root);
|
|
63
92
|
const commit = mergeBase(root, base);
|
|
64
|
-
const
|
|
65
|
-
if (
|
|
66
|
-
return null;
|
|
67
|
-
const removed = parseAdoptedRules(text, RULES_FILE).rules;
|
|
68
|
-
if (removed.length === 0)
|
|
93
|
+
const onBase = rulesAtCommit(root, commit, toPosix(relative));
|
|
94
|
+
if (onBase === null || onBase.rules.length === 0)
|
|
69
95
|
return null;
|
|
70
|
-
|
|
71
|
-
|
|
96
|
+
return {
|
|
97
|
+
status: 'rules-removed',
|
|
98
|
+
base,
|
|
99
|
+
commit,
|
|
100
|
+
missingFile: onBase.file,
|
|
101
|
+
removed: onBase.rules,
|
|
102
|
+
};
|
|
72
103
|
}
|
|
73
104
|
catch (error) {
|
|
74
105
|
if (error instanceof CheckSetupError || error instanceof InvalidRulesError)
|
|
@@ -81,18 +112,20 @@ export function runCheck(options) {
|
|
|
81
112
|
const shown = toPosix(path.relative(options.cwd, outDir) || '.');
|
|
82
113
|
const config = readConfig(outDir);
|
|
83
114
|
if (config === null && options.path === undefined) {
|
|
84
|
-
|
|
115
|
+
const skipped = {
|
|
85
116
|
status: 'skipped',
|
|
86
117
|
reason: `no ${shown}/config.json. Run archprint init (or generate) first.`,
|
|
87
|
-
}
|
|
118
|
+
};
|
|
119
|
+
return existsSync(configPath(outDir)) ? skipped : (rulesRemovedInChange(options) ?? skipped);
|
|
88
120
|
}
|
|
89
121
|
const adopted = loadRules(outDir);
|
|
90
122
|
if (adopted === null) {
|
|
91
|
-
return (rulesRemovedInChange(options
|
|
123
|
+
return (rulesRemovedInChange(options) ?? {
|
|
92
124
|
status: 'skipped',
|
|
93
|
-
reason: `no ${shown}/
|
|
125
|
+
reason: `no adopted rules in ${shown}/config.json. Re-run archprint generate once; setups made before 0.9.0 do not have them.`,
|
|
94
126
|
});
|
|
95
127
|
}
|
|
128
|
+
const allowed = loadAllowed(outDir);
|
|
96
129
|
const appDir = path.resolve(options.cwd, options.path ?? config.app);
|
|
97
130
|
const root = repoRoot(options.cwd);
|
|
98
131
|
const outPrefix = insideRepo(root, outDir, 'rules directory');
|
|
@@ -103,23 +136,26 @@ export function runCheck(options) {
|
|
|
103
136
|
throw new CheckSetupError(`the app directory (${appDir}) is not a directory.`);
|
|
104
137
|
}
|
|
105
138
|
const renames = appRelativeRenames(renamedPaths(root, commit), appPrefix);
|
|
106
|
-
const ruleById = new Map(adopted.
|
|
139
|
+
const ruleById = new Map(adopted.map((rule) => [rule.id, rule]));
|
|
107
140
|
const baseTree = checkoutBase(root, commit, appPrefix);
|
|
108
141
|
try {
|
|
109
142
|
const baseRules = readBaseRules(path.join(baseTree.root, outPrefix));
|
|
110
|
-
const partition = partitionRules(adopted
|
|
143
|
+
const partition = partitionRules(adopted, baseRules);
|
|
111
144
|
const baseApp = path.join(baseTree.root, appPrefix);
|
|
112
145
|
const baseFindings = existsSync(baseApp) ? evaluateRules(baseApp, partition.comparable) : [];
|
|
113
146
|
const headFindings = evaluateRules(appDir, partition.comparable);
|
|
114
|
-
const { introduced
|
|
147
|
+
const { introduced } = diffFindings(baseFindings, withoutAllowed(headFindings, allowed), renames);
|
|
148
|
+
const { fixed } = diffFindings(baseFindings, headFindings, renames);
|
|
115
149
|
const locate = createLineLocator(appDir);
|
|
116
150
|
const adoptedFindings = evaluateRules(appDir, partition.adoptedInChange.map((entry) => entry.rule));
|
|
151
|
+
const baseAllowKeys = new Set(readBaseAllowed(path.join(baseTree.root, outPrefix)).map((entry) => allowKey(entry.rule, renames.get(entry.file) ?? entry.file)));
|
|
152
|
+
const matchedKeys = new Set([...headFindings, ...adoptedFindings].map((finding) => allowKey(finding.ruleId, finding.file)));
|
|
117
153
|
return {
|
|
118
154
|
status: 'checked',
|
|
119
155
|
base,
|
|
120
156
|
commit,
|
|
121
157
|
appPath: appPrefix,
|
|
122
|
-
rules: adopted
|
|
158
|
+
rules: adopted,
|
|
123
159
|
introduced: introduced.map((finding) => ({
|
|
124
160
|
...finding,
|
|
125
161
|
line: locate(finding),
|
|
@@ -136,6 +172,9 @@ export function runCheck(options) {
|
|
|
136
172
|
count: adoptedFindings.filter((finding) => finding.ruleId === rule.id).length,
|
|
137
173
|
})),
|
|
138
174
|
removedInChange: partition.removedInChange,
|
|
175
|
+
allowedInChange: allowed.filter((entry) => !baseAllowKeys.has(allowKey(entry.rule, entry.file)) &&
|
|
176
|
+
matchedKeys.has(allowKey(entry.rule, entry.file))),
|
|
177
|
+
unusedAllows: allowed.filter((entry) => !matchedKeys.has(allowKey(entry.rule, entry.file))),
|
|
139
178
|
};
|
|
140
179
|
}
|
|
141
180
|
finally {
|
|
@@ -155,7 +194,7 @@ export function findingMessage(rule) {
|
|
|
155
194
|
}
|
|
156
195
|
const describeSubject = (finding) => finding.kind === 'file' ? '' : ` (${finding.subject})`;
|
|
157
196
|
const ruleIds = (rules) => rules.map((rule) => rule.id).join(', ');
|
|
158
|
-
const rulesRemovedMessage = (result) => `This change removes ${result.missingFile}, so the ${result.removed.length} rule(s) adopted on the base commit are no longer checked: ${ruleIds(result.removed)}.`;
|
|
197
|
+
const rulesRemovedMessage = (result) => `This change removes the adopted rules in ${result.missingFile}, so the ${result.removed.length} rule(s) adopted on the base commit are no longer checked: ${ruleIds(result.removed)}.`;
|
|
159
198
|
export function renderCheckText(result) {
|
|
160
199
|
if (result.status === 'skipped')
|
|
161
200
|
return `archprint check did not run: ${result.reason}`;
|
|
@@ -179,6 +218,12 @@ export function renderCheckText(result) {
|
|
|
179
218
|
for (const rule of result.removedInChange) {
|
|
180
219
|
lines.push(`Rule ${rule.id} was removed in this change, so it is no longer checked.`);
|
|
181
220
|
}
|
|
221
|
+
for (const entry of result.allowedInChange) {
|
|
222
|
+
lines.push(`Allowed in this change: ${entry.rule} in ${entry.file}. Reason: ${entry.reason}`);
|
|
223
|
+
}
|
|
224
|
+
for (const entry of result.unusedAllows) {
|
|
225
|
+
lines.push(`Allowed exception no longer needed: ${entry.rule} reports nothing in ${entry.file}. Remove it with archprint allow --remove.`);
|
|
226
|
+
}
|
|
182
227
|
return lines.join('\n');
|
|
183
228
|
}
|
|
184
229
|
export function checkJson(result, version) {
|
|
@@ -217,6 +262,8 @@ export function checkReport(result) {
|
|
|
217
262
|
existingViolations: entry.count,
|
|
218
263
|
})),
|
|
219
264
|
removedInChange: result.removedInChange.map((rule) => rule.id),
|
|
265
|
+
allowedInChange: result.allowedInChange,
|
|
266
|
+
unusedAllows: result.unusedAllows.map(({ rule, file }) => ({ rule, file })),
|
|
220
267
|
};
|
|
221
268
|
}
|
|
222
269
|
const tableCell = (value) => value.replace(/\|/g, '\\|').replace(/\r?\n/g, ' ');
|
|
@@ -234,14 +281,18 @@ export function githubAnnotations(result, failOn) {
|
|
|
234
281
|
];
|
|
235
282
|
}
|
|
236
283
|
const level = failOn === 'new' ? 'error' : 'warning';
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
284
|
+
const allowed = result.allowedInChange.map((entry) => `::notice file=${escapeProperty(toPosix(path.posix.join(result.appPath, entry.file)))},title=${escapeProperty(`archprint: ${entry.rule} allowed`)}::${escapeData(`Allowed with a reason: ${entry.reason}`)}`);
|
|
285
|
+
return [
|
|
286
|
+
...allowed,
|
|
287
|
+
...result.introduced.map((finding) => {
|
|
288
|
+
const file = toPosix(path.posix.join(result.appPath, finding.file));
|
|
289
|
+
const properties = [`file=${escapeProperty(file)}`];
|
|
290
|
+
if (finding.line !== null)
|
|
291
|
+
properties.push(`line=${finding.line}`);
|
|
292
|
+
properties.push(`title=${escapeProperty(`archprint: ${finding.rule.id}`)}`);
|
|
293
|
+
return `::${level} ${properties.join(',')}::${escapeData(findingMessage(finding.rule))}`;
|
|
294
|
+
}),
|
|
295
|
+
];
|
|
245
296
|
}
|
|
246
297
|
export function githubSummary(result) {
|
|
247
298
|
if (result.status === 'skipped') {
|
|
@@ -276,6 +327,16 @@ export function githubSummary(result) {
|
|
|
276
327
|
for (const rule of result.removedInChange) {
|
|
277
328
|
lines.push('', `Rule \`${rule.id}\` was **removed** in this change, so it is no longer checked.`);
|
|
278
329
|
}
|
|
330
|
+
if (result.allowedInChange.length > 0) {
|
|
331
|
+
lines.push('', `**Allowed with a reason in this change (${result.allowedInChange.length}):**`, '');
|
|
332
|
+
lines.push('| File | Rule | Reason |', '| --- | --- | --- |');
|
|
333
|
+
for (const entry of result.allowedInChange) {
|
|
334
|
+
lines.push(`| \`${tableCell(entry.file)}\` | ${tableCell(entry.rule)} | ${tableCell(entry.reason)} |`);
|
|
335
|
+
}
|
|
336
|
+
}
|
|
337
|
+
for (const entry of result.unusedAllows) {
|
|
338
|
+
lines.push('', `Allowed exception no longer needed: \`${entry.rule}\` reports nothing in \`${entry.file}\`.`);
|
|
339
|
+
}
|
|
279
340
|
return `${lines.join('\n')}\n`;
|
|
280
341
|
}
|
|
281
342
|
//# sourceMappingURL=check.js.map
|
package/dist/cli/check.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check.js","sourceRoot":"","sources":["../../src/cli/check.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"check.js","sourceRoot":"","sources":["../../src/cli/check.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/generate.d.ts
CHANGED
|
@@ -33,6 +33,8 @@ export interface CollectOptions {
|
|
|
33
33
|
only?: string;
|
|
34
34
|
ruleIds?: readonly string[];
|
|
35
35
|
mode?: ResolutionMode;
|
|
36
|
+
allowed?: ReadonlyMap<string, readonly string[]>;
|
|
37
|
+
appPath?: string;
|
|
36
38
|
}
|
|
37
39
|
export declare function collectEnforcement(scan: ScanResult, options: CollectOptions): CollectedEnforcement;
|
|
38
40
|
export declare function writeArchprintEslint(collected: CollectedEnforcement, outDir: string): string | null;
|
|
@@ -40,7 +42,7 @@ export declare function writeArchprintDepcruise(collected: CollectedEnforcement,
|
|
|
40
42
|
export interface EmitResult {
|
|
41
43
|
eslint: string | null;
|
|
42
44
|
depcruise: string | null;
|
|
43
|
-
rules:
|
|
45
|
+
rules: AdoptedRule[];
|
|
44
46
|
expanded: string[];
|
|
45
47
|
}
|
|
46
48
|
export declare function emitLayout(scan: ScanResult, outDir: string, options: CollectOptions & {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../src/cli/generate.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../src/cli/generate.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AASlE,OAAO,EAAqB,KAAK,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAEtF,OAAO,EAGL,KAAK,mBAAmB,EACzB,MAAM,uCAAuC,CAAC;AAM/C,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC5D,OAAO,EAOL,KAAK,WAAW,EAChB,KAAK,cAAc,EACpB,MAAM,oBAAoB,CAAC;AAE5B,eAAO,MAAM,WAAW,eAAe,CAAC;AACxC,eAAO,MAAM,cAAc,4BAA4B,CAAC;AACxD,eAAO,MAAM,aAAa,eAAe,CAAC;AAE1C,eAAO,MAAM,YAAY,iSAkBf,CAAC;AAEX,UAAU,qBAAqB;IAC7B,IAAI,EAAE,MAAM,CAAC;CACd;AAED,UAAU,iBAAiB;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,UAAU,uBAAuB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,qBAAqB,EAAE,CAAC;CACpC;AAED,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE,mBAAmB,EAAE,CAAC;IACnC,YAAY,EAAE,iBAAiB,EAAE,CAAC;IAClC,SAAS,EAAE,uBAAuB,EAAE,CAAC;IACrC,UAAU,EAAE,OAAO,GAAG,IAAI,CAAC;IAC3B,WAAW,EAAE,YAAY,EAAE,CAAC;IAC5B,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,WAAW,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,cAAc;IAC7B,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,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,OAAO,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC;IACjD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAQD,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,cAAc,GACtB,oBAAoB,CA0ItB;AAwCD,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,oBAAoB,EAC/B,MAAM,EAAE,MAAM,GACb,MAAM,GAAG,IAAI,CAMf;AAED,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,oBAAoB,EAC/B,MAAM,EAAE,MAAM,GACb,MAAM,GAAG,IAAI,CAIf;AA+ED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,wBAAgB,UAAU,CACxB,IAAI,EAAE,UAAU,EAChB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,cAAc,GAAG;IAAE,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAC/E,UAAU,CASZ;AAED,wBAAgB,OAAO,CAAC,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAEvF"}
|
package/dist/cli/generate.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import * as path from 'node:path';
|
|
2
|
+
import { exemptionPaths } from '../generator/eslint-scope.js';
|
|
2
3
|
import { writeOwnedFile } from '../generator/owned-paths.js';
|
|
3
4
|
import { toDependencyCruiser, toEslintBoundaries } from '../generator/layer-emitters.js';
|
|
4
5
|
import { toDependencyCruiserPublicApi } from '../generator/public-api-emitters.js';
|
|
@@ -22,7 +23,7 @@ import { emitRuleArtifacts } from '../generator/rule-generator.js';
|
|
|
22
23
|
import { buildForbiddenImportSpecs, renderEslintPluginSource, } from '../generator/eslint-plugin-emitter.js';
|
|
23
24
|
import { renderEslintPreset } from '../generator/eslint-preset-emitter.js';
|
|
24
25
|
import { mergeNoRestrictedImports, } from '../generator/eslint-scope.js';
|
|
25
|
-
import { consoleIsolationRule, forbiddenImportRule, importStyleRule, publicApiRules,
|
|
26
|
+
import { consoleIsolationRule, forbiddenImportRule, importStyleRule, publicApiRules, byRuleId, testIsolationRule, } from './adopted-rules.js';
|
|
26
27
|
export const ESLINT_FILE = 'eslint.mjs';
|
|
27
28
|
export const DEPCRUISE_FILE = 'dependency-cruiser.json';
|
|
28
29
|
export const ARCHPRINT_DIR = '.archprint';
|
|
@@ -45,14 +46,27 @@ export const FAMILY_NAMES = [
|
|
|
45
46
|
'ui-data',
|
|
46
47
|
'server-client',
|
|
47
48
|
];
|
|
49
|
+
const withIgnored = (ignored, extra) => [...new Set([...ignored, ...extra])].sort();
|
|
48
50
|
const byName = (a, b) => a.name < b.name ? -1 : a.name > b.name ? 1 : 0;
|
|
49
51
|
export function collectEnforcement(scan, options) {
|
|
50
52
|
const structural = options.structural ?? false;
|
|
51
53
|
const emitDepcruise = options.enforcers.dependencyCruiser;
|
|
52
54
|
const emitEslint = options.enforcers.eslint || !options.enforcers.dependencyCruiser;
|
|
53
55
|
const pick = (family) => !options.only || options.only === family;
|
|
56
|
+
const allowedFor = (ruleId) => options.allowed?.get(ruleId) ?? [];
|
|
57
|
+
const appPath = options.appPath ?? '.';
|
|
58
|
+
const allowing = (block, ruleId) => block === null
|
|
59
|
+
? block
|
|
60
|
+
: {
|
|
61
|
+
...block,
|
|
62
|
+
ignores: withIgnored([...(block.ignores ?? []), ...allowedFor(ruleId)].flatMap((entry) => exemptionPaths(entry, appPath)), []),
|
|
63
|
+
};
|
|
64
|
+
const idByName = new Map(scan.patterns.map((pattern) => [pattern.config.name, pattern.config.id]));
|
|
54
65
|
const eslintSpecs = emitEslint && pick('forbidden-imports')
|
|
55
|
-
? filterSpecs(buildForbiddenImportSpecs(scan.patterns), scan, options.ruleIds)
|
|
66
|
+
? filterSpecs(buildForbiddenImportSpecs(scan.patterns), scan, options.ruleIds).map((spec) => ({
|
|
67
|
+
...spec,
|
|
68
|
+
ignore: withIgnored(spec.ignore, allowedFor(idByName.get(spec.name) ?? '')).map((file) => exemptionPaths(file, appPath)[0]),
|
|
69
|
+
}))
|
|
56
70
|
: [];
|
|
57
71
|
const adopted = scan.patterns
|
|
58
72
|
.filter((pattern) => eslintSpecs.some((spec) => spec.name === pattern.config.name))
|
|
@@ -63,7 +77,7 @@ export function collectEnforcement(scan, options) {
|
|
|
63
77
|
eslintBlocks.push({ family, block });
|
|
64
78
|
};
|
|
65
79
|
if (emitEslint && pick('console')) {
|
|
66
|
-
const block = toEslintConsoleIsolation(scan.consoleIsolation);
|
|
80
|
+
const block = allowing(toEslintConsoleIsolation(scan.consoleIsolation), 'console-isolation');
|
|
67
81
|
pushBlock('console', block);
|
|
68
82
|
if (block !== null)
|
|
69
83
|
adopted.push(consoleIsolationRule(scan));
|
|
@@ -72,20 +86,20 @@ export function collectEnforcement(scan, options) {
|
|
|
72
86
|
pushBlock('env-access', toEslintEnvAccess(scan.envAccess));
|
|
73
87
|
const noRestricted = [];
|
|
74
88
|
if (emitEslint && pick('import-style')) {
|
|
75
|
-
const block = toEslintDeepRelative(scan.deepRelative);
|
|
89
|
+
const block = allowing(toEslintDeepRelative(scan.deepRelative), 'import-style');
|
|
76
90
|
noRestricted.push(block);
|
|
77
91
|
if (block !== null)
|
|
78
92
|
adopted.push(importStyleRule(scan));
|
|
79
93
|
}
|
|
80
94
|
if (emitEslint && pick('test-isolation')) {
|
|
81
|
-
const block = toEslintTestIsolation(scan.testIsolation);
|
|
95
|
+
const block = allowing(toEslintTestIsolation(scan.testIsolation), 'test-isolation');
|
|
82
96
|
noRestricted.push(block);
|
|
83
97
|
if (block !== null)
|
|
84
98
|
adopted.push(testIsolationRule(scan));
|
|
85
99
|
}
|
|
86
100
|
if (structural && emitEslint && pick('workspace-package'))
|
|
87
101
|
noRestricted.push(toEslintWorkspacePackageApi(scan.workspacePackageApi));
|
|
88
|
-
pushBlock('no-restricted-imports'
|
|
102
|
+
mergeNoRestrictedImports(noRestricted).forEach((block, index) => pushBlock(index === 0 ? 'no-restricted-imports' : `no-restricted-imports-exceptions-${index}`, block));
|
|
89
103
|
const depcruise = [];
|
|
90
104
|
const pushDc = (family, forbidden) => {
|
|
91
105
|
if (forbidden.length > 0)
|
|
@@ -217,7 +231,7 @@ export function emitLayout(scan, outDir, options) {
|
|
|
217
231
|
const collected = collectEnforcement(scan, options);
|
|
218
232
|
const eslint = writeArchprintEslint(collected, outDir);
|
|
219
233
|
const depcruise = writeArchprintDepcruise(collected, outDir);
|
|
220
|
-
const rules =
|
|
234
|
+
const rules = [...collected.adopted].sort(byRuleId);
|
|
221
235
|
const expanded = options.expand
|
|
222
236
|
? writeExpanded(collected, scan, outDir, options.graph !== false)
|
|
223
237
|
: [];
|
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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"}
|