@ploaness/cli 1.0.0 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/checks/containers.d.ts +1 -1
- package/dist/checks/containers.d.ts.map +1 -1
- package/dist/checks/containers.js +31 -27
- package/dist/checks/containers.js.map +1 -1
- package/dist/checks/conventions.d.ts +2 -1
- package/dist/checks/conventions.d.ts.map +1 -1
- package/dist/checks/conventions.js +9 -7
- package/dist/checks/conventions.js.map +1 -1
- package/dist/checks/dependencies.d.ts.map +1 -1
- package/dist/checks/dependencies.js +29 -11
- package/dist/checks/dependencies.js.map +1 -1
- package/dist/checks/editorconfig.d.ts +1 -1
- package/dist/checks/editorconfig.d.ts.map +1 -1
- package/dist/checks/editorconfig.js +7 -6
- package/dist/checks/editorconfig.js.map +1 -1
- package/dist/checks/environment.d.ts +13 -0
- package/dist/checks/environment.d.ts.map +1 -0
- package/dist/checks/environment.js +56 -0
- package/dist/checks/environment.js.map +1 -0
- package/dist/checks/integrity.d.ts +1 -1
- package/dist/checks/integrity.d.ts.map +1 -1
- package/dist/checks/integrity.js +4 -4
- package/dist/checks/integrity.js.map +1 -1
- package/dist/checks/payload.d.ts +11 -1
- package/dist/checks/payload.d.ts.map +1 -1
- package/dist/checks/payload.js +93 -24
- package/dist/checks/payload.js.map +1 -1
- package/dist/checks/references.d.ts.map +1 -1
- package/dist/checks/references.js +3 -3
- package/dist/checks/references.js.map +1 -1
- package/dist/checks/suppressions.d.ts.map +1 -1
- package/dist/checks/suppressions.js +3 -3
- package/dist/checks/suppressions.js.map +1 -1
- package/dist/checks/tailwind.d.ts.map +1 -1
- package/dist/checks/tailwind.js +3 -3
- package/dist/checks/tailwind.js.map +1 -1
- package/dist/checks/tests.d.ts.map +1 -1
- package/dist/checks/tests.js +13 -5
- package/dist/checks/tests.js.map +1 -1
- package/dist/checks/tree.d.ts +8 -1
- package/dist/checks/tree.d.ts.map +1 -1
- package/dist/checks/tree.js +14 -6
- package/dist/checks/tree.js.map +1 -1
- package/dist/checks/wiring.d.ts.map +1 -1
- package/dist/checks/wiring.js +34 -1
- package/dist/checks/wiring.js.map +1 -1
- package/dist/commands/format.d.ts +4 -1
- package/dist/commands/format.d.ts.map +1 -1
- package/dist/commands/format.js +17 -3
- package/dist/commands/format.js.map +1 -1
- package/dist/context.d.ts +23 -2
- package/dist/context.d.ts.map +1 -1
- package/dist/context.js +39 -13
- package/dist/context.js.map +1 -1
- package/dist/gates.d.ts.map +1 -1
- package/dist/gates.js +20 -1
- package/dist/gates.js.map +1 -1
- package/dist/secret-mirror.d.ts +3 -0
- package/dist/secret-mirror.d.ts.map +1 -0
- package/dist/secret-mirror.js +51 -0
- package/dist/secret-mirror.js.map +1 -0
- package/package.json +6 -6
- package/dist/commands/hooks.d.ts +0 -9
- package/dist/commands/hooks.d.ts.map +0 -1
- package/dist/commands/hooks.js +0 -57
- package/dist/commands/hooks.js.map +0 -1
package/dist/checks/wiring.js
CHANGED
|
@@ -56,6 +56,17 @@ const ownedVersions = () => Object.assign({}, ...pinGroups().map((group) => grou
|
|
|
56
56
|
// one would leave the other name in TEST_LIBRARY_NAMES pinning nothing at all, silently.
|
|
57
57
|
const asStringArray = (value) => isArray(value) ? value.filter((entry) => typeof entry === 'string') : [];
|
|
58
58
|
const VERSION_SOURCES = ['@ploaness/config', '@ploaness/cli'];
|
|
59
|
+
// The release version, read from the running harness rather than written down again. `@ploaness/runtime`
|
|
60
|
+
// is a sibling of this CLI and the six are published together at one version, which
|
|
61
|
+
// `scripts/lib/check-release-version.ts` is what makes true - so the CLI's own `version` IS the version
|
|
62
|
+
// a project must declare the runtime package at, and a bump moves it with no edit here. It cannot be
|
|
63
|
+
// read from the meta package's dependencies, the way a pinned analyzer is: `ploaness` depends on this
|
|
64
|
+
// package rather than the reverse, so under pnpm's strict layout the CLI cannot resolve it.
|
|
65
|
+
const harnessRuntimeVersion = () => {
|
|
66
|
+
const manifest = readJson(shippedFile('@ploaness/cli', 'package.json'));
|
|
67
|
+
const version = asOptionalText(readKey(manifest, 'version'));
|
|
68
|
+
return version === undefined ? {} : { [HARNESS_RUNTIME]: version };
|
|
69
|
+
};
|
|
59
70
|
const declaredBy = (packageName) => {
|
|
60
71
|
const manifest = readJson(shippedFile(packageName, 'package.json'));
|
|
61
72
|
return asRecord(readKey(manifest, 'dependencies'));
|
|
@@ -79,8 +90,29 @@ const expectedTestLibraries = () => {
|
|
|
79
90
|
// still wins, because `fromEntries` keeps the last entry for a repeated key.
|
|
80
91
|
const declared = Object.fromEntries(VERSION_SOURCES.flatMap((source) => Object.entries(declaredBy(source))));
|
|
81
92
|
const fromDependencies = asStringRecord(Object.fromEntries(TEST_LIBRARY_NAMES.map((name) => [name, declared[name]])));
|
|
82
|
-
return { ...fromDependencies, ...ownedVersions() };
|
|
93
|
+
return { ...fromDependencies, ...ownedVersions(), ...harnessRuntimeVersion() };
|
|
83
94
|
};
|
|
95
|
+
/**
|
|
96
|
+
* The runtime helpers a governed application calls, which every application therefore declares.
|
|
97
|
+
*
|
|
98
|
+
* Required rather than merely pinned, on the same reasoning that makes the browser packages required:
|
|
99
|
+
* ploaness ships something that is not optional, so resolving what it names is not optional either.
|
|
100
|
+
* There the artefact is the managed accessibility sweep; here it is the Layer 6 rule that a URL from a
|
|
101
|
+
* CMS field passes through `safeHref` before it reaches an `href` - a rule the guide states binds with
|
|
102
|
+
* the same force as one a gate enforces, and one no gate CAN enforce.
|
|
103
|
+
*
|
|
104
|
+
* The alternative was to leave it optional and have the guide say "add this dependency first". That
|
|
105
|
+
* puts an install step between a developer and an XSS fix, at the one moment friction is most
|
|
106
|
+
* expensive, in service of a rule nothing verifies. An unused declaration costs a governed project a
|
|
107
|
+
* line in a manifest and a few hundred bytes in a production install: the package is pure and declares
|
|
108
|
+
* no dependencies of its own.
|
|
109
|
+
*
|
|
110
|
+
* The usual objection does not apply. Forcing a declaration normally manufactures a dependency the
|
|
111
|
+
* dead-code gate reports as unused - which is why `pins.json` forces nothing - but the shipped
|
|
112
|
+
* `knip.json` already ignores `@ploaness/.+`, because ploaness packages are reached through configs
|
|
113
|
+
* knip cannot trace. So this creates no finding anywhere.
|
|
114
|
+
*/
|
|
115
|
+
const HARNESS_RUNTIME = '@ploaness/runtime';
|
|
84
116
|
// A member's own required set. Only a member that serves an application needs the browser packages: a
|
|
85
117
|
// library has no page to sweep, and requiring them would manufacture dependencies the dead-code gate
|
|
86
118
|
// then rightly reports as unused.
|
|
@@ -88,6 +120,7 @@ const BROWSER_LIBRARIES = new Set([
|
|
|
88
120
|
'@playwright/test',
|
|
89
121
|
'@axe-core/playwright',
|
|
90
122
|
'tsx',
|
|
123
|
+
HARNESS_RUNTIME,
|
|
91
124
|
]);
|
|
92
125
|
// The specs of every governed package import these, so pnpm's strict layout means every package must
|
|
93
126
|
// declare them. The browser three are added only where there is an application to drive.
|
|
@@ -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,4 +1,7 @@
|
|
|
1
1
|
import type { Repository } from '../context.js';
|
|
2
|
-
/**
|
|
2
|
+
/**
|
|
3
|
+
* Apply Biome's formatting and safe fixes, then ESLint's fixable rules, then Biome once more, in
|
|
4
|
+
* every member. The closing pass is what makes the command leave a tree the `biome` gate accepts.
|
|
5
|
+
*/
|
|
3
6
|
export declare const format: (repository: Repository) => number;
|
|
4
7
|
//# sourceMappingURL=format.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../src/commands/format.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAU,UAAU,EAAE,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../src/commands/format.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAU,UAAU,EAAE,MAAM,eAAe,CAAA;AAsCvD;;;GAGG;AACH,eAAO,MAAM,MAAM,GAAI,YAAY,UAAU,KAAG,MAO/C,CAAA"}
|
package/dist/commands/format.js
CHANGED
|
@@ -21,11 +21,25 @@ const formatMember = (member, isSolo) => {
|
|
|
21
21
|
if (eslint.output.length > 0) {
|
|
22
22
|
console.info(eslint.output);
|
|
23
23
|
}
|
|
24
|
+
// Biome runs again because ESLint's fixers wrote last and Biome is the formatter. A fixer emits
|
|
25
|
+
// whatever its rule considers correct, not whatever the formatter would have printed, so the pass
|
|
26
|
+
// above can leave text that the `biome` gate then fails on - and it did:
|
|
27
|
+
// `unicorn/prefer-negative-index` rewrote `values.slice(0, values.length - 1)` to
|
|
28
|
+
// `values.slice(0, - 1)`, which is a formatting defect the gate reports on a change format itself
|
|
29
|
+
// made. Running format twice repaired it, which is the tell: the command was one pass short of a
|
|
30
|
+
// fixed point rather than wrong about any single fix. Biome's writer is deterministic and converges,
|
|
31
|
+
// so this pass costs one process and changes nothing when there was nothing to settle.
|
|
32
|
+
const settled = biomeWrite(member);
|
|
33
|
+
console.info(settled.output);
|
|
24
34
|
// ESLint exits non-zero for findings it cannot fix. Those are for `ploaness verify` to report, so
|
|
25
|
-
// formatting succeeds as long as Biome could write
|
|
26
|
-
|
|
35
|
+
// formatting succeeds as long as Biome could write - and the second run is the one that describes
|
|
36
|
+
// the tree the caller is actually left with.
|
|
37
|
+
return biome.code === 0 && settled.code === 0 ? 0 : 1;
|
|
27
38
|
};
|
|
28
|
-
/**
|
|
39
|
+
/**
|
|
40
|
+
* Apply Biome's formatting and safe fixes, then ESLint's fixable rules, then Biome once more, in
|
|
41
|
+
* every member. The closing pass is what makes the command leave a tree the `biome` gate accepts.
|
|
42
|
+
*/
|
|
29
43
|
export const format = (repository) => {
|
|
30
44
|
const isSolo = repository.members.length <= 1;
|
|
31
45
|
const codes = repository.members.map((member) => formatMember(member, isSolo));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/commands/format.ts"],"names":[],"mappings":"AAAA,yDAAyD;AACzD,sGAAsG;AACtG,cAAc;AACd,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAIhE,qGAAqG;AACrG,sGAAsG;AACtG,6FAA6F;AAC7F,MAAM,YAAY,GAAG,CAAC,MAAc,EAAE,MAAe,EAAU,EAAE;IAC/D,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,CAAA;IAClC,CAAC;IACD,qGAAqG;IACrG,sGAAsG;IACtG,mGAAmG;IACnG,kGAAkG;IAClG,gGAAgG;IAChG,mFAAmF;IACnF,MAAM,KAAK,GAAc,UAAU,CAAC,MAAM,CAAC,CAAA;IAC3C,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IAC1B,MAAM,MAAM,GAAc,WAAW,CAAC,MAAM,CAAC,CAAA;IAC7C,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IAC7B,CAAC;IACD,kGAAkG;IAClG,
|
|
1
|
+
{"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/commands/format.ts"],"names":[],"mappings":"AAAA,yDAAyD;AACzD,sGAAsG;AACtG,cAAc;AACd,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAIhE,qGAAqG;AACrG,sGAAsG;AACtG,6FAA6F;AAC7F,MAAM,YAAY,GAAG,CAAC,MAAc,EAAE,MAAe,EAAU,EAAE;IAC/D,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,CAAA;IAClC,CAAC;IACD,qGAAqG;IACrG,sGAAsG;IACtG,mGAAmG;IACnG,kGAAkG;IAClG,gGAAgG;IAChG,mFAAmF;IACnF,MAAM,KAAK,GAAc,UAAU,CAAC,MAAM,CAAC,CAAA;IAC3C,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IAC1B,MAAM,MAAM,GAAc,WAAW,CAAC,MAAM,CAAC,CAAA;IAC7C,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IAC7B,CAAC;IACD,gGAAgG;IAChG,kGAAkG;IAClG,yEAAyE;IACzE,kFAAkF;IAClF,kGAAkG;IAClG,iGAAiG;IACjG,qGAAqG;IACrG,uFAAuF;IACvF,MAAM,OAAO,GAAc,UAAU,CAAC,MAAM,CAAC,CAAA;IAC7C,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IAC5B,kGAAkG;IAClG,kGAAkG;IAClG,6CAA6C;IAC7C,OAAO,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,OAAO,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AACvD,CAAC,CAAA;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,UAAsB,EAAU,EAAE;IACvD,MAAM,MAAM,GAAY,UAAU,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,CAAA;IACtD,MAAM,KAAK,GAAsB,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAc,EAAU,EAAE,CACjF,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAC7B,CAAA;IACD,OAAO,CAAC,IAAI,CAAC,kEAAkE,CAAC,CAAA;IAChF,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,IAAY,EAAW,EAAE,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAClE,CAAC,CAAA"}
|
package/dist/context.d.ts
CHANGED
|
@@ -104,8 +104,29 @@ export declare const manifestPathFrom: (packageName: string, fromManifest: strin
|
|
|
104
104
|
export declare const shippedDirectory: (packageName: string) => string;
|
|
105
105
|
/** Locate this module's own package directory, used to report the running harness version. */
|
|
106
106
|
export declare const cliDirectory: () => string;
|
|
107
|
-
/**
|
|
108
|
-
|
|
107
|
+
/**
|
|
108
|
+
* List the repository's files as they exist on disk, NUL-delimited so paths with spaces survive intact.
|
|
109
|
+
*
|
|
110
|
+
* `--cached --others --exclude-standard` rather than the bare `git ls-files` this used to run, and the
|
|
111
|
+
* difference is the whole guarantee. The bare form lists the INDEX, so a file that had been written but
|
|
112
|
+
* not staged was invisible to every check built on this - the typography ban, the line-length check,
|
|
113
|
+
* the suppression ceiling, the Payload usage rules, the tree fingerprint, and the discovery of which
|
|
114
|
+
* directories are governed members at all. An agent's loop is write, verify, commit; nothing in that
|
|
115
|
+
* loop stages anything, so a session could run twelve checks over its own new code, see them all pass,
|
|
116
|
+
* and have the commit rejected by a rule that had simply never been shown the file. A green run is
|
|
117
|
+
* documented as a verdict, and against the index it was not one.
|
|
118
|
+
*
|
|
119
|
+
* `--exclude-standard` is what keeps that honest in the other direction: everything a project ignores
|
|
120
|
+
* stays out, so a build directory or a coverage report does not arrive as new source.
|
|
121
|
+
*
|
|
122
|
+
* Deliberately not memoised, though it is called once per consuming check and twice more for the
|
|
123
|
+
* fingerprint. Measured at about a millisecond over the bare form on a few hundred files, which buys
|
|
124
|
+
* nothing worth a cache - and a cached list is exactly the defect above, one layer in: the second
|
|
125
|
+
* fingerprint MUST see a file a gate created since the first, and a memo is a promise that it will not.
|
|
126
|
+
* @param root the directory to enumerate, which for a member is that member's own directory.
|
|
127
|
+
* @returns every file git can see there that the project does not ignore.
|
|
128
|
+
*/
|
|
129
|
+
export declare const workingTreeFiles: (root: string) => readonly string[];
|
|
109
130
|
/** Run a git command in the project and return its trimmed stdout. */
|
|
110
131
|
export declare const git: (context: Context, commandArguments: readonly string[]) => string;
|
|
111
132
|
/**
|
package/dist/context.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAOA,OAAO,EAUL,KAAK,eAAe,EAWpB,KAAK,QAAQ,EAEd,MAAM,sBAAsB,CAAA;AAS7B,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
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAOA,OAAO,EAUL,KAAK,eAAe,EAWpB,KAAK,QAAQ,EAEd,MAAM,sBAAsB,CAAA;AAS7B,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;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,gBAAgB,GAAI,MAAM,MAAM,KAAG,SAAS,MAAM,EASZ,CAAA;AAEnD,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;AA2HD;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,GAAI,KAAK,MAAM,EAAE,YAAY,OAAO,KAAG,UAiCnE,CAAA;AAuBD;;;;;;;;;;;;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
|
@@ -138,8 +138,29 @@ export const manifestPathFrom = (packageName, fromManifest) => {
|
|
|
138
138
|
export const shippedDirectory = (packageName) => packageDirectory(packageName, nodeRequire);
|
|
139
139
|
/** Locate this module's own package directory, used to report the running harness version. */
|
|
140
140
|
export const cliDirectory = () => path.resolve(path.dirname(fileURLToPath(import.meta.url)), '..');
|
|
141
|
-
/**
|
|
142
|
-
|
|
141
|
+
/**
|
|
142
|
+
* List the repository's files as they exist on disk, NUL-delimited so paths with spaces survive intact.
|
|
143
|
+
*
|
|
144
|
+
* `--cached --others --exclude-standard` rather than the bare `git ls-files` this used to run, and the
|
|
145
|
+
* difference is the whole guarantee. The bare form lists the INDEX, so a file that had been written but
|
|
146
|
+
* not staged was invisible to every check built on this - the typography ban, the line-length check,
|
|
147
|
+
* the suppression ceiling, the Payload usage rules, the tree fingerprint, and the discovery of which
|
|
148
|
+
* directories are governed members at all. An agent's loop is write, verify, commit; nothing in that
|
|
149
|
+
* loop stages anything, so a session could run twelve checks over its own new code, see them all pass,
|
|
150
|
+
* and have the commit rejected by a rule that had simply never been shown the file. A green run is
|
|
151
|
+
* documented as a verdict, and against the index it was not one.
|
|
152
|
+
*
|
|
153
|
+
* `--exclude-standard` is what keeps that honest in the other direction: everything a project ignores
|
|
154
|
+
* stays out, so a build directory or a coverage report does not arrive as new source.
|
|
155
|
+
*
|
|
156
|
+
* Deliberately not memoised, though it is called once per consuming check and twice more for the
|
|
157
|
+
* fingerprint. Measured at about a millisecond over the bare form on a few hundred files, which buys
|
|
158
|
+
* nothing worth a cache - and a cached list is exactly the defect above, one layer in: the second
|
|
159
|
+
* fingerprint MUST see a file a gate created since the first, and a memo is a promise that it will not.
|
|
160
|
+
* @param root the directory to enumerate, which for a member is that member's own directory.
|
|
161
|
+
* @returns every file git can see there that the project does not ignore.
|
|
162
|
+
*/
|
|
163
|
+
export const workingTreeFiles = (root) => execFileSync('git', ['ls-files', '-z', '--cached', '--others', '--exclude-standard'], {
|
|
143
164
|
cwd: root,
|
|
144
165
|
encoding: 'utf8',
|
|
145
166
|
maxBuffer: MAX_OUTPUT_BYTES,
|
|
@@ -177,17 +198,22 @@ const ancestorsOf = (directory) => {
|
|
|
177
198
|
return parent === directory ? [directory] : [directory, ...ancestorsOf(parent)];
|
|
178
199
|
};
|
|
179
200
|
const hasEntry = (directory, entry) => existsSync(path.join(directory, entry));
|
|
180
|
-
// Candidate project directories come from the
|
|
181
|
-
// directory git
|
|
182
|
-
//
|
|
183
|
-
//
|
|
184
|
-
//
|
|
185
|
-
//
|
|
186
|
-
//
|
|
187
|
-
//
|
|
201
|
+
// Candidate project directories come from the working tree rather than from a filesystem walk, so a
|
|
202
|
+
// directory git IGNORES - a build output, a scratch copy, an uninstalled example - can never become a
|
|
203
|
+
// governed member, while one that merely has not been staged yet does.
|
|
204
|
+
//
|
|
205
|
+
// That second half used to be false, and it was the most expensive half of reading the index instead of
|
|
206
|
+
// the tree. A check reading the index scans one file too few; discovery reading the index loses a whole
|
|
207
|
+
// PACKAGE - it is absent from the run plan, so its gates are not skipped, they are never planned, and
|
|
208
|
+
// the report says nothing at all about it. A member that appears only once somebody remembers to stage
|
|
209
|
+
// it is not governance.
|
|
210
|
+
//
|
|
211
|
+
// A directory that is not a repository at all has exactly one project, itself: the integration fixtures
|
|
212
|
+
// install into such a directory before any commit exists, and asking git there fails rather than
|
|
213
|
+
// answering.
|
|
188
214
|
const manifestDirectories = (root) => {
|
|
189
215
|
try {
|
|
190
|
-
return
|
|
216
|
+
return workingTreeManifestDirectories(root);
|
|
191
217
|
}
|
|
192
218
|
catch {
|
|
193
219
|
// Not a repository yet. `ploaness init` is run on exactly such a tree - a fresh checkout, or a
|
|
@@ -212,7 +238,7 @@ const walkManifestDirectories = (root, relative = ROOT_MEMBER_PATH, depth = 0) =
|
|
|
212
238
|
.flatMap((entry) => walkManifestDirectories(root, relative === ROOT_MEMBER_PATH ? entry.name : path.join(relative, entry.name), depth + 1));
|
|
213
239
|
return [...here, ...children];
|
|
214
240
|
};
|
|
215
|
-
const
|
|
241
|
+
const workingTreeManifestDirectories = (root) => workingTreeFiles(root)
|
|
216
242
|
.filter((file) => path.basename(file) === MANIFEST)
|
|
217
243
|
.map((file) => {
|
|
218
244
|
const directory = path.dirname(file);
|
|
@@ -278,7 +304,7 @@ export const createRepository = (cwd, isEnforced) => {
|
|
|
278
304
|
members,
|
|
279
305
|
};
|
|
280
306
|
};
|
|
281
|
-
// The gates that walk the
|
|
307
|
+
// The gates that walk the working tree run once, at the root, while a member declares its exclusions
|
|
282
308
|
// relative to itself. Without this a generated directory a member correctly excused starts failing
|
|
283
309
|
// them, because the pattern it wrote is anchored one directory above where the gate is looking.
|
|
284
310
|
const withMemberExclusions = (base, members) => {
|
package/dist/context.js.map
CHANGED
|
@@ -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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"}
|
package/dist/gates.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gates.d.ts","sourceRoot":"","sources":["../src/gates.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"gates.d.ts","sourceRoot":"","sources":["../src/gates.ts"],"names":[],"mappings":"AA6CA,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;AA6PN,+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
|
@@ -14,11 +14,12 @@ import { actions, containers, secrets } from './checks/containers.js';
|
|
|
14
14
|
import { conventions } from './checks/conventions.js';
|
|
15
15
|
import { dependencyFreshness, licenses, vulnerabilities } from './checks/dependencies.js';
|
|
16
16
|
import { editorconfig } from './checks/editorconfig.js';
|
|
17
|
+
import { environment } from './checks/environment.js';
|
|
17
18
|
import { generatedDenial } from './checks/generated.js';
|
|
18
19
|
import { commitHistory, linearHistory, requireFullHistory } from './checks/history.js';
|
|
19
20
|
import { installScripts } from './checks/install.js';
|
|
20
21
|
import { bundle, imageAssets } from './checks/integrity.js';
|
|
21
|
-
import { payloadGenerated, payloadRules } from './checks/payload.js';
|
|
22
|
+
import { adminViews, payloadGenerated, payloadRules } from './checks/payload.js';
|
|
22
23
|
import { preflight } from './checks/preflight.js';
|
|
23
24
|
import { configReferences, documentation, skills } from './checks/references.js';
|
|
24
25
|
import { suppressions } from './checks/suppressions.js';
|
|
@@ -135,6 +136,15 @@ const DEFAULT_GATES = [
|
|
|
135
136
|
isExtended: false,
|
|
136
137
|
run: payloadRules,
|
|
137
138
|
},
|
|
139
|
+
{
|
|
140
|
+
// Payload scope: a custom admin view is a thing only Payload has, and the exemption it hides
|
|
141
|
+
// behind is one ploaness itself writes into the accessibility sweep.
|
|
142
|
+
id: 'admin-views',
|
|
143
|
+
scope: 'payload',
|
|
144
|
+
title: 'custom admin views scanned',
|
|
145
|
+
isExtended: false,
|
|
146
|
+
run: adminViews,
|
|
147
|
+
},
|
|
138
148
|
{
|
|
139
149
|
id: 'config-refs',
|
|
140
150
|
scope: 'package',
|
|
@@ -178,6 +188,15 @@ const DEFAULT_GATES = [
|
|
|
178
188
|
isExtended: false,
|
|
179
189
|
run: imageAssets,
|
|
180
190
|
},
|
|
191
|
+
{
|
|
192
|
+
// After `config-refs` and before `docs`, with the other rot gates: the same kind of finding, which
|
|
193
|
+
// is a declaration in one file that another file was supposed to follow and did not.
|
|
194
|
+
id: 'environment',
|
|
195
|
+
scope: 'repository',
|
|
196
|
+
title: 'environment variable coherence',
|
|
197
|
+
isExtended: false,
|
|
198
|
+
run: environment,
|
|
199
|
+
},
|
|
181
200
|
{
|
|
182
201
|
id: 'docs',
|
|
183
202
|
scope: 'repository',
|
package/dist/gates.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gates.js","sourceRoot":"","sources":["../src/gates.ts"],"names":[],"mappings":"AAAA,uGAAuG;AACvG,yGAAyG;AACzG,wGAAwG;AACxG,wGAAwG;AACxG,sGAAsG;AACtG,yCAAyC;AACzC,EAAE;AACF,sGAAsG;AACtG,mGAAmG;AACnG,mFAAmF;AAEnF,OAAO,EAIL,SAAS,GACV,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAC3C,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,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACvD,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AACtF,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"gates.js","sourceRoot":"","sources":["../src/gates.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
/** Mirror regular non-binary working-tree candidates, retaining repository-relative paths. */
|
|
2
|
+
export declare const mirrorSecretCandidates: (root: string, destination: string, candidates: readonly string[]) => readonly string[];
|
|
3
|
+
//# sourceMappingURL=secret-mirror.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"secret-mirror.d.ts","sourceRoot":"","sources":["../src/secret-mirror.ts"],"names":[],"mappings":"AAuDA,8FAA8F;AAC9F,eAAO,MAAM,sBAAsB,GACjC,MAAM,MAAM,EACZ,aAAa,MAAM,EACnB,YAAY,SAAS,MAAM,EAAE,KAC5B,SAAS,MAAM,EAG0E,CAAA"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
// A bounded filesystem view for the working-tree half of the secret scan.
|
|
2
|
+
//
|
|
3
|
+
// Gitleaks directory mode has no Git awareness. Pointed at the repository itself it reads dependencies,
|
|
4
|
+
// build output, and ignored local environments - files the repository neither tracks nor governs. The
|
|
5
|
+
// caller supplies Git's own working-tree enumeration instead, and this module preserves only those
|
|
6
|
+
// regular text files under their repository-relative paths.
|
|
7
|
+
import { lstatSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs';
|
|
8
|
+
import path from 'node:path';
|
|
9
|
+
const NUL = 0;
|
|
10
|
+
const isContainedRelativePath = (candidate) => {
|
|
11
|
+
const normalized = path.normalize(candidate);
|
|
12
|
+
return (!path.isAbsolute(normalized) && normalized !== '..' && !normalized.startsWith(`..${path.sep}`));
|
|
13
|
+
};
|
|
14
|
+
const isMissing = (error) => typeof error === 'object' &&
|
|
15
|
+
error !== null &&
|
|
16
|
+
'code' in error &&
|
|
17
|
+
error.code === 'ENOENT';
|
|
18
|
+
const readExistingFile = (target) => {
|
|
19
|
+
const stat = lstatSync(target, { throwIfNoEntry: false });
|
|
20
|
+
if (stat?.isFile() !== true) {
|
|
21
|
+
return undefined;
|
|
22
|
+
}
|
|
23
|
+
try {
|
|
24
|
+
return readFileSync(target);
|
|
25
|
+
}
|
|
26
|
+
catch (error) {
|
|
27
|
+
if (isMissing(error)) {
|
|
28
|
+
return undefined;
|
|
29
|
+
}
|
|
30
|
+
throw error;
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
const isText = (content) => !content.includes(NUL);
|
|
34
|
+
const mirrorOne = (root, destination, candidate) => {
|
|
35
|
+
if (!isContainedRelativePath(candidate)) {
|
|
36
|
+
return undefined;
|
|
37
|
+
}
|
|
38
|
+
const content = readExistingFile(path.join(root, candidate));
|
|
39
|
+
if (content === undefined || !isText(content)) {
|
|
40
|
+
return undefined;
|
|
41
|
+
}
|
|
42
|
+
const output = path.join(destination, candidate);
|
|
43
|
+
mkdirSync(path.dirname(output), { recursive: true });
|
|
44
|
+
writeFileSync(output, content);
|
|
45
|
+
return candidate;
|
|
46
|
+
};
|
|
47
|
+
/** Mirror regular non-binary working-tree candidates, retaining repository-relative paths. */
|
|
48
|
+
export const mirrorSecretCandidates = (root, destination, candidates) => candidates
|
|
49
|
+
.map((candidate) => mirrorOne(root, destination, candidate))
|
|
50
|
+
.filter((candidate) => candidate !== undefined);
|
|
51
|
+
//# sourceMappingURL=secret-mirror.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"secret-mirror.js","sourceRoot":"","sources":["../src/secret-mirror.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,EAAE;AACF,wGAAwG;AACxG,sGAAsG;AACtG,mGAAmG;AACnG,4DAA4D;AAC5D,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAc,aAAa,EAAE,MAAM,SAAS,CAAA;AACvF,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B,MAAM,GAAG,GAAW,CAAC,CAAA;AAErB,MAAM,uBAAuB,GAAG,CAAC,SAAiB,EAAW,EAAE;IAC7D,MAAM,UAAU,GAAW,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;IACpD,OAAO,CACL,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,UAAU,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC,GAAG,EAAE,CAAC,CAC/F,CAAA;AACH,CAAC,CAAA;AAED,MAAM,SAAS,GAAG,CAAC,KAAc,EAAW,EAAE,CAC5C,OAAO,KAAK,KAAK,QAAQ;IACzB,KAAK,KAAK,IAAI;IACd,MAAM,IAAI,KAAK;IACd,KAAqC,CAAC,IAAI,KAAK,QAAQ,CAAA;AAE1D,MAAM,gBAAgB,GAAG,CAAC,MAAc,EAA0B,EAAE;IAClE,MAAM,IAAI,GAAsB,SAAS,CAAC,MAAM,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAA;IAC5E,IAAI,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,EAAE,CAAC;QAC5B,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,IAAI,CAAC;QACH,OAAO,YAAY,CAAC,MAAM,CAAC,CAAA;IAC7B,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,IAAI,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;YACrB,OAAO,SAAS,CAAA;QAClB,CAAC;QACD,MAAM,KAAK,CAAA;IACb,CAAC;AACH,CAAC,CAAA;AAED,MAAM,MAAM,GAAG,CAAC,OAAmB,EAAW,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;AAEvE,MAAM,SAAS,GAAG,CAAC,IAAY,EAAE,WAAmB,EAAE,SAAiB,EAAsB,EAAE;IAC7F,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAAC,EAAE,CAAC;QACxC,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,MAAM,OAAO,GAA2B,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAA;IACpF,IAAI,OAAO,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;QAC9C,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,MAAM,MAAM,GAAW,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,CAAA;IACxD,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IACpD,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC9B,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA;AAED,8FAA8F;AAC9F,MAAM,CAAC,MAAM,sBAAsB,GAAG,CACpC,IAAY,EACZ,WAAmB,EACnB,UAA6B,EACV,EAAE,CACrB,UAAU;KACP,GAAG,CAAC,CAAC,SAAiB,EAAsB,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;KACvF,MAAM,CAAC,CAAC,SAA6B,EAAuB,EAAE,CAAC,SAAS,KAAK,SAAS,CAAC,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ploaness/cli",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.1.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>",
|
|
@@ -32,15 +32,15 @@
|
|
|
32
32
|
],
|
|
33
33
|
"dependencies": {
|
|
34
34
|
"@biomejs/biome": "2.5.11",
|
|
35
|
-
"@ploaness/assets": "1.
|
|
36
|
-
"@ploaness/config": "1.
|
|
37
|
-
"@ploaness/governance": "1.
|
|
35
|
+
"@ploaness/assets": "1.1.0",
|
|
36
|
+
"@ploaness/config": "1.1.0",
|
|
37
|
+
"@ploaness/governance": "1.1.0",
|
|
38
38
|
"@vitest/coverage-v8": "4.1.11",
|
|
39
39
|
"dependency-cruiser": "18.2.0",
|
|
40
40
|
"eslint": "10.9.1",
|
|
41
|
-
"knip": "6.
|
|
41
|
+
"knip": "6.34.0",
|
|
42
42
|
"stylelint": "17.14.1",
|
|
43
|
-
"tsx": "4.23.
|
|
43
|
+
"tsx": "4.23.13",
|
|
44
44
|
"type-coverage": "2.30.1",
|
|
45
45
|
"typescript": "6.0.3",
|
|
46
46
|
"vitest": "4.1.11"
|
package/dist/commands/hooks.d.ts
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { type Context } from '../context.js';
|
|
2
|
-
/** The pre-commit hook: formatting on staged files, then a full type check. */
|
|
3
|
-
export declare const precommit: (context: Context) => number;
|
|
4
|
-
/**
|
|
5
|
-
* The commit-message entry point, in three modes: a pending message file (the commit-msg hook), a
|
|
6
|
-
* revision range, or the whole history.
|
|
7
|
-
*/
|
|
8
|
-
export declare const commitMessage: (context: Context, mode: string | undefined, value: string | undefined) => number;
|
|
9
|
-
//# sourceMappingURL=hooks.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../src/commands/hooks.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,OAAO,EAAe,MAAM,eAAe,CAAA;AAGzD,+EAA+E;AAC/E,eAAO,MAAM,SAAS,GAAI,SAAS,OAAO,KAAG,MAuB5C,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,aAAa,GACxB,SAAS,OAAO,EAChB,MAAM,MAAM,GAAG,SAAS,EACxB,OAAO,MAAM,GAAG,SAAS,KACxB,MA2BF,CAAA"}
|
package/dist/commands/hooks.js
DELETED
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
// The git-hook entry points. A hook must be fast enough that a developer does not learn to pass
|
|
2
|
-
// --no-verify, so the pre-commit path runs only the two checks that catch most of what a commit gets
|
|
3
|
-
// wrong, and CI remains the backstop for everything else.
|
|
4
|
-
import { readFileSync } from 'node:fs';
|
|
5
|
-
import { commitHistory, commitMessageProblems } from '../checks/history.js';
|
|
6
|
-
import { resolveTool } from '../context.js';
|
|
7
|
-
import { runNode } from '../exec.js';
|
|
8
|
-
/** The pre-commit hook: formatting on staged files, then a full type check. */
|
|
9
|
-
export const precommit = (context) => {
|
|
10
|
-
const biome = runNode(resolveTool('@biomejs/biome', 'biome'), ['check', '--staged', '--no-errors-on-unmatched'], { cwd: context.root });
|
|
11
|
-
if (biome.code !== 0) {
|
|
12
|
-
console.error(biome.output);
|
|
13
|
-
return 1;
|
|
14
|
-
}
|
|
15
|
-
const types = runNode(resolveTool('typescript', 'tsc'), ['--noEmit', '-p', 'tsconfig.json'], {
|
|
16
|
-
cwd: context.root,
|
|
17
|
-
});
|
|
18
|
-
if (types.code !== 0) {
|
|
19
|
-
console.error(types.output);
|
|
20
|
-
return 1;
|
|
21
|
-
}
|
|
22
|
-
console.info('ploaness precommit: staged formatting and the type check are clean.');
|
|
23
|
-
return 0;
|
|
24
|
-
};
|
|
25
|
-
/**
|
|
26
|
-
* The commit-message entry point, in three modes: a pending message file (the commit-msg hook), a
|
|
27
|
-
* revision range, or the whole history.
|
|
28
|
-
*/
|
|
29
|
-
export const commitMessage = (context, mode, value) => {
|
|
30
|
-
if (mode === undefined) {
|
|
31
|
-
console.error('usage: ploaness commit-message <message-file> | --range <base>..<head> | --all');
|
|
32
|
-
return 1;
|
|
33
|
-
}
|
|
34
|
-
if (mode === '--all' || mode === '--range') {
|
|
35
|
-
const revisions = mode === '--all' ? ['HEAD'] : [value ?? 'HEAD'];
|
|
36
|
-
const result = commitHistory(context, revisions);
|
|
37
|
-
if (!result.ok) {
|
|
38
|
-
for (const finding of result.findings) {
|
|
39
|
-
console.error(finding);
|
|
40
|
-
}
|
|
41
|
-
console.error(`\n${result.summary}. See .ploaness/agent-guide.md.`);
|
|
42
|
-
return 1;
|
|
43
|
-
}
|
|
44
|
-
console.info(result.summary);
|
|
45
|
-
return 0;
|
|
46
|
-
}
|
|
47
|
-
const problems = commitMessageProblems(context, readFileSync(mode, 'utf8'));
|
|
48
|
-
if (problems.length > 0) {
|
|
49
|
-
for (const problem of problems) {
|
|
50
|
-
console.error(problem);
|
|
51
|
-
}
|
|
52
|
-
console.error(`\n${problems.length} commit-message problem(s). See .ploaness/agent-guide.md.`);
|
|
53
|
-
return 1;
|
|
54
|
-
}
|
|
55
|
-
return 0;
|
|
56
|
-
};
|
|
57
|
-
//# sourceMappingURL=hooks.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../src/commands/hooks.ts"],"names":[],"mappings":"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"}
|