zod-compiler 1.0.2 → 1.0.4
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/README.md +12 -5
- package/dist/cli/index.js +0 -0
- package/dist/core/codegen/context.d.ts +27 -8
- package/dist/core/codegen/context.d.ts.map +1 -1
- package/dist/core/codegen/context.js +29 -14
- package/dist/core/codegen/context.js.map +1 -1
- package/dist/core/codegen/index.d.ts.map +1 -1
- package/dist/core/codegen/index.js +19 -1
- package/dist/core/codegen/index.js.map +1 -1
- package/dist/core/codegen/schemas/array.js +2 -2
- package/dist/core/codegen/schemas/array.js.map +1 -1
- package/dist/core/codegen/schemas/discriminated-union.js +2 -2
- package/dist/core/codegen/schemas/discriminated-union.js.map +1 -1
- package/dist/core/codegen/schemas/map.js +3 -3
- package/dist/core/codegen/schemas/map.js.map +1 -1
- package/dist/core/codegen/schemas/number.d.ts.map +1 -1
- package/dist/core/codegen/schemas/number.js +15 -8
- package/dist/core/codegen/schemas/number.js.map +1 -1
- package/dist/core/codegen/schemas/record.d.ts.map +1 -1
- package/dist/core/codegen/schemas/record.js +13 -5
- package/dist/core/codegen/schemas/record.js.map +1 -1
- package/dist/core/codegen/schemas/recursive-ref.d.ts +1 -1
- package/dist/core/codegen/schemas/recursive-ref.d.ts.map +1 -1
- package/dist/core/codegen/schemas/recursive-ref.js +9 -3
- package/dist/core/codegen/schemas/recursive-ref.js.map +1 -1
- package/dist/core/codegen/schemas/set.js +2 -2
- package/dist/core/codegen/schemas/set.js.map +1 -1
- package/dist/core/codegen/schemas/tuple.js +2 -2
- package/dist/core/codegen/schemas/tuple.js.map +1 -1
- package/dist/core/diagnostic.js +1 -1
- package/dist/core/diagnostic.js.map +1 -1
- package/dist/core/iife.d.ts +9 -1
- package/dist/core/iife.d.ts.map +1 -1
- package/dist/core/iife.js +9 -1
- package/dist/core/iife.js.map +1 -1
- package/dist/loader.d.ts +10 -0
- package/dist/loader.d.ts.map +1 -1
- package/dist/loader.js +22 -0
- package/dist/loader.js.map +1 -1
- package/dist/unplugin/disk-cache.d.ts +57 -0
- package/dist/unplugin/disk-cache.d.ts.map +1 -0
- package/dist/unplugin/disk-cache.js +211 -0
- package/dist/unplugin/disk-cache.js.map +1 -0
- package/dist/unplugin/hoist.d.ts +10 -1
- package/dist/unplugin/hoist.d.ts.map +1 -1
- package/dist/unplugin/hoist.js +222 -55
- package/dist/unplugin/hoist.js.map +1 -1
- package/dist/unplugin/index.d.ts.map +1 -1
- package/dist/unplugin/index.js +67 -2
- package/dist/unplugin/index.js.map +1 -1
- package/dist/unplugin/transform.d.ts.map +1 -1
- package/dist/unplugin/transform.js +44 -8
- package/dist/unplugin/transform.js.map +1 -1
- package/dist/unplugin/types.d.ts +33 -3
- package/dist/unplugin/types.d.ts.map +1 -1
- package/dist/unplugin/types.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tuple.js","sourceRoot":"","sources":["../../../../src/core/codegen/schemas/tuple.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"tuple.js","sourceRoot":"","sources":["../../../../src/core/codegen/schemas/tuple.ts"],"names":[],"mappings":"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"}
|
package/dist/core/diagnostic.js
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
*/
|
|
5
5
|
// ─── Fast Path Eligibility ──────────────────────────────────────────────────
|
|
6
6
|
/** Schema types that block Fast Path eligibility. */
|
|
7
|
-
const FAST_PATH_BLOCKERS = new Set(["fallback", "effect", "
|
|
7
|
+
const FAST_PATH_BLOCKERS = new Set(["fallback", "effect", "stringBool"]);
|
|
8
8
|
/** Check if a single node blocks Fast Path (without recursing). */
|
|
9
9
|
function detectFastPathBlocker(ir) {
|
|
10
10
|
if (FAST_PATH_BLOCKERS.has(ir.type)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diagnostic.js","sourceRoot":"","sources":["../../src/core/diagnostic.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAwCH,+EAA+E;AAE/E,qDAAqD;AACrD,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAS,CAAC,UAAU,EAAE,QAAQ,EAAE,
|
|
1
|
+
{"version":3,"file":"diagnostic.js","sourceRoot":"","sources":["../../src/core/diagnostic.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAwCH,+EAA+E;AAE/E,qDAAqD;AACrD,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAS,CAAC,UAAU,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC;AAEjF,mEAAmE;AACnE,SAAS,qBAAqB,CAAC,EAAY;IACzC,IAAI,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACpC,OAAO,EAAE,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,aAAc,EAAyB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC;IAC9F,CAAC;IACD,IAAI,QAAQ,IAAI,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;QAChC,OAAO,WAAW,EAAE,CAAC,IAAI,GAAG,CAAC;IAC/B,CAAC;IACD,yEAAyE;IACzE,6EAA6E;IAC7E,+CAA+C;IAC/C,IAAI,EAAE,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACzB,KAAK,MAAM,KAAK,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;YAC9B,IAAI,KAAK,CAAC,IAAI,KAAK,kBAAkB;gBAAE,OAAO,oCAAoC,CAAC;YACnF,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK;gBAAE,OAAO,mBAAmB,CAAC;QAC3F,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,+EAA+E;AAE/E,MAAM,cAAc,GAA2B;IAC7C,SAAS,EAAE,wDAAwD;IACnE,MAAM,EAAE,wEAAwE;IAChF,WAAW,EAAE,yDAAyD;IACtE,MAAM,EAAE,iDAAiD;IACzD,IAAI,EAAE,gEAAgE;IACtE,WAAW,EAAE,uDAAuD;CACrE,CAAC;AAEF,SAAS,OAAO,CAAC,MAAc;IAC7B,OAAO,cAAc,CAAC,MAAM,CAAC,IAAI,wDAAwD,CAAC;AAC5F,CAAC;AAED,8EAA8E;AAE9E,mEAAmE;AACnE,QAAQ,CAAC,CAAC,YAAY,CAAC,EAAY,EAAE,UAAkB;IACrD,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;QAChB,KAAK,QAAQ;YACX,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC;gBACzD,MAAM,CAAC,GAAG,UAAU,IAAI,GAAG,EAAE,EAAE,KAAK,CAAC,CAAC;YACxC,CAAC;YACD,MAAM;QACR,KAAK,OAAO;YACV,MAAM,CAAC,GAAG,UAAU,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;YACtC,MAAM;QACR,KAAK,OAAO;YACV,KAAK,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;gBAC3C,MAAM,CAAC,GAAG,UAAU,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YACtC,CAAC;YACD,IAAI,EAAE,CAAC,IAAI;gBAAE,MAAM,CAAC,GAAG,UAAU,WAAW,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;YACvD,MAAM;QACR,KAAK,QAAQ;YACX,MAAM,CAAC,GAAG,UAAU,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;YACzC,MAAM,CAAC,GAAG,UAAU,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC;YAC7C,MAAM;QACR,KAAK,KAAK;YACR,MAAM,CAAC,GAAG,UAAU,WAAW,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC;YAC/C,MAAM;QACR,KAAK,KAAK;YACR,MAAM,CAAC,GAAG,UAAU,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;YACzC,MAAM,CAAC,GAAG,UAAU,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC;YAC7C,MAAM;QACR,KAAK,OAAO,CAAC;QACb,KAAK,oBAAoB;YACvB,KAAK,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;gBAC5C,MAAM,CAAC,GAAG,UAAU,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACrC,CAAC;YACD,MAAM;QACR,KAAK,cAAc;YACjB,MAAM,CAAC,GAAG,UAAU,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;YACvC,MAAM,CAAC,GAAG,UAAU,SAAS,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;YACzC,MAAM;QACR,KAAK,UAAU,CAAC;QAChB,KAAK,UAAU,CAAC;QAChB,KAAK,UAAU;YACb,MAAM,CAAC,UAAU,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;YAC7B,MAAM;QACR,KAAK,SAAS,CAAC;QACf,KAAK,OAAO;YACV,MAAM,CAAC,UAAU,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;YAC7B,MAAM;QACR,KAAK,MAAM;YACT,MAAM,CAAC,GAAG,UAAU,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;YACnC,MAAM,CAAC,GAAG,UAAU,OAAO,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;YACrC,MAAM;QACR,KAAK,QAAQ;YACX,MAAM,CAAC,GAAG,UAAU,SAAS,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;YACzC,MAAM;IACV,CAAC;AACH,CAAC;AAaD,SAAS,MAAM,CAAC,EAAY,EAAE,WAAmB;IAC/C,gBAAgB;IAChB,IAAI,EAAE,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QAC3B,MAAM,IAAI,GAAG,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;QAChC,MAAM,QAAQ,GAAG,WAAW,IAAI,QAAQ,CAAC;QACzC,OAAO;YACL,IAAI,EAAE;gBACJ,IAAI,EAAE,EAAE,CAAC,IAAI;gBACb,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE,UAAU;gBAClB,MAAM,EAAE,EAAE,CAAC,MAAM;gBACjB,IAAI;gBACJ,QAAQ,EAAE,EAAE;aACb;YACD,KAAK,EAAE,CAAC;YACR,UAAU,EAAE,CAAC;YACb,SAAS,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;YACxD,eAAe,EAAE,aAAa,EAAE,CAAC,MAAM,GAAG;SAC3C,CAAC;IACJ,CAAC;IAED,6CAA6C;IAC7C,IAAI,eAAe,GAAG,qBAAqB,CAAC,EAAE,CAAC,CAAC;IAEhD,wBAAwB;IACxB,MAAM,QAAQ,GAAqB,EAAE,CAAC;IACtC,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,MAAM,SAAS,GAAqD,EAAE,CAAC;IAEvE,KAAK,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,YAAY,CAAC,EAAE,EAAE,WAAW,CAAC,EAAE,CAAC;QAC/D,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QACnC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACtB,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC;QACjB,UAAU,IAAI,CAAC,CAAC,UAAU,CAAC;QAC3B,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC;QAC/B,IAAI,eAAe,KAAK,IAAI,IAAI,CAAC,CAAC,eAAe,KAAK,IAAI,EAAE,CAAC;YAC3D,eAAe,GAAG,CAAC,CAAC,eAAe,CAAC;QACtC,CAAC;IACH,CAAC;IAED,mDAAmD;IACnD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,KAAK,GAAG,CAAC,CAAC;QACV,UAAU,GAAG,CAAC,CAAC;IACjB,CAAC;IAED,OAAO;QACL,IAAI,EAAE;YACJ,IAAI,EAAE,EAAE,CAAC,IAAI;YACb,IAAI,EAAE,WAAW,IAAI,QAAQ;YAC7B,MAAM,EAAE,UAAU;YAClB,QAAQ;SACT;QACD,KAAK;QACL,UAAU;QACV,SAAS;QACT,eAAe;KAChB,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,EAAY;IACzC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,eAAe,EAAE,GAAG,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IACrF,MAAM,WAAW,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,UAAU,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IAE7E,MAAM,MAAM,GAAqB;QAC/B,IAAI;QACJ,KAAK;QACL,UAAU;QACV,WAAW;QACX,gBAAgB,EAAE,eAAe,KAAK,IAAI;QAC1C,SAAS;KACV,CAAC;IACF,IAAI,eAAe,KAAK,IAAI,EAAE,CAAC;QAC7B,MAAM,CAAC,eAAe,GAAG,eAAe,CAAC;IAC3C,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
package/dist/core/iife.d.ts
CHANGED
|
@@ -16,8 +16,16 @@ export declare const ZOD_MSG_DECLARATION = "var __msg=__zodCompilerConfig().loca
|
|
|
16
16
|
* mirroring Zod's precedence: check/schema-level custom messages baked into
|
|
17
17
|
* generated issues — and messages on issues copied from fallback sub-schemas —
|
|
18
18
|
* must never be overwritten by the locale map.
|
|
19
|
+
*
|
|
20
|
+
* The whole finalization (message fill, input strip, ZodError construction)
|
|
21
|
+
* runs lazily inside a cached accessor (zod v3's safeParse trick): zod v4's
|
|
22
|
+
* $ZodError initializer JSON.stringifies all issues into `message` and
|
|
23
|
+
* $ZodRealError's Error parent captures a stack trace — paying that (plus a
|
|
24
|
+
* locale __msg call per issue) on every failed safeParse dominates
|
|
25
|
+
* invalid-input cost when callers never read `.error`. The issues array is
|
|
26
|
+
* only observable through `.error`, so deferring is safe.
|
|
19
27
|
*/
|
|
20
|
-
export declare const FIN_DECL = "function __fin(e,d){for(var i=0;i<e.length;i++){if(e[i].message===undefined&&typeof __msg===\"function\")e[i].message=__msg(e[i]);e[i].input=undefined;}return
|
|
28
|
+
export declare const FIN_DECL = "function __fin(e,d){if(!e.length)return{success:true,data:d};var c;return{success:false,get error(){if(c)return c;for(var i=0;i<e.length;i++){if(e[i].message===undefined&&typeof __msg===\"function\")e[i].message=__msg(e[i]);e[i].input=undefined;}return c=new __ZodError(e);}};}";
|
|
21
29
|
/**
|
|
22
30
|
* File-level validator factory (must appear once per compiled file).
|
|
23
31
|
* Wraps a safeParse function into the CompiledSchema interface.
|
package/dist/core/iife.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"iife.d.ts","sourceRoot":"","sources":["../../src/core/iife.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAExD,yFAAyF;AACzF,eAAO,MAAM,iBAAiB,uFACsD,CAAC;AAErF,+EAA+E;AAC/E,eAAO,MAAM,mBAAmB,iDAAiD,CAAC;AAElF
|
|
1
|
+
{"version":3,"file":"iife.d.ts","sourceRoot":"","sources":["../../src/core/iife.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAExD,yFAAyF;AACzF,eAAO,MAAM,iBAAiB,uFACsD,CAAC;AAErF,+EAA+E;AAC/E,eAAO,MAAM,mBAAmB,iDAAiD,CAAC;AAElF;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,QAAQ,0RACkQ,CAAC;AAExR;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,gXACiV,CAAC;AAUhX;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAC1B,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,kBAAkB,EAC1B,OAAO,CAAC,EAAE;IAAE,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;CAAE,GAC5C,MAAM,CAkBR"}
|
package/dist/core/iife.js
CHANGED
|
@@ -15,8 +15,16 @@ export const ZOD_MSG_DECLARATION = "var __msg=__zodCompilerConfig().localeError;
|
|
|
15
15
|
* mirroring Zod's precedence: check/schema-level custom messages baked into
|
|
16
16
|
* generated issues — and messages on issues copied from fallback sub-schemas —
|
|
17
17
|
* must never be overwritten by the locale map.
|
|
18
|
+
*
|
|
19
|
+
* The whole finalization (message fill, input strip, ZodError construction)
|
|
20
|
+
* runs lazily inside a cached accessor (zod v3's safeParse trick): zod v4's
|
|
21
|
+
* $ZodError initializer JSON.stringifies all issues into `message` and
|
|
22
|
+
* $ZodRealError's Error parent captures a stack trace — paying that (plus a
|
|
23
|
+
* locale __msg call per issue) on every failed safeParse dominates
|
|
24
|
+
* invalid-input cost when callers never read `.error`. The issues array is
|
|
25
|
+
* only observable through `.error`, so deferring is safe.
|
|
18
26
|
*/
|
|
19
|
-
export const FIN_DECL = 'function __fin(e,d){for(var i=0;i<e.length;i++){if(e[i].message===undefined&&typeof __msg==="function")e[i].message=__msg(e[i]);e[i].input=undefined;}return
|
|
27
|
+
export const FIN_DECL = 'function __fin(e,d){if(!e.length)return{success:true,data:d};var c;return{success:false,get error(){if(c)return c;for(var i=0;i<e.length;i++){if(e[i].message===undefined&&typeof __msg==="function")e[i].message=__msg(e[i]);e[i].input=undefined;}return c=new __ZodError(e);}};}';
|
|
20
28
|
/**
|
|
21
29
|
* File-level validator factory (must appear once per compiled file).
|
|
22
30
|
* Wraps a safeParse function into the CompiledSchema interface.
|
package/dist/core/iife.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"iife.js","sourceRoot":"","sources":["../../src/core/iife.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,yFAAyF;AACzF,MAAM,CAAC,MAAM,iBAAiB,GAC5B,kFAAkF,CAAC;AAErF,+EAA+E;AAC/E,MAAM,CAAC,MAAM,mBAAmB,GAAG,8CAA8C,CAAC;AAElF
|
|
1
|
+
{"version":3,"file":"iife.js","sourceRoot":"","sources":["../../src/core/iife.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,yFAAyF;AACzF,MAAM,CAAC,MAAM,iBAAiB,GAC5B,kFAAkF,CAAC;AAErF,+EAA+E;AAC/E,MAAM,CAAC,MAAM,mBAAmB,GAAG,8CAA8C,CAAC;AAElF;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,MAAM,QAAQ,GACnB,qRAAqR,CAAC;AAExR;;;;GAIG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAC5B,6WAA6W,CAAC;AAEhX,SAAS,mBAAmB,CAAC,WAAmB;IAC9C,MAAM,KAAK,GAAG,wBAAwB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACzD,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACtE,CAAC;IACD,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,YAAY,CAC1B,UAAkB,EAClB,MAA0B,EAC1B,OAA6C;IAE7C,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC;IAC7C,MAAM,MAAM,GAAG,mBAAmB,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;IAC9D,MAAM,SAAS,GAAG,OAAO,EAAE,SAAS,KAAK,KAAK,CAAC;IAC/C,MAAM,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC;IAElD,OAAO;QACL,0BAA0B;QAC1B,GAAG,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC;YACvB,CAAC,CAAC,CAAC,aAAa,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,UAAU,GAAG,EAAE,CAAC,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;YACtF,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,aAAa,CAAC,IAAI;aAClB,KAAK,CAAC,IAAI,CAAC;aACX,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,oBAAoB,CAAC;QACtE,aAAa,CAAC,WAAW;QACzB,gBAAgB,MAAM,IAAI,SAAS,IAAI;QACvC,MAAM;KACP,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC"}
|
package/dist/loader.d.ts
CHANGED
|
@@ -11,6 +11,16 @@
|
|
|
11
11
|
* and fast.
|
|
12
12
|
*/
|
|
13
13
|
export declare function invalidateModuleCache(): void;
|
|
14
|
+
/**
|
|
15
|
+
* Absolute paths of every first-party (non-node_modules) module currently
|
|
16
|
+
* executed by the shared loader. Used by the unplugin disk cache to record
|
|
17
|
+
* which source files a schema file's discovery depended on — a superset is
|
|
18
|
+
* safe (it can only over-invalidate, never serve stale results).
|
|
19
|
+
*
|
|
20
|
+
* Returns null when no jiti instance exists (Bun/Deno native import — no
|
|
21
|
+
* evictable cache, so dependency tracking is unavailable).
|
|
22
|
+
*/
|
|
23
|
+
export declare function getFirstPartyModulePaths(): string[] | null;
|
|
14
24
|
/**
|
|
15
25
|
* Dynamically import a source file (.ts or .js).
|
|
16
26
|
* - Bun/Deno: native TypeScript support, direct import
|
package/dist/loader.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"AAoFA;;;;;;;;;;;GAWG;AACH,wBAAgB,qBAAqB,IAAI,IAAI,CAS5C;AAiBD;;;;;;;;GAQG;AACH,wBAAsB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAmBvF"}
|
|
1
|
+
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"AAoFA;;;;;;;;;;;GAWG;AACH,wBAAgB,qBAAqB,IAAI,IAAI,CAS5C;AAED;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,IAAI,MAAM,EAAE,GAAG,IAAI,CAW1D;AAiBD;;;;;;;;GAQG;AACH,wBAAsB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAmBvF"}
|
package/dist/loader.js
CHANGED
|
@@ -88,6 +88,28 @@ export function invalidateModuleCache() {
|
|
|
88
88
|
}
|
|
89
89
|
}
|
|
90
90
|
}
|
|
91
|
+
/**
|
|
92
|
+
* Absolute paths of every first-party (non-node_modules) module currently
|
|
93
|
+
* executed by the shared loader. Used by the unplugin disk cache to record
|
|
94
|
+
* which source files a schema file's discovery depended on — a superset is
|
|
95
|
+
* safe (it can only over-invalidate, never serve stale results).
|
|
96
|
+
*
|
|
97
|
+
* Returns null when no jiti instance exists (Bun/Deno native import — no
|
|
98
|
+
* evictable cache, so dependency tracking is unavailable).
|
|
99
|
+
*/
|
|
100
|
+
export function getFirstPartyModulePaths() {
|
|
101
|
+
if (jitiInstances.size === 0)
|
|
102
|
+
return null;
|
|
103
|
+
const paths = [];
|
|
104
|
+
for (const jiti of jitiInstances.values()) {
|
|
105
|
+
for (const key of Object.keys(jiti.cache)) {
|
|
106
|
+
if (!key.includes(NODE_MODULES_SEGMENT)) {
|
|
107
|
+
paths.push(key);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
return paths;
|
|
112
|
+
}
|
|
91
113
|
async function getJiti(absPath) {
|
|
92
114
|
const { key, alias } = resolveLoaderConfig(path.dirname(absPath));
|
|
93
115
|
const existing = jitiInstances.get(key);
|
package/dist/loader.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Persistent transform-result cache.
|
|
3
|
+
*
|
|
4
|
+
* The expensive part of the unplugin transform is discovery: executing the
|
|
5
|
+
* schema file (and transitively its whole first-party import graph) through
|
|
6
|
+
* jiti inside the bundler's single-threaded server process. The in-memory
|
|
7
|
+
* caches die with the process, so every `vitest run` / build re-pays that
|
|
8
|
+
* cost even when nothing changed — which is exactly the loop integration
|
|
9
|
+
* tests live in.
|
|
10
|
+
*
|
|
11
|
+
* Entries are keyed by a hash of (plugin version, zod version, transform
|
|
12
|
+
* options, file id, file content) and validated against a recorded snapshot
|
|
13
|
+
* of the first-party modules the loader executed for the file. Validation
|
|
14
|
+
* uses an mtime+size fast path and falls back to content hashing, so a
|
|
15
|
+
* `touch` without changes still hits. A superset of true dependencies only
|
|
16
|
+
* over-invalidates, never serves stale output.
|
|
17
|
+
*
|
|
18
|
+
* Writes are atomic (tmp file + rename) so concurrent bundler processes
|
|
19
|
+
* (vitest workspace projects) can share one cache directory safely.
|
|
20
|
+
*/
|
|
21
|
+
export interface CacheEntryStats {
|
|
22
|
+
schemas: number;
|
|
23
|
+
optimized: number;
|
|
24
|
+
}
|
|
25
|
+
interface DepRecord {
|
|
26
|
+
hash: string;
|
|
27
|
+
mtimeMs: number;
|
|
28
|
+
size: number;
|
|
29
|
+
}
|
|
30
|
+
export interface CacheEntry {
|
|
31
|
+
/** Transformed code, or null when the transform produced no change. */
|
|
32
|
+
result: string | null;
|
|
33
|
+
/** First-party files whose executions the transform depended on. */
|
|
34
|
+
deps: Record<string, DepRecord>;
|
|
35
|
+
/** Build stats to replay on cache hits (only present when schemas compiled). */
|
|
36
|
+
stats?: CacheEntryStats;
|
|
37
|
+
}
|
|
38
|
+
/** Reset the per-process dep stat memo (watch-mode file changes). */
|
|
39
|
+
export declare function resetDepValidationMemo(): void;
|
|
40
|
+
export declare class DiskCache {
|
|
41
|
+
private readonly dir;
|
|
42
|
+
private readonly optionsKey;
|
|
43
|
+
constructor(dir: string, optionsKey: string);
|
|
44
|
+
/**
|
|
45
|
+
* Resolve the cache directory: an explicit string wins; otherwise
|
|
46
|
+
* node_modules/.cache/zod-compiler under cwd (falling back to a
|
|
47
|
+
* project-local .zod-compiler-cache when node_modules doesn't exist).
|
|
48
|
+
*/
|
|
49
|
+
static resolveDir(cacheOption: string | true): string;
|
|
50
|
+
key(id: string, code: string): string;
|
|
51
|
+
private entryPath;
|
|
52
|
+
/** Load an entry and validate every recorded dep. Any failure → null. */
|
|
53
|
+
load(key: string): CacheEntry | null;
|
|
54
|
+
save(key: string, result: string | null, depPaths: readonly string[], stats?: CacheEntryStats): void;
|
|
55
|
+
}
|
|
56
|
+
export {};
|
|
57
|
+
//# sourceMappingURL=disk-cache.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"disk-cache.d.ts","sourceRoot":"","sources":["../../src/unplugin/disk-cache.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAOH,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,UAAU,SAAS;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,UAAU;IACzB,uEAAuE;IACvE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,oEAAoE;IACpE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAChC,gFAAgF;IAChF,KAAK,CAAC,EAAE,eAAe,CAAC;CACzB;AA6GD,qEAAqE;AACrE,wBAAgB,sBAAsB,IAAI,IAAI,CAE7C;AAED,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAC7B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;gBAExB,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;IAK3C;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM;IAOrD,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM;IAMrC,OAAO,CAAC,SAAS;IAIjB,yEAAyE;IACzE,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI;IAmBpC,IAAI,CACF,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,QAAQ,EAAE,SAAS,MAAM,EAAE,EAC3B,KAAK,CAAC,EAAE,eAAe,GACtB,IAAI;CAuBR"}
|
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Persistent transform-result cache.
|
|
3
|
+
*
|
|
4
|
+
* The expensive part of the unplugin transform is discovery: executing the
|
|
5
|
+
* schema file (and transitively its whole first-party import graph) through
|
|
6
|
+
* jiti inside the bundler's single-threaded server process. The in-memory
|
|
7
|
+
* caches die with the process, so every `vitest run` / build re-pays that
|
|
8
|
+
* cost even when nothing changed — which is exactly the loop integration
|
|
9
|
+
* tests live in.
|
|
10
|
+
*
|
|
11
|
+
* Entries are keyed by a hash of (plugin version, zod version, transform
|
|
12
|
+
* options, file id, file content) and validated against a recorded snapshot
|
|
13
|
+
* of the first-party modules the loader executed for the file. Validation
|
|
14
|
+
* uses an mtime+size fast path and falls back to content hashing, so a
|
|
15
|
+
* `touch` without changes still hits. A superset of true dependencies only
|
|
16
|
+
* over-invalidates, never serves stale output.
|
|
17
|
+
*
|
|
18
|
+
* Writes are atomic (tmp file + rename) so concurrent bundler processes
|
|
19
|
+
* (vitest workspace projects) can share one cache directory safely.
|
|
20
|
+
*/
|
|
21
|
+
import { createHash } from "node:crypto";
|
|
22
|
+
import * as fs from "node:fs";
|
|
23
|
+
import * as path from "node:path";
|
|
24
|
+
import { fileURLToPath } from "node:url";
|
|
25
|
+
function sha1(data) {
|
|
26
|
+
return createHash("sha1").update(data).digest("hex");
|
|
27
|
+
}
|
|
28
|
+
/** Read own package version once for cache keying (src and dist both sit two levels below the package root). */
|
|
29
|
+
function readPluginVersion() {
|
|
30
|
+
try {
|
|
31
|
+
const pkgPath = new URL("../../package.json", import.meta.url);
|
|
32
|
+
const pkg = JSON.parse(fs.readFileSync(pkgPath, "utf8"));
|
|
33
|
+
return pkg.version ?? "0";
|
|
34
|
+
}
|
|
35
|
+
catch {
|
|
36
|
+
return "0";
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
/** Resolve the installed zod version — generated code depends on zod internals. */
|
|
40
|
+
function readZodVersion() {
|
|
41
|
+
try {
|
|
42
|
+
const pkgPath = path.join(process.cwd(), "node_modules", "zod", "package.json");
|
|
43
|
+
const pkg = JSON.parse(fs.readFileSync(pkgPath, "utf8"));
|
|
44
|
+
return pkg.version ?? "0";
|
|
45
|
+
}
|
|
46
|
+
catch {
|
|
47
|
+
return "0";
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Build fingerprint: the newest mtime across the package's own source trees.
|
|
52
|
+
* The published version string alone is not enough — file: installs, linked
|
|
53
|
+
* monorepo packages, and canary builds rebuild the compiler without a version
|
|
54
|
+
* bump, and serving codegen from an older compiler build would be silently
|
|
55
|
+
* stale. Walking ~200 dirents once per process costs ~1ms.
|
|
56
|
+
*/
|
|
57
|
+
function readBuildFingerprint() {
|
|
58
|
+
let newest = 0;
|
|
59
|
+
let files = 0;
|
|
60
|
+
const walk = (dir) => {
|
|
61
|
+
let entries;
|
|
62
|
+
try {
|
|
63
|
+
entries = fs.readdirSync(dir, { withFileTypes: true });
|
|
64
|
+
}
|
|
65
|
+
catch {
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
for (const entry of entries) {
|
|
69
|
+
const p = path.join(dir, entry.name);
|
|
70
|
+
if (entry.isDirectory()) {
|
|
71
|
+
walk(p);
|
|
72
|
+
}
|
|
73
|
+
else if (/\.(?:js|ts|json)$/.test(entry.name)) {
|
|
74
|
+
try {
|
|
75
|
+
const m = fs.statSync(p).mtimeMs;
|
|
76
|
+
files++;
|
|
77
|
+
if (m > newest)
|
|
78
|
+
newest = m;
|
|
79
|
+
}
|
|
80
|
+
catch {
|
|
81
|
+
// unreadable file — ignore
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
};
|
|
86
|
+
try {
|
|
87
|
+
const root = fileURLToPath(new URL("../..", import.meta.url));
|
|
88
|
+
for (const sub of ["dist", "src"]) {
|
|
89
|
+
walk(path.join(root, sub));
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
catch {
|
|
93
|
+
return "0";
|
|
94
|
+
}
|
|
95
|
+
return `${newest}:${files}`;
|
|
96
|
+
}
|
|
97
|
+
const PLUGIN_VERSION = readPluginVersion();
|
|
98
|
+
const ZOD_VERSION = readZodVersion();
|
|
99
|
+
const BUILD_FINGERPRINT = readBuildFingerprint();
|
|
100
|
+
/**
|
|
101
|
+
* Per-process memo: path → current stat (+ lazily computed content hash).
|
|
102
|
+
* One fs.stat per file per process regardless of how many cache entries
|
|
103
|
+
* reference it; content is read at most once.
|
|
104
|
+
*/
|
|
105
|
+
const depStatMemo = new Map();
|
|
106
|
+
function statDep(depPath) {
|
|
107
|
+
const memo = depStatMemo.get(depPath);
|
|
108
|
+
if (memo !== undefined)
|
|
109
|
+
return memo;
|
|
110
|
+
let result;
|
|
111
|
+
try {
|
|
112
|
+
const stat = fs.statSync(depPath);
|
|
113
|
+
result = { mtimeMs: stat.mtimeMs, size: stat.size };
|
|
114
|
+
}
|
|
115
|
+
catch {
|
|
116
|
+
result = null;
|
|
117
|
+
}
|
|
118
|
+
depStatMemo.set(depPath, result);
|
|
119
|
+
return result;
|
|
120
|
+
}
|
|
121
|
+
function hashDep(depPath, stat) {
|
|
122
|
+
if (stat.hash !== undefined)
|
|
123
|
+
return stat.hash;
|
|
124
|
+
try {
|
|
125
|
+
stat.hash = sha1(fs.readFileSync(depPath));
|
|
126
|
+
return stat.hash;
|
|
127
|
+
}
|
|
128
|
+
catch {
|
|
129
|
+
return null;
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
/** Reset the per-process dep stat memo (watch-mode file changes). */
|
|
133
|
+
export function resetDepValidationMemo() {
|
|
134
|
+
depStatMemo.clear();
|
|
135
|
+
}
|
|
136
|
+
export class DiskCache {
|
|
137
|
+
dir;
|
|
138
|
+
optionsKey;
|
|
139
|
+
constructor(dir, optionsKey) {
|
|
140
|
+
this.dir = dir;
|
|
141
|
+
this.optionsKey = optionsKey;
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Resolve the cache directory: an explicit string wins; otherwise
|
|
145
|
+
* node_modules/.cache/zod-compiler under cwd (falling back to a
|
|
146
|
+
* project-local .zod-compiler-cache when node_modules doesn't exist).
|
|
147
|
+
*/
|
|
148
|
+
static resolveDir(cacheOption) {
|
|
149
|
+
if (typeof cacheOption === "string")
|
|
150
|
+
return path.resolve(cacheOption);
|
|
151
|
+
const nm = path.join(process.cwd(), "node_modules");
|
|
152
|
+
if (fs.existsSync(nm))
|
|
153
|
+
return path.join(nm, ".cache", "zod-compiler");
|
|
154
|
+
return path.join(process.cwd(), ".zod-compiler-cache");
|
|
155
|
+
}
|
|
156
|
+
key(id, code) {
|
|
157
|
+
return sha1(`${PLUGIN_VERSION}\0${BUILD_FINGERPRINT}\0${ZOD_VERSION}\0${this.optionsKey}\0${id}\0${code}`);
|
|
158
|
+
}
|
|
159
|
+
entryPath(key) {
|
|
160
|
+
return path.join(this.dir, `${key}.json`);
|
|
161
|
+
}
|
|
162
|
+
/** Load an entry and validate every recorded dep. Any failure → null. */
|
|
163
|
+
load(key) {
|
|
164
|
+
let entry;
|
|
165
|
+
try {
|
|
166
|
+
entry = JSON.parse(fs.readFileSync(this.entryPath(key), "utf8"));
|
|
167
|
+
}
|
|
168
|
+
catch {
|
|
169
|
+
return null;
|
|
170
|
+
}
|
|
171
|
+
if (entry === null || typeof entry !== "object" || typeof entry.deps !== "object") {
|
|
172
|
+
return null;
|
|
173
|
+
}
|
|
174
|
+
for (const [depPath, recorded] of Object.entries(entry.deps)) {
|
|
175
|
+
const current = statDep(depPath);
|
|
176
|
+
if (current === null)
|
|
177
|
+
return null;
|
|
178
|
+
if (current.mtimeMs === recorded.mtimeMs && current.size === recorded.size)
|
|
179
|
+
continue;
|
|
180
|
+
if (hashDep(depPath, current) !== recorded.hash)
|
|
181
|
+
return null;
|
|
182
|
+
}
|
|
183
|
+
return entry;
|
|
184
|
+
}
|
|
185
|
+
save(key, result, depPaths, stats) {
|
|
186
|
+
const deps = {};
|
|
187
|
+
for (const depPath of depPaths) {
|
|
188
|
+
const stat = statDep(depPath);
|
|
189
|
+
const hash = stat === null ? null : hashDep(depPath, stat);
|
|
190
|
+
if (stat === null || hash === null) {
|
|
191
|
+
// A dep we cannot re-read can never validate — skip persisting.
|
|
192
|
+
return;
|
|
193
|
+
}
|
|
194
|
+
deps[depPath] = { hash, mtimeMs: stat.mtimeMs, size: stat.size };
|
|
195
|
+
}
|
|
196
|
+
const entry = { result, deps };
|
|
197
|
+
if (stats)
|
|
198
|
+
entry.stats = stats;
|
|
199
|
+
try {
|
|
200
|
+
fs.mkdirSync(this.dir, { recursive: true });
|
|
201
|
+
const file = this.entryPath(key);
|
|
202
|
+
const tmp = `${file}.${process.pid}.tmp`;
|
|
203
|
+
fs.writeFileSync(tmp, JSON.stringify(entry));
|
|
204
|
+
fs.renameSync(tmp, file);
|
|
205
|
+
}
|
|
206
|
+
catch {
|
|
207
|
+
// Cache writes are best-effort; failures only cost a recompute.
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
//# sourceMappingURL=disk-cache.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"disk-cache.js","sourceRoot":"","sources":["../../src/unplugin/disk-cache.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAsBzC,SAAS,IAAI,CAAC,IAAqB;IACjC,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACvD,CAAC;AAED,gHAAgH;AAChH,SAAS,iBAAiB;IACxB,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,oBAAoB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC/D,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAyB,CAAC;QACjF,OAAO,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC;IAC5B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,GAAG,CAAC;IACb,CAAC;AACH,CAAC;AAED,mFAAmF;AACnF,SAAS,cAAc;IACrB,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC;QAChF,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAyB,CAAC;QACjF,OAAO,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC;IAC5B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,GAAG,CAAC;IACb,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,SAAS,oBAAoB;IAC3B,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,MAAM,IAAI,GAAG,CAAC,GAAW,EAAQ,EAAE;QACjC,IAAI,OAAoB,CAAC;QACzB,IAAI,CAAC;YACH,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QACzD,CAAC;QAAC,MAAM,CAAC;YACP,OAAO;QACT,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YACrC,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;gBACxB,IAAI,CAAC,CAAC,CAAC,CAAC;YACV,CAAC;iBAAM,IAAI,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBAChD,IAAI,CAAC;oBACH,MAAM,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;oBACjC,KAAK,EAAE,CAAC;oBACR,IAAI,CAAC,GAAG,MAAM;wBAAE,MAAM,GAAG,CAAC,CAAC;gBAC7B,CAAC;gBAAC,MAAM,CAAC;oBACP,2BAA2B;gBAC7B,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IACF,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9D,KAAK,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC;YAClC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,GAAG,CAAC;IACb,CAAC;IACD,OAAO,GAAG,MAAM,IAAI,KAAK,EAAE,CAAC;AAC9B,CAAC;AAED,MAAM,cAAc,GAAG,iBAAiB,EAAE,CAAC;AAC3C,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;AACrC,MAAM,iBAAiB,GAAG,oBAAoB,EAAE,CAAC;AAEjD;;;;GAIG;AACH,MAAM,WAAW,GAAG,IAAI,GAAG,EAAmE,CAAC;AAE/F,SAAS,OAAO,CAAC,OAAe;IAC9B,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACtC,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACpC,IAAI,MAA+D,CAAC;IACpE,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAClC,MAAM,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;IACtD,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,GAAG,IAAI,CAAC;IAChB,CAAC;IACD,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACjC,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,OAAO,CACd,OAAe,EACf,IAAsD;IAEtD,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC,IAAI,CAAC;IAC9C,IAAI,CAAC;QACH,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;QAC3C,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,qEAAqE;AACrE,MAAM,UAAU,sBAAsB;IACpC,WAAW,CAAC,KAAK,EAAE,CAAC;AACtB,CAAC;AAED,MAAM,OAAO,SAAS;IACH,GAAG,CAAS;IACZ,UAAU,CAAS;IAEpC,YAAY,GAAW,EAAE,UAAkB;QACzC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,WAA0B;QAC1C,IAAI,OAAO,WAAW,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QACtE,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,CAAC,CAAC;QACpD,IAAI,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC;YAAE,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC;QACtE,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,qBAAqB,CAAC,CAAC;IACzD,CAAC;IAED,GAAG,CAAC,EAAU,EAAE,IAAY;QAC1B,OAAO,IAAI,CACT,GAAG,cAAc,KAAK,iBAAiB,KAAK,WAAW,KAAK,IAAI,CAAC,UAAU,KAAK,EAAE,KAAK,IAAI,EAAE,CAC9F,CAAC;IACJ,CAAC;IAEO,SAAS,CAAC,GAAW;QAC3B,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,CAAC;IAC5C,CAAC;IAED,yEAAyE;IACzE,IAAI,CAAC,GAAW;QACd,IAAI,KAAiB,CAAC;QACtB,IAAI,CAAC;YACH,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAe,CAAC;QACjF,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAClF,OAAO,IAAI,CAAC;QACd,CAAC;QACD,KAAK,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7D,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;YACjC,IAAI,OAAO,KAAK,IAAI;gBAAE,OAAO,IAAI,CAAC;YAClC,IAAI,OAAO,CAAC,OAAO,KAAK,QAAQ,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI;gBAAE,SAAS;YACrF,IAAI,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,QAAQ,CAAC,IAAI;gBAAE,OAAO,IAAI,CAAC;QAC/D,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,CACF,GAAW,EACX,MAAqB,EACrB,QAA2B,EAC3B,KAAuB;QAEvB,MAAM,IAAI,GAAuB,EAAE,CAAC;QACpC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;YAC9B,MAAM,IAAI,GAAG,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YAC3D,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBACnC,gEAAgE;gBAChE,OAAO;YACT,CAAC;YACD,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;QACnE,CAAC;QACD,MAAM,KAAK,GAAe,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;QAC3C,IAAI,KAAK;YAAE,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;QAC/B,IAAI,CAAC;YACH,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC5C,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YACjC,MAAM,GAAG,GAAG,GAAG,IAAI,IAAI,OAAO,CAAC,GAAG,MAAM,CAAC;YACzC,EAAE,CAAC,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;YAC7C,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAC3B,CAAC;QAAC,MAAM,CAAC;YACP,gEAAgE;QAClE,CAAC;IACH,CAAC;CACF"}
|
package/dist/unplugin/hoist.d.ts
CHANGED
|
@@ -10,10 +10,19 @@ interface ImportBindings {
|
|
|
10
10
|
* referenced at runtime, so excluding them keeps the capture rule sound.
|
|
11
11
|
*/
|
|
12
12
|
export declare function collectImportBindings(code: string): ImportBindings;
|
|
13
|
+
export interface HoistOptions {
|
|
14
|
+
/**
|
|
15
|
+
* Imported identifiers matching this pattern are treated as schema chain
|
|
16
|
+
* roots even without an inline z.* reference. A string is compiled as a
|
|
17
|
+
* RegExp source; null disables name-based matching.
|
|
18
|
+
* @default /ZodSchema$/
|
|
19
|
+
*/
|
|
20
|
+
schemaNamePattern?: RegExp | string | null | undefined;
|
|
21
|
+
}
|
|
13
22
|
/**
|
|
14
23
|
* Hoist eligible Zod schema expressions to module scope.
|
|
15
24
|
* Returns the rewritten source, or null when nothing was hoisted.
|
|
16
25
|
*/
|
|
17
|
-
export declare function hoistZodSchemas(code: string): string | null;
|
|
26
|
+
export declare function hoistZodSchemas(code: string, options?: HoistOptions): string | null;
|
|
18
27
|
export {};
|
|
19
28
|
//# sourceMappingURL=hoist.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hoist.d.ts","sourceRoot":"","sources":["../../src/unplugin/hoist.ts"],"names":[],"mappings":"AA8CA,UAAU,cAAc;IACtB,sDAAsD;IACtD,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACjB,8DAA8D;IAC9D,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CAClB;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,CAelE;
|
|
1
|
+
{"version":3,"file":"hoist.d.ts","sourceRoot":"","sources":["../../src/unplugin/hoist.ts"],"names":[],"mappings":"AA8CA,UAAU,cAAc;IACtB,sDAAsD;IACtD,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACjB,8DAA8D;IAC9D,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CAClB;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,CAelE;AA8mBD,MAAM,WAAW,YAAY;IAC3B;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;CACxD;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,MAAM,GAAG,IAAI,CA0KnF"}
|