apify-schema-tools 2.1.0 → 3.0.0-rc.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/.cspell/custom-dictionary.txt +1 -0
- package/CHANGELOG.md +21 -0
- package/README.md +77 -4
- package/dist/apify-schema-tools.js +76 -18
- package/dist/apify-schema-tools.js.map +1 -1
- package/dist/apify.d.ts +2 -1
- package/dist/apify.d.ts.map +1 -1
- package/dist/apify.js +1 -0
- package/dist/apify.js.map +1 -1
- package/dist/json-schema-conflicts.d.ts +16 -0
- package/dist/json-schema-conflicts.d.ts.map +1 -0
- package/dist/json-schema-conflicts.js +165 -0
- package/dist/json-schema-conflicts.js.map +1 -0
- package/dist/json-schemas.d.ts +12 -4
- package/dist/json-schemas.d.ts.map +1 -1
- package/dist/json-schemas.js +12 -45
- package/dist/json-schemas.js.map +1 -1
- package/dist/typescript.js +1 -1
- package/dist/typescript.js.map +1 -1
- package/package.json +2 -1
- package/samples/all-defaults/src-schemas/input.json +18 -5
- package/samples/deep-merged-schemas/add-schemas/input.json +4 -1
- package/samples/deep-merged-schemas/src-schemas/input.json +18 -5
- package/samples/merged-schemas/add-schemas/input.json +4 -1
- package/samples/merged-schemas/src-schemas/input.json +18 -5
- package/samples/package-json-config/custom-src-schemas/input.json +18 -5
- package/src/apify-schema-tools.ts +109 -17
- package/src/apify.ts +3 -1
- package/src/json-schema-conflicts.ts +290 -0
- package/src/json-schemas.ts +16 -62
- package/src/typescript.ts +1 -1
- package/test/apify-schema-tools.test.ts +120 -4
- package/test/json-schema-conflicts.test.ts +783 -0
- package/test/json-schemas.test.ts +22 -81
- package/test/typescript.test.ts +68 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,26 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 3.0.0
|
|
4
|
+
|
|
5
|
+
### BREAKING CHANGE
|
|
6
|
+
|
|
7
|
+
- The `sync` command will now prompt the user to resolve possible conflicts, while syncing the input and dataset schemas.
|
|
8
|
+
|
|
9
|
+
### Added
|
|
10
|
+
|
|
11
|
+
- The `sync` option `--force` will ignore conflicts and overwrite the target schemas.
|
|
12
|
+
- The `sync` option `--fail-on-conflict` will make the script fail if a conflict is detected.
|
|
13
|
+
|
|
14
|
+
## 2.1.1
|
|
15
|
+
|
|
16
|
+
### Fixed
|
|
17
|
+
|
|
18
|
+
- Fixed conversion when an object has only `additionalProperties` and no `properties`.
|
|
19
|
+
|
|
20
|
+
### Documentation
|
|
21
|
+
|
|
22
|
+
- Fixed commands in README file.
|
|
23
|
+
|
|
3
24
|
## 2.1.0
|
|
4
25
|
|
|
5
26
|
### Added
|
package/README.md
CHANGED
|
@@ -65,7 +65,7 @@ This command will:
|
|
|
65
65
|
3. Generate JSON schemas and TypeScript types from the source schemas:
|
|
66
66
|
|
|
67
67
|
```sh
|
|
68
|
-
|
|
68
|
+
npx apify-schema-tools sync
|
|
69
69
|
```
|
|
70
70
|
|
|
71
71
|
4. Now, you will be able to use TypeScript types and utilities in your project:
|
|
@@ -262,12 +262,70 @@ mkdir src-schemas
|
|
|
262
262
|
5. Generate JSON schemas and TypeScript types from the source schemas:
|
|
263
263
|
|
|
264
264
|
```sh
|
|
265
|
-
|
|
265
|
+
npx apify-schema-tools sync
|
|
266
|
+
```
|
|
267
|
+
|
|
268
|
+
## Resolving conflicts
|
|
269
|
+
|
|
270
|
+
The `sync` command includes interactive conflict resolution to help you handle schema inconsistencies.
|
|
271
|
+
When the tool detects conflicts between your source schemas and existing target schemas,
|
|
272
|
+
it will prompt you to choose which version to keep.
|
|
273
|
+
|
|
274
|
+
### When conflicts are detected
|
|
275
|
+
|
|
276
|
+
Conflicts occur when there are differences between your source schema files and the schemas that would be generated in the target locations.
|
|
277
|
+
Common scenarios include:
|
|
278
|
+
|
|
279
|
+
- The source and the target schema have different title of description.
|
|
280
|
+
- The same property has different title of description in the source and target schemas.
|
|
281
|
+
- Properties that exist in the target schema are missing from the source schema.
|
|
282
|
+
|
|
283
|
+
### Interactive mode (default behavior)
|
|
284
|
+
|
|
285
|
+
By default, when conflicts are detected, the tool will prompt you interactively to resolve each conflict:
|
|
286
|
+
|
|
287
|
+
```
|
|
288
|
+
⚠️ Field [properties > startUrls > description] in the source schema differs from
|
|
289
|
+
the target schema. Choose which to keep: (Use arrow keys)
|
|
290
|
+
❯ [source] List of URLs to scrape
|
|
291
|
+
[target] List of URLs to parse
|
|
292
|
+
```
|
|
293
|
+
|
|
294
|
+
```
|
|
295
|
+
⚠️ Property "searchTerm" was removed from the source schema. What do you want to do? (Use arrow keys)
|
|
296
|
+
❯ Confirm deletion
|
|
297
|
+
Restore field
|
|
298
|
+
```
|
|
299
|
+
|
|
300
|
+
### Non-interactive modes
|
|
301
|
+
|
|
302
|
+
For automated scripts or CI/CD pipelines, you can use these options:
|
|
303
|
+
|
|
304
|
+
#### Force mode (`--force`)
|
|
305
|
+
|
|
306
|
+
Automatically resolves all conflicts by preferring the source schema:
|
|
307
|
+
|
|
308
|
+
```sh
|
|
309
|
+
npx apify-schema-tools sync --force
|
|
310
|
+
```
|
|
311
|
+
|
|
312
|
+
This will:
|
|
313
|
+
- Always use values from the source schema when there are conflicts
|
|
314
|
+
- Remove properties that exist in target but not in source
|
|
315
|
+
- Overwrite target schemas without prompting
|
|
316
|
+
|
|
317
|
+
#### Fail on conflict (`--fail-on-conflict`)
|
|
318
|
+
|
|
319
|
+
Stops execution and exits with an error code when conflicts are detected:
|
|
320
|
+
|
|
321
|
+
```sh
|
|
322
|
+
npx apify-schema-tools sync --fail-on-conflict
|
|
266
323
|
```
|
|
267
324
|
|
|
268
325
|
## Checking if the schemas are in sync with the source schemas
|
|
269
326
|
|
|
270
|
-
The `check` command allows you to verify that your generated schemas and TypeScript files are up-to-date with your source schemas.
|
|
327
|
+
The `check` command allows you to verify that your generated schemas and TypeScript files are up-to-date with your source schemas.
|
|
328
|
+
This is particularly useful in CI/CD pipelines to ensure that developers haven't forgotten to run the generation after making changes to the source schemas.
|
|
271
329
|
|
|
272
330
|
```sh
|
|
273
331
|
npx apify-schema-tools check
|
|
@@ -290,7 +348,22 @@ You can add this to your CI pipeline to automatically detect when schemas need t
|
|
|
290
348
|
}
|
|
291
349
|
```
|
|
292
350
|
|
|
293
|
-
The `check` command accepts the same configuration options as the `sync` command,
|
|
351
|
+
The `check` command accepts the same configuration options as the `sync` command,
|
|
352
|
+
either through `package.json` configuration or command-line arguments,
|
|
353
|
+
ensuring it checks the same files that would be generated.
|
|
354
|
+
|
|
355
|
+
### Ignoring descriptions while checking (`--ignore-descriptions`)
|
|
356
|
+
|
|
357
|
+
The `check` command can ignore the `title` and `description` fields in the source and target schemas, and their properties.
|
|
358
|
+
This allows you to edit your descriptions and change how your Actor will appear on the Apify platform,
|
|
359
|
+
without having to run this tool to synchronize the schemas, but still being able to check for semantical correctness:
|
|
360
|
+
|
|
361
|
+
```sh
|
|
362
|
+
npx apify-schema-tools check --ignore-descriptions
|
|
363
|
+
```
|
|
364
|
+
|
|
365
|
+
The next time someone will try to run the `sync` command,
|
|
366
|
+
they will be prompted to solve the conflicts in the descriptions.
|
|
294
367
|
|
|
295
368
|
## Extra features
|
|
296
369
|
|
|
@@ -3,9 +3,10 @@
|
|
|
3
3
|
import { existsSync } from "node:fs";
|
|
4
4
|
import { join } from "node:path";
|
|
5
5
|
import { ArgumentDefaultsHelpFormatter, ArgumentParser } from "argparse";
|
|
6
|
-
import { ACTOR_CONFIG_PATH, DATASET_SCHEMA_FIELD, filterValidInputSchemaProperties, generateInputDefaultsTsFileContent, getPathRelativeToActorConfig, } from "./apify.js";
|
|
6
|
+
import { ACTOR_CONFIG_PATH, DATASET_SCHEMA_FIELD, DESCRIPTION_FIELDS, filterValidInputSchemaProperties, generateInputDefaultsTsFileContent, getPathRelativeToActorConfig, } from "./apify.js";
|
|
7
7
|
import { addCommonCLIArgs, parseConfigurationFromFileOrDefault, writeConfigurationToPackageJson, } from "./configuration.js";
|
|
8
8
|
import { readFile, writeFile } from "./filesystem.js";
|
|
9
|
+
import { checkConflicts } from "./json-schema-conflicts.js";
|
|
9
10
|
import { compareSchemas, mergeObjectSchemas, readJsonSchema, readJsonSchemaField, writeJsonSchema, writeSchemaToField, } from "./json-schemas.js";
|
|
10
11
|
import { compareTypescriptInterfaces, jsonSchemaToTypeScriptInterface, parseTypeScriptInterface, removeTypeScriptHeader, serializeTypeScriptInterface, writeTypeScriptFile, } from "./typescript.js";
|
|
11
12
|
const configuration = parseConfigurationFromFileOrDefault();
|
|
@@ -104,7 +105,8 @@ function init(args) {
|
|
|
104
105
|
}
|
|
105
106
|
initParser.set_defaults({ func: init });
|
|
106
107
|
const syncParser = subparsers.add_parser("sync", {
|
|
107
|
-
help:
|
|
108
|
+
help: `Generate JSON schemas and TypeScript files from the source schemas. \
|
|
109
|
+
By default, if conflicts are detected, the user will be prompted to resolve them.`,
|
|
108
110
|
formatter_class: ArgumentDefaultsHelpFormatter,
|
|
109
111
|
});
|
|
110
112
|
addCommonCLIArgs(syncParser, configuration);
|
|
@@ -114,31 +116,87 @@ syncParser.add_argument("--include-input-utils", {
|
|
|
114
116
|
choices: ["true", "false"],
|
|
115
117
|
default: "true",
|
|
116
118
|
});
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
119
|
+
syncParser.add_argument("--force", {
|
|
120
|
+
help: "force the sync operation, even if conflicts are detected",
|
|
121
|
+
action: "store_true",
|
|
122
|
+
default: false,
|
|
123
|
+
});
|
|
124
|
+
syncParser.add_argument("--fail-on-conflict", {
|
|
125
|
+
help: "fail the sync operation if conflicts are detected",
|
|
126
|
+
action: "store_true",
|
|
127
|
+
default: false,
|
|
128
|
+
});
|
|
129
|
+
function getConflictResolutionStrategy(args) {
|
|
130
|
+
if (args.fail_on_conflict && args.force) {
|
|
131
|
+
throw new Error("The options --force and --fail-on-conflict cannot be defined together.");
|
|
132
|
+
}
|
|
133
|
+
if (args.force) {
|
|
134
|
+
return "log";
|
|
121
135
|
}
|
|
136
|
+
if (args.fail_on_conflict) {
|
|
137
|
+
return "error";
|
|
138
|
+
}
|
|
139
|
+
return "interactive";
|
|
140
|
+
}
|
|
141
|
+
async function handleInputSync(args) {
|
|
142
|
+
let inputSchemas = {
|
|
143
|
+
sourceSchema: readJsonSchema(args.src_input),
|
|
144
|
+
additionalSchema: args.add_input ? readJsonSchema(args.add_input) : undefined,
|
|
145
|
+
};
|
|
146
|
+
let resultingInputSchema;
|
|
122
147
|
if (args.output.includes("json-schemas")) {
|
|
123
|
-
|
|
148
|
+
const conflictResolutionStrategy = getConflictResolutionStrategy(args);
|
|
149
|
+
const existingInputSchema = readJsonSchema(args.input_schema);
|
|
150
|
+
inputSchemas = await checkConflicts(inputSchemas.sourceSchema, args.src_input, inputSchemas.additionalSchema, args.add_input, existingInputSchema, args.deep_merge, DESCRIPTION_FIELDS, conflictResolutionStrategy);
|
|
151
|
+
resultingInputSchema = inputSchemas.additionalSchema
|
|
152
|
+
? mergeObjectSchemas(inputSchemas.sourceSchema, inputSchemas.additionalSchema, args.deep_merge)
|
|
153
|
+
: inputSchemas.sourceSchema;
|
|
154
|
+
writeJsonSchema(args.input_schema, filterValidInputSchemaProperties(resultingInputSchema));
|
|
124
155
|
}
|
|
125
156
|
if (args.output.includes("ts-types")) {
|
|
126
|
-
|
|
157
|
+
if (!resultingInputSchema) {
|
|
158
|
+
resultingInputSchema = inputSchemas.additionalSchema
|
|
159
|
+
? mergeObjectSchemas(inputSchemas.sourceSchema, inputSchemas.additionalSchema, args.deep_merge)
|
|
160
|
+
: inputSchemas.sourceSchema;
|
|
161
|
+
}
|
|
162
|
+
writeTypeScriptFile(join(args.output_ts_dir, "input.ts"), serializeTypeScriptInterface("Input", jsonSchemaToTypeScriptInterface(resultingInputSchema)));
|
|
127
163
|
if (args.include_input_utils === "true") {
|
|
128
|
-
writeTypeScriptFile(join(args.output_ts_dir, "input-utils.ts"), generateInputDefaultsTsFileContent(
|
|
164
|
+
writeTypeScriptFile(join(args.output_ts_dir, "input-utils.ts"), generateInputDefaultsTsFileContent(resultingInputSchema));
|
|
129
165
|
}
|
|
130
166
|
}
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
datasetSchema = mergeObjectSchemas(datasetSchema, readJsonSchema(args.add_dataset), args.deep_merge);
|
|
167
|
+
// Update the source schemas, which may have been modified by the conflict resolution
|
|
168
|
+
writeJsonSchema(args.src_input, inputSchemas.sourceSchema);
|
|
169
|
+
if (args.add_input && inputSchemas.additionalSchema) {
|
|
170
|
+
writeJsonSchema(args.add_input, inputSchemas.additionalSchema);
|
|
136
171
|
}
|
|
172
|
+
}
|
|
173
|
+
async function handleDatasetSync(args) {
|
|
174
|
+
let datasetSchemas = {
|
|
175
|
+
sourceSchema: readJsonSchema(args.src_dataset),
|
|
176
|
+
additionalSchema: args.add_dataset ? readJsonSchema(args.add_dataset) : undefined,
|
|
177
|
+
};
|
|
178
|
+
let resultingDatasetSchema;
|
|
137
179
|
if (args.output.includes("json-schemas")) {
|
|
138
|
-
|
|
180
|
+
const conflictResolutionStrategy = getConflictResolutionStrategy(args);
|
|
181
|
+
const existingDatasetSchema = readJsonSchemaField(args.dataset_schema, DATASET_SCHEMA_FIELD);
|
|
182
|
+
datasetSchemas = await checkConflicts(datasetSchemas.sourceSchema, args.src_dataset, datasetSchemas.additionalSchema, args.add_dataset, existingDatasetSchema, args.deep_merge, DESCRIPTION_FIELDS, conflictResolutionStrategy);
|
|
183
|
+
resultingDatasetSchema = datasetSchemas.additionalSchema
|
|
184
|
+
? mergeObjectSchemas(datasetSchemas.sourceSchema, datasetSchemas.additionalSchema, args.deep_merge)
|
|
185
|
+
: datasetSchemas.sourceSchema;
|
|
186
|
+
writeSchemaToField(args.dataset_schema, resultingDatasetSchema, DATASET_SCHEMA_FIELD);
|
|
139
187
|
}
|
|
140
188
|
if (args.output.includes("ts-types")) {
|
|
141
|
-
|
|
189
|
+
if (!resultingDatasetSchema) {
|
|
190
|
+
resultingDatasetSchema = datasetSchemas.additionalSchema
|
|
191
|
+
? mergeObjectSchemas(datasetSchemas.sourceSchema, datasetSchemas.additionalSchema, args.deep_merge)
|
|
192
|
+
: datasetSchemas.sourceSchema;
|
|
193
|
+
}
|
|
194
|
+
writeTypeScriptFile(join(args.output_ts_dir, "dataset.ts"), serializeTypeScriptInterface("DatasetItem", jsonSchemaToTypeScriptInterface(resultingDatasetSchema)));
|
|
195
|
+
}
|
|
196
|
+
// Update the source schemas, which may have been modified by the conflict resolution
|
|
197
|
+
writeJsonSchema(args.src_dataset, datasetSchemas.sourceSchema);
|
|
198
|
+
if (args.add_dataset && datasetSchemas.additionalSchema) {
|
|
199
|
+
writeJsonSchema(args.add_dataset, datasetSchemas.additionalSchema);
|
|
142
200
|
}
|
|
143
201
|
}
|
|
144
202
|
function sync(args) {
|
|
@@ -170,7 +228,7 @@ function checkInputSchemas(args) {
|
|
|
170
228
|
const generatedInputSchema = filterValidInputSchemaProperties(sourceInputSchema);
|
|
171
229
|
if (args.output.includes("json-schemas")) {
|
|
172
230
|
const outputInputSchema = readJsonSchema(args.input_schema);
|
|
173
|
-
const isInputSchemaCoherent = compareSchemas(generatedInputSchema, outputInputSchema, args.ignore_descriptions);
|
|
231
|
+
const isInputSchemaCoherent = compareSchemas(generatedInputSchema, outputInputSchema, args.ignore_descriptions ? DESCRIPTION_FIELDS : undefined);
|
|
174
232
|
if (!isInputSchemaCoherent) {
|
|
175
233
|
console.error("Input schema validation failed: the input schema does not match the source schema.");
|
|
176
234
|
process.exit(1);
|
|
@@ -198,7 +256,7 @@ function checkDatasetSchemas(args) {
|
|
|
198
256
|
console.error(`Dataset schema field "${DATASET_SCHEMA_FIELD}" not found in ${args.dataset_schema}.`);
|
|
199
257
|
process.exit(1);
|
|
200
258
|
}
|
|
201
|
-
const isDatasetSchemaCoherent = compareSchemas(sourceDatasetSchema, outputDatasetSchema, args.ignore_descriptions);
|
|
259
|
+
const isDatasetSchemaCoherent = compareSchemas(sourceDatasetSchema, outputDatasetSchema, args.ignore_descriptions ? DESCRIPTION_FIELDS : undefined);
|
|
202
260
|
if (!isDatasetSchemaCoherent) {
|
|
203
261
|
console.error("Dataset schema validation failed: the dataset schema does not match the source schema.");
|
|
204
262
|
process.exit(1);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apify-schema-tools.js","sourceRoot":"","sources":["../src/apify-schema-tools.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"apify-schema-tools.js","sourceRoot":"","sources":["../src/apify-schema-tools.ts"],"names":[],"mappings":"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"}
|
package/dist/apify.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type ObjectSchema } from "./json-schemas.js";
|
|
1
|
+
import { type ObjectSchema, type OmissibleField } from "./json-schemas.js";
|
|
2
2
|
export declare const ACTOR_CONFIG_PATH = ".actor/actor.json";
|
|
3
3
|
export declare function getPathRelativeToActorConfig(path: string): string;
|
|
4
4
|
export declare function filterValidInputSchemaProperties(schema: ObjectSchema): ObjectSchema;
|
|
@@ -9,4 +9,5 @@ export declare function filterValidInputSchemaProperties(schema: ObjectSchema):
|
|
|
9
9
|
*/
|
|
10
10
|
export declare function generateInputDefaultsTsFileContent(inputSchema: ObjectSchema): string;
|
|
11
11
|
export declare const DATASET_SCHEMA_FIELD = "fields";
|
|
12
|
+
export declare const DESCRIPTION_FIELDS: OmissibleField[];
|
|
12
13
|
//# sourceMappingURL=apify.d.ts.map
|
package/dist/apify.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apify.d.ts","sourceRoot":"","sources":["../src/apify.ts"],"names":[],"mappings":"AACA,OAAO,EAA+B,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"apify.d.ts","sourceRoot":"","sources":["../src/apify.ts"],"names":[],"mappings":"AACA,OAAO,EAA+B,KAAK,YAAY,EAAE,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGxG,eAAO,MAAM,iBAAiB,sBAAsB,CAAC;AAErD,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEjE;AA+CD,wBAAgB,gCAAgC,CAAC,MAAM,EAAE,YAAY,GAAG,YAAY,CAQnF;AAED;;;;GAIG;AACH,wBAAgB,kCAAkC,CAAC,WAAW,EAAE,YAAY,GAAG,MAAM,CA2EpF;AAED,eAAO,MAAM,oBAAoB,WAAW,CAAC;AAE7C,eAAO,MAAM,kBAAkB,EAAE,cAAc,EAA6B,CAAC"}
|
package/dist/apify.js
CHANGED
package/dist/apify.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apify.js","sourceRoot":"","sources":["../src/apify.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,2BAA2B,
|
|
1
|
+
{"version":3,"file":"apify.js","sourceRoot":"","sources":["../src/apify.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { ObjectSchema, OmissibleField } from "./json-schemas.js";
|
|
2
|
+
export type ConflictResolutionStrategy = "interactive" | "error" | "log";
|
|
3
|
+
/**
|
|
4
|
+
* Prompt the user to choose between two conflicting values.
|
|
5
|
+
*/
|
|
6
|
+
export declare function askValueConflict(message: string, sourceValue?: string, targetValue?: string): Promise<string | undefined>;
|
|
7
|
+
/**
|
|
8
|
+
* Checks for conflicts between the source and target schemas.
|
|
9
|
+
* Asks the user to resolve conflicts interactively if any are found.
|
|
10
|
+
* Returns the source schema modified with the user's choices.
|
|
11
|
+
*/
|
|
12
|
+
export declare function checkConflicts(sourceSchema: ObjectSchema, sourceSchemaPath: string, additionalSchema: ObjectSchema | undefined, additionalSchemaPath: string | undefined, targetSchema: ObjectSchema, deepMerge: boolean, fieldsToCheck: OmissibleField[], strategy: ConflictResolutionStrategy): Promise<{
|
|
13
|
+
sourceSchema: ObjectSchema;
|
|
14
|
+
additionalSchema: ObjectSchema | undefined;
|
|
15
|
+
}>;
|
|
16
|
+
//# sourceMappingURL=json-schema-conflicts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json-schema-conflicts.d.ts","sourceRoot":"","sources":["../src/json-schema-conflicts.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEtE,MAAM,MAAM,0BAA0B,GAAG,aAAa,GAAG,OAAO,GAAG,KAAK,CAAC;AAIzE;;GAEG;AACH,wBAAsB,gBAAgB,CACrC,OAAO,EAAE,MAAM,EACf,WAAW,CAAC,EAAE,MAAM,EACpB,WAAW,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAS7B;AA2ND;;;;GAIG;AACH,wBAAsB,cAAc,CACnC,YAAY,EAAE,YAAY,EAC1B,gBAAgB,EAAE,MAAM,EACxB,gBAAgB,EAAE,YAAY,GAAG,SAAS,EAC1C,oBAAoB,EAAE,MAAM,GAAG,SAAS,EACxC,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,OAAO,EAClB,aAAa,EAAE,cAAc,EAAE,EAC/B,QAAQ,EAAE,0BAA0B,GAClC,OAAO,CAAC;IAAE,YAAY,EAAE,YAAY,CAAC;IAAC,gBAAgB,EAAE,YAAY,GAAG,SAAS,CAAA;CAAE,CAAC,CA+BrF"}
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
import { select } from "@inquirer/prompts";
|
|
2
|
+
import { clone } from "ramda";
|
|
3
|
+
const CONFLICT_PROMPT_THEME = { prefix: { idle: "⚠️ ", done: "✅ " } };
|
|
4
|
+
/**
|
|
5
|
+
* Prompt the user to choose between two conflicting values.
|
|
6
|
+
*/
|
|
7
|
+
export async function askValueConflict(message, sourceValue, targetValue) {
|
|
8
|
+
return await select({
|
|
9
|
+
message,
|
|
10
|
+
choices: [
|
|
11
|
+
{ name: `[source] ${sourceValue}`, value: sourceValue },
|
|
12
|
+
{ name: `[target] ${targetValue}`, value: targetValue },
|
|
13
|
+
],
|
|
14
|
+
theme: CONFLICT_PROMPT_THEME,
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Manage a detected conflict based on the resolution strategy.
|
|
19
|
+
*/
|
|
20
|
+
async function manageConflict(errorMessage, interactiveAction, strategy) {
|
|
21
|
+
switch (strategy) {
|
|
22
|
+
case "interactive":
|
|
23
|
+
await interactiveAction();
|
|
24
|
+
break;
|
|
25
|
+
case "error":
|
|
26
|
+
throw new Error(errorMessage);
|
|
27
|
+
case "log":
|
|
28
|
+
console.warn(errorMessage);
|
|
29
|
+
break;
|
|
30
|
+
default:
|
|
31
|
+
throw new Error(`Unknown conflict resolution strategy: ${strategy}`);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Check for conflicts in a specific field between two schemas.
|
|
36
|
+
*/
|
|
37
|
+
async function manageFieldConflict(path, field, originSchema, originSchemaName, targetSchema, strategy) {
|
|
38
|
+
if (originSchema[field] === targetSchema[field] || !targetSchema[field]) {
|
|
39
|
+
return originSchema;
|
|
40
|
+
}
|
|
41
|
+
const alteredSchema = clone(originSchema);
|
|
42
|
+
const pathString = `[${[...path, field].join(" > ")}]`;
|
|
43
|
+
const errorMessage = `Field ${pathString} in the ${originSchemaName} differs from the target schema.`;
|
|
44
|
+
await manageConflict(errorMessage, async () => {
|
|
45
|
+
const userChoice = await askValueConflict(`${errorMessage} Choose which to keep:`, originSchema[field], targetSchema[field]);
|
|
46
|
+
alteredSchema[field] = userChoice;
|
|
47
|
+
}, strategy);
|
|
48
|
+
return alteredSchema;
|
|
49
|
+
}
|
|
50
|
+
async function checkRootFieldsConflicts(sourceSchema, additionalSchema, targetSchema, fieldsToCheck, strategy) {
|
|
51
|
+
let alteredSourceSchema = clone(sourceSchema);
|
|
52
|
+
let alteredAdditionalSchema = clone(additionalSchema);
|
|
53
|
+
for (const field of fieldsToCheck) {
|
|
54
|
+
if (alteredAdditionalSchema && field in alteredAdditionalSchema) {
|
|
55
|
+
// biome-ignore lint/nursery/noAwaitInLoop: user interaction for each field
|
|
56
|
+
alteredAdditionalSchema = await manageFieldConflict([], field, alteredAdditionalSchema, "additional schema", targetSchema, strategy);
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
alteredSourceSchema = await manageFieldConflict([], field, alteredSourceSchema, "source schema", targetSchema, strategy);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
return {
|
|
63
|
+
sourceSchema: alteredSourceSchema,
|
|
64
|
+
additionalSchema: alteredAdditionalSchema,
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
function getUnionKeys(record1, record2) {
|
|
68
|
+
const keys1 = Object.keys(record1 ?? {});
|
|
69
|
+
const keys2 = Object.keys(record2 ?? {});
|
|
70
|
+
return Array.from(new Set([...keys1, ...keys2]));
|
|
71
|
+
}
|
|
72
|
+
async function checkPropertyFieldsConflicts(sourceSchema, additionalSchema, targetSchema, deepMerge, fieldsToCheck, strategy) {
|
|
73
|
+
if (!targetSchema.properties) {
|
|
74
|
+
return { sourceSchema, additionalSchema };
|
|
75
|
+
}
|
|
76
|
+
const alteredSourceSchema = clone(sourceSchema);
|
|
77
|
+
const alteredAdditionalSchema = clone(additionalSchema);
|
|
78
|
+
for (const key of getUnionKeys(alteredSourceSchema.properties, alteredAdditionalSchema?.properties)) {
|
|
79
|
+
if (!(key in targetSchema.properties)) {
|
|
80
|
+
continue;
|
|
81
|
+
}
|
|
82
|
+
const sourceProp = alteredSourceSchema.properties?.[key];
|
|
83
|
+
const additionalProp = alteredAdditionalSchema?.properties?.[key];
|
|
84
|
+
const targetProp = targetSchema.properties[key];
|
|
85
|
+
for (const field of fieldsToCheck) {
|
|
86
|
+
if (alteredAdditionalSchema && additionalProp && (!deepMerge || field in additionalProp)) {
|
|
87
|
+
// biome-ignore lint/nursery/noAwaitInLoop: user interaction for each field
|
|
88
|
+
const resultProp = await manageFieldConflict(["properties", key], field, additionalProp, "additional schema", targetProp, strategy);
|
|
89
|
+
alteredAdditionalSchema.properties = {
|
|
90
|
+
...alteredAdditionalSchema?.properties,
|
|
91
|
+
[key]: resultProp,
|
|
92
|
+
};
|
|
93
|
+
continue;
|
|
94
|
+
}
|
|
95
|
+
if (sourceProp) {
|
|
96
|
+
const resultProp = await manageFieldConflict(["properties", key], field, sourceProp, "source schema", targetProp, strategy);
|
|
97
|
+
alteredSourceSchema.properties = {
|
|
98
|
+
...alteredSourceSchema.properties,
|
|
99
|
+
[key]: resultProp,
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
return {
|
|
105
|
+
sourceSchema: alteredSourceSchema,
|
|
106
|
+
additionalSchema: alteredAdditionalSchema,
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
async function checkRemovedPropertyConflicts(sourceSchema, sourceSchemaPath, additionalSchema, additionalSchemaPath, targetSchema, strategy) {
|
|
110
|
+
const alteredSourceSchema = clone(sourceSchema);
|
|
111
|
+
const alteredAdditionalSchema = clone(additionalSchema);
|
|
112
|
+
for (const [key, targetValue] of Object.entries(targetSchema.properties ?? {})) {
|
|
113
|
+
if (!(key in (alteredSourceSchema.properties ?? {}) || key in (alteredAdditionalSchema?.properties ?? {}))) {
|
|
114
|
+
const errorMessage = `Property "${key}" was removed from the source schema.`;
|
|
115
|
+
// biome-ignore lint/nursery/noAwaitInLoop: user interaction for each field
|
|
116
|
+
await manageConflict(errorMessage, async () => {
|
|
117
|
+
const deleteField = await select({
|
|
118
|
+
message: `${errorMessage} What do you want to do?`,
|
|
119
|
+
choices: [
|
|
120
|
+
{ name: "Confirm deletion", value: true },
|
|
121
|
+
{ name: "Restore field", value: false },
|
|
122
|
+
],
|
|
123
|
+
theme: CONFLICT_PROMPT_THEME,
|
|
124
|
+
});
|
|
125
|
+
if (deleteField) {
|
|
126
|
+
return;
|
|
127
|
+
}
|
|
128
|
+
const restoreToAdditionalSchema = alteredAdditionalSchema &&
|
|
129
|
+
(await select({
|
|
130
|
+
message: `Which schema should property "${key}" be restored to?`,
|
|
131
|
+
choices: [
|
|
132
|
+
{ name: "Source Schema", value: false, description: sourceSchemaPath },
|
|
133
|
+
{ name: "Additional Schema", value: true, description: additionalSchemaPath },
|
|
134
|
+
],
|
|
135
|
+
theme: CONFLICT_PROMPT_THEME,
|
|
136
|
+
}));
|
|
137
|
+
const schemaToRestoreFieldTo = restoreToAdditionalSchema ? alteredAdditionalSchema : alteredSourceSchema;
|
|
138
|
+
schemaToRestoreFieldTo.properties = {
|
|
139
|
+
...schemaToRestoreFieldTo.properties,
|
|
140
|
+
[key]: clone(targetValue),
|
|
141
|
+
};
|
|
142
|
+
}, strategy);
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
return {
|
|
146
|
+
sourceSchema: alteredSourceSchema,
|
|
147
|
+
additionalSchema: alteredAdditionalSchema,
|
|
148
|
+
};
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Checks for conflicts between the source and target schemas.
|
|
152
|
+
* Asks the user to resolve conflicts interactively if any are found.
|
|
153
|
+
* Returns the source schema modified with the user's choices.
|
|
154
|
+
*/
|
|
155
|
+
export async function checkConflicts(sourceSchema, sourceSchemaPath, additionalSchema, additionalSchemaPath, targetSchema, deepMerge, fieldsToCheck, strategy) {
|
|
156
|
+
let alteredSchemas = {
|
|
157
|
+
sourceSchema: clone(sourceSchema),
|
|
158
|
+
additionalSchema: clone(additionalSchema),
|
|
159
|
+
};
|
|
160
|
+
alteredSchemas = await checkRootFieldsConflicts(alteredSchemas.sourceSchema, alteredSchemas.additionalSchema, targetSchema, fieldsToCheck, strategy);
|
|
161
|
+
alteredSchemas = await checkPropertyFieldsConflicts(alteredSchemas.sourceSchema, alteredSchemas.additionalSchema, targetSchema, deepMerge, fieldsToCheck, strategy);
|
|
162
|
+
alteredSchemas = await checkRemovedPropertyConflicts(alteredSchemas.sourceSchema, sourceSchemaPath, alteredSchemas.additionalSchema, additionalSchemaPath, targetSchema, strategy);
|
|
163
|
+
return alteredSchemas;
|
|
164
|
+
}
|
|
165
|
+
//# sourceMappingURL=json-schema-conflicts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json-schema-conflicts.js","sourceRoot":"","sources":["../src/json-schema-conflicts.ts"],"names":[],"mappings":"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"}
|
package/dist/json-schemas.d.ts
CHANGED
|
@@ -20,15 +20,23 @@ export declare function readJsonSchema(filePath: string): ObjectSchema;
|
|
|
20
20
|
* Schemas are expected to be of type object at the root level.
|
|
21
21
|
*/
|
|
22
22
|
export declare function writeJsonSchema(filePath: string, schema: ObjectSchema): void;
|
|
23
|
+
/**
|
|
24
|
+
* @returns the schema stored at the specified field, or an empty object schema if the field does not exist or is empty.
|
|
25
|
+
* @throws if the field exists but is not an object schema.
|
|
26
|
+
*/
|
|
23
27
|
export declare function readJsonSchemaField(filePath: string, fieldName: string): ObjectSchema;
|
|
24
28
|
export declare function writeSchemaToField(filePath: string, schema: ObjectSchema, fieldName: string): void;
|
|
25
29
|
export declare function filterValidSchemaProperties(schema: ObjectSchema, validRootKeys: string[], validPropertyKeys: string[], validPropertyTypes: string[], validPropertyKeysByType: Record<string, string[]>): ObjectSchema;
|
|
26
30
|
export declare function mergeObjectSchemas(baseSchema: ObjectSchema, additionalSchema: ObjectSchema, deep?: boolean): ObjectSchema;
|
|
27
|
-
export declare function compareSchemas(a: ObjectSchema, b: ObjectSchema, ignoreDescriptions?: boolean): boolean;
|
|
28
31
|
/**
|
|
29
|
-
*
|
|
30
|
-
|
|
32
|
+
* Fields which is safe to omit without breaking the JSON schema.
|
|
33
|
+
*/
|
|
34
|
+
declare const OMISSIBLE_FIELDS: readonly ["title", "description"];
|
|
35
|
+
export type OmissibleField = (typeof OMISSIBLE_FIELDS)[number];
|
|
36
|
+
/**
|
|
37
|
+
* @param ignoreDescriptionFields fields from the main schema and its properties to be ignored for comparison.
|
|
38
|
+
* @returns true if the schemas are equal/comparable, false otherwise.
|
|
31
39
|
*/
|
|
32
|
-
export declare function
|
|
40
|
+
export declare function compareSchemas(a: ObjectSchema, b: ObjectSchema, ignoreDescriptionFields?: OmissibleField[]): boolean;
|
|
33
41
|
export {};
|
|
34
42
|
//# sourceMappingURL=json-schemas.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"json-schemas.d.ts","sourceRoot":"","sources":["../src/json-schemas.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAI/C,KAAK,cAAc,GAAG,WAAW,GAAG;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAQF,MAAM,WAAW,WAAY,SAAQ,WAAW;IAC/C,IAAI,EAAE,OAAO,CAAC;CACd;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,IAAI,WAAW,CAExE;AAED,MAAM,WAAW,YAAa,SAAQ,WAAW;IAChD,IAAI,EAAE,QAAQ,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAC5C,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,IAAI,YAAY,CAE1E;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY,CAE7D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,GAAG,IAAI,CAE5E;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,YAAY,CASrF;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAIlG;AAID,wBAAgB,2BAA2B,CAC1C,MAAM,EAAE,YAAY,EACpB,aAAa,EAAE,MAAM,EAAE,EACvB,iBAAiB,EAAE,MAAM,EAAE,EAC3B,kBAAkB,EAAE,MAAM,EAAE,EAC5B,uBAAuB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAC/C,YAAY,CAyBd;AAyCD,wBAAgB,kBAAkB,CACjC,UAAU,EAAE,YAAY,EACxB,gBAAgB,EAAE,YAAY,EAC9B,IAAI,UAAO,GACT,YAAY,CAmDd;
|
|
1
|
+
{"version":3,"file":"json-schemas.d.ts","sourceRoot":"","sources":["../src/json-schemas.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAI/C,KAAK,cAAc,GAAG,WAAW,GAAG;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAQF,MAAM,WAAW,WAAY,SAAQ,WAAW;IAC/C,IAAI,EAAE,OAAO,CAAC;CACd;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,IAAI,WAAW,CAExE;AAED,MAAM,WAAW,YAAa,SAAQ,WAAW;IAChD,IAAI,EAAE,QAAQ,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAC5C,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,IAAI,YAAY,CAE1E;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY,CAE7D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,GAAG,IAAI,CAE5E;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,YAAY,CASrF;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAIlG;AAID,wBAAgB,2BAA2B,CAC1C,MAAM,EAAE,YAAY,EACpB,aAAa,EAAE,MAAM,EAAE,EACvB,iBAAiB,EAAE,MAAM,EAAE,EAC3B,kBAAkB,EAAE,MAAM,EAAE,EAC5B,uBAAuB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAC/C,YAAY,CAyBd;AAyCD,wBAAgB,kBAAkB,CACjC,UAAU,EAAE,YAAY,EACxB,gBAAgB,EAAE,YAAY,EAC9B,IAAI,UAAO,GACT,YAAY,CAmDd;AAID;;GAEG;AACH,QAAA,MAAM,gBAAgB,mCAAoC,CAAC;AAC3D,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAc/D;;;GAGG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,EAAE,uBAAuB,CAAC,EAAE,cAAc,EAAE,GAAG,OAAO,CAKpH"}
|