langium-zod 0.3.5 → 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/dist/api.d.ts.map +1 -1
- package/dist/api.js +16 -1
- package/dist/api.js.map +1 -1
- package/dist/cli.d.ts +20 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +171 -0
- package/dist/cli.js.map +1 -0
- package/dist/config.d.ts +17 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js.map +1 -1
- package/dist/di.d.ts.map +1 -1
- package/dist/di.js +2 -1
- package/dist/di.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/package.json +8 -1
package/dist/api.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AActD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,kBAAkB,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AActD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,kBAAkB,GAAG,MAAM,CA4CrE"}
|
package/dist/api.js
CHANGED
|
@@ -25,10 +25,25 @@ export function generateZodSchemas(config) {
|
|
|
25
25
|
});
|
|
26
26
|
}
|
|
27
27
|
const astTypes = resolveAstTypes(rawAstTypes);
|
|
28
|
-
const
|
|
28
|
+
const rawDescriptors = extractTypeDescriptors(astTypes, {
|
|
29
29
|
include: config.include,
|
|
30
30
|
exclude: config.exclude
|
|
31
31
|
});
|
|
32
|
+
// Apply regexOverrides: upgrade primitive-alias schemas to regex-enum for types
|
|
33
|
+
// whose Langium grammar rule is too complex for automatic regex derivation.
|
|
34
|
+
const overrides = config.regexOverrides ?? {};
|
|
35
|
+
const descriptors = rawDescriptors.map((d) => {
|
|
36
|
+
const override = overrides[d.name];
|
|
37
|
+
if (override && (d.kind === 'primitive-alias' || d.kind === 'regex-enum')) {
|
|
38
|
+
return {
|
|
39
|
+
name: d.name,
|
|
40
|
+
kind: 'regex-enum',
|
|
41
|
+
regex: override,
|
|
42
|
+
keywords: d.kind === 'regex-enum' ? d.keywords : []
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
return d;
|
|
46
|
+
});
|
|
32
47
|
const recursiveTypes = detectRecursiveTypes(descriptors);
|
|
33
48
|
const source = generateZodCode(descriptors, recursiveTypes);
|
|
34
49
|
if (config.outputPath) {
|
package/dist/api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAG/D,SAAS,eAAe,CAAC,QAAsB;IAC9C,OAAO;QACN,UAAU,EAAE,QAAQ,CAAC,UAAU,IAAI,EAAE;QACrC,MAAM,EAAE,QAAQ,CAAC,MAAM,IAAI,EAAE;KAC7B,CAAC;AACH,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,MAA0B;IAC5D,IAAI,WAAyB,CAAC;IAC9B,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrB,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC;IAC/B,CAAC;SAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QAC3B,WAAW,GAAG,UAAU,CAAC,MAAM,CAAC,OAAO,CAA4B,CAAC;IACrE,CAAC;SAAM,CAAC;QACP,MAAM,IAAI,iBAAiB,CAAC,mDAAmD,EAAE;YAChF,UAAU,EAAE,uEAAuE;SACnF,CAAC,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAG,eAAe,CAAC,WAAW,CAAC,CAAC;IAE9C,MAAM,
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAG/D,SAAS,eAAe,CAAC,QAAsB;IAC9C,OAAO;QACN,UAAU,EAAE,QAAQ,CAAC,UAAU,IAAI,EAAE;QACrC,MAAM,EAAE,QAAQ,CAAC,MAAM,IAAI,EAAE;KAC7B,CAAC;AACH,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,MAA0B;IAC5D,IAAI,WAAyB,CAAC;IAC9B,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrB,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC;IAC/B,CAAC;SAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QAC3B,WAAW,GAAG,UAAU,CAAC,MAAM,CAAC,OAAO,CAA4B,CAAC;IACrE,CAAC;SAAM,CAAC;QACP,MAAM,IAAI,iBAAiB,CAAC,mDAAmD,EAAE;YAChF,UAAU,EAAE,uEAAuE;SACnF,CAAC,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAG,eAAe,CAAC,WAAW,CAAC,CAAC;IAE9C,MAAM,cAAc,GAAG,sBAAsB,CAAC,QAAQ,EAAE;QACvD,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,OAAO,EAAE,MAAM,CAAC,OAAO;KACvB,CAAC,CAAC;IAEH,gFAAgF;IAChF,4EAA4E;IAC5E,MAAM,SAAS,GAAG,MAAM,CAAC,cAAc,IAAI,EAAE,CAAC;IAC9C,MAAM,WAAW,GAAwB,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACjE,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,QAAQ,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,iBAAiB,IAAI,CAAC,CAAC,IAAI,KAAK,YAAY,CAAC,EAAE,CAAC;YAC3E,OAAO;gBACN,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,IAAI,EAAE,YAAY;gBAClB,KAAK,EAAE,QAAQ;gBACf,QAAQ,EAAE,CAAC,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC,CAAE,CAA4B,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;aAC9C,CAAC;QACpC,CAAC;QACD,OAAO,CAAC,CAAC;IACV,CAAC,CAAC,CAAC;IAEH,MAAM,cAAc,GAAG,oBAAoB,CAAC,WAAW,CAAC,CAAC;IACzD,MAAM,MAAM,GAAG,eAAe,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;IAE5D,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QACvB,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3D,aAAa,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAClD,CAAC;IAED,OAAO,MAAM,CAAC;AACf,CAAC"}
|
package/dist/cli.d.ts
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import type { ZodGeneratorConfig } from './config.js';
|
|
3
|
+
/** User-facing config file shape (langium-zod.config.js / .ts) */
|
|
4
|
+
export interface LangiumZodConfig extends Omit<ZodGeneratorConfig, 'grammar' | 'services' | 'astTypes'> {
|
|
5
|
+
/**
|
|
6
|
+
* Path to `langium-config.json`. Defaults to `langium-config.json` in cwd.
|
|
7
|
+
* Only used when picked up via the CLI; programmatic API ignores it.
|
|
8
|
+
*/
|
|
9
|
+
langiumConfig?: string;
|
|
10
|
+
/** Explicit output path. Overrides derived path from langium-config.json `out` field. */
|
|
11
|
+
outputPath?: string;
|
|
12
|
+
}
|
|
13
|
+
export interface GenerateOptions {
|
|
14
|
+
/** Absolute path to langium-config.json */
|
|
15
|
+
langiumConfigPath: string;
|
|
16
|
+
/** Merged generator config (from user's langium-zod.config.js + CLI flags) */
|
|
17
|
+
config?: LangiumZodConfig;
|
|
18
|
+
}
|
|
19
|
+
export declare function generate(opts: GenerateOptions): Promise<void>;
|
|
20
|
+
//# sourceMappingURL=cli.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAeA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAOtD,kEAAkE;AAClE,MAAM,WAAW,gBAChB,SAAQ,IAAI,CAAC,kBAAkB,EAAE,SAAS,GAAG,UAAU,GAAG,UAAU,CAAC;IACrE;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,yFAAyF;IACzF,UAAU,CAAC,EAAE,MAAM,CAAC;CACpB;AAuED,MAAM,WAAW,eAAe;IAC/B,2CAA2C;IAC3C,iBAAiB,EAAE,MAAM,CAAC;IAC1B,8EAA8E;IAC9E,MAAM,CAAC,EAAE,gBAAgB,CAAC;CAC1B;AAED,wBAAsB,QAAQ,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CA+DnE"}
|
package/dist/cli.js
ADDED
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* langium-zod CLI
|
|
4
|
+
*
|
|
5
|
+
* Usage:
|
|
6
|
+
* langium-zod generate [--config langium-config.json] [--out src/generated/zod-schemas.ts]
|
|
7
|
+
* langium-zod --help
|
|
8
|
+
*/
|
|
9
|
+
import { existsSync, readFileSync } from 'node:fs';
|
|
10
|
+
import { dirname, join, resolve } from 'node:path';
|
|
11
|
+
import { pathToFileURL } from 'node:url';
|
|
12
|
+
import { URI } from 'langium';
|
|
13
|
+
import { createLangiumGrammarServices, resolveImportUri } from 'langium/grammar';
|
|
14
|
+
import { NodeFileSystem } from 'langium/node';
|
|
15
|
+
import { generateZodSchemas } from './api.js';
|
|
16
|
+
// ────────────────────────────────────────────────────────────────────────────
|
|
17
|
+
// Helpers
|
|
18
|
+
// ────────────────────────────────────────────────────────────────────────────
|
|
19
|
+
function printHelp() {
|
|
20
|
+
console.log(`
|
|
21
|
+
langium-zod — generate Zod schemas from Langium grammar files
|
|
22
|
+
|
|
23
|
+
USAGE
|
|
24
|
+
langium-zod generate [options]
|
|
25
|
+
|
|
26
|
+
OPTIONS
|
|
27
|
+
--config <path> Path to langium-config.json (default: langium-config.json)
|
|
28
|
+
--out <path> Output file path (default: <out>/zod-schemas.ts)
|
|
29
|
+
--help Show this help message
|
|
30
|
+
|
|
31
|
+
CONFIGURATION
|
|
32
|
+
Create a langium-zod.config.js (or .mjs) in the same directory as
|
|
33
|
+
langium-config.json to customise generation:
|
|
34
|
+
|
|
35
|
+
// langium-zod.config.js
|
|
36
|
+
export default {
|
|
37
|
+
outputPath: 'src/generated/zod-schemas.ts',
|
|
38
|
+
regexOverrides: {
|
|
39
|
+
BigDecimal: String.raw\`^[+-]?(\\.[0-9]+|[0-9]+\\.[0-9]*)([eE][+-]?[0-9]+)?$\`,
|
|
40
|
+
},
|
|
41
|
+
include: [], // allowlist of type names to include
|
|
42
|
+
exclude: [], // blocklist of type names to exclude
|
|
43
|
+
};
|
|
44
|
+
`);
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Recursively load imported grammar files so that DocumentBuilder can link
|
|
48
|
+
* cross-file references correctly (mirrors langium-cli's eagerLoad strategy).
|
|
49
|
+
*/
|
|
50
|
+
async function eagerLoad(document, documents, visited = new Set()) {
|
|
51
|
+
const key = document.uri.toString();
|
|
52
|
+
if (visited.has(key))
|
|
53
|
+
return;
|
|
54
|
+
visited.add(key);
|
|
55
|
+
const grammar = document.parseResult?.value;
|
|
56
|
+
if (!grammar)
|
|
57
|
+
return;
|
|
58
|
+
// Grammar.imports is an array of GrammarImport nodes; resolveImportUri handles the URI
|
|
59
|
+
const imports = grammar.imports ?? [];
|
|
60
|
+
for (const imp of imports) {
|
|
61
|
+
const importUri = resolveImportUri(imp);
|
|
62
|
+
if (importUri) {
|
|
63
|
+
const importedDoc = await documents.getOrCreateDocument(importUri);
|
|
64
|
+
await eagerLoad(importedDoc, documents, visited);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
export async function generate(opts) {
|
|
69
|
+
const { langiumConfigPath } = opts;
|
|
70
|
+
const userConfig = opts.config ?? {};
|
|
71
|
+
// ── 1. Load langium-config.json ─────────────────────────────────────────
|
|
72
|
+
if (!existsSync(langiumConfigPath)) {
|
|
73
|
+
throw new Error(`langium-config.json not found: ${langiumConfigPath}`);
|
|
74
|
+
}
|
|
75
|
+
const langiumConfig = JSON.parse(readFileSync(langiumConfigPath, 'utf8'));
|
|
76
|
+
const configDir = dirname(langiumConfigPath);
|
|
77
|
+
const languages = langiumConfig.languages;
|
|
78
|
+
if (!languages || languages.length === 0) {
|
|
79
|
+
throw new Error('No languages defined in langium-config.json');
|
|
80
|
+
}
|
|
81
|
+
const grammarRelPath = languages[0].grammar;
|
|
82
|
+
const grammarAbsPath = resolve(configDir, grammarRelPath);
|
|
83
|
+
if (!existsSync(grammarAbsPath)) {
|
|
84
|
+
throw new Error(`Grammar file not found: ${grammarAbsPath}`);
|
|
85
|
+
}
|
|
86
|
+
// ── 2. Resolve output path ───────────────────────────────────────────────
|
|
87
|
+
const outDir = langiumConfig.out
|
|
88
|
+
? resolve(configDir, langiumConfig.out)
|
|
89
|
+
: resolve(configDir, 'src/generated');
|
|
90
|
+
const outputPath = userConfig.outputPath ?? join(outDir, 'zod-schemas.ts');
|
|
91
|
+
// ── 3. Parse grammar using Langium services ──────────────────────────────
|
|
92
|
+
const { shared, grammar: grammarServices } = createLangiumGrammarServices(NodeFileSystem);
|
|
93
|
+
void grammarServices; // used only for type-checking if needed later
|
|
94
|
+
const langiumDocuments = shared.workspace.LangiumDocuments;
|
|
95
|
+
const documentBuilder = shared.workspace.DocumentBuilder;
|
|
96
|
+
const grammarUri = URI.file(grammarAbsPath);
|
|
97
|
+
const entryDocument = await langiumDocuments.getOrCreateDocument(grammarUri);
|
|
98
|
+
// Recursively load imported files so references resolve correctly
|
|
99
|
+
await eagerLoad(entryDocument, langiumDocuments);
|
|
100
|
+
// Build (parse + link) all loaded documents
|
|
101
|
+
await documentBuilder.build(langiumDocuments.all.toArray(), {
|
|
102
|
+
validation: false,
|
|
103
|
+
});
|
|
104
|
+
const grammar = entryDocument.parseResult.value;
|
|
105
|
+
// ── 4. Generate schemas ──────────────────────────────────────────────────
|
|
106
|
+
const { langiumConfig: _ignored, outputPath: _op, ...restConfig } = userConfig;
|
|
107
|
+
generateZodSchemas({
|
|
108
|
+
grammar,
|
|
109
|
+
outputPath,
|
|
110
|
+
...restConfig,
|
|
111
|
+
});
|
|
112
|
+
console.log(`✓ Generated Zod schemas → ${outputPath}`);
|
|
113
|
+
}
|
|
114
|
+
// ────────────────────────────────────────────────────────────────────────────
|
|
115
|
+
// CLI entry point
|
|
116
|
+
// ────────────────────────────────────────────────────────────────────────────
|
|
117
|
+
async function main() {
|
|
118
|
+
const args = process.argv.slice(2);
|
|
119
|
+
if (args.length === 0 || args.includes('--help') || args.includes('-h')) {
|
|
120
|
+
printHelp();
|
|
121
|
+
process.exit(0);
|
|
122
|
+
}
|
|
123
|
+
const command = args[0];
|
|
124
|
+
if (command !== 'generate') {
|
|
125
|
+
console.error(`Unknown command: ${command}`);
|
|
126
|
+
printHelp();
|
|
127
|
+
process.exit(1);
|
|
128
|
+
}
|
|
129
|
+
// ── Parse flags ──────────────────────────────────────────────────────────
|
|
130
|
+
const configFlagIdx = args.indexOf('--config');
|
|
131
|
+
const configFlagValue = configFlagIdx >= 0 ? args[configFlagIdx + 1] : undefined;
|
|
132
|
+
const outFlagIdx = args.indexOf('--out');
|
|
133
|
+
const outFlagValue = outFlagIdx >= 0 ? args[outFlagIdx + 1] : undefined;
|
|
134
|
+
// ── Locate langium-config.json ───────────────────────────────────────────
|
|
135
|
+
const configFileName = configFlagValue ?? 'langium-config.json';
|
|
136
|
+
const langiumConfigPath = resolve(process.cwd(), configFileName);
|
|
137
|
+
// ── Load optional langium-zod.config.js ──────────────────────────────────
|
|
138
|
+
const configDir = dirname(langiumConfigPath);
|
|
139
|
+
let userConfig = {};
|
|
140
|
+
for (const candidate of [
|
|
141
|
+
'langium-zod.config.js',
|
|
142
|
+
'langium-zod.config.mjs',
|
|
143
|
+
]) {
|
|
144
|
+
const candidatePath = join(configDir, candidate);
|
|
145
|
+
if (existsSync(candidatePath)) {
|
|
146
|
+
const mod = await import(pathToFileURL(candidatePath).href);
|
|
147
|
+
userConfig = (mod.default ?? mod);
|
|
148
|
+
break;
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
// CLI --out flag overrides config file outputPath
|
|
152
|
+
if (outFlagValue) {
|
|
153
|
+
userConfig = { ...userConfig, outputPath: resolve(process.cwd(), outFlagValue) };
|
|
154
|
+
}
|
|
155
|
+
try {
|
|
156
|
+
await generate({ langiumConfigPath, config: userConfig });
|
|
157
|
+
}
|
|
158
|
+
catch (err) {
|
|
159
|
+
console.error('Error:', err instanceof Error ? err.message : String(err));
|
|
160
|
+
process.exit(1);
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
// Guard against library imports running the CLI
|
|
164
|
+
const isMain = process.argv[1] != null &&
|
|
165
|
+
(process.argv[1].endsWith('/cli.js') ||
|
|
166
|
+
process.argv[1].endsWith('/cli.ts') ||
|
|
167
|
+
process.argv[1].endsWith('langium-zod'));
|
|
168
|
+
if (isMain) {
|
|
169
|
+
void main();
|
|
170
|
+
}
|
|
171
|
+
//# sourceMappingURL=cli.js.map
|
package/dist/cli.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/config.d.ts
CHANGED
|
@@ -9,6 +9,23 @@ export interface ZodGeneratorConfig extends FilterConfig {
|
|
|
9
9
|
services?: LangiumCoreServices;
|
|
10
10
|
outputPath?: string;
|
|
11
11
|
astTypes?: AstTypesLike;
|
|
12
|
+
/**
|
|
13
|
+
* Override the generated schema for specific type names.
|
|
14
|
+
*
|
|
15
|
+
* Use this for parser-based datatype rules (e.g. `BigDecimal returns string: ... INT ...`)
|
|
16
|
+
* whose structure cannot be expressed as a regex automatically by Langium.
|
|
17
|
+
*
|
|
18
|
+
* The value is a raw regex pattern string (without surrounding `/` slashes).
|
|
19
|
+
* The named type will emit `z.string().regex(new RegExp("..."))` instead of `z.string()`.
|
|
20
|
+
*
|
|
21
|
+
* @example
|
|
22
|
+
* ```ts
|
|
23
|
+
* regexOverrides: {
|
|
24
|
+
* BigDecimal: String.raw`^[+-]?(\.[0-9]+|[0-9]+\.?[0-9]*)([eE][+-]?[0-9]+)?$`
|
|
25
|
+
* }
|
|
26
|
+
* ```
|
|
27
|
+
*/
|
|
28
|
+
regexOverrides?: Record<string, string>;
|
|
12
29
|
}
|
|
13
30
|
export declare const DEFAULT_OUTPUT_PATH = "src/generated/zod-schemas.ts";
|
|
14
31
|
export declare function normalizeFilterConfig(config?: FilterConfig): Required<FilterConfig>;
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,MAAM,WAAW,YAAY;IAC5B,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,kBAAmB,SAAQ,YAAY;IACvD,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,EAAE,CAAC;IAC9B,QAAQ,CAAC,EAAE,mBAAmB,CAAC;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,MAAM,WAAW,YAAY;IAC5B,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,kBAAmB,SAAQ,YAAY;IACvD,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,EAAE,CAAC;IAC9B,QAAQ,CAAC,EAAE,mBAAmB,CAAC;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB;;;;;;;;;;;;;;;OAeG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACxC;AAED,eAAO,MAAM,mBAAmB,iCAAiC,CAAC;AAElE,wBAAgB,qBAAqB,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC,CAKnF"}
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAgCA,MAAM,CAAC,MAAM,mBAAmB,GAAG,8BAA8B,CAAC;AAElE,MAAM,UAAU,qBAAqB,CAAC,MAAqB;IAC1D,OAAO;QACN,OAAO,EAAE,MAAM,EAAE,OAAO,IAAI,EAAE;QAC9B,OAAO,EAAE,MAAM,EAAE,OAAO,IAAI,EAAE;KAC9B,CAAC;AACH,CAAC"}
|
package/dist/di.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"di.d.ts","sourceRoot":"","sources":["../src/di.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACpE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAGtD,MAAM,WAAW,kBAAkB;IAClC,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,GAAG,MAAM,CAAC;CACzE;AAED,qBAAa,yBAA0B,YAAW,kBAAkB;;gBAGvD,QAAQ,EAAE,mBAAmB;IAIzC,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,GAAG,MAAM;
|
|
1
|
+
{"version":3,"file":"di.d.ts","sourceRoot":"","sources":["../src/di.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACpE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAGtD,MAAM,WAAW,kBAAkB;IAClC,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,GAAG,MAAM,CAAC;CACzE;AAED,qBAAa,yBAA0B,YAAW,kBAAkB;;gBAGvD,QAAQ,EAAE,mBAAmB;IAIzC,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,GAAG,MAAM;CAUxE;AAED,MAAM,MAAM,0BAA0B,GAAG;IACxC,MAAM,EAAE;QACP,kBAAkB,EAAE,kBAAkB,CAAC;KACvC,CAAC;CACF,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAIrB,MAAM,CAAC,0BAA0B,EAAE,OAAO,CAAC,0BAA0B,CAAC,CAAC,CAAC"}
|
package/dist/di.js
CHANGED
package/dist/di.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"di.js","sourceRoot":"","sources":["../src/di.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAM9C,MAAM,OAAO,yBAAyB;IACrC,SAAS,CAAsB;IAE/B,YAAY,QAA6B;QACxC,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED,QAAQ,CAAC,OAAgB,EAAE,MAAoC;QAC9D,OAAO,kBAAkB,CAAC;YACzB,OAAO;YACP,QAAQ,EAAE,IAAI,CAAC,SAAS;YACxB,OAAO,EAAE,MAAM,EAAE,OAAO;YACxB,OAAO,EAAE,MAAM,EAAE,OAAO;YACxB,UAAU,EAAE,MAAM,EAAE,UAAU;
|
|
1
|
+
{"version":3,"file":"di.js","sourceRoot":"","sources":["../src/di.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAM9C,MAAM,OAAO,yBAAyB;IACrC,SAAS,CAAsB;IAE/B,YAAY,QAA6B;QACxC,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED,QAAQ,CAAC,OAAgB,EAAE,MAAoC;QAC9D,OAAO,kBAAkB,CAAC;YACzB,OAAO;YACP,QAAQ,EAAE,IAAI,CAAC,SAAS;YACxB,OAAO,EAAE,MAAM,EAAE,OAAO;YACxB,OAAO,EAAE,MAAM,EAAE,OAAO;YACxB,UAAU,EAAE,MAAM,EAAE,UAAU;YAC9B,cAAc,EAAE,MAAM,EAAE,cAAc;SACtC,CAAC,CAAC;IACJ,CAAC;CACD;AAQD,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACvC,MAAM,EAAE;QACP,kBAAkB,EAAE,CAAC,QAA6B,EAAE,EAAE,CAAC,IAAI,yBAAyB,CAAC,QAAQ,CAAC;KAC9F;CACqF,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -5,6 +5,8 @@ export { ZodGeneratorError } from './errors.js';
|
|
|
5
5
|
export { extractTypeDescriptors } from './extractor.js';
|
|
6
6
|
export { generateZodCode } from './generator.js';
|
|
7
7
|
export { detectRecursiveTypes } from './recursion-detector.js';
|
|
8
|
+
export { generate } from './cli.js';
|
|
9
|
+
export type { GenerateOptions, LangiumZodConfig } from './cli.js';
|
|
8
10
|
export type { AstTypesLike, InterfaceTypeLike, PropertyLike, UnionTypeLike, ZodPropertyDescriptor, ZodTypeDescriptor, ZodTypeExpression } from './types.js';
|
|
9
11
|
export { DefaultZodSchemaGenerator, ZodSchemaGeneratorModule } from './di.js';
|
|
10
12
|
export type { ZodSchemaGenerator, ZodSchemaGeneratorServices } from './di.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,YAAY,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,YAAY,EACX,YAAY,EACZ,iBAAiB,EACjB,YAAY,EACZ,aAAa,EACb,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,EACjB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,yBAAyB,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAC;AAC9E,YAAY,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,MAAM,SAAS,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,YAAY,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpC,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAClE,YAAY,EACX,YAAY,EACZ,iBAAiB,EACjB,YAAY,EACZ,aAAa,EACb,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,EACjB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,yBAAyB,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAC;AAC9E,YAAY,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,MAAM,SAAS,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -4,5 +4,6 @@ export { ZodGeneratorError } from './errors.js';
|
|
|
4
4
|
export { extractTypeDescriptors } from './extractor.js';
|
|
5
5
|
export { generateZodCode } from './generator.js';
|
|
6
6
|
export { detectRecursiveTypes } from './recursion-detector.js';
|
|
7
|
+
export { generate } from './cli.js';
|
|
7
8
|
export { DefaultZodSchemaGenerator, ZodSchemaGeneratorModule } from './di.js';
|
|
8
9
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAElD,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAElD,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAWpC,OAAO,EAAE,yBAAyB,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "langium-zod",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Langium generator plugin that derives Zod schemas from grammar definitions",
|
|
6
6
|
"keywords": [
|
|
@@ -25,10 +25,17 @@
|
|
|
25
25
|
},
|
|
26
26
|
"main": "./dist/index.js",
|
|
27
27
|
"types": "./dist/index.d.ts",
|
|
28
|
+
"bin": {
|
|
29
|
+
"langium-zod": "./dist/cli.js"
|
|
30
|
+
},
|
|
28
31
|
"exports": {
|
|
29
32
|
".": {
|
|
30
33
|
"types": "./dist/index.d.ts",
|
|
31
34
|
"import": "./dist/index.js"
|
|
35
|
+
},
|
|
36
|
+
"./cli": {
|
|
37
|
+
"types": "./dist/cli.d.ts",
|
|
38
|
+
"import": "./dist/cli.js"
|
|
32
39
|
}
|
|
33
40
|
},
|
|
34
41
|
"files": [
|