@vite-env/core 0.2.2 → 0.4.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 (47) hide show
  1. package/README.md +3 -1
  2. package/dist/config.cjs +1 -1
  3. package/dist/config.d.cts +1 -1
  4. package/dist/config.d.mts +1 -1
  5. package/dist/dts-BgHTl6hC.cjs +114 -0
  6. package/dist/dts-BgHTl6hC.cjs.map +1 -0
  7. package/dist/dts.cjs +2 -1
  8. package/dist/dts.d.cts +10 -5
  9. package/dist/dts.d.mts +10 -5
  10. package/dist/dts.mjs +31 -23
  11. package/dist/dts.mjs.map +1 -1
  12. package/dist/format.cjs +88 -0
  13. package/dist/format.cjs.map +1 -1
  14. package/dist/format.d.cts +42 -1
  15. package/dist/format.d.mts +42 -1
  16. package/dist/format.mjs +83 -1
  17. package/dist/format.mjs.map +1 -1
  18. package/dist/index.cjs +2 -8
  19. package/dist/index.d.cts +3 -3
  20. package/dist/index.d.mts +3 -3
  21. package/dist/index.mjs +2 -2
  22. package/dist/leak.cjs.map +1 -1
  23. package/dist/leak.d.cts +2 -2
  24. package/dist/leak.d.mts +2 -2
  25. package/dist/leak.mjs.map +1 -1
  26. package/dist/plugin.cjs +131 -17
  27. package/dist/plugin.cjs.map +1 -1
  28. package/dist/plugin.d.cts +22 -0
  29. package/dist/plugin.d.mts +22 -0
  30. package/dist/plugin.mjs +131 -18
  31. package/dist/plugin.mjs.map +1 -1
  32. package/dist/schema.cjs +1 -1
  33. package/dist/schema.d.cts +1 -1
  34. package/dist/schema.d.mts +1 -1
  35. package/dist/standard.cjs +46 -0
  36. package/dist/standard.cjs.map +1 -0
  37. package/dist/standard.d.cts +11 -0
  38. package/dist/standard.d.mts +11 -0
  39. package/dist/standard.mjs +43 -0
  40. package/dist/standard.mjs.map +1 -0
  41. package/dist/types-1okexcwM.d.cts +43 -0
  42. package/dist/types-DuWT_251.d.mts +43 -0
  43. package/package.json +19 -2
  44. package/dist/dts-DF71HNdJ.cjs +0 -100
  45. package/dist/dts-DF71HNdJ.cjs.map +0 -1
  46. package/dist/types-CluiDKAQ.d.mts +0 -22
  47. package/dist/types-DqTMuWwc.d.cts +0 -22
