gcb-host 0.7.1 → 0.8.1
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/CHANGELOG.md +22 -1
- package/bin/gcb.js +3 -3
- package/lib/audit.d.ts +4 -4
- package/lib/audit.d.ts.map +1 -1
- package/lib/audit.js +15 -14
- package/lib/audit.js.map +1 -1
- package/lib/broker.d.ts +12 -13
- package/lib/broker.d.ts.map +1 -1
- package/lib/broker.js +77 -53
- package/lib/broker.js.map +1 -1
- package/lib/commands/authorize.d.ts +43 -13
- package/lib/commands/authorize.d.ts.map +1 -1
- package/lib/commands/authorize.js +146 -53
- package/lib/commands/authorize.js.map +1 -1
- package/lib/commands/compose.d.ts +8 -10
- package/lib/commands/compose.d.ts.map +1 -1
- package/lib/commands/compose.js +33 -44
- package/lib/commands/compose.js.map +1 -1
- package/lib/commands/config.d.ts.map +1 -1
- package/lib/commands/config.js +59 -41
- package/lib/commands/config.js.map +1 -1
- package/lib/commands/deployment.d.ts +11 -11
- package/lib/commands/deployment.d.ts.map +1 -1
- package/lib/commands/deployment.js +19 -18
- package/lib/commands/deployment.js.map +1 -1
- package/lib/commands/diagnose.d.ts.map +1 -1
- package/lib/commands/diagnose.js +51 -33
- package/lib/commands/diagnose.js.map +1 -1
- package/lib/commands/doctor.d.ts +5 -5
- package/lib/commands/doctor.d.ts.map +1 -1
- package/lib/commands/doctor.js +53 -32
- package/lib/commands/doctor.js.map +1 -1
- package/lib/commands/host.d.ts +7 -7
- package/lib/commands/host.d.ts.map +1 -1
- package/lib/commands/host.js +144 -93
- package/lib/commands/host.js.map +1 -1
- package/lib/commands/init.d.ts +33 -33
- package/lib/commands/init.d.ts.map +1 -1
- package/lib/commands/init.js +93 -75
- package/lib/commands/init.js.map +1 -1
- package/lib/commands/stage.d.ts +6 -6
- package/lib/commands/stage.d.ts.map +1 -1
- package/lib/commands/stage.js +21 -15
- package/lib/commands/stage.js.map +1 -1
- package/lib/config.d.ts +29 -28
- package/lib/config.d.ts.map +1 -1
- package/lib/config.js +100 -84
- package/lib/config.js.map +1 -1
- package/lib/daemon.d.ts +9 -9
- package/lib/daemon.d.ts.map +1 -1
- package/lib/daemon.js +21 -18
- package/lib/daemon.js.map +1 -1
- package/lib/device-flow.d.ts +23 -22
- package/lib/device-flow.d.ts.map +1 -1
- package/lib/device-flow.js +33 -28
- package/lib/device-flow.js.map +1 -1
- package/lib/gh.d.ts +2 -2
- package/lib/gh.d.ts.map +1 -1
- package/lib/gh.js +74 -46
- package/lib/gh.js.map +1 -1
- package/lib/http.d.ts.map +1 -1
- package/lib/http.js +35 -18
- package/lib/http.js.map +1 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js.map +1 -1
- package/lib/policy.d.ts +25 -25
- package/lib/policy.d.ts.map +1 -1
- package/lib/policy.js +57 -36
- package/lib/policy.js.map +1 -1
- package/lib/providers/github-app.d.ts +12 -12
- package/lib/providers/github-app.d.ts.map +1 -1
- package/lib/providers/github-app.js +194 -125
- package/lib/providers/github-app.js.map +1 -1
- package/lib/providers/index.d.ts +8 -9
- package/lib/providers/index.d.ts.map +1 -1
- package/lib/providers/index.js +5 -5
- package/lib/providers/index.js.map +1 -1
- package/lib/providers/static.d.ts +3 -3
- package/lib/providers/static.d.ts.map +1 -1
- package/lib/providers/static.js +14 -12
- package/lib/providers/static.js.map +1 -1
- package/lib/proxy.d.ts +10 -10
- package/lib/proxy.d.ts.map +1 -1
- package/lib/proxy.js +18 -16
- package/lib/proxy.js.map +1 -1
- package/lib/public-repo.d.ts +10 -10
- package/lib/public-repo.d.ts.map +1 -1
- package/lib/public-repo.js +17 -14
- package/lib/public-repo.js.map +1 -1
- package/lib/reload.d.ts +4 -4
- package/lib/reload.d.ts.map +1 -1
- package/lib/reload.js +24 -14
- package/lib/reload.js.map +1 -1
- package/package.json +10 -10
package/lib/reload.js
CHANGED
|
@@ -11,8 +11,8 @@ import path from 'node:path';
|
|
|
11
11
|
/**
|
|
12
12
|
* Read the file and hash it.
|
|
13
13
|
*
|
|
14
|
-
* @param file -
|
|
15
|
-
* @returns
|
|
14
|
+
* @param file - The configuration path.
|
|
15
|
+
* @returns The digest, or undefined when the file is momentarily absent (an atomic rename).
|
|
16
16
|
*/
|
|
17
17
|
export function fingerprintConfig(file) {
|
|
18
18
|
let text;
|
|
@@ -20,8 +20,9 @@ export function fingerprintConfig(file) {
|
|
|
20
20
|
text = fs.readFileSync(file, 'utf8');
|
|
21
21
|
}
|
|
22
22
|
catch (error) {
|
|
23
|
-
if (error.code === 'ENOENT')
|
|
23
|
+
if (error.code === 'ENOENT') {
|
|
24
24
|
return undefined;
|
|
25
|
+
}
|
|
25
26
|
throw error;
|
|
26
27
|
}
|
|
27
28
|
return { digest: createHash('sha256').update(text).digest('hex') };
|
|
@@ -61,16 +62,18 @@ export class ConfigWatcher {
|
|
|
61
62
|
/**
|
|
62
63
|
* Start watching. A failure to establish the fast path is not fatal: polling still runs.
|
|
63
64
|
*
|
|
64
|
-
* @returns
|
|
65
|
+
* @returns This watcher, for chaining.
|
|
65
66
|
*/
|
|
66
67
|
start() {
|
|
67
68
|
this.#startPolling();
|
|
68
69
|
try {
|
|
69
70
|
this.#watch = fs.watch(path.dirname(this.#file), { persistent: false }, (_event, name) => {
|
|
70
|
-
if (name !== null && name !== path.basename(this.#file))
|
|
71
|
+
if (name !== null && name !== path.basename(this.#file)) {
|
|
71
72
|
return;
|
|
72
|
-
|
|
73
|
+
}
|
|
74
|
+
if (this.#debounce !== undefined) {
|
|
73
75
|
clearTimeout(this.#debounce);
|
|
76
|
+
}
|
|
74
77
|
this.#debounce = setTimeout(() => this.check(false), this.#debounceMs);
|
|
75
78
|
this.#debounce.unref();
|
|
76
79
|
});
|
|
@@ -86,21 +89,24 @@ export class ConfigWatcher {
|
|
|
86
89
|
}
|
|
87
90
|
/** Start the safety poll once; the watch is the primary, low-latency trigger. */
|
|
88
91
|
#startPolling() {
|
|
89
|
-
if (this.#stopped || this.#timer !== undefined)
|
|
92
|
+
if (this.#stopped || this.#timer !== undefined) {
|
|
90
93
|
return;
|
|
94
|
+
}
|
|
91
95
|
this.#timer = setInterval(() => this.check(false), this.#intervalMs);
|
|
92
96
|
this.#timer.unref();
|
|
93
97
|
}
|
|
94
98
|
/**
|
|
95
99
|
* Compare the file with the last accepted digest and reload when it changed.
|
|
96
100
|
*
|
|
97
|
-
* @param force -
|
|
101
|
+
* @param force - Reload even when the digest is unchanged (SIGHUP).
|
|
98
102
|
*/
|
|
99
103
|
check(force) {
|
|
100
|
-
if (this.#stopped)
|
|
104
|
+
if (this.#stopped) {
|
|
101
105
|
return;
|
|
102
|
-
|
|
106
|
+
}
|
|
107
|
+
if (force) {
|
|
103
108
|
this.#forcePending = true;
|
|
109
|
+
}
|
|
104
110
|
let next;
|
|
105
111
|
try {
|
|
106
112
|
next = fingerprintConfig(this.#file);
|
|
@@ -114,10 +120,12 @@ export class ConfigWatcher {
|
|
|
114
120
|
return;
|
|
115
121
|
}
|
|
116
122
|
this.#readError = undefined;
|
|
117
|
-
if (next === undefined)
|
|
123
|
+
if (next === undefined) {
|
|
118
124
|
return;
|
|
119
|
-
|
|
125
|
+
}
|
|
126
|
+
if (!this.#forcePending && next.digest === this.#last) {
|
|
120
127
|
return;
|
|
128
|
+
}
|
|
121
129
|
try {
|
|
122
130
|
this.#last = this.#reload();
|
|
123
131
|
this.#failedReport = undefined;
|
|
@@ -139,10 +147,12 @@ export class ConfigWatcher {
|
|
|
139
147
|
/** Stop both triggers. */
|
|
140
148
|
stop() {
|
|
141
149
|
this.#stopped = true;
|
|
142
|
-
if (this.#timer !== undefined)
|
|
150
|
+
if (this.#timer !== undefined) {
|
|
143
151
|
clearInterval(this.#timer);
|
|
144
|
-
|
|
152
|
+
}
|
|
153
|
+
if (this.#debounce !== undefined) {
|
|
145
154
|
clearTimeout(this.#debounce);
|
|
155
|
+
}
|
|
146
156
|
this.#watch?.close();
|
|
147
157
|
}
|
|
148
158
|
}
|
package/lib/reload.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reload.js","sourceRoot":"","sources":["../src/reload.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,
|
|
1
|
+
{"version":3,"file":"reload.js","sourceRoot":"","sources":["../src/reload.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,MAAM,SAAS,CAAA;AACxB,OAAO,IAAI,MAAM,WAAW,CAAA;AAO5B;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,IAAI,IAAY,CAAA;IAChB,IAAI,CAAC;QACH,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IACtC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACvD,OAAO,SAAS,CAAA;QAClB,CAAC;QACD,MAAM,KAAK,CAAA;IACb,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAA;AACpE,CAAC;AAiBD,6CAA6C;AAC7C,MAAM,OAAO,aAAa;IACf,KAAK,CAAQ;IACb,WAAW,CAAQ;IACnB,WAAW,CAAQ;IACnB,OAAO,CAAc;IACrB,QAAQ,CAAwB;IACzC,KAAK,CAAoB;IACzB,mFAAmF;IACnF,aAAa,GAAG,KAAK,CAAA;IACrB,kGAAkG;IAClG,aAAa,CAAoB;IACjC,kGAAkG;IAClG,UAAU,CAAoB;IAC9B,MAAM,CAA4B;IAClC,MAAM,CAA0B;IAChC,SAAS,CAA4B;IACrC,QAAQ,GAAG,KAAK,CAAA;IAEhB,YAAY,OAA6B;QACvC,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,IAAI,CAAA;QACzB,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,UAAU,IAAI,KAAK,CAAA;QAC9C,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,UAAU,IAAI,GAAG,CAAA;QAC5C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,MAAM,CAAA;QAC7B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,OAAO,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;QAC7C,IAAI,CAAC;YACH,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,aAAa,IAAI,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;QAC7E,CAAC;QAAC,MAAM,CAAC;YACP,kGAAkG;YAClG,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,aAAa,CAAA;QACpC,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK;QACH,IAAI,CAAC,aAAa,EAAE,CAAA;QACpB,IAAI,CAAC;YACH,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE;gBACvF,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;oBACxD,OAAM;gBACR,CAAC;gBACD,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;oBACjC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;gBAC9B,CAAC;gBACD,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,CAAA;gBACtE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAA;YACxB,CAAC,CAAC,CAAA;YACF,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;gBAC3B,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,CAAA;gBACpB,IAAI,CAAC,MAAM,GAAG,SAAS,CAAA;YACzB,CAAC,CAAC,CAAA;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,qFAAqF;QACvF,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,iFAAiF;IACjF,aAAa;QACX,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC/C,OAAM;QACR,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,CAAA;QACpE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAA;IACrB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,KAAc;QAClB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,OAAM;QACR,CAAC;QACD,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,CAAC,aAAa,GAAG,IAAI,CAAA;QAC3B,CAAC;QACD,IAAI,IAAmC,CAAA;QACvC,IAAI,CAAC;YACH,IAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACtC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,GAAI,KAAe,CAAC,OAAO,CAAA;YACxC,IAAI,OAAO,KAAK,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChC,IAAI,CAAC,UAAU,GAAG,OAAO,CAAA;gBACzB,IAAI,CAAC,QAAQ,CAAC,KAAc,CAAC,CAAA;YAC/B,CAAC;YACD,OAAM;QACR,CAAC;QACD,IAAI,CAAC,UAAU,GAAG,SAAS,CAAA;QAC3B,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,OAAM;QACR,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC;YACtD,OAAM;QACR,CAAC;QACD,IAAI,CAAC;YACH,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,EAAE,CAAA;YAC3B,IAAI,CAAC,aAAa,GAAG,SAAS,CAAA;YAC9B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAA;QAC5B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,gGAAgG;YAChG,4FAA4F;YAC5F,sDAAsD;YACtD,IAAI,CAAC,KAAK,GAAG,SAAS,CAAA;YACtB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAA;YAC1B,MAAM,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,KAAM,KAAe,CAAC,OAAO,EAAE,CAAA;YAC5D,IAAI,MAAM,KAAK,IAAI,CAAC,aAAa,EAAE,CAAC;gBAClC,IAAI,CAAC,aAAa,GAAG,MAAM,CAAA;gBAC3B,IAAI,CAAC,QAAQ,CAAC,KAAc,CAAC,CAAA;YAC/B,CAAC;QACH,CAAC;IACH,CAAC;IAED,0BAA0B;IAC1B,IAAI;QACF,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;QACpB,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC9B,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAC5B,CAAC;QACD,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YACjC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QAC9B,CAAC;QACD,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,CAAA;IACtB,CAAC;CACF"}
|
package/package.json
CHANGED
|
@@ -1,33 +1,33 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "gcb-host",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.8.1",
|
|
4
|
+
"type": "module",
|
|
4
5
|
"description": "Host-side gcb broker, configuration, providers and administration commands.",
|
|
5
|
-
"license": "MIT",
|
|
6
|
-
"author": "JounQin <admin@1stg.me>",
|
|
7
|
-
"homepage": "https://github.com/code-vaults/git-credential-broker#readme",
|
|
8
6
|
"repository": {
|
|
9
7
|
"type": "git",
|
|
10
8
|
"url": "git+https://github.com/code-vaults/git-credential-broker.git"
|
|
11
9
|
},
|
|
12
|
-
"
|
|
10
|
+
"homepage": "https://github.com/code-vaults/git-credential-broker#readme",
|
|
11
|
+
"author": "JounQin <admin@1stg.me>",
|
|
12
|
+
"license": "MIT",
|
|
13
13
|
"engines": {
|
|
14
14
|
"node": ">=24"
|
|
15
15
|
},
|
|
16
16
|
"bin": {
|
|
17
17
|
"gcb": "./bin/gcb.js"
|
|
18
18
|
},
|
|
19
|
-
"files": [
|
|
20
|
-
"lib",
|
|
21
|
-
"bin"
|
|
22
|
-
],
|
|
23
19
|
"exports": {
|
|
24
20
|
".": {
|
|
25
21
|
"types": "./lib/index.d.ts",
|
|
26
22
|
"default": "./lib/index.js"
|
|
27
23
|
}
|
|
28
24
|
},
|
|
25
|
+
"files": [
|
|
26
|
+
"bin",
|
|
27
|
+
"lib"
|
|
28
|
+
],
|
|
29
29
|
"dependencies": {
|
|
30
|
-
"gcb-core": "0.
|
|
30
|
+
"gcb-core": "0.8.1",
|
|
31
31
|
"node-fetch-native": "^1.6.7",
|
|
32
32
|
"x-fetch": "^0.3.0",
|
|
33
33
|
"yaml": "^2.9.1"
|