@bgord/bun 0.15.1 → 0.16.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (132) hide show
  1. package/dist/basic-auth.service.d.ts +1 -1
  2. package/dist/basic-auth.service.d.ts.map +1 -1
  3. package/dist/basic-auth.service.js +1 -1
  4. package/dist/basic-auth.service.js.map +1 -1
  5. package/dist/command.types.d.ts +1 -1
  6. package/dist/command.types.d.ts.map +1 -1
  7. package/dist/correlation-id.vo.d.ts +1 -1
  8. package/dist/correlation-id.vo.d.ts.map +1 -1
  9. package/dist/dispatching-event-store.d.ts +1 -1
  10. package/dist/dispatching-event-store.d.ts.map +1 -1
  11. package/dist/encryption.service.d.ts +1 -1
  12. package/dist/encryption.service.d.ts.map +1 -1
  13. package/dist/encryption.service.js +1 -1
  14. package/dist/encryption.service.js.map +1 -1
  15. package/dist/env-validator.service.d.ts +1 -1
  16. package/dist/env-validator.service.d.ts.map +1 -1
  17. package/dist/event-handler.service.d.ts +1 -1
  18. package/dist/event-handler.service.d.ts.map +1 -1
  19. package/dist/event-store.d.ts +1 -1
  20. package/dist/event-store.d.ts.map +1 -1
  21. package/dist/event-stream.vo.d.ts +1 -1
  22. package/dist/event-stream.vo.d.ts.map +1 -1
  23. package/dist/event-stream.vo.js +1 -1
  24. package/dist/event-stream.vo.js.map +1 -1
  25. package/dist/event.types.d.ts +1 -1
  26. package/dist/event.types.d.ts.map +1 -1
  27. package/dist/hcaptcha-shield.middleware.d.ts +1 -1
  28. package/dist/hcaptcha-shield.middleware.d.ts.map +1 -1
  29. package/dist/hcaptcha-shield.middleware.js +1 -1
  30. package/dist/hcaptcha-shield.middleware.js.map +1 -1
  31. package/dist/image-compressor.service.d.ts +1 -1
  32. package/dist/image-compressor.service.d.ts.map +1 -1
  33. package/dist/image-compressor.service.js +1 -1
  34. package/dist/image-compressor.service.js.map +1 -1
  35. package/dist/index.d.ts +1 -0
  36. package/dist/index.d.ts.map +1 -1
  37. package/dist/index.js +1 -0
  38. package/dist/index.js.map +1 -1
  39. package/dist/logger.service.d.ts +1 -1
  40. package/dist/logger.service.d.ts.map +1 -1
  41. package/dist/logger.service.js +1 -1
  42. package/dist/logger.service.js.map +1 -1
  43. package/dist/mailer.service.d.ts +1 -1
  44. package/dist/mailer.service.d.ts.map +1 -1
  45. package/dist/mailer.service.js +1 -1
  46. package/dist/mailer.service.js.map +1 -1
  47. package/dist/node-env.vo.d.ts +1 -1
  48. package/dist/node-env.vo.d.ts.map +1 -1
  49. package/dist/node-env.vo.js +1 -1
  50. package/dist/node-env.vo.js.map +1 -1
  51. package/dist/open-graph.service.d.ts +1 -1
  52. package/dist/open-graph.service.d.ts.map +1 -1
  53. package/dist/open-graph.service.js +1 -1
  54. package/dist/open-graph.service.js.map +1 -1
  55. package/dist/passwords.vo.d.ts +1 -1
  56. package/dist/passwords.vo.d.ts.map +1 -1
  57. package/dist/passwords.vo.js +1 -1
  58. package/dist/passwords.vo.js.map +1 -1
  59. package/dist/path.vo.d.ts +1 -1
  60. package/dist/path.vo.d.ts.map +1 -1
  61. package/dist/path.vo.js +1 -1
  62. package/dist/path.vo.js.map +1 -1
  63. package/dist/port.vo.d.ts +1 -1
  64. package/dist/port.vo.d.ts.map +1 -1
  65. package/dist/port.vo.js +1 -1
  66. package/dist/port.vo.js.map +1 -1
  67. package/dist/prerequisites/binary.d.ts +1 -1
  68. package/dist/prerequisites/binary.d.ts.map +1 -1
  69. package/dist/prerequisites/binary.js +1 -1
  70. package/dist/prerequisites/binary.js.map +1 -1
  71. package/dist/prerequisites/timezone-utc.d.ts +1 -1
  72. package/dist/prerequisites/timezone-utc.d.ts.map +1 -1
  73. package/dist/prerequisites/timezone-utc.js +1 -1
  74. package/dist/prerequisites/timezone-utc.js.map +1 -1
  75. package/dist/recaptcha-shield.middleware.d.ts +1 -1
  76. package/dist/recaptcha-shield.middleware.d.ts.map +1 -1
  77. package/dist/recaptcha-shield.middleware.js +1 -1
  78. package/dist/recaptcha-shield.middleware.js.map +1 -1
  79. package/dist/setup.service.d.ts +1 -1
  80. package/dist/setup.service.d.ts.map +1 -1
  81. package/dist/sitemap.service.d.ts +1 -1
  82. package/dist/sitemap.service.d.ts.map +1 -1
  83. package/dist/sitemap.service.js +1 -1
  84. package/dist/sitemap.service.js.map +1 -1
  85. package/dist/translations.service.d.ts +9 -0
  86. package/dist/translations.service.d.ts.map +1 -0
  87. package/dist/translations.service.js +11 -0
  88. package/dist/translations.service.js.map +1 -0
  89. package/dist/tsconfig.tsbuildinfo +1 -1
  90. package/dist/url-wo-trailing-slash.vo.d.ts +1 -1
  91. package/dist/url-wo-trailing-slash.vo.d.ts.map +1 -1
  92. package/dist/url-wo-trailing-slash.vo.js +1 -1
  93. package/dist/url-wo-trailing-slash.vo.js.map +1 -1
  94. package/dist/username.vo.d.ts +1 -1
  95. package/dist/username.vo.d.ts.map +1 -1
  96. package/dist/username.vo.js +1 -1
  97. package/dist/username.vo.js.map +1 -1
  98. package/dist/uuid.vo.d.ts +1 -1
  99. package/dist/uuid.vo.d.ts.map +1 -1
  100. package/dist/uuid.vo.js +1 -1
  101. package/dist/uuid.vo.js.map +1 -1
  102. package/package.json +4 -7
  103. package/readme.md +112 -0
  104. package/src/basic-auth.service.ts +1 -1
  105. package/src/command.types.ts +1 -1
  106. package/src/correlation-id.vo.ts +1 -1
  107. package/src/dispatching-event-store.ts +1 -1
  108. package/src/encryption.service.ts +1 -1
  109. package/src/env-validator.service.ts +1 -1
  110. package/src/event-handler.service.ts +1 -1
  111. package/src/event-store.ts +1 -1
  112. package/src/event-stream.vo.ts +1 -1
  113. package/src/event.types.ts +1 -1
  114. package/src/hcaptcha-shield.middleware.ts +1 -1
  115. package/src/image-compressor.service.ts +1 -1
  116. package/src/index.ts +1 -0
  117. package/src/logger.service.ts +1 -1
  118. package/src/mailer.service.ts +1 -1
  119. package/src/node-env.vo.ts +1 -1
  120. package/src/open-graph.service.ts +1 -1
  121. package/src/passwords.vo.ts +1 -1
  122. package/src/path.vo.ts +1 -1
  123. package/src/port.vo.ts +1 -1
  124. package/src/prerequisites/binary.ts +1 -1
  125. package/src/prerequisites/timezone-utc.ts +1 -1
  126. package/src/recaptcha-shield.middleware.ts +1 -1
  127. package/src/sitemap.service.ts +1 -1
  128. package/src/translations.service.ts +15 -0
  129. package/src/url-wo-trailing-slash.vo.ts +1 -1
  130. package/src/username.vo.ts +1 -1
  131. package/src/uuid.vo.ts +1 -1
  132. package/README.md +0 -1
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import { z } from "zod/v4";
2
2
  export declare const UrlWithoutTrailingSlash: z.core.$ZodBranded<z.ZodURL, "UrlWithoutTrailingSlash">;
