zod-compiler 1.0.0 → 1.0.2

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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/unplugin/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AA8B3D,eAAO,MAAM,QAAQ,oFA2DpB,CAAC;AAEF,YAAY,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/unplugin/index.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAiC3D,eAAO,MAAM,QAAQ,oFA4FpB,CAAC;AAEF,YAAY,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC"}
@@ -1,4 +1,6 @@
1
+ import process from "node:process";
1
2
  import { createUnplugin } from "unplugin";
3
+ import { invalidateModuleCache } from "#src/loader.js";
2
4
  import { log, shouldTransform, transformCode } from "./transform.js";
3
5
  import { BuildStatsAccumulator } from "./types.js";
4
6
  import { loadVirtual, RESOLVED_RUNTIME_ID, resolveVirtualId, VIRTUAL_RUNTIME_ID, WP_RUNTIME_ID, } from "./virtual.js";
@@ -20,15 +22,30 @@ const VIRTUAL_MODULE_FRAMEWORKS = new Set([
20
22
  ]);
21
23
  /** Frameworks that need the bare-specifier runtime ID instead of `virtual:`. */
22
24
  const WP_FRAMEWORKS = new Set(["rspack", "webpack"]);
25
+ /** File extensions whose changes can affect a schema module graph. */
26
+ const SOURCE_LIKE = /\.([cm]?[jt]sx?|json)$/;
23
27
  export const unplugin = createUnplugin((options, meta) => {
24
28
  const stats = new BuildStatsAccumulator();
29
+ // Transform results keyed by id, validated by content: bundlers re-run
30
+ // transform for the same file (multiple environments, watch rebuilds) —
31
+ // identical content returns the cached result, changed content recomputes.
25
32
  const cache = new Map();
26
33
  const verbose = options?.verbose === true;
27
34
  const mode = VIRTUAL_MODULE_FRAMEWORKS.has(meta.framework) ? "lean" : "inline";
28
35
  const runtimeId = WP_FRAMEWORKS.has(meta.framework) ? WP_RUNTIME_ID : VIRTUAL_RUNTIME_ID;
36
+ // Vite only (other bundlers ignore the field): when the plugin runs.
37
+ // The default compiles production builds AND test runs — tests should
38
+ // exercise (and benefit from) the validators that ship — while plain dev
39
+ // servers skip AOT cost and use the Zod fallback. Vitest runs Vite in
40
+ // serve mode but is detectable via the VITEST env var / "test" mode.
41
+ const viteApply = options?.apply === "all"
42
+ ? undefined
43
+ : (options?.apply ??
44
+ ((_config, env) => env.command === "build" || env.mode === "test" || process.env["VITEST"] !== undefined));
29
45
  return {
30
46
  name: "zod-compiler",
31
47
  enforce: "pre",
48
+ vite: viteApply === undefined ? {} : { apply: viteApply },
32
49
  resolveId(id) {
33
50
  return resolveVirtualId(id);
34
51
  },
@@ -43,23 +60,41 @@ export const unplugin = createUnplugin((options, meta) => {
43
60
  },
44
61
  async transform(code, id) {
45
62
  const cached = cache.get(id);
46
- if (cached)
47
- return { code: cached, map: null };
63
+ if (cached && cached.code === code) {
64
+ return cached.result === null ? undefined : { code: cached.result, map: null };
65
+ }
66
+ if (cached) {
67
+ // Content changed but no watchChange fired (bundlers without the
68
+ // hook): drop stale module executions before re-discovering.
69
+ invalidateModuleCache();
70
+ }
48
71
  const result = await transformCode(code, id, {
49
72
  mode,
50
73
  runtimeId,
51
74
  verbose,
52
75
  zodCompat: options?.zodCompat,
53
76
  autoDiscover: options?.autoDiscover,
77
+ hoist: options?.hoist,
54
78
  onBuildStats(s) {
55
79
  stats.add(s);
56
80
  },
57
81
  });
82
+ cache.set(id, { code, result });
58
83
  if (!result)
59
84
  return;
60
- cache.set(id, result);
61
85
  return { code: result, map: null };
62
86
  },
87
+ watchChange(id) {
88
+ if (!SOURCE_LIKE.test(id))
89
+ return;
90
+ if (id.includes("node_modules"))
91
+ return;
92
+ // The changed file may be a dependency of any schema file, so both
93
+ // the module cache (executions) and the transform result cache are
94
+ // invalidated wholesale. node_modules stay warm in the loader.
95
+ invalidateModuleCache();
96
+ cache.clear();
97
+ },
63
98
  buildEnd() {
64
99
  if (!verbose)
65
100
  return;
@@ -68,7 +103,6 @@ export const unplugin = createUnplugin((options, meta) => {
68
103
  log(`Build summary: ${stats.optimized}/${stats.schemas} schemas optimized across ${stats.files} file(s)` +
69
104
  (stats.failed > 0 ? `, ${stats.failed} failed` : ""));
70
105
  stats.reset();
71
- cache.clear();
72
106
  },
73
107
  };
74
108
  });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/unplugin/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/unplugin/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"transform.d.ts","sourceRoot":"","sources":["../../src/unplugin/transform.ts"],"names":[],"mappings":"AAUA,OAAO,EAEL,KAAK,kBAAkB,EAExB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,KAAK,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAM7E;;GAEG;AACH,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,wBAAwB,GAAG,OAAO,CAevF;AAED,wBAAgB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAGrC;AAOD;;;GAGG;AACH,wBAAsB,aAAa,CACjC,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAkHxB;AA8DD;;GAEG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,kBAAkB,EAAE,EAC7B,OAAO,CAAC,EAAE;IAAE,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;CAAE,GAC5C,MAAM,CA2BR;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAUrE;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,kBAAkB,EAAE,EAC7B,OAAO,CAAC,EAAE;IAAE,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;CAAE,GAC5C,MAAM,CAuBR;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAaxD"}
1
+ {"version":3,"file":"transform.d.ts","sourceRoot":"","sources":["../../src/unplugin/transform.ts"],"names":[],"mappings":"AAUA,OAAO,EAEL,KAAK,kBAAkB,EAExB,MAAM,uBAAuB,CAAC;AAK/B,OAAO,KAAK,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAM7E;;GAEG;AACH,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,wBAAwB,GAAG,OAAO,CAevF;AAED,wBAAgB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAGrC;AAOD;;;GAGG;AACH,wBAAsB,aAAa,CACjC,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CA2IxB;AA8DD;;GAEG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,kBAAkB,EAAE,EAC7B,OAAO,CAAC,EAAE;IAAE,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;CAAE,GAC5C,MAAM,CA2BR;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAUrE;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,kBAAkB,EAAE,EAC7B,OAAO,CAAC,EAAE;IAAE,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;CAAE,GAC5C,MAAM,CAuBR;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAaxD"}
@@ -3,6 +3,8 @@ import picomatch from "picomatch";
3
3
  import { FIN_DECL, generateIIFE, MK_VALIDATOR_DECL, ZOD_CONFIG_IMPORT, ZOD_MSG_DECLARATION, } from "#src/core/iife.js";
4
4
  import { aggregateUsedHelpers, compileSchemas, } from "#src/core/pipeline.js";
5
5
  import { discoverSchemas } from "#src/discovery.js";
6
+ import { mayExportSchemas } from "#src/static-filter.js";
7
+ import { hoistZodSchemas } from "./hoist.js";
6
8
  import { VIRTUAL_RUNTIME_ID } from "./virtual.js";
7
9
  /** Matches a runtime (non-type-only) import from "zod". */
8
10
  const HAS_RUNTIME_ZOD_IMPORT = /import\s+(?!type\s)[^;]*from\s+["']zod["']/;
@@ -41,12 +43,28 @@ export async function transformCode(code, id, options) {
41
43
  const verbose = options.verbose === true;
42
44
  const autoDiscover = options.autoDiscover === true;
43
45
  const mode = options.mode;
46
+ // Hoist Zod schema construction out of function bodies to module scope
47
+ // (babel-plugin-zod-hoist equivalent). Mode-independent: inline schemas
48
+ // live exactly in the files that export none.
49
+ let working = code;
50
+ if (options.hoist !== false &&
51
+ (HAS_RUNTIME_ZOD_IMPORT.test(code) || code.includes("ZodSchema"))) {
52
+ const hoisted = hoistZodSchemas(code);
53
+ if (hoisted !== null) {
54
+ working = hoisted;
55
+ if (verbose) {
56
+ log(`Hoisted inline Zod schemas in ${id}`);
57
+ }
58
+ }
59
+ }
60
+ // When only hoisting changed the file, that is still a transform result.
61
+ const fallback = working === code ? null : working;
44
62
  // Quick bail-out check
45
63
  if (autoDiscover) {
46
64
  // autoDiscover: any file with a runtime Zod import is a candidate.
47
65
  // Skip `import type` — these files have no runtime schemas.
48
- if (!HAS_RUNTIME_ZOD_IMPORT.test(code))
49
- return null;
66
+ if (!HAS_RUNTIME_ZOD_IMPORT.test(working))
67
+ return fallback;
50
68
  }
51
69
  else {
52
70
  // Legacy mode: require compile() from zod-compiler. The word-boundary
@@ -54,13 +72,19 @@ export async function transformCode(code, id, options) {
54
72
  // "compile", so a plain includes("compile") would match every import of
55
73
  // "zod-compiler" — \bcompile\b does not match inside "zod-compiler"
56
74
  // (no boundary between "e" and "r") but matches compile( / { compile }.
57
- if (!code.includes("zod-compiler") || !/\bcompile\b/.test(code))
58
- return null;
75
+ if (!working.includes("zod-compiler") || !/\bcompile\b/.test(working))
76
+ return fallback;
59
77
  }
60
- // Discover schemas by executing the file (with cache busting for HMR)
78
+ // Static pre-filter: skip files whose exports provably cannot be schemas
79
+ // (functions, components, constants, type-only modules) without executing
80
+ // them. Conservative — anything ambiguous stays a candidate.
81
+ if (!(await mayExportSchemas(working, id)))
82
+ return fallback;
83
+ // Discover schemas by executing the file. Module executions are cached in
84
+ // the shared loader; watch/HMR changes invalidate via invalidateModuleCache().
61
85
  let schemas;
62
86
  try {
63
- schemas = await discoverSchemas(id, { cacheBust: true, autoDiscover });
87
+ schemas = await discoverSchemas(id, { autoDiscover });
64
88
  }
65
89
  catch (e) {
66
90
  const msg = e instanceof Error ? e.message : String(e);
@@ -70,12 +94,12 @@ export async function transformCode(code, id, options) {
70
94
  if (verbose) {
71
95
  warn(`Skipping ${id}: ${msg}`);
72
96
  }
73
- return null;
97
+ return fallback;
74
98
  }
75
99
  throw new Error(`[zod-compiler] Failed to load schemas from ${id}: ${msg}`);
76
100
  }
77
101
  if (schemas.length === 0)
78
- return null;
102
+ return fallback;
79
103
  // Lean mode (Vite/Rollup/etc.) uses virtual:zod-compiler/runtime imports for cross-file dedup.
80
104
  // Inline mode (webpack/rspack) emits self-contained file-level helpers.
81
105
  let failedCount = 0;
@@ -100,7 +124,7 @@ export async function transformCode(code, id, options) {
100
124
  }
101
125
  }
102
126
  if (compiled.length === 0)
103
- return null;
127
+ return fallback;
104
128
  // Report build stats only when at least one schema was compiled
105
129
  options.onBuildStats?.({
106
130
  files: 1,
@@ -118,13 +142,13 @@ export async function transformCode(code, id, options) {
118
142
  const compileExportNames = new Set();
119
143
  for (const s of compiled) {
120
144
  const pattern = new RegExp(`\\b${s.exportName}\\s*=\\s*compile[\\s<(]`);
121
- if (pattern.test(code)) {
145
+ if (pattern.test(working)) {
122
146
  compileExportNames.add(s.exportName);
123
147
  }
124
148
  }
125
149
  const compileSchemaInfos = compiled.filter((s) => compileExportNames.has(s.exportName));
126
150
  const autoDiscoverSchemaInfos = compiled.filter((s) => !compileExportNames.has(s.exportName));
127
- let result = code;
151
+ let result = working;
128
152
  // Pass 1: rewrite compile() schemas with existing function
129
153
  if (compileSchemaInfos.length > 0) {
130
154
  result = rewriteSource(result, compileSchemaInfos, { zodCompat: options.zodCompat });
@@ -137,7 +161,7 @@ export async function transformCode(code, id, options) {
137
161
  }
138
162
  return injectRuntime(result, usedHelpers, mode, options.runtimeId);
139
163
  }
140
- return injectRuntime(rewriteSource(code, compiled, { zodCompat: options.zodCompat }), usedHelpers, mode, options.runtimeId);
164
+ return injectRuntime(rewriteSource(working, compiled, { zodCompat: options.zodCompat }), usedHelpers, mode, options.runtimeId);
141
165
  }
142
166
  /**
143
167
  * Prepend the runtime helpers required by the rewritten source.
@@ -1 +1 @@
1
- {"version":3,"file":"transform.js","sourceRoot":"","sources":["../../src/unplugin/transform.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transform.js","sourceRoot":"","sources":["../../src/unplugin/transform.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,SAAS,MAAM,WAAW,CAAC;AAElC,OAAO,EACL,QAAQ,EACR,YAAY,EACZ,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,oBAAoB,EAEpB,cAAc,GACf,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAElD,2DAA2D;AAC3D,MAAM,sBAAsB,GAAG,4CAA4C,CAAC;AAE5E;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,EAAU,EAAE,OAAkC;IAC5E,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;QAAE,OAAO,KAAK,CAAC;IAC9C,IAAI,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;QAAE,OAAO,KAAK,CAAC;IAC9C,IAAI,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC;QAAE,OAAO,KAAK,CAAC;IACvC,IAAI,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;QAAE,OAAO,KAAK,CAAC;IAE7E,IAAI,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QACzF,OAAO,KAAK,CAAC;IACf,IACE,OAAO,EAAE,OAAO;QAChB,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QAEtF,OAAO,KAAK,CAAC;IAEf,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,GAAG,CAAC,GAAW;IAC7B,uDAAuD;IACvD,OAAO,CAAC,GAAG,CAAC,kBAAkB,GAAG,EAAE,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,IAAI,CAAC,GAAW;IACvB,uDAAuD;IACvD,OAAO,CAAC,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC,CAAC;AACxC,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,IAAY,EACZ,EAAU,EACV,OAAyB;IAEzB,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,KAAK,IAAI,CAAC;IACzC,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,KAAK,IAAI,CAAC;IACnD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAE1B,uEAAuE;IACvE,wEAAwE;IACxE,8CAA8C;IAC9C,IAAI,OAAO,GAAG,IAAI,CAAC;IACnB,IACE,OAAO,CAAC,KAAK,KAAK,KAAK;QACvB,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,EACjE,CAAC;QACD,MAAM,OAAO,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACrB,OAAO,GAAG,OAAO,CAAC;YAClB,IAAI,OAAO,EAAE,CAAC;gBACZ,GAAG,CAAC,iCAAiC,EAAE,EAAE,CAAC,CAAC;YAC7C,CAAC;QACH,CAAC;IACH,CAAC;IACD,yEAAyE;IACzE,MAAM,QAAQ,GAAG,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;IAEnD,uBAAuB;IACvB,IAAI,YAAY,EAAE,CAAC;QACjB,mEAAmE;QACnE,4DAA4D;QAC5D,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,OAAO,CAAC;YAAE,OAAO,QAAQ,CAAC;IAC7D,CAAC;SAAM,CAAC;QACN,sEAAsE;QACtE,gEAAgE;QAChE,wEAAwE;QACxE,oEAAoE;QACpE,wEAAwE;QACxE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC;YAAE,OAAO,QAAQ,CAAC;IACzF,CAAC;IAED,yEAAyE;IACzE,0EAA0E;IAC1E,6DAA6D;IAC7D,IAAI,CAAC,CAAC,MAAM,gBAAgB,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAAE,OAAO,QAAQ,CAAC;IAE5D,0EAA0E;IAC1E,+EAA+E;IAC/E,IAAI,OAA2B,CAAC;IAChC,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,eAAe,CAAC,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC;IACxD,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,GAAG,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACvD,oEAAoE;QACpE,+DAA+D;QAC/D,IAAI,YAAY,EAAE,CAAC;YACjB,IAAI,OAAO,EAAE,CAAC;gBACZ,IAAI,CAAC,YAAY,EAAE,KAAK,GAAG,EAAE,CAAC,CAAC;YACjC,CAAC;YACD,OAAO,QAAQ,CAAC;QAClB,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,8CAA8C,EAAE,KAAK,GAAG,EAAE,CAAC,CAAC;IAC9E,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,QAAQ,CAAC;IAE1C,+FAA+F;IAC/F,wEAAwE;IACxE,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,MAAM,QAAQ,GAAG,cAAc,CAAC,OAAO,EAAE;QACvC,IAAI;QACJ,OAAO,CAAC,UAAU,EAAE,KAAK;YACvB,WAAW,EAAE,CAAC;YACd,IAAI,CACF,sBAAsB,UAAU,QAAQ,EAAE,KAAK,KAAK,CAAC,OAAO,qBAAqB,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,QAAQ,CAC1H,CAAC;QACJ,CAAC;KACF,CAAC,CAAC;IAEH,IAAI,OAAO,EAAE,CAAC;QACZ,IAAI,YAAY,EAAE,CAAC;YACjB,GAAG,CACD,qBAAqB,EAAE,KAAK,OAAO,CAAC,MAAM,cAAc,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,SAAS,CAC/F,CAAC;QACJ,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;YACzB,MAAM,OAAO,GAAG,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC;YACpC,MAAM,QAAQ,GAAG,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,OAAO,OAAO,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACjF,GAAG,CAAC,OAAO,CAAC,CAAC,UAAU,GAAG,QAAQ,EAAE,CAAC,CAAC;QACxC,CAAC;QACD,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;YACpB,GAAG,CAAC,OAAO,WAAW,mBAAmB,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IAED,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,QAAQ,CAAC;IAE3C,gEAAgE;IAChE,OAAO,CAAC,YAAY,EAAE,CAAC;QACrB,KAAK,EAAE,CAAC;QACR,OAAO,EAAE,OAAO,CAAC,MAAM;QACvB,SAAS,EAAE,QAAQ,CAAC,MAAM;QAC1B,MAAM,EAAE,WAAW;KACpB,CAAC,CAAC;IAEH,4DAA4D;IAC5D,MAAM,WAAW,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IACnD,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACzB,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAEzB,yEAAyE;IACzE,IAAI,YAAY,EAAE,CAAC;QACjB,4DAA4D;QAC5D,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAU,CAAC;QAC7C,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;YACzB,MAAM,OAAO,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,UAAU,yBAAyB,CAAC,CAAC;YACxE,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC1B,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YACvC,CAAC;QACH,CAAC;QACD,MAAM,kBAAkB,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;QACxF,MAAM,uBAAuB,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;QAE9F,IAAI,MAAM,GAAG,OAAO,CAAC;QACrB,2DAA2D;QAC3D,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClC,MAAM,GAAG,aAAa,CAAC,MAAM,EAAE,kBAAkB,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;QACvF,CAAC;QACD,yDAAyD;QACzD,IAAI,uBAAuB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvC,MAAM,GAAG,yBAAyB,CAAC,MAAM,EAAE,uBAAuB,EAAE;gBAClE,SAAS,EAAE,OAAO,CAAC,SAAS;aAC7B,CAAC,CAAC;QACL,CAAC;QACD,OAAO,aAAa,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IACrE,CAAC;IAED,OAAO,aAAa,CAClB,aAAa,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,EAClE,WAAW,EACX,IAAI,EACJ,OAAO,CAAC,SAAS,CAClB,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAS,aAAa,CACpB,IAAY,EACZ,WAAwB,EACxB,IAAiB,EACjB,YAAoB,kBAAkB;IAEtC,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QACpB,IAAI,WAAW,CAAC,IAAI,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QACxC,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;YAAE,OAAO,IAAI,CAAC;QAC1C,MAAM,KAAK,GAAG,CAAC,GAAG,WAAW,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjD,OAAO,YAAY,KAAK,YAAY,SAAS,OAAO,IAAI,EAAE,CAAC;IAC7D,CAAC;IACD,+EAA+E;IAC/E,mEAAmE;IACnE,mEAAmE;IACnE,wEAAwE;IACxE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;QAAE,OAAO,IAAI,CAAC;IACzC,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,CAAC;QAC1C,MAAM,CAAC,IAAI,CAAC,iBAAiB,EAAE,mBAAmB,CAAC,CAAC;IACtD,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;QACtC,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IACjC,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;QACtC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACxB,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACjE,CAAC;AAED;;;;GAIG;AACH,SAAS,iBAAiB,CAAC,IAAY,EAAE,SAAiB;IACxD,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,IAAI,CAAC,GAAG,SAAS,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACjD,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG;YAAE,KAAK,EAAE,CAAC;aACxB,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;YACzB,KAAK,EAAE,CAAC;YACR,IAAI,KAAK,KAAK,CAAC;gBAAE,OAAO,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IACD,OAAO,CAAC,CAAC,CAAC;AACZ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAC3B,IAAY,EACZ,OAA6B,EAC7B,OAA6C;IAE7C,IAAI,MAAM,GAAG,IAAI,CAAC;IAElB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,sFAAsF;QACtF,MAAM,aAAa,GAAG,IAAI,MAAM,CAC9B,OAAO,MAAM,CAAC,UAAU,2DAA2D,CACpF,CAAC;QACF,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACzC,IAAI,CAAC,KAAK;YAAE,SAAS;QAErB,0DAA0D;QAC1D,MAAM,cAAc,GAAG,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;QACzD,MAAM,eAAe,GAAG,iBAAiB,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;QAClE,IAAI,eAAe,KAAK,CAAC,CAAC;YAAE,SAAS;QAErC,MAAM,aAAa,GAAG,MAAM;aACzB,KAAK,CAAC,cAAc,GAAG,CAAC,EAAE,eAAe,CAAC;aAC1C,IAAI,EAAE;aACN,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACxB,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC9B,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,eAAe,GAAG,CAAC,CAAC,CAAC;QACjE,MAAM,WAAW,GAAG,MAAM,GAAG,YAAY,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QAC1E,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IAClD,CAAC;IAED,OAAO,mBAAmB,CAAC,MAAM,CAAC,CAAC;AACrC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAY,EAAE,KAAa;IAC3D,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,iBAAiB,CAAC,IAAI,EAAE,KAAK,EAAE;YAC1C,WAAW,EAAE,QAAQ;YACrB,UAAU,EAAE,QAAQ;SACrB,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,GAAG,CAAC;IAClB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,CAAC,CAAC;IACZ,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,yBAAyB,CACvC,IAAY,EACZ,OAA6B,EAC7B,OAA6C;IAE7C,IAAI,MAAM,GAAG,IAAI,CAAC;IAElB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;QAC7E,uEAAuE;QACvE,MAAM,aAAa,GAAG,IAAI,MAAM,CAC9B,wCAAwC,WAAW,2BAA2B,CAC/E,CAAC;QACF,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACzC,IAAI,CAAC,KAAK;YAAE,SAAS;QAErB,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QAC/C,MAAM,MAAM,GAAG,iBAAiB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACnD,IAAI,MAAM,KAAK,CAAC,CAAC;YAAE,SAAS;QAE5B,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;QAC3D,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC9B,MAAM,IAAI,GAAG,YAAY,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QACzD,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,MAAM,GAAG,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC/E,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAY;IAC9C,8DAA8D;IAC9D,MAAM,aAAa,GAAG,uDAAuD,CAAC;IAE9E,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,MAAM,EAAE,OAAe,EAAE,EAAE;QAC7D,MAAM,KAAK,GAAG,OAAO;aAClB,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;aACpB,MAAM,CAAC,OAAO,CAAC,CAAC;QACnB,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC;QACvD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QACtC,OAAO,YAAY,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC;IACnE,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -5,6 +5,7 @@ export interface TransformOptions {
5
5
  zodCompat?: boolean | undefined;
6
6
  verbose?: boolean | undefined;
7
7
  autoDiscover?: boolean | undefined;
8
+ hoist?: boolean | undefined;
8
9
  onBuildStats?: (stats: BuildStats) => void;
9
10
  }
10
11
  export interface BuildStats {
@@ -50,5 +51,42 @@ export interface ZodCompilerPluginOptions {
50
51
  * @default false
51
52
  */
52
53
  autoDiscover?: boolean | undefined;
54
+ /**
55
+ * Hoist Zod schema construction out of function bodies to module scope
56
+ * (the babel-plugin-zod-hoist optimization). A schema defined inside a
57
+ * function — a React component, a request handler — is otherwise rebuilt
58
+ * on every call:
59
+ *
60
+ * ```typescript
61
+ * function getSchema() {
62
+ * return z.object({ name: z.string() }); // rebuilt per call
63
+ * }
64
+ * // becomes
65
+ * const _zh_94b7f5c1 = z.object({ name: z.string() });
66
+ * function getSchema() {
67
+ * return _zh_94b7f5c1; // built once
68
+ * }
69
+ * ```
70
+ *
71
+ * Only expressions built purely from imported bindings and literals are
72
+ * hoisted — anything referencing local variables, module-level bindings,
73
+ * `this`, or globals stays put. Identical schemas dedupe to one binding.
74
+ * @default true
75
+ */
76
+ hoist?: boolean | undefined;
77
+ /**
78
+ * **Vite only** (other bundlers ignore this option): when the plugin runs.
79
+ *
80
+ * By default the plugin compiles production builds **and test runs**
81
+ * (Vitest is detected via the `VITEST` env var / `"test"` mode), so tests
82
+ * exercise — and benefit from — the same compiled validators that ship.
83
+ * Plain dev servers skip AOT compilation cost; `compile()` transparently
84
+ * falls back to Zod's runtime validation there, so behavior stays correct.
85
+ *
86
+ * Set `"build"` to also skip tests, `"serve"` for dev/test-only, or
87
+ * `"all"` to compile everywhere including the dev server.
88
+ * @default builds + Vitest
89
+ */
90
+ apply?: "build" | "serve" | "all" | undefined;
53
91
  }
54
92
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/unplugin/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAEhE,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,WAAW,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAChC,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,YAAY,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACnC,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;CAC5C;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,qBAAa,qBAAsB,YAAW,UAAU;IACtD,KAAK,SAAK;IACV,OAAO,SAAK;IACZ,SAAS,SAAK;IACd,MAAM,SAAK;IAEX,GAAG,CAAC,CAAC,EAAE,UAAU,GAAG,IAAI;IAOxB,KAAK,IAAI,IAAI;CAMd;AAED,MAAM,WAAW,wBAAwB;IACvC,oEAAoE;IACpE,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,4EAA4E;IAC5E,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAChC;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B;;;;;;;;OAQG;IACH,YAAY,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CACpC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/unplugin/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAEhE,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,WAAW,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAChC,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,YAAY,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACnC,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC5B,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;CAC5C;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,qBAAa,qBAAsB,YAAW,UAAU;IACtD,KAAK,SAAK;IACV,OAAO,SAAK;IACZ,SAAS,SAAK;IACd,MAAM,SAAK;IAEX,GAAG,CAAC,CAAC,EAAE,UAAU,GAAG,IAAI;IAOxB,KAAK,IAAI,IAAI;CAMd;AAED,MAAM,WAAW,wBAAwB;IACvC,oEAAoE;IACpE,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,4EAA4E;IAC5E,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAChC;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B;;;;;;;;OAQG;IACH,YAAY,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACnC;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC5B;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,KAAK,GAAG,SAAS,CAAC;CAC/C"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/unplugin/types.ts"],"names":[],"mappings":"AAkBA,MAAM,OAAO,qBAAqB;IAChC,KAAK,GAAG,CAAC,CAAC;IACV,OAAO,GAAG,CAAC,CAAC;IACZ,SAAS,GAAG,CAAC,CAAC;IACd,MAAM,GAAG,CAAC,CAAC;IAEX,GAAG,CAAC,CAAa;QACf,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC;QACtB,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC;QAC1B,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,SAAS,CAAC;QAC9B,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC;IAC1B,CAAC;IAED,KAAK;QACH,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;QACf,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;QACjB,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IAClB,CAAC;CACF"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/unplugin/types.ts"],"names":[],"mappings":"AAmBA,MAAM,OAAO,qBAAqB;IAChC,KAAK,GAAG,CAAC,CAAC;IACV,OAAO,GAAG,CAAC,CAAC;IACZ,SAAS,GAAG,CAAC,CAAC;IACd,MAAM,GAAG,CAAC,CAAC;IAEX,GAAG,CAAC,CAAa;QACf,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC;QACtB,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC;QAC1B,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,SAAS,CAAC;QAC9B,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC;IAC1B,CAAC;IAED,KAAK;QACH,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;QACf,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;QACjB,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IAClB,CAAC;CACF"}
package/package.json CHANGED
@@ -1,18 +1,18 @@
1
1
  {
2
2
  "name": "zod-compiler",
3
- "version": "1.0.0",
3
+ "version": "1.0.2",
4
4
  "description": "Compile Zod schemas into zero-overhead validation functions",
5
- "type": "module",
6
5
  "keywords": [
7
- "zod",
8
- "validation",
9
6
  "aot",
10
- "compiler",
11
7
  "codegen",
8
+ "compiler",
12
9
  "performance",
13
10
  "schema",
14
- "typescript"
11
+ "typescript",
12
+ "validation",
13
+ "zod"
15
14
  ],
15
+ "license": "MIT",
16
16
  "repository": {
17
17
  "type": "git",
18
18
  "url": "https://github.com/gajus/zod-compiler.git",
@@ -25,6 +25,7 @@
25
25
  "dist",
26
26
  "LICENSE"
27
27
  ],
28
+ "type": "module",
28
29
  "imports": {
29
30
  "#src/*": {
30
31
  "types": "./dist/*",
@@ -99,14 +100,13 @@
99
100
  "picomatch": "^4.0.4",
100
101
  "unplugin": "^3.0.0"
101
102
  },
102
- "peerDependencies": {
103
- "zod": "^4.0.0"
104
- },
105
103
  "devDependencies": {
106
104
  "@types/node": "catalog:",
107
105
  "@types/picomatch": "^4.0.3",
108
106
  "typescript": "catalog:",
109
107
  "zod": "catalog:"
110
108
  },
111
- "license": "MIT"
109
+ "peerDependencies": {
110
+ "zod": "^4.0.0"
111
+ }
112
112
  }