@conorroberts/utils 0.0.5 → 0.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/env.d.ts +2 -2
- package/dist/env.js +4 -1
- package/dist/env.js.map +1 -1
- package/package.json +2 -2
package/dist/env.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import
|
|
1
|
+
import * as v from 'valibot';
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* Validates your environment variables against the given Valibot schema;
|
|
5
5
|
* @param args
|
|
6
6
|
* @returns An object containing client environment variables and another containing server environment variables
|
|
7
7
|
*/
|
|
8
|
-
declare const createEnv: <Schema extends Record<string,
|
|
8
|
+
declare const createEnv: <Schema extends Record<string, v.GenericSchema>, Env = { [K in keyof Schema]: v.InferOutput<Schema[K]>; }>(args: {
|
|
9
9
|
schema: Schema;
|
|
10
10
|
env: any;
|
|
11
11
|
}) => {
|
package/dist/env.js
CHANGED
|
@@ -19,7 +19,10 @@ var createEnv = (args) => {
|
|
|
19
19
|
(pairs2) => pairs2.filter(([k]) => k.startsWith(PUBLIC_ENV_PREFIX)),
|
|
20
20
|
(pairs2) => Object.fromEntries(pairs2)
|
|
21
21
|
);
|
|
22
|
-
return {
|
|
22
|
+
return {
|
|
23
|
+
client: clientEnv,
|
|
24
|
+
server: Object.fromEntries(serverEnv.entries())
|
|
25
|
+
};
|
|
23
26
|
};
|
|
24
27
|
export {
|
|
25
28
|
createEnv
|
package/dist/env.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/env.ts"],"sourcesContent":["import { pipe } from \"remeda\";\r\nimport
|
|
1
|
+
{"version":3,"sources":["../src/env.ts"],"sourcesContent":["import { pipe } from \"remeda\";\r\nimport * as v from \"valibot\";\r\n\r\nconst PUBLIC_ENV_PREFIX = \"PUBLIC_\" as const;\r\n\r\n/**\r\n * Validates your environment variables against the given Valibot schema;\r\n * @param args\r\n * @returns An object containing client environment variables and another containing server environment variables\r\n */\r\nexport const createEnv = <\r\n Schema extends Record<string, v.GenericSchema>,\r\n Env = {\r\n [K in keyof Schema]: v.InferOutput<Schema[K]>;\r\n }\r\n>(args: {\r\n schema: Schema;\r\n env: any;\r\n}) => {\r\n const pairs = Object.entries(args.schema);\r\n const serverEnv = new Map();\r\n\r\n for (const [key, value] of pairs) {\r\n const result = v.safeParse(value, args.env[key] ?? null);\r\n\r\n if (!result.success) {\r\n console.error(`Environment variable \"${key}\" is invalid`);\r\n process.exit(1);\r\n }\r\n\r\n serverEnv.set(key, result.output);\r\n }\r\n\r\n type ClientEnvKeys = Exclude<\r\n {\r\n [K in keyof Env]: K extends `${typeof PUBLIC_ENV_PREFIX}${string}`\r\n ? K\r\n : never;\r\n }[keyof Env],\r\n undefined\r\n >;\r\n\r\n type ClientEnv = {\r\n [B in ClientEnvKeys]: Env[B];\r\n };\r\n\r\n const clientEnv = pipe(\r\n serverEnv,\r\n (obj) => Array.from(obj.entries()),\r\n (pairs) => pairs.filter(([k]) => k.startsWith(PUBLIC_ENV_PREFIX)),\r\n (pairs) => Object.fromEntries(pairs)\r\n ) as ClientEnv;\r\n\r\n return {\r\n client: clientEnv,\r\n server: Object.fromEntries(serverEnv.entries()) as Env,\r\n };\r\n};\r\n"],"mappings":";AAAA,SAAS,YAAY;AACrB,YAAY,OAAO;AAEnB,IAAM,oBAAoB;AAOnB,IAAM,YAAY,CAKvB,SAGI;AACJ,QAAM,QAAQ,OAAO,QAAQ,KAAK,MAAM;AACxC,QAAM,YAAY,oBAAI,IAAI;AAE1B,aAAW,CAAC,KAAK,KAAK,KAAK,OAAO;AAChC,UAAM,SAAW,YAAU,OAAO,KAAK,IAAI,GAAG,KAAK,IAAI;AAEvD,QAAI,CAAC,OAAO,SAAS;AACnB,cAAQ,MAAM,yBAAyB,GAAG,cAAc;AACxD,cAAQ,KAAK,CAAC;AAAA,IAChB;AAEA,cAAU,IAAI,KAAK,OAAO,MAAM;AAAA,EAClC;AAeA,QAAM,YAAY;AAAA,IAChB;AAAA,IACA,CAAC,QAAQ,MAAM,KAAK,IAAI,QAAQ,CAAC;AAAA,IACjC,CAACA,WAAUA,OAAM,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,WAAW,iBAAiB,CAAC;AAAA,IAChE,CAACA,WAAU,OAAO,YAAYA,MAAK;AAAA,EACrC;AAEA,SAAO;AAAA,IACL,QAAQ;AAAA,IACR,QAAQ,OAAO,YAAY,UAAU,QAAQ,CAAC;AAAA,EAChD;AACF;","names":["pairs"]}
|
package/package.json
CHANGED
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
"pino-pretty": "^10.3.1",
|
|
45
45
|
"remeda": "^2.0.10",
|
|
46
46
|
"unstorage": "^1.10.2",
|
|
47
|
-
"valibot": "0.
|
|
47
|
+
"valibot": "0.35.0"
|
|
48
48
|
},
|
|
49
49
|
"keywords": [],
|
|
50
50
|
"author": "",
|
|
@@ -54,7 +54,7 @@
|
|
|
54
54
|
"tsup": "^8.0.1",
|
|
55
55
|
"typescript": "^5.4.5"
|
|
56
56
|
},
|
|
57
|
-
"version": "0.0.
|
|
57
|
+
"version": "0.0.7",
|
|
58
58
|
"scripts": {
|
|
59
59
|
"dev": "tsup --watch",
|
|
60
60
|
"build": "tsc --noEmit && tsup",
|