@ploaness/cli 1.12.0 → 1.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 (65) hide show
  1. package/dist/bin.js +38 -15
  2. package/dist/bin.js.map +1 -1
  3. package/dist/change-scope.d.ts +24 -0
  4. package/dist/change-scope.d.ts.map +1 -0
  5. package/dist/change-scope.js +132 -0
  6. package/dist/change-scope.js.map +1 -0
  7. package/dist/checks/assets.d.ts +7 -0
  8. package/dist/checks/assets.d.ts.map +1 -1
  9. package/dist/checks/assets.js +15 -1
  10. package/dist/checks/assets.js.map +1 -1
  11. package/dist/checks/history.js +1 -1
  12. package/dist/checks/history.js.map +1 -1
  13. package/dist/checks/infra.d.ts.map +1 -1
  14. package/dist/checks/infra.js +16 -5
  15. package/dist/checks/infra.js.map +1 -1
  16. package/dist/checks/tests.d.ts +6 -3
  17. package/dist/checks/tests.d.ts.map +1 -1
  18. package/dist/checks/tests.js +55 -19
  19. package/dist/checks/tests.js.map +1 -1
  20. package/dist/checks/toolchain.d.ts +7 -0
  21. package/dist/checks/toolchain.d.ts.map +1 -1
  22. package/dist/checks/toolchain.js +19 -6
  23. package/dist/checks/toolchain.js.map +1 -1
  24. package/dist/checks/wiring.d.ts.map +1 -1
  25. package/dist/checks/wiring.js +4 -7
  26. package/dist/checks/wiring.js.map +1 -1
  27. package/dist/commands/init.d.ts.map +1 -1
  28. package/dist/commands/init.js +7 -27
  29. package/dist/commands/init.js.map +1 -1
  30. package/dist/commands/scope.d.ts +9 -0
  31. package/dist/commands/scope.d.ts.map +1 -0
  32. package/dist/commands/scope.js +32 -0
  33. package/dist/commands/scope.js.map +1 -0
  34. package/dist/commands/sync.d.ts +1 -1
  35. package/dist/commands/sync.d.ts.map +1 -1
  36. package/dist/commands/sync.js +29 -2
  37. package/dist/commands/sync.js.map +1 -1
  38. package/dist/commands/verify.d.ts +7 -4
  39. package/dist/commands/verify.d.ts.map +1 -1
  40. package/dist/commands/verify.js +33 -23
  41. package/dist/commands/verify.js.map +1 -1
  42. package/dist/context.d.ts +10 -1
  43. package/dist/context.d.ts.map +1 -1
  44. package/dist/context.js +5 -3
  45. package/dist/context.js.map +1 -1
  46. package/dist/gates.d.ts +11 -10
  47. package/dist/gates.d.ts.map +1 -1
  48. package/dist/gates.js +68 -67
  49. package/dist/gates.js.map +1 -1
  50. package/dist/pinned-browsers.d.ts +25 -0
  51. package/dist/pinned-browsers.d.ts.map +1 -0
  52. package/dist/pinned-browsers.js +138 -0
  53. package/dist/pinned-browsers.js.map +1 -0
  54. package/dist/report.d.ts +4 -3
  55. package/dist/report.d.ts.map +1 -1
  56. package/dist/report.js +7 -7
  57. package/dist/report.js.map +1 -1
  58. package/dist/test-invocation.d.ts.map +1 -1
  59. package/dist/test-invocation.js +4 -1
  60. package/dist/test-invocation.js.map +1 -1
  61. package/dist/working-tree.d.ts +2 -0
  62. package/dist/working-tree.d.ts.map +1 -1
  63. package/dist/working-tree.js +9 -0
  64. package/dist/working-tree.js.map +1 -1
  65. package/package.json +4 -4
@@ -3,10 +3,12 @@
3
3
  // module registry and fail to match its own matchers.
4
4
  import { existsSync } from 'node:fs';
5
5
  import path from 'node:path';
6
- import { CODE_EXTENSIONS, carriesSourceCode, coverageBoundaries, coverageOwnedFiles, diagnoseBuildFailure, hasExtension, VERIFICATION_ENVIRONMENT_VARIABLE, VITEST_CONFIG_FILE, } from '@ploaness/governance';
6
+ import { BROWSER_ENDPOINT_ENVIRONMENT_VARIABLE, BROWSER_TUNNEL_ENVIRONMENT_VARIABLE, CODE_EXTENSIONS, carriesSourceCode, coverageBoundaries, coverageOwnedFiles, diagnoseBuildFailure, hasExtension, SWEEP_SCOPE_ENVIRONMENT_VARIABLE, scopeHeadline, scopeLines, VERIFICATION_ENVIRONMENT_VARIABLE, VITEST_CONFIG_FILE, } from '@ploaness/governance';
7
7
  import { browserServerProblems } from '../browser-servers.js';
8
- import { hasOwnRuntime, resolveProjectTool, workingTreeFiles } from '../context.js';
8
+ import { isScopeFailure, sweepScopeFor, withScopeFile } from '../change-scope.js';
9
+ import { hasOwnRuntime, resolveProjectTool, workingTreeFiles, } from '../context.js';
9
10
  import { failed, fromRun, passed, run } from '../exec.js';
