@flink-app/ts-source-to-json-schema 0.1.3 → 0.1.5
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 +207 -2
- package/dist/ast.d.ts +3 -0
- package/dist/ast.d.ts.map +1 -1
- package/dist/cli.js +52 -15
- package/dist/cli.js.map +1 -1
- package/dist/emitter.d.ts +81 -0
- package/dist/emitter.d.ts.map +1 -1
- package/dist/emitter.js +166 -14
- package/dist/emitter.js.map +1 -1
- package/dist/import-parser.d.ts +6 -1
- package/dist/import-parser.d.ts.map +1 -1
- package/dist/import-parser.js +91 -1
- package/dist/import-parser.js.map +1 -1
- package/dist/index.d.ts +28 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +76 -2
- package/dist/index.js.map +1 -1
- package/dist/module-resolver.d.ts +6 -0
- package/dist/module-resolver.d.ts.map +1 -1
- package/dist/module-resolver.js +37 -4
- package/dist/module-resolver.js.map +1 -1
- package/dist/parser.d.ts +4 -0
- package/dist/parser.d.ts.map +1 -1
- package/dist/parser.js +150 -2
- package/dist/parser.js.map +1 -1
- package/dist/path-utils.d.ts +37 -0
- package/dist/path-utils.d.ts.map +1 -1
- package/dist/path-utils.js +314 -9
- package/dist/path-utils.js.map +1 -1
- package/dist/tokenizer.d.ts.map +1 -1
- package/dist/tokenizer.js +2 -1
- package/dist/tokenizer.js.map +1 -1
- package/package.json +3 -1
package/dist/path-utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"path-utils.d.ts","sourceRoot":"","sources":["../src/path-utils.ts"],"names":[],"mappings":"AAOA;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAE5D;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,GAAG,OAAO,GAAG,KAAK,GACnC,MAAM,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"path-utils.d.ts","sourceRoot":"","sources":["../src/path-utils.ts"],"names":[],"mappings":"AAOA;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAE5D;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,GAAG,OAAO,GAAG,KAAK,GACnC,MAAM,GAAG,IAAI,CAuBf;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,GACnB,MAAM,GAAG,IAAI,CAyBf;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG;IACtD,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;CAC7B,CAkBA;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAgCrE;AAkHD;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CA0BpD;AAmFD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAyBjE"}
|
package/dist/path-utils.js
CHANGED
|
@@ -22,15 +22,320 @@ export function resolveImportPath(importPath, fromFilePath, followMode) {
|
|
|
22
22
|
if (followMode === "local" && !isRelativeImport(importPath)) {
|
|
23
23
|
return null;
|
|
24
24
|
}
|
|
25
|
-
//
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
return
|
|
29
|
-
}
|
|
30
|
-
//
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
25
|
+
// Handle relative imports (both "local" and "all" modes)
|
|
26
|
+
if (isRelativeImport(importPath)) {
|
|
27
|
+
const fromDir = path.dirname(fromFilePath);
|
|
28
|
+
return path.resolve(fromDir, importPath);
|
|
29
|
+
}
|
|
30
|
+
// In "all" mode, resolve node_modules packages
|
|
31
|
+
if (followMode === "all") {
|
|
32
|
+
return resolveNodeModule(importPath, fromFilePath);
|
|
33
|
+
}
|
|
34
|
+
return null;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Resolve a bare/package import by walking up node_modules directories.
|
|
38
|
+
* Handles scoped packages (@scope/pkg) and deep imports (@scope/pkg/sub/path).
|
|
39
|
+
*
|
|
40
|
+
* Resolution strategy:
|
|
41
|
+
* 1. Walk up from importing file looking for node_modules/<package>
|
|
42
|
+
* 2. Read package.json to find type entry point
|
|
43
|
+
* 3. Resolve with TypeScript extensions
|
|
44
|
+
*/
|
|
45
|
+
export function resolveNodeModule(importPath, fromFilePath) {
|
|
46
|
+
// Split into package name and sub-path
|
|
47
|
+
const { packageName, subPath } = parsePackageImport(importPath);
|
|
48
|
+
// Walk up directory tree looking for node_modules
|
|
49
|
+
let dir = path.dirname(path.resolve(fromFilePath));
|
|
50
|
+
const root = path.parse(dir).root;
|
|
51
|
+
while (dir !== root) {
|
|
52
|
+
const nodeModulesDir = path.join(dir, "node_modules", packageName);
|
|
53
|
+
if (fs.existsSync(nodeModulesDir) && fs.statSync(nodeModulesDir).isDirectory()) {
|
|
54
|
+
// Found the package directory
|
|
55
|
+
if (subPath) {
|
|
56
|
+
// Deep import: @scope/pkg/sub/path → resolve sub/path within package
|
|
57
|
+
return resolveDeepImport(nodeModulesDir, subPath);
|
|
58
|
+
}
|
|
59
|
+
// Root import: resolve via package.json
|
|
60
|
+
return resolvePackageEntry(nodeModulesDir);
|
|
61
|
+
}
|
|
62
|
+
dir = path.dirname(dir);
|
|
63
|
+
}
|
|
64
|
+
return null;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Parse a package import into package name and optional sub-path.
|
|
68
|
+
* Examples:
|
|
69
|
+
* "lodash" → { packageName: "lodash", subPath: undefined }
|
|
70
|
+
* "lodash/fp" → { packageName: "lodash", subPath: "fp" }
|
|
71
|
+
* "@scope/pkg" → { packageName: "@scope/pkg", subPath: undefined }
|
|
72
|
+
* "@scope/pkg/utils" → { packageName: "@scope/pkg", subPath: "utils" }
|
|
73
|
+
*/
|
|
74
|
+
export function parsePackageImport(importPath) {
|
|
75
|
+
if (importPath.startsWith("@")) {
|
|
76
|
+
// Scoped package: @scope/pkg[/sub/path]
|
|
77
|
+
const parts = importPath.split("/");
|
|
78
|
+
const packageName = parts.slice(0, 2).join("/");
|
|
79
|
+
const subPath = parts.length > 2 ? parts.slice(2).join("/") : undefined;
|
|
80
|
+
return { packageName, subPath };
|
|
81
|
+
}
|
|
82
|
+
// Regular package: pkg[/sub/path]
|
|
83
|
+
const slashIndex = importPath.indexOf("/");
|
|
84
|
+
if (slashIndex === -1) {
|
|
85
|
+
return { packageName: importPath, subPath: undefined };
|
|
86
|
+
}
|
|
87
|
+
return {
|
|
88
|
+
packageName: importPath.substring(0, slashIndex),
|
|
89
|
+
subPath: importPath.substring(slashIndex + 1),
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Resolve the type entry point of a package from its package.json.
|
|
94
|
+
* Checks (in order):
|
|
95
|
+
* 1. "types" or "typings" field
|
|
96
|
+
* 2. "exports["."].types" (conditional exports)
|
|
97
|
+
* 3. "main" field → look for .d.ts alongside
|
|
98
|
+
* 4. Fallback: index.d.ts
|
|
99
|
+
*/
|
|
100
|
+
export function resolvePackageEntry(packageDir) {
|
|
101
|
+
const pkgJsonPath = path.join(packageDir, "package.json");
|
|
102
|
+
if (fs.existsSync(pkgJsonPath)) {
|
|
103
|
+
let pkg;
|
|
104
|
+
try {
|
|
105
|
+
pkg = JSON.parse(fs.readFileSync(pkgJsonPath, "utf-8"));
|
|
106
|
+
}
|
|
107
|
+
catch {
|
|
108
|
+
return null;
|
|
109
|
+
}
|
|
110
|
+
// 1. "types" or "typings" field
|
|
111
|
+
const typesField = pkg.types || pkg.typings;
|
|
112
|
+
if (typesField) {
|
|
113
|
+
const resolved = path.resolve(packageDir, typesField);
|
|
114
|
+
if (fs.existsSync(resolved))
|
|
115
|
+
return resolved;
|
|
116
|
+
}
|
|
117
|
+
// 2. "exports" field - check for types condition
|
|
118
|
+
const typesFromExports = resolveExportsTypes(pkg.exports, packageDir);
|
|
119
|
+
if (typesFromExports)
|
|
120
|
+
return typesFromExports;
|
|
121
|
+
// 3. "main" field → look for .d.ts alongside
|
|
122
|
+
if (pkg.main) {
|
|
123
|
+
const mainPath = path.resolve(packageDir, pkg.main);
|
|
124
|
+
const dtsFromMain = findDtsForFile(mainPath);
|
|
125
|
+
if (dtsFromMain)
|
|
126
|
+
return dtsFromMain;
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
// 4. Fallback: index.d.ts or index.ts
|
|
130
|
+
return resolveExtensions(path.join(packageDir, "index"));
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Extract types entry from package.json "exports" field.
|
|
134
|
+
* Handles common patterns:
|
|
135
|
+
* - exports: { ".": { "types": "./dist/index.d.ts" } }
|
|
136
|
+
* - exports: { ".": { "import": { "types": "./dist/index.d.mts" } } }
|
|
137
|
+
* - exports: { "types": "./dist/index.d.ts" } (shorthand for ".")
|
|
138
|
+
*/
|
|
139
|
+
function resolveExportsTypes(exports, packageDir) {
|
|
140
|
+
if (!exports || typeof exports !== "object")
|
|
141
|
+
return null;
|
|
142
|
+
// Direct string (no conditions) - not useful for types
|
|
143
|
+
if (typeof exports === "string")
|
|
144
|
+
return null;
|
|
145
|
+
// Check for "types" at top level of exports (shorthand)
|
|
146
|
+
if (exports.types && typeof exports.types === "string") {
|
|
147
|
+
const resolved = path.resolve(packageDir, exports.types);
|
|
148
|
+
if (fs.existsSync(resolved))
|
|
149
|
+
return resolved;
|
|
150
|
+
}
|
|
151
|
+
// Check exports["."]
|
|
152
|
+
const dotExport = exports["."];
|
|
153
|
+
if (dotExport) {
|
|
154
|
+
const result = resolveConditionTypes(dotExport, packageDir);
|
|
155
|
+
if (result)
|
|
156
|
+
return result;
|
|
157
|
+
}
|
|
158
|
+
return null;
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Resolve "types" from a conditional export object.
|
|
162
|
+
* Handles nested conditions like { import: { types: "..." }, require: { types: "..." } }
|
|
163
|
+
*/
|
|
164
|
+
function resolveConditionTypes(condition, packageDir) {
|
|
165
|
+
if (!condition || typeof condition !== "object")
|
|
166
|
+
return null;
|
|
167
|
+
// Direct "types" condition
|
|
168
|
+
if (condition.types && typeof condition.types === "string") {
|
|
169
|
+
const resolved = path.resolve(packageDir, condition.types);
|
|
170
|
+
if (fs.existsSync(resolved))
|
|
171
|
+
return resolved;
|
|
172
|
+
}
|
|
173
|
+
// Check nested: import.types, require.types
|
|
174
|
+
for (const key of ["import", "require", "default"]) {
|
|
175
|
+
if (condition[key] && typeof condition[key] === "object") {
|
|
176
|
+
const nested = condition[key];
|
|
177
|
+
if (nested.types && typeof nested.types === "string") {
|
|
178
|
+
const resolved = path.resolve(packageDir, nested.types);
|
|
179
|
+
if (fs.existsSync(resolved))
|
|
180
|
+
return resolved;
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
return null;
|
|
185
|
+
}
|
|
186
|
+
/**
|
|
187
|
+
* Find a .d.ts file corresponding to a .js file.
|
|
188
|
+
* foo.js → foo.d.ts, foo.mjs → foo.d.mts, etc.
|
|
189
|
+
*/
|
|
190
|
+
function findDtsForFile(filePath) {
|
|
191
|
+
const ext = path.extname(filePath);
|
|
192
|
+
const base = filePath.slice(0, -ext.length);
|
|
193
|
+
// Try common .d.ts extensions
|
|
194
|
+
const dtsExts = [".d.ts", ".d.mts", ".d.cts"];
|
|
195
|
+
for (const dtsExt of dtsExts) {
|
|
196
|
+
const dtsPath = base + dtsExt;
|
|
197
|
+
if (fs.existsSync(dtsPath))
|
|
198
|
+
return dtsPath;
|
|
199
|
+
}
|
|
200
|
+
return null;
|
|
201
|
+
}
|
|
202
|
+
/**
|
|
203
|
+
* Resolve a deep import within a package directory.
|
|
204
|
+
* @scope/pkg/utils → node_modules/@scope/pkg/utils with extension resolution
|
|
205
|
+
*/
|
|
206
|
+
function resolveDeepImport(packageDir, subPath) {
|
|
207
|
+
const fullPath = path.join(packageDir, subPath);
|
|
208
|
+
// First check package.json exports for sub-path mapping
|
|
209
|
+
const pkgJsonPath = path.join(packageDir, "package.json");
|
|
210
|
+
if (fs.existsSync(pkgJsonPath)) {
|
|
211
|
+
try {
|
|
212
|
+
const pkg = JSON.parse(fs.readFileSync(pkgJsonPath, "utf-8"));
|
|
213
|
+
if (pkg.exports) {
|
|
214
|
+
const exportKey = "./" + subPath;
|
|
215
|
+
const exportEntry = pkg.exports[exportKey];
|
|
216
|
+
if (exportEntry) {
|
|
217
|
+
const result = resolveConditionTypes(typeof exportEntry === "string" ? { types: exportEntry } : exportEntry, packageDir);
|
|
218
|
+
if (result)
|
|
219
|
+
return result;
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
catch {
|
|
224
|
+
// Ignore package.json parse errors
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
// Fall back to direct path resolution with extensions
|
|
228
|
+
return resolveExtensions(fullPath);
|
|
229
|
+
}
|
|
230
|
+
/**
|
|
231
|
+
* Expand a glob pattern to matching file paths.
|
|
232
|
+
* Supports: *, **, and ? wildcards.
|
|
233
|
+
* Returns absolute paths sorted alphabetically.
|
|
234
|
+
*/
|
|
235
|
+
export function expandGlob(pattern) {
|
|
236
|
+
// If no glob chars, return as-is (it's a literal path)
|
|
237
|
+
if (!/[*?]/.test(pattern)) {
|
|
238
|
+
const resolved = path.resolve(pattern);
|
|
239
|
+
return fs.existsSync(resolved) ? [resolved] : [];
|
|
240
|
+
}
|
|
241
|
+
// Split pattern into base dir (no globs) and glob part
|
|
242
|
+
const allParts = pattern.split(/[\\/]/);
|
|
243
|
+
let baseDir = ".";
|
|
244
|
+
let globParts = [];
|
|
245
|
+
for (let i = 0; i < allParts.length; i++) {
|
|
246
|
+
if (/[*?]/.test(allParts[i])) {
|
|
247
|
+
baseDir = allParts.slice(0, i).join(path.sep) || ".";
|
|
248
|
+
globParts = allParts.slice(i);
|
|
249
|
+
break;
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
const resolvedBase = path.resolve(baseDir);
|
|
253
|
+
if (!fs.existsSync(resolvedBase))
|
|
254
|
+
return [];
|
|
255
|
+
const results = [];
|
|
256
|
+
matchRecursive(resolvedBase, globParts, 0, results);
|
|
257
|
+
return results.sort();
|
|
258
|
+
}
|
|
259
|
+
/**
|
|
260
|
+
* Recursively match path segments against glob parts.
|
|
261
|
+
*/
|
|
262
|
+
function matchRecursive(currentDir, globParts, partIndex, results) {
|
|
263
|
+
if (partIndex >= globParts.length)
|
|
264
|
+
return;
|
|
265
|
+
const part = globParts[partIndex];
|
|
266
|
+
const isLast = partIndex === globParts.length - 1;
|
|
267
|
+
if (part === "**") {
|
|
268
|
+
// ** matches zero or more directory levels
|
|
269
|
+
// Try matching zero levels (skip **)
|
|
270
|
+
if (partIndex + 1 < globParts.length) {
|
|
271
|
+
matchRecursive(currentDir, globParts, partIndex + 1, results);
|
|
272
|
+
}
|
|
273
|
+
// Try matching one or more levels
|
|
274
|
+
let entries;
|
|
275
|
+
try {
|
|
276
|
+
entries = fs.readdirSync(currentDir, { withFileTypes: true });
|
|
277
|
+
}
|
|
278
|
+
catch {
|
|
279
|
+
return;
|
|
280
|
+
}
|
|
281
|
+
for (const entry of entries) {
|
|
282
|
+
if (entry.name.startsWith("."))
|
|
283
|
+
continue;
|
|
284
|
+
const fullPath = path.join(currentDir, entry.name);
|
|
285
|
+
if (entry.isDirectory()) {
|
|
286
|
+
// Recurse into subdirectory, keeping ** active
|
|
287
|
+
matchRecursive(fullPath, globParts, partIndex, results);
|
|
288
|
+
}
|
|
289
|
+
else if (isLast) {
|
|
290
|
+
// ** at end matches files too
|
|
291
|
+
results.push(fullPath);
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
else {
|
|
296
|
+
// Regular segment with possible * or ? wildcards
|
|
297
|
+
const regex = globPartToRegex(part);
|
|
298
|
+
let entries;
|
|
299
|
+
try {
|
|
300
|
+
entries = fs.readdirSync(currentDir, { withFileTypes: true });
|
|
301
|
+
}
|
|
302
|
+
catch {
|
|
303
|
+
return;
|
|
304
|
+
}
|
|
305
|
+
for (const entry of entries) {
|
|
306
|
+
if (entry.name.startsWith("."))
|
|
307
|
+
continue;
|
|
308
|
+
if (!regex.test(entry.name))
|
|
309
|
+
continue;
|
|
310
|
+
const fullPath = path.join(currentDir, entry.name);
|
|
311
|
+
if (isLast) {
|
|
312
|
+
if (entry.isFile()) {
|
|
313
|
+
results.push(fullPath);
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
else if (entry.isDirectory()) {
|
|
317
|
+
matchRecursive(fullPath, globParts, partIndex + 1, results);
|
|
318
|
+
}
|
|
319
|
+
}
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
/**
|
|
323
|
+
* Convert a glob segment (e.g. "*.ts") to a regex.
|
|
324
|
+
*/
|
|
325
|
+
function globPartToRegex(part) {
|
|
326
|
+
let regex = "^";
|
|
327
|
+
for (const ch of part) {
|
|
328
|
+
if (ch === "*")
|
|
329
|
+
regex += ".*";
|
|
330
|
+
else if (ch === "?")
|
|
331
|
+
regex += ".";
|
|
332
|
+
else if (".+^${}()|[]\\".includes(ch))
|
|
333
|
+
regex += "\\" + ch;
|
|
334
|
+
else
|
|
335
|
+
regex += ch;
|
|
336
|
+
}
|
|
337
|
+
regex += "$";
|
|
338
|
+
return new RegExp(regex);
|
|
34
339
|
}
|
|
35
340
|
/**
|
|
36
341
|
* Try to resolve a module path with TypeScript extensions.
|
package/dist/path-utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"path-utils.js","sourceRoot":"","sources":["../src/path-utils.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,oEAAoE;AACpE,+EAA+E;AAE/E,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AAEzB;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,UAAkB;IACjD,OAAO,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;AACrE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAC/B,UAAkB,EAClB,YAAoB,EACpB,UAAoC;IAEpC,kCAAkC;IAClC,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,gDAAgD;IAChD,IAAI,UAAU,KAAK,OAAO,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5D,OAAO,IAAI,CAAC;IACd,CAAC;IAED,oEAAoE;IACpE,kCAAkC;IAClC,IAAI,UAAU,KAAK,KAAK,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,EAAE,CAAC;QAC1D,OAAO,IAAI,CAAC,CAAC,uCAAuC;IACtD,CAAC;IAED,0DAA0D;IAC1D,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IAEnD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,QAAgB;IAChD,wBAAwB;IACxB,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;QAC9D,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,wBAAwB;IACxB,MAAM,UAAU,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAC5C,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC7B,MAAM,OAAO,GAAG,QAAQ,GAAG,GAAG,CAAC;QAC/B,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;YAC5D,OAAO,OAAO,CAAC;QACjB,CAAC;IACH,CAAC;IAED,oEAAoE;IACpE,MAAM,UAAU,GAAG,CAAC,UAAU,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;IAC3D,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QACjD,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;YAChE,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
1
|
+
{"version":3,"file":"path-utils.js","sourceRoot":"","sources":["../src/path-utils.ts"],"names":[],"mappings":"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"}
|
package/dist/tokenizer.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokenizer.d.ts","sourceRoot":"","sources":["../src/tokenizer.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,SAAS,GACjB,SAAS,GACT,WAAW,GACX,YAAY,GACZ,QAAQ,GACR,QAAQ,GACR,aAAa,GACb,OAAO,GACP,SAAS,GACT,KAAK,CAAC;AAEV,MAAM,WAAW,KAAK;IACpB,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;CACb;
|
|
1
|
+
{"version":3,"file":"tokenizer.d.ts","sourceRoot":"","sources":["../src/tokenizer.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,SAAS,GACjB,SAAS,GACT,WAAW,GACX,YAAY,GACZ,QAAQ,GACR,QAAQ,GACR,aAAa,GACb,OAAO,GACP,SAAS,GACT,KAAK,CAAC;AAEV,MAAM,WAAW,KAAK;IACpB,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;CACb;AAkBD,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,EAAE,CA0LhD"}
|
package/dist/tokenizer.js
CHANGED
|
@@ -3,7 +3,8 @@
|
|
|
3
3
|
// ============================================================================
|
|
4
4
|
const KEYWORDS = new Set([
|
|
5
5
|
"interface", "type", "export", "extends", "enum", "const", "readonly",
|
|
6
|
-
"import", "from", "as",
|
|
6
|
+
"import", "from", "as", "declare", "module", "namespace", "function",
|
|
7
|
+
"class", "var", "let", "default", "abstract",
|
|
7
8
|
]);
|
|
8
9
|
const PRIMITIVES = new Set([
|
|
9
10
|
"string", "number", "boolean", "null", "undefined",
|
package/dist/tokenizer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokenizer.js","sourceRoot":"","sources":["../src/tokenizer.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,+DAA+D;AAC/D,+EAA+E;AAoB/E,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC;IACvB,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU;IACrE,QAAQ,EAAE,MAAM,EAAE,IAAI;
|
|
1
|
+
{"version":3,"file":"tokenizer.js","sourceRoot":"","sources":["../src/tokenizer.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@flink-app/ts-source-to-json-schema",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.5",
|
|
4
4
|
"description": "A zero-dependency TypeScript-to-JSON Schema converter that uses its own mini-parser",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -51,6 +51,8 @@
|
|
|
51
51
|
"@jest/globals": "^30.2.0",
|
|
52
52
|
"@types/jest": "^30.0.0",
|
|
53
53
|
"@types/node": "^25.3.0",
|
|
54
|
+
"ajv": "^8.18.0",
|
|
55
|
+
"ajv-formats": "^3.0.1",
|
|
54
56
|
"jest": "^30.2.0",
|
|
55
57
|
"ts-jest": "^29.4.6",
|
|
56
58
|
"tsx": "^4.7.0",
|