looply-cli 0.3.0 → 0.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.
- package/dist/.src-hash +1 -1
- package/dist/bin.d.ts.map +1 -1
- package/dist/bin.js +91 -85
- package/dist/bin.js.map +1 -1
- package/dist/connect-node.d.ts +8 -0
- package/dist/connect-node.d.ts.map +1 -0
- package/dist/connect-node.js +110 -0
- package/dist/connect-node.js.map +1 -0
- package/dist/connect.d.ts +135 -0
- package/dist/connect.d.ts.map +1 -0
- package/dist/connect.js +329 -0
- package/dist/connect.js.map +1 -0
- package/dist/daemon-cmd.d.ts +11 -2
- package/dist/daemon-cmd.d.ts.map +1 -1
- package/dist/daemon-cmd.js +20 -6
- package/dist/daemon-cmd.js.map +1 -1
- package/dist/repo-init.d.ts +36 -0
- package/dist/repo-init.d.ts.map +1 -0
- package/dist/repo-init.js +61 -0
- package/dist/repo-init.js.map +1 -0
- package/dist/repo-origin.d.ts +15 -0
- package/dist/repo-origin.d.ts.map +1 -0
- package/dist/repo-origin.js +28 -0
- package/dist/repo-origin.js.map +1 -0
- package/dist/repo-requests.d.ts +79 -0
- package/dist/repo-requests.d.ts.map +1 -0
- package/dist/repo-requests.js +180 -0
- package/dist/repo-requests.js.map +1 -0
- package/dist/repo-scan.d.ts +47 -0
- package/dist/repo-scan.d.ts.map +1 -0
- package/dist/repo-scan.js +84 -0
- package/dist/repo-scan.js.map +1 -0
- package/dist/serve-cmd.d.ts +17 -0
- package/dist/serve-cmd.d.ts.map +1 -1
- package/dist/serve-cmd.js +29 -2
- package/dist/serve-cmd.js.map +1 -1
- package/dist/serve-tasks.d.ts +17 -0
- package/dist/serve-tasks.d.ts.map +1 -0
- package/dist/serve-tasks.js +124 -0
- package/dist/serve-tasks.js.map +1 -0
- package/dist/serve.d.ts +36 -1
- package/dist/serve.d.ts.map +1 -1
- package/dist/serve.js +89 -12
- package/dist/serve.js.map +1 -1
- package/dist/server-client.d.ts +37 -0
- package/dist/server-client.d.ts.map +1 -1
- package/dist/server-client.js +21 -0
- package/dist/server-client.js.map +1 -1
- package/dist/sync.d.ts.map +1 -1
- package/dist/sync.js +3 -1
- package/dist/sync.js.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Find the git repositories under a folder a person said holds their code.
|
|
3
|
+
*
|
|
4
|
+
* ⚠️ BOUNDED THREE WAYS, because the folder is whatever they typed and that is
|
|
5
|
+
* sometimes their whole home directory:
|
|
6
|
+
*
|
|
7
|
+
* depth three levels below the root, no further — `~/code/client/app`
|
|
8
|
+
* is found, `~/code/a/b/c/d` is not;
|
|
9
|
+
* pruning `node_modules`, `dist`, `build`, `.next`, `vendor` and every
|
|
10
|
+
* hidden folder are never entered: they are where the walk would
|
|
11
|
+
* spend its time and they hold nobody's project;
|
|
12
|
+
* a cap two hundred repositories, and the caller says it stopped.
|
|
13
|
+
*
|
|
14
|
+
* 🔴 A REPOSITORY IS A LEAF. Once a folder has `.git` (a directory, or the
|
|
15
|
+
* file a linked worktree or submodule has) the walk does not go inside it: a
|
|
16
|
+
* vendored checkout or a submodule is part of the project around it, not a
|
|
17
|
+
* second project to serve.
|
|
18
|
+
*
|
|
19
|
+
* Symlinks are not followed — a link back up the tree is a walk that never ends.
|
|
20
|
+
*/
|
|
21
|
+
export declare const SCAN_MAX_DEPTH = 3;
|
|
22
|
+
export declare const SCAN_MAX_REPOS = 200;
|
|
23
|
+
export declare const SCAN_SKIP: Set<string>;
|
|
24
|
+
export interface ScanEntry {
|
|
25
|
+
readonly name: string;
|
|
26
|
+
/** A real directory — not a symlink to one. */
|
|
27
|
+
readonly dir: boolean;
|
|
28
|
+
}
|
|
29
|
+
export interface ScanFs {
|
|
30
|
+
/** The entries of a folder, or `null` when it cannot be read. */
|
|
31
|
+
entries(dir: string): readonly ScanEntry[] | null;
|
|
32
|
+
}
|
|
33
|
+
export declare const nodeScanFs: ScanFs;
|
|
34
|
+
export interface ScanResult {
|
|
35
|
+
/** Repository roots, in walk order (sorted by name at each level). */
|
|
36
|
+
readonly repos: readonly string[];
|
|
37
|
+
/** True when the cap was reached and the walk stopped early. */
|
|
38
|
+
readonly capped: boolean;
|
|
39
|
+
/** Folders that could not be listed — said, not silently skipped. */
|
|
40
|
+
readonly unreadable: readonly string[];
|
|
41
|
+
}
|
|
42
|
+
export declare function scanForRepos(roots: readonly string[], fs: ScanFs, opts?: {
|
|
43
|
+
maxDepth?: number;
|
|
44
|
+
cap?: number;
|
|
45
|
+
join?: (a: string, b: string) => string;
|
|
46
|
+
}): ScanResult;
|
|
47
|
+
//# sourceMappingURL=repo-scan.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"repo-scan.d.ts","sourceRoot":"","sources":["../src/repo-scan.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,eAAO,MAAM,cAAc,IAAI,CAAC;AAChC,eAAO,MAAM,cAAc,MAAM,CAAC;AAClC,eAAO,MAAM,SAAS,aAAgE,CAAC;AAEvF,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,+CAA+C;IAC/C,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,MAAM;IACrB,iEAAiE;IACjE,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,SAAS,EAAE,GAAG,IAAI,CAAC;CACnD;AAED,eAAO,MAAM,UAAU,EAAE,MAQxB,CAAC;AAEF,MAAM,WAAW,UAAU;IACzB,sEAAsE;IACtE,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,gEAAgE;IAChE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,qEAAqE;IACrE,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;CACxC;AAED,wBAAgB,YAAY,CAC1B,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,EAAE,EAAE,MAAM,EACV,IAAI,GAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,MAAM,CAAA;CAAO,GACtF,UAAU,CAwCZ"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.nodeScanFs = exports.SCAN_SKIP = exports.SCAN_MAX_REPOS = exports.SCAN_MAX_DEPTH = void 0;
|
|
4
|
+
exports.scanForRepos = scanForRepos;
|
|
5
|
+
const node_fs_1 = require("node:fs");
|
|
6
|
+
const node_path_1 = require("node:path");
|
|
7
|
+
/**
|
|
8
|
+
* Find the git repositories under a folder a person said holds their code.
|
|
9
|
+
*
|
|
10
|
+
* ⚠️ BOUNDED THREE WAYS, because the folder is whatever they typed and that is
|
|
11
|
+
* sometimes their whole home directory:
|
|
12
|
+
*
|
|
13
|
+
* depth three levels below the root, no further — `~/code/client/app`
|
|
14
|
+
* is found, `~/code/a/b/c/d` is not;
|
|
15
|
+
* pruning `node_modules`, `dist`, `build`, `.next`, `vendor` and every
|
|
16
|
+
* hidden folder are never entered: they are where the walk would
|
|
17
|
+
* spend its time and they hold nobody's project;
|
|
18
|
+
* a cap two hundred repositories, and the caller says it stopped.
|
|
19
|
+
*
|
|
20
|
+
* 🔴 A REPOSITORY IS A LEAF. Once a folder has `.git` (a directory, or the
|
|
21
|
+
* file a linked worktree or submodule has) the walk does not go inside it: a
|
|
22
|
+
* vendored checkout or a submodule is part of the project around it, not a
|
|
23
|
+
* second project to serve.
|
|
24
|
+
*
|
|
25
|
+
* Symlinks are not followed — a link back up the tree is a walk that never ends.
|
|
26
|
+
*/
|
|
27
|
+
exports.SCAN_MAX_DEPTH = 3;
|
|
28
|
+
exports.SCAN_MAX_REPOS = 200;
|
|
29
|
+
exports.SCAN_SKIP = new Set(['node_modules', 'dist', 'build', '.next', 'vendor']);
|
|
30
|
+
exports.nodeScanFs = {
|
|
31
|
+
entries: (dir) => {
|
|
32
|
+
try {
|
|
33
|
+
return (0, node_fs_1.readdirSync)(dir, { withFileTypes: true }).map((d) => ({ name: d.name, dir: d.isDirectory() }));
|
|
34
|
+
}
|
|
35
|
+
catch {
|
|
36
|
+
return null;
|
|
37
|
+
}
|
|
38
|
+
},
|
|
39
|
+
};
|
|
40
|
+
function scanForRepos(roots, fs, opts = {}) {
|
|
41
|
+
const maxDepth = opts.maxDepth ?? exports.SCAN_MAX_DEPTH;
|
|
42
|
+
const cap = opts.cap ?? exports.SCAN_MAX_REPOS;
|
|
43
|
+
const joinPath = opts.join ?? node_path_1.join;
|
|
44
|
+
const repos = [];
|
|
45
|
+
const unreadable = [];
|
|
46
|
+
const seen = new Set();
|
|
47
|
+
let capped = false;
|
|
48
|
+
const walk = (dir, depth) => {
|
|
49
|
+
if (capped)
|
|
50
|
+
return;
|
|
51
|
+
const entries = fs.entries(dir);
|
|
52
|
+
if (entries === null) {
|
|
53
|
+
unreadable.push(dir);
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
// `.git` as a folder OR a file: a linked worktree's is a file.
|
|
57
|
+
if (entries.some((e) => e.name === '.git')) {
|
|
58
|
+
if (seen.has(dir))
|
|
59
|
+
return;
|
|
60
|
+
if (repos.length >= cap) {
|
|
61
|
+
capped = true;
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
seen.add(dir);
|
|
65
|
+
repos.push(dir);
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
if (depth >= maxDepth)
|
|
69
|
+
return;
|
|
70
|
+
const children = entries
|
|
71
|
+
.filter((e) => e.dir && !e.name.startsWith('.') && !exports.SCAN_SKIP.has(e.name.toLowerCase()))
|
|
72
|
+
.map((e) => e.name)
|
|
73
|
+
.sort((a, b) => a.localeCompare(b));
|
|
74
|
+
for (const name of children) {
|
|
75
|
+
if (capped)
|
|
76
|
+
return;
|
|
77
|
+
walk(joinPath(dir, name), depth + 1);
|
|
78
|
+
}
|
|
79
|
+
};
|
|
80
|
+
for (const root of roots)
|
|
81
|
+
walk(root, 0);
|
|
82
|
+
return { repos, capped, unreadable };
|
|
83
|
+
}
|
|
84
|
+
//# sourceMappingURL=repo-scan.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"repo-scan.js","sourceRoot":"","sources":["../src/repo-scan.ts"],"names":[],"mappings":"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"}
|
package/dist/serve-cmd.d.ts
CHANGED
|
@@ -32,8 +32,23 @@ export interface ChildHandle {
|
|
|
32
32
|
/** Ask it to stop; `force` is the second ask. */
|
|
33
33
|
kill(force: boolean): void;
|
|
34
34
|
}
|
|
35
|
+
/**
|
|
36
|
+
* Periodic work the supervisor does besides keeping children alive — the
|
|
37
|
+
* rescan of the code roots and the clone-request poll (`serve-tasks.ts`).
|
|
38
|
+
*
|
|
39
|
+
* ⚠️ A TASK NEVER OVERLAPS ITSELF: the next run is scheduled only when the
|
|
40
|
+
* last one has finished, however long it took. And a task that throws is
|
|
41
|
+
* logged and run again on schedule; it cannot take the supervisor down.
|
|
42
|
+
*/
|
|
43
|
+
export interface SupervisorTask {
|
|
44
|
+
readonly name: string;
|
|
45
|
+
readonly everyMs: number;
|
|
46
|
+
run(): unknown;
|
|
47
|
+
}
|
|
35
48
|
export interface SupervisorDeps {
|
|
36
49
|
readonly platform: Platform;
|
|
50
|
+
/** Run once at start, then every `everyMs` after each run finishes. */
|
|
51
|
+
readonly tasks?: readonly SupervisorTask[];
|
|
37
52
|
/** The listed repositories. Throws when the list cannot be read. */
|
|
38
53
|
repos(): readonly ServedRepo[];
|
|
39
54
|
configExists(repo: string): boolean;
|
|
@@ -55,6 +70,7 @@ export interface SupervisorDeps {
|
|
|
55
70
|
export declare class Supervisor {
|
|
56
71
|
private readonly deps;
|
|
57
72
|
private readonly entries;
|
|
73
|
+
private readonly taskTimers;
|
|
58
74
|
private pollTimer;
|
|
59
75
|
private stopping;
|
|
60
76
|
private readError;
|
|
@@ -66,6 +82,7 @@ export declare class Supervisor {
|
|
|
66
82
|
keys(): string[];
|
|
67
83
|
running(): string[];
|
|
68
84
|
start(): void;
|
|
85
|
+
private runTask;
|
|
69
86
|
/** Re-read the list and make the running set match it. */
|
|
70
87
|
poll(): void;
|
|
71
88
|
/**
|
package/dist/serve-cmd.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serve-cmd.d.ts","sourceRoot":"","sources":["../src/serve-cmd.ts"],"names":[],"mappings":"AAIA,OAAO,EAAa,KAAK,OAAO,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"serve-cmd.d.ts","sourceRoot":"","sources":["../src/serve-cmd.ts"],"names":[],"mappings":"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"}
|
package/dist/serve-cmd.js
CHANGED
|
@@ -9,6 +9,7 @@ const node_fs_1 = require("node:fs");
|
|
|
9
9
|
const node_os_1 = require("node:os");
|
|
10
10
|
const node_path_1 = require("node:path");
|
|
11
11
|
const run_lease_1 = require("./run-lease");
|
|
12
|
+
const serve_tasks_1 = require("./serve-tasks");
|
|
12
13
|
const serve_1 = require("./serve");
|
|
13
14
|
/**
|
|
14
15
|
* `looply serve` and its verbs — the composition around `serve.ts`.
|
|
@@ -51,6 +52,7 @@ exports.STOP_GRACE_MS = 10_000;
|
|
|
51
52
|
class Supervisor {
|
|
52
53
|
deps;
|
|
53
54
|
entries = new Map();
|
|
55
|
+
taskTimers = new Map();
|
|
54
56
|
pollTimer = null;
|
|
55
57
|
stopping = false;
|
|
56
58
|
readError = null;
|
|
@@ -69,6 +71,22 @@ class Supervisor {
|
|
|
69
71
|
}
|
|
70
72
|
start() {
|
|
71
73
|
this.poll();
|
|
74
|
+
for (const task of this.deps.tasks ?? [])
|
|
75
|
+
void this.runTask(task);
|
|
76
|
+
}
|
|
77
|
+
async runTask(task) {
|
|
78
|
+
this.taskTimers.delete(task.name);
|
|
79
|
+
if (this.stopping)
|
|
80
|
+
return;
|
|
81
|
+
try {
|
|
82
|
+
await task.run();
|
|
83
|
+
}
|
|
84
|
+
catch (e) {
|
|
85
|
+
this.deps.log(`[serve] ${task.name} failed — ${e?.message ?? String(e)}; trying again later`);
|
|
86
|
+
}
|
|
87
|
+
if (this.stopping)
|
|
88
|
+
return;
|
|
89
|
+
this.taskTimers.set(task.name, this.deps.setTimer(() => void this.runTask(task), task.everyMs));
|
|
72
90
|
}
|
|
73
91
|
/** Re-read the list and make the running set match it. */
|
|
74
92
|
poll() {
|
|
@@ -107,6 +125,9 @@ class Supervisor {
|
|
|
107
125
|
if (this.pollTimer !== null)
|
|
108
126
|
this.deps.clearTimer(this.pollTimer);
|
|
109
127
|
this.pollTimer = null;
|
|
128
|
+
for (const t of this.taskTimers.values())
|
|
129
|
+
this.deps.clearTimer(t);
|
|
130
|
+
this.taskTimers.clear();
|
|
110
131
|
for (const [key, e] of this.entries) {
|
|
111
132
|
if (e.timer !== null)
|
|
112
133
|
this.deps.clearTimer(e.timer);
|
|
@@ -301,6 +322,8 @@ function list(deps) {
|
|
|
301
322
|
const registry = load(deps);
|
|
302
323
|
if (registry === null)
|
|
303
324
|
return exports.EXIT_REFUSED;
|
|
325
|
+
for (const r of registry.roots ?? [])
|
|
326
|
+
deps.out(`serve: watching ${r.path} for new repositories`);
|
|
304
327
|
if (registry.repos.length === 0) {
|
|
305
328
|
deps.out('serve: no repositories are served yet. `looply serve add` in a repository to add it.');
|
|
306
329
|
return exports.EXIT_OK;
|
|
@@ -360,9 +383,12 @@ async function supervise(deps) {
|
|
|
360
383
|
const registry = load(deps);
|
|
361
384
|
if (registry === null)
|
|
362
385
|
return exports.EXIT_REFUSED;
|
|
363
|
-
|
|
386
|
+
// Recorded roots are something to do even with nothing listed yet: the
|
|
387
|
+
// rescan finds what appears there, and clone requests land there.
|
|
388
|
+
if (registry.repos.length === 0 && (registry.roots ?? []).length === 0) {
|
|
364
389
|
deps.out('serve: no repositories are served yet.');
|
|
365
|
-
deps.out('
|
|
390
|
+
deps.out(' `looply connect` sets up and serves every repository under your code folder;');
|
|
391
|
+
deps.out(' or, in each repository you want served: `looply serve add` (it needs `looply init` first).');
|
|
366
392
|
deps.out(' then run `looply serve` again, or `looply serve install` to start it at login.');
|
|
367
393
|
return exports.EXIT_OK;
|
|
368
394
|
}
|
|
@@ -451,6 +477,7 @@ function nodeServeDeps() {
|
|
|
451
477
|
for (const s of [process.stdout, process.stderr])
|
|
452
478
|
s.on('error', () => undefined);
|
|
453
479
|
return {
|
|
480
|
+
tasks: (0, serve_tasks_1.nodeSupervisorTasks)((0, node_os_1.homedir)(), process.platform, (line) => process.stdout.write(`${line}\n`)),
|
|
454
481
|
now: () => Date.now(),
|
|
455
482
|
setTimer: (fn, ms) => setTimeout(fn, ms),
|
|
456
483
|
clearTimer: (h) => clearTimeout(h),
|
package/dist/serve-cmd.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serve-cmd.js","sourceRoot":"","sources":["../src/serve-cmd.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"serve-cmd.js","sourceRoot":"","sources":["../src/serve-cmd.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { type Platform } from './serve';
|
|
2
|
+
import type { SupervisorTask } from './serve-cmd';
|
|
3
|
+
/**
|
|
4
|
+
* The supervisor's two periodic jobs, wired to the real machine.
|
|
5
|
+
*
|
|
6
|
+
* rescan every five minutes, the recorded code roots are walked and
|
|
7
|
+
* any new repository is set up and served (`connect.ts`);
|
|
8
|
+
* clone requests every minute, the server is asked what this machine
|
|
9
|
+
* should clone (`repo-requests.ts`).
|
|
10
|
+
*
|
|
11
|
+
* The decisions live in those two files; this one only hands them a
|
|
12
|
+
* filesystem, git and the server.
|
|
13
|
+
*/
|
|
14
|
+
/** A clone that has not finished in this long is killed and reported as failed. */
|
|
15
|
+
export declare const CLONE_TIMEOUT_MS: number;
|
|
16
|
+
export declare function nodeSupervisorTasks(home: string, platform: Platform, log: (line: string) => void): SupervisorTask[];
|
|
17
|
+
//# sourceMappingURL=serve-tasks.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serve-tasks.d.ts","sourceRoot":"","sources":["../src/serve-tasks.ts"],"names":[],"mappings":"AASA,OAAO,EAA0D,KAAK,QAAQ,EAAE,MAAM,SAAS,CAAC;AAChG,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAIlD;;;;;;;;;;GAUG;AAEH,mFAAmF;AACnF,eAAO,MAAM,gBAAgB,QAAc,CAAC;AAG5C,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAAG,cAAc,EAAE,CA4CnH"}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CLONE_TIMEOUT_MS = void 0;
|
|
4
|
+
exports.nodeSupervisorTasks = nodeSupervisorTasks;
|
|
5
|
+
const node_child_process_1 = require("node:child_process");
|
|
6
|
+
const node_fs_1 = require("node:fs");
|
|
7
|
+
const connect_1 = require("./connect");
|
|
8
|
+
const git_driver_1 = require("./git-driver");
|
|
9
|
+
const machine_store_1 = require("./machine-store");
|
|
10
|
+
const repo_origin_1 = require("./repo-origin");
|
|
11
|
+
const repo_init_1 = require("./repo-init");
|
|
12
|
+
const repo_requests_1 = require("./repo-requests");
|
|
13
|
+
const repo_scan_1 = require("./repo-scan");
|
|
14
|
+
const serve_1 = require("./serve");
|
|
15
|
+
const server_client_1 = require("./server-client");
|
|
16
|
+
const trusted_git_1 = require("./trusted-git");
|
|
17
|
+
/**
|
|
18
|
+
* The supervisor's two periodic jobs, wired to the real machine.
|
|
19
|
+
*
|
|
20
|
+
* rescan every five minutes, the recorded code roots are walked and
|
|
21
|
+
* any new repository is set up and served (`connect.ts`);
|
|
22
|
+
* clone requests every minute, the server is asked what this machine
|
|
23
|
+
* should clone (`repo-requests.ts`).
|
|
24
|
+
*
|
|
25
|
+
* The decisions live in those two files; this one only hands them a
|
|
26
|
+
* filesystem, git and the server.
|
|
27
|
+
*/
|
|
28
|
+
/** A clone that has not finished in this long is killed and reported as failed. */
|
|
29
|
+
exports.CLONE_TIMEOUT_MS = 15 * 60_000;
|
|
30
|
+
/* istanbul ignore next — real fs, git and network; the logic lives in connect.ts and repo-requests.ts */
|
|
31
|
+
function nodeSupervisorTasks(home, platform, log) {
|
|
32
|
+
const provisionDeps = {
|
|
33
|
+
home,
|
|
34
|
+
platform,
|
|
35
|
+
fs: serve_1.nodeServeFs,
|
|
36
|
+
now: () => new Date(),
|
|
37
|
+
initRepo: (dir) => (0, repo_init_1.initRepoQuietly)(dir),
|
|
38
|
+
configProblem: (dir) => (0, repo_init_1.configProblemOf)(dir),
|
|
39
|
+
};
|
|
40
|
+
const rescanner = new connect_1.RootRescanner({ ...provisionDeps, scanFs: repo_scan_1.nodeScanFs, log });
|
|
41
|
+
const client = () => {
|
|
42
|
+
const identity = new machine_store_1.MachineStore((0, machine_store_1.machineFilePath)(home)).load();
|
|
43
|
+
if (identity === null)
|
|
44
|
+
return null;
|
|
45
|
+
return new server_client_1.ServerClient({ baseUrl: identity.serverUrl, token: identity.token });
|
|
46
|
+
};
|
|
47
|
+
const worker = new repo_requests_1.RepoRequestWorker({
|
|
48
|
+
platform,
|
|
49
|
+
list: async () => {
|
|
50
|
+
const c = client();
|
|
51
|
+
if (c === null)
|
|
52
|
+
return null;
|
|
53
|
+
return (await c.machineRepoRequests()).requests ?? [];
|
|
54
|
+
},
|
|
55
|
+
report: async (id, result) => {
|
|
56
|
+
const c = client();
|
|
57
|
+
if (c === null)
|
|
58
|
+
throw new Error('this machine is no longer paired');
|
|
59
|
+
await c.reportRepoRequest(id, result);
|
|
60
|
+
},
|
|
61
|
+
cloneRoot: () => (0, serve_1.cloneRootOf)((0, serve_1.readRegistry)(serve_1.nodeServeFs, (0, serve_1.servedFilePath)(home)), home, platform),
|
|
62
|
+
exists: (p) => (0, node_fs_1.existsSync)(p),
|
|
63
|
+
mkdirp: (p) => {
|
|
64
|
+
(0, node_fs_1.mkdirSync)(p, { recursive: true });
|
|
65
|
+
},
|
|
66
|
+
originOf: (dir) => (0, repo_origin_1.readOriginUrl)((0, git_driver_1.nodeGitExec)(dir)),
|
|
67
|
+
clone: nodeClone,
|
|
68
|
+
provision: (dir) => (0, connect_1.provisionRepos)([dir], provisionDeps)[0],
|
|
69
|
+
log,
|
|
70
|
+
});
|
|
71
|
+
return [
|
|
72
|
+
{ name: 'rescan', everyMs: connect_1.RESCAN_EVERY_MS, run: () => rescanner.run() },
|
|
73
|
+
{ name: 'clone requests', everyMs: repo_requests_1.REPO_REQUEST_POLL_MS, run: () => worker.run() },
|
|
74
|
+
];
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* `git clone`, with the same trust the rest of the CLI gives git.
|
|
78
|
+
*
|
|
79
|
+
* ⚠️ NOT `nodeGitExec`, AND ON PURPOSE: that refuses to run anywhere that is
|
|
80
|
+
* not already a repository root, and a clone by definition runs where there is
|
|
81
|
+
* none yet. Everything else it does is kept — the absolute git binary (never
|
|
82
|
+
* one the cwd chooses), hooks pointed at an empty directory, signing off, the
|
|
83
|
+
* `GIT_` namespace rebuilt — with no `GIT_DIR` pin, because there is no
|
|
84
|
+
* repository to pin to.
|
|
85
|
+
*
|
|
86
|
+
* ⚠️ NO PROMPTS. `GIT_TERMINAL_PROMPT=0` comes from `trustedGitEnv`, and the
|
|
87
|
+
* credential manager's own window is turned off too: a supervisor at login has
|
|
88
|
+
* nobody to answer it, and a clone waiting on a hidden dialog would hold every
|
|
89
|
+
* later request behind it. A private repository needs credentials the machine
|
|
90
|
+
* already has.
|
|
91
|
+
*/
|
|
92
|
+
/* istanbul ignore next — real git */
|
|
93
|
+
function nodeClone(url, target) {
|
|
94
|
+
return new Promise((resolve) => {
|
|
95
|
+
const bin = (0, trusted_git_1.gitBinary)();
|
|
96
|
+
if (bin === null) {
|
|
97
|
+
resolve({ ok: false, error: 'git was not found on PATH' });
|
|
98
|
+
return;
|
|
99
|
+
}
|
|
100
|
+
const env = { ...(0, trusted_git_1.trustedGitEnv)(process.env), GCM_INTERACTIVE: 'never' };
|
|
101
|
+
const child = (0, node_child_process_1.spawn)(bin, [...(0, trusted_git_1.trustedGitArgs)(), 'clone', '--quiet', '--', url, target], {
|
|
102
|
+
env,
|
|
103
|
+
stdio: ['ignore', 'ignore', 'pipe'],
|
|
104
|
+
windowsHide: true,
|
|
105
|
+
});
|
|
106
|
+
const err = [];
|
|
107
|
+
child.stderr.on('data', (d) => err.push(d.toString('utf8')));
|
|
108
|
+
const timer = setTimeout(() => child.kill('SIGKILL'), exports.CLONE_TIMEOUT_MS);
|
|
109
|
+
child.on('error', (e) => {
|
|
110
|
+
clearTimeout(timer);
|
|
111
|
+
resolve({ ok: false, error: e.message });
|
|
112
|
+
});
|
|
113
|
+
child.on('close', (code, signal) => {
|
|
114
|
+
clearTimeout(timer);
|
|
115
|
+
if (code === 0)
|
|
116
|
+
resolve({ ok: true });
|
|
117
|
+
else if (signal)
|
|
118
|
+
resolve({ ok: false, error: `git clone did not finish in ${exports.CLONE_TIMEOUT_MS / 60_000} minutes` });
|
|
119
|
+
else
|
|
120
|
+
resolve({ ok: false, error: err.join('').trim() || `git clone exited with code ${code}` });
|
|
121
|
+
});
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
//# sourceMappingURL=serve-tasks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serve-tasks.js","sourceRoot":"","sources":["../src/serve-tasks.ts"],"names":[],"mappings":"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"}
|
package/dist/serve.d.ts
CHANGED
|
@@ -34,9 +34,31 @@ export interface ServedRepo {
|
|
|
34
34
|
readonly path: string;
|
|
35
35
|
readonly addedAt: string;
|
|
36
36
|
}
|
|
37
|
+
/** A folder `looply connect` was told holds code; rescanned for new repositories. */
|
|
38
|
+
export interface ServedRoot {
|
|
39
|
+
readonly path: string;
|
|
40
|
+
readonly addedAt: string;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* The served list.
|
|
44
|
+
*
|
|
45
|
+
* Version 2 adds what `looply connect` records — the code roots the supervisor
|
|
46
|
+
* rescans, where requested clones go, and the repositories a person took out
|
|
47
|
+
* of service under a root (so a rescan does not put them straight back).
|
|
48
|
+
* Version 1 files are read as version 2 with none of those; every write is
|
|
49
|
+
* version 2.
|
|
50
|
+
*/
|
|
37
51
|
export interface ServedRegistry {
|
|
38
|
-
readonly version: 1;
|
|
52
|
+
readonly version: 1 | 2;
|
|
39
53
|
readonly repos: readonly ServedRepo[];
|
|
54
|
+
readonly roots?: readonly ServedRoot[];
|
|
55
|
+
/** Where requested clones go; absent means the first root, then `~/looply-repos`. */
|
|
56
|
+
readonly cloneRoot?: string;
|
|
57
|
+
/**
|
|
58
|
+
* Removed with `serve remove` while under a root. A rescan skips these;
|
|
59
|
+
* `serve add` takes one off the list again.
|
|
60
|
+
*/
|
|
61
|
+
readonly ignored?: readonly ServedRoot[];
|
|
40
62
|
}
|
|
41
63
|
export declare const EMPTY_REGISTRY: ServedRegistry;
|
|
42
64
|
/**
|
|
@@ -78,6 +100,7 @@ export declare function configPathOf(repo: string, platform: Platform): string;
|
|
|
78
100
|
* same rule `MachineStore.load` keeps for the identity.
|
|
79
101
|
*/
|
|
80
102
|
export declare function readRegistry(fs: ServeFs, file: string): ServedRegistry;
|
|
103
|
+
/** Always written as version 2, whatever was read. */
|
|
81
104
|
export declare function writeRegistry(fs: ServeFs, file: string, registry: ServedRegistry): void;
|
|
82
105
|
export declare function addRepo(registry: ServedRegistry, path: string, addedAt: string, platform: Platform): {
|
|
83
106
|
registry: ServedRegistry;
|
|
@@ -87,6 +110,16 @@ export declare function removeRepo(registry: ServedRegistry, path: string, platf
|
|
|
87
110
|
registry: ServedRegistry;
|
|
88
111
|
removed: boolean;
|
|
89
112
|
};
|
|
113
|
+
/** Whether `path` is one of the recorded roots or inside one. */
|
|
114
|
+
export declare function isUnderRoot(registry: ServedRegistry, path: string, platform: Platform): boolean;
|
|
115
|
+
/** Record code roots; ones already recorded are left as they are. */
|
|
116
|
+
export declare function addRoots(registry: ServedRegistry, paths: readonly string[], addedAt: string, platform: Platform): {
|
|
117
|
+
registry: ServedRegistry;
|
|
118
|
+
added: string[];
|
|
119
|
+
};
|
|
120
|
+
export declare function isIgnored(registry: ServedRegistry, path: string, platform: Platform): boolean;
|
|
121
|
+
/** Where a requested clone goes: the recorded clone root, else the first code root, else `~/looply-repos`. */
|
|
122
|
+
export declare function cloneRootOf(registry: ServedRegistry, home: string, platform: Platform): string;
|
|
90
123
|
/** 2s, 4s, 8s … capped at a minute. `failures` counts consecutive short lives. */
|
|
91
124
|
export declare function backoffDelay(failures: number): number;
|
|
92
125
|
/**
|
|
@@ -143,6 +176,8 @@ export declare function takeServeLock(fs: ServeFs, path: string, self: {
|
|
|
143
176
|
pid: number;
|
|
144
177
|
at: string;
|
|
145
178
|
}, probe: ProbeFn): ServeLockResult;
|
|
179
|
+
/** The pid of a supervisor holding the lock that is not known to be dead, or null when there is none. */
|
|
180
|
+
export declare function liveServeLockHolder(fs: ServeFs, path: string, probe: ProbeFn): number | null;
|
|
146
181
|
export declare function windowsStartupFolder(env: NodeJS.ProcessEnv): string | null;
|
|
147
182
|
export interface LaunchPaths {
|
|
148
183
|
/** Absolute path of the node executable (`process.execPath`). */
|
package/dist/serve.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serve.d.ts","sourceRoot":"","sources":["../src/serve.ts"],"names":[],"mappings":"AAGA,OAAO,EAA8B,KAAK,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC7E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAE3C;;;;;;;;;;;;;;;;;GAiBG;AAEH,eAAO,MAAM,WAAW,gBAAgB,CAAC;AACzC,eAAO,MAAM,eAAe,eAAe,CAAC;AAC5C,eAAO,MAAM,cAAc,cAAc,CAAC;AAC1C,eAAO,MAAM,YAAY,qBAAqB,CAAC;AAE/C,0FAA0F;AAC1F,eAAO,MAAM,gBAAgB,QAAS,CAAC;AACvC,eAAO,MAAM,gBAAgB,OAAQ,CAAC;AACtC,eAAO,MAAM,cAAc,QAAS,CAAC;AACrC,mEAAmE;AACnE,eAAO,MAAM,sBAAsB,QAAa,CAAC;AAEjD,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;AAEvC,MAAM,WAAW,UAAU;IACzB,wDAAwD;IACxD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"serve.d.ts","sourceRoot":"","sources":["../src/serve.ts"],"names":[],"mappings":"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"}
|