@romaintaillandier1978/dotenv-never-lies 1.1.1 → 1.3.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 (212) hide show
  1. package/README.md +103 -42
  2. package/dist/cli/commands/assert.d.ts +3 -4
  3. package/dist/cli/commands/assert.d.ts.map +1 -1
  4. package/dist/cli/commands/explain.d.ts +2 -3
  5. package/dist/cli/commands/explain.d.ts.map +1 -1
  6. package/dist/cli/commands/export.d.ts +4 -3
  7. package/dist/cli/commands/export.d.ts.map +1 -1
  8. package/dist/cli/commands/export.js +46 -0
  9. package/dist/cli/commands/generate.d.ts +2 -2
  10. package/dist/cli/commands/generate.d.ts.map +1 -1
  11. package/dist/cli/commands/infer.d.ts +15 -0
  12. package/dist/cli/commands/infer.d.ts.map +1 -0
  13. package/dist/cli/commands/infer.js +86 -0
  14. package/dist/cli/commands/init.d.ts +15 -0
  15. package/dist/cli/commands/init.d.ts.map +1 -0
  16. package/dist/cli/commands/init.js +30 -0
  17. package/dist/cli/commands/program.d.ts +4 -0
  18. package/dist/cli/commands/program.d.ts.map +1 -0
  19. package/dist/cli/commands/program.js +1 -0
  20. package/dist/cli/index.js +74 -30
  21. package/dist/cli/utils/infer-schema.d.ts +2 -2
  22. package/dist/cli/utils/infer-schema.d.ts.map +1 -1
  23. package/dist/cli/utils/infer-schema.js +20 -22
  24. package/dist/cli/utils/printer.d.ts +2 -0
  25. package/dist/cli/utils/printer.d.ts.map +1 -1
  26. package/dist/cli/utils/printer.js +104 -1
  27. package/dist/core.d.ts.map +1 -1
  28. package/dist/index.d.ts +1 -0
  29. package/dist/index.d.ts.map +1 -1
  30. package/dist/index.js +1 -0
  31. package/dist/infer/__tests__/port-vs-version.test.d.ts +2 -0
  32. package/dist/infer/__tests__/port-vs-version.test.d.ts.map +1 -0
  33. package/dist/infer/__tests__/port-vs-version.test.js +32 -0
  34. package/dist/infer/__tests__/rules/basic.test.d.ts +2 -0
  35. package/dist/infer/__tests__/rules/basic.test.d.ts.map +1 -0
  36. package/dist/infer/__tests__/rules/basic.test.js +85 -0
  37. package/dist/infer/__tests__/rules/boolean.test.d.ts +2 -0
  38. package/dist/infer/__tests__/rules/boolean.test.d.ts.map +1 -0
  39. package/dist/infer/__tests__/rules/boolean.test.js +34 -0
  40. package/dist/infer/__tests__/rules/duration.test.d.ts +2 -0
  41. package/dist/infer/__tests__/rules/duration.test.d.ts.map +1 -0
  42. package/dist/infer/__tests__/rules/duration.test.js +24 -0
  43. package/dist/infer/__tests__/rules/ip.test.d.ts +2 -0
  44. package/dist/infer/__tests__/rules/ip.test.d.ts.map +1 -0
  45. package/dist/infer/__tests__/rules/ip.test.js +24 -0
  46. package/dist/infer/__tests__/rules/json.test.d.ts +2 -0
  47. package/dist/infer/__tests__/rules/json.test.d.ts.map +1 -0
  48. package/dist/infer/__tests__/rules/json.test.js +38 -0
  49. package/dist/infer/__tests__/rules/list.test.d.ts +2 -0
  50. package/dist/infer/__tests__/rules/list.test.d.ts.map +1 -0
  51. package/dist/infer/__tests__/rules/list.test.js +130 -0
  52. package/dist/infer/__tests__/rules/port.test.d.ts +2 -0
  53. package/dist/infer/__tests__/rules/port.test.d.ts.map +1 -0
  54. package/dist/infer/__tests__/rules/port.test.js +24 -0
  55. package/dist/infer/__tests__/rules/url.test.d.ts +2 -0
  56. package/dist/infer/__tests__/rules/url.test.d.ts.map +1 -0
  57. package/dist/infer/__tests__/rules/url.test.js +39 -0
  58. package/dist/infer/__tests__/rules/version.test.d.ts +2 -0
  59. package/dist/infer/__tests__/rules/version.test.d.ts.map +1 -0
  60. package/dist/infer/__tests__/rules/version.test.js +37 -0
  61. package/dist/infer/generated/basic.d.ts +8 -0
  62. package/dist/infer/generated/basic.d.ts.map +1 -0
  63. package/dist/infer/generated/basic.js +24 -0
  64. package/dist/infer/generated/boolean.d.ts +3 -0
  65. package/dist/infer/generated/boolean.d.ts.map +1 -0
  66. package/dist/infer/generated/boolean.js +9 -0
  67. package/dist/infer/generated/duration.d.ts +3 -0
  68. package/dist/infer/generated/duration.d.ts.map +1 -0
  69. package/dist/infer/generated/duration.js +9 -0
  70. package/dist/infer/generated/ip.d.ts +3 -0
  71. package/dist/infer/generated/ip.d.ts.map +1 -0
  72. package/dist/infer/generated/ip.js +9 -0
  73. package/dist/infer/generated/json.d.ts +4 -0
  74. package/dist/infer/generated/json.d.ts.map +1 -0
  75. package/dist/infer/generated/json.js +10 -0
  76. package/dist/infer/generated/list.d.ts +8 -0
  77. package/dist/infer/generated/list.d.ts.map +1 -0
  78. package/dist/infer/generated/list.js +49 -0
  79. package/dist/infer/generated/port.d.ts +4 -0
  80. package/dist/infer/generated/port.d.ts.map +1 -0
  81. package/dist/infer/generated/port.js +10 -0
  82. package/dist/infer/generated/url.d.ts +14 -0
  83. package/dist/infer/generated/url.d.ts.map +1 -0
  84. package/dist/infer/generated/url.js +30 -0
  85. package/dist/infer/generated/version.d.ts +4 -0
  86. package/dist/infer/generated/version.d.ts.map +1 -0
  87. package/dist/infer/generated/version.js +10 -0
  88. package/dist/infer/helpers.d.ts +11 -0
  89. package/dist/infer/helpers.d.ts.map +1 -0
  90. package/dist/infer/helpers.js +41 -0
  91. package/dist/infer/index.d.ts +4 -0
  92. package/dist/infer/index.d.ts.map +1 -0
  93. package/dist/infer/index.js +35 -0
  94. package/dist/infer/rules/basic.d.ts +11 -0
  95. package/dist/infer/rules/basic.d.ts.map +1 -0
  96. package/dist/infer/rules/basic.js +90 -0
  97. package/dist/infer/rules/boolean.d.ts +3 -0
  98. package/dist/infer/rules/boolean.d.ts.map +1 -0
  99. package/dist/infer/rules/boolean.js +25 -0
  100. package/dist/infer/rules/duration.d.ts +3 -0
  101. package/dist/infer/rules/duration.d.ts.map +1 -0
  102. package/dist/infer/rules/duration.js +25 -0
  103. package/dist/infer/rules/ip.d.ts +3 -0
  104. package/dist/infer/rules/ip.d.ts.map +1 -0
  105. package/dist/infer/rules/ip.js +25 -0
  106. package/dist/infer/rules/json.d.ts +3 -0
  107. package/dist/infer/rules/json.d.ts.map +1 -0
  108. package/dist/infer/rules/json.js +59 -0
  109. package/dist/infer/rules/list.d.ts +12 -0
  110. package/dist/infer/rules/list.d.ts.map +1 -0
  111. package/dist/infer/rules/list.js +221 -0
  112. package/dist/infer/rules/port.d.ts +3 -0
  113. package/dist/infer/rules/port.d.ts.map +1 -0
  114. package/dist/infer/rules/port.js +30 -0
  115. package/dist/infer/rules/url.d.ts +4 -0
  116. package/dist/infer/rules/url.d.ts.map +1 -0
  117. package/dist/infer/rules/url.js +143 -0
  118. package/dist/infer/rules/version.d.ts +3 -0
  119. package/dist/infer/rules/version.d.ts.map +1 -0
  120. package/dist/infer/rules/version.js +26 -0
  121. package/dist/infer/types.d.ts +87 -0
  122. package/dist/infer/types.d.ts.map +1 -0
  123. package/dist/infer/types.js +1 -0
  124. package/dist/infer-rules/basic.d.ts +5 -0
  125. package/dist/infer-rules/basic.d.ts.map +1 -0
  126. package/dist/infer-rules/basic.js +48 -0
  127. package/dist/infer-rules/boolean.d.ts +3 -0
  128. package/dist/infer-rules/boolean.d.ts.map +1 -0
  129. package/dist/infer-rules/boolean.js +25 -0
  130. package/dist/infer-rules/dotted.d.ts +4 -0
  131. package/dist/infer-rules/dotted.d.ts.map +1 -0
  132. package/dist/infer-rules/dotted.js +48 -0
  133. package/dist/infer-rules/duration.d.ts +3 -0
  134. package/dist/infer-rules/duration.d.ts.map +1 -0
  135. package/dist/infer-rules/duration.js +25 -0
  136. package/dist/infer-rules/index.d.ts +50 -0
  137. package/dist/infer-rules/index.d.ts.map +1 -0
  138. package/dist/infer-rules/index.js +42 -0
  139. package/dist/infer-rules/json.d.ts +3 -0
  140. package/dist/infer-rules/json.d.ts.map +1 -0
  141. package/dist/infer-rules/json.js +50 -0
  142. package/dist/infer-rules/list.d.ts +5 -0
  143. package/dist/infer-rules/list.d.ts.map +1 -0
  144. package/dist/infer-rules/list.js +200 -0
  145. package/dist/infer-rules/path.d.ts +5 -0
  146. package/dist/infer-rules/path.d.ts.map +1 -0
  147. package/dist/infer-rules/path.js +78 -0
  148. package/dist/infer-rules/port.d.ts +3 -0
  149. package/dist/infer-rules/port.d.ts.map +1 -0
  150. package/dist/infer-rules/port.js +26 -0
  151. package/dist/infer-rules/simple.d.ts +3 -0
  152. package/dist/infer-rules/simple.d.ts.map +1 -0
  153. package/dist/infer-rules/simple.js +37 -0
  154. package/dist/infer-rules/url.d.ts +4 -0
  155. package/dist/infer-rules/url.d.ts.map +1 -0
  156. package/dist/infer-rules/url.js +149 -0
  157. package/dist/llm-kit/context.json.d.ts +2 -0
  158. package/dist/llm-kit/context.json.d.ts.map +1 -0
  159. package/dist/llm-kit/context.json.js +22 -0
  160. package/dist/sample/DNLTest.d.ts +2 -0
  161. package/dist/sample/DNLTest.d.ts.map +1 -0
  162. package/dist/sample/DNLTest.js +4 -0
  163. package/dist/sample/debug.d.ts +2 -0
  164. package/dist/sample/debug.d.ts.map +1 -0
  165. package/dist/sample/debug.js +5 -0
  166. package/dist/sample/env.dnl.d.ts +426 -0
  167. package/dist/sample/env.dnl.d.ts.map +1 -0
  168. package/dist/sample/env.dnl.js +429 -0
  169. package/dist/schemas/bool.d.ts +9 -0
  170. package/dist/schemas/bool.d.ts.map +1 -0
  171. package/dist/schemas/bool.js +22 -0
  172. package/dist/schemas/boolean.d.ts +9 -0
  173. package/dist/schemas/boolean.d.ts.map +1 -0
  174. package/dist/schemas/boolean.js +23 -0
  175. package/dist/schemas/dotted.d.ts +21 -0
  176. package/dist/schemas/dotted.d.ts.map +1 -0
  177. package/dist/schemas/dotted.js +45 -0
  178. package/dist/schemas/duration.d.ts +11 -0
  179. package/dist/schemas/duration.d.ts.map +1 -0
  180. package/dist/schemas/duration.js +44 -0
  181. package/dist/schemas/index.d.ts +9 -0
  182. package/dist/schemas/index.d.ts.map +1 -0
  183. package/dist/schemas/index.js +8 -0
  184. package/dist/schemas/ip-and-version.d.ts +12 -0
  185. package/dist/schemas/ip-and-version.d.ts.map +1 -0
  186. package/dist/schemas/ip-and-version.js +35 -0
  187. package/dist/schemas/ip.d.ts +11 -0
  188. package/dist/schemas/ip.d.ts.map +1 -0
  189. package/dist/schemas/ip.js +33 -0
  190. package/dist/schemas/json.d.ts +15 -0
  191. package/dist/schemas/json.d.ts.map +1 -0
  192. package/dist/schemas/json.js +34 -0
  193. package/dist/schemas/list.d.ts +89 -0
  194. package/dist/schemas/list.d.ts.map +1 -0
  195. package/dist/schemas/list.js +139 -0
  196. package/dist/schemas/path.d.ts +23 -0
  197. package/dist/schemas/path.d.ts.map +1 -0
  198. package/dist/schemas/path.js +33 -0
  199. package/dist/schemas/port.d.ts +8 -0
  200. package/dist/schemas/port.d.ts.map +1 -0
  201. package/dist/schemas/port.js +9 -0
  202. package/dist/schemas/urls.d.ts +15 -0
  203. package/dist/schemas/urls.d.ts.map +1 -0
  204. package/dist/schemas/urls.js +54 -0
  205. package/package.json +11 -6
  206. package/dist/DnlTest.d.ts +0 -2
  207. package/dist/DnlTest.d.ts.map +0 -1
  208. package/dist/DnlTest.js +0 -12
  209. package/dist/cli/utils/exitCodes.d.ts +0 -8
  210. package/dist/cli/utils/exitCodes.d.ts.map +0 -1
  211. package/dist/cli/utils/exitCodes.js +0 -8
  212. package/dist/romaintaillandier1978-dotenv-never-lies-0.3.0.tgz +0 -0
