@ploaness/cli 1.2.0 → 1.4.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.
@@ -0,0 +1,23 @@
1
+ import { type DockerFailure } from '@ploaness/governance';
2
+ import type { Context } from '../context.js';
3
+ import { type GateResult, type RunResult } from '../exec.js';
4
+ /** A docker failure, as the verdict a gate returns for it. */
5
+ export declare const describeFailure: (failure: DockerFailure) => GateResult;
6
+ /**
7
+ * Make an analyzer image available, reporting why it could not be.
8
+ * @param context the repository or member being judged, for the working directory.
9
+ * @param image the digest-pinned reference to acquire.
10
+ * @param gate what to call this gate in a failure, so the message names the check that stopped.
11
+ * @returns a failing result when the image cannot be obtained, or undefined when it is present.
12
+ */
13
+ export declare const acquireImage: (context: Context, image: string, gate: string) => GateResult | undefined;
14
+ /**
15
+ * Whether a failed run was docker's fault rather than the project's.
16
+ * @param context the repository or member being judged.
17
+ * @param image the image the run used, re-checked when the exit code is not a reserved one.
18
+ * @param gate what to call this gate in a failure.
19
+ * @param result the outcome of the run.
20
+ * @returns a failing result when docker is at fault, or undefined when the finding is the project's.
21
+ */
22
+ export declare const dockerFault: (context: Context, image: string, gate: string, result: RunResult) => GateResult | undefined;
23
+ //# sourceMappingURL=container-run.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"container-run.d.ts","sourceRoot":"","sources":["../../src/checks/container-run.ts"],"names":[],"mappings":"AAKA,OAAO,EAGL,KAAK,aAAa,EACnB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,EAAU,KAAK,UAAU,EAAE,KAAK,SAAS,EAAO,MAAM,YAAY,CAAA;AAEzE,8DAA8D;AAC9D,eAAO,MAAM,eAAe,GAAI,SAAS,aAAa,KAAG,UACd,CAAA;AAU3C;;;;;;GAMG;AACH,eAAO,MAAM,YAAY,GACvB,SAAS,OAAO,EAChB,OAAO,MAAM,EACb,MAAM,MAAM,KACX,UAAU,GAAG,SAUf,CAAA;AAMD;;;;;;;GAOG;AACH,eAAO,MAAM,WAAW,GACtB,SAAS,OAAO,EAChB,OAAO,MAAM,EACb,MAAM,MAAM,EACZ,QAAQ,SAAS,KAChB,UAAU,GAAG,SAMf,CAAA"}
@@ -0,0 +1,55 @@
1
+ // Acquiring an analyzer image, and deciding whether a failed run was the tool's fault or docker's.
2
+ //
3
+ // Shared rather than private to one gate: every containerised analyzer needs both answers, and a second
4
+ // copy of either would be a second opinion about what "docker is unavailable" means. The reasoning each
5
+ // carries is the reason it exists, so it travels with the function rather than staying behind.
6
+ import { classifyContainerExit, classifyImageFailure, } from '@ploaness/governance';
7
+ import { failed, run } from '../exec.js';
8
+ /** A docker failure, as the verdict a gate returns for it. */
9
+ export const describeFailure = (failure) => failed(failure.summary, failure.remedies);
10
+ // The image is acquired as a step of its own, BEFORE any analyzer runs, and that ordering is the repair
11
+ // rather than an optimisation. It puts "the analyzer could not be obtained" on a command whose output
12
+ // docker wrote in full, so the failure can be read honestly; leaving the pull implicit in `docker run`
13
+ // left one exit code carrying two questions, and a rate-limited pull answered the wrong one - the secret
14
+ // scan reported a secret in the git history because gitleaks had never started.
15
+ //
16
+ // `docker image inspect` is local and costs nothing on a machine that has already pulled, which is every
17
+ // machine after the first run.
18
+ /**
19
+ * Make an analyzer image available, reporting why it could not be.
20
+ * @param context the repository or member being judged, for the working directory.
21
+ * @param image the digest-pinned reference to acquire.
22
+ * @param gate what to call this gate in a failure, so the message names the check that stopped.
23
+ * @returns a failing result when the image cannot be obtained, or undefined when it is present.
24
+ */
25
+ export const acquireImage = (context, image, gate) => {
26
+ const present = run('docker', ['image', 'inspect', '--format', '{{.Id}}', image], {
27
+ cwd: context.root,
28
+ });
29
+ if (present.code === 0) {
30
+ return undefined;
31
+ }
32
+ const pulled = run('docker', ['pull', image], { cwd: context.root });
33
+ const failure = classifyImageFailure(gate, pulled);
34
+ return failure === undefined ? undefined : describeFailure(failure);
35
+ };
36
+ // Asked only when a run failed, and answered by docker rather than by the analyzer's output. The reserved
37
+ // exit codes settle it outright; otherwise the question is whether docker is STILL well, which closes the
38
+ // narrow window where the daemon dies between the pull and the run without letting a commit message the
39
+ // scanner quoted decide whether a finding is real.
40
+ /**
41
+ * Whether a failed run was docker's fault rather than the project's.
42
+ * @param context the repository or member being judged.
43
+ * @param image the image the run used, re-checked when the exit code is not a reserved one.
44
+ * @param gate what to call this gate in a failure.
45
+ * @param result the outcome of the run.
46
+ * @returns a failing result when docker is at fault, or undefined when the finding is the project's.
47
+ */
48
+ export const dockerFault = (context, image, gate, result) => {
49
+ if (result.code === 0) {
50
+ return undefined;
51
+ }
52
+ const reserved = classifyContainerExit(gate, result);
53
+ return reserved === undefined ? acquireImage(context, image, gate) : describeFailure(reserved);
54
+ };
55
+ //# sourceMappingURL=container-run.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"container-run.js","sourceRoot":"","sources":["../../src/checks/container-run.ts"],"names":[],"mappings":"AAAA,mGAAmG;AACnG,EAAE;AACF,wGAAwG;AACxG,wGAAwG;AACxG,+FAA+F;AAC/F,OAAO,EACL,qBAAqB,EACrB,oBAAoB,GAErB,MAAM,sBAAsB,CAAA;AAE7B,OAAO,EAAE,MAAM,EAAmC,GAAG,EAAE,MAAM,YAAY,CAAA;AAEzE,8DAA8D;AAC9D,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,OAAsB,EAAc,EAAE,CACpE,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAA;AAE3C,wGAAwG;AACxG,sGAAsG;AACtG,uGAAuG;AACvG,yGAAyG;AACzG,gFAAgF;AAChF,EAAE;AACF,yGAAyG;AACzG,+BAA+B;AAC/B;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,OAAgB,EAChB,KAAa,EACb,IAAY,EACY,EAAE;IAC1B,MAAM,OAAO,GAAc,GAAG,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,CAAC,EAAE;QAC3F,GAAG,EAAE,OAAO,CAAC,IAAI;KAClB,CAAC,CAAA;IACF,IAAI,OAAO,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,MAAM,MAAM,GAAc,GAAG,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAA;IAC/E,MAAM,OAAO,GAA8B,oBAAoB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IAC7E,OAAO,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,CAAA;AACrE,CAAC,CAAA;AAED,0GAA0G;AAC1G,0GAA0G;AAC1G,wGAAwG;AACxG,mDAAmD;AACnD;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CACzB,OAAgB,EAChB,KAAa,EACb,IAAY,EACZ,MAAiB,EACO,EAAE;IAC1B,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,MAAM,QAAQ,GAA8B,qBAAqB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IAC/E,OAAO,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAA;AAChG,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"containers.d.ts","sourceRoot":"","sources":["../../src/checks/containers.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,KAAK,OAAO,EAAoB,MAAM,eAAe,CAAA;AAC9D,OAAO,EAIL,KAAK,UAAU,EAIhB,MAAM,YAAY,CAAA;AA0InB,gFAAgF;AAChF,eAAO,MAAM,OAAO,GAAI,SAAS,OAAO,KAAG,UAiBvC,CAAA;AAqGJ,gEAAgE;AAChE,eAAO,MAAM,UAAU,GAAI,SAAS,OAAO,KAAG,UAkC7C,CAAA;AAED,yCAAyC;AACzC,eAAO,MAAM,OAAO,GAAI,SAAS,OAAO,KAAG,UAqB1C,CAAA"}
1
+ {"version":3,"file":"containers.d.ts","sourceRoot":"","sources":["../../src/checks/containers.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,KAAK,OAAO,EAAoB,MAAM,eAAe,CAAA;AAC9D,OAAO,EAIL,KAAK,UAAU,EAIhB,MAAM,YAAY,CAAA;AAoGnB,gFAAgF;AAChF,eAAO,MAAM,OAAO,GAAI,SAAS,OAAO,KAAG,UAiBvC,CAAA;AAqGJ,gEAAgE;AAChE,eAAO,MAAM,UAAU,GAAI,SAAS,OAAO,KAAG,UAkC7C,CAAA;AAED,yCAAyC;AACzC,eAAO,MAAM,OAAO,GAAI,SAAS,OAAO,KAAG,UA0B1C,CAAA"}
@@ -4,46 +4,17 @@
4
4
  import { existsSync, mkdirSync, mkdtempSync, readFileSync, rmSync, writeFileSync } from 'node:fs';
5
5
  import { homedir } from 'node:os';
6
6
  import path from 'node:path';
7
- import { CONTAINER_IMAGES, classifyContainerExit, classifyImageFailure, composeProjectsIn, dockerfilesIn, renderGitleaksConfig, } from '@ploaness/governance';
7
+ import { CONTAINER_IMAGES, classifyContainerExit, composeProjectsIn, dockerfilesIn, renderGitleaksConfig, } from '@ploaness/governance';
8
8
  import { workingTreeFiles } from '../context.js';
9
9
  import { asFindings, failed, fromRun, passed, run, } from '../exec.js';
10
10
  import { mirrorSecretCandidates } from '../secret-mirror.js';
11
+ import { withWorkflowMirror } from '../workflow-mirror.js';
12
+ import { acquireImage, describeFailure, dockerFault } from './container-run.js';
11
13
  // Pinned by digest in the governance layer, where a spec rejects a mutable reference. These were three
12
14
  // `:latest` literals, which let an upstream release change a verdict without the repository changing.
13
15
  const GITLEAKS_IMAGE = CONTAINER_IMAGES.gitleaks;
14
16
  const HADOLINT_IMAGE = CONTAINER_IMAGES.hadolint;
15
17
  const ACTIONLINT_IMAGE = CONTAINER_IMAGES.actionlint;
16
- const describeFailure = (failure) => failed(failure.summary, failure.remedies);
17
- // The image is acquired as a step of its own, BEFORE any analyzer runs, and that ordering is the repair
18
- // rather than an optimisation. It puts "the analyzer could not be obtained" on a command whose output
19
- // docker wrote in full, so the failure can be read honestly; leaving the pull implicit in `docker run`
20
- // left one exit code carrying two questions, and a rate-limited pull answered the wrong one - the secret
21
- // scan reported a secret in the git history because gitleaks had never started.
22
- //
23
- // `docker image inspect` is local and costs nothing on a machine that has already pulled, which is every
24
- // machine after the first run.
25
- const acquireImage = (context, image, gate) => {
26
- const present = run('docker', ['image', 'inspect', '--format', '{{.Id}}', image], {
27
- cwd: context.root,
28
- });
29
- if (present.code === 0) {
30
- return undefined;
31
- }
32
- const pulled = run('docker', ['pull', image], { cwd: context.root });
33
- const failure = classifyImageFailure(gate, pulled);
34
- return failure === undefined ? undefined : describeFailure(failure);
35
- };
36
- // Asked only when a run failed, and answered by docker rather than by the analyzer's output. The reserved
37
- // exit codes settle it outright; otherwise the question is whether docker is STILL well, which closes the
38
- // narrow window where the daemon dies between the pull and the run without letting a commit message the
39
- // scanner quoted decide whether a finding is real.
40
- const dockerFault = (context, image, gate, result) => {
41
- if (result.code === 0) {
42
- return undefined;
43
- }
44
- const reserved = classifyContainerExit(gate, result);
45
- return reserved === undefined ? acquireImage(context, image, gate) : describeFailure(reserved);
46
- };
47
18
  const withSecretWorkspace = (context, use) => {
48
19
  const directory = mkdtempSync(path.join(homedir(), '.ploaness-secrets-'));
49
20
  const configDirectory = path.join(directory, 'config');
@@ -191,7 +162,7 @@ export const actions = (context) => {
191
162
  if (unavailable !== undefined) {
192
163
  return unavailable;
193
164
  }
194
- const result = run('docker', ['run', '--rm', '-v', `${context.root}:/repo`, '--workdir', '/repo', ACTIONLINT_IMAGE], { cwd: context.root });
165
+ const result = withWorkflowMirror(context.root, workingTreeFiles(context.root), (mirror) => run('docker', ['run', '--rm', '-v', `${mirror}:/repo:ro`, '--workdir', '/repo', ACTIONLINT_IMAGE], { cwd: context.root }));
195
166
  return (dockerFault(context, ACTIONLINT_IMAGE, 'the workflow gate', result) ??
196
167
  fromRun(result, 'workflows pass actionlint', 'a workflow does not pass actionlint'));
197
168
  };
@@ -1 +1 @@
1
- {"version":3,"file":"containers.js","sourceRoot":"","sources":["../../src/checks/containers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"containers.js","sourceRoot":"","sources":["../../src/checks/containers.ts"],"names":[],"mappings":"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"}
@@ -3,9 +3,9 @@ import { type GateResult } from '../exec.js';
3
3
  /**
4
4
  * Every environment variable the repository declares in one place reaches the others it has to.
5
5
  *
6
- * A repository that reads no variable, ships no compose file, and runs no verifying workflow passes over
7
- * an empty set rather than being declared inapplicable - the same shape the container gate takes, and
8
- * for the same reason: the day one of those appears it is already checked.
6
+ * A repository that reads no variable, ships no compose file, builds no image, and runs no verifying
7
+ * workflow passes over an empty set rather than being declared inapplicable - the same shape the
8
+ * container gate takes, and for the same reason: the day one of those appears it is already checked.
9
9
  * @param repository the repository being judged, and the members whose modules it holds.
10
10
  * @returns the gate result.
11
11
  */
@@ -1 +1 @@
1
- {"version":3,"file":"environment.d.ts","sourceRoot":"","sources":["../../src/checks/environment.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAe,KAAK,UAAU,IAAI,IAAI,EAAoB,MAAM,eAAe,CAAA;AACtF,OAAO,EAAU,KAAK,UAAU,EAAU,MAAM,YAAY,CAAA;AA4C5D;;;;;;;;GAQG;AACH,eAAO,MAAM,WAAW,GAAI,YAAY,IAAI,KAAG,UAa9C,CAAA"}
1
+ {"version":3,"file":"environment.d.ts","sourceRoot":"","sources":["../../src/checks/environment.ts"],"names":[],"mappings":"AAqBA,OAAO,EAAe,KAAK,UAAU,IAAI,IAAI,EAAoB,MAAM,eAAe,CAAA;AACtF,OAAO,EAAU,KAAK,UAAU,EAAU,MAAM,YAAY,CAAA;AA4E5D;;;;;;;;GAQG;AACH,eAAO,MAAM,WAAW,GAAI,YAAY,IAAI,KAAG,UAc9C,CAAA"}
@@ -1,8 +1,8 @@
1
- // The environment-coherence gate. It reads four kinds of file and calls one pure function; every
1
+ // The environment-coherence gate. It reads five kinds of file and calls one pure function; every
2
2
  // decision is in packages/governance/src/environment-coherence.ts.
3
3
  import { existsSync, readFileSync } from 'node:fs';
4
4
  import path from 'node:path';
5
- import { composeProjectsIn, ENVIRONMENT_EXAMPLE_FILES, findEnvironmentViolations, VALIDATED_ENVIRONMENT_MODULE, workflowsIn, } from '@ploaness/governance';
5
+ import { BUILD_CONFIGURATION_FILES, composeProjectsIn, dockerfilesBuilding, dockerfilesIn, ENVIRONMENT_EXAMPLE_FILES, findEnvironmentViolations, VALIDATED_ENVIRONMENT_MODULE, workflowsIn, } from '@ploaness/governance';
6
6
  import { workingTreeFiles } from '../context.js';
7
7
  import { failed, passed } from '../exec.js';
8
8
  const readIfPresent = (root, relativePath) => {
@@ -26,13 +26,33 @@ const workflows = (repository) => workflowsIn(workingTreeFiles(repository.root))
26
26
  file,
27
27
  content: readFileSync(path.join(repository.root, file), 'utf8'),
28
28
  }));
29
+ // Discovered by the same rule the container gate reads Dockerfiles by, for the same reason.
30
+ const dockerfileSources = (repository) => dockerfilesIn(workingTreeFiles(repository.root)).map((file) => ({
31
+ file,
32
+ content: readFileSync(path.join(repository.root, file), 'utf8'),
33
+ }));
34
+ // The files whose reads a build inlines: the validated module, and the framework configuration at the
35
+ // member's own root. Per member, because an image is built per member - what one member's build inlines
36
+ // says nothing about the arguments a sibling's image declares.
37
+ const BUILD_SOURCE_FILES = [
38
+ VALIDATED_ENVIRONMENT_MODULE,
39
+ ...BUILD_CONFIGURATION_FILES,
40
+ ];
41
+ const builds = (repository) => {
42
+ const dockerfiles = dockerfileSources(repository);
43
+ const memberPaths = repository.members.map((member) => member.path);
44
+ return repository.members.map((member) => ({
45
+ sources: BUILD_SOURCE_FILES.map((relative) => readIfPresent(repository.root, path.join(member.path, relative))).filter(isPresent),
46
+ dockerfiles: dockerfilesBuilding(member.path, memberPaths, dockerfiles),
47
+ }));
48
+ };
29
49
  const describe = (violation) => `${violation.name}: ${violation.reason}`;
30
50
  /**
31
51
  * Every environment variable the repository declares in one place reaches the others it has to.
32
52
  *
33
- * A repository that reads no variable, ships no compose file, and runs no verifying workflow passes over
34
- * an empty set rather than being declared inapplicable - the same shape the container gate takes, and
35
- * for the same reason: the day one of those appears it is already checked.
53
+ * A repository that reads no variable, ships no compose file, builds no image, and runs no verifying
54
+ * workflow passes over an empty set rather than being declared inapplicable - the same shape the
55
+ * container gate takes, and for the same reason: the day one of those appears it is already checked.
36
56
  * @param repository the repository being judged, and the members whose modules it holds.
37
57
  * @returns the gate result.
38
58
  */
@@ -42,6 +62,7 @@ export const environment = (repository) => {
42
62
  example: exampleFile(repository),
43
63
  composeSources: composeSources(repository),
44
64
  workflows: workflows(repository),
65
+ builds: builds(repository),
45
66
  });
46
67
  return violations.length > 0
47
68
  ? failed(`${String(violations.length)} environment variable(s) are declared in one place and missing from another`, violations.map((violation) => describe(violation)))
@@ -1 +1 @@
1
- {"version":3,"file":"environment.js","sourceRoot":"","sources":["../../src/checks/environment.ts"],"names":[],"mappings":"AAAA,iGAAiG;AACjG,mEAAmE;AACnE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAClD,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B,OAAO,EAEL,iBAAiB,EACjB,yBAAyB,EAEzB,yBAAyB,EACzB,4BAA4B,EAE5B,WAAW,GACZ,MAAM,sBAAsB,CAAA;AAE7B,OAAO,EAAwC,gBAAgB,EAAE,MAAM,eAAe,CAAA;AACtF,OAAO,EAAE,MAAM,EAAmB,MAAM,EAAE,MAAM,YAAY,CAAA;AAE5D,MAAM,aAAa,GAAG,CAAC,IAAY,EAAE,YAAoB,EAAsB,EAAE;IAC/E,MAAM,IAAI,GAAW,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,CAAA;IAClD,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;AAClE,CAAC,CAAA;AAED,MAAM,SAAS,GAAG,CAAC,KAAyB,EAAmB,EAAE,CAAC,KAAK,KAAK,SAAS,CAAA;AAErF,wGAAwG;AACxG,uGAAuG;AACvG,sCAAsC;AACtC,MAAM,WAAW,GAAG,CAAC,UAAgB,EAAsB,EAAE,CAC3D,yBAAyB,CAAC,GAAG,CAAC,CAAC,SAAiB,EAAsB,EAAE,CACtE,aAAa,CAAC,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC,CAC1C,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;AAEnB,qGAAqG;AACrG,oBAAoB;AACpB,MAAM,UAAU,GAAG,CAAC,UAAgB,EAAqB,EAAE,CACzD,UAAU,CAAC,OAAO;KACf,GAAG,CAAC,CAAC,MAAc,EAAsB,EAAE,CAC1C,aAAa,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,4BAA4B,CAAC,CAAC,CACrF;KACA,MAAM,CAAC,SAAS,CAAC,CAAA;AAEtB,MAAM,cAAc,GAAG,CAAC,UAAgB,EAAqB,EAAE,CAC7D,iBAAiB,CAAC,gBAAgB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAuB,EAAU,EAAE,CAC3F,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAC/D,CAAA;AAEH,qGAAqG;AACrG,sBAAsB;AACtB,MAAM,SAAS,GAAG,CAAC,UAAgB,EAA2B,EAAE,CAC9D,WAAW,CAAC,gBAAgB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAChD,CAAC,IAAY,EAAgB,EAAE,CAAC,CAAC;IAC/B,IAAI;IACJ,OAAO,EAAE,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC;CAChE,CAAC,CACH,CAAA;AAEH,MAAM,QAAQ,GAAG,CAAC,SAA+B,EAAU,EAAE,CAC3D,GAAG,SAAS,CAAC,IAAI,KAAK,SAAS,CAAC,MAAM,EAAE,CAAA;AAE1C;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,UAAgB,EAAc,EAAE;IAC1D,MAAM,UAAU,GAAoC,yBAAyB,CAAC;QAC5E,kBAAkB,EAAE,UAAU,CAAC,UAAU,CAAC;QAC1C,OAAO,EAAE,WAAW,CAAC,UAAU,CAAC;QAChC,cAAc,EAAE,cAAc,CAAC,UAAU,CAAC;QAC1C,SAAS,EAAE,SAAS,CAAC,UAAU,CAAC;KACjC,CAAC,CAAA;IACF,OAAO,UAAU,CAAC,MAAM,GAAG,CAAC;QAC1B,CAAC,CAAC,MAAM,CACJ,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,6EAA6E,EACzG,UAAU,CAAC,GAAG,CAAC,CAAC,SAA+B,EAAU,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CACjF;QACH,CAAC,CAAC,MAAM,CAAC,qEAAqE,CAAC,CAAA;AACnF,CAAC,CAAA"}
1
+ {"version":3,"file":"environment.js","sourceRoot":"","sources":["../../src/checks/environment.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { type Context } from '../context.js';
2
+ import { type GateResult } from '../exec.js';
3
+ /** Judge every OpenTofu and Terraform source the repository tracks. */
4
+ export declare const infrastructure: (context: Context) => GateResult;
5
+ //# sourceMappingURL=infra.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"infra.d.ts","sourceRoot":"","sources":["../../src/checks/infra.ts"],"names":[],"mappings":"AA6BA,OAAO,EAAE,KAAK,OAAO,EAAoB,MAAM,eAAe,CAAA;AAC9D,OAAO,EAGL,KAAK,UAAU,EAKhB,MAAM,YAAY,CAAA;AA8OnB,uEAAuE;AACvE,eAAO,MAAM,cAAc,GAAI,SAAS,OAAO,KAAG,UAmBjD,CAAA"}
@@ -0,0 +1,185 @@
1
+ // OpenTofu and Terraform, judged by two readers with one owner each.
2
+ //
3
+ // The pattern rules decide what text can decide and nothing more; the curated analyzer decides what
4
+ // needs a resource graph. Both run here because a project that ships infrastructure ships it as code,
5
+ // and until now the harness read those files for secrets and whitespace and nothing else.
6
+ //
7
+ // Before either reader, the providers the tree declares are classified. A `--check` id that binds to
8
+ // no resource in the tree matches nothing and raises no error, so over a cloud the catalogue did not
9
+ // cover the analyzer exits 0 and a gate that did not look would report curated checks that never ran.
10
+ // A provider nobody classified is refused instead, and a provider the analyzer ships no check for is
11
+ // passed on the pattern rules with a summary that says exactly that.
12
+ import { readFileSync } from 'node:fs';
13
+ import path from 'node:path';
14
+ import { CONTAINER_IMAGES, checkovCheckList, checkovConfigsIn, checksFor, classifyProviders, failedCheckCount, findTerraformViolations, providerDeclarationsIn, providersOf, resourceCountOf, terraformFilesIn, } from '@ploaness/governance';
15
+ import { workingTreeFiles } from '../context.js';
16
+ import { asFindings, failed, passed, run, withOutput, } from '../exec.js';
17
+ import { acquireImage, dockerFault } from './container-run.js';
18
+ const CHECKOV_IMAGE = CONTAINER_IMAGES.checkov;
19
+ const INFRA_GATE = 'the infrastructure gate';
20
+ /** checkov exits 1 when a check failed; anything higher means it stopped before deciding. */
21
+ const CHECKOV_FINDINGS = 1;
22
+ // Each source is read once and handed to both readers.
23
+ const readSources = (context, files) => files.map((file) => ({
24
+ file,
25
+ text: readFileSync(path.join(context.root, file), 'utf8'),
26
+ }));
27
+ const patternFindingsIn = (sources) => sources.flatMap((source) => findTerraformViolations(source.text).map((violation) => `${source.file}:${String(violation.line)} [${violation.rule}] ${violation.reason}`));
28
+ const declarationsIn = (sources) => sources.flatMap((source) => providerDeclarationsIn(source.text).map((declaration) => ({
29
+ ...declaration,
30
+ file: source.file,
31
+ })));
32
+ const listed = (names) => names.join(', ');
33
+ const matchesFileAndProvider = (left, right) => left.file === right.file && left.provider === right.provider;
34
+ // One finding per file and provider: the first line that declares it is enough to act on.
35
+ const firstDeclarations = (declarations, providers) => declarations.filter((declaration, index) => providers.includes(declaration.provider) &&
36
+ declarations.findIndex((other) => matchesFileAndProvider(other, declaration)) === index);
37
+ // Refusing to guess is the point. The repair sits in ploaness rather than in the project, and the
38
+ // finding says so rather than sending an agent looking for an argument to change. The pattern rules
39
+ // already ran, and their findings are real, so they are reported beneath.
40
+ const unclassifiedFailure = (standing, declarations, patterns) => failed(`provider(s) this harness has not classified: ${listed(standing.unclassified)}`, [
41
+ ...firstDeclarations(declarations, standing.unclassified).map((declaration) => `${declaration.file}:${String(declaration.line)} declares ${declaration.subject}, and ` +
42
+ `this harness has not classified the ${declaration.provider} provider`),
43
+ 'classify each provider in ploaness (packages/governance/src/checkov-policy.ts); the harness ' +
44
+ 'refuses to guess whether the analyzer covers it',
45
+ ...(patterns.length === 0 ? [] : ['the pattern rules also found the following:', ...patterns]),
46
+ ]);
47
+ // Why no analyzer ran, in the summary's own words. Only the standings actually present are named.
48
+ const standingClause = (standing) => {
49
+ const clauses = [
50
+ ...(standing.unsupported.length === 0
51
+ ? []
52
+ : [`the analyzer ships no check for ${listed(standing.unsupported)}`]),
53
+ ...(standing.audited.length === 0
54
+ ? []
55
+ : [`no check for ${listed(standing.audited)} met the rubric`]),
56
+ ];
57
+ return clauses.length === 0
58
+ ? `only utility providers are declared (${listed(standing.utility)})`
59
+ : clauses.join('; ');
60
+ };
61
+ // `21 aws curated check(s)`, or `21 aws and 30 google curated check(s)`: the count of what could have
62
+ // applied, which is the claim a pass is entitled to make.
63
+ const checkClause = (curated) => `${curated
64
+ .map((provider) => `${String(checksFor([provider]).length)} ${provider}`)
65
+ .join(' and ')} curated check(s)`;
66
+ const patternVerdict = (patterns, summary) => patterns.length === 0
67
+ ? passed(summary)
68
+ : failed(`${String(patterns.length)} infrastructure defect(s)`, patterns);
69
+ // checkov reserves 1 for a failed check. Every higher status is the tool stopping before it decided
70
+ // anything, and reading that as "the infrastructure is fine" - or as a defect - are both wrong.
71
+ const checkovFault = (result) => result.code === 0 || result.code === CHECKOV_FINDINGS
72
+ ? undefined
73
+ : failed(`${INFRA_GATE} could not complete its analyzer run`, asFindings(result.output));
74
+ // The pattern rules already ran when the image turns out to be unavailable, and their findings are
75
+ // real. Reporting the docker failure alone would throw away work that cost nothing, so both are
76
+ // returned with a line saying which half of the gate actually ran.
77
+ const withPatternFindings = (unavailable, patterns) => patterns.length === 0
78
+ ? unavailable
79
+ : failed(unavailable.summary, [
80
+ ...unavailable.findings,
81
+ 'the pattern rules ran and found the following; the analyzer did not:',
82
+ ...patterns,
83
+ ]);
84
+ // `--workdir /` rather than the mounted tree, so nothing the project ships is the analyzer's working
85
+ // directory. `--framework terraform` keeps this gate to the one thing it owns: the dockerfile, secrets
86
+ // and workflow frameworks belong to gates that already run them. Never `--soft-fail`, which forces
87
+ // exit 0, and never `--no-fail-on-crash`, which turns a crash into a pass.
88
+ //
89
+ // The whole catalogue is sent, not the subset for the providers found. A check never fires on a
90
+ // resource type it does not bind to, so the verdict is the same either way - and a detection miss
91
+ // then costs a wrong count in the summary rather than a check that silently did not run.
92
+ //
93
+ // `--skip-download` keeps the run off the network. Without it checkov fetches guideline mappings from
94
+ // its vendor on every run, and when that fetch fails the traceback lands in the output this gate
95
+ // reads line by line as findings. The checks themselves ship in the image; nothing judged depends on
96
+ // the download.
97
+ const runCheckov = (context) => run('docker', [
98
+ 'run',
99
+ '--rm',
100
+ '-v',
101
+ `${context.root}:/repo:ro`,
102
+ '--workdir',
103
+ '/',
104
+ CHECKOV_IMAGE,
105
+ '--directory',
106
+ '/repo',
107
+ '--framework',
108
+ 'terraform',
109
+ '--check',
110
+ checkovCheckList(),
111
+ '--skip-download',
112
+ '--compact',
113
+ '--quiet',
114
+ '--output',
115
+ 'cli',
116
+ ], { cwd: context.root });
117
+ const analyze = (context, patterns, passSummary) => {
118
+ const unavailable = acquireImage(context, CHECKOV_IMAGE, INFRA_GATE);
119
+ if (unavailable !== undefined) {
120
+ return withPatternFindings(unavailable, patterns);
121
+ }
122
+ const result = runCheckov(context);
123
+ const faulted = dockerFault(context, CHECKOV_IMAGE, INFRA_GATE, result) ?? checkovFault(result);
124
+ if (faulted !== undefined) {
125
+ return faulted;
126
+ }
127
+ return withOutput(analyzerVerdict(result, patterns, passSummary), result.output);
128
+ };
129
+ // The summary counts defects, not lines. checkov's output is reported in full beneath, but it spends
130
+ // several lines on each failed check, so the count comes from the tally it prints. Exit 1 with no
131
+ // tally is output this gate cannot read, and is failed as such rather than counted.
132
+ const analyzerVerdict = (result, patterns, passSummary) => {
133
+ if (result.code !== CHECKOV_FINDINGS) {
134
+ return patternVerdict(patterns, passSummary);
135
+ }
136
+ const failures = failedCheckCount(result.output);
137
+ if (failures === undefined) {
138
+ return failed(`${INFRA_GATE} could not read the analyzer's summary`, asFindings(result.output));
139
+ }
140
+ return failed(`${String(patterns.length + failures)} infrastructure defect(s)`, [
141
+ ...patterns,
142
+ ...asFindings(result.output),
143
+ ]);
144
+ };
145
+ // What the tree declares decides whether the analyzer runs at all. A tree of variables and modules
146
+ // declares nothing it could judge; a tree on a cloud it has no check for would pass without looking.
147
+ // Neither pulls an image, and neither claims a check it did not run.
148
+ const judge = (context, sources, declarations, standing) => {
149
+ const patterns = patternFindingsIn(sources);
150
+ if (standing.unclassified.length > 0) {
151
+ return unclassifiedFailure(standing, declarations, patterns);
152
+ }
153
+ const files = `${String(sources.length)} infrastructure file(s)`;
154
+ const resources = resourceCountOf(declarations);
155
+ if (resources === 0) {
156
+ return patternVerdict(patterns, `${files} declare no resource this harness can judge; the pattern rules pass`);
157
+ }
158
+ if (standing.curated.length === 0) {
159
+ return patternVerdict(patterns, `${files} pass the pattern rules; ${standingClause(standing)}`);
160
+ }
161
+ return analyze(context, patterns, `${files} declaring ${String(resources)} resource(s) pass ` +
162
+ `${checkClause(standing.curated)} and the pattern rules`);
163
+ };
164
+ /** Judge every OpenTofu and Terraform source the repository tracks. */
165
+ export const infrastructure = (context) => {
166
+ const tracked = workingTreeFiles(context.root);
167
+ const files = terraformFilesIn(tracked);
168
+ // No infrastructure means no container: a project that ships none never needs the image.
169
+ if (files.length === 0) {
170
+ return passed('the project ships no infrastructure definition');
171
+ }
172
+ // A committed configuration would turn the curated checks off from inside the tree they judge, which
173
+ // is the shadowing the harness refuses for every other analyzer.
174
+ const shadowing = checkovConfigsIn(tracked);
175
+ if (shadowing.length > 0) {
176
+ return failed('a local analyzer configuration would shadow the infrastructure rules', [
177
+ ...shadowing.map((file) => `${file} configures the analyzer this gate runs`),
178
+ 'delete it; the checks this harness enables are not a project setting',
179
+ ]);
180
+ }
181
+ const sources = readSources(context, files);
182
+ const declarations = declarationsIn(sources);
183
+ return judge(context, sources, declarations, classifyProviders(providersOf(declarations)));
184
+ };
185
+ //# sourceMappingURL=infra.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"infra.js","sourceRoot":"","sources":["../../src/checks/infra.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,EAAE;AACF,oGAAoG;AACpG,sGAAsG;AACtG,0FAA0F;AAC1F,EAAE;AACF,qGAAqG;AACrG,qGAAqG;AACrG,sGAAsG;AACtG,qGAAqG;AACrG,qEAAqE;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,SAAS,EACT,iBAAiB,EACjB,gBAAgB,EAChB,uBAAuB,EAGvB,sBAAsB,EACtB,WAAW,EACX,eAAe,EAEf,gBAAgB,GACjB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAgB,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAC9D,OAAO,EACL,UAAU,EACV,MAAM,EAEN,MAAM,EAEN,GAAG,EACH,UAAU,GACX,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAE9D,MAAM,aAAa,GAAW,gBAAgB,CAAC,OAAO,CAAA;AACtD,MAAM,UAAU,GAAW,yBAAyB,CAAA;AAEpD,6FAA6F;AAC7F,MAAM,gBAAgB,GAAW,CAAC,CAAA;AAWlC,uDAAuD;AACvD,MAAM,WAAW,GAAG,CAAC,OAAgB,EAAE,KAAwB,EAAyB,EAAE,CACxF,KAAK,CAAC,GAAG,CACP,CAAC,IAAY,EAAc,EAAE,CAAC,CAAC;IAC7B,IAAI;IACJ,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC;CAC1D,CAAC,CACH,CAAA;AAEH,MAAM,iBAAiB,GAAG,CAAC,OAA8B,EAAqB,EAAE,CAC9E,OAAO,CAAC,OAAO,CAAC,CAAC,MAAkB,EAAqB,EAAE,CACxD,uBAAuB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CACtC,CAAC,SAA6B,EAAU,EAAE,CACxC,GAAG,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC,IAAI,KAAK,SAAS,CAAC,MAAM,EAAE,CACrF,CACF,CAAA;AAEH,MAAM,cAAc,GAAG,CAAC,OAA8B,EAA8B,EAAE,CACpF,OAAO,CAAC,OAAO,CAAC,CAAC,MAAkB,EAA8B,EAAE,CACjE,sBAAsB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CACrC,CAAC,WAAgC,EAAmB,EAAE,CAAC,CAAC;IACtD,GAAG,WAAW;IACd,IAAI,EAAE,MAAM,CAAC,IAAI;CAClB,CAAC,CACH,CACF,CAAA;AAEH,MAAM,MAAM,GAAG,CAAC,KAAwB,EAAU,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AAErE,MAAM,sBAAsB,GAAG,CAAC,IAAqB,EAAE,KAAsB,EAAW,EAAE,CACxF,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,KAAK,KAAK,CAAC,QAAQ,CAAA;AAE9D,0FAA0F;AAC1F,MAAM,iBAAiB,GAAG,CACxB,YAAwC,EACxC,SAA4B,EACA,EAAE,CAC9B,YAAY,CAAC,MAAM,CACjB,CAAC,WAA4B,EAAE,KAAa,EAAW,EAAE,CACvD,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC;IACxC,YAAY,CAAC,SAAS,CAAC,CAAC,KAAsB,EAAW,EAAE,CACzD,sBAAsB,CAAC,KAAK,EAAE,WAAW,CAAC,CAC3C,KAAK,KAAK,CACd,CAAA;AAEH,kGAAkG;AAClG,oGAAoG;AACpG,0EAA0E;AAC1E,MAAM,mBAAmB,GAAG,CAC1B,QAAgC,EAChC,YAAwC,EACxC,QAA2B,EACf,EAAE,CACd,MAAM,CAAC,gDAAgD,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,EAAE;IACtF,GAAG,iBAAiB,CAAC,YAAY,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC,GAAG,CAC3D,CAAC,WAA4B,EAAU,EAAE,CACvC,GAAG,WAAW,CAAC,IAAI,IAAI,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,WAAW,CAAC,OAAO,QAAQ;QACvF,uCAAuC,WAAW,CAAC,QAAQ,WAAW,CACzE;IACD,8FAA8F;QAC5F,iDAAiD;IACnD,GAAG,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,6CAA6C,EAAE,GAAG,QAAQ,CAAC,CAAC;CAC/F,CAAC,CAAA;AAEJ,kGAAkG;AAClG,MAAM,cAAc,GAAG,CAAC,QAAgC,EAAU,EAAE;IAClE,MAAM,OAAO,GAAsB;QACjC,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC;YACnC,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,CAAC,mCAAmC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QACxE,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;YAC/B,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,CAAC,gBAAgB,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;KACjE,CAAA;IACD,OAAO,OAAO,CAAC,MAAM,KAAK,CAAC;QACzB,CAAC,CAAC,wCAAwC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG;QACrE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACxB,CAAC,CAAA;AAED,sGAAsG;AACtG,0DAA0D;AAC1D,MAAM,WAAW,GAAG,CAAC,OAA0B,EAAU,EAAE,CACzD,GAAG,OAAO;KACP,GAAG,CAAC,CAAC,QAAgB,EAAU,EAAE,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;KACxF,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAA;AAErC,MAAM,cAAc,GAAG,CAAC,QAA2B,EAAE,OAAe,EAAc,EAAE,CAClF,QAAQ,CAAC,MAAM,KAAK,CAAC;IACnB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;IACjB,CAAC,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,2BAA2B,EAAE,QAAQ,CAAC,CAAA;AAE7E,oGAAoG;AACpG,gGAAgG;AAChG,MAAM,YAAY,GAAG,CAAC,MAAiB,EAA0B,EAAE,CACjE,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,MAAM,CAAC,IAAI,KAAK,gBAAgB;IACnD,CAAC,CAAC,SAAS;IACX,CAAC,CAAC,MAAM,CAAC,GAAG,UAAU,sCAAsC,EAAE,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAA;AAE5F,mGAAmG;AACnG,gGAAgG;AAChG,mEAAmE;AACnE,MAAM,mBAAmB,GAAG,CAAC,WAAuB,EAAE,QAA2B,EAAc,EAAE,CAC/F,QAAQ,CAAC,MAAM,KAAK,CAAC;IACnB,CAAC,CAAC,WAAW;IACb,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE;QAC1B,GAAG,WAAW,CAAC,QAAQ;QACvB,sEAAsE;QACtE,GAAG,QAAQ;KACZ,CAAC,CAAA;AAER,qGAAqG;AACrG,uGAAuG;AACvG,mGAAmG;AACnG,2EAA2E;AAC3E,EAAE;AACF,gGAAgG;AAChG,kGAAkG;AAClG,yFAAyF;AACzF,EAAE;AACF,sGAAsG;AACtG,iGAAiG;AACjG,qGAAqG;AACrG,gBAAgB;AAChB,MAAM,UAAU,GAAG,CAAC,OAAgB,EAAa,EAAE,CACjD,GAAG,CACD,QAAQ,EACR;IACE,KAAK;IACL,MAAM;IACN,IAAI;IACJ,GAAG,OAAO,CAAC,IAAI,WAAW;IAC1B,WAAW;IACX,GAAG;IACH,aAAa;IACb,aAAa;IACb,OAAO;IACP,aAAa;IACb,WAAW;IACX,SAAS;IACT,gBAAgB,EAAE;IAClB,iBAAiB;IACjB,WAAW;IACX,SAAS;IACT,UAAU;IACV,KAAK;CACN,EACD,EAAE,GAAG,EAAE,OAAO,CAAC,IAAI,EAAE,CACtB,CAAA;AAEH,MAAM,OAAO,GAAG,CACd,OAAgB,EAChB,QAA2B,EAC3B,WAAmB,EACP,EAAE;IACd,MAAM,WAAW,GAA2B,YAAY,CAAC,OAAO,EAAE,aAAa,EAAE,UAAU,CAAC,CAAA;IAC5F,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC9B,OAAO,mBAAmB,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAA;IACnD,CAAC;IACD,MAAM,MAAM,GAAc,UAAU,CAAC,OAAO,CAAC,CAAA;IAC7C,MAAM,OAAO,GACX,WAAW,CAAC,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,CAAC,IAAI,YAAY,CAAC,MAAM,CAAC,CAAA;IACjF,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO,OAAO,CAAA;IAChB,CAAC;IACD,OAAO,UAAU,CAAC,eAAe,CAAC,MAAM,EAAE,QAAQ,EAAE,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;AAClF,CAAC,CAAA;AAED,qGAAqG;AACrG,kGAAkG;AAClG,oFAAoF;AACpF,MAAM,eAAe,GAAG,CACtB,MAAiB,EACjB,QAA2B,EAC3B,WAAmB,EACP,EAAE;IACd,IAAI,MAAM,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;QACrC,OAAO,cAAc,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAA;IAC9C,CAAC;IACD,MAAM,QAAQ,GAAuB,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IACpE,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,OAAO,MAAM,CAAC,GAAG,UAAU,wCAAwC,EAAE,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAA;IACjG,CAAC;IACD,OAAO,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC,2BAA2B,EAAE;QAC9E,GAAG,QAAQ;QACX,GAAG,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC;KAC7B,CAAC,CAAA;AACJ,CAAC,CAAA;AAED,mGAAmG;AACnG,qGAAqG;AACrG,qEAAqE;AACrE,MAAM,KAAK,GAAG,CACZ,OAAgB,EAChB,OAA8B,EAC9B,YAAwC,EACxC,QAAgC,EACpB,EAAE;IACd,MAAM,QAAQ,GAAsB,iBAAiB,CAAC,OAAO,CAAC,CAAA;IAC9D,IAAI,QAAQ,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrC,OAAO,mBAAmB,CAAC,QAAQ,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAA;IAC9D,CAAC;IACD,MAAM,KAAK,GAAW,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,yBAAyB,CAAA;IACxE,MAAM,SAAS,GAAW,eAAe,CAAC,YAAY,CAAC,CAAA;IACvD,IAAI,SAAS,KAAK,CAAC,EAAE,CAAC;QACpB,OAAO,cAAc,CACnB,QAAQ,EACR,GAAG,KAAK,qEAAqE,CAC9E,CAAA;IACH,CAAC;IACD,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClC,OAAO,cAAc,CAAC,QAAQ,EAAE,GAAG,KAAK,4BAA4B,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;IACjG,CAAC;IACD,OAAO,OAAO,CACZ,OAAO,EACP,QAAQ,EACR,GAAG,KAAK,cAAc,MAAM,CAAC,SAAS,CAAC,oBAAoB;QACzD,GAAG,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,wBAAwB,CAC3D,CAAA;AACH,CAAC,CAAA;AAED,uEAAuE;AACvE,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,OAAgB,EAAc,EAAE;IAC7D,MAAM,OAAO,GAAsB,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IACjE,MAAM,KAAK,GAAsB,gBAAgB,CAAC,OAAO,CAAC,CAAA;IAC1D,yFAAyF;IACzF,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,MAAM,CAAC,gDAAgD,CAAC,CAAA;IACjE,CAAC;IACD,qGAAqG;IACrG,iEAAiE;IACjE,MAAM,SAAS,GAAsB,gBAAgB,CAAC,OAAO,CAAC,CAAA;IAC9D,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,OAAO,MAAM,CAAC,sEAAsE,EAAE;YACpF,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,IAAY,EAAU,EAAE,CAAC,GAAG,IAAI,yCAAyC,CAAC;YAC5F,sEAAsE;SACvE,CAAC,CAAA;IACJ,CAAC;IACD,MAAM,OAAO,GAA0B,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;IAClE,MAAM,YAAY,GAA+B,cAAc,CAAC,OAAO,CAAC,CAAA;IACxE,OAAO,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,iBAAiB,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;AAC5F,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"payload.d.ts","sourceRoot":"","sources":["../../src/checks/payload.ts"],"names":[],"mappings":"AAuBA,OAAO,EACL,KAAK,OAAO,EAGZ,KAAK,MAAM,EAOZ,MAAM,eAAe,CAAA;AACtB,OAAO,EAGL,KAAK,UAAU,EAKhB,MAAM,YAAY,CAAA;AA2BnB,iFAAiF;AACjF,eAAO,MAAM,gBAAgB,GAAI,SAAS,OAAO,KAAG,UAgDnD,CAAA;AAuDD;;;;;;;;;GASG;AACH,eAAO,MAAM,eAAe,GAAI,SAAS,MAAM,KAAG,UA6CjD,CAAA;AAuCD,uFAAuF;AACvF,eAAO,MAAM,YAAY,GAAI,SAAS,MAAM,KAAG,UAmB9C,CAAA;AAOD;;;;;;;;GAQG;AACH,eAAO,MAAM,UAAU,GAAI,SAAS,MAAM,KAAG,UAmC5C,CAAA"}
1
+ {"version":3,"file":"payload.d.ts","sourceRoot":"","sources":["../../src/checks/payload.ts"],"names":[],"mappings":"AA+BA,OAAO,EACL,KAAK,OAAO,EAGZ,KAAK,MAAM,EAOZ,MAAM,eAAe,CAAA;AACtB,OAAO,EAGL,KAAK,UAAU,EAKhB,MAAM,YAAY,CAAA;AA2BnB,iFAAiF;AACjF,eAAO,MAAM,gBAAgB,GAAI,SAAS,OAAO,KAAG,UAgDnD,CAAA;AAuDD;;;;;;;;;GASG;AACH,eAAO,MAAM,eAAe,GAAI,SAAS,MAAM,KAAG,UA6CjD,CAAA;AAuED,uFAAuF;AACvF,eAAO,MAAM,YAAY,GAAI,SAAS,MAAM,KAAG,UAoB9C,CAAA;AAOD;;;;;;;;GAQG;AACH,eAAO,MAAM,UAAU,GAAI,SAAS,MAAM,KAAG,UAmC5C,CAAA"}
@@ -1,8 +1,8 @@
1
1
  // The Payload-specific gates: the generated artefacts must match the configuration that produces them,
2
2
  // and the Local API must be used in a way that neither over-fetches nor skips access control.
3
- import { existsSync, readFileSync } from 'node:fs';
3
+ import { existsSync, readdirSync, readFileSync } from 'node:fs';
4
4
  import path from 'node:path';
5
- import { findDeclaredAdminViews, findEndpointViolations, findGeneratedDrift, findInheritedAccess, findPayloadViolations, findSourceViolations, findUnconstrainedDraftReads, findUnguardedRelationships, findUnscannedAdminViews, parseInheritedAccessReport, payloadConfigPathOf, } from '@ploaness/governance';
5
+ import { declaredMigrationDirectoryIn, declaresPushingAdapter, findBootstrapWrites, findDeclaredAdminViews, findEndpointViolations, findGeneratedDrift, findInheritedAccess, findMissingMigrations, findPayloadViolations, findSourceViolations, findUnconstrainedDraftReads, findUnguardedRelationships, findUnscannedAdminViews, migrationDirectoriesFor, parseInheritedAccessReport, payloadConfigPathOf, stripComments, } from '@ploaness/governance';
6
6
  import { cliDirectory, git, manifestPathFrom, readJson, resolveProjectTool, resolveTool, runEnvironment, workingTreeFiles, } from '../context.js';
7
7
  import { asFindings, failed, passed, runNode, withOutput, } from '../exec.js';
8
8
  // Resolution failure is an answer rather than an exception the caller must catch.
@@ -194,8 +194,31 @@ const reported = (file, violation) => `${file}:${String(violation.line)} [${viol
194
194
  // set rather than one text, and it reports the file that declares the relationship rather than the file
195
195
  // it happens to be judged from.
196
196
  const crossFileFindings = (context, files) => context.isPayload
197
- ? findUnguardedRelationships(files).map((located) => reported(located.path, located.violation))
197
+ ? [...findUnguardedRelationships(files), ...findBootstrapWrites(files)].map((located) => reported(located.path, located.violation))
198
198
  : [];
199
+ // Only the files that declare a configuration are read for one, so a member's whole source is not
200
+ // stripped twice to answer a question about its database.
201
+ const configSources = (files) => files
202
+ .filter((file) => file.source.includes('buildConfig('))
203
+ .map((file) => stripComments(file.source));
204
+ // The filesystem half of the migration rule. WHICH directories to read is decided by governance, from
205
+ // the configuration; what they hold is the only thing this reads, and what it means is decided there
206
+ // too - so a schema recorded under a directory the project named is found the same way as a default one.
207
+ const migrationEvidenceOf = (context, files) => {
208
+ const configs = configSources(files);
209
+ const declaresPush = configs.some((code) => declaresPushingAdapter(code));
210
+ const declared = configs
211
+ .map((code) => declaredMigrationDirectoryIn(code))
212
+ .find((found) => found !== undefined);
213
+ return {
214
+ declaresPushingAdapter: declaresPush,
215
+ directories: migrationDirectoriesFor(declared).flatMap((relative) => {
216
+ const directory = path.join(context.root, relative);
217
+ return existsSync(directory) ? [{ path: relative, names: readdirSync(directory) }] : [];
218
+ }),
219
+ };
220
+ };
221
+ const migrationFindings = (context, files) => context.isPayload ? findMissingMigrations(migrationEvidenceOf(context, files)) : [];
199
222
  /** Apply the source rules to every TypeScript file under the declared source roots. */
200
223
  export const payloadRules = (context) => {
201
224
  const candidates = sourceCandidates(context);
@@ -206,6 +229,7 @@ export const payloadRules = (context) => {
206
229
  const findings = [
207
230
  ...files.flatMap((file) => violationsIn(file, context.isPayload).map((violation) => reported(file.path, violation))),
208
231
  ...crossFileFindings(context, files),
232
+ ...migrationFindings(context, files),
209
233
  ];
210
234
  return findings.length > 0
211
235
  ? failed(`${String(findings.length)} source usage violation(s)`, findings)
@@ -1 +1 @@
1
- {"version":3,"file":"payload.js","sourceRoot":"","sources":["../../src/checks/payload.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"payload.js","sourceRoot":"","sources":["../../src/checks/payload.ts"],"names":[],"mappings":"AAAA,uGAAuG;AACvG,8FAA8F;AAC9F,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAC/D,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EAEL,4BAA4B,EAC5B,sBAAsB,EACtB,mBAAmB,EACnB,sBAAsB,EACtB,sBAAsB,EACtB,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,qBAAqB,EACrB,oBAAoB,EACpB,2BAA2B,EAC3B,0BAA0B,EAC1B,uBAAuB,EAKvB,uBAAuB,EAEvB,0BAA0B,EAC1B,mBAAmB,EAGnB,aAAa,GACd,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAEL,YAAY,EACZ,GAAG,EAEH,gBAAgB,EAChB,QAAQ,EACR,kBAAkB,EAClB,WAAW,EACX,cAAc,EACd,gBAAgB,GACjB,MAAM,eAAe,CAAA;AACtB,OAAO,EACL,UAAU,EACV,MAAM,EAEN,MAAM,EAEN,OAAO,EACP,UAAU,GACX,MAAM,YAAY,CAAA;AAEnB,kFAAkF;AAClF,MAAM,6BAA6B,GAAG,CAAC,OAAgB,EAAE,IAAY,EAAsB,EAAE;IAC3F,IAAI,CAAC;QACH,OAAO,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;IAC1C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAA;IAClB,CAAC;AACH,CAAC,CAAA;AAED,MAAM,aAAa,GAAG,CAAC,IAAY,EAAE,MAAc,EAAsB,EAAE;IACzE,MAAM,IAAI,GAAW,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IAC5C,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;AAClE,CAAC,CAAA;AAED,uGAAuG;AACvG,wGAAwG;AACxG,8BAA8B;AAC9B,MAAM,SAAS,GAAG,CAAC,OAAgB,EAAE,MAAc,EAAW,EAAE;IAC9D,IAAI,CAAC;QACH,OAAO,GAAG,CAAC,OAAO,EAAE,CAAC,UAAU,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAA;IAC5D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC,CAAA;AAED,iFAAiF;AACjF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,OAAgB,EAAc,EAAE;IAC/D,MAAM,UAAU,GAAuB,6BAA6B,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;IACxF,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,OAAO,MAAM,CAAC,wDAAwD,EAAE;YACtE,yFAAyF;SAC1F,CAAC,CAAA;IACJ,CAAC;IACD,oGAAoG;IACpG,qGAAqG;IACrG,qGAAqG;IACrG,sGAAsG;IACtG,kGAAkG;IAClG,mCAAmC;IACnC,MAAM,OAAO,GAAsB,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAA;IACtE,+FAA+F;IAC/F,wBAAwB;IACxB,MAAM,MAAM,GAA4C,IAAI,GAAG,CAC7D,OAAO,CAAC,GAAG,CAAC,CAAC,MAAc,EAAyC,EAAE,CAAC;QACrE,MAAM;QACN,aAAa,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;KACpC,CAAC,CACH,CAAA;IACD,KAAK,MAAM,MAAM,IAAI,CAAC,gBAAgB,EAAE,oBAAoB,CAAC,EAAE,CAAC;QAC9D,MAAM,MAAM,GAAc,OAAO,CAAC,UAAU,EAAE,CAAC,MAAM,CAAC,EAAE;YACtD,GAAG,EAAE,OAAO,CAAC,IAAI;YACjB,8FAA8F;YAC9F,6FAA6F;YAC7F,GAAG,EAAE,EAAE,GAAG,cAAc,CAAC,OAAO,CAAC,EAAE,YAAY,EAAE,kBAAkB,EAAE;SACtE,CAAC,CAAA;QACF,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACtB,OAAO,MAAM,CAAC,WAAW,MAAM,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAA;QACtE,CAAC;IACH,CAAC;IACD,MAAM,WAAW,GAAmC,OAAO,CAAC,GAAG,CAC7D,CAAC,MAAc,EAAuB,EAAE,CAAC,CAAC;QACxC,MAAM;QACN,SAAS,EAAE,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC;QACrC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC;QAC1B,KAAK,EAAE,aAAa,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;KAC3C,CAAC,CACH,CAAA;IACD,MAAM,OAAO,GAAsB,kBAAkB,CAAC,WAAW,CAAC,CAAA;IAClE,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC;QACvB,CAAC,CAAC,MAAM,CAAC,4DAA4D,EAAE;YACnE,GAAG,OAAO;YACV,8BAA8B;SAC/B,CAAC;QACJ,CAAC,CAAC,MAAM,CAAC,yDAAyD,CAAC,CAAA;AACvE,CAAC,CAAA;AAED,oGAAoG;AACpG,wGAAwG;AACxG,uFAAuF;AACvF,MAAM,qBAAqB,GAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAA;AACrF,MAAM,UAAU,GAAsB,CAAC,MAAM,EAAE,QAAQ,EAAE,2BAA2B,CAAC,CAAA;AACrF,yGAAyG;AACzG,MAAM,gBAAgB,GAAW,OAAO,CAAA;AAExC,MAAM,mBAAmB,GAAG,CAAC,OAAgB,EAAsB,EAAE;IACnE,MAAM,QAAQ,GAAuB,gBAAgB,CACnD,SAAS,EACT,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,cAAc,CAAC,CACxC,CAAA;IACD,OAAO,QAAQ,KAAK,SAAS;QAC3B,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,GAAG,qBAAqB,CAAC,CAAA;AACjE,CAAC,CAAA;AAED,iGAAiG;AACjG,yEAAyE;AACzE,MAAM,uBAAuB,GAAG,CAAC,SAAiB,EAAE,UAAkB,EAAU,EAAE;IAChF,MAAM,KAAK,GAAsB;QAC/B,GAAG,CAAC,SAAS,GAAG,CAAC;YACf,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,8DAA8D,CAAC;YACtF,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,UAAU,GAAG,CAAC;YAChB,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,4DAA4D,CAAC;YACrF,CAAC,CAAC,EAAE,CAAC;KACR,CAAA;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACzB,CAAC,CAAA;AAED,wGAAwG;AACxG,yGAAyG;AACzG,MAAM,UAAU,GAAG,CAAC,MAAiB,EAAc,EAAE;IACnD,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,MAAM,CAAC,8CAA8C,EAAE,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAA;IAC1F,CAAC;IACD,MAAM,MAAM,GAAsC,0BAA0B,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IAC3F,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,MAAM,CAAC,6CAA6C,EAAE,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAA;IACzF,CAAC;IACD,MAAM,SAAS,GAAsB,mBAAmB,CAAC,MAAM,CAAC,CAAA;IAChE,MAAM,UAAU,GAAsB,2BAA2B,CAAC,MAAM,CAAC,CAAA;IACzE,MAAM,QAAQ,GAAsB,CAAC,GAAG,SAAS,EAAE,GAAG,UAAU,CAAC,CAAA;IACjE,OAAO,QAAQ,CAAC,MAAM,GAAG,CAAC;QACxB,CAAC,CAAC,MAAM,CAAC,uBAAuB,CAAC,SAAS,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC;QAChF,CAAC,CAAC,MAAM,CACJ,wFAAwF;YACtF,yDAAyD,CAC5D,CAAA;AACP,CAAC,CAAA;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,OAAe,EAAc,EAAE;IAC7D,MAAM,QAAQ,GAAW,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,eAAe,CAAC,CAAA;IACjE,MAAM,UAAU,GAAW,mBAAmB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAA;IAClE,MAAM,UAAU,GAAW,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,CAAC,CAAA;IAC9D,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,OAAO,MAAM,CAAC,8CAA8C,EAAE;YAC5D,GAAG,UAAU,kEAAkE;gBAC7E,yFAAyF;SAC5F,CAAC,CAAA;IACJ,CAAC;IACD,MAAM,iBAAiB,GAAuB,mBAAmB,CAAC,OAAO,CAAC,CAAA;IAC1E,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;QACpC,OAAO,MAAM,CAAC,gDAAgD,EAAE;YAC9D,yFAAyF;SAC1F,CAAC,CAAA;IACJ,CAAC;IACD,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,CAAC;QACnC,OAAO,MAAM,CAAC,+CAA+C,EAAE;YAC7D,GAAG,iBAAiB,yEAAyE;gBAC3F,+BAA+B;SAClC,CAAC,CAAA;IACJ,CAAC;IACD,MAAM,MAAM,GAAc,OAAO,CAC/B,WAAW,CAAC,KAAK,CAAC,EAClB;QACE,YAAY;QACZ,QAAQ;QACR,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,GAAG,UAAU,CAAC;QACxC,UAAU;QACV,iBAAiB;KAClB,EACD;QACE,GAAG,EAAE,OAAO,CAAC,IAAI;QACjB,4FAA4F;QAC5F,iGAAiG;QACjG,iGAAiG;QACjG,GAAG,EAAE;YACH,GAAG,OAAO,CAAC,QAAQ,CAAC,WAAW;YAC/B,GAAG,cAAc,CAAC,OAAO,CAAC;YAC1B,YAAY,EAAE,kBAAkB;SACjC;QACD,SAAS,EAAE,gBAAgB;KAC5B,CACF,CAAA;IACD,OAAO,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;AACtD,CAAC,CAAA;AAED,MAAM,iBAAiB,GAAsB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;AAE5D,oGAAoG;AACpG,wGAAwG;AACxG,uGAAuG;AACvG,oCAAoC;AACpC,MAAM,YAAY,GAAG,CAAC,IAAgB,EAAE,SAAkB,EAA+B,EAAE,CAAC;IAC1F,GAAG,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC;IACpC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACxD,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;CACrE,CAAA;AAED,MAAM,gBAAgB,GAAG,CAAC,OAAe,EAAqB,EAAE;IAC9D,MAAM,KAAK,GAAsB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAA;IAC7D,OAAO,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,CAC1C,CAAC,IAAY,EAAW,EAAE,CACxB,iBAAiB,CAAC,IAAI,CAAC,CAAC,SAAiB,EAAW,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAChF,KAAK,CAAC,IAAI,CAAC,CAAC,IAAY,EAAW,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC;QAClE,CAAC,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC;QAClC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAC5C,CAAA;AACH,CAAC,CAAA;AAED,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAE,SAA2B,EAAU,EAAE,CACrE,GAAG,IAAI,IAAI,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC,IAAI,KAAK,SAAS,CAAC,MAAM,EAAE,CAAA;AAE7E,uGAAuG;AACvG,uGAAuG;AACvG,wGAAwG;AACxG,gCAAgC;AAChC,MAAM,iBAAiB,GAAG,CAAC,OAAe,EAAE,KAA4B,EAAqB,EAAE,CAC7F,OAAO,CAAC,SAAS;IACf,CAAC,CAAC,CAAC,GAAG,0BAA0B,CAAC,KAAK,CAAC,EAAE,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CACvE,CAAC,OAAyB,EAAU,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,SAAS,CAAC,CACjF;IACH,CAAC,CAAC,EAAE,CAAA;AAER,kGAAkG;AAClG,0DAA0D;AAC1D,MAAM,aAAa,GAAG,CAAC,KAA4B,EAAqB,EAAE,CACxE,KAAK;KACF,MAAM,CAAC,CAAC,IAAgB,EAAW,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;KAC3E,GAAG,CAAC,CAAC,IAAgB,EAAU,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;AAElE,sGAAsG;AACtG,qGAAqG;AACrG,yGAAyG;AACzG,MAAM,mBAAmB,GAAG,CAAC,OAAe,EAAE,KAA4B,EAAqB,EAAE;IAC/F,MAAM,OAAO,GAAsB,aAAa,CAAC,KAAK,CAAC,CAAA;IACvD,MAAM,YAAY,GAAY,OAAO,CAAC,IAAI,CAAC,CAAC,IAAY,EAAW,EAAE,CACnE,sBAAsB,CAAC,IAAI,CAAC,CAC7B,CAAA;IACD,MAAM,QAAQ,GAAuB,OAAO;SACzC,GAAG,CAAC,CAAC,IAAY,EAAsB,EAAE,CAAC,4BAA4B,CAAC,IAAI,CAAC,CAAC;SAC7E,IAAI,CAAC,CAAC,KAAyB,EAAmB,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,CAAA;IAC5E,OAAO;QACL,sBAAsB,EAAE,YAAY;QACpC,WAAW,EAAE,uBAAuB,CAAC,QAAQ,CAAC,CAAC,OAAO,CACpD,CAAC,QAAgB,EAAiC,EAAE;YAClD,MAAM,SAAS,GAAW,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;YAC3D,OAAO,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;QACzF,CAAC,CACF;KACF,CAAA;AACH,CAAC,CAAA;AAED,MAAM,iBAAiB,GAAG,CAAC,OAAe,EAAE,KAA4B,EAAqB,EAAE,CAC7F,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,qBAAqB,CAAC,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;AAErF,uFAAuF;AACvF,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,OAAe,EAAc,EAAE;IAC1D,MAAM,UAAU,GAAsB,gBAAgB,CAAC,OAAO,CAAC,CAAA;IAC/D,MAAM,KAAK,GAA0B,UAAU,CAAC,GAAG,CACjD,CAAC,IAAY,EAAc,EAAE,CAAC,CAAC;QAC7B,IAAI,EAAE,IAAI;QACV,MAAM,EAAE,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC;KAC5D,CAAC,CACH,CAAA;IACD,MAAM,QAAQ,GAAsB;QAClC,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,IAAgB,EAAqB,EAAE,CACvD,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,SAA2B,EAAU,EAAE,CAChF,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAC/B,CACF;QACD,GAAG,iBAAiB,CAAC,OAAO,EAAE,KAAK,CAAC;QACpC,GAAG,iBAAiB,CAAC,OAAO,EAAE,KAAK,CAAC;KACrC,CAAA;IACD,OAAO,QAAQ,CAAC,MAAM,GAAG,CAAC;QACxB,CAAC,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,4BAA4B,EAAE,QAAQ,CAAC;QAC1E,CAAC,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,wCAAwC,CAAC,CAAA;AAClF,CAAC,CAAA;AAED,iGAAiG;AACjG,uGAAuG;AACvG,0FAA0F;AAC1F,MAAM,SAAS,GAAW,QAAQ,CAAA;AAElC;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,OAAe,EAAc,EAAE;IACxD,MAAM,KAAK,GAA0B,gBAAgB,CAAC,OAAO,CAAC,CAAC,GAAG,CAChE,CAAC,IAAY,EAAc,EAAE,CAAC,CAAC;QAC7B,IAAI,EAAE,IAAI;QACV,MAAM,EAAE,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC;KAC5D,CAAC,CACH,CAAA;IACD,MAAM,KAAK,GAA0B,KAAK,CAAC,MAAM,CAAC,CAAC,IAAgB,EAAW,EAAE,CAC9E,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAChC,CAAA;IACD,kGAAkG;IAClG,2DAA2D;IAC3D,MAAM,QAAQ,GAAqE,KAAK;SACrF,MAAM,CAAC,CAAC,IAAgB,EAAW,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;SACvE,GAAG,CAAC,CAAC,IAAgB,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,sBAAsB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAU,CAAC,CAAA;IAClF,MAAM,QAAQ,GAAsB,QAAQ,CAAC,OAAO,CAClD,CAAC,CAAC,IAAI,EAAE,KAAK,CAAsD,EAAqB,EAAE,CACxF,uBAAuB,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,GAAG,CAC9C,CAAC,SAA2B,EAAU,EAAE,CACtC,GAAG,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC,IAAI,KAAK,SAAS,CAAC,MAAM,EAAE,CACnF,CACJ,CAAA;IACD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,OAAO,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,uCAAuC,EAAE,QAAQ,CAAC,CAAA;IAC5F,CAAC;IACD,MAAM,KAAK,GAAW,QAAQ,CAAC,MAAM,CACnC,CAAC,KAAa,EAAE,CAAC,EAAE,KAAK,CAAsD,EAAU,EAAE,CACxF,KAAK,GAAG,KAAK,CAAC,MAAM,EACtB,CAAC,CACF,CAAA;IACD,OAAO,MAAM,CACX,KAAK,KAAK,CAAC;QACT,CAAC,CAAC,4CAA4C;QAC9C,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,qDAAqD,CAC1E,CAAA;AACH,CAAC,CAAA"}
@@ -0,0 +1,5 @@
1
+ import { type Context } from '../context.js';
2
+ import { type GateResult } from '../exec.js';
3
+ /** Run the pinned ShellCheck over every tracked shell script. */
4
+ export declare const shell: (context: Context) => GateResult;
5
+ //# sourceMappingURL=shell.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shell.d.ts","sourceRoot":"","sources":["../../src/checks/shell.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,KAAK,OAAO,EAAoB,MAAM,eAAe,CAAA;AAC9D,OAAO,EAGL,KAAK,UAAU,EAKhB,MAAM,YAAY,CAAA;AA2CnB,iEAAiE;AACjE,eAAO,MAAM,KAAK,GAAI,SAAS,OAAO,KAAG,UAkDxC,CAAA"}
@@ -0,0 +1,78 @@
1
+ // ShellCheck over every shell script the repository tracks.
2
+ //
3
+ // A repository's operational scripts are code it runs against its own database and its own deployments,
4
+ // and nothing else in the harness reads them. The image is the one already pinned beside the other
5
+ // containerised analyzers, so this gate adds a rule rather than a dependency.
6
+ import { readFileSync, statSync } from 'node:fs';
7
+ import path from 'node:path';
8
+ import { CONTAINER_IMAGES, findBlanketShellDirectives, shellScriptsIn, } from '@ploaness/governance';
9
+ import { workingTreeFiles } from '../context.js';
10
+ import { asFindings, failed, passed, run, withOutput, } from '../exec.js';
11
+ import { acquireImage, dockerFault } from './container-run.js';
12
+ const SHELLCHECK_IMAGE = CONTAINER_IMAGES.shellcheck;
13
+ const SHELL_GATE = 'the shell gate';
14
+ /** ShellCheck exits 1 when it has findings; 2, 3 and 4 mean it could not analyse at all. */
15
+ const SHELLCHECK_FINDINGS = 1;
16
+ // Read defensively and to a bounded set: `git ls-files` reports symlinks and gitlinks too, and the
17
+ // classifier asks only about paths whose extension could not already have answered. An unreadable file
18
+ // answers with no shebang, which leaves it out of scope rather than failing the run.
19
+ const readTextOrEmpty = (root, file) => {
20
+ try {
21
+ const full = path.join(root, file);
22
+ return statSync(full).isFile() ? readFileSync(full, 'utf8') : '';
23
+ }
24
+ catch {
25
+ return '';
26
+ }
27
+ };
28
+ const firstLineReader = (root) => (file) => readTextOrEmpty(root, file).split('\n', 1)[0] ?? '';
29
+ const blanketFindings = (context, scripts) => scripts.flatMap((file) => findBlanketShellDirectives(readTextOrEmpty(context.root, file)).map((directive) => `${file}:${String(directive.line)} disables shellcheck wholesale with ` +
30
+ `"disable=${directive.directive}"; name the codes a line genuinely needs, or repair the finding`));
31
+ // ShellCheck has three outcomes rather than two, so `fromRun` cannot express the verdict: 0 is a pass, 1
32
+ // is a finding about the project, and 2, 3 and 4 mean it could not read what it was given. Reporting the
33
+ // last as a project defect is the misattribution the docker classifier exists to prevent.
34
+ const shellcheckFault = (result) => result.code === 0 || result.code === SHELLCHECK_FINDINGS
35
+ ? undefined
36
+ : failed(`${SHELL_GATE} could not analyse the scripts it was given`, asFindings(result.output));
37
+ /** Run the pinned ShellCheck over every tracked shell script. */
38
+ export const shell = (context) => {
39
+ const scripts = shellScriptsIn(workingTreeFiles(context.root), firstLineReader(context.root));
40
+ // No script means no container: a project that ships none never needs the image at all.
41
+ if (scripts.length === 0) {
42
+ return passed('the project ships no shell script');
43
+ }
44
+ const blanket = blanketFindings(context, scripts);
45
+ const unavailable = acquireImage(context, SHELLCHECK_IMAGE, SHELL_GATE);
46
+ if (unavailable !== undefined) {
47
+ return unavailable;
48
+ }
49
+ // `--norc` is the load-bearing flag. Without it ShellCheck reads a `.shellcheckrc` from each script's
50
+ // directory and every parent, so a committed `disable=all` would silence this gate from inside the
51
+ // tree it judges - the shadowing the harness already refuses for every other analyzer. `--` keeps a
52
+ // tracked file whose name begins with a dash from being read as an option, and the default severity
53
+ // stands, because a check has two verdicts and neither of them is a warning.
54
+ const result = run('docker', [
55
+ 'run',
56
+ '--rm',
57
+ '-v',
58
+ `${context.root}:/mnt:ro`,
59
+ '--workdir',
60
+ '/mnt',
61
+ SHELLCHECK_IMAGE,
62
+ '--norc',
63
+ '--',
64
+ ...scripts,
65
+ ], { cwd: context.root });
66
+ const faulted = dockerFault(context, SHELLCHECK_IMAGE, SHELL_GATE, result) ?? shellcheckFault(result);
67
+ if (faulted !== undefined) {
68
+ return faulted;
69
+ }
70
+ const findings = [
71
+ ...blanket,
72
+ ...(result.code === SHELLCHECK_FINDINGS ? asFindings(result.output) : []),
73
+ ];
74
+ return withOutput(findings.length > 0
75
+ ? failed(`${String(findings.length)} shell script defect(s)`, findings)
76
+ : passed(`${String(scripts.length)} shell script(s) pass shellcheck`), result.output);
77
+ };
78
+ //# sourceMappingURL=shell.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shell.js","sourceRoot":"","sources":["../../src/checks/shell.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAOA,OAAO,EAUL,KAAK,eAAe,EAYpB,KAAK,QAAQ,EAEd,MAAM,sBAAsB,CAAA;AAI7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AASpD,oDAAoD;AACpD,MAAM,WAAW,OAAO;IACtB,+CAA+C;IAC/C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,wEAAwE;IACxE,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAA;IAC7B,mDAAmD;IACnD,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAA;IAC3B,iFAAiF;IACjF,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAA;CAC7B;AAED;;;;;;GAMG;AACH,MAAM,WAAW,MAAO,SAAQ,OAAO;IACrC,gEAAgE;IAChE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,mGAAmG;IACnG,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;IAC3B;;;;;;OAMG;IACH,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAA;CACzC;AAED;;;;;;GAMG;AACH,MAAM,WAAW,UAAW,SAAQ,OAAO;IACzC,0FAA0F;IAC1F,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAA;IACnC,2FAA2F;IAC3F,QAAQ,CAAC,QAAQ,EAAE,SAAS,eAAe,EAAE,CAAA;CAC9C;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,QAAQ,GAAI,MAAM,MAAM,KAAG,OACqC,CAAA;AAE7E,+DAA+D;AAC/D,eAAO,MAAM,QAAQ,GAAI,MAAM,MAAM,KAAG,MAAM,GAAG,SACU,CAAA;AAE3D,gDAAgD;AAChD,eAAO,MAAM,aAAa,GAAI,MAAM,MAAM,EAAE,YAAY,OAAO,KAAG,OAGjE,CAAA;AA0CD;;;;;;;;GAQG;AACH,eAAO,MAAM,WAAW,GACtB,aAAa,MAAM,EACnB,UAAU,MAAM,EAChB,cAAa,MAAM,CAAC,OAAqB,KACxC,MAoBF,CAAA;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,aAAa,GAAI,SAAS,OAAO,KAAG,OACF,CAAA;AAE/C;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,GAC7B,SAAS,OAAO,EAChB,aAAa,MAAM,EACnB,UAAU,MAAM,KACf,MACwF,CAAA;AAE3F;;;;;;;;;;GAUG;AACH,eAAO,MAAM,gBAAgB,GAAI,aAAa,MAAM,EAAE,cAAc,MAAM,KAAG,MAAM,GAAG,SAMrF,CAAA;AAED,+FAA+F;AAC/F,eAAO,MAAM,gBAAgB,GAAI,aAAa,MAAM,KAAG,MACX,CAAA;AAE5C,8FAA8F;AAC9F,eAAO,MAAM,YAAY,QAAO,MACkC,CAAA;AAElE,sEAAsE;AACtE,eAAO,MAAM,GAAG,GAAI,SAAS,OAAO,EAAE,kBAAkB,SAAS,MAAM,EAAE,KAAG,MAQjE,CAAA;AAEX;;;;;;GAMG;AACH,eAAO,MAAM,QAAQ,QAAO,MAAM,CAAC,MAAM,EAAE,OAAO,CAGjD,CAAA;AA8HD;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,GAAI,KAAK,MAAM,EAAE,YAAY,OAAO,KAAG,UAiCnE,CAAA;AA+BD;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,QAAQ,GAAI,YAAY,UAAU,EAAE,KAAK,MAAM,KAAG,MAAM,GAAG,SAyBvE,CAAA;AAED;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,cAAc,GAAI,SAAS,OAAO,KAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAS9E,CAAA"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAOA,OAAO,EAUL,KAAK,eAAe,EAYpB,KAAK,QAAQ,EAEd,MAAM,sBAAsB,CAAA;AAI7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AASpD,oDAAoD;AACpD,MAAM,WAAW,OAAO;IACtB,+CAA+C;IAC/C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,wEAAwE;IACxE,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAA;IAC7B,mDAAmD;IACnD,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAA;IAC3B,iFAAiF;IACjF,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAA;CAC7B;AAED;;;;;;GAMG;AACH,MAAM,WAAW,MAAO,SAAQ,OAAO;IACrC,gEAAgE;IAChE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,mGAAmG;IACnG,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;IAC3B;;;;;;OAMG;IACH,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAA;CACzC;AAED;;;;;;GAMG;AACH,MAAM,WAAW,UAAW,SAAQ,OAAO;IACzC,0FAA0F;IAC1F,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAA;IACnC,2FAA2F;IAC3F,QAAQ,CAAC,QAAQ,EAAE,SAAS,eAAe,EAAE,CAAA;CAC9C;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,QAAQ,GAAI,MAAM,MAAM,KAAG,OACqC,CAAA;AAE7E,+DAA+D;AAC/D,eAAO,MAAM,QAAQ,GAAI,MAAM,MAAM,KAAG,MAAM,GAAG,SACU,CAAA;AAE3D,gDAAgD;AAChD,eAAO,MAAM,aAAa,GAAI,MAAM,MAAM,EAAE,YAAY,OAAO,KAAG,OAGjE,CAAA;AA0CD;;;;;;;;GAQG;AACH,eAAO,MAAM,WAAW,GACtB,aAAa,MAAM,EACnB,UAAU,MAAM,EAChB,cAAa,MAAM,CAAC,OAAqB,KACxC,MAoBF,CAAA;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,aAAa,GAAI,SAAS,OAAO,KAAG,OACF,CAAA;AAE/C;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,GAC7B,SAAS,OAAO,EAChB,aAAa,MAAM,EACnB,UAAU,MAAM,KACf,MACwF,CAAA;AAE3F;;;;;;;;;;GAUG;AACH,eAAO,MAAM,gBAAgB,GAAI,aAAa,MAAM,EAAE,cAAc,MAAM,KAAG,MAAM,GAAG,SAMrF,CAAA;AAED,+FAA+F;AAC/F,eAAO,MAAM,gBAAgB,GAAI,aAAa,MAAM,KAAG,MACX,CAAA;AAE5C,8FAA8F;AAC9F,eAAO,MAAM,YAAY,QAAO,MACkC,CAAA;AAElE,sEAAsE;AACtE,eAAO,MAAM,GAAG,GAAI,SAAS,OAAO,EAAE,kBAAkB,SAAS,MAAM,EAAE,KAAG,MAQjE,CAAA;AAEX;;;;;;GAMG;AACH,eAAO,MAAM,QAAQ,QAAO,MAAM,CAAC,MAAM,EAAE,OAAO,CAGjD,CAAA;AA8HD;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,GAAI,KAAK,MAAM,EAAE,YAAY,OAAO,KAAG,UAiCnE,CAAA;AA2CD;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,QAAQ,GAAI,YAAY,UAAU,EAAE,KAAK,MAAM,KAAG,MAAM,GAAG,SAyBvE,CAAA;AAED;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,cAAc,GAAI,SAAS,OAAO,KAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAS9E,CAAA"}
package/dist/context.js CHANGED
@@ -287,10 +287,18 @@ const withMemberExclusions = (base, members) => {
287
287
  .map((entry) => entry.memberPath === undefined
288
288
  ? entry.pattern
289
289
  : { memberPath: entry.memberPath, pattern: entry.pattern });
290
+ // Globs only, so the rebased pattern is the plain repository-relative string the line cap matches.
291
+ const globsFor = (setting) => rebased
292
+ .filter((entry) => entry.setting === setting &&
293
+ entry.kind === 'glob' &&
294
+ entry.reason.length > 0 &&
295
+ entry.pattern.length > 0)
296
+ .map((entry) => entry.pattern);
290
297
  return {
291
298
  ...base,
292
299
  typographyExclusions: [...base.typographyExclusions, ...patternsFor('typographyExclusions')],
293
300
  javascriptAllowlist: [...base.javascriptAllowlist, ...patternsFor('javascriptAllowlist')],
301
+ generatedArtefacts: [...base.generatedArtefacts, ...globsFor('generatedArtefacts')],
294
302
  };
295
303
  };
296
304
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"gates.d.ts","sourceRoot":"","sources":["../src/gates.ts"],"names":[],"mappings":"AAsCA,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,IAAI,IAAI,EAAE,MAAM,cAAc,CAAA;AAC9D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAE3C,oDAAoD;AACpD,UAAU,QAAQ;IAChB,2DAA2D;IAC3D,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,uDAAuD;IACvD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,gEAAgE;IAChE,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAA;IAC5B;;;;;;OAMG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAA;CAClC;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,IAAI,GACZ,CAAC,QAAQ,GAAG;IACV,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAA;IAC5B,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;CAC/D,CAAC,GACF,CAAC,QAAQ,GAAG;IACV,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS,CAAA;IACrC,QAAQ,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;CACnE,CAAC,CAAA;AA6RN,+CAA+C;AAC/C,eAAO,MAAM,SAAS,EAAE,SAAS,IAAI,EAAuD,CAAA;AAE5F;;;GAGG;AACH,eAAO,MAAM,QAAQ,GAAI,YAAY,OAAO,KAAG,SAAS,IAAI,EACF,CAAA;AAE1D,sCAAsC;AACtC,eAAO,MAAM,QAAQ,GAAI,IAAI,MAAM,KAAG,IAAI,GAAG,SACY,CAAA;AAEzD,iFAAiF;AACjF,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAA;IACnB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAA;CACpC;AAQD;;;;;;;;;GASG;AACH,eAAO,MAAM,OAAO,GAAI,YAAY,IAAI,EAAE,YAAY,OAAO,KAAG,SAAS,WAAW,EAsBnF,CAAA"}
1
+ {"version":3,"file":"gates.d.ts","sourceRoot":"","sources":["../src/gates.ts"],"names":[],"mappings":"AAwCA,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,IAAI,IAAI,EAAE,MAAM,cAAc,CAAA;AAC9D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAE3C,oDAAoD;AACpD,UAAU,QAAQ;IAChB,2DAA2D;IAC3D,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,uDAAuD;IACvD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,gEAAgE;IAChE,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAA;IAC5B;;;;;;OAMG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAA;CAClC;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,IAAI,GACZ,CAAC,QAAQ,GAAG;IACV,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAA;IAC5B,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;CAC/D,CAAC,GACF,CAAC,QAAQ,GAAG;IACV,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS,CAAA;IACrC,QAAQ,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;CACnE,CAAC,CAAA;AA2SN,+CAA+C;AAC/C,eAAO,MAAM,SAAS,EAAE,SAAS,IAAI,EAAuD,CAAA;AAE5F;;;GAGG;AACH,eAAO,MAAM,QAAQ,GAAI,YAAY,OAAO,KAAG,SAAS,IAAI,EACF,CAAA;AAE1D,sCAAsC;AACtC,eAAO,MAAM,QAAQ,GAAI,IAAI,MAAM,KAAG,IAAI,GAAG,SACY,CAAA;AAEzD,iFAAiF;AACjF,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAA;IACnB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAA;CACpC;AAQD;;;;;;;;;GASG;AACH,eAAO,MAAM,OAAO,GAAI,YAAY,IAAI,EAAE,YAAY,OAAO,KAAG,SAAS,WAAW,EAsBnF,CAAA"}
package/dist/gates.js CHANGED
@@ -9,12 +9,14 @@ import { editorconfig } from './checks/editorconfig.js';
9
9
  import { environment } from './checks/environment.js';
10
10
  import { generatedDenial } from './checks/generated.js';
11
11
  import { commitHistory, linearHistory, requireFullHistory } from './checks/history.js';
12
+ import { infrastructure } from './checks/infra.js';
12
13
  import { installScripts, releaseAge } from './checks/install.js';
13
14
  import { bundle, imageAssets } from './checks/integrity.js';
14
15
  import { oxlint } from './checks/oxlint.js';
15
16
  import { adminViews, payloadDefaults, payloadGenerated, payloadRules } from './checks/payload.js';
16
17
  import { preflight } from './checks/preflight.js';
17
18
  import { configReferences, documentation, skills } from './checks/references.js';
19
+ import { shell } from './checks/shell.js';
18
20
  import { suppressions } from './checks/suppressions.js';
19
21
  import { tailwindTokens } from './checks/tailwind.js';
20
22
  import { build, endToEnd, tests } from './checks/tests.js';
@@ -262,8 +264,22 @@ const DEFAULT_GATES = [
262
264
  },
263
265
  { id: 'tests', scope: 'package', title: 'suite and coverage', isExtended: false, run: tests },
264
266
  ];
265
- /** Extended verification adds history, build, bundle, and end-to-end checks. */
267
+ /**
268
+ * Extended verification adds the shell scripts, the infrastructure definitions, history, build, bundle,
269
+ * and end-to-end checks.
270
+ */
266
271
  const EXTENDED_GATES = [
272
+ // First in the tier because it is the cheapest thing in it: a static read of the tracked scripts,
273
+ // ahead of a production build that takes minutes. A broken deployment script should be reported
274
+ // before the time is spent, not after.
275
+ { id: 'shell', scope: 'repository', title: 'shell scripts', isExtended: true, run: shell },
276
+ {
277
+ id: 'infra',
278
+ scope: 'repository',
279
+ title: 'infrastructure definitions',
280
+ isExtended: true,
281
+ run: infrastructure,
282
+ },
267
283
  {
268
284
  id: 'require-full-history',
269
285
  scope: 'repository',
package/dist/gates.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"gates.js","sourceRoot":"","sources":["../src/gates.ts"],"names":[],"mappings":"AAAA,0GAA0G;AAE1G,OAAO,EAIL,SAAS,GACV,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACjD,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AACrD,OAAO,EAAE,mBAAmB,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AACzF,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACvD,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AACtF,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAChE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAC3C,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AACjG,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACjD,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAChF,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAC1D,OAAO,EACL,YAAY,EACZ,KAAK,EACL,WAAW,EACX,GAAG,EACH,MAAM,EACN,IAAI,EACJ,YAAY,EACZ,KAAK,GACN,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC3D,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAwC3C,oEAAoE;AACpE,MAAM,aAAa,GAAoB;IACrC;QACE,EAAE,EAAE,WAAW;QACf,KAAK,EAAE,YAAY;QACnB,KAAK,EAAE,2BAA2B;QAClC,UAAU,EAAE,KAAK;QACjB,cAAc,EAAE,IAAI;QACpB,GAAG,EAAE,SAAS;KACf;IACD;QACE,EAAE,EAAE,QAAQ;QACZ,KAAK,EAAE,YAAY;QACnB,KAAK,EAAE,gBAAgB;QACvB,UAAU,EAAE,KAAK;QACjB,cAAc,EAAE,IAAI;QACpB,GAAG,EAAE,MAAM;KACZ;IACD,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE;IAC7F;QACE,EAAE,EAAE,eAAe;QACnB,KAAK,EAAE,YAAY;QACnB,KAAK,EAAE,0BAA0B;QACjC,UAAU,EAAE,KAAK;QACjB,GAAG,EAAE,YAAY;KAClB;IACD,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE;IAC5F;QACE,EAAE,EAAE,OAAO;QACX,KAAK,EAAE,SAAS;QAChB,KAAK,EAAE,0BAA0B;QACjC,UAAU,EAAE,KAAK;QACjB,GAAG,EAAE,KAAK;KACX;IACD;QACE,EAAE,EAAE,cAAc;QAClB,KAAK,EAAE,YAAY;QACnB,KAAK,EAAE,oBAAoB;QAC3B,UAAU,EAAE,KAAK;QACjB,GAAG,EAAE,WAAW;KACjB;IACD;QACE,EAAE,EAAE,QAAQ;QACZ,KAAK,EAAE,SAAS;QAChB,KAAK,EAAE,wCAAwC;QAC/C,UAAU,EAAE,KAAK;QACjB,GAAG,EAAE,MAAM;KACZ;IACD,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE;IAC5F;QACE,EAAE,EAAE,aAAa;QACjB,KAAK,EAAE,YAAY;QACnB,KAAK,EAAE,oBAAoB;QAC3B,UAAU,EAAE,KAAK;QACjB,GAAG,EAAE,WAAW;KACjB;IACD;QACE,EAAE,EAAE,cAAc;QAClB,KAAK,EAAE,YAAY;QACnB,KAAK,EAAE,sBAAsB;QAC7B,UAAU,EAAE,KAAK;QACjB,GAAG,EAAE,YAAY;KAClB;IACD;QACE,EAAE,EAAE,cAAc;QAClB,KAAK,EAAE,SAAS;QAChB,KAAK,EAAE,qBAAqB;QAC5B,UAAU,EAAE,KAAK;QACjB,GAAG,EAAE,YAAY;KAClB;IACD,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE;IACnF;QACE,EAAE,EAAE,iBAAiB;QACrB,KAAK,EAAE,SAAS;QAChB,KAAK,EAAE,6BAA6B;QACpC,UAAU,EAAE,KAAK;QACjB,GAAG,EAAE,cAAc;KACpB;IACD;QACE,EAAE,EAAE,MAAM;QACV,KAAK,EAAE,SAAS;QAChB,KAAK,EAAE,qBAAqB;QAC5B,UAAU,EAAE,KAAK;QACjB,GAAG,EAAE,YAAY;KAClB;IACD;QACE,EAAE,EAAE,eAAe;QACnB,KAAK,EAAE,SAAS;QAChB,KAAK,EAAE,eAAe;QACtB,UAAU,EAAE,KAAK;QACjB,GAAG,EAAE,YAAY;KAClB;IACD;QACE,EAAE,EAAE,mBAAmB;QACvB,KAAK,EAAE,SAAS;QAChB,KAAK,EAAE,6BAA6B;QACpC,UAAU,EAAE,KAAK;QACjB,GAAG,EAAE,gBAAgB;KACtB;IACD;QACE,mGAAmG;QACnG,uEAAuE;QACvE,EAAE,EAAE,kBAAkB;QACtB,KAAK,EAAE,SAAS;QAChB,KAAK,EAAE,2CAA2C;QAClD,UAAU,EAAE,KAAK;QACjB,GAAG,EAAE,eAAe;KACrB;IACD;QACE,EAAE,EAAE,kBAAkB;QACtB,KAAK,EAAE,YAAY;QACnB,KAAK,EAAE,wBAAwB;QAC/B,UAAU,EAAE,KAAK;QACjB,GAAG,EAAE,eAAe;KACrB;IACD;QACE,EAAE,EAAE,eAAe;QACnB,kGAAkG;QAClG,+CAA+C;QAC/C,KAAK,EAAE,SAAS;QAChB,KAAK,EAAE,oBAAoB;QAC3B,UAAU,EAAE,KAAK;QACjB,GAAG,EAAE,YAAY;KAClB;IACD;QACE,6FAA6F;QAC7F,qEAAqE;QACrE,EAAE,EAAE,aAAa;QACjB,KAAK,EAAE,SAAS;QAChB,KAAK,EAAE,4BAA4B;QACnC,UAAU,EAAE,KAAK;QACjB,GAAG,EAAE,UAAU;KAChB;IACD;QACE,EAAE,EAAE,aAAa;QACjB,KAAK,EAAE,SAAS;QAChB,KAAK,EAAE,mBAAmB;QAC1B,UAAU,EAAE,KAAK;QACjB,GAAG,EAAE,gBAAgB;KACtB;IACD,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE;IAC7F;QACE,EAAE,EAAE,UAAU;QACd,KAAK,EAAE,YAAY;QACnB,KAAK,EAAE,qBAAqB;QAC5B,UAAU,EAAE,KAAK;QACjB,GAAG,EAAE,QAAQ;KACd;IACD;QACE,EAAE,EAAE,iBAAiB;QACrB,KAAK,EAAE,YAAY;QACnB,KAAK,EAAE,uBAAuB;QAC9B,UAAU,EAAE,KAAK;QACjB,GAAG,EAAE,eAAe;KACrB;IACD;QACE,EAAE,EAAE,iBAAiB;QACrB,KAAK,EAAE,YAAY;QACnB,KAAK,EAAE,0BAA0B;QACjC,UAAU,EAAE,KAAK;QACjB,GAAG,EAAE,cAAc;KACpB;IACD;QACE,EAAE,EAAE,aAAa;QACjB,KAAK,EAAE,YAAY;QACnB,KAAK,EAAE,mBAAmB;QAC1B,UAAU,EAAE,KAAK;QACjB,GAAG,EAAE,UAAU;KAChB;IACD,gGAAgG;IAChG,oBAAoB;IACpB;QACE,EAAE,EAAE,WAAW;QACf,KAAK,EAAE,YAAY;QACnB,KAAK,EAAE,6BAA6B;QACpC,UAAU,EAAE,KAAK;QACjB,GAAG,EAAE,SAAS;KACf;IACD;QACE,EAAE,EAAE,MAAM;QACV,KAAK,EAAE,YAAY;QACnB,KAAK,EAAE,sBAAsB;QAC7B,UAAU,EAAE,KAAK;QACjB,GAAG,EAAE,mBAAmB;KACzB;IACD;QACE,EAAE,EAAE,cAAc;QAClB,KAAK,EAAE,YAAY;QACnB,KAAK,EAAE,iBAAiB;QACxB,UAAU,EAAE,KAAK;QACjB,GAAG,EAAE,WAAW;KACjB;IACD;QACE,mGAAmG;QACnG,qFAAqF;QACrF,EAAE,EAAE,aAAa;QACjB,KAAK,EAAE,YAAY;QACnB,KAAK,EAAE,gCAAgC;QACvC,UAAU,EAAE,KAAK;QACjB,GAAG,EAAE,WAAW;KACjB;IACD;QACE,EAAE,EAAE,MAAM;QACV,KAAK,EAAE,YAAY;QACnB,KAAK,EAAE,gCAAgC;QACvC,UAAU,EAAE,KAAK;QACjB,gGAAgG;QAChG,mGAAmG;QACnG,4EAA4E;QAC5E,GAAG,EAAE,CAAC,UAAgB,EAAc,EAAE,CACpC,aAAa,CAAC,UAAU,EAAE,IAAI,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAU,EAAU,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;KACrF;IACD;QACE,EAAE,EAAE,QAAQ;QACZ,KAAK,EAAE,YAAY;QACnB,KAAK,EAAE,uBAAuB;QAC9B,UAAU,EAAE,KAAK;QACjB,GAAG,EAAE,MAAM;KACZ;IACD;QACE,EAAE,EAAE,QAAQ;QACZ,KAAK,EAAE,YAAY;QACnB,KAAK,EAAE,uBAAuB;QAC9B,UAAU,EAAE,KAAK;QACjB,GAAG,EAAE,UAAU;KAChB;IACD;QACE,EAAE,EAAE,SAAS;QACb,KAAK,EAAE,YAAY;QACnB,KAAK,EAAE,sBAAsB;QAC7B,UAAU,EAAE,KAAK;QACjB,GAAG,EAAE,OAAO;KACb;IACD;QACE,EAAE,EAAE,MAAM;QACV,KAAK,EAAE,SAAS;QAChB,KAAK,EAAE,mCAAmC;QAC1C,UAAU,EAAE,KAAK;QACjB,GAAG,EAAE,IAAI;KACV;IACD,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,oBAAoB,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE;CAC9F,CAAA;AAED,gFAAgF;AAChF,MAAM,cAAc,GAAoB;IACtC;QACE,EAAE,EAAE,sBAAsB;QAC1B,KAAK,EAAE,YAAY;QACnB,KAAK,EAAE,sBAAsB;QAC7B,UAAU,EAAE,IAAI;QAChB,GAAG,EAAE,kBAAkB;KACxB;IACD;QACE,EAAE,EAAE,gBAAgB;QACpB,KAAK,EAAE,YAAY;QACnB,KAAK,EAAE,0CAA0C;QACjD,UAAU,EAAE,IAAI;QAChB,GAAG,EAAE,aAAa;KACnB;IACD;QACE,EAAE,EAAE,gBAAgB;QACpB,KAAK,EAAE,YAAY;QACnB,KAAK,EAAE,gBAAgB;QACvB,UAAU,EAAE,IAAI;QAChB,GAAG,EAAE,aAAa;KACnB;IACD,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE;IAC1F,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,sBAAsB,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE;IAChG,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE;CAC5F,CAAA;AAED,wGAAwG;AACxG,qGAAqG;AACrG,gGAAgG;AAChG,uDAAuD;AACvD,MAAM,WAAW,GAAS;IACxB,EAAE,EAAE,aAAa;IACjB,KAAK,EAAE,YAAY;IACnB,KAAK,EAAE,wBAAwB;IAC/B,UAAU,EAAE,KAAK;IACjB,GAAG,EAAE,UAAU;CAChB,CAAA;AAED,+CAA+C;AAC/C,MAAM,CAAC,MAAM,SAAS,GAAoB,CAAC,GAAG,aAAa,EAAE,GAAG,cAAc,EAAE,WAAW,CAAC,CAAA;AAE5F;;;GAGG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,UAAmB,EAAmB,EAAE,CAC/D,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,aAAa,EAAE,WAAW,CAAC,CAAA;AAE1D,sCAAsC;AACtC,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,EAAU,EAAoB,EAAE,CACvD,SAAS,CAAC,IAAI,CAAC,CAAC,IAAU,EAAW,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAA;AAQzD,MAAM,QAAQ,GAAG,CAAC,IAAU,EAAkB,EAAE,CAAC,CAAC;IAChD,EAAE,EAAE,IAAI,CAAC,EAAE;IACX,KAAK,EAAE,IAAI,CAAC,KAAK;IACjB,UAAU,EAAE,IAAI,CAAC,UAAU;CAC5B,CAAC,CAAA;AAEF;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,UAAgB,EAAE,UAAmB,EAA0B,EAAE;IACvF,MAAM,OAAO,GAAgC,UAAU,CAAC,OAAO,CAAC,GAAG,CACjE,CAAC,MAAc,EAAoB,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,CAC3F,CAAA;IACD,OAAO,SAAS,CACd,SAAS,CAAC,GAAG,CAAC,CAAC,IAAU,EAAkB,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAC7D,OAAO,EACP,UAAU,CACX,CAAC,OAAO,CAAC,CAAC,IAAc,EAA0B,EAAE;QACnD,MAAM,IAAI,GAAqB,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACpD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,OAAO,EAAE,CAAA;QACX,CAAC;QACD,OAAO;YACL;gBACE,IAAI;gBACJ,MAAM,EAAE,UAAU,CAAC,OAAO,CAAC,IAAI,CAC7B,CAAC,SAAiB,EAAW,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,IAAI,CAAC,MAAM,CAC/D;aACF;SACF,CAAA;IACH,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA"}
1
+ {"version":3,"file":"gates.js","sourceRoot":"","sources":["../src/gates.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ /** Give actionlint a disposable, Docker-readable view of the governed working tree. */
2
+ export declare const withWorkflowMirror: <Value>(root: string, candidates: readonly string[], use: (mirror: string) => Value) => Value;
3
+ //# sourceMappingURL=workflow-mirror.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-mirror.d.ts","sourceRoot":"","sources":["../src/workflow-mirror.ts"],"names":[],"mappings":"AAmCA,uFAAuF;AACvF,eAAO,MAAM,kBAAkB,GAAI,KAAK,EACtC,MAAM,MAAM,EACZ,YAAY,SAAS,MAAM,EAAE,EAC7B,KAAK,CAAC,MAAM,EAAE,MAAM,KAAK,KAAK,KAC7B,KAiBF,CAAA"}
@@ -0,0 +1,46 @@
1
+ import { lstatSync, mkdirSync, mkdtempSync, readFileSync, readlinkSync, rmSync, symlinkSync, writeFileSync, } from 'node:fs';
2
+ import { homedir } from 'node:os';
3
+ import path from 'node:path';
4
+ const mirrorFile = (root, destination, candidate) => {
5
+ const relative = path.normalize(candidate);
6
+ if (relative === '..' || path.isAbsolute(relative) || relative.startsWith(`..${path.sep}`)) {
7
+ throw new Error(`Workflow input is outside the repository: ${candidate}`);
8
+ }
9
+ const source = path.join(root, relative);
10
+ const stat = lstatSync(source, { throwIfNoEntry: false });
11
+ if (stat === undefined || stat.isDirectory()) {
12
+ return;
13
+ }
14
+ const target = path.join(destination, relative);
15
+ mkdirSync(path.dirname(target), { recursive: true });
16
+ if (stat.isSymbolicLink()) {
17
+ symlinkSync(readlinkSync(source), target);
18
+ }
19
+ else if (stat.isFile()) {
20
+ writeFileSync(target, readFileSync(source));
21
+ }
22
+ else {
23
+ throw new Error(`Workflow input is not a regular file or symbolic link: ${candidate}`);
24
+ }
25
+ };
26
+ /** Give actionlint a disposable, Docker-readable view of the governed working tree. */
27
+ export const withWorkflowMirror = (root, candidates, use) => {
28
+ // Docker on macOS may not read Downloads or the system temporary directory. Mount an inner
29
+ // directory under home; the private outer directory stays outside the container's filesystem.
30
+ const directory = mkdtempSync(path.join(homedir(), '.ploaness-actions-'));
31
+ const mirror = path.join(directory, 'repo');
32
+ try {
33
+ mkdirSync(path.join(mirror, '.github', 'workflows'), { recursive: true });
34
+ // actionlint uses this marker to retain local-action and reusable-workflow validation. It
35
+ // does not read Git history. All governed files retain their paths, including action entrypoints.
36
+ mkdirSync(path.join(mirror, '.git'));
37
+ for (const candidate of candidates) {
38
+ mirrorFile(root, mirror, candidate);
39
+ }
40
+ return use(mirror);
41
+ }
42
+ finally {
43
+ rmSync(directory, { recursive: true, force: true });
44
+ }
45
+ };
46
+ //# sourceMappingURL=workflow-mirror.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-mirror.js","sourceRoot":"","sources":["../src/workflow-mirror.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,SAAS,EACT,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,MAAM,EAEN,WAAW,EACX,aAAa,GACd,MAAM,SAAS,CAAA;AAChB,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B,MAAM,UAAU,GAAG,CAAC,IAAY,EAAE,WAAmB,EAAE,SAAiB,EAAQ,EAAE;IAChF,MAAM,QAAQ,GAAW,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;IAClD,IAAI,QAAQ,KAAK,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QAC3F,MAAM,IAAI,KAAK,CAAC,6CAA6C,SAAS,EAAE,CAAC,CAAA;IAC3E,CAAC;IACD,MAAM,MAAM,GAAW,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;IAChD,MAAM,IAAI,GAAsB,SAAS,CAAC,MAAM,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAA;IAC5E,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;QAC7C,OAAM;IACR,CAAC;IACD,MAAM,MAAM,GAAW,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAA;IACvD,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IACpD,IAAI,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC;QAC1B,WAAW,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAA;IAC3C,CAAC;SAAM,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;QACzB,aAAa,CAAC,MAAM,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC,CAAA;IAC7C,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CAAC,0DAA0D,SAAS,EAAE,CAAC,CAAA;IACxF,CAAC;AACH,CAAC,CAAA;AAED,uFAAuF;AACvF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,IAAY,EACZ,UAA6B,EAC7B,GAA8B,EACvB,EAAE;IACT,2FAA2F;IAC3F,8FAA8F;IAC9F,MAAM,SAAS,GAAW,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,oBAAoB,CAAC,CAAC,CAAA;IACjF,MAAM,MAAM,GAAW,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;IACnD,IAAI,CAAC;QACH,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QACzE,0FAA0F;QAC1F,kGAAkG;QAClG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;QACpC,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACnC,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,CAAA;QACrC,CAAC;QACD,OAAO,GAAG,CAAC,MAAM,CAAC,CAAA;IACpB,CAAC;YAAS,CAAC;QACT,MAAM,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;IACrD,CAAC;AACH,CAAC,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ploaness/cli",
3
- "version": "1.2.0",
3
+ "version": "1.4.0",
4
4
  "description": "The executable half of ploaness: the verification gates and the commands that run them.",
5
5
  "license": "MIT",
6
6
  "author": "Herman Ciechanowiec <herman@ciechanowiec.eu>",
@@ -31,20 +31,20 @@
31
31
  "dist"
32
32
  ],
33
33
  "dependencies": {
34
- "@biomejs/biome": "2.5.11",
35
- "@ploaness/assets": "1.2.0",
36
- "@ploaness/config": "1.2.0",
37
- "@ploaness/governance": "1.2.0",
38
- "@vitest/coverage-v8": "4.1.11",
39
- "dependency-cruiser": "18.2.0",
40
- "eslint": "10.9.1",
41
- "knip": "6.34.0",
42
- "oxlint": "1.81.0",
43
- "stylelint": "17.14.1",
34
+ "@biomejs/biome": "2.5.13",
35
+ "@ploaness/assets": "1.4.0",
36
+ "@ploaness/config": "1.4.0",
37
+ "@ploaness/governance": "1.4.0",
38
+ "@vitest/coverage-v8": "5.0.1",
39
+ "dependency-cruiser": "18.3.1",
40
+ "eslint": "10.10.0",
41
+ "knip": "6.35.1",
42
+ "oxlint": "1.83.0",
43
+ "stylelint": "17.15.0",
44
44
  "tsx": "4.23.13",
45
45
  "type-coverage": "2.30.1",
46
46
  "typescript": "6.0.3",
47
- "vitest": "4.1.11"
47
+ "vitest": "5.0.1"
48
48
  },
49
49
  "engines": {
50
50
  "node": ">=26"