11
+ import { clockedEnvironment, isStartFailure, startPinnedBrowsers } from '../pinned-browsers.js';
10
12
  import { withPretest, wrapped } from '../test-invocation.js';
11
13
  // Resolution failure is an answer, not an exception to catch three times over.
12
14
  const resolveProjectToolOrUndefined = (context, tool, binary) => {
@@ -58,8 +60,49 @@ export const browserReadiness = async (context) => {
58
60
  ]);
59
61
  return problems.length > 0 ? failed('the end-to-end suite requires fresh browser servers', problems) : undefined;
60
62
  };
61
- /** Run the Playwright end-to-end suite. */
62
- export const endToEnd = async (context) => {
63
+ // The suite itself, with the sweep scoped when a scope file is named. The scope is stated on a pass as
64
+ // well as a failure, so a scoped verdict is never read as complete coverage.
65
+ const runSuite = async (context, scope, scopeFile) => {
66
+ const playwright = resolveProjectToolOrUndefined(context, '@playwright/test', 'playwright');
67
+ if (playwright === undefined) {
68
+ return failed('@playwright/test could not be resolved from the project', [
69
+ 'the project must declare @playwright/test itself, because its specs import it directly',
70
+ ]);
71
+ }
72
+ const browsers = await startPinnedBrowsers(context);
73
+ if (isStartFailure(browsers)) {
74
+ return browsers;
75
+ }
76
+ const invocation = wrapped(context, [playwright, 'test', '--config=playwright.config.ts']);
77
+ try {
78
+ const outcome = fromRun(run(invocation.command, invocation.commandArguments, {
79
+ cwd: context.root,
80
+ env: {
81
+ ...clockedEnvironment(context, '--no-deprecation --import=tsx/esm'),
82
+ NODE_ENV: 'production',
83
+ [VERIFICATION_ENVIRONMENT_VARIABLE]: '1',
84
+ [BROWSER_ENDPOINT_ENVIRONMENT_VARIABLE]: browsers.endpoint,
85
+ ...(browsers.isTunnelled && { [BROWSER_TUNNEL_ENVIRONMENT_VARIABLE]: '1' }),
86
+ ...(scopeFile !== undefined && { [SWEEP_SCOPE_ENVIRONMENT_VARIABLE]: scopeFile }),
87
+ },
88
+ }), 'the end-to-end suite passes', 'the end-to-end suite failed');
89
+ return scope === undefined
90
+ ? outcome
91
+ : {
92
+ ...outcome,
93
+ summary: `${outcome.summary}; the sweep covered ${scopeHeadline(scope)}`,
94
+ findings: outcome.ok ? scopeLines(scope) : outcome.findings,
95
+ };
96
+ }
97
+ finally {
98
+ browsers.stop();
99
+ }
100
+ };
101
+ /**
102
+ * Run the Playwright end-to-end suite. At `delta` the browser sweep covers the routes and stories the
103
+ * change reaches, in Chromium; at `full` it covers everything, in every engine.
104
+ */
105
+ export const endToEnd = async (context, gateRun) => {
63
106
  // A library has no browser to drive, and `assets` already withholds the managed specs from one on the
64
107
  // same test. Without this the two gates contradicted each other: the catalogue correctly gave a
65
108
  // library no `playwright.config.ts`, and this gate then failed it for the file's absence.
@@ -79,21 +122,14 @@ export const endToEnd = async (context) => {
79
122
  if (readiness !== undefined) {
80
123
  return readiness;
81
124
  }
82
- const playwright = resolveProjectToolOrUndefined(context, '@playwright/test', 'playwright');
83
- if (playwright === undefined) {
84
- return failed('@playwright/test could not be resolved from the project', [
85
- 'the project must declare @playwright/test itself, because its specs import it directly',
86
- ]);
125
+ if (gateRun.level === 'full') {
126
+ return await runSuite(context, undefined);
87
127
  }
88
- const invocation = wrapped(context, [playwright, 'test', '--config=playwright.config.ts']);
89
- return fromRun(run(invocation.command, invocation.commandArguments, {
90
- cwd: context.root,
91
- env: {
92
- NODE_OPTIONS: '--no-deprecation --import=tsx/esm',
93
- NODE_ENV: 'production',
94
- [VERIFICATION_ENVIRONMENT_VARIABLE]: '1',
95
- },
96
- }), 'the end-to-end suite passes', 'the end-to-end suite failed');
128
+ const scope = sweepScopeFor(gateRun.repository, context);
129
+ if (isScopeFailure(scope)) {
130
+ return scope;
131
+ }
132
+ return await withScopeFile(scope, async (file) => await runSuite(context, scope, file));
97
133
  });
98
134
  };
99
135
  /** Produce the production build, which the bundle gate then measures. */
@@ -114,7 +150,7 @@ export const build = (context) => {
114
150
  env: {
115
151
  NEXT_TELEMETRY_DISABLED: '1',
116
152
  NODE_ENV: 'production',
117
- NODE_OPTIONS: '--no-deprecation --max-old-space-size=8000',
153
+ ...clockedEnvironment(context, '--no-deprecation --max-old-space-size=8000'),
118
154
  },
119
155
  });
