@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
@@ -1,21 +1,22 @@
1
- import * as bg from "@bgord/node";
1
+ import * as tools from "@bgord/tools";
2
+ import { AbstractPrerequisite, BasePrerequisiteConfig, PrerequisiteLabelType, PrerequisiteStatusEnum } from "./prerequisites";
2
3
  export declare class Healthcheck {
3
- static build: (prerequisites: bg.AbstractPrerequisite<bg.BasePrerequisiteConfig>[]) => [import("hono/types").H<any, any, {}, Promise<Response & import("hono").TypedResponse<{
4
- ok: bg.PrerequisiteStatusEnum;
5
- version: bg.Schema.BuildVersionType;
4
+ static build: (prerequisites: AbstractPrerequisite<BasePrerequisiteConfig>[]) => [import("hono/types").H<import("hono").Env, string, {}, Promise<Response & import("hono").TypedResponse<{
5
+ ok: PrerequisiteStatusEnum;
6
+ version: tools.BuildVersionType;
6
7
  details: {
7
- label: bg.PrerequisiteLabelType;
8
- status: bg.PrerequisiteStatusEnum;
8
+ label: PrerequisiteLabelType;
9
+ status: PrerequisiteStatusEnum;
9
10
  }[];
10
11
  uptime: {
11
- seconds: bg.Schema.TimestampType;
12
- formatted: ReturnType<(typeof bg.DateFormatters)["relative"]>;
12
+ seconds: tools.TimestampType;
13
+ formatted: ReturnType<(typeof tools.DateFormatters)["relative"]>;
13
14
  };
14
15
  memory: {
15
- bytes: bg.Size["bytes"];
16
- formatted: ReturnType<bg.Size["format"]>;
16
+ bytes: tools.Size["bytes"];
17
+ formatted: ReturnType<tools.Size["format"]>;
17
18
  };
18
- durationMs: bg.Schema.TimestampType;
19
+ durationMs: tools.TimestampType;
19
20
  }, 200 | 424, "json">>>];
20
21
  }
21
22
  //# sourceMappingURL=healthcheck.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"healthcheck.d.ts","sourceRoot":"","sources":["../src/healthcheck.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,aAAa,CAAC;AAmBlC,qBAAa,WAAW;IACtB,MAAM,CAAC,KAAK,GAAI,eAAe,EAAE,CAAC,oBAAoB,CAAC,EAAE,CAAC,sBAAsB,CAAC,EAAE;YAd/E,EAAE,CAAC,sBAAsB;iBACpB,EAAE,CAAC,MAAM,CAAC,gBAAgB;;mBAE1B,EAAE,CAAC,qBAAqB;oBACvB,EAAE,CAAC,sBAAsB;;;;;;;mBAI1B,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC;uBACZ,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;;;6BAqCrC;CACN"}
1
+ {"version":3,"file":"healthcheck.d.ts","sourceRoot":"","sources":["../src/healthcheck.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAKtC,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,EACvB,MAAM,iBAAiB,CAAC;AAmBzB,qBAAa,WAAW;IACtB,MAAM,CAAC,KAAK,GAAI,eAAe,oBAAoB,CAAC,sBAAsB,CAAC,EAAE;YAdzE,sBAAsB;iBACjB,KAAK,CAAC,gBAAgB;;mBAEtB,qBAAqB;oBACpB,sBAAsB;;;;mCAjBU,2BACpC;;;mBAoBG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC;uBACf,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;;;6BAqCxC;CACN"}
@@ -1,27 +1,31 @@
1
- import * as bg from "@bgord/node";
1
+ import * as tools from "@bgord/tools";
2
2
  import { createFactory } from "hono/factory";
3
+ import { BuildInfoRepository } from "./build-info-repository";
4
+ import { MemoryConsumption } from "./memory-consumption";
5
+ import { PrerequisiteStatusEnum, } from "./prerequisites";
6
+ import { Uptime } from "./uptime";
3
7
  const handler = createFactory();
4
8
  export class Healthcheck {
5
9
  static build = (prerequisites) => handler.createHandlers(async (c) => {
6
- const stopwatch = new bg.Stopwatch();
7
- const build = await bg.BuildInfoRepository.extract();
10
+ const stopwatch = new tools.Stopwatch();
11
+ const build = await BuildInfoRepository.extract();
8
12
  const details = [];
9
13
  for (const prerequisite of prerequisites) {
10
14
  const status = await prerequisite.verify();
11
15
  details.push({ label: prerequisite.label, status });
12
16
  }
13
- const ok = details.every((result) => result.status !== bg.PrerequisiteStatusEnum.failure)
14
- ? bg.PrerequisiteStatusEnum.success
15
- : bg.PrerequisiteStatusEnum.failure;
16
- const code = ok === bg.PrerequisiteStatusEnum.success ? 200 : 424;
17
+ const ok = details.every((result) => result.status !== PrerequisiteStatusEnum.failure)
18
+ ? PrerequisiteStatusEnum.success
19
+ : PrerequisiteStatusEnum.failure;
20
+ const code = ok === PrerequisiteStatusEnum.success ? 200 : 424;
17
21
  const result = {
18
22
  ok,
19
23
  details,
20
- version: build.BUILD_VERSION ?? bg.Schema.BuildVersion.parse("unknown"),
21
- uptime: bg.Uptime.get(),
24
+ version: build.BUILD_VERSION ?? tools.BuildVersion.parse("unknown"),
25
+ uptime: Uptime.get(),
22
26
  memory: {
23
- bytes: bg.MemoryConsumption.get().toBytes(),
24
- formatted: bg.MemoryConsumption.get().format(bg.SizeUnit.MB),
27
+ bytes: MemoryConsumption.get().toBytes(),
28
+ formatted: MemoryConsumption.get().format(tools.SizeUnit.MB),
25
29
  },
26
30
  ...stopwatch.stop(),
27
31
  };
@@ -1 +1 @@
1
- {"version":3,"file":"healthcheck.js","sourceRoot":"","sources":["../src/healthcheck.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;AAgBhC,MAAM,OAAO,WAAW;IACtB,MAAM,CAAC,KAAK,GAAG,CAAC,aAAmE,EAAE,EAAE,CACrF,OAAO,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;QACjC,MAAM,SAAS,GAAG,IAAI,EAAE,CAAC,SAAS,EAAE,CAAC;QAErC,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,mBAAmB,CAAC,OAAO,EAAE,CAAC;QAErD,MAAM,OAAO,GAA+C,EAAE,CAAC;QAE/D,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE,CAAC;YACzC,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,MAAM,EAAE,CAAC;YAC3C,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QACtD,CAAC;QAED,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,EAAE,CAAC,sBAAsB,CAAC,OAAO,CAAC;YACvF,CAAC,CAAC,EAAE,CAAC,sBAAsB,CAAC,OAAO;YACnC,CAAC,CAAC,EAAE,CAAC,sBAAsB,CAAC,OAAO,CAAC;QAEtC,MAAM,IAAI,GAAG,EAAE,KAAK,EAAE,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QAElE,MAAM,MAAM,GAA0B;YACpC,EAAE;YACF,OAAO;YACP,OAAO,EAAE,KAAK,CAAC,aAAa,IAAI,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC;YACvE,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE;YACvB,MAAM,EAAE;gBACN,KAAK,EAAE,EAAE,CAAC,iBAAiB,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE;gBAC3C,SAAS,EAAE,EAAE,CAAC,iBAAiB,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;aAC7D;YACD,GAAG,SAAS,CAAC,IAAI,EAAE;SACpB,CAAC;QAEF,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"healthcheck.js","sourceRoot":"","sources":["../src/healthcheck.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAIL,sBAAsB,GACvB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,MAAM,EAAoB,MAAM,UAAU,CAAC;AAEpD,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;AAgBhC,MAAM,OAAO,WAAW;IACtB,MAAM,CAAC,KAAK,GAAG,CAAC,aAA6D,EAAE,EAAE,CAC/E,OAAO,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;QACjC,MAAM,SAAS,GAAG,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;QAExC,MAAM,KAAK,GAAG,MAAM,mBAAmB,CAAC,OAAO,EAAE,CAAC;QAElD,MAAM,OAAO,GAA+C,EAAE,CAAC;QAE/D,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE,CAAC;YACzC,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,MAAM,EAAE,CAAC;YAC3C,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QACtD,CAAC;QAED,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,sBAAsB,CAAC,OAAO,CAAC;YACpF,CAAC,CAAC,sBAAsB,CAAC,OAAO;YAChC,CAAC,CAAC,sBAAsB,CAAC,OAAO,CAAC;QAEnC,MAAM,IAAI,GAAG,EAAE,KAAK,sBAAsB,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QAE/D,MAAM,MAAM,GAA0B;YACpC,EAAE;YACF,OAAO;YACP,OAAO,EAAE,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC;YACnE,MAAM,EAAE,MAAM,CAAC,GAAG,EAAE;YACpB,MAAM,EAAE;gBACN,KAAK,EAAE,iBAAiB,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE;gBACxC,SAAS,EAAE,iBAAiB,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;aAC7D;YACD,GAAG,SAAS,CAAC,IAAI,EAAE;SACpB,CAAC;QAEF,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAC"}
@@ -1,7 +1,7 @@
1
- import * as bg from "@bgord/node";
1
+ import { Logger } from "./logger";
2
2
  export declare class HttpLogger {
3
3
  private static simplify;
4
4
  private static uninformativeHeaders;
5
- static build: (logger: bg.Logger) => import("hono").MiddlewareHandler<any, string, {}>;
5
+ static build: (logger: Logger) => import("hono").MiddlewareHandler<any, string, {}>;
6
6
  }
7
7
  //# sourceMappingURL=http-logger.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"http-logger.d.ts","sourceRoot":"","sources":["../src/http-logger.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,aAAa,CAAC;AAKlC,qBAAa,UAAU;IACrB,OAAO,CAAC,MAAM,CAAC,QAAQ;IAQvB,OAAO,CAAC,MAAM,CAAC,oBAAoB,CAoBjC;IAEF,MAAM,CAAC,KAAK,GAAI,QAAQ,EAAE,CAAC,MAAM,uDAoE5B;CACN"}
1
+ {"version":3,"file":"http-logger.d.ts","sourceRoot":"","sources":["../src/http-logger.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,qBAAa,UAAU;IACrB,OAAO,CAAC,MAAM,CAAC,QAAQ;IAQvB,OAAO,CAAC,MAAM,CAAC,oBAAoB,CAoBjC;IAEF,MAAM,CAAC,KAAK,GAAI,QAAQ,MAAM,uDAoEzB;CACN"}
@@ -1,7 +1,8 @@
1
- import * as bg from "@bgord/node";
2
1
  import { getConnInfo } from "hono/bun";
3
2
  import { createMiddleware } from "hono/factory";
4
3
  import _ from "lodash";
4
+ import { CacheHitEnum } from "./cache-resolver";
5
+ import { CacheResponse } from "./cache-response";
5
6
  export class HttpLogger {
6
7
  static simplify(response) {
7
8
  const result = JSON.stringify(response, (_key, value) => Array.isArray(value) ? { type: "Array", length: value.length } : value);
@@ -58,8 +59,8 @@ export class HttpLogger {
58
59
  metadata: _.pickBy(httpRequestBeforeMetadata, (value) => !_.isEmpty(value)),
59
60
  });
60
61
  await next();
61
- const cacheHitHeader = c.res.clone().headers.get(bg.CacheResponse.CACHE_HIT_HEADER);
62
- const cacheHit = cacheHitHeader === bg.CacheHitEnum.hit ? bg.CacheHitEnum.hit : undefined;
62
+ const cacheHitHeader = c.res.clone().headers.get(CacheResponse.CACHE_HIT_HEADER);
63
+ const cacheHit = cacheHitHeader === CacheHitEnum.hit ? CacheHitEnum.hit : undefined;
63
64
  let response;
64
65
  try {
65
66
  response = await c.res.clone().json();
@@ -1 +1 @@
1
- {"version":3,"file":"http-logger.js","sourceRoot":"","sources":["../src/http-logger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http-logger.js","sourceRoot":"","sources":["../src/http-logger.ts"],"names":[],"mappings":"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"}
package/dist/i18n.d.ts CHANGED
@@ -1,4 +1,5 @@
1
- import * as bgn from "@bgord/node";
1
+ import * as tools from "@bgord/tools";
2
+ import { PathType } from "./path";
2
3
  export type TranslationsKeyType = string;
3
4
  export type TranslationsValueType = string;
4
5
  export type TranslationsType = Record<TranslationsKeyType, TranslationsValueType>;
@@ -6,22 +7,16 @@ export type TranslationPlaceholderType = string;
6
7
  export type TranslationPlaceholderValueType = string | number;
7
8
  export type TranslationVariableType = Record<TranslationPlaceholderType, TranslationPlaceholderValueType>;
8
9
  export type I18nConfigType = {
9
- translationsPath?: bgn.Schema.PathType;
10
- defaultLanguage?: bgn.Schema.LanguageType;
11
- supportedLanguages: Record<string, bgn.Schema.LanguageType>;
12
- };
13
- export type I18nVariablesType = {
14
- language: bgn.Schema.LanguageType;
15
- supportedLanguages: bgn.Schema.LanguageType[];
16
- translationsPath: bgn.Schema.PathType;
10
+ translationsPath?: PathType;
11
+ defaultLanguage?: tools.LanguageType;
12
+ supportedLanguages: Record<string, tools.LanguageType>;
17
13
  };
18
14
  export declare class I18n {
19
- static LANGUAGE_COOKIE_NAME: string;
15
+ private translationsPath;
20
16
  static DEFAULT_TRANSLATIONS_PATH: string;
21
- static FALLBACK_LANGUAGE: string;
22
- static applyTo(config: I18nConfigType): import("hono").MiddlewareHandler<any, string, {}>;
23
- static getTranslations(language: bgn.Schema.LanguageType, translationsPath: bgn.Schema.PathType): Promise<TranslationsType>;
24
- static useTranslations(translations: TranslationsType): (key: TranslationsKeyType, variables?: TranslationVariableType) => string;
25
- static getTranslationPathForLanguage(language: bgn.Schema.LanguageType, translationsPath?: string): bgn.Schema.PathType;
17
+ constructor(translationsPath?: PathType);
18
+ getTranslations(language: tools.LanguageType): Promise<TranslationsType>;
19
+ useTranslations(translations: TranslationsType): (key: TranslationsKeyType, variables?: TranslationVariableType) => string;
20
+ getTranslationPathForLanguage(language: tools.LanguageType): PathType;
26
21
  }
27
22
  //# sourceMappingURL=i18n.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../src/i18n.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,GAAG,MAAM,aAAa,CAAC;AAInC,MAAM,MAAM,mBAAmB,GAAG,MAAM,CAAC;AACzC,MAAM,MAAM,qBAAqB,GAAG,MAAM,CAAC;AAC3C,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,mBAAmB,EAAE,qBAAqB,CAAC,CAAC;AAElF,MAAM,MAAM,0BAA0B,GAAG,MAAM,CAAC;AAChD,MAAM,MAAM,+BAA+B,GAAG,MAAM,GAAG,MAAM,CAAC;AAC9D,MAAM,MAAM,uBAAuB,GAAG,MAAM,CAAC,0BAA0B,EAAE,+BAA+B,CAAC,CAAC;AAE1G,MAAM,MAAM,cAAc,GAAG;IAC3B,gBAAgB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC;IACvC,eAAe,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC;IAC1C,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;CAC7D,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC;IAClC,kBAAkB,EAAE,GAAG,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;IAC9C,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC;CACvC,CAAC;AAEF,qBAAa,IAAI;IACf,MAAM,CAAC,oBAAoB,SAAqB;IAGhD,MAAM,CAAC,yBAAyB,EAAkD,MAAM,CAAC;IAEzF,MAAM,CAAC,iBAAiB,SAAQ;IAEhC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,cAAc;WAoBxB,eAAe,CAC1B,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,YAAY,EACjC,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,QAAQ,GACpC,OAAO,CAAC,gBAAgB,CAAC;IAW5B,MAAM,CAAC,eAAe,CAAC,YAAY,EAAE,gBAAgB,IACzB,KAAK,mBAAmB,EAAE,YAAY,uBAAuB;IAiBzF,MAAM,CAAC,6BAA6B,CAClC,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,YAAY,EACjC,gBAAgB,SAAiC,GAChD,GAAG,CAAC,MAAM,CAAC,QAAQ;CAGvB"}
1
+ {"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../src/i18n.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAEtC,OAAO,EAAQ,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAExC,MAAM,MAAM,mBAAmB,GAAG,MAAM,CAAC;AACzC,MAAM,MAAM,qBAAqB,GAAG,MAAM,CAAC;AAC3C,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,mBAAmB,EAAE,qBAAqB,CAAC,CAAC;AAElF,MAAM,MAAM,0BAA0B,GAAG,MAAM,CAAC;AAChD,MAAM,MAAM,+BAA+B,GAAG,MAAM,GAAG,MAAM,CAAC;AAC9D,MAAM,MAAM,uBAAuB,GAAG,MAAM,CAAC,0BAA0B,EAAE,+BAA+B,CAAC,CAAC;AAE1G,MAAM,MAAM,cAAc,GAAG;IAC3B,gBAAgB,CAAC,EAAE,QAAQ,CAAC;IAC5B,eAAe,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC;IACrC,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;CACxD,CAAC;AAEF,qBAAa,IAAI;IAGH,OAAO,CAAC,gBAAgB;IAFpC,MAAM,CAAC,yBAAyB,SAAoC;gBAEhD,gBAAgB,GAAE,QAAyC;IAEzE,eAAe,CAAC,QAAQ,EAAE,KAAK,CAAC,YAAY,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAW9E,eAAe,CAAC,YAAY,EAAE,gBAAgB,IAClB,KAAK,mBAAmB,EAAE,YAAY,uBAAuB;IAiBzF,6BAA6B,CAAC,QAAQ,EAAE,KAAK,CAAC,YAAY,GAAG,QAAQ;CAGtE"}
package/dist/i18n.js CHANGED
@@ -1,29 +1,14 @@
1
1
  import path from "node:path";
2
- import * as bgn from "@bgord/node";
3
- import { getCookie } from "hono/cookie";
4
- import { createMiddleware } from "hono/factory";
2
+ import { Path } from "./path";
5
3
  export class I18n {
6
- static LANGUAGE_COOKIE_NAME = "accept-language";
7
- // TODO: fix bgord/node types
8
- static DEFAULT_TRANSLATIONS_PATH = bgn.Schema.Path.parse("infra/translations");
9
- static FALLBACK_LANGUAGE = "en";
10
- static applyTo(config) {
11
- return createMiddleware(async (c, next) => {
12
- const translationsPath = config?.translationsPath ?? I18n.DEFAULT_TRANSLATIONS_PATH;
13
- const defaultLanguage = config?.defaultLanguage ?? I18n.FALLBACK_LANGUAGE;
14
- const chosenLanguage = getCookie(c, I18n.LANGUAGE_COOKIE_NAME) ?? defaultLanguage;
15
- const language = Object.keys(config.supportedLanguages).find((language) => language === chosenLanguage)
16
- ? chosenLanguage
17
- : I18n.FALLBACK_LANGUAGE;
18
- c.set("supportedLanguages", Object.keys(config.supportedLanguages));
19
- c.set("language", language);
20
- c.set("translationsPath", translationsPath);
21
- return next();
22
- });
4
+ translationsPath;
5
+ static DEFAULT_TRANSLATIONS_PATH = Path.parse("infra/translations");
6
+ constructor(translationsPath = I18n.DEFAULT_TRANSLATIONS_PATH) {
7
+ this.translationsPath = translationsPath;
23
8
  }
24
- static async getTranslations(language, translationsPath) {
9
+ async getTranslations(language) {
25
10
  try {
26
- return Bun.file(I18n.getTranslationPathForLanguage(language, translationsPath)).json();
11
+ return Bun.file(this.getTranslationPathForLanguage(language)).json();
27
12
  }
28
13
  catch (error) {
29
14
  // biome-ignore lint: lint/suspicious/noConsoleLog
@@ -31,7 +16,7 @@ export class I18n {
31
16
  return {};
32
17
  }
33
18
  }
34
- static useTranslations(translations) {
19
+ useTranslations(translations) {
35
20
  return function translate(key, variables) {
36
21
  const translation = translations[key];
37
22
  if (!translation) {
@@ -43,8 +28,8 @@ export class I18n {
43
28
  return Object.entries(variables).reduce((result, [placeholder, value]) => result.replace(`{{${placeholder}}}`, String(value)), translation);
44
29
  };
45
30
  }
46
- static getTranslationPathForLanguage(language, translationsPath = I18n.DEFAULT_TRANSLATIONS_PATH) {
47
- return bgn.Schema.Path.parse(path.join(translationsPath, `${language}.json`));
31
+ getTranslationPathForLanguage(language) {
32
+ return Path.parse(path.join(this.translationsPath, `${language}.json`));
48
33
  }
49
34
  }
50
35
  //# sourceMappingURL=i18n.js.map
package/dist/i18n.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"i18n.js","sourceRoot":"","sources":["../src/i18n.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"i18n.js","sourceRoot":"","sources":["../src/i18n.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAG7B,OAAO,EAAE,IAAI,EAAY,MAAM,QAAQ,CAAC;AAgBxC,MAAM,OAAO,IAAI;IAGK;IAFpB,MAAM,CAAC,yBAAyB,GAAG,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;IAEpE,YAAoB,mBAA6B,IAAI,CAAC,yBAAyB;QAA3D,qBAAgB,GAAhB,gBAAgB,CAA2C;IAAG,CAAC;IAEnF,KAAK,CAAC,eAAe,CAAC,QAA4B;QAChD,IAAI,CAAC;YACH,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,6BAA6B,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACvE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,kDAAkD;YAClD,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC;YAE3C,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED,eAAe,CAAC,YAA8B;QAC5C,OAAO,SAAS,SAAS,CAAC,GAAwB,EAAE,SAAmC;YACrF,MAAM,WAAW,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;YAEtC,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,OAAO,CAAC,IAAI,CAAC,8CAA8C,GAAG,EAAE,CAAC,CAAC;gBAClE,OAAO,GAAG,CAAC;YACb,CAAC;YAED,IAAI,CAAC,SAAS;gBAAE,OAAO,WAAW,CAAC;YAEnC,OAAO,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,CACrC,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,WAAW,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,EACrF,WAAW,CACZ,CAAC;QACJ,CAAC,CAAC;IACJ,CAAC;IAED,6BAA6B,CAAC,QAA4B;QACxD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,GAAG,QAAQ,OAAO,CAAC,CAAC,CAAC;IAC1E,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,18 +1,37 @@
1
1
  export * from "./api-key-shield";
2
2
  export * from "./api-version";
3
3
  export * from "./auth-shield";
4
+ export * from "./build-info-repository";
5
+ export * from "./cache-resolver";
6
+ export * from "./cache-response";
7
+ export * from "./cache-static-files";
4
8
  export * from "./context";
9
+ export * from "./correlation-id";
10
+ export * from "./download-file";
5
11
  export * from "./etag-extractor";
12
+ export * from "./file-uploader";
6
13
  export * from "./graceful-shutdown";
7
14
  export * from "./healthcheck";
8
15
  export * from "./http-logger";
9
- export * from "./rate-limit-shield";
10
- export * from "./time-zone-offset";
11
- export * from "./cache-static-files";
12
- export * from "./cache-response";
13
- export * from "./download-file";
14
16
  export * from "./i18n";
15
- export * from "./file-uploader";
16
- export * from "./image-processor";
17
+ export * from "./jobs";
18
+ export * from "./logger";
19
+ export * from "./mailer";
20
+ export * from "./memory-consumption";
21
+ export * from "./new-uuid";
22
+ export * from "./node-env.vo";
23
+ export * from "./passwords";
24
+ export * from "./path";
25
+ export * from "./port";
26
+ export * from "./prerequisites";
27
+ export * from "./prerequisites/index";
28
+ export * from "./rate-limit-shield";
29
+ export * from "./session-id";
17
30
  export * from "./setup";
31
+ export * from "./time-zone-offset";
32
+ export * from "./uptime";
33
+ export * from "./username";
34
+ export * from "./uuid";
35
+ export * from "./weak-etag-extractor";
36
+ export { default as sharp } from "sharp";
18
37
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,QAAQ,CAAC;AACvB,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,oBAAoB,CAAC;AACnC,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,uBAAuB,CAAC;AACtC,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,OAAO,CAAC"}
package/dist/index.js CHANGED
@@ -1,18 +1,37 @@
1
1
  export * from "./api-key-shield";
2
2
  export * from "./api-version";
3
3
  export * from "./auth-shield";
4
+ export * from "./build-info-repository";
5
+ export * from "./cache-resolver";
6
+ export * from "./cache-response";
7
+ export * from "./cache-static-files";
4
8
  export * from "./context";
9
+ export * from "./correlation-id";
10
+ export * from "./download-file";
5
11
  export * from "./etag-extractor";
12
+ export * from "./file-uploader";
6
13
  export * from "./graceful-shutdown";
7
14
  export * from "./healthcheck";
8
15
  export * from "./http-logger";
9
- export * from "./rate-limit-shield";
10
- export * from "./time-zone-offset";
11
- export * from "./cache-static-files";
12
- export * from "./cache-response";
13
- export * from "./download-file";
14
16
  export * from "./i18n";
15
- export * from "./file-uploader";
16
- export * from "./image-processor";
17
+ export * from "./jobs";
18
+ export * from "./logger";
19
+ export * from "./mailer";
20
+ export * from "./memory-consumption";
21
+ export * from "./new-uuid";
22
+ export * from "./node-env.vo";
23
+ export * from "./passwords";
24
+ export * from "./path";
25
+ export * from "./port";
26
+ export * from "./prerequisites";
27
+ export * from "./prerequisites/index";
28
+ export * from "./rate-limit-shield";
29
+ export * from "./session-id";
17
30
  export * from "./setup";
31
+ export * from "./time-zone-offset";
32
+ export * from "./uptime";
33
+ export * from "./username";
34
+ export * from "./uuid";
35
+ export * from "./weak-etag-extractor";
36
+ export { default as sharp } from "sharp";
18
37
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,QAAQ,CAAC;AACvB,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,oBAAoB,CAAC;AACnC,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,uBAAuB,CAAC;AACtC,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,OAAO,CAAC"}
package/dist/jobs.d.ts CHANGED
@@ -30,3 +30,4 @@ export declare class JobHandler {
30
30
  handle(jobProcessor: JobProcessorType): () => Promise<void>;
31
31
  protect(cron: Cron): () => Promise<void>;
32
32
  }
33
+ //# sourceMappingURL=jobs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jobs.d.ts","sourceRoot":"","sources":["../src/jobs.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAG9B,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAGlC,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC;AACjC,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;AAEzD,oBAAY,mBAAmB;IAC7B,MAAM,IAAI;IACV,OAAO,IAAI;IACX,SAAS,IAAI;IACb,QAAQ,IAAI;IACZ,MAAM,IAAI;IACV,QAAQ,IAAI;IACZ,MAAM,IAAI;CACX;AAED,qBAAa,IAAI;IACf,MAAM,CAAC,SAAS;;;MAA0D;IAE1E,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,gBAAgB;IAIrC,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO;CAGtD;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,WAAW,CAAC;IACnB,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B,CAAC;AAEF,qBAAa,UAAU;IACT,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,MAAM;IAE3C,MAAM,CAAC,YAAY,EAAE,gBAAgB;IAsCrC,OAAO,CAAC,IAAI,EAAE,IAAI;CAWnB"}
package/dist/jobs.js ADDED
@@ -0,0 +1,72 @@
1
+ import * as tools from "@bgord/tools";
2
+ import { CorrelationId } from "./correlation-id";
3
+ import { NewUUID } from "./new-uuid";
4
+ export var UTC_DAY_OF_THE_WEEK;
5
+ (function (UTC_DAY_OF_THE_WEEK) {
6
+ UTC_DAY_OF_THE_WEEK[UTC_DAY_OF_THE_WEEK["Monday"] = 1] = "Monday";
7
+ UTC_DAY_OF_THE_WEEK[UTC_DAY_OF_THE_WEEK["Tuesday"] = 2] = "Tuesday";
8
+ UTC_DAY_OF_THE_WEEK[UTC_DAY_OF_THE_WEEK["Wednesday"] = 3] = "Wednesday";
9
+ UTC_DAY_OF_THE_WEEK[UTC_DAY_OF_THE_WEEK["Thursday"] = 4] = "Thursday";
10
+ UTC_DAY_OF_THE_WEEK[UTC_DAY_OF_THE_WEEK["Friday"] = 5] = "Friday";
11
+ UTC_DAY_OF_THE_WEEK[UTC_DAY_OF_THE_WEEK["Saturday"] = 6] = "Saturday";
12
+ UTC_DAY_OF_THE_WEEK[UTC_DAY_OF_THE_WEEK["Sunday"] = 0] = "Sunday";
13
+ })(UTC_DAY_OF_THE_WEEK || (UTC_DAY_OF_THE_WEEK = {}));
14
+ export class Jobs {
15
+ static SCHEDULES = { EVERY_MINUTE: "* * * * *", EVERY_HOUR: "0 * * * *" };
16
+ static stopAll(jobs) {
17
+ Object.values(jobs).forEach((job) => job.stop());
18
+ }
19
+ static areAllRunning(jobs) {
20
+ return Object.values(jobs).every((job) => job.isRunning());
21
+ }
22
+ }
23
+ export class JobHandler {
24
+ logger;
25
+ constructor(logger) {
26
+ this.logger = logger;
27
+ }
28
+ handle(jobProcessor) {
29
+ const correlationId = CorrelationId.parse(NewUUID.generate());
30
+ // biome-ignore lint: lint/complexity/noUselessThisAlias
31
+ const that = this;
32
+ return async () => {
33
+ const stopwatch = new tools.Stopwatch();
34
+ try {
35
+ that.logger.info({
36
+ message: `${jobProcessor.label} start`,
37
+ operation: "job_start",
38
+ correlationId,
39
+ });
40
+ await jobProcessor.process();
41
+ that.logger.info({
42
+ message: `${jobProcessor.label} success`,
43
+ operation: "job_success",
44
+ correlationId,
45
+ metadata: stopwatch.stop(),
46
+ });
47
+ }
48
+ catch (error) {
49
+ that.logger.error({
50
+ message: `${jobProcessor.label} error`,
51
+ operation: "job_error",
52
+ correlationId,
53
+ metadata: {
54
+ ...that.logger.formatError(error),
55
+ ...stopwatch.stop(),
56
+ },
57
+ });
58
+ }
59
+ };
60
+ }
61
+ protect(cron) {
62
+ // biome-ignore lint: lint/complexity/noUselessThisAlias
63
+ const that = this;
64
+ return async () => {
65
+ that.logger.info({
66
+ message: `${cron.name} overrun`,
67
+ operation: "job_overrun",
68
+ });
69
+ };
70
+ }
71
+ }
72
+ //# sourceMappingURL=jobs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jobs.js","sourceRoot":"","sources":["../src/jobs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAGtC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAKrC,MAAM,CAAN,IAAY,mBAQX;AARD,WAAY,mBAAmB;IAC7B,iEAAU,CAAA;IACV,mEAAW,CAAA;IACX,uEAAa,CAAA;IACb,qEAAY,CAAA;IACZ,iEAAU,CAAA;IACV,qEAAY,CAAA;IACZ,iEAAU,CAAA;AACZ,CAAC,EARW,mBAAmB,KAAnB,mBAAmB,QAQ9B;AAED,MAAM,OAAO,IAAI;IACf,MAAM,CAAC,SAAS,GAAG,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC;IAE1E,MAAM,CAAC,OAAO,CAAC,IAAsB;QACnC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;IACnD,CAAC;IAED,MAAM,CAAC,aAAa,CAAC,IAAsB;QACzC,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC;IAC7D,CAAC;;AASH,MAAM,OAAO,UAAU;IACQ;IAA7B,YAA6B,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;IAAG,CAAC;IAE/C,MAAM,CAAC,YAA8B;QACnC,MAAM,aAAa,GAAG,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;QAE9D,wDAAwD;QACxD,MAAM,IAAI,GAAG,IAAI,CAAC;QAElB,OAAO,KAAK,IAAI,EAAE;YAChB,MAAM,SAAS,GAAG,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;YAExC,IAAI,CAAC;gBACH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;oBACf,OAAO,EAAE,GAAG,YAAY,CAAC,KAAK,QAAQ;oBACtC,SAAS,EAAE,WAAW;oBACtB,aAAa;iBACd,CAAC,CAAC;gBAEH,MAAM,YAAY,CAAC,OAAO,EAAE,CAAC;gBAE7B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;oBACf,OAAO,EAAE,GAAG,YAAY,CAAC,KAAK,UAAU;oBACxC,SAAS,EAAE,aAAa;oBACxB,aAAa;oBACb,QAAQ,EAAE,SAAS,CAAC,IAAI,EAAE;iBAC3B,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;oBAChB,OAAO,EAAE,GAAG,YAAY,CAAC,KAAK,QAAQ;oBACtC,SAAS,EAAE,WAAW;oBACtB,aAAa;oBACb,QAAQ,EAAE;wBACR,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC;wBACjC,GAAG,SAAS,CAAC,IAAI,EAAE;qBACpB;iBACF,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;IAED,OAAO,CAAC,IAAU;QAChB,wDAAwD;QACxD,MAAM,IAAI,GAAG,IAAI,CAAC;QAElB,OAAO,KAAK,IAAI,EAAE;YAChB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;gBACf,OAAO,EAAE,GAAG,IAAI,CAAC,IAAI,UAAU;gBAC/B,SAAS,EAAE,aAAa;aACzB,CAAC,CAAC;QACL,CAAC,CAAC;IACJ,CAAC;CACF"}
package/dist/logger.d.ts CHANGED
@@ -1,16 +1,30 @@
1
- import * as Schema from "./schema";
1
+ import * as tools from "@bgord/tools";
2
+ import { z } from "zod/v4";
3
+ import { CorrelationIdType } from "./correlation-id";
4
+ import { NodeEnvironmentEnum } from "./node-env.vo";
5
+ import { PathType } from "./path";
6
+ export declare enum LogLevelEnum {
7
+ /** @public */
8
+ silent = "silent",
9
+ error = "error",
10
+ warn = "warn",
11
+ info = "info",
12
+ http = "http",
13
+ verbose = "verbose"
14
+ }
15
+ export declare const LogLevel: z.ZodEnum<typeof LogLevelEnum>;
2
16
  type LogTimestampType = number;
3
17
  type LogAppType = string;
4
- type LogEnvironmentType = Schema.NodeEnvironmentEnum;
18
+ type LogEnvironmentType = NodeEnvironmentEnum;
5
19
  type LogMessageType = string;
6
20
  type LogOperationType = string;
7
21
  type LogMetadataType = Record<string, any>;
8
- type LogCorrelationIdType = Schema.CorrelationIdType;
22
+ type LogCorrelationIdType = CorrelationIdType;
9
23
  type LogFullType = {
10
24
  timestamp: LogTimestampType;
11
25
  app: LogAppType;
12
26
  environment: LogEnvironmentType;
13
- level: Schema.LogLevelEnum;
27
+ level: LogLevelEnum;
14
28
  message: LogMessageType;
15
29
  operation: LogOperationType;
16
30
  method: string;
@@ -21,7 +35,7 @@ type LogFullType = {
21
35
  };
22
36
  correlationId?: LogCorrelationIdType;
23
37
  responseCode?: number;
24
- durationMs?: Schema.TimestampType;
38
+ durationMs?: tools.TimestampType;
25
39
  metadata?: LogMetadataType;
26
40
  };
27
41
  type LogErrorType = Omit<LogFullType, "app" | "client" | "environment" | "duration" | "level" | "method" | "responseCode" | "timestamp" | "url">;
@@ -30,8 +44,8 @@ type LogInfoType = Omit<LogFullType, "app" | "client" | "environment" | "duratio
30
44
  type LogHttpType = Omit<LogFullType, "app" | "environment" | "timestamp" | "level">;
31
45
  type LoggerOptionsType = {
32
46
  app: LogAppType;
33
- environment: Schema.NodeEnvironmentEnum;
34
- level?: Schema.LogLevelEnum;
47
+ environment: NodeEnvironmentEnum;
48
+ level?: LogLevelEnum;
35
49
  };
36
50
  export declare class Logger {
37
51
  private readonly instance;
@@ -44,6 +58,7 @@ export declare class Logger {
44
58
  error(log: LogErrorType): void;
45
59
  warn(log: LogWarnType): void;
46
60
  http(log: LogHttpType): void;
61
+ getProductionLogFilePath(): PathType;
47
62
  formatError(_error: unknown): {
48
63
  message: string;
49
64
  name: string;
@@ -51,3 +66,4 @@ export declare class Logger {
51
66
  };
52
67
  }
53
68
  export {};
69
+ //# sourceMappingURL=logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"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"}
package/dist/logger.js ADDED
@@ -0,0 +1,87 @@
1
+ import * as tools from "@bgord/tools";
2
+ import * as winston from "winston";
3
+ import { z } from "zod/v4";
4
+ import { NodeEnvironmentEnum } from "./node-env.vo";
5
+ export var LogLevelEnum;
6
+ (function (LogLevelEnum) {
7
+ /** @public */
8
+ LogLevelEnum["silent"] = "silent";
9
+ LogLevelEnum["error"] = "error";
10
+ LogLevelEnum["warn"] = "warn";
11
+ LogLevelEnum["info"] = "info";
12
+ LogLevelEnum["http"] = "http";
13
+ LogLevelEnum["verbose"] = "verbose";
14
+ })(LogLevelEnum || (LogLevelEnum = {}));
15
+ export const LogLevel = z.enum(LogLevelEnum);
16
+ const levels = {
17
+ silent: 0,
18
+ error: 0,
19
+ warn: 1,
20
+ info: 2,
21
+ http: 3,
22
+ verbose: 4,
23
+ };
24
+ export class Logger {
25
+ instance;
26
+ app;
27
+ environment;
28
+ level = LogLevelEnum.verbose;
29
+ constructor(options) {
30
+ this.app = options.app;
31
+ this.environment = options.environment;
32
+ this.level = options.level ?? LogLevelEnum.verbose;
33
+ const formats = [
34
+ winston.format.json(),
35
+ this.environment !== NodeEnvironmentEnum.production ? winston.format.prettyPrint() : undefined,
36
+ ].filter(Boolean);
37
+ this.instance = winston.createLogger({
38
+ level: this.level,
39
+ levels,
40
+ handleExceptions: true,
41
+ handleRejections: true,
42
+ format: winston.format.combine(...formats),
43
+ transports: [new winston.transports.Console()],
44
+ });
45
+ if (this.environment === NodeEnvironmentEnum.production) {
46
+ this.instance.add(new winston.transports.File({
47
+ filename: this.getProductionLogFilePath(),
48
+ maxsize: tools.Size.toBytes({ unit: tools.SizeUnit.MB, value: 100 }),
49
+ }));
50
+ }
51
+ }
52
+ getBase() {
53
+ return {
54
+ app: this.app,
55
+ environment: this.environment,
56
+ timestamp: Date.now(),
57
+ };
58
+ }
59
+ info(log) {
60
+ this.instance.info({ level: LogLevelEnum.info, ...this.getBase(), ...log });
61
+ }
62
+ error(log) {
63
+ this.instance.error({
64
+ level: LogLevelEnum.error,
65
+ ...this.getBase(),
66
+ ...log,
67
+ });
68
+ }
69
+ warn(log) {
70
+ this.instance.warn({ level: LogLevelEnum.warn, ...this.getBase(), ...log });
71
+ }
72
+ http(log) {
73
+ this.instance.http({ level: LogLevelEnum.http, ...this.getBase(), ...log });
74
+ }
75
+ getProductionLogFilePath() {
76
+ return `/var/log/${this.app}-${this.environment}.log`;
77
+ }
78
+ formatError(_error) {
79
+ const error = _error;
80
+ return {
81
+ message: error?.message,
82
+ name: error?.name,
83
+ stack: error?.stack,
84
+ };
85
+ }
86
+ }
87
+ //# sourceMappingURL=logger.js.map