looply-cli 0.5.27 → 0.5.29
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/account-connect.d.ts +66 -0
- package/dist/account-connect.d.ts.map +1 -0
- package/dist/account-connect.js +279 -0
- package/dist/account-connect.js.map +1 -0
- package/dist/bin.d.ts.map +1 -1
- package/dist/bin.js +5 -3
- package/dist/bin.js.map +1 -1
- package/dist/branch-delivery-wiring.d.ts.map +1 -1
- package/dist/branch-delivery-wiring.js +2 -0
- package/dist/branch-delivery-wiring.js.map +1 -1
- package/dist/branch-delivery.d.ts +43 -0
- package/dist/branch-delivery.d.ts.map +1 -1
- package/dist/branch-delivery.js +106 -3
- package/dist/branch-delivery.js.map +1 -1
- package/dist/config.d.ts +5 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +1 -0
- package/dist/config.js.map +1 -1
- package/dist/connect-node.d.ts.map +1 -1
- package/dist/connect-node.js +23 -1
- package/dist/connect-node.js.map +1 -1
- package/dist/connect.d.ts +2 -0
- package/dist/connect.d.ts.map +1 -1
- package/dist/connect.js +13 -5
- package/dist/connect.js.map +1 -1
- package/dist/daemon-cmd.d.ts +3 -0
- package/dist/daemon-cmd.d.ts.map +1 -1
- package/dist/daemon-cmd.js +15 -1
- package/dist/daemon-cmd.js.map +1 -1
- package/dist/daemon.d.ts +5 -0
- package/dist/daemon.d.ts.map +1 -1
- package/dist/daemon.js +4 -0
- package/dist/daemon.js.map +1 -1
- package/dist/effective-gates.d.ts +58 -0
- package/dist/effective-gates.d.ts.map +1 -0
- package/dist/effective-gates.js +153 -0
- package/dist/effective-gates.js.map +1 -0
- package/dist/environment-hold.d.ts.map +1 -1
- package/dist/environment-hold.js +10 -0
- package/dist/environment-hold.js.map +1 -1
- package/dist/feature-report.d.ts +10 -3
- package/dist/feature-report.d.ts.map +1 -1
- package/dist/feature-report.js +44 -1
- package/dist/feature-report.js.map +1 -1
- package/dist/gate-draft.d.ts +16 -0
- package/dist/gate-draft.d.ts.map +1 -1
- package/dist/gate-draft.js +86 -4
- package/dist/gate-draft.js.map +1 -1
- package/dist/gate-health.d.ts +157 -0
- package/dist/gate-health.d.ts.map +1 -0
- package/dist/gate-health.js +432 -0
- package/dist/gate-health.js.map +1 -0
- package/dist/github-api.d.ts +2 -0
- package/dist/github-api.d.ts.map +1 -1
- package/dist/github-api.js +1 -0
- package/dist/github-api.js.map +1 -1
- package/dist/init-detect.d.ts +2 -0
- package/dist/init-detect.d.ts.map +1 -1
- package/dist/init-detect.js +4 -0
- package/dist/init-detect.js.map +1 -1
- package/dist/integration-deps.d.ts.map +1 -1
- package/dist/integration-deps.js +17 -6
- package/dist/integration-deps.js.map +1 -1
- package/dist/machine-secrets.d.ts +6 -1
- package/dist/machine-secrets.d.ts.map +1 -1
- package/dist/machine-secrets.js +13 -1
- package/dist/machine-secrets.js.map +1 -1
- package/dist/model-transport.d.ts.map +1 -1
- package/dist/model-transport.js +18 -1
- package/dist/model-transport.js.map +1 -1
- package/dist/pair-cmd.d.ts +13 -1
- package/dist/pair-cmd.d.ts.map +1 -1
- package/dist/pair-cmd.js +30 -13
- package/dist/pair-cmd.js.map +1 -1
- package/dist/provider-accounts-cmd.d.ts.map +1 -1
- package/dist/provider-accounts-cmd.js +11 -2
- package/dist/provider-accounts-cmd.js.map +1 -1
- package/dist/provider-accounts.d.ts +49 -2
- package/dist/provider-accounts.d.ts.map +1 -1
- package/dist/provider-accounts.js +149 -7
- package/dist/provider-accounts.js.map +1 -1
- package/dist/provider-cmd.d.ts +5 -0
- package/dist/provider-cmd.d.ts.map +1 -1
- package/dist/provider-cmd.js +21 -1
- package/dist/provider-cmd.js.map +1 -1
- package/dist/provider-ready.js +1 -1
- package/dist/provider-ready.js.map +1 -1
- package/dist/run-cmd.d.ts.map +1 -1
- package/dist/run-cmd.js +104 -7
- package/dist/run-cmd.js.map +1 -1
- package/dist/server-client.d.ts +10 -0
- package/dist/server-client.d.ts.map +1 -1
- package/dist/server-client.js +8 -0
- package/dist/server-client.js.map +1 -1
- package/dist/setup.d.ts.map +1 -1
- package/dist/setup.js +5 -1
- package/dist/setup.js.map +1 -1
- package/dist/workspace-provisioner.d.ts +8 -0
- package/dist/workspace-provisioner.d.ts.map +1 -1
- package/dist/workspace-provisioner.js +9 -1
- package/dist/workspace-provisioner.js.map +1 -1
- package/package.json +2 -2
package/dist/environment-hold.js
CHANGED
|
@@ -11,6 +11,7 @@ const node_crypto_1 = require("node:crypto");
|
|
|
11
11
|
const node_fs_1 = require("node:fs");
|
|
12
12
|
const node_os_1 = require("node:os");
|
|
13
13
|
const node_path_1 = require("node:path");
|
|
14
|
+
const git_driver_1 = require("./git-driver");
|
|
14
15
|
const core_1 = require("@looply/core");
|
|
15
16
|
/**
|
|
16
17
|
* A GOAL HELD FOR A MACHINE FAULT, AND WHEN IT IS TRIED AGAIN.
|
|
@@ -115,6 +116,15 @@ function configDigest(projectDir, home = (0, node_os_1.homedir)()) {
|
|
|
115
116
|
}
|
|
116
117
|
h.update('\0');
|
|
117
118
|
}
|
|
119
|
+
// AutoRyn's gate fixes are config too: a fix made there must release a goal held on a red base.
|
|
120
|
+
try {
|
|
121
|
+
const cached = JSON.parse((0, node_fs_1.readFileSync)((0, node_path_1.join)((0, git_driver_1.projectStateDir)(projectDir), 'feature-settings.json'), 'utf8'));
|
|
122
|
+
if (cached.settings?.gates !== undefined)
|
|
123
|
+
h.update(JSON.stringify(cached.settings.gates));
|
|
124
|
+
}
|
|
125
|
+
catch {
|
|
126
|
+
/* no remote switches: the digest is the files' alone, as before */
|
|
127
|
+
}
|
|
118
128
|
return h.digest('hex').slice(0, 16);
|
|
119
129
|
}
|
|
120
130
|
//# sourceMappingURL=environment-hold.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"environment-hold.js","sourceRoot":"","sources":["../src/environment-hold.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"environment-hold.js","sourceRoot":"","sources":["../src/environment-hold.ts"],"names":[],"mappings":"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"}
|
package/dist/feature-report.d.ts
CHANGED
|
@@ -1,13 +1,20 @@
|
|
|
1
|
-
import { type ExpoTokenState, type FeatureReport } from '@looply/core';
|
|
1
|
+
import { type ChecksReport, type ExpoTokenState, type FeatureReport } from '@looply/core';
|
|
2
2
|
import type { LooplyConfig } from './config';
|
|
3
|
+
import { applyRemoteGates } from './effective-gates';
|
|
3
4
|
import { type EasCliFacts } from './eas-cli-install';
|
|
4
5
|
/** An Expo app in this repository (so its EAS command line is installed before the first release). */
|
|
5
6
|
export declare function isExpoProject(projectDir: string): boolean;
|
|
6
7
|
export declare function expoTokenState(env?: NodeJS.ProcessEnv, home?: string): ExpoTokenState;
|
|
8
|
+
/**
|
|
9
|
+
* WHETHER THIS PC'S CHECKS ARE HEALTHY: the last base check (`gate-health.ts`), the gates in force
|
|
10
|
+
* after AutoRyn's fixes, and what this PC adjusted by itself, so the owner sees "base is red:
|
|
11
|
+
* <tests>" per component instead of finding out from a week of discarded rounds.
|
|
12
|
+
*/
|
|
13
|
+
export declare function checksFor(projectDir: string, stateDir: string, config: Pick<LooplyConfig, 'gates' | 'run'> | undefined, remote: Parameters<typeof applyRemoteGates>[1]): ChecksReport;
|
|
7
14
|
export declare function buildFeatureReport(input: {
|
|
8
15
|
projectDir: string;
|
|
9
16
|
stateDir: string;
|
|
10
|
-
config: Pick<LooplyConfig, 'preview' | 'deliver' | 'bugRepro'
|
|
17
|
+
config: Pick<LooplyConfig, 'preview' | 'deliver' | 'bugRepro'> & Partial<Pick<LooplyConfig, 'gates' | 'run'>>;
|
|
11
18
|
cliVersion: string;
|
|
12
19
|
eas: EasCliFacts;
|
|
13
20
|
browser?: () => string | null;
|
|
@@ -16,7 +23,7 @@ export declare function buildFeatureReport(input: {
|
|
|
16
23
|
export declare function makeFeatureReporter(deps: {
|
|
17
24
|
projectDir: string;
|
|
18
25
|
stateDir: string;
|
|
19
|
-
config: Pick<LooplyConfig, 'preview' | 'deliver' | 'bugRepro'
|
|
26
|
+
config: Pick<LooplyConfig, 'preview' | 'deliver' | 'bugRepro'> & Partial<Pick<LooplyConfig, 'gates' | 'run'>>;
|
|
20
27
|
cliVersion: string;
|
|
21
28
|
send(report: FeatureReport): Promise<unknown>;
|
|
22
29
|
log(line: string): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feature-report.d.ts","sourceRoot":"","sources":["../src/feature-report.ts"],"names":[],"mappings":"AAGA,OAAO,EAAmB,KAAK,cAAc,EAAE,KAAK,aAAa,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"feature-report.d.ts","sourceRoot":"","sources":["../src/feature-report.ts"],"names":[],"mappings":"AAGA,OAAO,EAAmB,KAAK,YAAY,EAAE,KAAK,cAAc,EAAE,KAAK,aAAa,EAAE,MAAM,cAAc,CAAC;AAC3G,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAkC,MAAM,mBAAmB,CAAC;AACrF,OAAO,EAAgB,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;AA0BnE,sGAAsG;AACtG,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAQzD;AAED,wBAAgB,cAAc,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,cAAc,CAIlG;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,OAAO,GAAG,KAAK,CAAC,GAAG,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC,CAAC,CAAC,GAAG,YAAY,CAiBrL;AAWD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE;IACxC,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,SAAS,GAAG,SAAS,GAAG,UAAU,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC;IAC9G,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,WAAW,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;CAC/B,GAAG,aAAa,CA0BhB;AAED,2FAA2F;AAC3F,wBAAgB,mBAAmB,CAAC,IAAI,EAAE;IACxC,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,SAAS,GAAG,SAAS,GAAG,UAAU,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC;IAC9G,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9C,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CACpB,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CA+BtB"}
|
package/dist/feature-report.js
CHANGED
|
@@ -2,13 +2,18 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.isExpoProject = isExpoProject;
|
|
4
4
|
exports.expoTokenState = expoTokenState;
|
|
5
|
+
exports.checksFor = checksFor;
|
|
5
6
|
exports.buildFeatureReport = buildFeatureReport;
|
|
6
7
|
exports.makeFeatureReporter = makeFeatureReporter;
|
|
7
8
|
const node_crypto_1 = require("node:crypto");
|
|
8
9
|
const node_fs_1 = require("node:fs");
|
|
9
10
|
const node_path_1 = require("node:path");
|
|
10
11
|
const core_1 = require("@looply/core");
|
|
12
|
+
const effective_gates_1 = require("./effective-gates");
|
|
11
13
|
const eas_cli_install_1 = require("./eas-cli-install");
|
|
14
|
+
const gate_health_1 = require("./gate-health");
|
|
15
|
+
const branch_delivery_1 = require("./branch-delivery");
|
|
16
|
+
const repo_init_1 = require("./repo-init");
|
|
12
17
|
const expo_release_1 = require("./expo-release");
|
|
13
18
|
const feature_settings_cache_1 = require("./feature-settings-cache");
|
|
14
19
|
const machine_secrets_1 = require("./machine-secrets");
|
|
@@ -46,6 +51,42 @@ function expoTokenState(env = process.env, home) {
|
|
|
46
51
|
return 'missing';
|
|
47
52
|
return (0, machine_secrets_1.isDelivered)('EXPO_TOKEN', home) ? 'delivered' : 'file';
|
|
48
53
|
}
|
|
54
|
+
/**
|
|
55
|
+
* WHETHER THIS PC'S CHECKS ARE HEALTHY: the last base check (`gate-health.ts`), the gates in force
|
|
56
|
+
* after AutoRyn's fixes, and what this PC adjusted by itself, so the owner sees "base is red:
|
|
57
|
+
* <tests>" per component instead of finding out from a week of discarded rounds.
|
|
58
|
+
*/
|
|
59
|
+
function checksFor(projectDir, stateDir, config, remote) {
|
|
60
|
+
const record = (0, gate_health_1.readBaseHealth)(stateDir);
|
|
61
|
+
if (config === undefined || !Array.isArray(config.gates))
|
|
62
|
+
return (0, gate_health_1.checksReport)(record, [], []);
|
|
63
|
+
const effective = (0, effective_gates_1.applyRemoteGates)(config, remote);
|
|
64
|
+
const notes = [...effective.notes];
|
|
65
|
+
if (process.platform === 'win32') {
|
|
66
|
+
const fs = (0, gate_health_1.projectFs)(projectDir);
|
|
67
|
+
for (const g of effective.config.gates) {
|
|
68
|
+
const safe = (0, gate_health_1.sandboxSafeCommand)(g.run, fs);
|
|
69
|
+
if (safe.note !== null)
|
|
70
|
+
notes.push(`gate "${g.name}": ${safe.note}`);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
const fs = { ...(0, gate_health_1.projectFs)(projectDir), listDirs: (p) => (0, repo_init_1.listDirsOf)((0, node_path_1.join)(projectDir, p)) };
|
|
74
|
+
const carried = (0, effective_gates_1.effectiveCarry)(fs, effective.config.run.carryIntoCheckouts ?? []);
|
|
75
|
+
if (carried.added.length)
|
|
76
|
+
notes.push(`carried into checkouts (the root test runner reaches them): ${carried.added.join(', ')}`);
|
|
77
|
+
if (!effective.baseCheck)
|
|
78
|
+
notes.push('the base check is off (AutoRyn)');
|
|
79
|
+
return { ...(0, gate_health_1.checksReport)(record, (0, effective_gates_1.gatesForReport)(effective), notes.slice(0, 10)), ci: ciNow(stateDir) };
|
|
80
|
+
}
|
|
81
|
+
/** The base's own CI as delivery last saw it; never throws. */
|
|
82
|
+
function ciNow(stateDir) {
|
|
83
|
+
try {
|
|
84
|
+
return (0, branch_delivery_1.ciBaseReport)((0, branch_delivery_1.fileDeliveryStore)(stateDir).all());
|
|
85
|
+
}
|
|
86
|
+
catch {
|
|
87
|
+
return null;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
49
90
|
function buildFeatureReport(input) {
|
|
50
91
|
const cache = (0, feature_settings_cache_1.readFeatureSettingsCache)(input.stateDir);
|
|
51
92
|
const remote = cache?.settings ?? null;
|
|
@@ -72,6 +113,7 @@ function buildFeatureReport(input) {
|
|
|
72
113
|
appRelease: { easCli: input.eas.state, easCliVersion: input.eas.version, easCliProblem: input.eas.problem, expoToken: expoTokenState() },
|
|
73
114
|
skipped: cache?.skipped ?? [],
|
|
74
115
|
cliVersion: input.cliVersion,
|
|
116
|
+
checks: checksFor(input.projectDir, input.stateDir, input.config.gates === undefined || input.config.run === undefined ? undefined : { gates: input.config.gates, run: input.config.run }, remote?.gates),
|
|
75
117
|
};
|
|
76
118
|
}
|
|
77
119
|
/** Rebuild when due or when the switches changed; send only what changed. Never throws. */
|
|
@@ -83,7 +125,8 @@ function makeFeatureReporter(deps) {
|
|
|
83
125
|
return async () => {
|
|
84
126
|
const now = (deps.now ?? Date.now)();
|
|
85
127
|
const cache = (0, feature_settings_cache_1.readFeatureSettingsCache)(deps.stateDir);
|
|
86
|
-
|
|
128
|
+
// A new base check is news too: AutoRyn shows it per component.
|
|
129
|
+
const switches = JSON.stringify([cache?.settings ?? null, (0, gate_health_1.readBaseHealth)(deps.stateDir)?.checkedAt ?? null, ciNow(deps.stateDir)]);
|
|
87
130
|
try {
|
|
88
131
|
if (report === null || now - builtAt >= REBUILD_MS || switches !== builtFor || report.appRelease.easCli === 'installing') {
|
|
89
132
|
// An Expo repository gets its EAS command line ahead of its first release.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feature-report.js","sourceRoot":"","sources":["../src/feature-report.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"feature-report.js","sourceRoot":"","sources":["../src/feature-report.ts"],"names":[],"mappings":"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"}
|
package/dist/gate-draft.d.ts
CHANGED
|
@@ -72,7 +72,23 @@ export interface GateDraft {
|
|
|
72
72
|
subPackages: string[];
|
|
73
73
|
/** Every drafted gate in execution order, the left-out ones included. */
|
|
74
74
|
gates: DraftGate[];
|
|
75
|
+
/**
|
|
76
|
+
* `run.carry_into_checkouts` to write, or [] to leave the key out: the root `node_modules` and
|
|
77
|
+
* the `node_modules` of every sub-app the root test runner reaches (`rootRunnerCarry`).
|
|
78
|
+
*/
|
|
79
|
+
carry: string[];
|
|
75
80
|
}
|
|
81
|
+
/**
|
|
82
|
+
* SUB-APPS WHOSE OWN PACKAGES A ROOT TEST RUNNER NEEDS.
|
|
83
|
+
*
|
|
84
|
+
* RobinBetBackend's root jest collects `admin/src` too (its testMatch begins with a double star),
|
|
85
|
+
* so its admin tests import React from `admin/node_modules` — which no checkout carried, and every
|
|
86
|
+
* round failed on "Cannot find module 'react/jsx-runtime'" (2026-10-20). The carry detection in
|
|
87
|
+
* config.ts only sees `cd <app> && …` gates. This reads what the root runner collects instead: a
|
|
88
|
+
* sub-app (own package.json with dependencies, not a workspace member) is reached unless the
|
|
89
|
+
* runner's `roots` / `testMatch` / `include` keep it out.
|
|
90
|
+
*/
|
|
91
|
+
export declare function rootRunnerCarry(fs: DraftFs, workspaces: readonly string[]): string[];
|
|
76
92
|
export declare function draftGates(fs: DraftFs, opts: {
|
|
77
93
|
packageManager: PackageManager;
|
|
78
94
|
workspaces: readonly string[];
|
package/dist/gate-draft.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gate-draft.d.ts","sourceRoot":"","sources":["../src/gate-draft.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"gate-draft.d.ts","sourceRoot":"","sources":["../src/gate-draft.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,MAAM,WAAW,OAAO;IACtB,yEAAyE;IACzE,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACtC,oFAAoF;IACpF,QAAQ,CAAC,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CACnC;AAED,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC;AAE7D,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,SAAU,SAAQ,YAAY;IAC7C,gEAAgE;IAChE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,8EAA8E;IAC9E,GAAG,EAAE,MAAM,CAAC;IACZ,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,kEAAkE;AAClE,eAAO,MAAM,mBAAmB,MAAM,CAAC;AACvC,eAAO,MAAM,mBAAmB,MAAM,CAAC;AAiCvC;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CA0BlD;AAED,iFAAiF;AACjF,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEhD;AAkFD,oFAAoF;AACpF,eAAO,MAAM,iBAAiB,qEAAsE,CAAC;AAiPrG,sFAAsF;AACtF,wBAAgB,eAAe,CAAC,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,CA0BpF;AAID,MAAM,WAAW,SAAS;IACxB,iDAAiD;IACjD,SAAS,EAAE,YAAY,GAAG,IAAI,CAAC;IAC/B,uEAAuE;IACvE,UAAU,EAAE,YAAY,GAAG,IAAI,CAAC;IAChC,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,yEAAyE;IACzE,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB;;;OAGG;IACH,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,CA+BpF;AAED,wBAAgB,UAAU,CACxB,EAAE,EAAE,OAAO,EACX,IAAI,EAAE;IAAE,cAAc,EAAE,cAAc,CAAC;IAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,GACtE,SAAS,CAuEX;AA2BD,wBAAgB,QAAQ,CAAC,CAAC,EAAE,SAAS,GAAG,MAAM,CAI7C;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,YAAY,QAYb,CAAC;AAEb;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,SAAS,SAAS,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAiBtF"}
|
package/dist/gate-draft.js
CHANGED
|
@@ -4,10 +4,12 @@ exports.GATES_HEADER = exports.TYPECHECK_SCRIPTS = exports.UNIT_TEST_TIMEOUT_S =
|
|
|
4
4
|
exports.stripComments = stripComments;
|
|
5
5
|
exports.parseJsonc = parseJsonc;
|
|
6
6
|
exports.findSubPackages = findSubPackages;
|
|
7
|
+
exports.rootRunnerCarry = rootRunnerCarry;
|
|
7
8
|
exports.draftGates = draftGates;
|
|
8
9
|
exports.gateLine = gateLine;
|
|
9
10
|
exports.renderGatesSection = renderGatesSection;
|
|
10
11
|
const glob_1 = require("./glob");
|
|
12
|
+
const gate_health_1 = require("./gate-health");
|
|
11
13
|
/** Per-step budgets. A gate must finish well inside one round. */
|
|
12
14
|
exports.TYPECHECK_TIMEOUT_S = 300;
|
|
13
15
|
exports.UNIT_TEST_TIMEOUT_S = 600;
|
|
@@ -358,11 +360,14 @@ function draftTests(fs, pkg, pm) {
|
|
|
358
360
|
args = `${args ? `${args} ` : ''}--ci`;
|
|
359
361
|
// A forked worker needs an IPC pipe, which the Windows gate sandbox cannot
|
|
360
362
|
// give it (win/contained-node.cjs fails that fast); worker threads and an
|
|
361
|
-
// in-band run need none, and behave the same on every platform.
|
|
363
|
+
// in-band run need none, and behave the same on every platform. jest has
|
|
364
|
+
// worker threads from 29.5 and keeps its parallelism with them — a large
|
|
365
|
+
// suite in band can outgrow a round (RobinBetBackend, 2026-10-19).
|
|
362
366
|
if (runner === 'vitest' && !/(^|\s)--pool(=|\s)/.test(args))
|
|
363
367
|
args = `${args} --pool=threads`;
|
|
364
|
-
if (runner === 'jest' && !/(^|\s)(-i|--runInBand|-w|--maxWorkers)(=|\s|$)/.test(args))
|
|
365
|
-
args = `${args}
|
|
368
|
+
if (runner === 'jest' && !/(^|\s)(-i|--runInBand|--workerThreads|-w|--maxWorkers)(=|\s|$)/.test(args)) {
|
|
369
|
+
args = `${args} ${(0, gate_health_1.jestSandboxFlag)(fs, pkg.dir)}`;
|
|
370
|
+
}
|
|
366
371
|
const t = toolCommand(fs, pkg.dir, runner, args.trim());
|
|
367
372
|
run = inDir(pkg.dir, t.cmd);
|
|
368
373
|
how = text ? `its "${scriptName}" script (\`${text}\`)${t.local ? `, run with its local ${runner}` : ''}` : `${runner}, from its dependencies`;
|
|
@@ -420,6 +425,58 @@ function findSubPackages(fs, workspaces) {
|
|
|
420
425
|
}
|
|
421
426
|
return found;
|
|
422
427
|
}
|
|
428
|
+
/**
|
|
429
|
+
* SUB-APPS WHOSE OWN PACKAGES A ROOT TEST RUNNER NEEDS.
|
|
430
|
+
*
|
|
431
|
+
* RobinBetBackend's root jest collects `admin/src` too (its testMatch begins with a double star),
|
|
432
|
+
* so its admin tests import React from `admin/node_modules` — which no checkout carried, and every
|
|
433
|
+
* round failed on "Cannot find module 'react/jsx-runtime'" (2026-10-20). The carry detection in
|
|
434
|
+
* config.ts only sees `cd <app> && …` gates. This reads what the root runner collects instead: a
|
|
435
|
+
* sub-app (own package.json with dependencies, not a workspace member) is reached unless the
|
|
436
|
+
* runner's `roots` / `testMatch` / `include` keep it out.
|
|
437
|
+
*/
|
|
438
|
+
function rootRunnerCarry(fs, workspaces) {
|
|
439
|
+
const root = loadPkg(fs, '');
|
|
440
|
+
let text = script(root, 'test');
|
|
441
|
+
if (text && text.includes('no test specified'))
|
|
442
|
+
text = null;
|
|
443
|
+
const runner = runnerOf(root, text);
|
|
444
|
+
if (runner === null)
|
|
445
|
+
return [];
|
|
446
|
+
const texts = [];
|
|
447
|
+
if (runner === 'jest' && isObj(root.json?.['jest']))
|
|
448
|
+
texts.push(JSON.stringify(root.json['jest']));
|
|
449
|
+
for (const f of runner === 'jest' ? JEST_CONFIGS : VITEST_CONFIGS) {
|
|
450
|
+
const t = fs.readFile(f);
|
|
451
|
+
if (t !== null)
|
|
452
|
+
texts.push(stripComments(t));
|
|
453
|
+
}
|
|
454
|
+
const config = texts.join('\n');
|
|
455
|
+
const listed = (key) => {
|
|
456
|
+
const m = new RegExp(`["']?${key}["']?\\s*:\\s*\\[([^\\]]*)\\]`).exec(config);
|
|
457
|
+
if (!m)
|
|
458
|
+
return null;
|
|
459
|
+
return [...m[1].matchAll(/(['"`])((?:(?!\1).)*)\1/g)].map((x) => x[2].replace(/^<rootDir>\/?/, '').replace(/^\.\//, ''));
|
|
460
|
+
};
|
|
461
|
+
const roots = listed('roots');
|
|
462
|
+
const patterns = [...(listed('testMatch') ?? []), ...(listed('include') ?? [])];
|
|
463
|
+
const out = [];
|
|
464
|
+
for (const dir of findSubPackages(fs, workspaces)) {
|
|
465
|
+
if (dir.includes('/'))
|
|
466
|
+
continue; // the carry rule takes `<top-level>/node_modules` only
|
|
467
|
+
if (workspaces.some((w) => (0, glob_1.matchesGlob)(dir, w.replace(/^\.\//, '').replace(/\/+$/, ''))))
|
|
468
|
+
continue;
|
|
469
|
+
const pkg = loadPkg(fs, dir);
|
|
470
|
+
if (Object.keys(pkg.deps).length === 0)
|
|
471
|
+
continue;
|
|
472
|
+
if (roots !== null && !roots.some((r) => r === '' || r === '.' || r === dir || r.startsWith(`${dir}/`)))
|
|
473
|
+
continue;
|
|
474
|
+
if (patterns.length > 0 && !patterns.some((p) => p.startsWith('**') || p.startsWith(`${dir}/`) || p.startsWith(`${dir}\\`)))
|
|
475
|
+
continue;
|
|
476
|
+
out.push(`${dir}/node_modules`);
|
|
477
|
+
}
|
|
478
|
+
return out;
|
|
479
|
+
}
|
|
423
480
|
function draftGates(fs, opts) {
|
|
424
481
|
const root = loadPkg(fs, '');
|
|
425
482
|
const rootTc = draftTypecheck(fs, root);
|
|
@@ -478,13 +535,38 @@ function draftGates(fs, opts) {
|
|
|
478
535
|
}
|
|
479
536
|
// Cheapest first — the order in the file is the execution order (DESIGN §4):
|
|
480
537
|
// a broken typecheck should not wait on a test suite.
|
|
538
|
+
const gates = requireOne([...typechecks, ...tests]);
|
|
539
|
+
const reached = rootTest && !rootTest.disabled ? rootRunnerCarry(fs, opts.workspaces) : [];
|
|
481
540
|
return {
|
|
482
541
|
typecheck: rootTc?.step ?? null,
|
|
483
542
|
testRunner: rootTest && !rootTest.disabled ? rootTest.step : null,
|
|
484
543
|
subPackages,
|
|
485
|
-
gates
|
|
544
|
+
gates,
|
|
545
|
+
carry: reached.length ? ['node_modules', ...reached] : [],
|
|
486
546
|
};
|
|
487
547
|
}
|
|
548
|
+
/**
|
|
549
|
+
* 🔴 AT LEAST ONE ACTIVE GATE IS REQUIRED, or finished work is never delivered: the run-end
|
|
550
|
+
* delivery is recorded against required steps only, and robinbet's config had none — "delivery:
|
|
551
|
+
* none recorded … mark at least one required step" on every goal. The main test step is
|
|
552
|
+
* preferred; a config whose every gate is filtered gets its first one unfiltered, said in its why.
|
|
553
|
+
*/
|
|
554
|
+
function requireOne(gates) {
|
|
555
|
+
const active = gates.filter((g) => !g.disabled);
|
|
556
|
+
if (active.length === 0 || active.some((g) => g.required))
|
|
557
|
+
return gates;
|
|
558
|
+
const open = active.filter((g) => !g.when);
|
|
559
|
+
const isTest = (g) => /(^|:)(jest|vitest|test)$/.test(g.name);
|
|
560
|
+
const pick = open.find(isTest) ?? open[0] ?? active.find(isTest) ?? active[0];
|
|
561
|
+
return gates.map((g) => {
|
|
562
|
+
if (g !== pick)
|
|
563
|
+
return g;
|
|
564
|
+
if (!g.when)
|
|
565
|
+
return { ...g, required: true };
|
|
566
|
+
const { when, ...rest } = g;
|
|
567
|
+
return { ...rest, required: true, why: `${g.why}; runs on every round and is required (was only when ${when}), because finished work is delivered only against a required step` };
|
|
568
|
+
});
|
|
569
|
+
}
|
|
488
570
|
/* ─────────────────────────────── rendering ─────────────────────────────── */
|
|
489
571
|
/** YAML double-quoted scalars are a superset of JSON strings, so this is safe. */
|
|
490
572
|
const yamlStr = (s) => JSON.stringify(s);
|
package/dist/gate-draft.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gate-draft.js","sourceRoot":"","sources":["../src/gate-draft.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"gate-draft.js","sourceRoot":"","sources":["../src/gate-draft.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
import type { CheckStepState, ChecksReport, ChecksState, QuarantineReason } from '@looply/core';
|
|
2
|
+
import type { CommandRunner, StepSpec } from './gate';
|
|
3
|
+
/**
|
|
4
|
+
* GATES THAT WORK ON ANY PC, AND A BASE THAT IS CHECKED BEFORE IT IS BLAMED.
|
|
5
|
+
*
|
|
6
|
+
* ─────────────────────────────────────────────────────────────────────────────
|
|
7
|
+
* 🔴 WHAT THIS EXISTS FOR (RobinBetBackend, 2026-10-18/20). Every fix below was
|
|
8
|
+
* made by hand in one PC's git-ignored `.looply/config.yaml`, so a second PC
|
|
9
|
+
* would have met every one of them again:
|
|
10
|
+
*
|
|
11
|
+
* - jest's child-process workers need an IPC pipe the Windows AppContainer
|
|
12
|
+
* forbids, so the whole suite crashed in the gate sandbox;
|
|
13
|
+
* - tests that cannot pass in the sandbox (an `lstat C:\` the sandbox refuses)
|
|
14
|
+
* or that flake in the full parallel run made the required gate red on the
|
|
15
|
+
* UNCHANGED base — and every round was thrown away for it (26 rounds), with
|
|
16
|
+
* nobody told that the base itself was red.
|
|
17
|
+
*
|
|
18
|
+
* So, here:
|
|
19
|
+
*
|
|
20
|
+
* - `sandboxSafeCommand` adds `--workerThreads` (jest ≥ 29.5, else
|
|
21
|
+
* `--runInBand`) or `--pool=threads` (vitest) to a test runner the sandbox
|
|
22
|
+
* would otherwise crash, at the moment the step runs — never by editing the
|
|
23
|
+
* person's file — and the step's output says it did;
|
|
24
|
+
* - `checkBase` runs the unconditional gates on the base before a goal's first
|
|
25
|
+
* round. A step red there is split into the test files that failed; each is
|
|
26
|
+
* rerun alone (red alone: red on the base; green alone: flaky in the full
|
|
27
|
+
* run), the step is rerun with them left out, and when that passes they are
|
|
28
|
+
* QUARANTINED for rounds on that base, with a visible note. When nothing can
|
|
29
|
+
* be left out to make it pass, the base is RED: the goal is held as a machine
|
|
30
|
+
* or config fault instead of being charged round after round.
|
|
31
|
+
* ─────────────────────────────────────────────────────────────────────────────
|
|
32
|
+
*/
|
|
33
|
+
export type TestKind = 'jest' | 'vitest';
|
|
34
|
+
export interface ReadFs {
|
|
35
|
+
/** The file's text, or null when it does not exist or cannot be read. Paths are relative to the project root. */
|
|
36
|
+
readFile(path: string): string | null;
|
|
37
|
+
}
|
|
38
|
+
/** A test runner call found in a gate line. */
|
|
39
|
+
export interface TestInvocation {
|
|
40
|
+
kind: TestKind;
|
|
41
|
+
/** The folder the runner runs in, relative to the project ('' for the root), from a leading `cd <dir> &&`. */
|
|
42
|
+
dir: string;
|
|
43
|
+
/** How it is reached: the runner itself, or a package script that is exactly one runner call. */
|
|
44
|
+
via: 'direct' | 'npm' | 'pnpm' | 'yarn';
|
|
45
|
+
/** Every argument the runner gets: the script's own and the line's. */
|
|
46
|
+
args: string;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* The test runner a gate line runs, or null. Only shapes that can be read with certainty: a
|
|
50
|
+
* runner call (optionally after `cd <dir> &&`), or `npm test` / `npm run <script>` (pnpm, yarn)
|
|
51
|
+
* whose package script is exactly one runner call.
|
|
52
|
+
*/
|
|
53
|
+
export declare function testInvocation(cmd: string, fs: ReadFs): TestInvocation | null;
|
|
54
|
+
/** `cmd` with `extra` handed to its runner (after `--` for an npm script). */
|
|
55
|
+
export declare function appendArgs(cmd: string, inv: TestInvocation, extra: string): string;
|
|
56
|
+
/** jest's `--workerThreads` exists from 29.5; before that, or unknown, the suite runs in band. */
|
|
57
|
+
export declare function jestSandboxFlag(fs: ReadFs, dir: string): '--workerThreads' | '--runInBand';
|
|
58
|
+
/**
|
|
59
|
+
* The line as it must run inside the Windows gate sandbox, and why it changed (null: unchanged).
|
|
60
|
+
*
|
|
61
|
+
* A child-process worker needs an IPC pipe the AppContainer does not give (win/contained-node.cjs
|
|
62
|
+
* refuses `fork` fast, and jest then fails every file); worker threads and an in-band run need none.
|
|
63
|
+
*/
|
|
64
|
+
export declare function sandboxSafeCommand(cmd: string, fs: ReadFs): {
|
|
65
|
+
cmd: string;
|
|
66
|
+
note: string | null;
|
|
67
|
+
};
|
|
68
|
+
/**
|
|
69
|
+
* The test files a jest or vitest run reports as failed, forward slashes, in the order printed.
|
|
70
|
+
* Empty when the output names none (a crash before any file ran, a config error).
|
|
71
|
+
*/
|
|
72
|
+
export declare function failingTestFiles(output: string): string[];
|
|
73
|
+
/** A test file path as a jest `testPathIgnorePatterns` entry: literal, either separator, at the end. */
|
|
74
|
+
export declare function jestPathPattern(file: string): string;
|
|
75
|
+
/** What the project's jest config already ignores, read without running it (best effort). */
|
|
76
|
+
export declare function existingJestIgnores(fs: ReadFs, dir: string): string[];
|
|
77
|
+
/**
|
|
78
|
+
* `cmd` with `files` left out. jest replaces its configured ignore list with one given on the
|
|
79
|
+
* command line, so the default `/node_modules/` and what the config already ignores are kept.
|
|
80
|
+
*/
|
|
81
|
+
export declare function withQuarantine(cmd: string, inv: TestInvocation, files: readonly string[], fs: ReadFs): string;
|
|
82
|
+
/** `cmd` narrowed to one test file. */
|
|
83
|
+
export declare function singleFile(cmd: string, inv: TestInvocation, file: string): string;
|
|
84
|
+
/**
|
|
85
|
+
* The gate runner rounds use: sandbox-safe flags (Windows only, where the AppContainer is), then
|
|
86
|
+
* the quarantined tests for that step left out. The step's output starts with what was changed,
|
|
87
|
+
* so nobody reads a red run of a command that is not the one in their file without being told.
|
|
88
|
+
*/
|
|
89
|
+
export declare function makeHealthyGateRunner(base: CommandRunner, opts: {
|
|
90
|
+
fs: ReadFs;
|
|
91
|
+
/** True where gates run in the Windows sandbox. */
|
|
92
|
+
sandbox: boolean;
|
|
93
|
+
/** Test files to leave out of this exact configured line, with why, or null. */
|
|
94
|
+
quarantineFor?: (cmd: string) => {
|
|
95
|
+
files: readonly string[];
|
|
96
|
+
why: string;
|
|
97
|
+
} | null;
|
|
98
|
+
}): CommandRunner;
|
|
99
|
+
/** More failing files than this is not a few bad tests: it is a broken check. */
|
|
100
|
+
export declare const MAX_QUARANTINE_FILES = 10;
|
|
101
|
+
/** A red base is checked again after this, even unchanged (a flake, a machine fixed by hand). */
|
|
102
|
+
export declare const RED_RECHECK_MS: number;
|
|
103
|
+
export interface BaseStepCheck {
|
|
104
|
+
name: string;
|
|
105
|
+
state: CheckStepState;
|
|
106
|
+
tests: {
|
|
107
|
+
file: string;
|
|
108
|
+
why: QuarantineReason;
|
|
109
|
+
}[];
|
|
110
|
+
because: string | null;
|
|
111
|
+
}
|
|
112
|
+
export interface BaseHealth {
|
|
113
|
+
version: 1;
|
|
114
|
+
/** What the record is valid for: the base tree and the gate lines (`baseHealthKey`). */
|
|
115
|
+
key: string;
|
|
116
|
+
treeSha: string;
|
|
117
|
+
baseSha: string;
|
|
118
|
+
checkedAt: string;
|
|
119
|
+
state: Exclude<ChecksState, 'unchecked'>;
|
|
120
|
+
steps: BaseStepCheck[];
|
|
121
|
+
}
|
|
122
|
+
export declare const BASE_HEALTH_FILE = "base-health.json";
|
|
123
|
+
/** The gate lines a check result depends on. */
|
|
124
|
+
export declare function gatesDigest(steps: readonly StepSpec[]): string;
|
|
125
|
+
export declare function baseHealthKey(treeSha: string, steps: readonly StepSpec[]): string;
|
|
126
|
+
export declare function readBaseHealth(stateDir: string): BaseHealth | null;
|
|
127
|
+
export declare function writeBaseHealth(stateDir: string, record: BaseHealth): void;
|
|
128
|
+
/** The record may stand in for a new check of the same key: green-ish always, red for an hour. */
|
|
129
|
+
export declare function reusable(record: BaseHealth | null, key: string, now: number): record is BaseHealth;
|
|
130
|
+
/** The files a record quarantines, per configured step line. */
|
|
131
|
+
export declare function quarantineByLine(record: BaseHealth | null, steps: readonly StepSpec[]): Map<string, string[]>;
|
|
132
|
+
/**
|
|
133
|
+
* Run the unconditional gates on the unchanged base and decide: healthy, quarantined, or red.
|
|
134
|
+
*
|
|
135
|
+
* `runner` must already be the sandbox-safe one rounds use (with the quarantine AutoRyn set, but
|
|
136
|
+
* without any earlier base check's — that is what is being decided). Steps with a `when:` filter
|
|
137
|
+
* are not run: no changed path can match on the base, so a round never meets them unasked.
|
|
138
|
+
* The first step that cannot be made green ends the check — what follows it is not reached by a
|
|
139
|
+
* round either.
|
|
140
|
+
*/
|
|
141
|
+
export declare function checkBase(input: {
|
|
142
|
+
steps: readonly StepSpec[];
|
|
143
|
+
runner: CommandRunner;
|
|
144
|
+
fs: ReadFs;
|
|
145
|
+
log?: (line: string) => void;
|
|
146
|
+
maxFiles?: number;
|
|
147
|
+
}): Promise<{
|
|
148
|
+
state: BaseHealth['state'];
|
|
149
|
+
steps: BaseStepCheck[];
|
|
150
|
+
}>;
|
|
151
|
+
/** Why a goal is held on a red base, in words the hold record and AutoRyn show (≤ 300 chars). */
|
|
152
|
+
export declare function redBaseReason(record: Pick<BaseHealth, 'steps'>): string;
|
|
153
|
+
/** The report AutoRyn shows per component. */
|
|
154
|
+
export declare function checksReport(record: BaseHealth | null, gates: ChecksReport['gates'], notes: readonly string[]): ChecksReport;
|
|
155
|
+
/** A real filesystem view of a project, for the functions above. */
|
|
156
|
+
export declare function projectFs(projectDir: string): ReadFs;
|
|
157
|
+
//# sourceMappingURL=gate-health.d.ts.map
|