120
156
  const outcome = fromRun(result, 'the production build succeeds', 'the production build failed');
@@ -1 +1 @@
1
- {"version":3,"file":"tests.js","sourceRoot":"","sources":["../../src/checks/tests.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tests.js","sourceRoot":"","sources":["../../src/checks/tests.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,13 @@ export declare const eslint: (context: Member) => GateResult;
18
18
  export declare const eslintWrite: (context: Member) => RunResult;
19
19
  export { css } from './stylesheets.js';
20
20
  export declare const architecture: (context: Member) => GateResult;
21
+ /**
22
+ * The member's import graph, as the architecture gate's analyzer resolves it from the same roots under
23
+ * the same configuration: path aliases, type-only imports and stylesheet modules included.
24
+ * @param context the member.
25
+ * @returns each module, relative to the member root, and the modules it imports; or the failure.
26
+ */
27
+ export declare const importGraph: (context: Member) => Readonly<Record<string, readonly string[]>> | GateResult;
21
28
  /** Full type coverage on hand-written logic: no implicit or explicit `any` survives. */
22
29
  export declare const typeCoverage: (context: Context) => GateResult;
23
30
  export declare const knip: (context: Member) => GateResult;
@@ -1 +1 @@
1
- {"version":3,"file":"toolchain.d.ts","sourceRoot":"","sources":["../../src/checks/toolchain.ts"],"names":[],"mappings":"AAkBA,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,MAAM,EAKZ,MAAM,eAAe,CAAA;AACtB,OAAO,EAAmB,KAAK,UAAU,EAAU,KAAK,SAAS,EAAW,MAAM,YAAY,CAAA;AAI9F,2FAA2F;AAC3F,eAAO,MAAM,KAAK,GAAI,SAAS,OAAO,KAAG,UAOtC,CAAA;AAkBH,oFAAoF;AACpF,eAAO,MAAM,KAAK,GAAI,SAAS,MAAM,KAAG,UAKrC,CAAA;AAEH,sDAAsD;AACtD,eAAO,MAAM,UAAU,GAAI,SAAS,MAAM,KAAG,SAAyC,CAAA;AAStF,eAAO,MAAM,WAAW,QAAO,UAe9B,CAAA;AAOD,iFAAiF;AACjF,eAAO,MAAM,MAAM,GAAI,SAAS,MAAM,KAAG,UAOtC,CAAA;AAEH;;;;;GAKG;AACH,eAAO,MAAM,WAAW,GAAI,SAAS,MAAM,KAAG,SAG1C,CAAA;AAEJ,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAgCtC,eAAO,MAAM,YAAY,GAAI,SAAS,MAAM,KAAG,UAa9C,CAAA;AA+BD,wFAAwF;AACxF,eAAO,MAAM,YAAY,GAAI,SAAS,OAAO,KAAG,UAsB7C,CAAA;AAqCH,eAAO,MAAM,IAAI,GAAI,SAAS,MAAM,KAAG,UAUpC,CAAA"}
1
+ {"version":3,"file":"toolchain.d.ts","sourceRoot":"","sources":["../../src/checks/toolchain.ts"],"names":[],"mappings":"AAoBA,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,MAAM,EAKZ,MAAM,eAAe,CAAA;AACtB,OAAO,EAA+B,KAAK,UAAU,EAAU,KAAK,SAAS,EAAW,MAAM,YAAY,CAAA;AAI1G,2FAA2F;AAC3F,eAAO,MAAM,KAAK,GAAI,SAAS,OAAO,KAAG,UAOtC,CAAA;AAkBH,oFAAoF;AACpF,eAAO,MAAM,KAAK,GAAI,SAAS,MAAM,KAAG,UAKrC,CAAA;AAEH,sDAAsD;AACtD,eAAO,MAAM,UAAU,GAAI,SAAS,MAAM,KAAG,SAAyC,CAAA;AAStF,eAAO,MAAM,WAAW,QAAO,UAe9B,CAAA;AAOD,iFAAiF;AACjF,eAAO,MAAM,MAAM,GAAI,SAAS,MAAM,KAAG,UAOtC,CAAA;AAEH;;;;;GAKG;AACH,eAAO,MAAM,WAAW,GAAI,SAAS,MAAM,KAAG,SAG1C,CAAA;AAEJ,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAuCtC,eAAO,MAAM,YAAY,GAAI,SAAS,MAAM,KAAG,UAM9C,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,WAAW,GAAI,SAAS,MAAM,KAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC,GAAG,UAQ3F,CAAA;AA+BD,wFAAwF;AACxF,eAAO,MAAM,YAAY,GAAI,SAAS,OAAO,KAAG,UAsB7C,CAAA;AAqCH,eAAO,MAAM,IAAI,GAAI,SAAS,MAAM,KAAG,UAUpC,CAAA"}
@@ -4,9 +4,9 @@
4
4
  import { existsSync, mkdtempSync, readFileSync, writeFileSync } from 'node:fs';
5
5
  import { tmpdir } from 'node:os';
6
6
  import path from 'node:path';
7
- import { allowedJavaScriptFiles, analysisBoundaries, asRecord, biomeSelection, eslintArguments, isArray, memberKindOf, pureLogicRule, requiredBiomeFiles, } from '@ploaness/governance';
7
+ import { allowedJavaScriptFiles, analysisBoundaries, asRecord, biomeSelection, eslintArguments, importGraphOf, isArray, memberKindOf, parseJsonc, pureLogicRule, requiredBiomeFiles, } from '@ploaness/governance';
8
8
  import { presentWorkingTreeFiles, readJson, resolveTool, shippedDirectory, } from '../context.js';
9
- import { failed, fromRun, passed, runNode } from '../exec.js';
9
+ import { asFindings, failed, fromRun, passed, runNode } from '../exec.js';
10
10
  const configFile = (name) => path.join(shippedDirectory('@ploaness/config'), name);
11
11
  /** Strict type checking against the project's tsconfig, which extends the ploaness one. */
12
12
  export const types = (context) => fromRun(runNode(resolveTool('typescript', 'tsc'), ['--noEmit', '-p', 'tsconfig.json'], {
@@ -85,15 +85,28 @@ const architectureConfig = (context, kind) => {
85
85
  // EXIST, though - the analyzer refuses a directory it cannot open, so a package holding shared scripts
86
86
  // and no `src` failed on the shape of its own layout rather than on anything about its architecture.
87
87
  const presentSourceRoots = (context) => context.settings.sourceRoots.filter((root) => existsSync(path.join(context.root, root)));
88
+ const cruise = (context, roots, options = []) => runNode(resolveTool('dependency-cruiser', 'depcruise'), [...roots, '--config', architectureConfig(context, memberKindOf(context.packageJson)), ...options], { cwd: context.root });
88
89
  export const architecture = (context) => {
89
90
  const roots = presentSourceRoots(context);
90
91
  if (roots.length === 0) {
91
92
  return passed('this package holds no source directory to cruise');
92
93
  }
93
- const kind = memberKindOf(context.packageJson);
94
- return fromRun(runNode(resolveTool('dependency-cruiser', 'depcruise'), [...roots, '--config', architectureConfig(context, kind)], {
95
- cwd: context.root,
96
- }), 'module architecture holds', 'the module architecture contract is broken');
94
+ return fromRun(cruise(context, roots), 'module architecture holds', 'the module architecture contract is broken');
95
+ };
96
+ /**
97
+ * The member's import graph, as the architecture gate's analyzer resolves it from the same roots under
98
+ * the same configuration: path aliases, type-only imports and stylesheet modules included.
99
+ * @param context the member.
100
+ * @returns each module, relative to the member root, and the modules it imports; or the failure.
101
+ */
102
+ export const importGraph = (context) => {
103
+ const roots = presentSourceRoots(context);
104
+ if (roots.length === 0) {
105
+ return {};
106
+ }
107
+ const result = cruise(context, roots, ['--output-type', 'json']);
108
+ const graph = importGraphOf(parseJsonc(result.stdout).value);
109
+ return graph ?? failed('the import graph could not be read', asFindings(result.output));
97
110
  };
98
111
  // Roles with no hand-written type surface to measure: framework glue, generated files, views, and
99
112
  // configuration. Measuring them would dilute the score rather than sharpen it.
@@ -1 +1 @@
1
- {"version":3,"file":"toolchain.js","sourceRoot":"","sources":["../../src/checks/toolchain.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"toolchain.js","sourceRoot":"","sources":["../../src/checks/toolchain.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"wiring.d.ts","sourceRoot":"","sources":["../../src/checks/wiring.ts"],"names":[],"mappings":"AAwBA,OAAO,EAAe,KAAK,UAAU,EAAkD,MAAM,eAAe,CAAA;AAC5G,OAAO,EAAU,KAAK,UAAU,EAAU,MAAM,YAAY,CAAA;AA4G5D;;;;;;;;GAQG;AACH,eAAO,MAAM,sBAAsB,QAAO,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAcxE,CAAA;AA6FD,0GAA0G;AAC1G,eAAO,MAAM,MAAM,GAAI,YAAY,UAAU,KAAG,UAoB/C,CAAA"}
1
+ {"version":3,"file":"wiring.d.ts","sourceRoot":"","sources":["../../src/checks/wiring.ts"],"names":[],"mappings":"AAwBA,OAAO,EAAe,KAAK,UAAU,EAAkD,MAAM,eAAe,CAAA;AAC5G,OAAO,EAAU,KAAK,UAAU,EAAU,MAAM,YAAY,CAAA;AA4G5D;;;;;;;;GAQG;AACH,eAAO,MAAM,sBAAsB,QAAO,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAcxE,CAAA;AA0FD,0GAA0G;AAC1G,eAAO,MAAM,MAAM,GAAI,YAAY,UAAU,KAAG,UAoB/C,CAAA"}
@@ -124,13 +124,10 @@ export const harnessDecidedVersions = () => {
124
124
  const HARNESS_RUNTIME = '@ploaness/runtime';
125
125
  // A member's own required set. Only a member that serves an application needs the browser packages: a
126
126
  // library has no page to sweep, and requiring them would manufacture dependencies the dead-code gate
127
- // then rightly reports as unused.
128
- const BROWSER_LIBRARIES = new Set([
129
- '@playwright/test',
130
- '@axe-core/playwright',
131
- 'tsx',
132
- HARNESS_RUNTIME,
133
- ]);
127
+ // then rightly reports as unused. axe is not among them: the managed sweep reaches it through
128
+ // `ploaness/sweep`, so a project declares it only when its own specs import it, and its version is then
129
+ // pinned like any other test library's.
130
+ const BROWSER_LIBRARIES = new Set(['@playwright/test', 'tsx', HARNESS_RUNTIME]);
134
131
  // The specs of every governed package import these, so pnpm's strict layout means every package must
135
132
  // declare them. The browser three are added only where there is an application to drive.
136
133
  const SUITE_LIBRARIES = new Set(['vitest', '@vitest/coverage-v8', 'typescript']);
@@ -1 +1 @@
1
- {"version":3,"file":"wiring.js","sourceRoot":"","sources":["../../src/checks/wiring.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wiring.js","sourceRoot":"","sources":["../../src/checks/wiring.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAU,UAAU,EAAE,MAAM,eAAe,CAAA;AAsFvD,2EAA2E;AAC3E,eAAO,MAAM,IAAI,GAAI,YAAY,UAAU,KAAG,MAmB7C,CAAA"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAU,UAAU,EAAE,MAAM,eAAe,CAAA;AAiEvD,2EAA2E;AAC3E,eAAO,MAAM,IAAI,GAAI,YAAY,UAAU,KAAG,MAuB7C,CAAA"}
@@ -1,8 +1,6 @@
1
- // Scaffold missing member configurations, update root scripts, and synchronize managed content.
2
- import { existsSync, readFileSync, writeFileSync } from 'node:fs';
3
- import path from 'node:path';
4
- import { asRecord, memberKindOf, parseJsonc, REQUIRED_SCRIPTS, ROOT_MEMBER_PATH, requiredBiomeFiles, tsconfigPathsFor, VITEST_CONFIG_FILE, wiringTargetsFor, } from '@ploaness/governance';
5
- import { hasSeededFile } from '../checks/assets.js';
1
+ // Scaffold missing member configurations and scaffold files, then synchronize scripts and managed content.
2
+ import { memberKindOf, ROOT_MEMBER_PATH, requiredBiomeFiles, tsconfigPathsFor, VITEST_CONFIG_FILE, wiringTargetsFor, } from '@ploaness/governance';
3
+ import { hasSeededFile, writeScaffolds } from '../checks/assets.js';
6
4
  import { sync } from './sync.js';
7
5
  // Every stub is rendered from the same table the wiring rule reads. Writing either side's literal by
8
6
  // hand is what once scaffolded a project the gate then failed.
@@ -40,26 +38,6 @@ const stubs = (member) => {
40
38
  }),
41
39
  };
42
40
  };
43
- const patchPackageJson = (repository) => {
44
- const file = path.join(repository.root, 'package.json');
45
- if (!existsSync(file)) {
46
- return ['package.json is missing, so the scripts were not written'];
47
- }
48
- const read = parseJsonc(readFileSync(file, 'utf8'));
49
- if (read.problem !== undefined) {
50
- return [`package.json is not valid JSON (${read.problem}), so the scripts were not written`];
51
- }
52
- const parsed = asRecord(read.value);
53
- const scripts = {
54
- ...asRecord(parsed['scripts']),
55
- ...REQUIRED_SCRIPTS,
56
- };
57
- const updated = { ...parsed, scripts };
58
- writeFileSync(file, `${JSON.stringify(updated, null, JSON_INDENT)}\n`);
59
- return ['package.json: wrote the ploaness scripts'];
60
- };
61
- // The scripts are written once, at the repository root: `pnpm run verify` is invoked there and fans out
62
- // from there, so a copy inside every member would be several entry points to one run.
63
41
  const memberNotes = (member, isSolo) => {
64
42
  const label = isSolo || member.path === ROOT_MEMBER_PATH ? '' : `${member.path}/`;
65
43
  return Object.entries(stubs(member)).map(([file, body]) => hasSeededFile(member.root, file, body)
@@ -70,13 +48,15 @@ const memberNotes = (member, isSolo) => {
70
48
  export const init = (repository) => {
71
49
  const isSolo = repository.members.length <= 1;
72
50
  const notes = [
73
- ...patchPackageJson(repository),
74
51
  ...repository.members.flatMap((member) => memberNotes(member, isSolo)),
52
+ ...writeScaffolds(repository).map(([file, isWritten]) => isWritten ? `${file}: written` : `${file}: left alone because it already exists`),
75
53
  ];
76
54
  for (const note of notes) {
77
55
  console.info(` ${note}`);
78
56
  }
79
- // `sync` writes the managed files and merges the write denial into the runtime settings.
57
+ // `sync` writes the root scripts and the managed files, and merges the write denial into the runtime
58
+ // settings. The scripts sit at the repository root only: `pnpm run verify` is invoked there and fans
59
+ // out from there, so a copy inside every member would be several entry points to one run.
80
60
  const syncExit = sync(repository);
81
61
  if (syncExit !== 0) {
82
62
  return syncExit;
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { type Repository } from '../context.js';
2
+ /**
3
+ * Print the change scope of the application at the working directory.
4
+ * @param repository the repository.
5
+ * @param isJson whether to print the scope document rather than its report.
6
+ * @returns the process exit code.
7
+ */
8
+ export declare const scope: (repository: Repository, isJson: boolean) => number;
9
+ //# sourceMappingURL=scope.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scope.d.ts","sourceRoot":"","sources":["../../src/commands/scope.ts"],"names":[],"mappings":"AAIA,OAAO,EAAwC,KAAK,UAAU,EAAE,MAAM,eAAe,CAAA;AAWrF;;;;;GAKG;AACH,eAAO,MAAM,KAAK,GAAI,YAAY,UAAU,EAAE,QAAQ,OAAO,KAAG,MAgB/D,CAAA"}
@@ -0,0 +1,32 @@
1
+ // `ploaness scope`: what a `delta` run's browser sweep covers in the application the command runs in,
2
+ // and why, without running anything. `--json` prints the document the `e2e` gate hands the sweep.
3
+ import { scopeLines } from '@ploaness/governance';
4
+ import { isScopeFailure, sweepScopeFor } from '../change-scope.js';
5
+ import { hasOwnRuntime, memberAt } from '../context.js';
6
+ const JSON_INDENT = 2;
7
+ const runtimeMembers = (repository) => repository.members
8
+ .filter((member) => hasOwnRuntime(member))
9
+ .map((member) => member.path)
10
+ .join(', ');
11
+ /**
12
+ * Print the change scope of the application at the working directory.
13
+ * @param repository the repository.
14
+ * @param isJson whether to print the scope document rather than its report.
15
+ * @returns the process exit code.
16
+ */
17
+ export const scope = (repository, isJson) => {
18
+ const member = memberAt(repository, process.cwd());
19
+ if (member === undefined || !hasOwnRuntime(member)) {
20
+ console.error(`this package has no runtime of its own, so it has no browser sweep to scope; run \`ploaness scope\` ` +
21
+ `in an application: ${runtimeMembers(repository) || 'none'}`);
22
+ return 1;
23
+ }
24
+ const found = sweepScopeFor(repository, member);
25
+ if (isScopeFailure(found)) {
26
+ console.error([found.summary, ...found.findings].join('\n'));
27
+ return 1;
28
+ }
29
+ console.info(isJson ? JSON.stringify(found, null, JSON_INDENT) : scopeLines(found).join('\n'));
30
+ return 0;
31
+ };
32
+ //# sourceMappingURL=scope.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scope.js","sourceRoot":"","sources":["../../src/commands/scope.ts"],"names":[],"mappings":"AAAA,sGAAsG;AACtG,kGAAkG;AAClG,OAAO,EAAmB,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAClE,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClE,OAAO,EAAE,aAAa,EAAe,QAAQ,EAAmB,MAAM,eAAe,CAAA;AAGrF,MAAM,WAAW,GAAW,CAAC,CAAA;AAE7B,MAAM,cAAc,GAAG,CAAC,UAAsB,EAAU,EAAE,CACxD,UAAU,CAAC,OAAO;KACf,MAAM,CAAC,CAAC,MAAc,EAAW,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;KAC1D,GAAG,CAAC,CAAC,MAAc,EAAU,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC;KAC5C,IAAI,CAAC,IAAI,CAAC,CAAA;AAEf;;;;;GAKG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,UAAsB,EAAE,MAAe,EAAU,EAAE;IACvE,MAAM,MAAM,GAAuB,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAA;IACtE,IAAI,MAAM,KAAK,SAAS,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC;QACnD,OAAO,CAAC,KAAK,CACX,sGAAsG;YACpG,sBAAsB,cAAc,CAAC,UAAU,CAAC,IAAI,MAAM,EAAE,CAC/D,CAAA;QACD,OAAO,CAAC,CAAA;IACV,CAAC;IACD,MAAM,KAAK,GAA4B,aAAa,CAAC,UAAU,EAAE,MAAM,CAAC,CAAA;IACxE,IAAI,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;QAC5D,OAAO,CAAC,CAAA;IACV,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;IAC9F,OAAO,CAAC,CAAA;AACV,CAAC,CAAA"}
@@ -1,4 +1,4 @@
1
1
  import type { Repository } from '../context.js';
2
- /** Materialise the managed files, then report exactly what changed. */
2
+ /** Materialise the managed files and the scripts ploaness owns, then report exactly what changed. */
3
3
  export declare const sync: (repository: Repository) => number;
4
4
  //# sourceMappingURL=sync.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAE/C,uEAAuE;AACvE,eAAO,MAAM,IAAI,GAAI,YAAY,UAAU,KAAG,MA0B7C,CAAA"}
1
+ {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AA+B/C,qGAAqG;AACrG,eAAO,MAAM,IAAI,GAAI,YAAY,UAAU,KAAG,MA0B7C,CAAA"}
@@ -1,7 +1,34 @@
1
1
  // `ploaness sync`: the only command that writes managed files. Everything else reads them.
2
+ import { existsSync, readFileSync, writeFileSync } from 'node:fs';
3
+ import path from 'node:path';
4
+ import { asRecord, parseJsonc, REQUIRED_SCRIPTS } from '@ploaness/governance';
2
5
  import { syncAssets } from '../checks/assets.js';
3
6
  import { hasWrittenDenyRules } from '../checks/generated.js';
4
- /** Materialise the managed files, then report exactly what changed. */
7
+ // The indent every JSON file ploaness writes uses, matching the shipped formatter setting.
8
+ const JSON_INDENT = 2;
9
+ const MANIFEST = 'package.json';
10
+ // The scripts ploaness owns, written at the repository root where `pnpm run verify` is invoked. Only
11
+ // those keys change, so the project's own scripts keep their order and their text. A manifest that does
12
+ // not parse is left for the wiring gate to report.
13
+ const syncScripts = (repository) => {
14
+ const file = path.join(repository.root, MANIFEST);
15
+ if (!existsSync(file)) {
16
+ return [];
17
+ }
18
+ const read = parseJsonc(readFileSync(file, 'utf8'));
19
+ if (read.problem !== undefined) {
20
+ return [];
21
+ }
22
+ const parsed = asRecord(read.value);
23
+ const scripts = asRecord(parsed['scripts']);
24
+ if (Object.entries(REQUIRED_SCRIPTS).every(([name, body]) => scripts[name] === body)) {
25
+ return [];
26
+ }
27
+ const updated = { ...parsed, scripts: { ...scripts, ...REQUIRED_SCRIPTS } };
28
+ writeFileSync(file, `${JSON.stringify(updated, null, JSON_INDENT)}\n`);
29
+ return [{ path: `${MANIFEST} scripts`, action: 'wrote' }];
30
+ };
31
+ /** Materialise the managed files and the scripts ploaness owns, then report exactly what changed. */
5
32
  export const sync = (repository) => {
6
33
  // The write denial is repaired here rather than in `init` alone, because the gate that requires it
7
34
  // tells the project to run `ploaness sync`. A repair the advice cannot perform sends the project
@@ -9,7 +36,7 @@ export const sync = (repository) => {
9
36
  const denialChange = hasWrittenDenyRules(repository)
10
37
  ? [{ action: 'wrote', path: '.claude/settings.json' }]
11
38
  : [];
12
- const changes = [...syncAssets(repository), ...denialChange];
39
+ const changes = [...syncScripts(repository), ...syncAssets(repository), ...denialChange];
13
40
  if (changes.length === 0) {
14
41
  console.info('ploaness sync: every managed path already matches the catalogue.');
15
42
  return 0;
@@ -1 +1 @@
1
- {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":"AAAA,2FAA2F;AAC3F,OAAO,EAAmB,UAAU,EAAE,MAAM,qBAAqB,CAAA;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAG5D,uEAAuE;AACvE,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,UAAsB,EAAU,EAAE;IACrD,mGAAmG;IACnG,iGAAiG;IACjG,6EAA6E;IAC7E,MAAM,YAAY,GAA0B,mBAAmB,CAAC,UAAU,CAAC;QACzE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,uBAAuB,EAAE,CAAC;QACtD,CAAC,CAAC,EAAE,CAAA;IACN,MAAM,OAAO,GAA0B,CAAC,GAAG,UAAU,CAAC,UAAU,CAAC,EAAE,GAAG,YAAY,CAAC,CAAA;IACnF,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,CAAC,IAAI,CAAC,kEAAkE,CAAC,CAAA;QAChF,OAAO,CAAC,CAAA;IACV,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,kBAAkB,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;IAClE,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,OAAO,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC,CAAA;IACnD,CAAC;IACD,MAAM,OAAO,GAA0B,OAAO,CAAC,MAAM,CAAC,CAAC,MAAkB,EAAW,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC,CAAA;IACnH,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO,CAAC,KAAK,CACX,KAAK,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,0EAA0E;YACnG,+DAA+D,CAClE,CAAA;QACD,OAAO,CAAC,CAAA;IACV,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAA;IACrD,OAAO,CAAC,CAAA;AACV,CAAC,CAAA"}
1
+ {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":"AAAA,2FAA2F;AAC3F,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AACjE,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EAAE,QAAQ,EAAmB,UAAU,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAC9F,OAAO,EAAmB,UAAU,EAAE,MAAM,qBAAqB,CAAA;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAG5D,2FAA2F;AAC3F,MAAM,WAAW,GAAW,CAAC,CAAA;AAE7B,MAAM,QAAQ,GAAW,cAAc,CAAA;AAEvC,qGAAqG;AACrG,wGAAwG;AACxG,mDAAmD;AACnD,MAAM,WAAW,GAAG,CAAC,UAAsB,EAAyB,EAAE;IACpE,MAAM,IAAI,GAAW,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;IACzD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACtB,OAAO,EAAE,CAAA;IACX,CAAC;IACD,MAAM,IAAI,GAAe,UAAU,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAA;IAC/D,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAC/B,OAAO,EAAE,CAAA;IACX,CAAC;IACD,MAAM,MAAM,GAA4B,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAC5D,MAAM,OAAO,GAA4B,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAA;IACpE,IACE,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAA4B,EAAW,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,EACpH,CAAC;QACD,OAAO,EAAE,CAAA;IACX,CAAC;IACD,MAAM,OAAO,GAA4B,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE,GAAG,gBAAgB,EAAE,EAAE,CAAA;IACpG,aAAa,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,CAAA;IACtE,OAAO,CAAC,EAAE,IAAI,EAAE,GAAG,QAAQ,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAA;AAC3D,CAAC,CAAA;AAED,qGAAqG;AACrG,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,UAAsB,EAAU,EAAE;IACrD,mGAAmG;IACnG,iGAAiG;IACjG,6EAA6E;IAC7E,MAAM,YAAY,GAA0B,mBAAmB,CAAC,UAAU,CAAC;QACzE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,uBAAuB,EAAE,CAAC;QACtD,CAAC,CAAC,EAAE,CAAA;IACN,MAAM,OAAO,GAA0B,CAAC,GAAG,WAAW,CAAC,UAAU,CAAC,EAAE,GAAG,UAAU,CAAC,UAAU,CAAC,EAAE,GAAG,YAAY,CAAC,CAAA;IAC/G,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,CAAC,IAAI,CAAC,kEAAkE,CAAC,CAAA;QAChF,OAAO,CAAC,CAAA;IACV,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,kBAAkB,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;IAClE,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,OAAO,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC,CAAA;IACnD,CAAC;IACD,MAAM,OAAO,GAA0B,OAAO,CAAC,MAAM,CAAC,CAAC,MAAkB,EAAW,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC,CAAA;IACnH,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO,CAAC,KAAK,CACX,KAAK,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,0EAA0E;YACnG,+DAA+D,CAClE,CAAA;QACD,OAAO,CAAC,CAAA;IACV,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAA;IACrD,OAAO,CAAC,CAAA;AACV,CAAC,CAAA"}
@@ -1,14 +1,17 @@
1
+ import { type VerificationLevel } from '@ploaness/governance';
1
2
  import { type Repository } from '../context.js';
2
3
  import { type PlannedGate } from '../gates.js';
3
4
  /**
4
- * Run Default or Extended verification.
5
+ * Run verification at one level.
5
6
  * @param repository the resolved repository environment.
6
- * @param isExtended whether to include the history, build, bundle, and end-to-end gates.
7
+ * @param level `quick` for the static gates, `delta` to add history, build, bundle and the browser suite
8
+ * scoped to the change, `full` for the complete browser sweep in every engine.
7
9
  * @returns the process exit code.
8
10
  */
9
- export declare const verify: (repository: Repository, isExtended: boolean) => Promise<number>;
11
+ export declare const verify: (repository: Repository, level: VerificationLevel) => Promise<number>;
10
12
  /**
11
- * Run one gate by identifier. A single gate is a debugging aid, never a verdict.
13
+ * Run one gate by identifier. A single gate is a debugging aid, never a verdict. It runs at the `delta`
14
+ * level, the one a change is finished at, so `e2e` sweeps what the change reaches.
12
15
  * @param repository the resolved repository environment.
13
16
  * @param planned the gate to run, with the member it is about.
14
17
  * @param isVerbose whether to print what the gate's tool wrote, not only the verdict it produced.
@@ -1 +1 @@
1
- {"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../../src/commands/verify.ts"],"names":[],"mappings":"AAKA,OAAO,EAA8B,KAAK,UAAU,EAAE,MAAM,eAAe,CAAA;AAE3E,OAAO,EAAuB,KAAK,WAAW,EAAW,MAAM,aAAa,CAAA;AAuG5E;;;;;GAKG;AACH,eAAO,MAAM,MAAM,GAAU,YAAY,UAAU,EAAE,YAAY,OAAO,KAAG,OAAO,CAAC,MAAM,CAOxF,CAAA;AAsBD;;;;;;GAMG;AACH,eAAO,MAAM,SAAS,GACpB,YAAY,UAAU,EACtB,SAAS,WAAW,EACpB,YAAW,OAAe,KACzB,OAAO,CAAC,MAAM,CAWhB,CAAA"}
1
+ {"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../../src/commands/verify.ts"],"names":[],"mappings":"AAGA,OAAO,EAKL,KAAK,iBAAiB,EACvB,MAAM,sBAAsB,CAAA;AAE7B,OAAO,EAA4C,KAAK,UAAU,EAAE,MAAM,eAAe,CAAA;AAEzF,OAAO,EAAuB,KAAK,WAAW,EAAW,MAAM,aAAa,CAAA;AAsG5E;;;;;;GAMG;AACH,eAAO,MAAM,MAAM,GAAU,YAAY,UAAU,EAAE,OAAO,iBAAiB,KAAG,OAAO,CAAC,MAAM,CAU7F,CAAA;AAsBD;;;;;;;GAOG;AACH,eAAO,MAAM,SAAS,GACpB,YAAY,UAAU,EACtB,SAAS,WAAW,EACpB,YAAW,OAAe,KACzB,OAAO,CAAC,MAAM,CAWhB,CAAA"}