ts-runtime-validation 1.7.0 → 1.8.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/README.md +93 -30
- package/dist/SchemaGenerator.deterministic-extended.test.js +420 -0
- package/dist/SchemaGenerator.deterministic-extended.test.js.map +1 -0
- package/dist/SchemaGenerator.deterministic.test.js +251 -0
- package/dist/SchemaGenerator.deterministic.test.js.map +1 -0
- package/dist/SchemaGenerator.integration.test.js +3 -3
- package/dist/SchemaGenerator.integration.test.js.map +1 -1
- package/dist/SchemaGenerator.test.js +94 -0
- package/dist/SchemaGenerator.test.js.map +1 -1
- package/dist/cli.test.js +155 -0
- package/dist/cli.test.js.map +1 -0
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/services/CodeGenerator.js +29 -13
- package/dist/services/CodeGenerator.js.map +1 -1
- package/dist/services/FileDiscovery.js +4 -2
- package/dist/services/FileDiscovery.js.map +1 -1
- package/dist/services/FileDiscovery.test.js +1 -1
- package/dist/services/FileDiscovery.test.js.map +1 -1
- package/dist/services/SchemaProcessor.js +27 -11
- package/dist/services/SchemaProcessor.js.map +1 -1
- package/dist/services/SchemaProcessor.test.js +61 -1
- package/dist/services/SchemaProcessor.test.js.map +1 -1
- package/dist/services/SchemaWriter.test.js +1 -1
- package/dist/services/SchemaWriter.test.js.map +1 -1
- package/package.json +1 -1
- package/src/SchemaGenerator.deterministic-extended.test.ts +429 -0
- package/src/SchemaGenerator.deterministic.test.ts +276 -0
- package/src/SchemaGenerator.integration.test.ts +3 -3
- package/src/SchemaGenerator.test.ts +111 -0
- package/src/cli.test.ts +130 -0
- package/src/index.ts +1 -1
- package/src/services/CodeGenerator.ts +30 -12
- package/src/services/FileDiscovery.test.ts +1 -1
- package/src/services/FileDiscovery.ts +5 -2
- package/src/services/SchemaProcessor.test.ts +73 -1
- package/src/services/SchemaProcessor.ts +30 -9
- package/src/services/SchemaWriter.test.ts +1 -1
- package/.claude/settings.local.json +0 -9
- package/dist/test/output/duplicate-symbols-identitcal-implementation/ValidationType.js +0 -3
- package/dist/test/output/duplicate-symbols-identitcal-implementation/ValidationType.js.map +0 -1
- package/dist/test/output/duplicate-symbols-identitcal-implementation/isValidSchema.js +0 -49
- package/dist/test/output/duplicate-symbols-identitcal-implementation/isValidSchema.js.map +0 -1
|
@@ -0,0 +1,251 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
36
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
37
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
38
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
39
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
40
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
41
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
42
|
+
});
|
|
43
|
+
};
|
|
44
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
45
|
+
const SchemaGenerator_1 = require("./SchemaGenerator");
|
|
46
|
+
const fs = __importStar(require("fs"));
|
|
47
|
+
const path = __importStar(require("path"));
|
|
48
|
+
const crypto = __importStar(require("crypto"));
|
|
49
|
+
describe("SchemaGenerator - Deterministic Output", () => {
|
|
50
|
+
const testOutputPath1 = path.join(__dirname, "../.test-tmp/deterministic-output-1");
|
|
51
|
+
const testOutputPath2 = path.join(__dirname, "../.test-tmp/deterministic-output-2");
|
|
52
|
+
beforeEach(() => {
|
|
53
|
+
// Clean up test directories before each test
|
|
54
|
+
[testOutputPath1, testOutputPath2].forEach((dir) => {
|
|
55
|
+
if (fs.existsSync(dir)) {
|
|
56
|
+
fs.rmSync(dir, { recursive: true, force: true });
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
});
|
|
60
|
+
afterEach(() => {
|
|
61
|
+
// Clean up test directories after each test
|
|
62
|
+
[testOutputPath1, testOutputPath2].forEach((dir) => {
|
|
63
|
+
if (fs.existsSync(dir)) {
|
|
64
|
+
fs.rmSync(dir, { recursive: true, force: true });
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
});
|
|
68
|
+
const getFileHash = (filePath) => {
|
|
69
|
+
if (!fs.existsSync(filePath)) {
|
|
70
|
+
return "";
|
|
71
|
+
}
|
|
72
|
+
const content = fs.readFileSync(filePath, "utf-8");
|
|
73
|
+
return crypto.createHash("md5").update(content).digest("hex");
|
|
74
|
+
};
|
|
75
|
+
const getDirectoryHashes = (dir) => {
|
|
76
|
+
const hashes = new Map();
|
|
77
|
+
if (!fs.existsSync(dir)) {
|
|
78
|
+
return hashes;
|
|
79
|
+
}
|
|
80
|
+
const files = fs.readdirSync(dir);
|
|
81
|
+
files.forEach((file) => {
|
|
82
|
+
const filePath = path.join(dir, file);
|
|
83
|
+
if (fs.statSync(filePath).isFile()) {
|
|
84
|
+
hashes.set(file, getFileHash(filePath));
|
|
85
|
+
}
|
|
86
|
+
});
|
|
87
|
+
return hashes;
|
|
88
|
+
};
|
|
89
|
+
it("should generate identical output for single file on multiple runs", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
90
|
+
const options1 = {
|
|
91
|
+
glob: "test/basic-scenario/*.jsonschema.ts",
|
|
92
|
+
rootPath: path.join(__dirname),
|
|
93
|
+
output: "../.test-tmp/deterministic-output-1",
|
|
94
|
+
tsconfigPath: "",
|
|
95
|
+
helpers: true,
|
|
96
|
+
additionalProperties: false,
|
|
97
|
+
verbose: false,
|
|
98
|
+
progress: false,
|
|
99
|
+
minify: false,
|
|
100
|
+
cache: false,
|
|
101
|
+
parallel: true,
|
|
102
|
+
treeShaking: false,
|
|
103
|
+
lazyLoad: false,
|
|
104
|
+
};
|
|
105
|
+
const options2 = Object.assign(Object.assign({}, options1), { output: "../.test-tmp/deterministic-output-2" });
|
|
106
|
+
// First generation
|
|
107
|
+
const generator1 = new SchemaGenerator_1.SchemaGenerator(options1);
|
|
108
|
+
yield generator1.Generate();
|
|
109
|
+
// Second generation
|
|
110
|
+
const generator2 = new SchemaGenerator_1.SchemaGenerator(options2);
|
|
111
|
+
yield generator2.Generate();
|
|
112
|
+
// Compare hashes
|
|
113
|
+
const hashes1 = getDirectoryHashes(testOutputPath1);
|
|
114
|
+
const hashes2 = getDirectoryHashes(testOutputPath2);
|
|
115
|
+
expect(hashes1.size).toBeGreaterThan(0);
|
|
116
|
+
expect(hashes1.size).toBe(hashes2.size);
|
|
117
|
+
hashes1.forEach((hash, fileName) => {
|
|
118
|
+
expect(hashes2.get(fileName)).toBe(hash);
|
|
119
|
+
});
|
|
120
|
+
}));
|
|
121
|
+
it("should generate identical output for multiple files with identical symbols", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
122
|
+
const options1 = {
|
|
123
|
+
glob: "test/duplicate-symbols-identitcal-implementation/*.jsonschema.ts",
|
|
124
|
+
rootPath: path.join(__dirname),
|
|
125
|
+
output: "../.test-tmp/deterministic-output-1",
|
|
126
|
+
tsconfigPath: "",
|
|
127
|
+
helpers: true,
|
|
128
|
+
additionalProperties: false,
|
|
129
|
+
verbose: false,
|
|
130
|
+
progress: false,
|
|
131
|
+
minify: false,
|
|
132
|
+
cache: false,
|
|
133
|
+
parallel: true,
|
|
134
|
+
treeShaking: false,
|
|
135
|
+
lazyLoad: false,
|
|
136
|
+
};
|
|
137
|
+
const options2 = Object.assign(Object.assign({}, options1), { output: "../.test-tmp/deterministic-output-2" });
|
|
138
|
+
// First generation
|
|
139
|
+
const generator1 = new SchemaGenerator_1.SchemaGenerator(options1);
|
|
140
|
+
yield generator1.Generate();
|
|
141
|
+
// Second generation
|
|
142
|
+
const generator2 = new SchemaGenerator_1.SchemaGenerator(options2);
|
|
143
|
+
yield generator2.Generate();
|
|
144
|
+
// Compare hashes
|
|
145
|
+
const hashes1 = getDirectoryHashes(testOutputPath1);
|
|
146
|
+
const hashes2 = getDirectoryHashes(testOutputPath2);
|
|
147
|
+
expect(hashes1.size).toBeGreaterThan(0);
|
|
148
|
+
expect(hashes1.size).toBe(hashes2.size);
|
|
149
|
+
hashes1.forEach((hash, fileName) => {
|
|
150
|
+
expect(hashes2.get(fileName)).toStrictEqual(hash);
|
|
151
|
+
});
|
|
152
|
+
}));
|
|
153
|
+
it("should generate identical output regardless of parallel vs sequential processing", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
154
|
+
const baseOptions = {
|
|
155
|
+
glob: "test/basic-scenario/*.jsonschema.ts",
|
|
156
|
+
rootPath: path.join(__dirname),
|
|
157
|
+
tsconfigPath: "",
|
|
158
|
+
helpers: true,
|
|
159
|
+
additionalProperties: false,
|
|
160
|
+
verbose: false,
|
|
161
|
+
progress: false,
|
|
162
|
+
minify: false,
|
|
163
|
+
cache: false,
|
|
164
|
+
treeShaking: false,
|
|
165
|
+
lazyLoad: false,
|
|
166
|
+
};
|
|
167
|
+
const optionsParallel = Object.assign(Object.assign({}, baseOptions), { output: "../.test-tmp/deterministic-output-1", parallel: true });
|
|
168
|
+
const optionsSequential = Object.assign(Object.assign({}, baseOptions), { output: "../.test-tmp/deterministic-output-2", parallel: false });
|
|
169
|
+
// Parallel generation
|
|
170
|
+
const generatorParallel = new SchemaGenerator_1.SchemaGenerator(optionsParallel);
|
|
171
|
+
yield generatorParallel.Generate();
|
|
172
|
+
// Sequential generation
|
|
173
|
+
const generatorSequential = new SchemaGenerator_1.SchemaGenerator(optionsSequential);
|
|
174
|
+
yield generatorSequential.Generate();
|
|
175
|
+
// Compare hashes
|
|
176
|
+
const hashesParallel = getDirectoryHashes(testOutputPath1);
|
|
177
|
+
const hashesSequential = getDirectoryHashes(testOutputPath2);
|
|
178
|
+
expect(hashesParallel.size).toBeGreaterThan(0);
|
|
179
|
+
expect(hashesParallel.size).toBe(hashesSequential.size);
|
|
180
|
+
hashesParallel.forEach((hash, fileName) => {
|
|
181
|
+
expect(hashesSequential.get(fileName)).toBe(hash);
|
|
182
|
+
});
|
|
183
|
+
}));
|
|
184
|
+
it("should generate identical output with different output generation options", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
185
|
+
// Test that tree-shaking and lazy-load options produce deterministic output
|
|
186
|
+
const baseOptions = {
|
|
187
|
+
glob: "test/basic-scenario/*.jsonschema.ts",
|
|
188
|
+
rootPath: path.join(__dirname),
|
|
189
|
+
tsconfigPath: "",
|
|
190
|
+
helpers: true,
|
|
191
|
+
additionalProperties: false,
|
|
192
|
+
verbose: false,
|
|
193
|
+
progress: false,
|
|
194
|
+
minify: false,
|
|
195
|
+
cache: false,
|
|
196
|
+
parallel: true,
|
|
197
|
+
};
|
|
198
|
+
const optionsTreeShaking1 = Object.assign(Object.assign({}, baseOptions), { output: "../.test-tmp/deterministic-output-1", treeShaking: true, lazyLoad: false });
|
|
199
|
+
const optionsTreeShaking2 = Object.assign(Object.assign({}, baseOptions), { output: "../.test-tmp/deterministic-output-2", treeShaking: true, lazyLoad: false });
|
|
200
|
+
// First generation with tree-shaking
|
|
201
|
+
const generator1 = new SchemaGenerator_1.SchemaGenerator(optionsTreeShaking1);
|
|
202
|
+
yield generator1.Generate();
|
|
203
|
+
// Second generation with tree-shaking
|
|
204
|
+
const generator2 = new SchemaGenerator_1.SchemaGenerator(optionsTreeShaking2);
|
|
205
|
+
yield generator2.Generate();
|
|
206
|
+
// Compare hashes
|
|
207
|
+
const hashes1 = getDirectoryHashes(testOutputPath1);
|
|
208
|
+
const hashes2 = getDirectoryHashes(testOutputPath2);
|
|
209
|
+
expect(hashes1.size).toBeGreaterThan(0);
|
|
210
|
+
expect(hashes1.size).toBe(hashes2.size);
|
|
211
|
+
hashes1.forEach((hash, fileName) => {
|
|
212
|
+
expect(hashes2.get(fileName)).toBe(hash);
|
|
213
|
+
});
|
|
214
|
+
}));
|
|
215
|
+
it("should maintain consistent import order in generated files", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
216
|
+
const options = {
|
|
217
|
+
glob: "test/duplicate-symbols-identitcal-implementation/*.jsonschema.ts",
|
|
218
|
+
rootPath: path.join(__dirname),
|
|
219
|
+
output: "../.test-tmp/deterministic-output-1",
|
|
220
|
+
tsconfigPath: "",
|
|
221
|
+
helpers: true,
|
|
222
|
+
additionalProperties: false,
|
|
223
|
+
verbose: false,
|
|
224
|
+
progress: false,
|
|
225
|
+
minify: false,
|
|
226
|
+
cache: false,
|
|
227
|
+
parallel: true,
|
|
228
|
+
treeShaking: false,
|
|
229
|
+
lazyLoad: false,
|
|
230
|
+
};
|
|
231
|
+
const generator = new SchemaGenerator_1.SchemaGenerator(options);
|
|
232
|
+
yield generator.Generate();
|
|
233
|
+
// Check that SchemaDefinition.ts has sorted imports
|
|
234
|
+
const schemaDefPath = path.join(testOutputPath1, "SchemaDefinition.ts");
|
|
235
|
+
expect(fs.existsSync(schemaDefPath)).toBe(true);
|
|
236
|
+
const schemaDefContent = fs.readFileSync(schemaDefPath, "utf-8");
|
|
237
|
+
const importLines = schemaDefContent.split("\n").filter((line) => line.startsWith("import"));
|
|
238
|
+
// Verify imports are in alphabetical order
|
|
239
|
+
const sortedImports = [...importLines].sort();
|
|
240
|
+
expect(importLines).toEqual(sortedImports);
|
|
241
|
+
// Check that ValidationType.ts has sorted imports
|
|
242
|
+
const validationTypePath = path.join(testOutputPath1, "ValidationType.ts");
|
|
243
|
+
expect(fs.existsSync(validationTypePath)).toBe(true);
|
|
244
|
+
const validationTypeContent = fs.readFileSync(validationTypePath, "utf-8");
|
|
245
|
+
const validationImportLines = validationTypeContent.split("\n").filter((line) => line.startsWith("import"));
|
|
246
|
+
// Verify imports are in alphabetical order
|
|
247
|
+
const sortedValidationImports = [...validationImportLines].sort();
|
|
248
|
+
expect(validationImportLines).toEqual(sortedValidationImports);
|
|
249
|
+
}));
|
|
250
|
+
});
|
|
251
|
+
//# sourceMappingURL=SchemaGenerator.deterministic.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SchemaGenerator.deterministic.test.js","sourceRoot":"","sources":["../src/SchemaGenerator.deterministic.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,7 +15,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
15
15
|
const fs_1 = __importDefault(require("fs"));
|
|
16
16
|
const path_1 = __importDefault(require("path"));
|
|
17
17
|
const SchemaGenerator_1 = require("./SchemaGenerator");
|
|
18
|
-
const testDir = path_1.default.resolve(__dirname, "
|
|
18
|
+
const testDir = path_1.default.resolve(__dirname, "../.test-tmp/integration");
|
|
19
19
|
const createTestFile = (filePath, content) => __awaiter(void 0, void 0, void 0, function* () {
|
|
20
20
|
const fullPath = path_1.default.resolve(testDir, filePath);
|
|
21
21
|
yield fs_1.default.promises.mkdir(path_1.default.dirname(fullPath), { recursive: true });
|
|
@@ -309,8 +309,8 @@ describe("SchemaGenerator Integration Tests", () => {
|
|
|
309
309
|
yield generator.Generate();
|
|
310
310
|
const endTime = Date.now();
|
|
311
311
|
const duration = endTime - startTime;
|
|
312
|
-
// Should complete reasonably quickly (less than
|
|
313
|
-
expect(duration).toBeLessThan(
|
|
312
|
+
// Should complete reasonably quickly (less than 20 seconds)
|
|
313
|
+
expect(duration).toBeLessThan(20000);
|
|
314
314
|
// Verify all files were processed
|
|
315
315
|
const schemaFile = path_1.default.join(testDir, "output", "validation.schema.json");
|
|
316
316
|
const schemaContent = JSON.parse(fs_1.default.readFileSync(schemaFile, 'utf-8'));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SchemaGenerator.integration.test.js","sourceRoot":"","sources":["../src/SchemaGenerator.integration.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SchemaGenerator.integration.test.js","sourceRoot":"","sources":["../src/SchemaGenerator.integration.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -128,5 +128,99 @@ describe("SchemaGenerator", () => {
|
|
|
128
128
|
};
|
|
129
129
|
expect(result).toStrictEqual(expected);
|
|
130
130
|
}));
|
|
131
|
+
test("it should sort definitions alphabetically in the generated schema", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
132
|
+
// Create test directory and files
|
|
133
|
+
const testDir = path_1.default.resolve(__dirname, "./test/alphabetical-sorting");
|
|
134
|
+
// Ensure test directory exists
|
|
135
|
+
fs_1.default.mkdirSync(testDir, { recursive: true });
|
|
136
|
+
// Create test file with unsorted type definitions
|
|
137
|
+
const testFilePath = path_1.default.join(testDir, "types.jsonschema.ts");
|
|
138
|
+
fs_1.default.writeFileSync(testFilePath, `
|
|
139
|
+
export interface ZebraType {
|
|
140
|
+
id: string;
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
export interface AppleType {
|
|
144
|
+
name: string;
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
export interface MiddleType {
|
|
148
|
+
value: number;
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
export interface BananaType {
|
|
152
|
+
flag: boolean;
|
|
153
|
+
}
|
|
154
|
+
`);
|
|
155
|
+
try {
|
|
156
|
+
const options = getGeneratorConfig("alphabetical-sorting");
|
|
157
|
+
const generator = new SchemaGenerator_1.SchemaGenerator(options);
|
|
158
|
+
yield generator.Generate();
|
|
159
|
+
const rawFile = fs_1.default.readFileSync(getOutputSchemaPath("alphabetical-sorting")).toString();
|
|
160
|
+
const result = JSON.parse(rawFile);
|
|
161
|
+
// Check that definitions are sorted alphabetically
|
|
162
|
+
const definitionKeys = Object.keys(result.definitions);
|
|
163
|
+
const sortedKeys = [...definitionKeys].sort();
|
|
164
|
+
expect(definitionKeys).toEqual(sortedKeys);
|
|
165
|
+
expect(definitionKeys).toEqual(['AppleType', 'BananaType', 'MiddleType', 'ZebraType']);
|
|
166
|
+
}
|
|
167
|
+
finally {
|
|
168
|
+
// Clean up test directory
|
|
169
|
+
if (fs_1.default.existsSync(testDir)) {
|
|
170
|
+
fs_1.default.rmSync(testDir, { recursive: true });
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
}));
|
|
174
|
+
test("it should sort properties alphabetically in generated TypeScript helpers", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
175
|
+
// Create test directory and files
|
|
176
|
+
const testDir = path_1.default.resolve(__dirname, "./test/alphabetical-helpers");
|
|
177
|
+
const outputDir = path_1.default.resolve(__dirname, "./test/output/alphabetical-helpers");
|
|
178
|
+
// Ensure test directory exists
|
|
179
|
+
fs_1.default.mkdirSync(testDir, { recursive: true });
|
|
180
|
+
// Create test file with unsorted type definitions
|
|
181
|
+
const testFilePath = path_1.default.join(testDir, "types.jsonschema.ts");
|
|
182
|
+
fs_1.default.writeFileSync(testFilePath, `
|
|
183
|
+
export type ZebraType = string;
|
|
184
|
+
export type AppleType = number;
|
|
185
|
+
export type MiddleType = boolean;
|
|
186
|
+
export type BananaType = object;
|
|
187
|
+
`);
|
|
188
|
+
try {
|
|
189
|
+
const options = Object.assign(Object.assign({}, getGeneratorConfig("alphabetical-helpers")), { helpers: true });
|
|
190
|
+
const generator = new SchemaGenerator_1.SchemaGenerator(options);
|
|
191
|
+
yield generator.Generate();
|
|
192
|
+
// Check SchemaDefinition.ts for sorted imports and properties
|
|
193
|
+
const schemaDefPath = path_1.default.resolve(outputDir, "SchemaDefinition.ts");
|
|
194
|
+
if (fs_1.default.existsSync(schemaDefPath)) {
|
|
195
|
+
const schemaDefContent = fs_1.default.readFileSync(schemaDefPath, 'utf-8');
|
|
196
|
+
// Extract type names from the schemas object (looking only at the schemas constant)
|
|
197
|
+
const schemasMatch = schemaDefContent.match(/export const schemas[^{]*{([\s\S]*?)}/);
|
|
198
|
+
let schemaKeys = [];
|
|
199
|
+
if (schemasMatch) {
|
|
200
|
+
const schemaLines = schemasMatch[1].split('\n').filter(line => line.includes('#/definitions/'));
|
|
201
|
+
schemaKeys = schemaLines.map(line => {
|
|
202
|
+
const match = line.match(/\["#\/definitions\/([^"]+)"\]/);
|
|
203
|
+
return match ? match[1] : null;
|
|
204
|
+
}).filter(Boolean);
|
|
205
|
+
}
|
|
206
|
+
const sortedSchemaKeys = [...schemaKeys].sort();
|
|
207
|
+
expect(schemaKeys).toEqual(sortedSchemaKeys);
|
|
208
|
+
expect(schemaKeys).toEqual(['AppleType', 'BananaType', 'MiddleType', 'ZebraType']);
|
|
209
|
+
// Check that imports are sorted
|
|
210
|
+
const importMatch = schemaDefContent.match(/import\s+{\s*([^}]+)\s*}/);
|
|
211
|
+
if (importMatch) {
|
|
212
|
+
const imports = importMatch[1].split(',').map(s => s.trim());
|
|
213
|
+
const sortedImports = [...imports].sort();
|
|
214
|
+
expect(imports).toEqual(sortedImports);
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
finally {
|
|
219
|
+
// Clean up test directory
|
|
220
|
+
if (fs_1.default.existsSync(testDir)) {
|
|
221
|
+
fs_1.default.rmSync(testDir, { recursive: true });
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
}));
|
|
131
225
|
});
|
|
132
226
|
//# sourceMappingURL=SchemaGenerator.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SchemaGenerator.test.js","sourceRoot":"","sources":["../src/SchemaGenerator.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SchemaGenerator.test.js","sourceRoot":"","sources":["../src/SchemaGenerator.test.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.test.js
ADDED
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
36
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
37
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
38
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
39
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
40
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
41
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
42
|
+
});
|
|
43
|
+
};
|
|
44
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
45
|
+
const child_process_1 = require("child_process");
|
|
46
|
+
const path = __importStar(require("path"));
|
|
47
|
+
const fs = __importStar(require("fs"));
|
|
48
|
+
describe("CLI Arguments", () => {
|
|
49
|
+
const cliPath = path.join(__dirname, "..", "dist", "index.js");
|
|
50
|
+
const testOutputPath = path.join(__dirname, "../.test-tmp/cli-output");
|
|
51
|
+
beforeEach(() => {
|
|
52
|
+
if (fs.existsSync(testOutputPath)) {
|
|
53
|
+
fs.rmSync(testOutputPath, { recursive: true, force: true });
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
afterEach(() => {
|
|
57
|
+
if (fs.existsSync(testOutputPath)) {
|
|
58
|
+
fs.rmSync(testOutputPath, { recursive: true, force: true });
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
const runCLI = (args) => {
|
|
62
|
+
return new Promise((resolve) => {
|
|
63
|
+
const proc = (0, child_process_1.spawn)("node", [cliPath, ...args]);
|
|
64
|
+
let stdout = "";
|
|
65
|
+
let stderr = "";
|
|
66
|
+
proc.stdout.on("data", (data) => {
|
|
67
|
+
stdout += data.toString();
|
|
68
|
+
});
|
|
69
|
+
proc.stderr.on("data", (data) => {
|
|
70
|
+
stderr += data.toString();
|
|
71
|
+
});
|
|
72
|
+
proc.on("close", (code) => {
|
|
73
|
+
resolve({ code: code || 0, stdout, stderr });
|
|
74
|
+
});
|
|
75
|
+
});
|
|
76
|
+
};
|
|
77
|
+
it("should accept glob pattern with --glob parameter", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
78
|
+
const result = yield runCLI([
|
|
79
|
+
"--glob", "test/basic-scenario/*.jsonschema.ts",
|
|
80
|
+
"--rootPath", path.join(__dirname),
|
|
81
|
+
"--output", "../.test-tmp/cli-output"
|
|
82
|
+
]);
|
|
83
|
+
expect(result.code).toBe(0);
|
|
84
|
+
expect(fs.existsSync(testOutputPath)).toBe(true);
|
|
85
|
+
// Check that files were generated
|
|
86
|
+
const generatedFiles = fs.readdirSync(testOutputPath);
|
|
87
|
+
expect(generatedFiles).toContain("validation.schema.json");
|
|
88
|
+
expect(generatedFiles).toContain("SchemaDefinition.ts");
|
|
89
|
+
expect(generatedFiles).toContain("ValidationType.ts");
|
|
90
|
+
expect(generatedFiles).toContain("isValidSchema.ts");
|
|
91
|
+
}));
|
|
92
|
+
it("should use default glob pattern when --glob is not provided", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
93
|
+
// Create test files matching the default pattern
|
|
94
|
+
const testDir = path.join(__dirname, "test-default-glob");
|
|
95
|
+
const testFile1 = path.join(testDir, "test.jsonschema.ts");
|
|
96
|
+
const testFile2 = path.join(testDir, "test2.jsonschema.tsx");
|
|
97
|
+
if (!fs.existsSync(testDir)) {
|
|
98
|
+
fs.mkdirSync(testDir, { recursive: true });
|
|
99
|
+
}
|
|
100
|
+
fs.writeFileSync(testFile1, "export interface TestInterface { test: string; }");
|
|
101
|
+
fs.writeFileSync(testFile2, "export interface TestInterface2 { test2: number; }");
|
|
102
|
+
try {
|
|
103
|
+
const result = yield runCLI([
|
|
104
|
+
"--rootPath", testDir,
|
|
105
|
+
"--output", path.join("..", "../.test-tmp/cli-output")
|
|
106
|
+
]);
|
|
107
|
+
expect(result.code).toBe(0);
|
|
108
|
+
expect(fs.existsSync(testOutputPath)).toBe(true);
|
|
109
|
+
}
|
|
110
|
+
finally {
|
|
111
|
+
// Clean up test files and directory
|
|
112
|
+
if (fs.existsSync(testDir)) {
|
|
113
|
+
fs.rmSync(testDir, { recursive: true, force: true });
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
}));
|
|
117
|
+
it("should accept all supported CLI options", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
118
|
+
const result = yield runCLI([
|
|
119
|
+
"--glob", "test/basic-scenario/*.jsonschema.ts",
|
|
120
|
+
"--rootPath", path.join(__dirname),
|
|
121
|
+
"--output", "../.test-tmp/cli-output",
|
|
122
|
+
"--additionalProperties",
|
|
123
|
+
"--verbose",
|
|
124
|
+
"--progress",
|
|
125
|
+
"--minify",
|
|
126
|
+
"--cache",
|
|
127
|
+
"--tree-shaking",
|
|
128
|
+
"--lazy-load"
|
|
129
|
+
]);
|
|
130
|
+
expect(result.code).toBe(0);
|
|
131
|
+
// With verbose flag, we should see output
|
|
132
|
+
expect(result.stdout).toContain("Found");
|
|
133
|
+
}));
|
|
134
|
+
it("should handle parallel processing flags correctly", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
135
|
+
// Test with parallel disabled
|
|
136
|
+
const result = yield runCLI([
|
|
137
|
+
"--glob", "test/basic-scenario/*.jsonschema.ts",
|
|
138
|
+
"--rootPath", path.join(__dirname),
|
|
139
|
+
"--output", "../.test-tmp/cli-output",
|
|
140
|
+
"--no-parallel"
|
|
141
|
+
]);
|
|
142
|
+
expect(result.code).toBe(0);
|
|
143
|
+
expect(fs.existsSync(testOutputPath)).toBe(true);
|
|
144
|
+
}));
|
|
145
|
+
it("should error gracefully when no matching files are found", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
146
|
+
const result = yield runCLI([
|
|
147
|
+
"--glob", "nonexistent/*.jsonschema.ts",
|
|
148
|
+
"--rootPath", path.join(__dirname),
|
|
149
|
+
"--output", "../.test-tmp/cli-output"
|
|
150
|
+
]);
|
|
151
|
+
expect(result.code).not.toBe(0);
|
|
152
|
+
expect(result.stderr).toContain("No files found");
|
|
153
|
+
}));
|
|
154
|
+
});
|
|
155
|
+
//# sourceMappingURL=cli.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.test.js","sourceRoot":"","sources":["../src/cli.test.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -7,7 +7,7 @@ const defaultGlobPattern = "*.jsonschema.{ts,tsx}";
|
|
|
7
7
|
const defaultRootPath = "./src";
|
|
8
8
|
const defaultOutputFolder = "./.ts-runtime-validation";
|
|
9
9
|
const defaultTsconfig = "";
|
|
10
|
-
commander_1.program.option("--glob", `Glob file path of typescript files to generate ts-interface -> json-schema validations - default: ${defaultGlobPattern}`, defaultGlobPattern);
|
|
10
|
+
commander_1.program.option("--glob <glob>", `Glob file path of typescript files to generate ts-interface -> json-schema validations - default: ${defaultGlobPattern}`, defaultGlobPattern);
|
|
11
11
|
commander_1.program.option("--rootPath <rootFolder>", `RootPath of source`, defaultRootPath);
|
|
12
12
|
commander_1.program.option("--output <outputFolder>", `Code generation output directory (relative to root path)`, defaultOutputFolder);
|
|
13
13
|
commander_1.program.option("--tsconfigPath <tsconfigPath>", `Path to customt tsconfig (relative to root path)`, defaultTsconfig);
|