@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.
Files changed (254) hide show
  1. package/dist/api-key-shield.d.ts +2 -2
  2. package/dist/api-key-shield.d.ts.map +1 -1
  3. package/dist/api-version.d.ts.map +1 -1
  4. package/dist/api-version.js +2 -2
  5. package/dist/api-version.js.map +1 -1
  6. package/dist/auth-shield.d.ts +11 -10
  7. package/dist/auth-shield.d.ts.map +1 -1
  8. package/dist/auth-shield.js +6 -13
  9. package/dist/auth-shield.js.map +1 -1
  10. package/dist/build-info-repository.d.ts +5 -3
  11. package/dist/build-info-repository.d.ts.map +1 -0
  12. package/dist/build-info-repository.js +18 -0
  13. package/dist/build-info-repository.js.map +1 -0
  14. package/dist/cache-resolver.d.ts +46 -0
  15. package/dist/cache-resolver.d.ts.map +1 -0
  16. package/dist/cache-resolver.js +44 -0
  17. package/dist/cache-resolver.js.map +1 -0
  18. package/dist/cache-response.d.ts +0 -4
  19. package/dist/cache-response.d.ts.map +1 -1
  20. package/dist/cache-response.js +2 -6
  21. package/dist/cache-response.js.map +1 -1
  22. package/dist/cache-static-files.js +3 -3
  23. package/dist/cache-static-files.js.map +1 -1
  24. package/dist/context.d.ts +7 -3
  25. package/dist/context.d.ts.map +1 -1
  26. package/dist/context.js.map +1 -1
  27. package/dist/correlation-id.d.ts +4 -0
  28. package/dist/correlation-id.d.ts.map +1 -0
  29. package/dist/correlation-id.js +3 -0
  30. package/dist/correlation-id.js.map +1 -0
  31. package/dist/download-file.d.ts +5 -4
  32. package/dist/download-file.d.ts.map +1 -1
  33. package/dist/etag-extractor.d.ts +3 -8
  34. package/dist/etag-extractor.d.ts.map +1 -1
  35. package/dist/etag-extractor.js +3 -18
  36. package/dist/etag-extractor.js.map +1 -1
  37. package/dist/file-uploader.d.ts +2 -2
  38. package/dist/file-uploader.d.ts.map +1 -1
  39. package/dist/file-uploader.js +3 -3
  40. package/dist/file-uploader.js.map +1 -1
  41. package/dist/graceful-shutdown.d.ts.map +1 -1
  42. package/dist/graceful-shutdown.js +3 -3
  43. package/dist/graceful-shutdown.js.map +1 -1
  44. package/dist/healthcheck.d.ts +12 -11
  45. package/dist/healthcheck.d.ts.map +1 -1
  46. package/dist/healthcheck.js +15 -11
  47. package/dist/healthcheck.js.map +1 -1
  48. package/dist/http-logger.d.ts +2 -2
  49. package/dist/http-logger.d.ts.map +1 -1
  50. package/dist/http-logger.js +4 -3
  51. package/dist/http-logger.js.map +1 -1
  52. package/dist/i18n.d.ts +10 -15
  53. package/dist/i18n.d.ts.map +1 -1
  54. package/dist/i18n.js +10 -25
  55. package/dist/i18n.js.map +1 -1
  56. package/dist/index.d.ts +26 -7
  57. package/dist/index.d.ts.map +1 -1
  58. package/dist/index.js +26 -7
  59. package/dist/index.js.map +1 -1
  60. package/dist/jobs.d.ts +1 -0
  61. package/dist/jobs.d.ts.map +1 -0
  62. package/dist/jobs.js +72 -0
  63. package/dist/jobs.js.map +1 -0
  64. package/dist/logger.d.ts +23 -7
  65. package/dist/logger.d.ts.map +1 -0
  66. package/dist/logger.js +87 -0
  67. package/dist/logger.js.map +1 -0
  68. package/dist/mailer.d.ts +10 -1
  69. package/dist/mailer.d.ts.map +1 -0
  70. package/dist/mailer.js +27 -0
  71. package/dist/mailer.js.map +1 -0
  72. package/dist/memory-consumption.d.ts +3 -2
  73. package/dist/memory-consumption.d.ts.map +1 -0
  74. package/dist/memory-consumption.js +8 -0
  75. package/dist/memory-consumption.js.map +1 -0
  76. package/dist/new-uuid.d.ts +4 -0
  77. package/dist/new-uuid.d.ts.map +1 -0
  78. package/dist/new-uuid.js +6 -0
  79. package/dist/new-uuid.js.map +1 -0
  80. package/dist/node-env.vo.d.ts +9 -0
  81. package/dist/node-env.vo.d.ts.map +1 -0
  82. package/dist/node-env.vo.js +10 -0
  83. package/dist/node-env.vo.js.map +1 -0
  84. package/dist/passwords.d.ts +21 -0
  85. package/dist/passwords.d.ts.map +1 -0
  86. package/dist/passwords.js +42 -0
  87. package/dist/passwords.js.map +1 -0
  88. package/dist/path.d.ts +4 -0
  89. package/dist/path.d.ts.map +1 -0
  90. package/dist/path.js +3 -0
  91. package/dist/path.js.map +1 -0
  92. package/dist/port.d.ts +4 -0
  93. package/dist/port.d.ts.map +1 -0
  94. package/dist/port.js +3 -0
  95. package/dist/port.js.map +1 -0
  96. package/dist/prerequisites/binary.d.ts +4 -3
  97. package/dist/prerequisites/binary.d.ts.map +1 -0
  98. package/dist/prerequisites/binary.js +29 -0
  99. package/dist/prerequisites/binary.js.map +1 -0
  100. package/dist/prerequisites/bun.d.ts +7 -4
  101. package/dist/prerequisites/bun.d.ts.map +1 -0
  102. package/dist/prerequisites/bun.js +18 -0
  103. package/dist/prerequisites/bun.js.map +1 -0
  104. package/dist/prerequisites/index.d.ts +17 -0
  105. package/dist/prerequisites/index.d.ts.map +1 -0
  106. package/dist/prerequisites/index.js +17 -0
  107. package/dist/prerequisites/index.js.map +1 -0
  108. package/dist/prerequisites/jobs.d.ts +4 -2
  109. package/dist/prerequisites/jobs.d.ts.map +1 -0
  110. package/dist/prerequisites/jobs.js +16 -0
  111. package/dist/prerequisites/jobs.js.map +1 -0
  112. package/dist/prerequisites/log-file.d.ts +15 -0
  113. package/dist/prerequisites/log-file.d.ts.map +1 -0
  114. package/dist/prerequisites/log-file.js +22 -0
  115. package/dist/prerequisites/log-file.js.map +1 -0
  116. package/dist/prerequisites/mailer.d.ts +4 -2
  117. package/dist/prerequisites/mailer.d.ts.map +1 -0
  118. package/dist/prerequisites/mailer.js +21 -0
  119. package/dist/prerequisites/mailer.js.map +1 -0
  120. package/dist/prerequisites/memory.d.ts +6 -4
  121. package/dist/prerequisites/memory.d.ts.map +1 -0
  122. package/dist/prerequisites/memory.js +20 -0
  123. package/dist/prerequisites/memory.js.map +1 -0
  124. package/dist/prerequisites/node.d.ts +6 -4
  125. package/dist/prerequisites/node.d.ts.map +1 -0
  126. package/dist/prerequisites/node.js +23 -0
  127. package/dist/prerequisites/node.js.map +1 -0
  128. package/dist/prerequisites/outside-connectivity.d.ts +4 -2
  129. package/dist/prerequisites/outside-connectivity.d.ts.map +1 -0
  130. package/dist/prerequisites/outside-connectivity.js +21 -0
  131. package/dist/prerequisites/outside-connectivity.js.map +1 -0
  132. package/dist/prerequisites/path.d.ts +4 -2
  133. package/dist/prerequisites/path.d.ts.map +1 -0
  134. package/dist/prerequisites/path.js +26 -0
  135. package/dist/prerequisites/path.js.map +1 -0
  136. package/dist/prerequisites/port.d.ts +6 -4
  137. package/dist/prerequisites/port.d.ts.map +1 -0
  138. package/dist/prerequisites/port.js +26 -0
  139. package/dist/prerequisites/port.js.map +1 -0
  140. package/dist/prerequisites/ram.d.ts +6 -4
  141. package/dist/prerequisites/ram.d.ts.map +1 -0
  142. package/dist/prerequisites/ram.js +23 -0
  143. package/dist/prerequisites/ram.js.map +1 -0
  144. package/dist/prerequisites/self.d.ts +4 -2
  145. package/dist/prerequisites/self.d.ts.map +1 -0
  146. package/dist/prerequisites/self.js +15 -0
  147. package/dist/prerequisites/self.js.map +1 -0
  148. package/dist/prerequisites/space.d.ts +6 -4
  149. package/dist/prerequisites/space.d.ts.map +1 -0
  150. package/dist/prerequisites/space.js +26 -0
  151. package/dist/prerequisites/space.js.map +1 -0
  152. package/dist/prerequisites/ssl-certificate-expiry.d.ts +4 -2
  153. package/dist/prerequisites/ssl-certificate-expiry.d.ts.map +1 -0
  154. package/dist/prerequisites/ssl-certificate-expiry.js +24 -0
  155. package/dist/prerequisites/ssl-certificate-expiry.js.map +1 -0
  156. package/dist/prerequisites/timezone-utc.d.ts +6 -4
  157. package/dist/prerequisites/timezone-utc.d.ts.map +1 -0
  158. package/dist/prerequisites/timezone-utc.js +22 -0
  159. package/dist/prerequisites/timezone-utc.js.map +1 -0
  160. package/dist/prerequisites/translations.d.ts +4 -2
  161. package/dist/prerequisites/translations.d.ts.map +1 -0
  162. package/dist/prerequisites/translations.js +59 -0
  163. package/dist/prerequisites/translations.js.map +1 -0
  164. package/dist/prerequisites.d.ts +2 -0
  165. package/dist/prerequisites.d.ts.map +1 -0
  166. package/dist/prerequisites.js +83 -0
  167. package/dist/prerequisites.js.map +1 -0
  168. package/dist/rate-limit-shield.d.ts +2 -2
  169. package/dist/rate-limit-shield.d.ts.map +1 -1
  170. package/dist/rate-limit-shield.js +2 -2
  171. package/dist/rate-limit-shield.js.map +1 -1
  172. package/dist/session-id.d.ts +7 -0
  173. package/dist/session-id.d.ts.map +1 -0
  174. package/dist/session-id.js +10 -0
  175. package/dist/session-id.js.map +1 -0
  176. package/dist/setup.d.ts +3 -2
  177. package/dist/setup.d.ts.map +1 -1
  178. package/dist/setup.js +11 -6
  179. package/dist/setup.js.map +1 -1
  180. package/dist/time-zone-offset.d.ts +6 -6
  181. package/dist/time-zone-offset.d.ts.map +1 -1
  182. package/dist/time-zone-offset.js +4 -4
  183. package/dist/time-zone-offset.js.map +1 -1
  184. package/dist/tsconfig.tsbuildinfo +1 -1
  185. package/dist/uptime.d.ts +4 -4
  186. package/dist/uptime.d.ts.map +1 -0
  187. package/dist/uptime.js +10 -0
  188. package/dist/uptime.js.map +1 -0
  189. package/dist/username.d.ts +11 -0
  190. package/dist/username.d.ts.map +1 -0
  191. package/dist/username.js +13 -0
  192. package/dist/username.js.map +1 -0
  193. package/dist/uuid.d.ts +4 -3
  194. package/dist/uuid.d.ts.map +1 -0
  195. package/dist/uuid.js +4 -0
  196. package/dist/uuid.js.map +1 -0
  197. package/dist/weak-etag-extractor.d.ts +7 -0
  198. package/dist/weak-etag-extractor.d.ts.map +1 -0
  199. package/dist/weak-etag-extractor.js +18 -0
  200. package/dist/weak-etag-extractor.js.map +1 -0
  201. package/package.json +20 -13
  202. package/src/api-key-shield.ts +2 -2
  203. package/src/api-version.ts +3 -2
  204. package/src/auth-shield.ts +14 -23
  205. package/src/build-info-repository.ts +26 -0
  206. package/src/cache-resolver.ts +93 -0
  207. package/src/cache-response.ts +2 -5
  208. package/src/cache-static-files.ts +3 -3
  209. package/src/context.ts +9 -4
  210. package/src/correlation-id.ts +6 -0
  211. package/src/download-file.ts +2 -2
  212. package/src/etag-extractor.ts +5 -20
  213. package/src/file-uploader.ts +4 -4
  214. package/src/graceful-shutdown.ts +3 -3
  215. package/src/healthcheck.ts +30 -20
  216. package/src/http-logger.ts +9 -5
  217. package/src/i18n.ts +13 -48
  218. package/src/index.ts +26 -7
  219. package/src/jobs.ts +91 -0
  220. package/src/logger.ts +156 -0
  221. package/src/mailer.ts +48 -0
  222. package/src/memory-consumption.ts +9 -0
  223. package/src/new-uuid.ts +5 -0
  224. package/src/node-env.vo.ts +9 -0
  225. package/src/passwords.ts +55 -0
  226. package/src/path.ts +4 -0
  227. package/src/port.ts +4 -0
  228. package/src/prerequisites/binary.ts +44 -0
  229. package/src/prerequisites/bun.ts +32 -0
  230. package/src/prerequisites/index.ts +16 -0
  231. package/src/prerequisites/jobs.ts +28 -0
  232. package/src/prerequisites/log-file.ts +35 -0
  233. package/src/prerequisites/mailer.ts +32 -0
  234. package/src/prerequisites/memory.ts +34 -0
  235. package/src/prerequisites/node.ts +36 -0
  236. package/src/prerequisites/outside-connectivity.ts +31 -0
  237. package/src/prerequisites/path.ts +41 -0
  238. package/src/prerequisites/port.ts +44 -0
  239. package/src/prerequisites/ram.ts +35 -0
  240. package/src/prerequisites/self.ts +24 -0
  241. package/src/prerequisites/space.ts +39 -0
  242. package/src/prerequisites/ssl-certificate-expiry.ts +37 -0
  243. package/src/prerequisites/timezone-utc.ts +34 -0
  244. package/src/prerequisites/translations.ts +92 -0
  245. package/src/prerequisites.ts +105 -0
  246. package/src/rate-limit-shield.ts +3 -3
  247. package/src/session-id.ts +13 -0
  248. package/src/setup.ts +14 -7
  249. package/src/time-zone-offset.ts +11 -14
  250. package/src/uptime.ts +16 -0
  251. package/src/username.ts +20 -0
  252. package/src/uuid.ts +6 -0
  253. package/src/weak-etag-extractor.ts +19 -0
  254. 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 { PrerequisiteLabelType, PrerequisiteStrategyEnum, PrerequisiteStatusEnum, AbstractPrerequisite } from "../prerequisites";