@@ -1,100 +0,0 @@
1
- //#region \0rolldown/runtime.js
2
- var __create = Object.create;
3
- var __defProp = Object.defineProperty;
4
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
- var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
- var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __copyProps = (to, from, except, desc) => {
9
- if (from && typeof from === "object" || typeof from === "function") for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
10
- key = keys[i];
11
- if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
12
- get: ((k) => from[k]).bind(null, key),
13
- enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
14
- });
15
- }
16
- return to;
17
- };
18
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
19
- value: mod,
20
- enumerable: true
21
- }) : target, mod));
22
- //#endregion
23
- let zod = require("zod");
24
- let node_path = require("node:path");
25
- node_path = __toESM(node_path);
26
- let node_fs_promises = require("node:fs/promises");
27
- node_fs_promises = __toESM(node_fs_promises);
28
- //#region src/dts.ts
29
- /**
30
- * Writes vite-env.d.ts to project root.
31
- * Declares virtual:env/client and virtual:env/server module types.
32
- * Users never need to manually augment ImportMetaEnv again.
33
- */
34
- async function generateDts(def, root) {
35
- const clientKeys = { ...def.client };
36
- const serverKeys = {
37
- ...def.server,
38
- ...def.client
39
- };
40
- const dts = `// Auto-generated by @vite-env/core
41
- // Do not edit manually — re-generated on every dev server start and build
42
-
43
- declare module 'virtual:env/client' {
44
- const env: {
45
- ${zodShapeToTsFields(clientKeys)}
46
- }
47
- export { env }
48
- export default env
49
- }
50
-
51
- declare module 'virtual:env/server' {
52
- const env: {
53
- ${zodShapeToTsFields(serverKeys)}
54
- }
55
- export { env }
56
- export default env
57
- }
58
- `;
59
- const filePath = node_path.default.join(root, "vite-env.d.ts");
60
- try {
61
- await node_fs_promises.default.writeFile(filePath, dts, "utf-8");
62
- } catch (e) {
63
- throw new Error(`[vite-env] Failed to write vite-env.d.ts to ${root}. Check file permissions.`, { cause: e });
64
- }
65
- }
66
- function zodShapeToTsFields(shape) {
67
- return Object.entries(shape).map(([key, schema]) => {
68
- const s = schema;
69
- const tsType = zodToTs(s);
70
- return ` readonly ${key}${isOptional(s) ? "?" : ""}: ${tsType}`;
71
- }).join("\n");
72
- }
73
- function zodToTs(schema) {
74
- if (schema instanceof zod.z.ZodOptional) return zodToTs(schema.unwrap());
75
- if (schema instanceof zod.z.ZodDefault) return zodToTs(schema.def.innerType);
76
- if (schema instanceof zod.z.ZodString) return "string";
77
- if (schema instanceof zod.z.ZodNumber) return "number";
78
- if (schema instanceof zod.z.ZodBoolean) return "boolean";
79
- if (schema instanceof zod.z.ZodEnum) return schema.options.map((o) => `'${o}'`).join(" | ");
80
- if (schema instanceof zod.z.ZodPipe) return zodToTs(schema.def.out);
81
- return "string";
82
- }
83
- function isOptional(schema) {
84
- return schema instanceof zod.z.ZodOptional;
85
- }
86
- //#endregion
87
- Object.defineProperty(exports, "__toESM", {
88
- enumerable: true,
89
- get: function() {
90
- return __toESM;
91
- }
92
- });
93
- Object.defineProperty(exports, "generateDts", {
94
- enumerable: true,
95
- get: function() {
96
- return generateDts;
97
- }
98
- });
99
-
100
- //# sourceMappingURL=dts-DF71HNdJ.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dts-DF71HNdJ.cjs","names":["path","fs","z"],"sources":["../src/dts.ts"],"sourcesContent":["// @env node\nimport type { EnvDefinition } from './types'\nimport fs from 'node:fs/promises'\nimport path from 'node:path'\nimport { z } from 'zod'\n\n/**\n * Writes vite-env.d.ts to project root.\n * Declares virtual:env/client and virtual:env/server module types.\n * Users never need to manually augment ImportMetaEnv again.\n */\nexport async function generateDts(\n def: EnvDefinition,\n root: string,\n): Promise<void> {\n const clientKeys = {\n ...def.client,\n }\n const serverKeys = {\n ...def.server,\n ...def.client,\n }\n\n const clientFields = zodShapeToTsFields(clientKeys)\n const serverFields = zodShapeToTsFields(serverKeys)\n\n const dts = `// Auto-generated by @vite-env/core\n// Do not edit manually — re-generated on every dev server start and build\n\ndeclare module 'virtual:env/client' {\n const env: {\n${clientFields}\n }\n export { env }\n export default env\n}\n\ndeclare module 'virtual:env/server' {\n const env: {\n${serverFields}\n }\n export { env }\n export default env\n}\n`\n\n const filePath = path.join(root, 'vite-env.d.ts')\n try {\n await fs.writeFile(filePath, dts, 'utf-8')\n }\n catch (e) {\n throw new Error(\n `[vite-env] Failed to write vite-env.d.ts to ${root}. Check file permissions.`,\n { cause: e },\n )\n }\n}\n\nfunction zodShapeToTsFields(shape: z.ZodRawShape): string {\n return Object.entries(shape)\n .map(([key, schema]) => {\n // Zod v4: ZodRawShape values are $ZodType, cast to ZodTypeAny for instanceof checks\n const s = schema as z.ZodTypeAny\n const tsType = zodToTs(s)\n const optional = isOptional(s)\n return ` readonly ${key}${optional ? '?' : ''}: ${tsType}`\n })\n .join('\\n')\n}\n\nfunction zodToTs(schema: z.ZodTypeAny): string {\n if (schema instanceof z.ZodOptional)\n return zodToTs(schema.unwrap() as unknown as z.ZodTypeAny)\n if (schema instanceof z.ZodDefault)\n return zodToTs(schema.def.innerType as unknown as z.ZodTypeAny)\n if (schema instanceof z.ZodString)\n return 'string'\n if (schema instanceof z.ZodNumber)\n return 'number'\n if (schema instanceof z.ZodBoolean)\n return 'boolean'\n if (schema instanceof z.ZodEnum)\n return (schema.options as string[]).map(o => `'${o}'`).join(' | ')\n if (schema instanceof z.ZodPipe)\n return zodToTs(schema.def.out as unknown as z.ZodTypeAny)\n return 'string'\n}\n\nfunction isOptional(schema: z.ZodTypeAny): boolean {\n return schema instanceof z.ZodOptional\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWA,eAAsB,YACpB,KACA,MACe;CACf,MAAM,aAAa,EACjB,GAAG,IAAI,QACR;CACD,MAAM,aAAa;EACjB,GAAG,IAAI;EACP,GAAG,IAAI;EACR;CAKD,MAAM,MAAM;;;;;EAHS,mBAAmB,WAAW,CAQtC;;;;;;;;EAPQ,mBAAmB,WAAW,CAetC;;;;;;CAOb,MAAM,WAAWA,UAAAA,QAAK,KAAK,MAAM,gBAAgB;AACjD,KAAI;AACF,QAAMC,iBAAAA,QAAG,UAAU,UAAU,KAAK,QAAQ;UAErC,GAAG;AACR,QAAM,IAAI,MACR,+CAA+C,KAAK,4BACpD,EAAE,OAAO,GAAG,CACb;;;AAIL,SAAS,mBAAmB,OAA8B;AACxD,QAAO,OAAO,QAAQ,MAAM,CACzB,KAAK,CAAC,KAAK,YAAY;EAEtB,MAAM,IAAI;EACV,MAAM,SAAS,QAAQ,EAAE;AAEzB,SAAO,gBAAgB,MADN,WAAW,EAAE,GACU,MAAM,GAAG,IAAI;GACrD,CACD,KAAK,KAAK;;AAGf,SAAS,QAAQ,QAA8B;AAC7C,KAAI,kBAAkBC,IAAAA,EAAE,YACtB,QAAO,QAAQ,OAAO,QAAQ,CAA4B;AAC5D,KAAI,kBAAkBA,IAAAA,EAAE,WACtB,QAAO,QAAQ,OAAO,IAAI,UAAqC;AACjE,KAAI,kBAAkBA,IAAAA,EAAE,UACtB,QAAO;AACT,KAAI,kBAAkBA,IAAAA,EAAE,UACtB,QAAO;AACT,KAAI,kBAAkBA,IAAAA,EAAE,WACtB,QAAO;AACT,KAAI,kBAAkBA,IAAAA,EAAE,QACtB,QAAQ,OAAO,QAAqB,KAAI,MAAK,IAAI,EAAE,GAAG,CAAC,KAAK,MAAM;AACpE,KAAI,kBAAkBA,IAAAA,EAAE,QACtB,QAAO,QAAQ,OAAO,IAAI,IAA+B;AAC3D,QAAO;;AAGT,SAAS,WAAW,QAA+B;AACjD,QAAO,kBAAkBA,IAAAA,EAAE"}
@@ -1,22 +0,0 @@
1
- import { z } from "zod";
2
-
3
- //#region src/types.d.ts
4
- interface EnvDefinition {
5
- server?: z.ZodRawShape;
6
- client?: z.ZodRawShape;
7
- }
8
- type ValidationResult = {
9
- success: true;
10
- data: Record<string, unknown>;
11
- errors: [];
12
- } | {
13
- success: false;
14
- data: null;
15
- errors: z.core.$ZodIssue[];
16
- };
17
- type OrEmptyShape<T> = T extends z.ZodRawShape ? T : Record<string, never>;
18
- type InferClientEnv<T extends EnvDefinition> = z.infer<z.ZodObject<OrEmptyShape<T['client']>>>;
19
- type InferServerEnv<T extends EnvDefinition> = z.infer<z.ZodObject<OrEmptyShape<T['server']> & OrEmptyShape<T['client']>>>;
20
- //#endregion
21
- export { ValidationResult as i, InferClientEnv as n, InferServerEnv as r, EnvDefinition as t };
22
- //# sourceMappingURL=types-CluiDKAQ.d.mts.map
@@ -1,22 +0,0 @@
1
- import { z } from "zod";
2
-
3
- //#region src/types.d.ts
4
- interface EnvDefinition {
5
- server?: z.ZodRawShape;
6
- client?: z.ZodRawShape;
7
- }
8
- type ValidationResult = {
9
- success: true;
10
- data: Record<string, unknown>;
11
- errors: [];
12
- } | {
13
- success: false;
14
- data: null;
15
- errors: z.core.$ZodIssue[];
16
- };
17
- type OrEmptyShape<T> = T extends z.ZodRawShape ? T : Record<string, never>;
18
- type InferClientEnv<T extends EnvDefinition> = z.infer<z.ZodObject<OrEmptyShape<T['client']>>>;
19
- type InferServerEnv<T extends EnvDefinition> = z.infer<z.ZodObject<OrEmptyShape<T['server']> & OrEmptyShape<T['client']>>>;
20
- //#endregion
21
- export { ValidationResult as i, InferClientEnv as n, InferServerEnv as r, EnvDefinition as t };
22
- //# sourceMappingURL=types-DqTMuWwc.d.cts.map