schemantic 0.3.0 → 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.
- package/CHANGELOG.md +196 -174
- package/LICENSE +21 -21
- package/README.md +88 -830
- package/dist/cli/index.d.ts +4 -1
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +185 -61
- package/dist/cli/index.js.map +1 -1
- package/dist/core/configuration.d.ts +6 -0
- package/dist/core/configuration.d.ts.map +1 -0
- package/dist/core/configuration.js +64 -0
- package/dist/core/configuration.js.map +1 -0
- package/dist/core/index.d.ts +1 -0
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +1 -0
- package/dist/core/index.js.map +1 -1
- package/dist/core/output-writer.d.ts +7 -0
- package/dist/core/output-writer.d.ts.map +1 -0
- package/dist/core/output-writer.js +255 -0
- package/dist/core/output-writer.js.map +1 -0
- package/dist/core/schemantic.d.ts +8 -2
- package/dist/core/schemantic.d.ts.map +1 -1
- package/dist/core/schemantic.js +196 -71
- package/dist/core/schemantic.js.map +1 -1
- package/dist/generators/api-client-generator.d.ts +9 -20
- package/dist/generators/api-client-generator.d.ts.map +1 -1
- package/dist/generators/api-client-generator.js +364 -424
- package/dist/generators/api-client-generator.js.map +1 -1
- package/dist/generators/base.d.ts.map +1 -1
- package/dist/generators/base.js +7 -25
- package/dist/generators/base.js.map +1 -1
- package/dist/generators/enum-generator.d.ts.map +1 -1
- package/dist/generators/enum-generator.js +30 -3
- package/dist/generators/enum-generator.js.map +1 -1
- package/dist/generators/hook-generator.d.ts +3 -17
- package/dist/generators/hook-generator.d.ts.map +1 -1
- package/dist/generators/hook-generator.js +51 -445
- package/dist/generators/hook-generator.js.map +1 -1
- package/dist/generators/naming.d.ts +10 -0
- package/dist/generators/naming.d.ts.map +1 -0
- package/dist/generators/naming.js +331 -0
- package/dist/generators/naming.js.map +1 -0
- package/dist/generators/object-generator.d.ts +0 -4
- package/dist/generators/object-generator.d.ts.map +1 -1
- package/dist/generators/object-generator.js +13 -101
- package/dist/generators/object-generator.js.map +1 -1
- package/dist/generators/primitive-generator.d.ts +1 -13
- package/dist/generators/primitive-generator.d.ts.map +1 -1
- package/dist/generators/primitive-generator.js +11 -76
- package/dist/generators/primitive-generator.js.map +1 -1
- package/dist/generators/projections.d.ts +10 -0
- package/dist/generators/projections.d.ts.map +1 -0
- package/dist/generators/projections.js +65 -0
- package/dist/generators/projections.js.map +1 -0
- package/dist/generators/schema-type.d.ts +23 -0
- package/dist/generators/schema-type.d.ts.map +1 -0
- package/dist/generators/schema-type.js +233 -0
- package/dist/generators/schema-type.js.map +1 -0
- package/dist/parsers/base.d.ts +2 -0
- package/dist/parsers/base.d.ts.map +1 -1
- package/dist/parsers/base.js +12 -2
- package/dist/parsers/base.js.map +1 -1
- package/dist/parsers/factory.d.ts.map +1 -1
- package/dist/parsers/factory.js +2 -1
- package/dist/parsers/factory.js.map +1 -1
- package/dist/parsers/openapi.d.ts +4 -0
- package/dist/parsers/openapi.d.ts.map +1 -1
- package/dist/parsers/openapi.js +107 -20
- package/dist/parsers/openapi.js.map +1 -1
- package/dist/plugins/branded-types.d.ts.map +1 -1
- package/dist/plugins/branded-types.js +231 -365
- package/dist/plugins/branded-types.js.map +1 -1
- package/dist/plugins/builtin.d.ts.map +1 -1
- package/dist/plugins/builtin.js +6 -141
- package/dist/plugins/builtin.js.map +1 -1
- package/dist/plugins/index.d.ts +4 -0
- package/dist/plugins/index.d.ts.map +1 -1
- package/dist/plugins/index.js +17 -0
- package/dist/plugins/index.js.map +1 -1
- package/dist/plugins/loader.d.ts +5 -1
- package/dist/plugins/loader.d.ts.map +1 -1
- package/dist/plugins/loader.js +42 -5
- package/dist/plugins/loader.js.map +1 -1
- package/dist/plugins/manager.d.ts.map +1 -1
- package/dist/plugins/manager.js +7 -7
- package/dist/plugins/manager.js.map +1 -1
- package/dist/plugins/performance-monitoring.d.ts +31 -1
- package/dist/plugins/performance-monitoring.d.ts.map +1 -1
- package/dist/plugins/performance-monitoring.js +146 -207
- package/dist/plugins/performance-monitoring.js.map +1 -1
- package/dist/plugins/request-deduplication.d.ts.map +1 -1
- package/dist/plugins/request-deduplication.js +151 -586
- package/dist/plugins/request-deduplication.js.map +1 -1
- package/dist/plugins/zod-validation.d.ts +23 -15
- package/dist/plugins/zod-validation.d.ts.map +1 -1
- package/dist/plugins/zod-validation.js +390 -268
- package/dist/plugins/zod-validation.js.map +1 -1
- package/dist/types/core.d.ts +20 -3
- package/dist/types/core.d.ts.map +1 -1
- package/dist/types/core.js +2 -0
- package/dist/types/core.js.map +1 -1
- package/dist/types/openapi.d.ts +14 -1
- package/dist/types/openapi.d.ts.map +1 -1
- package/docs/ADVANCED_PLUGINS_IMPLEMENTATION.md +24 -355
- package/docs/ADVANCED_PLUGIN_DEVELOPMENT.md +33 -309
- package/docs/API.md +80 -601
- package/docs/AUDIT.md +49 -0
- package/docs/CONFIGURATION.md +81 -715
- package/docs/FASTAPI_TUTORIAL.md +109 -1497
- package/docs/NAMING_MIGRATION.md +59 -0
- package/docs/PLUGINS.md +49 -687
- package/docs/PLUGIN_DEVELOPMENT.md +53 -720
- package/docs/REAUDIT.md +399 -0
- package/docs/RELEASING.md +88 -0
- package/docs/REMEDIATION.md +58 -0
- package/docs/superpowers/plans/2026-10-10-audit-remediation.md +113 -0
- package/package.json +114 -95
- package/dist/__tests__/setup.d.ts +0 -6
- package/dist/__tests__/setup.d.ts.map +0 -1
- package/dist/__tests__/setup.js +0 -30
- package/dist/__tests__/setup.js.map +0 -1
- package/dist/__tests__/test-config.d.ts +0 -36
- package/dist/__tests__/test-config.d.ts.map +0 -1
- package/dist/__tests__/test-config.js +0 -562
- package/dist/__tests__/test-config.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request-deduplication.js","sourceRoot":"","sources":["../../src/plugins/request-deduplication.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;GAmBG;;;AAuCH;;GAEG;AACU,QAAA,0BAA0B,GAAqB;IAC1D,IAAI,EAAE,uBAAuB;IAC7B,OAAO,EAAE,OAAO;IAChB,WAAW,EACT,+EAA+E;IAEjF;;OAEG;IACH,qBAAqB,EAAE,KAAK,EAC1B,eAAmC,EACnC,OAA0B,EAC1B,EAAE;QACF,MAAM,OAAO,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAE1C,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YACrB,OAAO;QACT,CAAC;
|
|
1
|
+
{"version":3,"file":"request-deduplication.js","sourceRoot":"","sources":["../../src/plugins/request-deduplication.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;GAmBG;;;AAuCH;;GAEG;AACU,QAAA,0BAA0B,GAAqB;IAC1D,IAAI,EAAE,uBAAuB;IAC7B,OAAO,EAAE,OAAO;IAChB,WAAW,EACT,+EAA+E;IAEjF;;OAEG;IACH,qBAAqB,EAAE,KAAK,EAC1B,eAAmC,EACnC,OAA0B,EAC1B,EAAE;QACF,MAAM,OAAO,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAE1C,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YACrB,OAAO;QACT,CAAC;QAEC,yCAAyC;QACzC,MAAM,iBAAiB,GAAG,yBAAyB,CACjD,eAAe,EACf,OAAO,CACR,CAAC;QACF,eAAe,CAAC,OAAO,IAAI,iBAAiB,CAAC;QAE7C,sBAAsB;QAGtB,4BAA4B;QAC5B,eAAe,CAAC,OAAO,CAAC,IAAI,CAC1B,qBAAqB,EACrB,cAAc,EACd,kBAAkB,EAClB,mBAAmB,EACnB,eAAe,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,qBAAqB,CACvG,CAAC;IAEN,CAAC;CACF,CAAC;AAEF;;GAEG;AACH,SAAS,gBAAgB,CACvB,OAA0B;IAE1B,MAAM,YAAY,GAAG,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,CACjD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,uBAAuB,CAC1C,CAAC;IACF,OAAO;QACL,OAAO,EAAE,IAAI;QACb,UAAU,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE,YAAY;QACvC,YAAY,EAAE,IAAI;QAClB,kBAAkB,EAAE,GAAG;QACvB,0BAA0B,EAAE,IAAI;QAChC,gBAAgB,EAAE,IAAI;QACtB,kBAAkB,EAAE,KAAK;QACzB,gBAAgB,EAAE,EAAE;QACpB,GAAG,CAAE,YAAY,EAAE,OAAuC,IAAI,EAAE,CAAC;KAClE,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,yBAAyB,CAChC,gBAAoC,EACpC,OAAoC;IAEpC,IAAI,OAAO,CAAC,kBAAkB,KAAK,SAAS,EAAE,CAAC;QAC7C,MAAM,IAAI,KAAK,CAAC,0HAA0H,CAAC,CAAC;IAC9I,CAAC;IACD,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8CA+BqC,OAAO,CAAC,kBAAkB,IAAI,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;mCA2B5C,OAAO,CAAC,YAAY,IAAI,IAAI;;sDAET,OAAO,CAAC,YAAY,IAAI,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;mEA0Bf,OAAO,CAAC,UAAU,IAAI,MAAM,iCAAiC,OAAO,CAAC,0BAA0B,IAAI,IAAI,mBAAmB,OAAO,CAAC,kBAAkB,IAAI,KAAK,cAAc,OAAO,CAAC,YAAY,IAAI,IAAI;;;;6HAI7I,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,gBAAgB,IAAI,EAAE,CAAC;;;;;;;;;;;;;;;;;qBAiBtJ,OAAO,CAAC,gBAAgB,IAAI,IAAI;;;;;;;;;;;;;;;;;;;;;gGAqB2C,OAAO,CAAC,UAAU,IAAI,MAAM,2DAA2D,OAAO,CAAC,0BAA0B,IAAI,IAAI;;;;;;;;;;;;;CAahO,CAAC;AACF,CAAC;AACD,kBAAe,kCAA0B,CAAC"}
|
|
@@ -15,28 +15,36 @@
|
|
|
15
15
|
* - Lazy evaluation for expensive operations
|
|
16
16
|
* - Memory-efficient validation cache management
|
|
17
17
|
*/
|
|
18
|
-
import { SchemanticPlugin } from "../types/core";
|
|
18
|
+
import { SchemanticPlugin, GenerationContext } from "../types/core";
|
|
19
|
+
import { ResolvedSchema } from "../types/schema";
|
|
19
20
|
type ZodType<T = unknown> = {
|
|
20
21
|
parse(data: unknown): T;
|
|
21
|
-
safeParse(data: unknown): {
|
|
22
|
-
success: true;
|
|
23
|
-
data: T;
|
|
24
|
-
} | {
|
|
25
|
-
success: false;
|
|
26
|
-
error: {
|
|
27
|
-
issues: Array<{
|
|
28
|
-
path: (string | number)[];
|
|
29
|
-
message: string;
|
|
30
|
-
code?: string;
|
|
31
|
-
}>;
|
|
32
|
-
};
|
|
33
|
-
};
|
|
34
|
-
pipe<U>(schema: ZodType<U>): ZodType<U>;
|
|
35
22
|
};
|
|
23
|
+
/**
|
|
24
|
+
* Configuration options for Zod validation plugin
|
|
25
|
+
*/
|
|
26
|
+
interface ZodValidationOptions {
|
|
27
|
+
/** Enable strict mode validation */
|
|
28
|
+
strictMode?: boolean;
|
|
29
|
+
/** Cache generated schemas for performance */
|
|
30
|
+
cacheSchemas?: boolean;
|
|
31
|
+
/** Generate branded types for compile-time safety */
|
|
32
|
+
generateBrandedTypes?: boolean;
|
|
33
|
+
/** Generate runtime type guards */
|
|
34
|
+
generateTypeGuards?: boolean;
|
|
35
|
+
/** Optimize bundle size by tree-shaking */
|
|
36
|
+
optimizeBundle?: boolean;
|
|
37
|
+
/** Custom validation error messages */
|
|
38
|
+
customErrorMessages?: Record<string, string>;
|
|
39
|
+
}
|
|
36
40
|
/**
|
|
37
41
|
* Advanced Zod Validation Plugin Implementation
|
|
38
42
|
*/
|
|
39
43
|
export declare const zodValidationPlugin: SchemanticPlugin;
|
|
44
|
+
/**
|
|
45
|
+
* Build Zod schema from OpenAPI schema
|
|
46
|
+
*/
|
|
47
|
+
export declare function buildZodSchema(schema: ResolvedSchema, options: ZodValidationOptions, depth?: number, context?: GenerationContext): string;
|
|
40
48
|
export declare function memoizedValidation<T>(data: unknown, schema: ZodType<T>, cacheKey?: string, schemaVersion?: string): T;
|
|
41
49
|
/**
|
|
42
50
|
* Get performance statistics for the plugin
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zod-validation.d.ts","sourceRoot":"","sources":["../../src/plugins/zod-validation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EACL,gBAAgB,
|
|
1
|
+
{"version":3,"file":"zod-validation.d.ts","sourceRoot":"","sources":["../../src/plugins/zod-validation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EAGlB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,cAAc,EAGf,MAAM,iBAAiB,CAAC;AAIzB,KAAK,OAAO,CAAC,CAAC,GAAG,OAAO,IAAI;IAC1B,KAAK,CAAC,IAAI,EAAE,OAAO,GAAG,CAAC,CAAC;CACzB,CAAC;AAEF;;GAEG;AACH,UAAU,oBAAoB;IAC5B,oCAAoC;IACpC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,8CAA8C;IAC9C,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,qDAAqD;IACrD,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,mCAAmC;IACnC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,2CAA2C;IAC3C,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,uCAAuC;IACvC,mBAAmB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC9C;AA8BD;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,gBAuLjC,CAAC;AAoGF;;GAEG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,oBAAoB,EAC7B,KAAK,SAAI,EACT,OAAO,CAAC,EAAE,iBAAiB,GAC1B,MAAM,CA4FR;AAohBD,wBAAgB,kBAAkB,CAAC,CAAC,EAClC,IAAI,EAAE,OAAO,EACb,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,EAClB,QAAQ,CAAC,EAAE,MAAM,EACjB,aAAa,SAAQ,GACpB,CAAC,CA0BH;AAED;;GAEG;AACH,wBAAgB,gCAAgC,IAAI,MAAM,CACxD,MAAM,EACN;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CACzD,CAmBA;AAED;;GAEG;AACH,wBAAgB,wBAAwB,IAAI,IAAI,CAQ/C;AAED;;GAEG;AACH,wBAAgB,uBAAuB,IAAI;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,CAMA;AAGD,eAAe,mBAAmB,CAAC"}
|