@@ -0,0 +1,429 @@
1
+ // ⚠️ This file was generated by dotenv-never-lies
2
+ // Review and adjust schemas, descriptions and secrets before using
3
+ import { z } from "zod";
4
+ import { define, urlListSchema } from "@romaintaillandier1978/dotenv-never-lies";
5
+ import { boolSchema, databaseUrlSchema, httpUrlSchema, listSchema, portSchema, versionSchema, } from "@romaintaillandier1978/dotenv-never-lies";
6
+ export default define({
7
+ NODE_ENV: {
8
+ description: "TODO",
9
+ schema: z.string(),
10
+ },
11
+ NODE_PORT: {
12
+ description: "TODO",
13
+ schema: portSchema("NODE_PORT"),
14
+ },
15
+ MY_PUBLIC_URL: {
16
+ description: "TODO",
17
+ schema: httpUrlSchema("MY_PUBLIC_URL"),
18
+ },
19
+ JWT_SECRET: {
20
+ description: "TODO",
21
+ schema: z.string(),
22
+ secret: true, // ⚠️ inferred as secret
23
+ },
24
+ ACCESS_TOKEN_EXPIRATION: {
25
+ description: "TODO",
26
+ schema: z.coerce.number(),
27
+ secret: true, // ⚠️ inferred as secret
28
+ },
29
+ FRONT_INSCRIPTION: {
30
+ description: "TODO",
31
+ schema: httpUrlSchema("FRONT_INSCRIPTION"),
32
+ },
33
+ FRONT_INSCRIPTION_PRO: {
34
+ description: "TODO",
35
+ schema: httpUrlSchema("FRONT_INSCRIPTION_PRO"),
36
+ },
37
+ FRONT_SIMULATOR: {
38
+ description: "TODO",
39
+ schema: httpUrlSchema("FRONT_SIMULATOR"),
40
+ },
41
+ FRONT_SIMULATOR_RES: {
42
+ description: "TODO",
43
+ schema: httpUrlSchema("FRONT_SIMULATOR_RES"),
44
+ },
45
+ FRONT_SIMULATOR_RES_THERMIQUE: {
46
+ description: "TODO",
47
+ schema: httpUrlSchema("FRONT_SIMULATOR_RES_THERMIQUE"),
48
+ },
49
+ FRONT_SIMULATOR_PRO: {
50
+ description: "TODO",
51
+ schema: httpUrlSchema("FRONT_SIMULATOR_PRO"),
52
+ },
53
+ FRONT_BO: {
54
+ description: "TODO",
55
+ schema: httpUrlSchema("FRONT_BO"),
56
+ },
57
+ LOCAL_PORTS: {
58
+ description: "TODO",
59
+ schema: z.string(),
60
+ },
61
+ NODE_CORS_ORIGIN: {
62
+ description: "TODO",
63
+ schema: urlListSchema("NODE_CORS_ORIGIN", { splitter: ";" }),
64
+ },
65
+ NODE_SESSION_SECRET: {
66
+ description: "TODO",
67
+ schema: z.string(),
68
+ secret: true, // ⚠️ inferred as secret
69
+ },
70
+ NODE_SESSION_NAME: {
71
+ description: "TODO",
72
+ schema: z.string(),
73
+ },
74
+ SUPER_ADMIN_LOGIN: {
75
+ description: "TODO",
76
+ schema: z.email(),
77
+ },
78
+ SUPER_ADMIN_PASSWORD: {
79
+ description: "TODO",
80
+ schema: z.string(),
81
+ secret: true, // ⚠️ inferred as secret
82
+ },
83
+ ADMIN_MAILS: {
84
+ description: "TODO",
85
+ schema: z.email(),
86
+ },
87
+ ADMIN_PASSWORDS: {
88
+ description: "TODO",
89
+ schema: z.string(),
90
+ },
91
+ POSTGRES_DB: {
92
+ description: "TODO",
93
+ schema: z.string(),
94
+ },
95
+ POSTGRES_PASSWORD: {
96
+ description: "TODO",
97
+ schema: z.string(),
98
+ secret: true, // ⚠️ inferred as secret
99
+ },
100
+ POSTGRES_USER: {
101
+ description: "TODO",
102
+ schema: z.string(),
103
+ },
104
+ POSTGRES_PORT: {
105
+ description: "TODO",
106
+ schema: portSchema("POSTGRES_PORT"),
107
+ },
108
+ DATABASE_URL: {
109
+ description: "TODO",
110
+ schema: databaseUrlSchema("DATABASE_URL"),
111
+ },
112
+ APP_TITLE: {
113
+ description: "TODO",
114
+ schema: z.string(),
115
+ },
116
+ API_TITLE: {
117
+ description: "TODO",
118
+ schema: z.string(),
119
+ },
120
+ API_VERSION: {
121
+ description: "TODO",
122
+ schema: versionSchema("API_VERSION"),
123
+ },
124
+ API_EXTERNAL_SITE: {
125
+ description: "TODO",
126
+ schema: z.url(),
127
+ },
128
+ ICOLL_BASE_URL: {
129
+ description: "TODO",
130
+ schema: httpUrlSchema("ICOLL_BASE_URL"),
131
+ },
132
+ ICOLL_USER_NAME: {
133
+ description: "TODO",
134
+ schema: z.string(),
135
+ },
136
+ ICOLL_PASSWORD: {
137
+ description: "TODO",
138
+ schema: z.string(),
139
+ secret: true, // ⚠️ inferred as secret
140
+ },
141
+ ICOLL_API_KEY: {
142
+ description: "TODO",
143
+ schema: z.string(),
144
+ secret: true, // ⚠️ inferred as secret
145
+ },
146
+ ICOLL_SOCIETE_ID_HEADER: {
147
+ description: "TODO",
148
+ schema: portSchema("ICOLL_SOCIETE_ID_HEADER"),
149
+ },
150
+ ICOLL_FILIALE_ID: {
151
+ description: "TODO",
152
+ schema: portSchema("ICOLL_FILIALE_ID"),
153
+ },
154
+ ICOLL_USER_ID: {
155
+ description: "TODO",
156
+ schema: portSchema("ICOLL_USER_ID"),
157
+ },
158
+ ICOLL_PREVISIT_TECH_ID: {
159
+ description: "TODO",
160
+ schema: portSchema("ICOLL_PREVISIT_TECH_ID"),
161
+ },
162
+ ICOLL_INSTALLATION_TECH_ID: {
163
+ description: "TODO",
164
+ schema: portSchema("ICOLL_INSTALLATION_TECH_ID"),
165
+ },
166
+ NAGIOS_AGENT_CODE: {
167
+ description: "TODO",
168
+ schema: z.string(),
169
+ },
170
+ NAGIOS_AGENT_CODE_PASSWORD: {
171
+ description: "TODO",
172
+ schema: z.string(),
173
+ secret: true, // ⚠️ inferred as secret
174
+ },
175
+ SMTP_URL: {
176
+ description: "TODO",
177
+ schema: z.string(),
178
+ },
179
+ SMTP_PORT: {
180
+ description: "TODO",
181
+ schema: portSchema("SMTP_PORT"),
182
+ },
183
+ SENDER: {
184
+ description: "TODO",
185
+ schema: z.email(),
186
+ },
187
+ SENDINBLUE_LOGIN: {
188
+ description: "TODO",
189
+ schema: z.email(),
190
+ },
191
+ SENDINBLUE_PASSWORD: {
192
+ description: "TODO",
193
+ schema: z.string(),
194
+ secret: true, // ⚠️ inferred as secret
195
+ },
196
+ FAKE_RECIPIENT: {
197
+ description: "TODO",
198
+ schema: z.email(),
199
+ },
200
+ ALL_TEST_RECIPIENT_BCC: {
201
+ description: "TODO",
202
+ // ⚠️ Inferred list was detected as containing only empty values, consider completing the 'of' parameter of the listSchema
203
+ schema: listSchema("ALL_TEST_RECIPIENT_BCC"),
204
+ },
205
+ SOGYS_RECIPIENT: {
206
+ description: "TODO",
207
+ schema: z.email(),
208
+ },
209
+ MMA_RECIPIENT: {
210
+ description: "TODO",
211
+ schema: z.email(),
212
+ },
213
+ MMA_RECIPIENT_BCC: {
214
+ description: "TODO",
215
+ schema: z.email(),
216
+ },
217
+ RENO_GLOBALE_RECIPIENT_AGENT: {
218
+ description: "TODO",
219
+ schema: z.email(),
220
+ },
221
+ LINK_BO_FORGOT: {
222
+ description: "TODO",
223
+ schema: httpUrlSchema("LINK_BO_FORGOT"),
224
+ },
225
+ EATTESTATION_API_URL: {
226
+ description: "TODO",
227
+ schema: httpUrlSchema("EATTESTATION_API_URL"),
228
+ },
229
+ EATTESTATION_EDGE_URL: {
230
+ description: "TODO",
231
+ schema: httpUrlSchema("EATTESTATION_EDGE_URL"),
232
+ },
233
+ EATTESTATION_AUTH_KEYCLOACK: {
234
+ description: "TODO",
235
+ schema: httpUrlSchema("EATTESTATION_AUTH_KEYCLOACK"),
236
+ secret: true, // ⚠️ inferred as secret
237
+ },
238
+ EATTESTATION_AUTH_URL: {
239
+ description: "TODO",
240
+ schema: httpUrlSchema("EATTESTATION_AUTH_URL"),
241
+ secret: true, // ⚠️ inferred as secret
242
+ },
243
+ EATTESTATION_IDENTIFIER: {
244
+ description: "TODO",
245
+ schema: z.string(),
246
+ },
247
+ EATTESTATION_PASSWORD: {
248
+ description: "TODO",
249
+ schema: z.string(),
250
+ secret: true, // ⚠️ inferred as secret
251
+ },
252
+ EATTESTATION_ACCOUNT_ID: {
253
+ description: "TODO",
254
+ schema: z.coerce.number(),
255
+ },
256
+ EATTESTATION_ENABLE_CRON_DOSIER_STATUS: {
257
+ description: "TODO",
258
+ schema: boolSchema("EATTESTATION_ENABLE_CRON_DOSIER_STATUS"),
259
+ },
260
+ NETHEOS_URL: {
261
+ description: "TODO",
262
+ schema: httpUrlSchema("NETHEOS_URL"),
263
+ },
264
+ NETHEOS_BO_LOGIN: {
265
+ description: "TODO",
266
+ schema: z.email(),
267
+ },
268
+ NETHEOS_BO_PASSWORD: {
269
+ description: "TODO",
270
+ schema: z.string(),
271
+ secret: true, // ⚠️ inferred as secret
272
+ },
273
+ NETHEOS_API_PRODUCT_BON_DE_COMMANDE: {
274
+ description: "TODO",
275
+ schema: z.string(),
276
+ },
277
+ NETHEOS_API_SECRET_BON_DE_COMMANDE: {
278
+ description: "TODO",
279
+ schema: z.string(),
280
+ secret: true, // ⚠️ inferred as secret
281
+ },
282
+ NETHEOS_API_PRODUCT_AUDIT: {
283
+ description: "TODO",
284
+ schema: z.string(),
285
+ },
286
+ NETHEOS_API_SECRET_AUDIT: {
287
+ description: "TODO",
288
+ schema: z.string(),
289
+ secret: true, // ⚠️ inferred as secret
290
+ },
291
+ PAPPERS_API: {
292
+ description: "TODO",
293
+ schema: httpUrlSchema("PAPPERS_API"),
294
+ },
295
+ PAPPERS_SUGGESTIONS_API: {
296
+ description: "TODO",
297
+ schema: httpUrlSchema("PAPPERS_SUGGESTIONS_API"),
298
+ },
299
+ PAPPERS_TOKEN: {
300
+ description: "TODO",
301
+ schema: z.string(),
302
+ secret: true, // ⚠️ inferred as secret
303
+ },
304
+ ENEDIS_API: {
305
+ description: "TODO",
306
+ schema: httpUrlSchema("ENEDIS_API"),
307
+ },
308
+ ENEDIS_CLIENT_ID: {
309
+ description: "TODO",
310
+ schema: z.string(),
311
+ },
312
+ ENEDIS_SECRET: {
313
+ description: "TODO",
314
+ schema: z.string(),
315
+ secret: true, // ⚠️ inferred as secret
316
+ },
317
+ ENEDIS_PLATEFORME: {
318
+ description: "TODO",
319
+ schema: z.string(),
320
+ },
321
+ ENEDIS_SGE_API: {
322
+ description: "TODO",
323
+ schema: httpUrlSchema("ENEDIS_SGE_API"),
324
+ },
325
+ ENEDIS_SGE_LOGIN: {
326
+ description: "TODO",
327
+ schema: z.email(),
328
+ },
329
+ ENEDIS_SGE_CONTRACT_ID: {
330
+ description: "TODO",
331
+ schema: z.coerce.number(),
332
+ },
333
+ ENEDIS_SGE_NNI: {
334
+ description: "TODO",
335
+ schema: z.string(),
336
+ },
337
+ ENEDIS_SGE_PASSWORD: {
338
+ description: "TODO",
339
+ schema: z.string(),
340
+ secret: true, // ⚠️ inferred as secret
341
+ },
342
+ ENEDIS_OPENDATA_API: {
343
+ description: "TODO",
344
+ schema: httpUrlSchema("ENEDIS_OPENDATA_API"),
345
+ },
346
+ GOOGLE_STATIC_MAPS: {
347
+ description: "TODO",
348
+ schema: httpUrlSchema("GOOGLE_STATIC_MAPS"),
349
+ },
350
+ GOOGLE_API_KEY: {
351
+ description: "TODO",
352
+ schema: z.string(),
353
+ secret: true, // ⚠️ inferred as secret
354
+ },
355
+ FINANCO_API: {
356
+ description: "TODO",
357
+ schema: httpUrlSchema("FINANCO_API"),
358
+ },
359
+ FINANCO_API_KEY: {
360
+ description: "TODO",
361
+ schema: z.string(),
362
+ secret: true, // ⚠️ inferred as secret
363
+ },
364
+ FINANCO_API_KID: {
365
+ description: "TODO",
366
+ schema: z.string(),
367
+ },
368
+ FINANCO_SECRET: {
369
+ description: "TODO",
370
+ schema: z.string(),
371
+ secret: true, // ⚠️ inferred as secret
372
+ },
373
+ FINANCO_ADHERENT_ID: {
374
+ description: "TODO",
375
+ schema: z.coerce.number(),
376
+ },
377
+ FINANCO_ESPACE_PARTENAIRE: {
378
+ description: "TODO",
379
+ schema: httpUrlSchema("FINANCO_ESPACE_PARTENAIRE"),
380
+ },
381
+ ADDRESS_API_BASE_URL: {
382
+ description: "TODO",
383
+ schema: httpUrlSchema("ADDRESS_API_BASE_URL"),
384
+ },
385
+ CADASTRE_API_BASE_URL: {
386
+ description: "TODO",
387
+ schema: httpUrlSchema("CADASTRE_API_BASE_URL"),
388
+ },
389
+ DP_API_BASE_URL: {
390
+ description: "TODO",
391
+ schema: httpUrlSchema("DP_API_BASE_URL"),
392
+ },
393
+ DPE_API_BASE_URL: {
394
+ description: "TODO",
395
+ schema: httpUrlSchema("DPE_API_BASE_URL"),
396
+ },
397
+ IP_INFO_BASE_URL: {
398
+ description: "TODO",
399
+ schema: httpUrlSchema("IP_INFO_BASE_URL"),
400
+ },
401
+ IP_INFO_TOKEN: {
402
+ description: "TODO",
403
+ schema: z.string(),
404
+ secret: true, // ⚠️ inferred as secret
405
+ },
406
+ IP_INFO_LOGIN: {
407
+ description: "TODO",
408
+ schema: z.email(),
409
+ },
410
+ IP_INFO_PASSWORD: {
411
+ description: "TODO",
412
+ schema: z.string(),
413
+ secret: true, // ⚠️ inferred as secret
414
+ },
415
+ STRIPE_SECRET_KEY: {
416
+ description: "TODO",
417
+ schema: z.string(),
418
+ secret: true, // ⚠️ inferred as secret
419
+ },
420
+ STRIPE_WEBHOOK_SECRET: {
421
+ description: "TODO",
422
+ schema: z.string(),
423
+ secret: true, // ⚠️ inferred as secret
424
+ },
425
+ STRIPE_TAX_RATE_20_EXCL_ID: {
426
+ description: "TODO",
427
+ schema: z.string(),
428
+ },
429
+ });
@@ -0,0 +1,9 @@
1
+ import { z } from "zod";
2
+ export declare const looksLikeValidBoolean: (value: string) => boolean;
3
+ /**
4
+ * Creates a Zod schema for a boolean value.
5
+ * @param name - The name of the boolean value.
6
+ * @returns A Zod schema for a boolean value.
7
+ */
8
+ export declare const boolSchema: (name: string) => z.ZodType<boolean>;
9
+ //# sourceMappingURL=bool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bool.d.ts","sourceRoot":"","sources":["../../src/schemas/bool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,eAAO,MAAM,qBAAqB,GAAI,OAAO,MAAM,YAElD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,UAAU,GAAI,MAAM,MAAM,KAAG,CAAC,CAAC,OAAO,CAAC,OAAO,CAO1D,CAAC"}
@@ -0,0 +1,22 @@
1
+ import { z } from "zod";
2
+ const TRUE_VALUES = ["true", "1", "yes", "y"];
3
+ const FALSE_VALUES = ["false", "0", "no", "n"];
4
+ const LOOKS_LIKE_BOOLEAN_VALUES = [...TRUE_VALUES, ...FALSE_VALUES];
5
+ export const looksLikeValidBoolean = (value) => {
6
+ return LOOKS_LIKE_BOOLEAN_VALUES.includes(value.trim().toLowerCase());
7
+ };
8
+ /**
9
+ * Creates a Zod schema for a boolean value.
10
+ * @param name - The name of the boolean value.
11
+ * @returns A Zod schema for a boolean value.
12
+ */
13
+ export const boolSchema = (name) => {
14
+ return z.string().transform((v) => {
15
+ const normalized = v.trim().toLowerCase();
16
+ if (TRUE_VALUES.includes(normalized))
17
+ return true;
18
+ if (FALSE_VALUES.includes(normalized))
19
+ return false;
20
+ throw new Error(`${name} has invalid value: "${v}"`);
21
+ });
22
+ };
@@ -0,0 +1,9 @@
1
+ import { z } from "zod";
2
+ export declare const looksLikeValidBoolean: (value: string) => boolean;
3
+ /**
4
+ * Creates a Zod schema for a boolean value.
5
+ * @param name - The name of the boolean value.
6
+ * @returns A Zod schema for a boolean value.
7
+ */
8
+ export declare const boolSchema: (name: string) => z.ZodType<boolean>;
9
+ //# sourceMappingURL=boolean.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"boolean.d.ts","sourceRoot":"","sources":["../../src/schemas/boolean.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,eAAO,MAAM,qBAAqB,GAAI,OAAO,MAAM,YAElD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,UAAU,GAAI,MAAM,MAAM,KAAG,CAAC,CAAC,OAAO,CAAC,OAAO,CAQ1D,CAAC"}
@@ -0,0 +1,23 @@
1
+ import { z } from "zod";
2
+ const TRUE_VALUES = ["true", "1", "yes", "y"];
3
+ const FALSE_VALUES = ["false", "0", "no", "n"];
4
+ const LOOKS_LIKE_BOOLEAN_VALUES = [...TRUE_VALUES, ...FALSE_VALUES];
5
+ export const looksLikeValidBoolean = (value) => {
6
+ return LOOKS_LIKE_BOOLEAN_VALUES.includes(value.trim().toLowerCase());
7
+ };
8
+ /**
9
+ * Creates a Zod schema for a boolean value.
10
+ * @param name - The name of the boolean value.
11
+ * @returns A Zod schema for a boolean value.
12
+ */
13
+ export const boolSchema = (name) => {
14
+ return z.string().transform((v, ctx) => {
15
+ const normalized = v.trim().toLowerCase();
16
+ if (TRUE_VALUES.includes(normalized))
17
+ return true;
18
+ if (FALSE_VALUES.includes(normalized))
19
+ return false;
20
+ ctx.addIssue({ code: "custom", message: `${name} has invalid value: "${v}"` });
21
+ return z.NEVER;
22
+ });
23
+ };
@@ -0,0 +1,21 @@
1
+ import { z } from "zod";
2
+ export declare const looksLikeIp: (value: string) => boolean;
3
+ /**
4
+ * Creates a Zod schema for a IP address. (simple V4 address: 0.0.0.0 or V6 address: 0000:0000:0000:0000:0000:0000:0000:0000).
5
+ * compressed ip addresses like ::ffff:192.0.2.1 are not supported.
6
+ * @param name - The name of the environment variable.
7
+ * @returns A Zod schema for a IP address.
8
+ */
9
+ export declare const ipSchema: (name: string) => z.ZodType<string>;
10
+ export declare const looksLikeVersion: (value: string) => boolean;
11
+ /**
12
+ * Creates a Zod schema for a version. Only semver 1.2.3 are supported.
13
+ * suffixes (like -beta, -rc, etc.) are not supported
14
+ * 2 parts versions (like 2.0, 3.0, etc.) are not supported
15
+ * 4 parts versions (like 1.2.3.4, 1.2.3.4.5, etc.) are not supported
16
+ * v prefix (like v1.2.3, v2.0, v3.0, etc.) are not supported
17
+ * @param name - The name of the environment variable.
18
+ * @returns A Zod schema for a version.
19
+ */
20
+ export declare const versionSchema: (name: string) => z.ZodType<string>;
21
+ //# sourceMappingURL=dotted.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dotted.d.ts","sourceRoot":"","sources":["../../src/schemas/dotted.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,WAAW,GAAI,OAAO,MAAM,YAExC,CAAC;AACF;;;;;GAKG;AACH,eAAO,MAAM,QAAQ,GAAI,MAAM,MAAM,KAAG,CAAC,CAAC,OAAO,CAAC,MAAM,CAQvD,CAAC;AAIF,eAAO,MAAM,gBAAgB,GAAI,OAAO,MAAM,YAE7C,CAAC;AAIF;;;;;;;;GAQG;AACH,eAAO,MAAM,aAAa,GAAI,MAAM,MAAM,KAAG,CAAC,CAAC,OAAO,CAAC,MAAM,CAQ5D,CAAC"}
@@ -0,0 +1,45 @@
1
+ import { z } from "zod";
2
+ const ipV4Regex = /^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/;
3
+ const ipV6Regex = /^([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}$/;
4
+ export const looksLikeIp = (value) => {
5
+ return ipV4Regex.test(value) || ipV6Regex.test(value);
6
+ };
7
+ /**
8
+ * Creates a Zod schema for a IP address. (simple V4 address: 0.0.0.0 or V6 address: 0000:0000:0000:0000:0000:0000:0000:0000).
9
+ * compressed ip addresses like ::ffff:192.0.2.1 are not supported.
10
+ * @param name - The name of the environment variable.
11
+ * @returns A Zod schema for a IP address.
12
+ */
13
+ export const ipSchema = (name) => {
14
+ return z.string().transform((v, ctx) => {
15
+ if (!looksLikeIp(v)) {
16
+ ctx.addIssue({ code: "custom", message: `${name} has invalid IP value: "${v}"` });
17
+ return z.NEVER;
18
+ }
19
+ return v;
20
+ });
21
+ };
22
+ /** semver 1.2.3 let it be simple ! no suffixes like -beta, -rc, etc.*/
23
+ const VERSION_REGEX = /^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$/;
24
+ export const looksLikeVersion = (value) => {
25
+ return VERSION_REGEX.test(value);
26
+ };
27
+ // Note : NEVER add 2 parts version (2.0), it will conflict with numberRules (numberSchema)
28
+ /**
29
+ * Creates a Zod schema for a version. Only semver 1.2.3 are supported.
30
+ * suffixes (like -beta, -rc, etc.) are not supported
31
+ * 2 parts versions (like 2.0, 3.0, etc.) are not supported
32
+ * 4 parts versions (like 1.2.3.4, 1.2.3.4.5, etc.) are not supported
33
+ * v prefix (like v1.2.3, v2.0, v3.0, etc.) are not supported
34
+ * @param name - The name of the environment variable.
35
+ * @returns A Zod schema for a version.
36
+ */
37
+ export const versionSchema = (name) => {
38
+ return z.string().transform((v, ctx) => {
39
+ if (!looksLikeVersion(v)) {
40
+ ctx.addIssue({ code: "custom", message: `${name} has invalid versionvalue: "${v}"` });
41
+ return z.NEVER;
42
+ }
43
+ return v;
44
+ });
45
+ };
@@ -0,0 +1,11 @@
1
+ import { z } from "zod";
2
+ export declare const looksLikeValidDuration: (value: string) => boolean;
3
+ /**
4
+ * Creates a Zod schema for a duration (e.g. 500ms, 5s, 2m). \
5
+ * Negative values are not supported. \
6
+ * Unit is mandatory and must be one of the following: ms, s, m, h, d, w, M, y.
7
+ * @param name - The name of the duration.
8
+ * @returns A Zod schema for a duration.
9
+ */
10
+ export declare const durationSchema: (name: string) => z.ZodType<number>;
11
+ //# sourceMappingURL=duration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"duration.d.ts","sourceRoot":"","sources":["../../src/schemas/duration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAkBxB,eAAO,MAAM,sBAAsB,GAAI,OAAO,MAAM,YAAsC,CAAC;AAE3F;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,GAAI,MAAM,MAAM,KAAG,CAAC,CAAC,OAAO,CAAC,MAAM,CAwBxD,CAAC"}
@@ -0,0 +1,44 @@
1
+ import { z } from "zod";
2
+ const durationSuffixes = ["ms", "s", "m", "h", "d", "w", "M", "y"];
3
+ const durationSuffixesMap = {
4
+ ms: 1,
5
+ s: 1000,
6
+ m: 60 * 1000,
7
+ h: 60 * 60 * 1000,
8
+ d: 24 * 60 * 60 * 1000,
9
+ w: 7 * 24 * 60 * 60 * 1000,
10
+ M: 30 * 24 * 60 * 60 * 1000,
11
+ y: 365 * 24 * 60 * 60 * 1000,
12
+ };
13
+ const DURATION_REGEX_STRICT = /^(\d+)(ms|s|m|h|d|w|M|y)$/;
14
+ const MAX_DURATION = 10 * durationSuffixesMap.y; // 10y
15
+ export const looksLikeValidDuration = (value) => DURATION_REGEX_STRICT.test(value);
16
+ /**
17
+ * Creates a Zod schema for a duration (e.g. 500ms, 5s, 2m). \
18
+ * Negative values are not supported. \
19
+ * Unit is mandatory and must be one of the following: ms, s, m, h, d, w, M, y.
20
+ * @param name - The name of the duration.
21
+ * @returns A Zod schema for a duration.
22
+ */
23
+ export const durationSchema = (name) => z.string().transform((v, ctx) => {
24
+ const match = v.match(DURATION_REGEX_STRICT);
25
+ if (!match) {
26
+ ctx.addIssue({
27
+ code: "custom",
28
+ message: `${name} must be a valid duration (e.g. 500ms, 5s, 2m)`,
29
+ });
30
+ return z.NEVER;
31
+ }
32
+ const value = Number(match[1]);
33
+ const suffix = match[2];
34
+ const result = value * durationSuffixesMap[suffix];
35
+ // prevent from 999999999999y
36
+ if (!Number.isSafeInteger(result) || result < 0 || result > MAX_DURATION) {
37
+ ctx.addIssue({
38
+ code: "custom",
39
+ message: `${name} must be a valid duration (e.g. 500ms, 5s, 2m)`,
40
+ });
41
+ return z.NEVER;
42
+ }
43
+ return result;
44
+ });
@@ -0,0 +1,9 @@
1
+ export * from "./list.js";
2
+ export * from "./port.js";
3
+ export * from "./path.js";
4
+ export * from "./duration.js";
5
+ export * from "./boolean.js";
6
+ export * from "./json.js";
7
+ export * from "./dotted.js";
8
+ export * from "./urls.js";
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC"}
@@ -0,0 +1,8 @@
1
+ export * from "./list.js";
2
+ export * from "./port.js";
3
+ export * from "./path.js";
4
+ export * from "./duration.js";
5
+ export * from "./boolean.js";
6
+ export * from "./json.js";
7
+ export * from "./dotted.js";
8
+ export * from "./urls.js";
@@ -0,0 +1,12 @@
1
+ import { z } from "zod";
2
+ export declare const looksLikeValidIp: (value: string) => boolean;
3
+ /**
4
+ * Creates a Zod schema for a IP address. (simple V4 address: 0.0.0.0 or V6 address: 0000:0000:0000:0000:0000:0000:0000:0000).
5
+ * compressed ip addresses like ::ffff:192.0.2.1 are not supported.
6
+ * @param name - The name of the environment variable.
7
+ * @returns A Zod schema for a IP address.
8
+ */
9
+ export declare const ipSchema: (name: string) => z.ZodType<string>;
10
+ export declare const looksLikeValidVersion: (value: string) => boolean;
11
+ export declare const versionSchema: (name: string) => z.ZodType<string>;
12
+ //# sourceMappingURL=ip-and-version.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ip-and-version.d.ts","sourceRoot":"","sources":["../../src/schemas/ip-and-version.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,gBAAgB,GAAI,OAAO,MAAM,YAE7C,CAAC;AACF;;;;;GAKG;AACH,eAAO,MAAM,QAAQ,GAAI,MAAM,MAAM,KAAG,CAAC,CAAC,OAAO,CAAC,MAAM,CAQvD,CAAC;AAIF,eAAO,MAAM,qBAAqB,GAAI,OAAO,MAAM,YAElD,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,MAAM,MAAM,KAAG,CAAC,CAAC,OAAO,CAAC,MAAM,CAQ5D,CAAC"}