3
3
  export type UrlWithoutTrailingSlashType = z.infer<typeof UrlWithoutTrailingSlash>;
4
4
  //# sourceMappingURL=url-wo-trailing-slash.vo.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"url-wo-trailing-slash.vo.d.ts","sourceRoot":"","sources":["../src/url-wo-trailing-slash.vo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,uBAAuB,yDAOD,CAAC;AAEpC,MAAM,MAAM,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC"}
1
+ {"version":3,"file":"url-wo-trailing-slash.vo.d.ts","sourceRoot":"","sources":["../src/url-wo-trailing-slash.vo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAE3B,eAAO,MAAM,uBAAuB,yDAOD,CAAC;AAEpC,MAAM,MAAM,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC"}
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import { z } from "zod/v4";
2
2
  export const UrlWithoutTrailingSlash = z
3
3
  .url()
4
4
  .trim()
@@ -1 +1 @@
1
- {"version":3,"file":"url-wo-trailing-slash.vo.js","sourceRoot":"","sources":["../src/url-wo-trailing-slash.vo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC;KACrC,GAAG,EAAE;KACL,IAAI,EAAE;KACN,GAAG,CAAC,CAAC,CAAC;KACN,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;IACvC,OAAO,EAAE,oCAAoC;CAC9C,CAAC;KACD,KAAK,CAAC,yBAAyB,CAAC,CAAC"}
1
+ {"version":3,"file":"url-wo-trailing-slash.vo.js","sourceRoot":"","sources":["../src/url-wo-trailing-slash.vo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAE3B,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC;KACrC,GAAG,EAAE;KACL,IAAI,EAAE;KACN,GAAG,CAAC,CAAC,CAAC;KACN,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;IACvC,OAAO,EAAE,oCAAoC;CAC9C,CAAC;KACD,KAAK,CAAC,yBAAyB,CAAC,CAAC"}
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import { z } from "zod/v4";
2
2
  export type IdType = string;
3
3
  type UsernameType = string;
4
4
  export declare class Username {
@@ -1 +1 @@
1
- {"version":3,"file":"username.vo.d.ts","sourceRoot":"","sources":["../src/username.vo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,MAAM,MAAM,GAAG,MAAM,CAAC;AAE5B,KAAK,YAAY,GAAG,MAAM,CAAC;AAE3B,qBAAa,QAAQ;IACnB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoC;IAE3D,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAe;gBAEzB,KAAK,EAAE,YAAY,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,SAAS;IAKrD,IAAI,IAAI,YAAY;CAGrB"}
1
+ {"version":3,"file":"username.vo.d.ts","sourceRoot":"","sources":["../src/username.vo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAE3B,MAAM,MAAM,MAAM,GAAG,MAAM,CAAC;AAE5B,KAAK,YAAY,GAAG,MAAM,CAAC;AAE3B,qBAAa,QAAQ;IACnB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoC;IAE3D,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAe;gBAEzB,KAAK,EAAE,YAAY,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,SAAS;IAKrD,IAAI,IAAI,YAAY;CAGrB"}
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import { z } from "zod/v4";
2
2
  export class Username {
3
3
  schema = z.string().max(256);
4
4
  value;
@@ -1 +1 @@
1
- {"version":3,"file":"username.vo.js","sourceRoot":"","sources":["../src/username.vo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,MAAM,OAAO,QAAQ;IACF,MAAM,GAAgB,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAE1C,KAAK,CAAe;IAErC,YAAY,KAAmB,EAAE,MAAoB;QACnD,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC;QACpC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAiB,CAAC;IACxD,CAAC;IAED,IAAI;QACF,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;CACF"}
1
+ {"version":3,"file":"username.vo.js","sourceRoot":"","sources":["../src/username.vo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAM3B,MAAM,OAAO,QAAQ;IACF,MAAM,GAAgB,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAE1C,KAAK,CAAe;IAErC,YAAY,KAAmB,EAAE,MAAoB;QACnD,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC;QACpC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAiB,CAAC;IACxD,CAAC;IAED,IAAI;QACF,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;CACF"}
package/dist/uuid.vo.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import { z } from "zod/v4";
2
2
  export declare const UUID: z.ZodDefault<z.ZodUUID>;
3
3
  export type UUIDType = z.infer<typeof UUID>;
4
4
  //# sourceMappingURL=uuid.vo.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"uuid.vo.d.ts","sourceRoot":"","sources":["../src/uuid.vo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,IAAI,yBAA6C,CAAC;AAE/D,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC"}
1
+ {"version":3,"file":"uuid.vo.d.ts","sourceRoot":"","sources":["../src/uuid.vo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAI3B,eAAO,MAAM,IAAI,yBAA6C,CAAC;AAE/D,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC"}
package/dist/uuid.vo.js CHANGED
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import { z } from "zod/v4";
2
2
  import { NewUUID } from "./new-uuid.service";
3
3
  export const UUID = z.uuid().default(() => NewUUID.generate());
4
4
  //# sourceMappingURL=uuid.vo.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"uuid.vo.js","sourceRoot":"","sources":["../src/uuid.vo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC"}
1
+ {"version":3,"file":"uuid.vo.js","sourceRoot":"","sources":["../src/uuid.vo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAE3B,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bgord/bun",
3
- "version": "0.15.1",
3
+ "version": "0.16.1",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "author": "Bartosz Gordon",
@@ -29,15 +29,15 @@
29
29
  "@types/nodemailer": "6.4.17",
30
30
  "cspell": "9.1.3",
31
31
  "knip": "5.61.3",
32
- "lefthook": "1.12.1",
32
+ "lefthook": "1.12.2",
33
33
  "only-allow": "1.2.1",
34
34
  "shellcheck": "3.1.0",
35
35
  "typescript": "5.8.3"
36
36
  },
37
37
  "dependencies": {
38
38
  "@axiomhq/winston": "1.3.1",
39
- "@bgord/tools": "0.10.1",
40
- "@hono/ua-blocker": "0.1.4",
39
+ "@bgord/tools": "0.11.1",
40
+ "@hono/ua-blocker": "0.1.5",
41
41
  "check-disk-space": "3.4.0",
42
42
  "croner": "9.1.0",
43
43
  "hcaptcha": "0.2.0",
@@ -50,8 +50,5 @@
50
50
  "sharp": "0.34.3",
51
51
  "ssl-checker": "2.0.10",
52
52
  "winston": "3.17.0"
53
- },
54
- "resolutions": {
55
- "zod": "4.0.3"
56
53
  }
57
54
  }
package/readme.md ADDED
@@ -0,0 +1,112 @@
1
+ # bgord-bun
2
+
3
+ ## Configuration:
4
+
5
+ Clone the repository
6
+
7
+ ```
8
+ git clone git@github.com:bgord/journal.git --recurse-submodules
9
+ ```
10
+
11
+ Install packages
12
+
13
+ ```
14
+ bun i
15
+ ```
16
+
17
+ Run the tests
18
+
19
+ ```
20
+ ./bgord-scripts/test-run.sh
21
+ ```
22
+
23
+ ## Files:
24
+
25
+ ```
26
+ src/
27
+ ├── api-key-shield.middleware.ts
28
+ ├── api-version.middleware.ts
29
+ ├── auth-shield.middleware.ts
30
+ ├── basic-auth.service.ts
31
+ ├── bots.vo.ts
32
+ ├── build-info-repository.service.ts
33
+ ├── cache-resolver.service.ts
34
+ ├── cache-response.middleware.ts
35
+ ├── cache-static-files.middleware.ts
36
+ ├── command-logger.ts
37
+ ├── command.types.ts
38
+ ├── context.middleware.ts
39
+ ├── correlation-id.vo.ts
40
+ ├── correlation-storage.service.ts
41
+ ├── decorators.service.ts
42
+ ├── dispatching-event-store.ts
43
+ ├── download-file.service.ts
44
+ ├── encryption.service.ts
45
+ ├── env-validator.service.ts
46
+ ├── etag-extractor.middleware.ts
47
+ ├── event-handler.service.ts
48
+ ├── event-logger.service.ts
49
+ ├── event-publisher.types.ts
50
+ ├── event-store.ts
51
+ ├── event-stream.vo.ts
52
+ ├── event.types.ts
53
+ ├── file-location.service.ts
54
+ ├── file-uploader.middleware.ts
55
+ ├── graceful-shutdown.service.ts
56
+ ├── gzip.service.ts
57
+ ├── hcaptcha-shield.middleware.ts
58
+ ├── healthcheck.service.ts
59
+ ├── http-logger.middleware.ts
60
+ ├── i18n.service.ts
61
+ ├── image-compressor.service.ts
62
+ ├── image-exif.service.ts
63
+ ├── jobs.service.ts
64
+ ├── logger.service.ts
65
+ ├── mailer.service.ts
66
+ ├── memory-consumption.service.ts
67
+ ├── new-uuid.service.ts
68
+ ├── node-env.vo.ts
69
+ ├── open-graph.service.ts
70
+ ├── passwords.vo.ts
71
+ ├── path.vo.ts
72
+ ├── policy-error-handler.service.ts
73
+ ├── policy.service.ts
74
+ ├── port.vo.ts
75
+ ├── prerequisites
76
+ │   ├── binary.ts
77
+ │   ├── bun.ts
78
+ │   ├── dependency-vulnerabilities.ts
79
+ │   ├── external-api.ts
80
+ │   ├── jobs.ts
81
+ │   ├── log-file.ts
82
+ │   ├── mailer.ts
83
+ │   ├── memory.ts
84
+ │   ├── node.ts
85
+ │   ├── outside-connectivity.ts
86
+ │   ├── path.ts
87
+ │   ├── port.ts
88
+ │   ├── ram.ts
89
+ │   ├── self.ts
90
+ │   ├── space.ts
91
+ │   ├── ssl-certificate-expiry.ts
92
+ │   ├── timezone-utc.ts
93
+ │   └── translations.ts
94
+ ├── prerequisites.service.ts
95
+ ├── rate-limit-shield.middleware.ts
96
+ ├── recaptcha-shield.middleware.ts
97
+ ├── safe-parse-body.service.ts
98
+ ├── session-id.vo.ts
99
+ ├── setup.service.ts
100
+ ├── simulated-error.middleware.ts
101
+ ├── sitemap.service.ts
102
+ ├── slower.middleware.ts
103
+ ├── time-zone-offset.middleware.ts
104
+ ├── to-event-map.types.ts
105
+ ├── translations.service.ts
106
+ ├── uptime.service.ts
107
+ ├── url-wo-trailing-slash.vo.ts
108
+ ├── username.vo.ts
109
+ ├── uuid.vo.ts
110
+ └── weak-etag-extractor.middleware.ts
111
+ ```
112
+
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import { z } from "zod/v4";
2
2
 
3
3
  export const BasicAuthUsername = z.string().min(1).max(128).brand("BasicAuthUsername");
4
4
 
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import { z } from "zod/v4";
2
2
 
3
3
  export type GenericCommandSchema = z.ZodObject<{
4
4
  id: z.ZodType<string>;
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import { z } from "zod/v4";
2
2
 
3
3
  import { UUID } from "./uuid.vo";
4
4
 
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import { z } from "zod/v4";
2
2
  import type { GenericEventSchema, GenericParsedEventSchema } from "./event.types";
3
3
  import type { EventPublisher } from "./event-publisher.types";
4
4
  import { EventStore as BaseStore } from "./event-store";
@@ -2,7 +2,7 @@ import * as crypto from "node:crypto";
2
2
  import * as fs from "node:fs";
3
3
  import { pipeline } from "node:stream/promises";
4
4
  import * as util from "node:util";
5
- import { z } from "zod";
5
+ import { z } from "zod/v4";
6
6
 
7
7
  export const EncryptionIV = z
8
8
  .string()
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import { z } from "zod/v4";
2
2
 
3
3
  import { NodeEnvironment } from "../src/node-env.vo";
4
4
 
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import { z } from "zod/v4";
2
2
  import type { GenericEventSchema } from "./event.types";
3
3
  import { Logger } from "./logger.service";
4
4
 
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import { z } from "zod/v4";
2
2
  import type { GenericEventSchema, GenericParsedEventSchema } from "./event.types";
3
3
  import type { EventStreamType } from "./event-stream.vo";
4
4
 
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import { z } from "zod/v4";
2
2
 
3
3
  export const EventStream = z.string().min(1).max(256);
4
4
  export type EventStreamType = z.infer<typeof EventStream>;
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import { z } from "zod/v4";
2
2
 
3
3
  export type GenericEventSchema = z.ZodObject<{
4
4
  id: z.ZodType<string>;
@@ -1,7 +1,7 @@
1
1
  import hcaptcha from "hcaptcha";
2
2
  import { createMiddleware } from "hono/factory";
3
3
  import { HTTPException } from "hono/http-exception";
4
- import { z } from "zod";
4
+ import { z } from "zod/v4";
5
5
 
6
6
  export const HCaptchaSecretKey = z.string().trim().length(42).brand("HCaptchaSecretKey");
7
7
 
@@ -1,5 +1,5 @@
1
1
  import sharp from "sharp";
2
- import { z } from "zod";
2
+ import { z } from "zod/v4";
3
3
 
4
4
  import type { PathType } from "../src/path.vo";
5
5
 
package/src/index.ts CHANGED
@@ -58,6 +58,7 @@ export * from "./sitemap.service";
58
58
  export * from "./slower.middleware";
59
59
  export * from "./time-zone-offset.middleware";
60
60
  export * from "./to-event-map.types";
61
+ export * from "./translations.service";
61
62
  export * from "./uptime.service";
62
63
  export * from "./url-wo-trailing-slash.vo";
63
64
  export * from "./username.vo";
@@ -1,6 +1,6 @@
1
1
  import * as tools from "@bgord/tools";
2
2
  import * as winston from "winston";
3
- import { z } from "zod";
3
+ import { z } from "zod/v4";
4
4
 
5
5
  import { CorrelationIdType } from "./correlation-id.vo";
6
6
  import { NodeEnvironmentEnum } from "./node-env.vo";
@@ -1,5 +1,5 @@
1
1
  import nodemailer, { SendMailOptions } from "nodemailer";
2
- import { z } from "zod";
2
+ import { z } from "zod/v4";
3
3
 
4
4
  import { Path } from "./path.vo";
5
5
  import { Port } from "./port.vo";
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import { z } from "zod/v4";
2
2
 
3
3
  export enum NodeEnvironmentEnum {
4
4
  local = "local",
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import { z } from "zod/v4";
2
2
 
3
3
  import { ImageEXIF } from "./image-exif.service";
4
4
  import { Path, PathType } from "./path.vo";
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import { z } from "zod/v4";
2
2
 
3
3
  export type PasswordType = string;
4
4
 
package/src/path.vo.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import { z } from "zod/v4";
2
2
 
3
3
  export const Path = z.string().min(1);
4
4
 
package/src/port.vo.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import { z } from "zod/v4";
2
2
 
3
3
  export const Port = z.coerce.number().min(0).max(99999).brand("Port");
4
4
 
@@ -1,5 +1,5 @@
1
1
  import bun from "bun";
2
- import { z } from "zod";
2
+ import { z } from "zod/v4";
3
3
 
4
4
  import * as prereqs from "../prerequisites.service";
5
5
 
@@ -1,5 +1,5 @@
1
1
  import * as tools from "@bgord/tools";
2
- import { z } from "zod";
2
+ import { z } from "zod/v4";
3
3
 
4
4
  import * as prereqs from "../prerequisites.service";
5
5
 
@@ -1,6 +1,6 @@
1
1
  import { createMiddleware } from "hono/factory";
2
2
  import { HTTPException } from "hono/http-exception";
3
- import { z } from "zod";
3
+ import { z } from "zod/v4";
4
4
 
5
5
  export const RecaptchaSiteKey = z.string().trim().length(40);
6
6
 
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import { z } from "zod/v4";
2
2
 
3
3
  import { PathType } from "./path.vo";
4
4
  import { UrlWithoutTrailingSlashType } from "./url-wo-trailing-slash.vo";
@@ -0,0 +1,15 @@
1
+ import type * as tools from "@bgord/tools";
2
+ import { createFactory } from "hono/factory";
3
+ import { I18n } from "./i18n.service";
4
+
5
+ const handler = createFactory();
6
+
7
+ export class Translations {
8
+ static build = () =>
9
+ handler.createHandlers(async (c) => {
10
+ const language = c.get("language") as tools.LanguageType;
11
+ const translations = await new I18n().getTranslations(language);
12
+
13
+ return c.json({ translations, language });
14
+ });
15
+ }
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import { z } from "zod/v4";
2
2
 
3
3
  export const UrlWithoutTrailingSlash = z
4
4
  .url()
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import { z } from "zod/v4";
2
2
 
3
3
  export type IdType = string;
4
4
 
package/src/uuid.vo.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import { z } from "zod/v4";
2
2
 
3
3
  import { NewUUID } from "./new-uuid.service";
4
4
 
package/README.md DELETED
@@ -1 +0,0 @@
1
- # @bgord/bun