@bgord/bun 1.1.5 → 1.1.6
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/healthcheck.service.d.ts +7 -4
- package/dist/healthcheck.service.d.ts.map +1 -1
- package/dist/healthcheck.service.js +1 -1
- package/dist/healthcheck.service.js.map +1 -1
- package/dist/prerequisites/binary.d.ts +2 -1
- package/dist/prerequisites/binary.d.ts.map +1 -1
- package/dist/prerequisites/binary.js +7 -5
- package/dist/prerequisites/binary.js.map +1 -1
- package/dist/prerequisites/bun.d.ts +2 -1
- package/dist/prerequisites/bun.d.ts.map +1 -1
- package/dist/prerequisites/bun.js +10 -5
- package/dist/prerequisites/bun.js.map +1 -1
- package/dist/prerequisites/clock-drift.d.ts +2 -2
- package/dist/prerequisites/clock-drift.d.ts.map +1 -1
- package/dist/prerequisites/clock-drift.js +7 -5
- package/dist/prerequisites/clock-drift.js.map +1 -1
- package/dist/prerequisites/dependency-vulnerabilities.d.ts +2 -1
- package/dist/prerequisites/dependency-vulnerabilities.d.ts.map +1 -1
- package/dist/prerequisites/dependency-vulnerabilities.js +8 -6
- package/dist/prerequisites/dependency-vulnerabilities.js.map +1 -1
- package/dist/prerequisites/directory.d.ts +3 -2
- package/dist/prerequisites/directory.d.ts.map +1 -1
- package/dist/prerequisites/directory.js +6 -4
- package/dist/prerequisites/directory.js.map +1 -1
- package/dist/prerequisites/external-api.d.ts +2 -1
- package/dist/prerequisites/external-api.d.ts.map +1 -1
- package/dist/prerequisites/external-api.js +7 -5
- package/dist/prerequisites/external-api.js.map +1 -1
- package/dist/prerequisites/jobs.d.ts +2 -1
- package/dist/prerequisites/jobs.d.ts.map +1 -1
- package/dist/prerequisites/jobs.js +6 -4
- package/dist/prerequisites/jobs.js.map +1 -1
- package/dist/prerequisites/log-file.d.ts +2 -1
- package/dist/prerequisites/log-file.d.ts.map +1 -1
- package/dist/prerequisites/log-file.js +7 -5
- package/dist/prerequisites/log-file.js.map +1 -1
- package/dist/prerequisites/mailer.d.ts +2 -1
- package/dist/prerequisites/mailer.d.ts.map +1 -1
- package/dist/prerequisites/mailer.js +6 -4
- package/dist/prerequisites/mailer.js.map +1 -1
- package/dist/prerequisites/memory.d.ts +2 -1
- package/dist/prerequisites/memory.d.ts.map +1 -1
- package/dist/prerequisites/memory.js +5 -4
- package/dist/prerequisites/memory.js.map +1 -1
- package/dist/prerequisites/node.d.ts +2 -1
- package/dist/prerequisites/node.d.ts.map +1 -1
- package/dist/prerequisites/node.js +8 -5
- package/dist/prerequisites/node.js.map +1 -1
- package/dist/prerequisites/outside-connectivity.d.ts +2 -1
- package/dist/prerequisites/outside-connectivity.d.ts.map +1 -1
- package/dist/prerequisites/outside-connectivity.js +7 -5
- package/dist/prerequisites/outside-connectivity.js.map +1 -1
- package/dist/prerequisites/port.d.ts +2 -1
- package/dist/prerequisites/port.d.ts.map +1 -1
- package/dist/prerequisites/port.js +6 -4
- package/dist/prerequisites/port.js.map +1 -1
- package/dist/prerequisites/ram.d.ts +2 -1
- package/dist/prerequisites/ram.d.ts.map +1 -1
- package/dist/prerequisites/ram.js +7 -4
- package/dist/prerequisites/ram.js.map +1 -1
- package/dist/prerequisites/running-user.d.ts +2 -1
- package/dist/prerequisites/running-user.d.ts.map +1 -1
- package/dist/prerequisites/running-user.js +6 -4
- package/dist/prerequisites/running-user.js.map +1 -1
- package/dist/prerequisites/self.d.ts +2 -1
- package/dist/prerequisites/self.d.ts.map +1 -1
- package/dist/prerequisites/self.js +5 -3
- package/dist/prerequisites/self.js.map +1 -1
- package/dist/prerequisites/space.d.ts +2 -1
- package/dist/prerequisites/space.d.ts.map +1 -1
- package/dist/prerequisites/space.js +6 -5
- package/dist/prerequisites/space.js.map +1 -1
- package/dist/prerequisites/sqlite.d.ts +2 -1
- package/dist/prerequisites/sqlite.d.ts.map +1 -1
- package/dist/prerequisites/sqlite.js +7 -5
- package/dist/prerequisites/sqlite.js.map +1 -1
- package/dist/prerequisites/ssl-certificate-expiry.d.ts +2 -1
- package/dist/prerequisites/ssl-certificate-expiry.d.ts.map +1 -1
- package/dist/prerequisites/ssl-certificate-expiry.js +9 -5
- package/dist/prerequisites/ssl-certificate-expiry.js.map +1 -1
- package/dist/prerequisites/timezone-utc.d.ts +3 -2
- package/dist/prerequisites/timezone-utc.d.ts.map +1 -1
- package/dist/prerequisites/timezone-utc.js +6 -4
- package/dist/prerequisites/timezone-utc.js.map +1 -1
- package/dist/prerequisites/translations.d.ts +2 -1
- package/dist/prerequisites/translations.d.ts.map +1 -1
- package/dist/prerequisites/translations.js +8 -6
- package/dist/prerequisites/translations.js.map +1 -1
- package/dist/prerequisites.service.d.ts +24 -14
- package/dist/prerequisites.service.d.ts.map +1 -1
- package/dist/prerequisites.service.js +15 -11
- package/dist/prerequisites.service.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -2
- package/src/healthcheck.service.ts +1 -1
- package/src/prerequisites/binary.ts +9 -5
- package/src/prerequisites/bun.ts +12 -5
- package/src/prerequisites/clock-drift.ts +8 -6
- package/src/prerequisites/dependency-vulnerabilities.ts +11 -6
- package/src/prerequisites/directory.ts +8 -5
- package/src/prerequisites/external-api.ts +9 -5
- package/src/prerequisites/jobs.ts +8 -4
- package/src/prerequisites/log-file.ts +9 -5
- package/src/prerequisites/mailer.ts +8 -4
- package/src/prerequisites/memory.ts +7 -4
- package/src/prerequisites/node.ts +10 -5
- package/src/prerequisites/outside-connectivity.ts +9 -5
- package/src/prerequisites/port.ts +10 -4
- package/src/prerequisites/ram.ts +9 -4
- package/src/prerequisites/running-user.ts +8 -4
- package/src/prerequisites/self.ts +7 -3
- package/src/prerequisites/space.ts +8 -5
- package/src/prerequisites/sqlite.ts +9 -5
- package/src/prerequisites/ssl-certificate-expiry.ts +12 -5
- package/src/prerequisites/timezone-utc.ts +8 -5
- package/src/prerequisites/translations.ts +10 -7
- package/src/prerequisites.service.ts +30 -15
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import * as tools from "@bgord/tools";
|
|
2
|
+
import type { ClockPort } from "../clock.port";
|
|
2
3
|
import * as prereqs from "../prerequisites.service";
|
|
3
4
|
export declare class PrerequisiteMemory implements prereqs.Prerequisite {
|
|
4
5
|
readonly kind = "memory";
|
|
@@ -8,6 +9,6 @@ export declare class PrerequisiteMemory implements prereqs.Prerequisite {
|
|
|
8
9
|
constructor(config: prereqs.PrerequisiteConfigType & {
|
|
9
10
|
maximum: tools.Size;
|
|
10
11
|
});
|
|
11
|
-
verify(): Promise<prereqs.VerifyOutcome>;
|
|
12
|
+
verify(clock: ClockPort): Promise<prereqs.VerifyOutcome>;
|
|
12
13
|
}
|
|
13
14
|
//# sourceMappingURL=memory.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../src/prerequisites/memory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../src/prerequisites/memory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/C,OAAO,KAAK,OAAO,MAAM,0BAA0B,CAAC;AAEpD,qBAAa,kBAAmB,YAAW,OAAO,CAAC,YAAY;IAC7D,QAAQ,CAAC,IAAI,YAAY;IACzB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,qBAAqB,CAAC;IAC9C,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAQ;IAElC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAa;gBAEzB,MAAM,EAAE,OAAO,CAAC,sBAAsB,GAAG;QAAE,OAAO,EAAE,KAAK,CAAC,IAAI,CAAA;KAAE;IAOtE,MAAM,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC;CAc/D"}
|
|
@@ -11,16 +11,17 @@ export class PrerequisiteMemory {
|
|
|
11
11
|
this.enabled = config.enabled === undefined ? true : config.enabled;
|
|
12
12
|
this.maximum = config.maximum;
|
|
13
13
|
}
|
|
14
|
-
async verify() {
|
|
14
|
+
async verify(clock) {
|
|
15
|
+
const stopwatch = new tools.Stopwatch(clock.now());
|
|
15
16
|
if (!this.enabled)
|
|
16
|
-
return prereqs.Verification.undetermined();
|
|
17
|
+
return prereqs.Verification.undetermined(stopwatch.stop());
|
|
17
18
|
const memoryConsumption = MemoryConsumption.get();
|
|
18
19
|
if (memoryConsumption.isGreaterThan(this.maximum)) {
|
|
19
|
-
return prereqs.Verification.failure({
|
|
20
|
+
return prereqs.Verification.failure(stopwatch.stop(), {
|
|
20
21
|
message: `Memory consumption: ${memoryConsumption.format(tools.Size.unit.MB)}`,
|
|
21
22
|
});
|
|
22
23
|
}
|
|
23
|
-
return prereqs.Verification.success();
|
|
24
|
+
return prereqs.Verification.success(stopwatch.stop());
|
|
24
25
|
}
|
|
25
26
|
}
|
|
26
27
|
//# sourceMappingURL=memory.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory.js","sourceRoot":"","sources":["../../src/prerequisites/memory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"memory.js","sourceRoot":"","sources":["../../src/prerequisites/memory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAEtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,KAAK,OAAO,MAAM,0BAA0B,CAAC;AAEpD,MAAM,OAAO,kBAAkB;IACpB,IAAI,GAAG,QAAQ,CAAC;IAChB,KAAK,CAAgC;IACrC,OAAO,GAAa,IAAI,CAAC;IAEjB,OAAO,CAAa;IAErC,YAAY,MAAgE;QAC1E,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAC1B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;QAEpE,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAAgB;QAC3B,MAAM,SAAS,GAAG,IAAI,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;QAEnD,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO,OAAO,CAAC,YAAY,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;QAE9E,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,GAAG,EAAE,CAAC;QAElD,IAAI,iBAAiB,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAClD,OAAO,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE;gBACpD,OAAO,EAAE,uBAAuB,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;aAC/E,CAAC,CAAC;QACL,CAAC;QACD,OAAO,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;IACxD,CAAC;CACF"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import * as tools from "@bgord/tools";
|
|
2
|
+
import type { ClockPort } from "../clock.port";
|
|
2
3
|
import * as prereqs from "../prerequisites.service";
|
|
3
4
|
export declare class PrerequisiteNode implements prereqs.Prerequisite {
|
|
4
5
|
readonly kind = "node";
|
|
@@ -10,6 +11,6 @@ export declare class PrerequisiteNode implements prereqs.Prerequisite {
|
|
|
10
11
|
version: tools.PackageVersion;
|
|
11
12
|
current: string;
|
|
12
13
|
});
|
|
13
|
-
verify(): Promise<prereqs.VerifyOutcome>;
|
|
14
|
+
verify(clock: ClockPort): Promise<prereqs.VerifyOutcome>;
|
|
14
15
|
}
|
|
15
16
|
//# sourceMappingURL=node.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../src/prerequisites/node.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,OAAO,MAAM,0BAA0B,CAAC;AAEpD,qBAAa,gBAAiB,YAAW,OAAO,CAAC,YAAY;IAC3D,QAAQ,CAAC,IAAI,UAAU;IACvB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,qBAAqB,CAAC;IAC9C,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAQ;IAElC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAuB;IAC/C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;gBAErB,MAAM,EAAE,OAAO,CAAC,sBAAsB,GAAG;QAAE,OAAO,EAAE,KAAK,CAAC,cAAc,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE;IAQjG,MAAM,
|
|
1
|
+
{"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../src/prerequisites/node.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,OAAO,MAAM,0BAA0B,CAAC;AAEpD,qBAAa,gBAAiB,YAAW,OAAO,CAAC,YAAY;IAC3D,QAAQ,CAAC,IAAI,UAAU;IACvB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,qBAAqB,CAAC;IAC9C,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAQ;IAElC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAuB;IAC/C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;gBAErB,MAAM,EAAE,OAAO,CAAC,sBAAsB,GAAG;QAAE,OAAO,EAAE,KAAK,CAAC,cAAc,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE;IAQjG,MAAM,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC;CAgB/D"}
|
|
@@ -12,17 +12,20 @@ export class PrerequisiteNode {
|
|
|
12
12
|
this.version = config.version;
|
|
13
13
|
this.current = config.current;
|
|
14
14
|
}
|
|
15
|
-
async verify() {
|
|
15
|
+
async verify(clock) {
|
|
16
|
+
const stopwatch = new tools.Stopwatch(clock.now());
|
|
16
17
|
if (!this.enabled)
|
|
17
|
-
return prereqs.Verification.undetermined();
|
|
18
|
+
return prereqs.Verification.undetermined(stopwatch.stop());
|
|
18
19
|
try {
|
|
19
20
|
const current = tools.PackageVersion.fromStringWithV(this.current);
|
|
20
21
|
if (current.isGreaterThanOrEqual(this.version))
|
|
21
|
-
return prereqs.Verification.success();
|
|
22
|
-
return prereqs.Verification.failure({ message: `Version: ${this.current}` });
|
|
22
|
+
return prereqs.Verification.success(stopwatch.stop());
|
|
23
|
+
return prereqs.Verification.failure(stopwatch.stop(), { message: `Version: ${this.current}` });
|
|
23
24
|
}
|
|
24
25
|
catch {
|
|
25
|
-
return prereqs.Verification.failure(
|
|
26
|
+
return prereqs.Verification.failure(stopwatch.stop(), {
|
|
27
|
+
message: `Invalid version passed: ${this.current}`,
|
|
28
|
+
});
|
|
26
29
|
}
|
|
27
30
|
}
|
|
28
31
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node.js","sourceRoot":"","sources":["../../src/prerequisites/node.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"node.js","sourceRoot":"","sources":["../../src/prerequisites/node.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAEtC,OAAO,KAAK,OAAO,MAAM,0BAA0B,CAAC;AAEpD,MAAM,OAAO,gBAAgB;IAClB,IAAI,GAAG,MAAM,CAAC;IACd,KAAK,CAAgC;IACrC,OAAO,GAAa,IAAI,CAAC;IAEjB,OAAO,CAAuB;IAC9B,OAAO,CAAS;IAEjC,YAAY,MAA2F;QACrG,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAC1B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;QAEpE,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAC9B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAAgB;QAC3B,MAAM,SAAS,GAAG,IAAI,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;QAEnD,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO,OAAO,CAAC,YAAY,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;QAE9E,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,KAAK,CAAC,cAAc,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAEnE,IAAI,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC;gBAAE,OAAO,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;YACtG,OAAO,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,YAAY,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACjG,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE;gBACpD,OAAO,EAAE,2BAA2B,IAAI,CAAC,OAAO,EAAE;aACnD,CAAC,CAAC;QACL,CAAC;IACH,CAAC;CACF"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { ClockPort } from "../clock.port";
|
|
1
2
|
import * as prereqs from "../prerequisites.service";
|
|
2
3
|
export declare class PrerequisiteOutsideConnectivity implements prereqs.Prerequisite {
|
|
3
4
|
readonly kind = "outside-connectivity";
|
|
@@ -5,6 +6,6 @@ export declare class PrerequisiteOutsideConnectivity implements prereqs.Prerequi
|
|
|
5
6
|
readonly enabled?: boolean;
|
|
6
7
|
private readonly url;
|
|
7
8
|
constructor(config: prereqs.PrerequisiteConfigType);
|
|
8
|
-
verify(): Promise<prereqs.VerifyOutcome>;
|
|
9
|
+
verify(clock: ClockPort): Promise<prereqs.VerifyOutcome>;
|
|
9
10
|
}
|
|
10
11
|
//# sourceMappingURL=outside-connectivity.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"outside-connectivity.d.ts","sourceRoot":"","sources":["../../src/prerequisites/outside-connectivity.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"outside-connectivity.d.ts","sourceRoot":"","sources":["../../src/prerequisites/outside-connectivity.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,OAAO,MAAM,0BAA0B,CAAC;AAEpD,qBAAa,+BAAgC,YAAW,OAAO,CAAC,YAAY;IAC1E,QAAQ,CAAC,IAAI,0BAA0B;IACvC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,qBAAqB,CAAC;IAC9C,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAQ;IAElC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAwB;gBAEhC,MAAM,EAAE,OAAO,CAAC,sBAAsB;IAK5C,MAAM,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC;CAc/D"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import * as tools from "@bgord/tools";
|
|
1
2
|
import * as prereqs from "../prerequisites.service";
|
|
2
3
|
export class PrerequisiteOutsideConnectivity {
|
|
3
4
|
kind = "outside-connectivity";
|
|
@@ -8,17 +9,18 @@ export class PrerequisiteOutsideConnectivity {
|
|
|
8
9
|
this.label = config.label;
|
|
9
10
|
this.enabled = config.enabled === undefined ? true : config.enabled;
|
|
10
11
|
}
|
|
11
|
-
async verify() {
|
|
12
|
+
async verify(clock) {
|
|
13
|
+
const stopwatch = new tools.Stopwatch(clock.now());
|
|
12
14
|
try {
|
|
13
15
|
if (!this.enabled)
|
|
14
|
-
return prereqs.Verification.undetermined();
|
|
16
|
+
return prereqs.Verification.undetermined(stopwatch.stop());
|
|
15
17
|
const response = await fetch(this.url, { method: "HEAD" });
|
|
16
18
|
if (response.ok)
|
|
17
|
-
return prereqs.Verification.success();
|
|
18
|
-
return prereqs.Verification.failure({ message: `HTTP ${response.status}` });
|
|
19
|
+
return prereqs.Verification.success(stopwatch.stop());
|
|
20
|
+
return prereqs.Verification.failure(stopwatch.stop(), { message: `HTTP ${response.status}` });
|
|
19
21
|
}
|
|
20
22
|
catch (error) {
|
|
21
|
-
return prereqs.Verification.failure(error);
|
|
23
|
+
return prereqs.Verification.failure(stopwatch.stop(), error);
|
|
22
24
|
}
|
|
23
25
|
}
|
|
24
26
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"outside-connectivity.js","sourceRoot":"","sources":["../../src/prerequisites/outside-connectivity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,0BAA0B,CAAC;AAEpD,MAAM,OAAO,+BAA+B;IACjC,IAAI,GAAG,sBAAsB,CAAC;IAC9B,KAAK,CAAgC;IACrC,OAAO,GAAa,IAAI,CAAC;IAEjB,GAAG,GAAG,oBAAoB,CAAC;IAE5C,YAAY,MAAsC;QAChD,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAC1B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;IACtE,CAAC;IAED,KAAK,CAAC,MAAM;
|
|
1
|
+
{"version":3,"file":"outside-connectivity.js","sourceRoot":"","sources":["../../src/prerequisites/outside-connectivity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAEtC,OAAO,KAAK,OAAO,MAAM,0BAA0B,CAAC;AAEpD,MAAM,OAAO,+BAA+B;IACjC,IAAI,GAAG,sBAAsB,CAAC;IAC9B,KAAK,CAAgC;IACrC,OAAO,GAAa,IAAI,CAAC;IAEjB,GAAG,GAAG,oBAAoB,CAAC;IAE5C,YAAY,MAAsC;QAChD,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAC1B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;IACtE,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAAgB;QAC3B,MAAM,SAAS,GAAG,IAAI,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;QAEnD,IAAI,CAAC;YACH,IAAI,CAAC,IAAI,CAAC,OAAO;gBAAE,OAAO,OAAO,CAAC,YAAY,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;YAE9E,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;YAE3D,IAAI,QAAQ,CAAC,EAAE;gBAAE,OAAO,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;YACvE,OAAO,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,QAAQ,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAChG,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,KAAc,CAAC,CAAC;QACxE,CAAC;IACH,CAAC;CACF"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { ClockPort } from "../clock.port";
|
|
1
2
|
import type { PortType } from "../port.vo";
|
|
2
3
|
import * as prereqs from "../prerequisites.service";
|
|
3
4
|
export declare class PrerequisitePort implements prereqs.Prerequisite {
|
|
@@ -8,6 +9,6 @@ export declare class PrerequisitePort implements prereqs.Prerequisite {
|
|
|
8
9
|
constructor(config: prereqs.PrerequisiteConfigType & {
|
|
9
10
|
port: PortType;
|
|
10
11
|
});
|
|
11
|
-
verify(): Promise<prereqs.VerifyOutcome>;
|
|
12
|
+
verify(clock: ClockPort): Promise<prereqs.VerifyOutcome>;
|
|
12
13
|
}
|
|
13
14
|
//# sourceMappingURL=port.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"port.d.ts","sourceRoot":"","sources":["../../src/prerequisites/port.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"port.d.ts","sourceRoot":"","sources":["../../src/prerequisites/port.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,OAAO,MAAM,0BAA0B,CAAC;AAEpD,qBAAa,gBAAiB,YAAW,OAAO,CAAC,YAAY;IAC3D,QAAQ,CAAC,IAAI,UAAU;IACvB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,qBAAqB,CAAC;IAC9C,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAQ;IAElC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAW;gBAEpB,MAAM,EAAE,OAAO,CAAC,sBAAsB,GAAG;QAAE,IAAI,EAAE,QAAQ,CAAA;KAAE;IAOjE,MAAM,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC;CAa/D"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import net from "node:net";
|
|
2
|
+
import * as tools from "@bgord/tools";
|
|
2
3
|
import * as prereqs from "../prerequisites.service";
|
|
3
4
|
export class PrerequisitePort {
|
|
4
5
|
kind = "port";
|
|
@@ -10,13 +11,14 @@ export class PrerequisitePort {
|
|
|
10
11
|
this.enabled = config.enabled === undefined ? true : config.enabled;
|
|
11
12
|
this.port = config.port;
|
|
12
13
|
}
|
|
13
|
-
async verify() {
|
|
14
|
+
async verify(clock) {
|
|
15
|
+
const stopwatch = new tools.Stopwatch(clock.now());
|
|
14
16
|
if (!this.enabled)
|
|
15
|
-
return prereqs.Verification.undetermined();
|
|
17
|
+
return prereqs.Verification.undetermined(stopwatch.stop());
|
|
16
18
|
return new Promise((resolve) => {
|
|
17
19
|
const server = net.createServer();
|
|
18
|
-
server.listen(this.port, () => server.close(() => resolve(prereqs.Verification.success())));
|
|
19
|
-
server.on("error", () => resolve(prereqs.Verification.failure()));
|
|
20
|
+
server.listen(this.port, () => server.close(() => resolve(prereqs.Verification.success(stopwatch.stop()))));
|
|
21
|
+
server.on("error", () => resolve(prereqs.Verification.failure(stopwatch.stop())));
|
|
20
22
|
});
|
|
21
23
|
}
|
|
22
24
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"port.js","sourceRoot":"","sources":["../../src/prerequisites/port.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"port.js","sourceRoot":"","sources":["../../src/prerequisites/port.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,UAAU,CAAC;AAC3B,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAGtC,OAAO,KAAK,OAAO,MAAM,0BAA0B,CAAC;AAEpD,MAAM,OAAO,gBAAgB;IAClB,IAAI,GAAG,MAAM,CAAC;IACd,KAAK,CAAgC;IACrC,OAAO,GAAa,IAAI,CAAC;IAEjB,IAAI,CAAW;IAEhC,YAAY,MAA2D;QACrE,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAC1B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;QAEpE,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAAgB;QAC3B,MAAM,SAAS,GAAG,IAAI,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;QAEnD,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO,OAAO,CAAC,YAAY,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;QAE9E,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,MAAM,MAAM,GAAG,GAAG,CAAC,YAAY,EAAE,CAAC;YAClC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,CAC5B,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAC5E,CAAC;YACF,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACpF,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import * as tools from "@bgord/tools";
|
|
2
|
+
import type { ClockPort } from "../clock.port";
|
|
2
3
|
import * as prereqs from "../prerequisites.service";
|
|
3
4
|
export declare class PrerequisiteRAM implements prereqs.Prerequisite {
|
|
4
5
|
readonly kind = "ram";
|
|
@@ -8,6 +9,6 @@ export declare class PrerequisiteRAM implements prereqs.Prerequisite {
|
|
|
8
9
|
constructor(config: prereqs.PrerequisiteConfigType & {
|
|
9
10
|
minimum: tools.Size;
|
|
10
11
|
});
|
|
11
|
-
verify(): Promise<prereqs.VerifyOutcome>;
|
|
12
|
+
verify(clock: ClockPort): Promise<prereqs.VerifyOutcome>;
|
|
12
13
|
}
|
|
13
14
|
//# sourceMappingURL=ram.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ram.d.ts","sourceRoot":"","sources":["../../src/prerequisites/ram.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,OAAO,MAAM,0BAA0B,CAAC;AAEpD,qBAAa,eAAgB,YAAW,OAAO,CAAC,YAAY;IAC1D,QAAQ,CAAC,IAAI,SAAS;IACtB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,qBAAqB,CAAC;IAC9C,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAQ;IAElC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAa;gBAEzB,MAAM,EAAE,OAAO,CAAC,sBAAsB,GAAG;QAAE,OAAO,EAAE,KAAK,CAAC,IAAI,CAAA;KAAE;IAOtE,MAAM,
|
|
1
|
+
{"version":3,"file":"ram.d.ts","sourceRoot":"","sources":["../../src/prerequisites/ram.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,OAAO,MAAM,0BAA0B,CAAC;AAEpD,qBAAa,eAAgB,YAAW,OAAO,CAAC,YAAY;IAC1D,QAAQ,CAAC,IAAI,SAAS;IACtB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,qBAAqB,CAAC;IAC9C,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAQ;IAElC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAa;gBAEzB,MAAM,EAAE,OAAO,CAAC,sBAAsB,GAAG;QAAE,OAAO,EAAE,KAAK,CAAC,IAAI,CAAA;KAAE;IAOtE,MAAM,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC;CAY/D"}
|
|
@@ -11,13 +11,16 @@ export class PrerequisiteRAM {
|
|
|
11
11
|
this.enabled = config.enabled === undefined ? true : config.enabled;
|
|
12
12
|
this.minimum = config.minimum;
|
|
13
13
|
}
|
|
14
|
-
async verify() {
|
|
14
|
+
async verify(clock) {
|
|
15
|
+
const stopwatch = new tools.Stopwatch(clock.now());
|
|
15
16
|
if (!this.enabled)
|
|
16
|
-
return prereqs.Verification.undetermined();
|
|
17
|
+
return prereqs.Verification.undetermined(stopwatch.stop());
|
|
17
18
|
const freeRAM = tools.Size.fromBytes(os.freemem());
|
|
18
19
|
if (freeRAM.isGreaterThan(this.minimum))
|
|
19
|
-
return prereqs.Verification.success();
|
|
20
|
-
return prereqs.Verification.failure(
|
|
20
|
+
return prereqs.Verification.success(stopwatch.stop());
|
|
21
|
+
return prereqs.Verification.failure(stopwatch.stop(), {
|
|
22
|
+
message: `Free RAM: ${freeRAM.format(tools.Size.unit.MB)}`,
|
|
23
|
+
});
|
|
21
24
|
}
|
|
22
25
|
}
|
|
23
26
|
//# sourceMappingURL=ram.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ram.js","sourceRoot":"","sources":["../../src/prerequisites/ram.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"ram.js","sourceRoot":"","sources":["../../src/prerequisites/ram.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAEtC,OAAO,KAAK,OAAO,MAAM,0BAA0B,CAAC;AAEpD,MAAM,OAAO,eAAe;IACjB,IAAI,GAAG,KAAK,CAAC;IACb,KAAK,CAAgC;IACrC,OAAO,GAAa,IAAI,CAAC;IAEjB,OAAO,CAAa;IAErC,YAAY,MAAgE;QAC1E,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAC1B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;QAEpE,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAAgB;QAC3B,MAAM,SAAS,GAAG,IAAI,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;QAEnD,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO,OAAO,CAAC,YAAY,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;QAE9E,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;QAEnD,IAAI,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC;YAAE,OAAO,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;QAC/F,OAAO,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE;YACpD,OAAO,EAAE,aAAa,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;SAC3D,CAAC,CAAC;IACL,CAAC;CACF"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { ClockPort } from "../clock.port";
|
|
1
2
|
import * as prereqs from "../prerequisites.service";
|
|
2
3
|
export declare class PrerequisiteRunningUser implements prereqs.Prerequisite {
|
|
3
4
|
readonly kind = "running-user";
|
|
@@ -7,6 +8,6 @@ export declare class PrerequisiteRunningUser implements prereqs.Prerequisite {
|
|
|
7
8
|
constructor(config: prereqs.PrerequisiteConfigType & {
|
|
8
9
|
username: string;
|
|
9
10
|
});
|
|
10
|
-
verify(): Promise<prereqs.VerifyOutcome>;
|
|
11
|
+
verify(clock: ClockPort): Promise<prereqs.VerifyOutcome>;
|
|
11
12
|
}
|
|
12
13
|
//# sourceMappingURL=running-user.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"running-user.d.ts","sourceRoot":"","sources":["../../src/prerequisites/running-user.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"running-user.d.ts","sourceRoot":"","sources":["../../src/prerequisites/running-user.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,OAAO,MAAM,0BAA0B,CAAC;AAEpD,qBAAa,uBAAwB,YAAW,OAAO,CAAC,YAAY;IAClE,QAAQ,CAAC,IAAI,kBAAkB;IAC/B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,qBAAqB,CAAC;IAC9C,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAQ;IAElC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;gBAEtB,MAAM,EAAE,OAAO,CAAC,sBAAsB,GAAG;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE;IAOnE,MAAM,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC;CAU/D"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import os from "node:os";
|
|
2
|
+
import * as tools from "@bgord/tools";
|
|
2
3
|
import * as prereqs from "../prerequisites.service";
|
|
3
4
|
export class PrerequisiteRunningUser {
|
|
4
5
|
kind = "running-user";
|
|
@@ -10,13 +11,14 @@ export class PrerequisiteRunningUser {
|
|
|
10
11
|
this.enabled = config.enabled === undefined ? true : config.enabled;
|
|
11
12
|
this.username = config.username;
|
|
12
13
|
}
|
|
13
|
-
async verify() {
|
|
14
|
+
async verify(clock) {
|
|
15
|
+
const stopwatch = new tools.Stopwatch(clock.now());
|
|
14
16
|
if (!this.enabled)
|
|
15
|
-
return prereqs.Verification.undetermined();
|
|
17
|
+
return prereqs.Verification.undetermined(stopwatch.stop());
|
|
16
18
|
const current = os.userInfo().username;
|
|
17
19
|
if (current === this.username)
|
|
18
|
-
return prereqs.Verification.success();
|
|
19
|
-
return prereqs.Verification.failure({ message: `Current user: ${current}` });
|
|
20
|
+
return prereqs.Verification.success(stopwatch.stop());
|
|
21
|
+
return prereqs.Verification.failure(stopwatch.stop(), { message: `Current user: ${current}` });
|
|
20
22
|
}
|
|
21
23
|
}
|
|
22
24
|
//# sourceMappingURL=running-user.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"running-user.js","sourceRoot":"","sources":["../../src/prerequisites/running-user.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,KAAK,OAAO,MAAM,0BAA0B,CAAC;AAEpD,MAAM,OAAO,uBAAuB;IACzB,IAAI,GAAG,cAAc,CAAC;IACtB,KAAK,CAAgC;IACrC,OAAO,GAAa,IAAI,CAAC;IAEjB,QAAQ,CAAS;IAElC,YAAY,MAA6D;QACvE,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAC1B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;QAEpE,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,MAAM;
|
|
1
|
+
{"version":3,"file":"running-user.js","sourceRoot":"","sources":["../../src/prerequisites/running-user.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAEtC,OAAO,KAAK,OAAO,MAAM,0BAA0B,CAAC;AAEpD,MAAM,OAAO,uBAAuB;IACzB,IAAI,GAAG,cAAc,CAAC;IACtB,KAAK,CAAgC;IACrC,OAAO,GAAa,IAAI,CAAC;IAEjB,QAAQ,CAAS;IAElC,YAAY,MAA6D;QACvE,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAC1B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;QAEpE,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAAgB;QAC3B,MAAM,SAAS,GAAG,IAAI,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;QAEnD,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO,OAAO,CAAC,YAAY,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;QAE9E,MAAM,OAAO,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC;QAEvC,IAAI,OAAO,KAAK,IAAI,CAAC,QAAQ;YAAE,OAAO,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;QACrF,OAAO,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,iBAAiB,OAAO,EAAE,EAAE,CAAC,CAAC;IACjG,CAAC;CACF"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
import type { ClockPort } from "../clock.port";
|
|
1
2
|
import * as prereqs from "../prerequisites.service";
|
|
2
3
|
export declare class PrerequisiteSelf implements prereqs.Prerequisite {
|
|
3
4
|
readonly kind = "self";
|
|
4
5
|
readonly label: prereqs.PrerequisiteLabelType;
|
|
5
6
|
readonly enabled?: boolean;
|
|
6
7
|
constructor(config: prereqs.PrerequisiteConfigType);
|
|
7
|
-
verify(): Promise<prereqs.VerifyOutcome>;
|
|
8
|
+
verify(clock: ClockPort): Promise<prereqs.VerifyOutcome>;
|
|
8
9
|
}
|
|
9
10
|
//# sourceMappingURL=self.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"self.d.ts","sourceRoot":"","sources":["../../src/prerequisites/self.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"self.d.ts","sourceRoot":"","sources":["../../src/prerequisites/self.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,OAAO,MAAM,0BAA0B,CAAC;AAEpD,qBAAa,gBAAiB,YAAW,OAAO,CAAC,YAAY;IAC3D,QAAQ,CAAC,IAAI,UAAU;IACvB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,qBAAqB,CAAC;IAC9C,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAQ;gBAEtB,MAAM,EAAE,OAAO,CAAC,sBAAsB;IAK5C,MAAM,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC;CAM/D"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import * as tools from "@bgord/tools";
|
|
1
2
|
import * as prereqs from "../prerequisites.service";
|
|
2
3
|
export class PrerequisiteSelf {
|
|
3
4
|
kind = "self";
|
|
@@ -7,10 +8,11 @@ export class PrerequisiteSelf {
|
|
|
7
8
|
this.label = config.label;
|
|
8
9
|
this.enabled = config.enabled === undefined ? true : config.enabled;
|
|
9
10
|
}
|
|
10
|
-
async verify() {
|
|
11
|
+
async verify(clock) {
|
|
12
|
+
const stopwatch = new tools.Stopwatch(clock.now());
|
|
11
13
|
if (!this.enabled)
|
|
12
|
-
return prereqs.Verification.undetermined();
|
|
13
|
-
return prereqs.Verification.success();
|
|
14
|
+
return prereqs.Verification.undetermined(stopwatch.stop());
|
|
15
|
+
return prereqs.Verification.success(stopwatch.stop());
|
|
14
16
|
}
|
|
15
17
|
}
|
|
16
18
|
//# sourceMappingURL=self.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"self.js","sourceRoot":"","sources":["../../src/prerequisites/self.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,0BAA0B,CAAC;AAEpD,MAAM,OAAO,gBAAgB;IAClB,IAAI,GAAG,MAAM,CAAC;IACd,KAAK,CAAgC;IACrC,OAAO,GAAa,IAAI,CAAC;IAElC,YAAY,MAAsC;QAChD,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAC1B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;IACtE,CAAC;IAED,KAAK,CAAC,MAAM;
|
|
1
|
+
{"version":3,"file":"self.js","sourceRoot":"","sources":["../../src/prerequisites/self.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAEtC,OAAO,KAAK,OAAO,MAAM,0BAA0B,CAAC;AAEpD,MAAM,OAAO,gBAAgB;IAClB,IAAI,GAAG,MAAM,CAAC;IACd,KAAK,CAAgC;IACrC,OAAO,GAAa,IAAI,CAAC;IAElC,YAAY,MAAsC;QAChD,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAC1B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;IACtE,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAAgB;QAC3B,MAAM,SAAS,GAAG,IAAI,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;QAEnD,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO,OAAO,CAAC,YAAY,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;QAC9E,OAAO,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;IACxD,CAAC;CACF"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import * as tools from "@bgord/tools";
|
|
2
|
+
import type { ClockPort } from "../clock.port";
|
|
2
3
|
import type { DiskSpaceCheckerPort } from "../disk-space-checker.port";
|
|
3
4
|
import * as prereqs from "../prerequisites.service";
|
|
4
5
|
export declare class PrerequisiteSpace implements prereqs.Prerequisite {
|
|
@@ -11,6 +12,6 @@ export declare class PrerequisiteSpace implements prereqs.Prerequisite {
|
|
|
11
12
|
minimum: tools.Size;
|
|
12
13
|
checker: DiskSpaceCheckerPort;
|
|
13
14
|
});
|
|
14
|
-
verify(): Promise<prereqs.VerifyOutcome>;
|
|
15
|
+
verify(clock: ClockPort): Promise<prereqs.VerifyOutcome>;
|
|
15
16
|
}
|
|
16
17
|
//# sourceMappingURL=space.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"space.d.ts","sourceRoot":"","sources":["../../src/prerequisites/space.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,KAAK,OAAO,MAAM,0BAA0B,CAAC;AAEpD,qBAAa,iBAAkB,YAAW,OAAO,CAAC,YAAY;IAC5D,QAAQ,CAAC,IAAI,WAAW;IACxB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,qBAAqB,CAAC;IAC9C,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAQ;IAElC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAa;IACrC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAuB;gBAG7C,MAAM,EAAE,OAAO,CAAC,sBAAsB,GAAG;QAAE,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC;QAAC,OAAO,EAAE,oBAAoB,CAAA;KAAE;IAS3F,MAAM,
|
|
1
|
+
{"version":3,"file":"space.d.ts","sourceRoot":"","sources":["../../src/prerequisites/space.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,KAAK,OAAO,MAAM,0BAA0B,CAAC;AAEpD,qBAAa,iBAAkB,YAAW,OAAO,CAAC,YAAY;IAC5D,QAAQ,CAAC,IAAI,WAAW;IACxB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,qBAAqB,CAAC;IAC9C,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAQ;IAElC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAa;IACrC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAuB;gBAG7C,MAAM,EAAE,OAAO,CAAC,sBAAsB,GAAG;QAAE,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC;QAAC,OAAO,EAAE,oBAAoB,CAAA;KAAE;IAS3F,MAAM,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC;CAiB/D"}
|
|
@@ -13,20 +13,21 @@ export class PrerequisiteSpace {
|
|
|
13
13
|
this.minimum = config.minimum;
|
|
14
14
|
this.checker = config.checker;
|
|
15
15
|
}
|
|
16
|
-
async verify() {
|
|
16
|
+
async verify(clock) {
|
|
17
|
+
const stopwatch = new tools.Stopwatch(clock.now());
|
|
17
18
|
if (!this.enabled)
|
|
18
|
-
return prereqs.Verification.undetermined();
|
|
19
|
+
return prereqs.Verification.undetermined(stopwatch.stop());
|
|
19
20
|
try {
|
|
20
21
|
const root = path.sep;
|
|
21
22
|
const freeDiskSpace = await this.checker.get(root);
|
|
22
23
|
if (freeDiskSpace.isGreaterThan(this.minimum))
|
|
23
|
-
return prereqs.Verification.success();
|
|
24
|
-
return prereqs.Verification.failure({
|
|
24
|
+
return prereqs.Verification.success(stopwatch.stop());
|
|
25
|
+
return prereqs.Verification.failure(stopwatch.stop(), {
|
|
25
26
|
message: `Free disk space: ${freeDiskSpace.format(tools.Size.unit.MB)}`,
|
|
26
27
|
});
|
|
27
28
|
}
|
|
28
29
|
catch (error) {
|
|
29
|
-
return prereqs.Verification.failure(error);
|
|
30
|
+
return prereqs.Verification.failure(stopwatch.stop(), error);
|
|
30
31
|
}
|
|
31
32
|
}
|
|
32
33
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"space.js","sourceRoot":"","sources":["../../src/prerequisites/space.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"space.js","sourceRoot":"","sources":["../../src/prerequisites/space.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAGtC,OAAO,KAAK,OAAO,MAAM,0BAA0B,CAAC;AAEpD,MAAM,OAAO,iBAAiB;IACnB,IAAI,GAAG,OAAO,CAAC;IACf,KAAK,CAAgC;IACrC,OAAO,GAAa,IAAI,CAAC;IAEjB,OAAO,CAAa;IACpB,OAAO,CAAuB;IAE/C,YACE,MAA+F;QAE/F,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAC1B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;QAEpE,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAC9B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAAgB;QAC3B,MAAM,SAAS,GAAG,IAAI,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;QAEnD,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO,OAAO,CAAC,YAAY,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;QAE9E,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC;YACtB,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAEnD,IAAI,aAAa,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC;gBAAE,OAAO,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;YACrG,OAAO,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE;gBACpD,OAAO,EAAE,oBAAoB,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;aACxE,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,KAAc,CAAC,CAAC;QACxE,CAAC;IACH,CAAC;CACF"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { Database } from "bun:sqlite";
|
|
2
|
+
import type { ClockPort } from "../clock.port";
|
|
2
3
|
import * as prereqs from "../prerequisites.service";
|
|
3
4
|
export declare class PrerequisiteSQLite implements prereqs.Prerequisite {
|
|
4
5
|
readonly kind = "sqlite";
|
|
@@ -8,6 +9,6 @@ export declare class PrerequisiteSQLite implements prereqs.Prerequisite {
|
|
|
8
9
|
constructor(config: prereqs.PrerequisiteConfigType & {
|
|
9
10
|
sqlite: Database;
|
|
10
11
|
});
|
|
11
|
-
verify(): Promise<prereqs.VerifyOutcome>;
|
|
12
|
+
verify(clock: ClockPort): Promise<prereqs.VerifyOutcome>;
|
|
12
13
|
}
|
|
13
14
|
//# sourceMappingURL=sqlite.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqlite.d.ts","sourceRoot":"","sources":["../../src/prerequisites/sqlite.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"sqlite.d.ts","sourceRoot":"","sources":["../../src/prerequisites/sqlite.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,OAAO,MAAM,0BAA0B,CAAC;AAEpD,qBAAa,kBAAmB,YAAW,OAAO,CAAC,YAAY;IAC7D,QAAQ,CAAC,IAAI,YAAY;IACzB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,qBAAqB,CAAC;IAC9C,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAQ;IAElC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAW;gBAEtB,MAAM,EAAE,OAAO,CAAC,sBAAsB,GAAG;QAAE,MAAM,EAAE,QAAQ,CAAA;KAAE;IAOnE,MAAM,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC;CAkB/D"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import * as tools from "@bgord/tools";
|
|
1
2
|
import * as prereqs from "../prerequisites.service";
|
|
2
3
|
export class PrerequisiteSQLite {
|
|
3
4
|
kind = "sqlite";
|
|
@@ -9,18 +10,19 @@ export class PrerequisiteSQLite {
|
|
|
9
10
|
this.enabled = config.enabled === undefined ? true : config.enabled;
|
|
10
11
|
this.sqlite = config.sqlite;
|
|
11
12
|
}
|
|
12
|
-
async verify() {
|
|
13
|
+
async verify(clock) {
|
|
14
|
+
const stopwatch = new tools.Stopwatch(clock.now());
|
|
13
15
|
if (!this.enabled)
|
|
14
|
-
return prereqs.Verification.undetermined();
|
|
16
|
+
return prereqs.Verification.undetermined(stopwatch.stop());
|
|
15
17
|
try {
|
|
16
18
|
const integrity = this.sqlite.query("PRAGMA integrity_check;").get();
|
|
17
19
|
if (!integrity || (integrity.integrity_check ?? "").toLowerCase() !== "ok") {
|
|
18
|
-
return prereqs.Verification.failure({ message: "Integrity check failed" });
|
|
20
|
+
return prereqs.Verification.failure(stopwatch.stop(), { message: "Integrity check failed" });
|
|
19
21
|
}
|
|
20
|
-
return prereqs.Verification.success();
|
|
22
|
+
return prereqs.Verification.success(stopwatch.stop());
|
|
21
23
|
}
|
|
22
24
|
catch (error) {
|
|
23
|
-
return prereqs.Verification.failure(error);
|
|
25
|
+
return prereqs.Verification.failure(stopwatch.stop(), error);
|
|
24
26
|
}
|
|
25
27
|
}
|
|
26
28
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqlite.js","sourceRoot":"","sources":["../../src/prerequisites/sqlite.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,OAAO,MAAM,0BAA0B,CAAC;AAEpD,MAAM,OAAO,kBAAkB;IACpB,IAAI,GAAG,QAAQ,CAAC;IAChB,KAAK,CAAgC;IACrC,OAAO,GAAa,IAAI,CAAC;IAEjB,MAAM,CAAW;IAElC,YAAY,MAA6D;QACvE,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAC1B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;QAEpE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,MAAM;
|
|
1
|
+
{"version":3,"file":"sqlite.js","sourceRoot":"","sources":["../../src/prerequisites/sqlite.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAEtC,OAAO,KAAK,OAAO,MAAM,0BAA0B,CAAC;AAEpD,MAAM,OAAO,kBAAkB;IACpB,IAAI,GAAG,QAAQ,CAAC;IAChB,KAAK,CAAgC;IACrC,OAAO,GAAa,IAAI,CAAC;IAEjB,MAAM,CAAW;IAElC,YAAY,MAA6D;QACvE,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAC1B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;QAEpE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAAgB;QAC3B,MAAM,SAAS,GAAG,IAAI,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;QAEnD,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO,OAAO,CAAC,YAAY,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;QAE9E,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC,GAAG,EAErD,CAAC;YAEd,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,KAAK,IAAI,EAAE,CAAC;gBAC3E,OAAO,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,wBAAwB,EAAE,CAAC,CAAC;YAC/F,CAAC;YACD,OAAO,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;QACxD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,KAAc,CAAC,CAAC;QACxE,CAAC;IACH,CAAC;CACF"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { CertificateInspectorPort } from "../certificate-inspector.port";
|
|
2
|
+
import type { ClockPort } from "../clock.port";
|
|
2
3
|
import * as prereqs from "../prerequisites.service";
|
|
3
4
|
export declare class PrerequisiteSSLCertificateExpiry implements prereqs.Prerequisite {
|
|
4
5
|
readonly kind = "ssl-certificate-expiry";
|
|
@@ -12,6 +13,6 @@ export declare class PrerequisiteSSLCertificateExpiry implements prereqs.Prerequ
|
|
|
12
13
|
days: number;
|
|
13
14
|
inspector: CertificateInspectorPort;
|
|
14
15
|
});
|
|
15
|
-
verify(): Promise<prereqs.VerifyOutcome>;
|
|
16
|
+
verify(clock: ClockPort): Promise<prereqs.VerifyOutcome>;
|
|
16
17
|
}
|
|
17
18
|
//# sourceMappingURL=ssl-certificate-expiry.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ssl-certificate-expiry.d.ts","sourceRoot":"","sources":["../../src/prerequisites/ssl-certificate-expiry.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ssl-certificate-expiry.d.ts","sourceRoot":"","sources":["../../src/prerequisites/ssl-certificate-expiry.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAC9E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,OAAO,MAAM,0BAA0B,CAAC;AAEpD,qBAAa,gCAAiC,YAAW,OAAO,CAAC,YAAY;IAC3E,QAAQ,CAAC,IAAI,4BAA4B;IACzC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,qBAAqB,CAAC;IAC9C,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAQ;IAElC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;IAC9B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;IAC9B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA2B;gBAGnD,MAAM,EAAE,OAAO,CAAC,sBAAsB,GAAG;QACvC,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,wBAAwB,CAAC;KACrC;IAUG,MAAM,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC;CAgB/D"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import * as tools from "@bgord/tools";
|
|
1
2
|
import * as prereqs from "../prerequisites.service";
|
|
2
3
|
export class PrerequisiteSSLCertificateExpiry {
|
|
3
4
|
kind = "ssl-certificate-expiry";
|
|
@@ -13,16 +14,19 @@ export class PrerequisiteSSLCertificateExpiry {
|
|
|
13
14
|
this.days = config.days;
|
|
14
15
|
this.inspector = config.inspector;
|
|
15
16
|
}
|
|
16
|
-
async verify() {
|
|
17
|
+
async verify(clock) {
|
|
18
|
+
const stopwatch = new tools.Stopwatch(clock.now());
|
|
17
19
|
if (!this.enabled)
|
|
18
|
-
return prereqs.Verification.undetermined();
|
|
20
|
+
return prereqs.Verification.undetermined(stopwatch.stop());
|
|
19
21
|
const result = await this.inspector.inspect(this.host);
|
|
20
22
|
if (!result.success)
|
|
21
|
-
return prereqs.Verification.failure({ message: "Certificate unavailable" });
|
|
23
|
+
return prereqs.Verification.failure(stopwatch.stop(), { message: "Certificate unavailable" });
|
|
22
24
|
if (result.daysRemaining <= this.days) {
|
|
23
|
-
return prereqs.Verification.failure(
|
|
25
|
+
return prereqs.Verification.failure(stopwatch.stop(), {
|
|
26
|
+
message: `${result.daysRemaining} days remaining`,
|
|
27
|
+
});
|
|
24
28
|
}
|
|
25
|
-
return prereqs.Verification.success();
|
|
29
|
+
return prereqs.Verification.success(stopwatch.stop());
|
|
26
30
|
}
|
|
27
31
|
}
|
|
28
32
|
//# sourceMappingURL=ssl-certificate-expiry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ssl-certificate-expiry.js","sourceRoot":"","sources":["../../src/prerequisites/ssl-certificate-expiry.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ssl-certificate-expiry.js","sourceRoot":"","sources":["../../src/prerequisites/ssl-certificate-expiry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAGtC,OAAO,KAAK,OAAO,MAAM,0BAA0B,CAAC;AAEpD,MAAM,OAAO,gCAAgC;IAClC,IAAI,GAAG,wBAAwB,CAAC;IAChC,KAAK,CAAgC;IACrC,OAAO,GAAa,IAAI,CAAC;IAEjB,IAAI,CAAS;IACb,IAAI,CAAS;IACb,SAAS,CAA2B;IAErD,YACE,MAIC;QAED,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAC1B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;QAEpE,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAAgB;QAC3B,MAAM,SAAS,GAAG,IAAI,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;QAEnD,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO,OAAO,CAAC,YAAY,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;QAE9E,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEvD,IAAI,CAAC,MAAM,CAAC,OAAO;YACjB,OAAO,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,yBAAyB,EAAE,CAAC,CAAC;QAChG,IAAI,MAAM,CAAC,aAAa,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACtC,OAAO,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE;gBACpD,OAAO,EAAE,GAAG,MAAM,CAAC,aAAa,iBAAiB;aAClD,CAAC,CAAC;QACL,CAAC;QACD,OAAO,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;IACxD,CAAC;CACF"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import
|
|
1
|
+
import * as tools from "@bgord/tools";
|
|
2
2
|
import { z } from "zod/v4";
|
|
3
|
+
import type { ClockPort } from "../clock.port";
|
|
3
4
|
import * as prereqs from "../prerequisites.service";
|
|
4
5
|
export declare const TimezoneUtc: z.ZodLiteral<"UTC">;
|
|
5
6
|
export declare class PrerequisiteTimezoneUTC implements prereqs.Prerequisite {
|
|
@@ -10,6 +11,6 @@ export declare class PrerequisiteTimezoneUTC implements prereqs.Prerequisite {
|
|
|
10
11
|
constructor(config: prereqs.PrerequisiteConfigType & {
|
|
11
12
|
timezone: tools.TimezoneType;
|
|
12
13
|
});
|
|
13
|
-
verify(): Promise<prereqs.VerifyOutcome>;
|
|
14
|
+
verify(clock: ClockPort): Promise<prereqs.VerifyOutcome>;
|
|
14
15
|
}
|
|
15
16
|
//# sourceMappingURL=timezone-utc.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timezone-utc.d.ts","sourceRoot":"","sources":["../../src/prerequisites/timezone-utc.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,
|
|
1
|
+
{"version":3,"file":"timezone-utc.d.ts","sourceRoot":"","sources":["../../src/prerequisites/timezone-utc.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAC3B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,OAAO,MAAM,0BAA0B,CAAC;AAEpD,eAAO,MAAM,WAAW,qBAAmB,CAAC;AAE5C,qBAAa,uBAAwB,YAAW,OAAO,CAAC,YAAY;IAClE,QAAQ,CAAC,IAAI,kBAAkB;IAC/B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,qBAAqB,CAAC;IAC9C,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAQ;IAElC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAqB;gBAElC,MAAM,EAAE,OAAO,CAAC,sBAAsB,GAAG;QAAE,QAAQ,EAAE,KAAK,CAAC,YAAY,CAAA;KAAE;IAO/E,MAAM,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC;CAU/D"}
|