2
- export type PrerequisiteOutsideConnectivityConfigType = {
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 { PrerequisiteLabelType, PrerequisiteStrategyEnum, PrerequisiteStatusEnum, AbstractPrerequisite } from "../prerequisites";
2
- export type PrerequisitePathConfigType = {
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 * as Schema from "../schema";
2
- import { PrerequisiteLabelType, PrerequisiteStrategyEnum, PrerequisiteStatusEnum, AbstractPrerequisite } from "../prerequisites";
3
- export type PrerequisitePortConfigType = {
4
- port: Schema.PortType;
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 { Size } from "../size";
2
- import { PrerequisiteLabelType, PrerequisiteStrategyEnum, PrerequisiteStatusEnum, AbstractPrerequisite } from "../prerequisites";
3
- export type PrerequisiteRAMConfigType = {
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 { PrerequisiteLabelType, PrerequisiteStrategyEnum, PrerequisiteStatusEnum, AbstractPrerequisite } from "../prerequisites";
2
- export type PrerequisiteSelfConfigType = {
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 { Size } from "../size";
2
- import { PrerequisiteLabelType, PrerequisiteStrategyEnum, PrerequisiteStatusEnum, AbstractPrerequisite } from "../prerequisites";
3
- export type PrerequisiteSpaceConfigType = {
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 { PrerequisiteLabelType, PrerequisiteStrategyEnum, PrerequisiteStatusEnum, AbstractPrerequisite } from "../prerequisites";
2
- export type PrerequisiteSSLCertificateExpiryConfigType = {
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 Schema from "../schema";
2
- import { PrerequisiteLabelType, PrerequisiteStrategyEnum, PrerequisiteStatusEnum, AbstractPrerequisite } from "../prerequisites";
3
- export type PrerequisiteTimezoneUtcConfigType = {
4
- timezone: Schema.TimezoneType;
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 { PrerequisiteLabelType, PrerequisiteStrategyEnum, PrerequisiteStatusEnum, AbstractPrerequisite } from "../prerequisites";
3
- export type PrerequisiteTranslationsConfigType = {
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"}
@@ -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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"}