@bgord/bun 0.5.0 → 0.6.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/api-key-shield.d.ts +2 -2
- package/dist/api-key-shield.d.ts.map +1 -1
- package/dist/api-version.d.ts.map +1 -1
- package/dist/api-version.js +2 -2
- package/dist/api-version.js.map +1 -1
- package/dist/auth-shield.d.ts +11 -10
- package/dist/auth-shield.d.ts.map +1 -1
- package/dist/auth-shield.js +6 -13
- package/dist/auth-shield.js.map +1 -1
- package/dist/build-info-repository.d.ts +5 -3
- package/dist/build-info-repository.d.ts.map +1 -0
- package/dist/build-info-repository.js +18 -0
- package/dist/build-info-repository.js.map +1 -0
- package/dist/cache-resolver.d.ts +46 -0
- package/dist/cache-resolver.d.ts.map +1 -0
- package/dist/cache-resolver.js +44 -0
- package/dist/cache-resolver.js.map +1 -0
- package/dist/cache-response.d.ts +0 -4
- package/dist/cache-response.d.ts.map +1 -1
- package/dist/cache-response.js +2 -6
- package/dist/cache-response.js.map +1 -1
- package/dist/cache-static-files.js +3 -3
- package/dist/cache-static-files.js.map +1 -1
- package/dist/context.d.ts +7 -3
- package/dist/context.d.ts.map +1 -1
- package/dist/context.js.map +1 -1
- package/dist/correlation-id.d.ts +4 -0
- package/dist/correlation-id.d.ts.map +1 -0
- package/dist/correlation-id.js +3 -0
- package/dist/correlation-id.js.map +1 -0
- package/dist/download-file.d.ts +5 -4
- package/dist/download-file.d.ts.map +1 -1
- package/dist/etag-extractor.d.ts +3 -8
- package/dist/etag-extractor.d.ts.map +1 -1
- package/dist/etag-extractor.js +3 -18
- package/dist/etag-extractor.js.map +1 -1
- package/dist/file-uploader.d.ts +2 -2
- package/dist/file-uploader.d.ts.map +1 -1
- package/dist/file-uploader.js +3 -3
- package/dist/file-uploader.js.map +1 -1
- package/dist/graceful-shutdown.d.ts.map +1 -1
- package/dist/graceful-shutdown.js +3 -3
- package/dist/graceful-shutdown.js.map +1 -1
- package/dist/healthcheck.d.ts +12 -11
- package/dist/healthcheck.d.ts.map +1 -1
- package/dist/healthcheck.js +15 -11
- package/dist/healthcheck.js.map +1 -1
- package/dist/http-logger.d.ts +2 -2
- package/dist/http-logger.d.ts.map +1 -1
- package/dist/http-logger.js +4 -3
- package/dist/http-logger.js.map +1 -1
- package/dist/i18n.d.ts +10 -15
- package/dist/i18n.d.ts.map +1 -1
- package/dist/i18n.js +10 -25
- package/dist/i18n.js.map +1 -1
- package/dist/index.d.ts +26 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +26 -7
- package/dist/index.js.map +1 -1
- package/dist/jobs.d.ts +1 -0
- package/dist/jobs.d.ts.map +1 -0
- package/dist/jobs.js +72 -0
- package/dist/jobs.js.map +1 -0
- package/dist/logger.d.ts +23 -7
- package/dist/logger.d.ts.map +1 -0
- package/dist/logger.js +87 -0
- package/dist/logger.js.map +1 -0
- package/dist/mailer.d.ts +10 -1
- package/dist/mailer.d.ts.map +1 -0
- package/dist/mailer.js +27 -0
- package/dist/mailer.js.map +1 -0
- package/dist/memory-consumption.d.ts +3 -2
- package/dist/memory-consumption.d.ts.map +1 -0
- package/dist/memory-consumption.js +8 -0
- package/dist/memory-consumption.js.map +1 -0
- package/dist/new-uuid.d.ts +4 -0
- package/dist/new-uuid.d.ts.map +1 -0
- package/dist/new-uuid.js +6 -0
- package/dist/new-uuid.js.map +1 -0
- package/dist/node-env.vo.d.ts +9 -0
- package/dist/node-env.vo.d.ts.map +1 -0
- package/dist/node-env.vo.js +10 -0
- package/dist/node-env.vo.js.map +1 -0
- package/dist/passwords.d.ts +21 -0
- package/dist/passwords.d.ts.map +1 -0
- package/dist/passwords.js +42 -0
- package/dist/passwords.js.map +1 -0
- package/dist/path.d.ts +4 -0
- package/dist/path.d.ts.map +1 -0
- package/dist/path.js +3 -0
- package/dist/path.js.map +1 -0
- package/dist/port.d.ts +4 -0
- package/dist/port.d.ts.map +1 -0
- package/dist/port.js +3 -0
- package/dist/port.js.map +1 -0
- package/dist/prerequisites/binary.d.ts +4 -3
- package/dist/prerequisites/binary.d.ts.map +1 -0
- package/dist/prerequisites/binary.js +29 -0
- package/dist/prerequisites/binary.js.map +1 -0
- package/dist/prerequisites/bun.d.ts +7 -4
- package/dist/prerequisites/bun.d.ts.map +1 -0
- package/dist/prerequisites/bun.js +18 -0
- package/dist/prerequisites/bun.js.map +1 -0
- package/dist/prerequisites/index.d.ts +17 -0
- package/dist/prerequisites/index.d.ts.map +1 -0
- package/dist/prerequisites/index.js +17 -0
- package/dist/prerequisites/index.js.map +1 -0
- package/dist/prerequisites/jobs.d.ts +4 -2
- package/dist/prerequisites/jobs.d.ts.map +1 -0
- package/dist/prerequisites/jobs.js +16 -0
- package/dist/prerequisites/jobs.js.map +1 -0
- package/dist/prerequisites/log-file.d.ts +15 -0
- package/dist/prerequisites/log-file.d.ts.map +1 -0
- package/dist/prerequisites/log-file.js +22 -0
- package/dist/prerequisites/log-file.js.map +1 -0
- package/dist/prerequisites/mailer.d.ts +4 -2
- package/dist/prerequisites/mailer.d.ts.map +1 -0
- package/dist/prerequisites/mailer.js +21 -0
- package/dist/prerequisites/mailer.js.map +1 -0
- package/dist/prerequisites/memory.d.ts +6 -4
- package/dist/prerequisites/memory.d.ts.map +1 -0
- package/dist/prerequisites/memory.js +20 -0
- package/dist/prerequisites/memory.js.map +1 -0
- package/dist/prerequisites/node.d.ts +6 -4
- package/dist/prerequisites/node.d.ts.map +1 -0
- package/dist/prerequisites/node.js +23 -0
- package/dist/prerequisites/node.js.map +1 -0
- package/dist/prerequisites/outside-connectivity.d.ts +4 -2
- package/dist/prerequisites/outside-connectivity.d.ts.map +1 -0
- package/dist/prerequisites/outside-connectivity.js +21 -0
- package/dist/prerequisites/outside-connectivity.js.map +1 -0
- package/dist/prerequisites/path.d.ts +4 -2
- package/dist/prerequisites/path.d.ts.map +1 -0
- package/dist/prerequisites/path.js +26 -0
- package/dist/prerequisites/path.js.map +1 -0
- package/dist/prerequisites/port.d.ts +6 -4
- package/dist/prerequisites/port.d.ts.map +1 -0
- package/dist/prerequisites/port.js +26 -0
- package/dist/prerequisites/port.js.map +1 -0
- package/dist/prerequisites/ram.d.ts +6 -4
- package/dist/prerequisites/ram.d.ts.map +1 -0
- package/dist/prerequisites/ram.js +23 -0
- package/dist/prerequisites/ram.js.map +1 -0
- package/dist/prerequisites/self.d.ts +4 -2
- package/dist/prerequisites/self.d.ts.map +1 -0
- package/dist/prerequisites/self.js +15 -0
- package/dist/prerequisites/self.js.map +1 -0
- package/dist/prerequisites/space.d.ts +6 -4
- package/dist/prerequisites/space.d.ts.map +1 -0
- package/dist/prerequisites/space.js +26 -0
- package/dist/prerequisites/space.js.map +1 -0
- package/dist/prerequisites/ssl-certificate-expiry.d.ts +4 -2
- package/dist/prerequisites/ssl-certificate-expiry.d.ts.map +1 -0
- package/dist/prerequisites/ssl-certificate-expiry.js +24 -0
- package/dist/prerequisites/ssl-certificate-expiry.js.map +1 -0
- package/dist/prerequisites/timezone-utc.d.ts +6 -4
- package/dist/prerequisites/timezone-utc.d.ts.map +1 -0
- package/dist/prerequisites/timezone-utc.js +22 -0
- package/dist/prerequisites/timezone-utc.js.map +1 -0
- package/dist/prerequisites/translations.d.ts +4 -2
- package/dist/prerequisites/translations.d.ts.map +1 -0
- package/dist/prerequisites/translations.js +59 -0
- package/dist/prerequisites/translations.js.map +1 -0
- package/dist/prerequisites.d.ts +2 -0
- package/dist/prerequisites.d.ts.map +1 -0
- package/dist/prerequisites.js +83 -0
- package/dist/prerequisites.js.map +1 -0
- package/dist/rate-limit-shield.d.ts +2 -2
- package/dist/rate-limit-shield.d.ts.map +1 -1
- package/dist/rate-limit-shield.js +2 -2
- package/dist/rate-limit-shield.js.map +1 -1
- package/dist/session-id.d.ts +7 -0
- package/dist/session-id.d.ts.map +1 -0
- package/dist/session-id.js +10 -0
- package/dist/session-id.js.map +1 -0
- package/dist/setup.d.ts +3 -2
- package/dist/setup.d.ts.map +1 -1
- package/dist/setup.js +11 -6
- package/dist/setup.js.map +1 -1
- package/dist/time-zone-offset.d.ts +6 -6
- package/dist/time-zone-offset.d.ts.map +1 -1
- package/dist/time-zone-offset.js +4 -4
- package/dist/time-zone-offset.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/uptime.d.ts +4 -4
- package/dist/uptime.d.ts.map +1 -0
- package/dist/uptime.js +10 -0
- package/dist/uptime.js.map +1 -0
- package/dist/username.d.ts +11 -0
- package/dist/username.d.ts.map +1 -0
- package/dist/username.js +13 -0
- package/dist/username.js.map +1 -0
- package/dist/uuid.d.ts +4 -3
- package/dist/uuid.d.ts.map +1 -0
- package/dist/uuid.js +4 -0
- package/dist/uuid.js.map +1 -0
- package/dist/weak-etag-extractor.d.ts +7 -0
- package/dist/weak-etag-extractor.d.ts.map +1 -0
- package/dist/weak-etag-extractor.js +18 -0
- package/dist/weak-etag-extractor.js.map +1 -0
- package/package.json +20 -13
- package/src/api-key-shield.ts +2 -2
- package/src/api-version.ts +3 -2
- package/src/auth-shield.ts +14 -23
- package/src/build-info-repository.ts +26 -0
- package/src/cache-resolver.ts +93 -0
- package/src/cache-response.ts +2 -5
- package/src/cache-static-files.ts +3 -3
- package/src/context.ts +9 -4
- package/src/correlation-id.ts +6 -0
- package/src/download-file.ts +2 -2
- package/src/etag-extractor.ts +5 -20
- package/src/file-uploader.ts +4 -4
- package/src/graceful-shutdown.ts +3 -3
- package/src/healthcheck.ts +30 -20
- package/src/http-logger.ts +9 -5
- package/src/i18n.ts +13 -48
- package/src/index.ts +26 -7
- package/src/jobs.ts +91 -0
- package/src/logger.ts +156 -0
- package/src/mailer.ts +48 -0
- package/src/memory-consumption.ts +9 -0
- package/src/new-uuid.ts +5 -0
- package/src/node-env.vo.ts +9 -0
- package/src/passwords.ts +55 -0
- package/src/path.ts +4 -0
- package/src/port.ts +4 -0
- package/src/prerequisites/binary.ts +44 -0
- package/src/prerequisites/bun.ts +32 -0
- package/src/prerequisites/index.ts +16 -0
- package/src/prerequisites/jobs.ts +28 -0
- package/src/prerequisites/log-file.ts +35 -0
- package/src/prerequisites/mailer.ts +32 -0
- package/src/prerequisites/memory.ts +34 -0
- package/src/prerequisites/node.ts +36 -0
- package/src/prerequisites/outside-connectivity.ts +31 -0
- package/src/prerequisites/path.ts +41 -0
- package/src/prerequisites/port.ts +44 -0
- package/src/prerequisites/ram.ts +35 -0
- package/src/prerequisites/self.ts +24 -0
- package/src/prerequisites/space.ts +39 -0
- package/src/prerequisites/ssl-certificate-expiry.ts +37 -0
- package/src/prerequisites/timezone-utc.ts +34 -0
- package/src/prerequisites/translations.ts +92 -0
- package/src/prerequisites.ts +105 -0
- package/src/rate-limit-shield.ts +3 -3
- package/src/session-id.ts +13 -0
- package/src/setup.ts +14 -7
- package/src/time-zone-offset.ts +11 -14
- package/src/uptime.ts +16 -0
- package/src/username.ts +20 -0
- package/src/uuid.ts +6 -0
- package/src/weak-etag-extractor.ts +19 -0
- package/src/image-processor.ts +0 -5
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import * as tools from "@bgord/tools";
|
|
2
|
+
import bun from "bun";
|
|
3
|
+
import { AbstractPrerequisite, PrerequisiteStatusEnum, PrerequisiteStrategyEnum, } from "../prerequisites";
|
|
4
|
+
export class PrerequisiteNode extends AbstractPrerequisite {
|
|
5
|
+
config;
|
|
6
|
+
strategy = PrerequisiteStrategyEnum.node;
|
|
7
|
+
constructor(config) {
|
|
8
|
+
super(config);
|
|
9
|
+
this.config = config;
|
|
10
|
+
}
|
|
11
|
+
async verify() {
|
|
12
|
+
if (!this.enabled)
|
|
13
|
+
return PrerequisiteStatusEnum.undetermined;
|
|
14
|
+
const { stdout } = await bun.$ `node -v`;
|
|
15
|
+
const version = stdout.toString().trim();
|
|
16
|
+
const current = tools.PackageVersion.fromStringWithV(version);
|
|
17
|
+
if (current.isGreaterThanOrEqual(this.config.version)) {
|
|
18
|
+
return this.pass();
|
|
19
|
+
}
|
|
20
|
+
return this.reject();
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=node.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"node.js","sourceRoot":"","sources":["../../src/prerequisites/node.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,GAAG,MAAM,KAAK,CAAC;AAEtB,OAAO,EACL,oBAAoB,EAEpB,sBAAsB,EACtB,wBAAwB,GACzB,MAAM,kBAAkB,CAAC;AAQ1B,MAAM,OAAO,gBAAiB,SAAQ,oBAAgD;IAG/D;IAFZ,QAAQ,GAAG,wBAAwB,CAAC,IAAI,CAAC;IAElD,YAAqB,MAAkC;QACrD,KAAK,CAAC,MAAM,CAAC,CAAC;QADK,WAAM,GAAN,MAAM,CAA4B;IAEvD,CAAC;IAED,KAAK,CAAC,MAAM;QACV,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO,sBAAsB,CAAC,YAAY,CAAC;QAE9D,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,CAAC,CAAC,CAAA,SAAS,CAAC;QACxC,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;QACzC,MAAM,OAAO,GAAG,KAAK,CAAC,cAAc,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QAE9D,IAAI,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;YACtD,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;QACrB,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;IACvB,CAAC;CACF"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import { AbstractPrerequisite, PrerequisiteLabelType, PrerequisiteStatusEnum, PrerequisiteStrategyEnum } from "../prerequisites";
|
|
2
|
+
type PrerequisiteOutsideConnectivityConfigType = {
|
|
3
3
|
label: PrerequisiteLabelType;
|
|
4
4
|
enabled?: boolean;
|
|
5
5
|
};
|
|
@@ -9,3 +9,5 @@ export declare class PrerequisiteOutsideConnectivity extends AbstractPrerequisit
|
|
|
9
9
|
constructor(config: PrerequisiteOutsideConnectivityConfigType);
|
|
10
10
|
verify(): Promise<PrerequisiteStatusEnum>;
|
|
11
11
|
}
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=outside-connectivity.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"outside-connectivity.d.ts","sourceRoot":"","sources":["../../src/prerequisites/outside-connectivity.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,sBAAsB,EACtB,wBAAwB,EACzB,MAAM,kBAAkB,CAAC;AAE1B,KAAK,yCAAyC,GAAG;IAC/C,KAAK,EAAE,qBAAqB,CAAC;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,qBAAa,+BAAgC,SAAQ,oBAAoB,CAAC,yCAAyC,CAAC;IAGtG,QAAQ,CAAC,MAAM,EAAE,yCAAyC;IAFtE,QAAQ,CAAC,QAAQ,gDAAgD;gBAE5C,MAAM,EAAE,yCAAyC;IAIhE,MAAM,IAAI,OAAO,CAAC,sBAAsB,CAAC;CAWhD"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { AbstractPrerequisite, PrerequisiteStatusEnum, PrerequisiteStrategyEnum, } from "../prerequisites";
|
|
2
|
+
export class PrerequisiteOutsideConnectivity extends AbstractPrerequisite {
|
|
3
|
+
config;
|
|
4
|
+
strategy = PrerequisiteStrategyEnum.outsideConnectivity;
|
|
5
|
+
constructor(config) {
|
|
6
|
+
super(config);
|
|
7
|
+
this.config = config;
|
|
8
|
+
}
|
|
9
|
+
async verify() {
|
|
10
|
+
if (!this.enabled)
|
|
11
|
+
return PrerequisiteStatusEnum.undetermined;
|
|
12
|
+
try {
|
|
13
|
+
const result = await fetch("https://google.com");
|
|
14
|
+
return result.ok ? this.pass() : this.reject();
|
|
15
|
+
}
|
|
16
|
+
catch (error) {
|
|
17
|
+
return this.reject();
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=outside-connectivity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"outside-connectivity.js","sourceRoot":"","sources":["../../src/prerequisites/outside-connectivity.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EAEpB,sBAAsB,EACtB,wBAAwB,GACzB,MAAM,kBAAkB,CAAC;AAO1B,MAAM,OAAO,+BAAgC,SAAQ,oBAA+D;IAG7F;IAFZ,QAAQ,GAAG,wBAAwB,CAAC,mBAAmB,CAAC;IAEjE,YAAqB,MAAiD;QACpE,KAAK,CAAC,MAAM,CAAC,CAAC;QADK,WAAM,GAAN,MAAM,CAA2C;IAEtE,CAAC;IAED,KAAK,CAAC,MAAM;QACV,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO,sBAAsB,CAAC,YAAY,CAAC;QAE9D,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,oBAAoB,CAAC,CAAC;YAEjD,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACjD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;QACvB,CAAC;IACH,CAAC;CACF"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import { AbstractPrerequisite, PrerequisiteLabelType, PrerequisiteStatusEnum, PrerequisiteStrategyEnum } from "../prerequisites";
|
|
2
|
+
type PrerequisitePathConfigType = {
|
|
3
3
|
path: string;
|
|
4
4
|
access?: {
|
|
5
5
|
write?: boolean;
|
|
@@ -14,3 +14,5 @@ export declare class PrerequisitePath extends AbstractPrerequisite<PrerequisiteP
|
|
|
14
14
|
constructor(config: PrerequisitePathConfigType);
|
|
15
15
|
verify(): Promise<PrerequisiteStatusEnum>;
|
|
16
16
|
}
|
|
17
|
+
export {};
|
|
18
|
+
//# sourceMappingURL=path.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"path.d.ts","sourceRoot":"","sources":["../../src/prerequisites/path.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,sBAAsB,EACtB,wBAAwB,EACzB,MAAM,kBAAkB,CAAC;AAE1B,KAAK,0BAA0B,GAAG;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IAChD,KAAK,EAAE,qBAAqB,CAAC;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,qBAAa,gBAAiB,SAAQ,oBAAoB,CAAC,0BAA0B,CAAC;IAGxE,QAAQ,CAAC,MAAM,EAAE,0BAA0B;IAFvD,QAAQ,CAAC,QAAQ,iCAAiC;gBAE7B,MAAM,EAAE,0BAA0B;IAIjD,MAAM,IAAI,OAAO,CAAC,sBAAsB,CAAC;CAgBhD"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { constants } from "node:fs";
|
|
2
|
+
import fsp from "node:fs/promises";
|
|
3
|
+
import { AbstractPrerequisite, PrerequisiteStatusEnum, PrerequisiteStrategyEnum, } from "../prerequisites";
|
|
4
|
+
export class PrerequisitePath extends AbstractPrerequisite {
|
|
5
|
+
config;
|
|
6
|
+
strategy = PrerequisiteStrategyEnum.path;
|
|
7
|
+
constructor(config) {
|
|
8
|
+
super(config);
|
|
9
|
+
this.config = config;
|
|
10
|
+
}
|
|
11
|
+
async verify() {
|
|
12
|
+
if (!this.enabled)
|
|
13
|
+
return PrerequisiteStatusEnum.undetermined;
|
|
14
|
+
const write = this.config.access?.write ?? false;
|
|
15
|
+
const execute = this.config.access?.execute ?? false;
|
|
16
|
+
const flags = constants.R_OK | (write ? constants.W_OK : 0) | (execute ? constants.X_OK : 0);
|
|
17
|
+
try {
|
|
18
|
+
await fsp.access(this.config.path, flags);
|
|
19
|
+
return this.pass();
|
|
20
|
+
}
|
|
21
|
+
catch (error) {
|
|
22
|
+
return this.reject();
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=path.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"path.js","sourceRoot":"","sources":["../../src/prerequisites/path.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,GAAG,MAAM,kBAAkB,CAAC;AAEnC,OAAO,EACL,oBAAoB,EAEpB,sBAAsB,EACtB,wBAAwB,GACzB,MAAM,kBAAkB,CAAC;AAS1B,MAAM,OAAO,gBAAiB,SAAQ,oBAAgD;IAG/D;IAFZ,QAAQ,GAAG,wBAAwB,CAAC,IAAI,CAAC;IAElD,YAAqB,MAAkC;QACrD,KAAK,CAAC,MAAM,CAAC,CAAC;QADK,WAAM,GAAN,MAAM,CAA4B;IAEvD,CAAC;IAED,KAAK,CAAC,MAAM;QACV,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO,sBAAsB,CAAC,YAAY,CAAC;QAE9D,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,IAAI,KAAK,CAAC;QACjD,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,IAAI,KAAK,CAAC;QAErD,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAE7F,IAAI,CAAC;YACH,MAAM,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAE1C,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;QACrB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;QACvB,CAAC;IACH,CAAC;CACF"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
port:
|
|
1
|
+
import type { PortType } from "../port";
|
|
2
|
+
import { AbstractPrerequisite, PrerequisiteLabelType, PrerequisiteStatusEnum, PrerequisiteStrategyEnum } from "../prerequisites";
|
|
3
|
+
type PrerequisitePortConfigType = {
|
|
4
|
+
port: PortType;
|
|
5
5
|
label: PrerequisiteLabelType;
|
|
6
6
|
enabled?: boolean;
|
|
7
7
|
};
|
|
@@ -11,3 +11,5 @@ export declare class PrerequisitePort extends AbstractPrerequisite<PrerequisiteP
|
|
|
11
11
|
constructor(config: PrerequisitePortConfigType);
|
|
12
12
|
verify(): Promise<PrerequisiteStatusEnum>;
|
|
13
13
|
}
|
|
14
|
+
export {};
|
|
15
|
+
//# sourceMappingURL=port.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"port.d.ts","sourceRoot":"","sources":["../../src/prerequisites/port.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAExC,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,sBAAsB,EACtB,wBAAwB,EACzB,MAAM,kBAAkB,CAAC;AAE1B,KAAK,0BAA0B,GAAG;IAChC,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,qBAAqB,CAAC;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,qBAAa,gBAAiB,SAAQ,oBAAoB,CAAC,0BAA0B,CAAC;IAGxE,QAAQ,CAAC,MAAM,EAAE,0BAA0B;IAFvD,QAAQ,CAAC,QAAQ,iCAAiC;gBAE7B,MAAM,EAAE,0BAA0B;IAIjD,MAAM,IAAI,OAAO,CAAC,sBAAsB,CAAC;CAmBhD"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import net from "node:net";
|
|
2
|
+
import { AbstractPrerequisite, PrerequisiteStatusEnum, PrerequisiteStrategyEnum, } from "../prerequisites";
|
|
3
|
+
export class PrerequisitePort extends AbstractPrerequisite {
|
|
4
|
+
config;
|
|
5
|
+
strategy = PrerequisiteStrategyEnum.port;
|
|
6
|
+
constructor(config) {
|
|
7
|
+
super(config);
|
|
8
|
+
this.config = config;
|
|
9
|
+
}
|
|
10
|
+
async verify() {
|
|
11
|
+
if (!this.enabled)
|
|
12
|
+
return PrerequisiteStatusEnum.undetermined;
|
|
13
|
+
return new Promise((resolve) => {
|
|
14
|
+
const server = net.createServer();
|
|
15
|
+
server.listen(this.config.port, () => server.close(() => {
|
|
16
|
+
this.pass();
|
|
17
|
+
return resolve(PrerequisiteStatusEnum.success);
|
|
18
|
+
}));
|
|
19
|
+
server.on("error", () => {
|
|
20
|
+
this.reject();
|
|
21
|
+
return resolve(PrerequisiteStatusEnum.failure);
|
|
22
|
+
});
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=port.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"port.js","sourceRoot":"","sources":["../../src/prerequisites/port.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,UAAU,CAAC;AAI3B,OAAO,EACL,oBAAoB,EAEpB,sBAAsB,EACtB,wBAAwB,GACzB,MAAM,kBAAkB,CAAC;AAQ1B,MAAM,OAAO,gBAAiB,SAAQ,oBAAgD;IAG/D;IAFZ,QAAQ,GAAG,wBAAwB,CAAC,IAAI,CAAC;IAElD,YAAqB,MAAkC;QACrD,KAAK,CAAC,MAAM,CAAC,CAAC;QADK,WAAM,GAAN,MAAM,CAA4B;IAEvD,CAAC;IAED,KAAK,CAAC,MAAM;QACV,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO,sBAAsB,CAAC,YAAY,CAAC;QAE9D,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,MAAM,MAAM,GAAG,GAAG,CAAC,YAAY,EAAE,CAAC;YAElC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,CACnC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE;gBAChB,IAAI,CAAC,IAAI,EAAE,CAAC;gBACZ,OAAO,OAAO,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;YACjD,CAAC,CAAC,CACH,CAAC;YAEF,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;gBACtB,IAAI,CAAC,MAAM,EAAE,CAAC;gBACd,OAAO,OAAO,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;YACjD,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
minimum: Size;
|
|
1
|
+
import * as tools from "@bgord/tools";
|
|
2
|
+
import { AbstractPrerequisite, PrerequisiteLabelType, PrerequisiteStatusEnum, PrerequisiteStrategyEnum } from "../prerequisites";
|
|
3
|
+
type PrerequisiteRAMConfigType = {
|
|
4
|
+
minimum: tools.Size;
|
|
5
5
|
label: PrerequisiteLabelType;
|
|
6
6
|
enabled?: boolean;
|
|
7
7
|
};
|
|
@@ -11,3 +11,5 @@ export declare class PrerequisiteRAM extends AbstractPrerequisite<PrerequisiteRA
|
|
|
11
11
|
constructor(config: PrerequisiteRAMConfigType);
|
|
12
12
|
verify(): Promise<PrerequisiteStatusEnum>;
|
|
13
13
|
}
|
|
14
|
+
export {};
|
|
15
|
+
//# sourceMappingURL=ram.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ram.d.ts","sourceRoot":"","sources":["../../src/prerequisites/ram.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAEtC,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,sBAAsB,EACtB,wBAAwB,EACzB,MAAM,kBAAkB,CAAC;AAE1B,KAAK,yBAAyB,GAAG;IAC/B,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC;IACpB,KAAK,EAAE,qBAAqB,CAAC;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,qBAAa,eAAgB,SAAQ,oBAAoB,CAAC,yBAAyB,CAAC;IAGtE,QAAQ,CAAC,MAAM,EAAE,yBAAyB;IAFtD,QAAQ,CAAC,QAAQ,gCAAgC;gBAE5B,MAAM,EAAE,yBAAyB;IAIhD,MAAM,IAAI,OAAO,CAAC,sBAAsB,CAAC;CAWhD"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import os from "node:os";
|
|
2
|
+
import * as tools from "@bgord/tools";
|
|
3
|
+
import { AbstractPrerequisite, PrerequisiteStatusEnum, PrerequisiteStrategyEnum, } from "../prerequisites";
|
|
4
|
+
export class PrerequisiteRAM extends AbstractPrerequisite {
|
|
5
|
+
config;
|
|
6
|
+
strategy = PrerequisiteStrategyEnum.RAM;
|
|
7
|
+
constructor(config) {
|
|
8
|
+
super(config);
|
|
9
|
+
this.config = config;
|
|
10
|
+
}
|
|
11
|
+
async verify() {
|
|
12
|
+
if (!this.enabled)
|
|
13
|
+
return PrerequisiteStatusEnum.undetermined;
|
|
14
|
+
const freeRAM = new tools.Size({
|
|
15
|
+
unit: tools.SizeUnit.b,
|
|
16
|
+
value: os.freemem(),
|
|
17
|
+
});
|
|
18
|
+
if (freeRAM.isGreaterThan(this.config.minimum))
|
|
19
|
+
return this.pass();
|
|
20
|
+
return this.reject();
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=ram.js.map
|
|
@@ -0,0 +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;AAEtC,OAAO,EACL,oBAAoB,EAEpB,sBAAsB,EACtB,wBAAwB,GACzB,MAAM,kBAAkB,CAAC;AAQ1B,MAAM,OAAO,eAAgB,SAAQ,oBAA+C;IAG7D;IAFZ,QAAQ,GAAG,wBAAwB,CAAC,GAAG,CAAC;IAEjD,YAAqB,MAAiC;QACpD,KAAK,CAAC,MAAM,CAAC,CAAC;QADK,WAAM,GAAN,MAAM,CAA2B;IAEtD,CAAC;IAED,KAAK,CAAC,MAAM;QACV,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO,sBAAsB,CAAC,YAAY,CAAC;QAE9D,MAAM,OAAO,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC;YAC7B,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;YACtB,KAAK,EAAE,EAAE,CAAC,OAAO,EAAE;SACpB,CAAC,CAAC;QAEH,IAAI,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;YAAE,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;QACnE,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;IACvB,CAAC;CACF"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import { AbstractPrerequisite, PrerequisiteLabelType, PrerequisiteStatusEnum, PrerequisiteStrategyEnum } from "../prerequisites";
|
|
2
|
+
type PrerequisiteSelfConfigType = {
|
|
3
3
|
label: PrerequisiteLabelType;
|
|
4
4
|
enabled?: boolean;
|
|
5
5
|
};
|
|
@@ -9,3 +9,5 @@ export declare class PrerequisiteSelf extends AbstractPrerequisite<PrerequisiteS
|
|
|
9
9
|
constructor(config: PrerequisiteSelfConfigType);
|
|
10
10
|
verify(): Promise<PrerequisiteStatusEnum>;
|
|
11
11
|
}
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=self.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"self.d.ts","sourceRoot":"","sources":["../../src/prerequisites/self.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,sBAAsB,EACtB,wBAAwB,EACzB,MAAM,kBAAkB,CAAC;AAE1B,KAAK,0BAA0B,GAAG;IAChC,KAAK,EAAE,qBAAqB,CAAC;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,qBAAa,gBAAiB,SAAQ,oBAAoB,CAAC,0BAA0B,CAAC;IAGxE,QAAQ,CAAC,MAAM,EAAE,0BAA0B;IAFvD,QAAQ,CAAC,QAAQ,iCAAiC;gBAE7B,MAAM,EAAE,0BAA0B;IAIjD,MAAM,IAAI,OAAO,CAAC,sBAAsB,CAAC;CAIhD"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { AbstractPrerequisite, PrerequisiteStatusEnum, PrerequisiteStrategyEnum, } from "../prerequisites";
|
|
2
|
+
export class PrerequisiteSelf extends AbstractPrerequisite {
|
|
3
|
+
config;
|
|
4
|
+
strategy = PrerequisiteStrategyEnum.self;
|
|
5
|
+
constructor(config) {
|
|
6
|
+
super(config);
|
|
7
|
+
this.config = config;
|
|
8
|
+
}
|
|
9
|
+
async verify() {
|
|
10
|
+
if (!this.enabled)
|
|
11
|
+
return PrerequisiteStatusEnum.undetermined;
|
|
12
|
+
return this.pass();
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=self.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"self.js","sourceRoot":"","sources":["../../src/prerequisites/self.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EAEpB,sBAAsB,EACtB,wBAAwB,GACzB,MAAM,kBAAkB,CAAC;AAO1B,MAAM,OAAO,gBAAiB,SAAQ,oBAAgD;IAG/D;IAFZ,QAAQ,GAAG,wBAAwB,CAAC,IAAI,CAAC;IAElD,YAAqB,MAAkC;QACrD,KAAK,CAAC,MAAM,CAAC,CAAC;QADK,WAAM,GAAN,MAAM,CAA4B;IAEvD,CAAC;IAED,KAAK,CAAC,MAAM;QACV,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO,sBAAsB,CAAC,YAAY,CAAC;QAC9D,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;IACrB,CAAC;CACF"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
minimum: Size;
|
|
1
|
+
import * as tools from "@bgord/tools";
|
|
2
|
+
import { AbstractPrerequisite, PrerequisiteLabelType, PrerequisiteStatusEnum, PrerequisiteStrategyEnum } from "../prerequisites";
|
|
3
|
+
type PrerequisiteSpaceConfigType = {
|
|
4
|
+
minimum: tools.Size;
|
|
5
5
|
label: PrerequisiteLabelType;
|
|
6
6
|
enabled?: boolean;
|
|
7
7
|
};
|
|
@@ -11,3 +11,5 @@ export declare class PrerequisiteSpace extends AbstractPrerequisite<Prerequisite
|
|
|
11
11
|
constructor(config: PrerequisiteSpaceConfigType);
|
|
12
12
|
verify(): Promise<PrerequisiteStatusEnum>;
|
|
13
13
|
}
|
|
14
|
+
export {};
|
|
15
|
+
//# sourceMappingURL=space.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"space.d.ts","sourceRoot":"","sources":["../../src/prerequisites/space.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAGtC,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,sBAAsB,EACtB,wBAAwB,EACzB,MAAM,kBAAkB,CAAC;AAE1B,KAAK,2BAA2B,GAAG;IACjC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC;IACpB,KAAK,EAAE,qBAAqB,CAAC;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,qBAAa,iBAAkB,SAAQ,oBAAoB,CAAC,2BAA2B,CAAC;IAG1E,QAAQ,CAAC,MAAM,EAAE,2BAA2B;IAFxD,QAAQ,CAAC,QAAQ,kCAAkC;gBAE9B,MAAM,EAAE,2BAA2B;IAIlD,MAAM,IAAI,OAAO,CAAC,sBAAsB,CAAC;CAchD"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import path from "node:path";
|
|
2
|
+
import * as tools from "@bgord/tools";
|
|
3
|
+
import checkDiskSpace from "check-disk-space";
|
|
4
|
+
import { AbstractPrerequisite, PrerequisiteStatusEnum, PrerequisiteStrategyEnum, } from "../prerequisites";
|
|
5
|
+
export class PrerequisiteSpace extends AbstractPrerequisite {
|
|
6
|
+
config;
|
|
7
|
+
strategy = PrerequisiteStrategyEnum.space;
|
|
8
|
+
constructor(config) {
|
|
9
|
+
super(config);
|
|
10
|
+
this.config = config;
|
|
11
|
+
}
|
|
12
|
+
async verify() {
|
|
13
|
+
if (!this.enabled)
|
|
14
|
+
return PrerequisiteStatusEnum.undetermined;
|
|
15
|
+
const fsRoot = path.sep;
|
|
16
|
+
const bytes = await checkDiskSpace(fsRoot);
|
|
17
|
+
const freeDiskSpace = new tools.Size({
|
|
18
|
+
unit: tools.SizeUnit.b,
|
|
19
|
+
value: bytes.free,
|
|
20
|
+
});
|
|
21
|
+
if (freeDiskSpace.isGreaterThan(this.config.minimum))
|
|
22
|
+
return this.pass();
|
|
23
|
+
return this.reject();
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=space.js.map
|
|
@@ -0,0 +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;AACtC,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EACL,oBAAoB,EAEpB,sBAAsB,EACtB,wBAAwB,GACzB,MAAM,kBAAkB,CAAC;AAQ1B,MAAM,OAAO,iBAAkB,SAAQ,oBAAiD;IAGjE;IAFZ,QAAQ,GAAG,wBAAwB,CAAC,KAAK,CAAC;IAEnD,YAAqB,MAAmC;QACtD,KAAK,CAAC,MAAM,CAAC,CAAC;QADK,WAAM,GAAN,MAAM,CAA6B;IAExD,CAAC;IAED,KAAK,CAAC,MAAM;QACV,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO,sBAAsB,CAAC,YAAY,CAAC;QAE9D,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC;QACxB,MAAM,KAAK,GAAG,MAAM,cAAc,CAAC,MAAM,CAAC,CAAC;QAE3C,MAAM,aAAa,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC;YACnC,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;YACtB,KAAK,EAAE,KAAK,CAAC,IAAI;SAClB,CAAC,CAAC;QAEH,IAAI,aAAa,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;YAAE,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;QACzE,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;IACvB,CAAC;CACF"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import { AbstractPrerequisite, PrerequisiteLabelType, PrerequisiteStatusEnum, PrerequisiteStrategyEnum } from "../prerequisites";
|
|
2
|
+
type PrerequisiteSSLCertificateExpiryConfigType = {
|
|
3
3
|
host: string;
|
|
4
4
|
validDaysMinimum: number;
|
|
5
5
|
label: PrerequisiteLabelType;
|
|
@@ -11,3 +11,5 @@ export declare class PrerequisiteSSLCertificateExpiry extends AbstractPrerequisi
|
|
|
11
11
|
constructor(config: PrerequisiteSSLCertificateExpiryConfigType);
|
|
12
12
|
verify(): Promise<PrerequisiteStatusEnum>;
|
|
13
13
|
}
|
|
14
|
+
export {};
|
|
15
|
+
//# sourceMappingURL=ssl-certificate-expiry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ssl-certificate-expiry.d.ts","sourceRoot":"","sources":["../../src/prerequisites/ssl-certificate-expiry.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,sBAAsB,EACtB,wBAAwB,EACzB,MAAM,kBAAkB,CAAC;AAE1B,KAAK,0CAA0C,GAAG;IAChD,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB,EAAE,MAAM,CAAC;IACzB,KAAK,EAAE,qBAAqB,CAAC;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,qBAAa,gCAAiC,SAAQ,oBAAoB,CAAC,0CAA0C,CAAC;IAGxG,QAAQ,CAAC,MAAM,EAAE,0CAA0C;IAFvE,QAAQ,CAAC,QAAQ,iDAAiD;gBAE7C,MAAM,EAAE,0CAA0C;IAIjE,MAAM,IAAI,OAAO,CAAC,sBAAsB,CAAC;CAahD"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import sslChecker from "ssl-checker";
|
|
2
|
+
import { AbstractPrerequisite, PrerequisiteStatusEnum, PrerequisiteStrategyEnum, } from "../prerequisites";
|
|
3
|
+
export class PrerequisiteSSLCertificateExpiry extends AbstractPrerequisite {
|
|
4
|
+
config;
|
|
5
|
+
strategy = PrerequisiteStrategyEnum.sslCertificateExpiry;
|
|
6
|
+
constructor(config) {
|
|
7
|
+
super(config);
|
|
8
|
+
this.config = config;
|
|
9
|
+
}
|
|
10
|
+
async verify() {
|
|
11
|
+
if (!this.enabled)
|
|
12
|
+
return PrerequisiteStatusEnum.undetermined;
|
|
13
|
+
try {
|
|
14
|
+
const result = await sslChecker(this.config.host);
|
|
15
|
+
if (!result.valid)
|
|
16
|
+
return PrerequisiteStatusEnum.failure;
|
|
17
|
+
return result.daysRemaining <= this.config.validDaysMinimum ? this.reject() : this.pass();
|
|
18
|
+
}
|
|
19
|
+
catch (error) {
|
|
20
|
+
return this.reject();
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=ssl-certificate-expiry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ssl-certificate-expiry.js","sourceRoot":"","sources":["../../src/prerequisites/ssl-certificate-expiry.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,aAAa,CAAC;AAErC,OAAO,EACL,oBAAoB,EAEpB,sBAAsB,EACtB,wBAAwB,GACzB,MAAM,kBAAkB,CAAC;AAS1B,MAAM,OAAO,gCAAiC,SAAQ,oBAAgE;IAG/F;IAFZ,QAAQ,GAAG,wBAAwB,CAAC,oBAAoB,CAAC;IAElE,YAAqB,MAAkD;QACrE,KAAK,CAAC,MAAM,CAAC,CAAC;QADK,WAAM,GAAN,MAAM,CAA4C;IAEvE,CAAC;IAED,KAAK,CAAC,MAAM;QACV,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO,sBAAsB,CAAC,YAAY,CAAC;QAE9D,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAElD,IAAI,CAAC,MAAM,CAAC,KAAK;gBAAE,OAAO,sBAAsB,CAAC,OAAO,CAAC;YAEzD,OAAO,MAAM,CAAC,aAAa,IAAI,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5F,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;QACvB,CAAC;IACH,CAAC;CACF"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import * as
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
timezone:
|
|
1
|
+
import * as tools from "@bgord/tools";
|
|
2
|
+
import { AbstractPrerequisite, PrerequisiteLabelType, PrerequisiteStatusEnum, PrerequisiteStrategyEnum } from "../prerequisites";
|
|
3
|
+
type PrerequisiteTimezoneUtcConfigType = {
|
|
4
|
+
timezone: tools.TimezoneType;
|
|
5
5
|
label: PrerequisiteLabelType;
|
|
6
6
|
enabled?: boolean;
|
|
7
7
|
};
|
|
@@ -11,3 +11,5 @@ export declare class PrerequisiteTimezoneUTC extends AbstractPrerequisite<Prereq
|
|
|
11
11
|
constructor(config: PrerequisiteTimezoneUtcConfigType);
|
|
12
12
|
verify(): Promise<PrerequisiteStatusEnum>;
|
|
13
13
|
}
|
|
14
|
+
export {};
|
|
15
|
+
//# sourceMappingURL=timezone-utc.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"timezone-utc.d.ts","sourceRoot":"","sources":["../../src/prerequisites/timezone-utc.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAGtC,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,sBAAsB,EACtB,wBAAwB,EACzB,MAAM,kBAAkB,CAAC;AAE1B,KAAK,iCAAiC,GAAG;IACvC,QAAQ,EAAE,KAAK,CAAC,YAAY,CAAC;IAC7B,KAAK,EAAE,qBAAqB,CAAC;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,qBAAa,uBAAwB,SAAQ,oBAAoB,CAAC,iCAAiC,CAAC;IAGtF,QAAQ,CAAC,MAAM,EAAE,iCAAiC;IAF9D,QAAQ,CAAC,QAAQ,wCAAwC;gBAEpC,MAAM,EAAE,iCAAiC;IAIxD,MAAM,IAAI,OAAO,CAAC,sBAAsB,CAAC;CAUhD"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { z } from "zod/v4";
|
|
2
|
+
import { AbstractPrerequisite, PrerequisiteStatusEnum, PrerequisiteStrategyEnum, } from "../prerequisites";
|
|
3
|
+
export class PrerequisiteTimezoneUTC extends AbstractPrerequisite {
|
|
4
|
+
config;
|
|
5
|
+
strategy = PrerequisiteStrategyEnum.timezoneUTC;
|
|
6
|
+
constructor(config) {
|
|
7
|
+
super(config);
|
|
8
|
+
this.config = config;
|
|
9
|
+
}
|
|
10
|
+
async verify() {
|
|
11
|
+
if (!this.enabled)
|
|
12
|
+
return PrerequisiteStatusEnum.undetermined;
|
|
13
|
+
try {
|
|
14
|
+
z.literal("UTC").parse(this.config.timezone);
|
|
15
|
+
return this.pass();
|
|
16
|
+
}
|
|
17
|
+
catch (error) {
|
|
18
|
+
return this.reject();
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=timezone-utc.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"timezone-utc.js","sourceRoot":"","sources":["../../src/prerequisites/timezone-utc.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAE3B,OAAO,EACL,oBAAoB,EAEpB,sBAAsB,EACtB,wBAAwB,GACzB,MAAM,kBAAkB,CAAC;AAQ1B,MAAM,OAAO,uBAAwB,SAAQ,oBAAuD;IAG7E;IAFZ,QAAQ,GAAG,wBAAwB,CAAC,WAAW,CAAC;IAEzD,YAAqB,MAAyC;QAC5D,KAAK,CAAC,MAAM,CAAC,CAAC;QADK,WAAM,GAAN,MAAM,CAAmC;IAE9D,CAAC;IAED,KAAK,CAAC,MAAM;QACV,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO,sBAAsB,CAAC,YAAY,CAAC;QAE9D,IAAI,CAAC;YACH,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC7C,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;QACrB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;QACvB,CAAC;IACH,CAAC;CACF"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { I18n, I18nConfigType } from "../i18n";
|
|
2
|
-
import {
|
|
3
|
-
|
|
2
|
+
import { AbstractPrerequisite, PrerequisiteLabelType, PrerequisiteStatusEnum, PrerequisiteStrategyEnum } from "../prerequisites";
|
|
3
|
+
type PrerequisiteTranslationsConfigType = {
|
|
4
4
|
translationsPath?: typeof I18n.DEFAULT_TRANSLATIONS_PATH;
|
|
5
5
|
supportedLanguages: I18nConfigType["supportedLanguages"];
|
|
6
6
|
label: PrerequisiteLabelType;
|
|
@@ -12,3 +12,5 @@ export declare class PrerequisiteTranslations extends AbstractPrerequisite<Prere
|
|
|
12
12
|
constructor(config: PrerequisiteTranslationsConfigType);
|
|
13
13
|
verify(): Promise<PrerequisiteStatusEnum>;
|
|
14
14
|
}
|
|
15
|
+
export {};
|
|
16
|
+
//# sourceMappingURL=translations.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"translations.d.ts","sourceRoot":"","sources":["../../src/prerequisites/translations.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,IAAI,EAAE,cAAc,EAAuB,MAAM,SAAS,CAAC;AACpE,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,sBAAsB,EACtB,wBAAwB,EACzB,MAAM,kBAAkB,CAAC;AAE1B,KAAK,kCAAkC,GAAG;IACxC,gBAAgB,CAAC,EAAE,OAAO,IAAI,CAAC,yBAAyB,CAAC;IACzD,kBAAkB,EAAE,cAAc,CAAC,oBAAoB,CAAC,CAAC;IACzD,KAAK,EAAE,qBAAqB,CAAC;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAQF,qBAAa,wBAAyB,SAAQ,oBAAoB,CAAC,kCAAkC,CAAC;IAGxF,QAAQ,CAAC,MAAM,EAAE,kCAAkC;IAF/D,QAAQ,CAAC,QAAQ,yCAAyC;gBAErC,MAAM,EAAE,kCAAkC;IAIzD,MAAM,IAAI,OAAO,CAAC,sBAAsB,CAAC;CA2DhD"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { constants } from "node:fs";
|
|
2
|
+
import fsp from "node:fs/promises";
|
|
3
|
+
import { I18n } from "../i18n";
|
|
4
|
+
import { AbstractPrerequisite, PrerequisiteStatusEnum, PrerequisiteStrategyEnum, } from "../prerequisites";
|
|
5
|
+
export class PrerequisiteTranslations extends AbstractPrerequisite {
|
|
6
|
+
config;
|
|
7
|
+
strategy = PrerequisiteStrategyEnum.translations;
|
|
8
|
+
constructor(config) {
|
|
9
|
+
super(config);
|
|
10
|
+
this.config = config;
|
|
11
|
+
}
|
|
12
|
+
async verify() {
|
|
13
|
+
if (!this.enabled)
|
|
14
|
+
return PrerequisiteStatusEnum.undetermined;
|
|
15
|
+
const translationsPath = this.config.translationsPath ?? I18n.DEFAULT_TRANSLATIONS_PATH;
|
|
16
|
+
try {
|
|
17
|
+
await fsp.access(translationsPath, constants.R_OK);
|
|
18
|
+
for (const language in this.config.supportedLanguages) {
|
|
19
|
+
await fsp.access(new I18n().getTranslationPathForLanguage(language), constants.R_OK);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
catch (error) {
|
|
23
|
+
return this.reject();
|
|
24
|
+
}
|
|
25
|
+
const supportedLanguages = Object.keys(this.config.supportedLanguages);
|
|
26
|
+
if (supportedLanguages.length === 1)
|
|
27
|
+
return this.pass();
|
|
28
|
+
const languageToTranslationKeys = {};
|
|
29
|
+
const problems = [];
|
|
30
|
+
for (const language of supportedLanguages) {
|
|
31
|
+
const translations = await new I18n().getTranslations(language);
|
|
32
|
+
const translationKeys = Object.keys(translations);
|
|
33
|
+
languageToTranslationKeys[language] = translationKeys;
|
|
34
|
+
}
|
|
35
|
+
for (const currentLanguage in languageToTranslationKeys) {
|
|
36
|
+
const translationKeys = languageToTranslationKeys[currentLanguage] ?? [];
|
|
37
|
+
for (const translationKey of translationKeys) {
|
|
38
|
+
for (const supportedLanguage of supportedLanguages) {
|
|
39
|
+
if (supportedLanguage === currentLanguage)
|
|
40
|
+
continue;
|
|
41
|
+
const translationKeyExists = languageToTranslationKeys[supportedLanguage]?.some((key) => translationKey === key);
|
|
42
|
+
if (!translationKeyExists) {
|
|
43
|
+
problems.push({
|
|
44
|
+
translationKey,
|
|
45
|
+
existsInLanguage: currentLanguage,
|
|
46
|
+
missingInLanguage: supportedLanguage,
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
if (problems.length === 0)
|
|
53
|
+
return this.pass();
|
|
54
|
+
// biome-ignore lint: lint/suspicious/noConsoleLog
|
|
55
|
+
console.log(problems);
|
|
56
|
+
return this.reject();
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=translations.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"translations.js","sourceRoot":"","sources":["../../src/prerequisites/translations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,GAAG,MAAM,kBAAkB,CAAC;AAGnC,OAAO,EAAE,IAAI,EAAuC,MAAM,SAAS,CAAC;AACpE,OAAO,EACL,oBAAoB,EAEpB,sBAAsB,EACtB,wBAAwB,GACzB,MAAM,kBAAkB,CAAC;AAe1B,MAAM,OAAO,wBAAyB,SAAQ,oBAAwD;IAG/E;IAFZ,QAAQ,GAAG,wBAAwB,CAAC,YAAY,CAAC;IAE1D,YAAqB,MAA0C;QAC7D,KAAK,CAAC,MAAM,CAAC,CAAC;QADK,WAAM,GAAN,MAAM,CAAoC;IAE/D,CAAC;IAED,KAAK,CAAC,MAAM;QACV,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO,sBAAsB,CAAC,YAAY,CAAC;QAE9D,MAAM,gBAAgB,GAAG,IAAI,CAAC,MAAM,CAAC,gBAAgB,IAAI,IAAI,CAAC,yBAAyB,CAAC;QAExF,IAAI,CAAC;YACH,MAAM,GAAG,CAAC,MAAM,CAAC,gBAAgB,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;YAEnD,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAC;gBACtD,MAAM,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,6BAA6B,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;YACvF,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;QACvB,CAAC;QAED,MAAM,kBAAkB,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAEvE,IAAI,kBAAkB,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;QAExD,MAAM,yBAAyB,GAAsD,EAAE,CAAC;QAExF,MAAM,QAAQ,GAA0C,EAAE,CAAC;QAE3D,KAAK,MAAM,QAAQ,IAAI,kBAAkB,EAAE,CAAC;YAC1C,MAAM,YAAY,GAAG,MAAM,IAAI,IAAI,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;YAChE,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAElD,yBAAyB,CAAC,QAAQ,CAAC,GAAG,eAAe,CAAC;QACxD,CAAC;QAED,KAAK,MAAM,eAAe,IAAI,yBAAyB,EAAE,CAAC;YACxD,MAAM,eAAe,GAAG,yBAAyB,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;YAEzE,KAAK,MAAM,cAAc,IAAI,eAAe,EAAE,CAAC;gBAC7C,KAAK,MAAM,iBAAiB,IAAI,kBAAkB,EAAE,CAAC;oBACnD,IAAI,iBAAiB,KAAK,eAAe;wBAAE,SAAS;oBAEpD,MAAM,oBAAoB,GAAG,yBAAyB,CAAC,iBAAiB,CAAC,EAAE,IAAI,CAC7E,CAAC,GAAG,EAAE,EAAE,CAAC,cAAc,KAAK,GAAG,CAChC,CAAC;oBAEF,IAAI,CAAC,oBAAoB,EAAE,CAAC;wBAC1B,QAAQ,CAAC,IAAI,CAAC;4BACZ,cAAc;4BACd,gBAAgB,EAAE,eAAe;4BACjC,iBAAiB,EAAE,iBAAiB;yBACrC,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;QAE9C,kDAAkD;QAClD,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAEtB,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;IACvB,CAAC;CACF"}
|
package/dist/prerequisites.d.ts
CHANGED
|
@@ -15,6 +15,7 @@ export declare enum PrerequisiteStrategyEnum {
|
|
|
15
15
|
memory = "memory",
|
|
16
16
|
outsideConnectivity = "outsideConnectivity",
|
|
17
17
|
sslCertificateExpiry = "sslCertificateExpiry",
|
|
18
|
+
logFile = "logFile",
|
|
18
19
|
/** @public */
|
|
19
20
|
custom = "custom"
|
|
20
21
|
}
|
|
@@ -42,3 +43,4 @@ export declare abstract class AbstractPrerequisite<T extends BasePrerequisiteCon
|
|
|
42
43
|
export declare class Prerequisites {
|
|
43
44
|
static check(prerequisites: AbstractPrerequisite<BasePrerequisiteConfig>[]): Promise<void>;
|
|
44
45
|
}
|
|
46
|
+
//# sourceMappingURL=prerequisites.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prerequisites.d.ts","sourceRoot":"","sources":["../src/prerequisites.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,qBAAqB,GAAG,MAAM,CAAC;AAE3C,oBAAY,wBAAwB;IAClC,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,IAAI,SAAS;IACb,WAAW,gBAAgB;IAC3B,IAAI,SAAS;IACb,IAAI,SAAS;IACb,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,KAAK,UAAU;IACf,YAAY,iBAAiB;IAC7B,IAAI,SAAS;IACb,IAAI,SAAS;IACb,MAAM,WAAW;IACjB,mBAAmB,wBAAwB;IAC3C,oBAAoB,yBAAyB;IAC7C,OAAO,YAAY;IACnB,cAAc;IACd,MAAM,WAAW;CAClB;AAED,oBAAY,sBAAsB;IAChC,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,YAAY,iBAAiB;CAC9B;AAED,MAAM,MAAM,sBAAsB,GAAG;IACnC,KAAK,EAAE,qBAAqB,CAAC;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE5B,8BAAsB,oBAAoB,CAAC,CAAC,SAAS,sBAAsB;IACzE,QAAQ,CAAC,KAAK,EAAE,qBAAqB,CAAC;IACtC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAQ;IACjC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,wBAAwB,CAAC;IACrD,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IAE5B,MAAM,EAAE,sBAAsB,CAAuC;gBAEzD,MAAM,EAAE,CAAC;IAKrB,QAAQ,CAAC,MAAM,IAAI,OAAO,CAAC,sBAAsB,CAAC;IAElD,SAAS,CAAC,IAAI,IAAI,sBAAsB,CAAC,OAAO;IAKhD,SAAS,CAAC,MAAM,IAAI,sBAAsB,CAAC,OAAO;IAKlD,MAAM;CAgBP;AAED,qBAAa,aAAa;WACX,KAAK,CAAC,aAAa,EAAE,oBAAoB,CAAC,sBAAsB,CAAC,EAAE;CA0BjF"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
export var PrerequisiteStrategyEnum;
|
|
2
|
+
(function (PrerequisiteStrategyEnum) {
|
|
3
|
+
PrerequisiteStrategyEnum["binary"] = "binary";
|
|
4
|
+
PrerequisiteStrategyEnum["mailer"] = "mailer";
|
|
5
|
+
PrerequisiteStrategyEnum["self"] = "self";
|
|
6
|
+
PrerequisiteStrategyEnum["timezoneUTC"] = "timezoneUTC";
|
|
7
|
+
PrerequisiteStrategyEnum["path"] = "path";
|
|
8
|
+
PrerequisiteStrategyEnum["node"] = "node";
|
|
9
|
+
PrerequisiteStrategyEnum["bun"] = "bun";
|
|
10
|
+
PrerequisiteStrategyEnum["RAM"] = "RAM";
|
|
11
|
+
PrerequisiteStrategyEnum["space"] = "space";
|
|
12
|
+
PrerequisiteStrategyEnum["translations"] = "translations";
|
|
13
|
+
PrerequisiteStrategyEnum["port"] = "port";
|
|
14
|
+
PrerequisiteStrategyEnum["jobs"] = "jobs";
|
|
15
|
+
PrerequisiteStrategyEnum["memory"] = "memory";
|
|
16
|
+
PrerequisiteStrategyEnum["outsideConnectivity"] = "outsideConnectivity";
|
|
17
|
+
PrerequisiteStrategyEnum["sslCertificateExpiry"] = "sslCertificateExpiry";
|
|
18
|
+
PrerequisiteStrategyEnum["logFile"] = "logFile";
|
|
19
|
+
/** @public */
|
|
20
|
+
PrerequisiteStrategyEnum["custom"] = "custom";
|
|
21
|
+
})(PrerequisiteStrategyEnum || (PrerequisiteStrategyEnum = {}));
|
|
22
|
+
export var PrerequisiteStatusEnum;
|
|
23
|
+
(function (PrerequisiteStatusEnum) {
|
|
24
|
+
PrerequisiteStatusEnum["success"] = "success";
|
|
25
|
+
PrerequisiteStatusEnum["failure"] = "failure";
|
|
26
|
+
PrerequisiteStatusEnum["undetermined"] = "undetermined";
|
|
27
|
+
})(PrerequisiteStatusEnum || (PrerequisiteStatusEnum = {}));
|
|
28
|
+
export class AbstractPrerequisite {
|
|
29
|
+
label;
|
|
30
|
+
enabled = true;
|
|
31
|
+
status = PrerequisiteStatusEnum.undetermined;
|
|
32
|
+
constructor(config) {
|
|
33
|
+
this.label = config.label;
|
|
34
|
+
this.enabled = config.enabled ?? true;
|
|
35
|
+
}
|
|
36
|
+
pass() {
|
|
37
|
+
this.status = PrerequisiteStatusEnum.success;
|
|
38
|
+
return PrerequisiteStatusEnum.success;
|
|
39
|
+
}
|
|
40
|
+
reject() {
|
|
41
|
+
this.status = PrerequisiteStatusEnum.failure;
|
|
42
|
+
return PrerequisiteStatusEnum.failure;
|
|
43
|
+
}
|
|
44
|
+
report() {
|
|
45
|
+
if (this.status === PrerequisiteStatusEnum.success) {
|
|
46
|
+
// biome-ignore lint: lint/suspicious/noConsoleLog
|
|
47
|
+
console.log(`[x] ${this.config.label} verified correctly with ${this.strategy} strategy`);
|
|
48
|
+
}
|
|
49
|
+
if (this.status === PrerequisiteStatusEnum.failure) {
|
|
50
|
+
// biome-ignore lint: lint/suspicious/noConsoleLog
|
|
51
|
+
console.log(`[-] ${this.config.label} not verified correctly with ${this.strategy} strategy`);
|
|
52
|
+
}
|
|
53
|
+
if (this.status === PrerequisiteStatusEnum.undetermined) {
|
|
54
|
+
// biome-ignore lint: lint/suspicious/noConsoleLog
|
|
55
|
+
console.log(`[?] ${this.config.label} not enabled with ${this.strategy} strategy`);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
export class Prerequisites {
|
|
60
|
+
static async check(prerequisites) {
|
|
61
|
+
try {
|
|
62
|
+
const failedPrerequisiteLabels = [];
|
|
63
|
+
for (const prerequisite of prerequisites) {
|
|
64
|
+
await prerequisite.verify();
|
|
65
|
+
prerequisite.report();
|
|
66
|
+
if (prerequisite.status === PrerequisiteStatusEnum.failure) {
|
|
67
|
+
failedPrerequisiteLabels.push(prerequisite.label);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
if (failedPrerequisiteLabels.length > 0) {
|
|
71
|
+
const failedPrerequisiteLabelsFormatted = failedPrerequisiteLabels.join(", ");
|
|
72
|
+
// biome-ignore lint: lint/suspicious/noConsoleLog
|
|
73
|
+
console.log(`Prerequisites failed: ${failedPrerequisiteLabelsFormatted}, quitting...`);
|
|
74
|
+
process.exit(1);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
catch (error) {
|
|
78
|
+
// biome-ignore lint: lint/suspicious/noConsoleLog
|
|
79
|
+
console.log("Prerequisites error", String(error));
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=prerequisites.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prerequisites.js","sourceRoot":"","sources":["../src/prerequisites.ts"],"names":[],"mappings":"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"}
|