apify-schema-tools 2.0.3 → 2.0.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/.cspell/custom-dictionary.txt +1 -0
- package/.husky/pre-commit +0 -8
- package/CHANGELOG.md +12 -0
- package/biome.json +121 -9
- package/dist/apify-schema-tools.d.ts +1 -0
- package/dist/apify-schema-tools.d.ts.map +1 -1
- package/dist/apify-schema-tools.js +125 -105
- package/dist/apify-schema-tools.js.map +1 -1
- package/dist/apify.d.ts +1 -1
- package/dist/apify.d.ts.map +1 -1
- package/dist/apify.js +4 -2
- package/dist/apify.js.map +1 -1
- package/dist/configuration.d.ts +17 -16
- package/dist/configuration.d.ts.map +1 -1
- package/dist/configuration.js +8 -1
- package/dist/configuration.js.map +1 -1
- package/dist/json-schemas.d.ts.map +1 -1
- package/dist/json-schemas.js +31 -21
- package/dist/json-schemas.js.map +1 -1
- package/dist/typescript.d.ts.map +1 -1
- package/dist/typescript.js +242 -189
- package/dist/typescript.js.map +1 -1
- package/package.json +16 -5
- package/samples/all-defaults/src/generated/input-utils.ts +3 -1
- package/samples/deep-merged-schemas/src/generated/input-utils.ts +3 -1
- package/samples/merged-schemas/src/generated/input-utils.ts +3 -1
- package/samples/package-json-config/package.json +8 -2
- package/samples/package-json-config/src/custom-generated/input-utils.ts +3 -1
- package/src/apify-schema-tools.ts +171 -149
- package/src/apify.ts +6 -4
- package/src/configuration.ts +14 -5
- package/src/json-schemas.ts +44 -22
- package/src/typescript.ts +299 -199
- package/test/apify-schema-tools.test.ts +84 -122
- package/test/apify.test.ts +8 -6
- package/test/common.ts +2 -2
- package/test/configuration.test.ts +1 -1
- package/test/json-schemas.test.ts +1 -2
- package/test/typescript.test.ts +3 -5
- package/tsconfig.json +1 -1
package/.husky/pre-commit
CHANGED
|
@@ -20,14 +20,6 @@ cd samples/package-json-config
|
|
|
20
20
|
node $EXEC_PATH check
|
|
21
21
|
cd ../..
|
|
22
22
|
|
|
23
|
-
echo "Checking for .only() in test files..."
|
|
24
|
-
|
|
25
|
-
# Check for .only( in test files
|
|
26
|
-
if grep -r "\.only(" --include="*.test.ts" .; then
|
|
27
|
-
echo "Error: found \".only(\" in test files. Please remove focused tests before committing."
|
|
28
|
-
exit 1
|
|
29
|
-
fi
|
|
30
|
-
|
|
31
23
|
echo "Running tests..."
|
|
32
24
|
|
|
33
25
|
npm test
|
package/CHANGELOG.md
CHANGED
package/biome.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"$schema": "https://biomejs.dev/schemas/1.
|
|
2
|
+
"$schema": "https://biomejs.dev/schemas/2.1.0/schema.json",
|
|
3
3
|
"vcs": {
|
|
4
4
|
"enabled": true,
|
|
5
5
|
"clientKind": "git",
|
|
@@ -7,25 +7,137 @@
|
|
|
7
7
|
},
|
|
8
8
|
"files": {
|
|
9
9
|
"ignoreUnknown": false,
|
|
10
|
-
"
|
|
10
|
+
"includes": ["**"]
|
|
11
11
|
},
|
|
12
12
|
"formatter": {
|
|
13
13
|
"enabled": true,
|
|
14
14
|
"indentStyle": "tab",
|
|
15
15
|
"lineWidth": 120
|
|
16
16
|
},
|
|
17
|
-
"
|
|
18
|
-
"
|
|
17
|
+
"javascript": {
|
|
18
|
+
"formatter": {
|
|
19
|
+
"quoteStyle": "double"
|
|
20
|
+
}
|
|
19
21
|
},
|
|
22
|
+
"assist": { "actions": { "source": { "organizeImports": "on" } } },
|
|
20
23
|
"linter": {
|
|
21
24
|
"enabled": true,
|
|
25
|
+
"domains": {
|
|
26
|
+
"test": "all",
|
|
27
|
+
"project": "all"
|
|
28
|
+
},
|
|
22
29
|
"rules": {
|
|
23
|
-
"recommended": true
|
|
30
|
+
"recommended": true,
|
|
31
|
+
"complexity": {
|
|
32
|
+
"noExcessiveCognitiveComplexity": "on",
|
|
33
|
+
"noExcessiveNestedTestSuites": "on",
|
|
34
|
+
"noForEach": "on",
|
|
35
|
+
"noUselessStringConcat": "on",
|
|
36
|
+
"noVoid": "on",
|
|
37
|
+
"useSimplifiedLogicExpression": "on",
|
|
38
|
+
"useWhile": "on"
|
|
39
|
+
},
|
|
40
|
+
"correctness": {
|
|
41
|
+
"noPrivateImports": "on",
|
|
42
|
+
"noUndeclaredDependencies": "on",
|
|
43
|
+
"noUndeclaredVariables": "on"
|
|
44
|
+
},
|
|
45
|
+
"nursery": {
|
|
46
|
+
"noAwaitInLoop": "on",
|
|
47
|
+
"noBitwiseOperators": "on",
|
|
48
|
+
"noConstantBinaryExpression": "on",
|
|
49
|
+
"noExcessiveLinesPerFunction": "on",
|
|
50
|
+
"noImportCycles": "on",
|
|
51
|
+
"noMagicNumbers": "on",
|
|
52
|
+
"noShadow": "on",
|
|
53
|
+
"noUnassignedVariables": "on",
|
|
54
|
+
"noUselessBackrefInRegex": "on",
|
|
55
|
+
"useAdjacentGetterSetter": "on",
|
|
56
|
+
"useIterableCallbackReturn": "on",
|
|
57
|
+
"useJsonImportAttribute": "on",
|
|
58
|
+
"useNumericSeparators": "on",
|
|
59
|
+
"useObjectSpread": "on"
|
|
60
|
+
},
|
|
61
|
+
"performance": {
|
|
62
|
+
"noBarrelFile": "on",
|
|
63
|
+
"noDelete": "on",
|
|
64
|
+
"noNamespaceImport": "on",
|
|
65
|
+
"noReExportAll": "on",
|
|
66
|
+
"useTopLevelRegex": "on"
|
|
67
|
+
},
|
|
68
|
+
"style": {
|
|
69
|
+
"noCommonJs": "on",
|
|
70
|
+
"noDefaultExport": "on",
|
|
71
|
+
"noDoneCallback": "on",
|
|
72
|
+
"noEnum": "on",
|
|
73
|
+
"noExportedImports": "on",
|
|
74
|
+
"noInferrableTypes": "on",
|
|
75
|
+
"noNamespace": "on",
|
|
76
|
+
"noNegationElse": "on",
|
|
77
|
+
"noNestedTernary": "on",
|
|
78
|
+
"noParameterAssign": "on",
|
|
79
|
+
"noParameterProperties": "on",
|
|
80
|
+
"noProcessEnv": "on",
|
|
81
|
+
"noUnusedTemplateLiteral": "on",
|
|
82
|
+
"noUselessElse": "on",
|
|
83
|
+
"noYodaExpression": "on",
|
|
84
|
+
"useAsConstAssertion": "on",
|
|
85
|
+
"useAtIndex": "on",
|
|
86
|
+
"useBlockStatements": "on",
|
|
87
|
+
"useCollapsedElseIf": "on",
|
|
88
|
+
"useCollapsedIf": "on",
|
|
89
|
+
"useConsistentArrayType": "on",
|
|
90
|
+
"useConsistentBuiltinInstantiation": "on",
|
|
91
|
+
"useConsistentMemberAccessibility": "on",
|
|
92
|
+
"useDefaultParameterLast": "on",
|
|
93
|
+
"useDefaultSwitchClause": "on",
|
|
94
|
+
"useExplicitLengthCheck": "on",
|
|
95
|
+
"useFilenamingConvention": "on",
|
|
96
|
+
"useForOf": "on",
|
|
97
|
+
"useNamingConvention": "on",
|
|
98
|
+
"useNodeAssertStrict": "on",
|
|
99
|
+
"useNumberNamespace": "on",
|
|
100
|
+
"useShorthandAssign": "on",
|
|
101
|
+
"useSingleVarDeclarator": "on",
|
|
102
|
+
"useThrowNewError": "on",
|
|
103
|
+
"useThrowOnlyError": "on",
|
|
104
|
+
"useTrimStartEnd": "on"
|
|
105
|
+
},
|
|
106
|
+
"suspicious": {
|
|
107
|
+
"noDuplicateTestHooks": "on",
|
|
108
|
+
"noEmptyBlockStatements": "on",
|
|
109
|
+
"noEvolvingTypes": "on",
|
|
110
|
+
"noExportsInTest": "on",
|
|
111
|
+
"noFocusedTests": "on",
|
|
112
|
+
"noMisplacedAssertion": "on",
|
|
113
|
+
"useNumberToFixedDigitsArgument": "on"
|
|
114
|
+
}
|
|
24
115
|
}
|
|
25
116
|
},
|
|
26
|
-
"
|
|
27
|
-
|
|
28
|
-
"
|
|
117
|
+
"overrides": [
|
|
118
|
+
{
|
|
119
|
+
"includes": ["test/**"],
|
|
120
|
+
"linter": {
|
|
121
|
+
"rules": {
|
|
122
|
+
"nursery": {
|
|
123
|
+
"noExcessiveLinesPerFunction": "off",
|
|
124
|
+
"noMagicNumbers": "off"
|
|
125
|
+
},
|
|
126
|
+
"style": {
|
|
127
|
+
"useNamingConvention": "off"
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
"includes": ["samples/**"],
|
|
134
|
+
"linter": {
|
|
135
|
+
"rules": {
|
|
136
|
+
"correctness": {
|
|
137
|
+
"noUndeclaredDependencies": "off"
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
}
|
|
29
141
|
}
|
|
30
|
-
|
|
142
|
+
]
|
|
31
143
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apify-schema-tools.d.ts","sourceRoot":"","sources":["../src/apify-schema-tools.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"apify-schema-tools.d.ts","sourceRoot":"","sources":["../src/apify-schema-tools.ts"],"names":[],"mappings":";AAEA,oGAAoG"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
+
/** biome-ignore-all lint/style/useNamingConvention: the package `argparse` uses snake_case names */
|
|
2
3
|
import { existsSync } from "node:fs";
|
|
3
4
|
import { join } from "node:path";
|
|
4
5
|
import { ArgumentDefaultsHelpFormatter, ArgumentParser } from "argparse";
|
|
5
|
-
import { ACTOR_CONFIG_PATH, DATASET_SCHEMA_FIELD, filterValidInputSchemaProperties,
|
|
6
|
+
import { ACTOR_CONFIG_PATH, DATASET_SCHEMA_FIELD, filterValidInputSchemaProperties, generateInputDefaultsTsFileContent, getPathRelativeToActorConfig, } from "./apify.js";
|
|
6
7
|
import { addCommonCLIArgs, parseConfigurationFromFileOrDefault, writeConfigurationToPackageJson, } from "./configuration.js";
|
|
7
8
|
import { readFile, writeFile } from "./filesystem.js";
|
|
8
9
|
import { compareSchemas, mergeObjectSchemas, readJsonSchema, readJsonSchemaField, writeJsonSchema, writeSchemaToField, } from "./json-schemas.js";
|
|
@@ -35,6 +36,44 @@ initParser.add_argument("--only-config-file", {
|
|
|
35
36
|
action: "store_true",
|
|
36
37
|
default: false,
|
|
37
38
|
});
|
|
39
|
+
function initializeInputSchema(args) {
|
|
40
|
+
if (!existsSync(args.input_schema)) {
|
|
41
|
+
throw new Error("The current Actor does not have an input schema.");
|
|
42
|
+
}
|
|
43
|
+
const inputSchema = readJsonSchema(args.input_schema);
|
|
44
|
+
writeJsonSchema(args.src_input, inputSchema);
|
|
45
|
+
console.log(`Input schema initialized at ${args.src_input}`);
|
|
46
|
+
if (args.add_input) {
|
|
47
|
+
writeJsonSchema(args.add_input, { type: "object", properties: {} });
|
|
48
|
+
console.log(`Additional input schema initialized at ${args.add_input}`);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
function initializeDatasetSchema(args) {
|
|
52
|
+
if (!existsSync(ACTOR_CONFIG_PATH)) {
|
|
53
|
+
throw new Error(`The current Actor does not have an ${ACTOR_CONFIG_PATH} configuration file.`);
|
|
54
|
+
}
|
|
55
|
+
const actorConfig = JSON.parse(readFile(ACTOR_CONFIG_PATH));
|
|
56
|
+
const relativeDatasetPath = getPathRelativeToActorConfig(args.dataset_schema);
|
|
57
|
+
if (actorConfig.storages?.dataset !== relativeDatasetPath) {
|
|
58
|
+
writeFile(ACTOR_CONFIG_PATH, JSON.stringify({
|
|
59
|
+
...actorConfig,
|
|
60
|
+
storages: {
|
|
61
|
+
...actorConfig.storages,
|
|
62
|
+
dataset: relativeDatasetPath,
|
|
63
|
+
},
|
|
64
|
+
}, null, 4));
|
|
65
|
+
console.log(`Updated ${ACTOR_CONFIG_PATH} to use the dataset schema at ${args.dataset_schema}`);
|
|
66
|
+
}
|
|
67
|
+
if (!existsSync(args.dataset_schema)) {
|
|
68
|
+
writeFile(args.dataset_schema, JSON.stringify({
|
|
69
|
+
actorSpecification: 1,
|
|
70
|
+
[DATASET_SCHEMA_FIELD]: { type: "object", properties: {} },
|
|
71
|
+
}, null, 4));
|
|
72
|
+
console.log(`Dataset schema initialized at ${args.dataset_schema}`);
|
|
73
|
+
}
|
|
74
|
+
const datasetItemSchema = readJsonSchemaField(args.dataset_schema, DATASET_SCHEMA_FIELD);
|
|
75
|
+
writeJsonSchema(args.src_dataset, datasetItemSchema);
|
|
76
|
+
}
|
|
38
77
|
function init(args) {
|
|
39
78
|
if (args.only_config_file && args.no_config_file) {
|
|
40
79
|
throw new Error("The options --only-config-file and --no-config-file were defined together: doing nothing.");
|
|
@@ -49,41 +88,10 @@ function init(args) {
|
|
|
49
88
|
return;
|
|
50
89
|
}
|
|
51
90
|
if (args.input.includes("input")) {
|
|
52
|
-
|
|
53
|
-
throw new Error("The current Actor does not have an input schema.");
|
|
54
|
-
}
|
|
55
|
-
const inputSchema = readJsonSchema(args.input_schema);
|
|
56
|
-
writeJsonSchema(args.src_input, inputSchema);
|
|
57
|
-
console.log(`Input schema initialized at ${args.src_input}`);
|
|
58
|
-
if (args.add_input) {
|
|
59
|
-
writeJsonSchema(args.add_input, { type: "object", properties: {} });
|
|
60
|
-
console.log(`Additional input schema initialized at ${args.add_input}`);
|
|
61
|
-
}
|
|
91
|
+
initializeInputSchema(args);
|
|
62
92
|
}
|
|
63
93
|
if (args.input.includes("dataset")) {
|
|
64
|
-
|
|
65
|
-
throw new Error(`The current Actor does not have an ${ACTOR_CONFIG_PATH} configuration file.`);
|
|
66
|
-
}
|
|
67
|
-
const actorConfig = JSON.parse(readFile(ACTOR_CONFIG_PATH));
|
|
68
|
-
if (actorConfig.storages?.dataset !== args.dataset_schema) {
|
|
69
|
-
writeFile(ACTOR_CONFIG_PATH, JSON.stringify({
|
|
70
|
-
...actorConfig,
|
|
71
|
-
storages: {
|
|
72
|
-
...actorConfig.storages,
|
|
73
|
-
dataset: getPathRelativeToActorConfig(args.dataset_schema),
|
|
74
|
-
},
|
|
75
|
-
}, null, 4));
|
|
76
|
-
console.log(`Updated ${ACTOR_CONFIG_PATH} to use the dataset schema at ${args.dataset_schema}`);
|
|
77
|
-
}
|
|
78
|
-
if (!existsSync(args.dataset_schema)) {
|
|
79
|
-
writeFile(args.dataset_schema, JSON.stringify({
|
|
80
|
-
actorSpecification: 1,
|
|
81
|
-
[DATASET_SCHEMA_FIELD]: { type: "object", properties: {} },
|
|
82
|
-
}, null, 4));
|
|
83
|
-
console.log(`Dataset schema initialized at ${args.dataset_schema}`);
|
|
84
|
-
}
|
|
85
|
-
const datasetItemSchema = readJsonSchemaField(args.dataset_schema, DATASET_SCHEMA_FIELD);
|
|
86
|
-
writeJsonSchema(args.src_dataset, datasetItemSchema);
|
|
94
|
+
initializeDatasetSchema(args);
|
|
87
95
|
}
|
|
88
96
|
}
|
|
89
97
|
initParser.set_defaults({ func: init });
|
|
@@ -94,38 +102,44 @@ const syncParser = subparsers.add_parser("sync", {
|
|
|
94
102
|
addCommonCLIArgs(syncParser, configuration);
|
|
95
103
|
syncParser.add_argument(DEEP_MERGE_PARAM, DEEP_MERGE_OPTIONS);
|
|
96
104
|
syncParser.add_argument("--include-input-utils", {
|
|
97
|
-
help: "include input utilities in the generated TypeScript files:
|
|
105
|
+
help: "include input utilities in the generated TypeScript files: 'input' input and 'ts-types' output are required",
|
|
98
106
|
choices: ["true", "false"],
|
|
99
107
|
default: "true",
|
|
100
108
|
});
|
|
109
|
+
function handleInputSync(args) {
|
|
110
|
+
let inputSchema = readJsonSchema(args.src_input);
|
|
111
|
+
if (args.add_input) {
|
|
112
|
+
inputSchema = mergeObjectSchemas(inputSchema, readJsonSchema(args.add_input), args.deep_merge);
|
|
113
|
+
}
|
|
114
|
+
if (args.output.includes("json-schemas")) {
|
|
115
|
+
writeJsonSchema(args.input_schema, filterValidInputSchemaProperties(inputSchema));
|
|
116
|
+
}
|
|
117
|
+
if (args.output.includes("ts-types")) {
|
|
118
|
+
writeTypeScriptFile(join(args.output_ts_dir, "input.ts"), serializeTypeScriptInterface("Input", jsonSchemaToTypeScriptInterface(inputSchema)));
|
|
119
|
+
if (args.include_input_utils === "true") {
|
|
120
|
+
writeTypeScriptFile(join(args.output_ts_dir, "input-utils.ts"), generateInputDefaultsTsFileContent(inputSchema));
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
function handleDatasetSync(args) {
|
|
125
|
+
let datasetSchema = readJsonSchema(args.src_dataset);
|
|
126
|
+
if (args.add_dataset) {
|
|
127
|
+
datasetSchema = mergeObjectSchemas(datasetSchema, readJsonSchema(args.add_dataset), args.deep_merge);
|
|
128
|
+
}
|
|
129
|
+
if (args.output.includes("json-schemas")) {
|
|
130
|
+
writeSchemaToField(args.dataset_schema, datasetSchema, DATASET_SCHEMA_FIELD);
|
|
131
|
+
}
|
|
132
|
+
if (args.output.includes("ts-types")) {
|
|
133
|
+
writeTypeScriptFile(join(args.output_ts_dir, "dataset.ts"), serializeTypeScriptInterface("DatasetItem", jsonSchemaToTypeScriptInterface(datasetSchema)));
|
|
134
|
+
}
|
|
135
|
+
}
|
|
101
136
|
function sync(args) {
|
|
102
137
|
console.log("Syncing schemas...");
|
|
103
138
|
if (args.input.includes("input")) {
|
|
104
|
-
|
|
105
|
-
if (args.add_input) {
|
|
106
|
-
inputSchema = mergeObjectSchemas(inputSchema, readJsonSchema(args.add_input), args.deep_merge);
|
|
107
|
-
}
|
|
108
|
-
if (args.output.includes("json-schemas")) {
|
|
109
|
-
writeJsonSchema(args.input_schema, filterValidInputSchemaProperties(inputSchema));
|
|
110
|
-
}
|
|
111
|
-
if (args.output.includes("ts-types")) {
|
|
112
|
-
writeTypeScriptFile(join(args.output_ts_dir, "input.ts"), serializeTypeScriptInterface("Input", jsonSchemaToTypeScriptInterface(inputSchema)));
|
|
113
|
-
if (args.include_input_utils === "true") {
|
|
114
|
-
writeTypeScriptFile(join(args.output_ts_dir, "input-utils.ts"), generateInputDefaultsTSFileContent(inputSchema));
|
|
115
|
-
}
|
|
116
|
-
}
|
|
139
|
+
handleInputSync(args);
|
|
117
140
|
}
|
|
118
141
|
if (args.input.includes("dataset")) {
|
|
119
|
-
|
|
120
|
-
if (args.add_dataset) {
|
|
121
|
-
datasetSchema = mergeObjectSchemas(datasetSchema, readJsonSchema(args.add_dataset), args.deep_merge);
|
|
122
|
-
}
|
|
123
|
-
if (args.output.includes("json-schemas")) {
|
|
124
|
-
writeSchemaToField(args.dataset_schema, datasetSchema, DATASET_SCHEMA_FIELD);
|
|
125
|
-
}
|
|
126
|
-
if (args.output.includes("ts-types")) {
|
|
127
|
-
writeTypeScriptFile(join(args.output_ts_dir, "dataset.ts"), serializeTypeScriptInterface("DatasetItem", jsonSchemaToTypeScriptInterface(datasetSchema)));
|
|
128
|
-
}
|
|
142
|
+
handleDatasetSync(args);
|
|
129
143
|
}
|
|
130
144
|
}
|
|
131
145
|
syncParser.set_defaults({ func: sync });
|
|
@@ -140,60 +154,66 @@ checkParser.add_argument("--ignore-descriptions", {
|
|
|
140
154
|
action: "store_true",
|
|
141
155
|
default: false,
|
|
142
156
|
});
|
|
143
|
-
function
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
process.exit(1);
|
|
156
|
-
}
|
|
157
|
+
function checkInputSchemas(args) {
|
|
158
|
+
let sourceInputSchema = readJsonSchema(args.src_input);
|
|
159
|
+
if (args.add_input) {
|
|
160
|
+
sourceInputSchema = mergeObjectSchemas(sourceInputSchema, readJsonSchema(args.add_input), args.deep_merge);
|
|
161
|
+
}
|
|
162
|
+
const generatedInputSchema = filterValidInputSchemaProperties(sourceInputSchema);
|
|
163
|
+
if (args.output.includes("json-schemas")) {
|
|
164
|
+
const outputInputSchema = readJsonSchema(args.input_schema);
|
|
165
|
+
const isInputSchemaCoherent = compareSchemas(generatedInputSchema, outputInputSchema, args.ignore_descriptions);
|
|
166
|
+
if (!isInputSchemaCoherent) {
|
|
167
|
+
console.error("Input schema validation failed: the input schema does not match the source schema.");
|
|
168
|
+
process.exit(1);
|
|
157
169
|
}
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
170
|
+
}
|
|
171
|
+
if (args.output.includes("ts-types")) {
|
|
172
|
+
const inputTsContent = readFile(join(args.output_ts_dir, "input.ts"));
|
|
173
|
+
const inputTsInterface = parseTypeScriptInterface(removeTypeScriptHeader(inputTsContent));
|
|
174
|
+
const sourceInputTsInterface = jsonSchemaToTypeScriptInterface(sourceInputSchema);
|
|
175
|
+
const isTsInputCoherent = compareTypescriptInterfaces(sourceInputTsInterface, inputTsInterface, args.ignore_descriptions);
|
|
176
|
+
if (!isTsInputCoherent) {
|
|
177
|
+
console.error("Input TypeScript interface validation failed: the TypeScript interface does not match the source schema.");
|
|
178
|
+
process.exit(1);
|
|
167
179
|
}
|
|
168
180
|
}
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
181
|
+
}
|
|
182
|
+
function checkDatasetSchemas(args) {
|
|
183
|
+
let sourceDatasetSchema = readJsonSchema(args.src_dataset);
|
|
184
|
+
if (args.add_dataset) {
|
|
185
|
+
sourceDatasetSchema = mergeObjectSchemas(sourceDatasetSchema, readJsonSchema(args.add_dataset), args.deep_merge);
|
|
186
|
+
}
|
|
187
|
+
if (args.output.includes("json-schemas")) {
|
|
188
|
+
const outputDatasetSchema = readJsonSchemaField(args.dataset_schema, DATASET_SCHEMA_FIELD);
|
|
189
|
+
if (!outputDatasetSchema) {
|
|
190
|
+
console.error(`Dataset schema field "${DATASET_SCHEMA_FIELD}" not found in ${args.dataset_schema}.`);
|
|
191
|
+
process.exit(1);
|
|
173
192
|
}
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
process.exit(1);
|
|
179
|
-
}
|
|
180
|
-
const isDatasetSchemaCoherent = compareSchemas(sourceDatasetSchema, outputDatasetSchema, args.ignore_descriptions);
|
|
181
|
-
if (!isDatasetSchemaCoherent) {
|
|
182
|
-
console.error("Dataset schema validation failed: the dataset schema does not match the source schema.");
|
|
183
|
-
process.exit(1);
|
|
184
|
-
}
|
|
193
|
+
const isDatasetSchemaCoherent = compareSchemas(sourceDatasetSchema, outputDatasetSchema, args.ignore_descriptions);
|
|
194
|
+
if (!isDatasetSchemaCoherent) {
|
|
195
|
+
console.error("Dataset schema validation failed: the dataset schema does not match the source schema.");
|
|
196
|
+
process.exit(1);
|
|
185
197
|
}
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
198
|
+
}
|
|
199
|
+
if (args.output.includes("ts-types")) {
|
|
200
|
+
const datasetTsContent = readFile(join(args.output_ts_dir, "dataset.ts"));
|
|
201
|
+
const datasetTsInterface = parseTypeScriptInterface(removeTypeScriptHeader(datasetTsContent));
|
|
202
|
+
const sourceDatasetTsInterface = jsonSchemaToTypeScriptInterface(sourceDatasetSchema);
|
|
203
|
+
const isTsDatasetCoherent = compareTypescriptInterfaces(sourceDatasetTsInterface, datasetTsInterface, args.ignore_descriptions);
|
|
204
|
+
if (!isTsDatasetCoherent) {
|
|
205
|
+
console.error("Dataset TypeScript interface validation failed: the TypeScript interface does not match the source schema.");
|
|
206
|
+
process.exit(1);
|
|
195
207
|
}
|
|
196
208
|
}
|
|
209
|
+
}
|
|
210
|
+
function check(args) {
|
|
211
|
+
if (args.input.includes("input")) {
|
|
212
|
+
checkInputSchemas(args);
|
|
213
|
+
}
|
|
214
|
+
if (args.input.includes("dataset")) {
|
|
215
|
+
checkDatasetSchemas(args);
|
|
216
|
+
}
|
|
197
217
|
console.log("Check passed.");
|
|
198
218
|
}
|
|
199
219
|
checkParser.set_defaults({ func: check });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apify-schema-tools.js","sourceRoot":"","sources":["../src/apify-schema-tools.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,6BAA6B,EAAwB,cAAc,EAAE,MAAM,UAAU,CAAC;AAC/F,OAAO,EACN,iBAAiB,EACjB,oBAAoB,EACpB,gCAAgC,EAChC,kCAAkC,EAClC,4BAA4B,GAC5B,MAAM,YAAY,CAAC;AACpB,OAAO,
|
|
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
|
@@ -7,6 +7,6 @@ export declare function filterValidInputSchemaProperties(schema: ObjectSchema):
|
|
|
7
7
|
* the default values for the input schema, and the interface for the input
|
|
8
8
|
* with the default values filled in.
|
|
9
9
|
*/
|
|
10
|
-
export declare function
|
|
10
|
+
export declare function generateInputDefaultsTsFileContent(inputSchema: ObjectSchema): string;
|
|
11
11
|
export declare const DATASET_SCHEMA_FIELD = "fields";
|
|
12
12
|
//# 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,
|
|
1
|
+
{"version":3,"file":"apify.d.ts","sourceRoot":"","sources":["../src/apify.ts"],"names":[],"mappings":"AACA,OAAO,EAA+B,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGnF,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"}
|
package/dist/apify.js
CHANGED
|
@@ -54,7 +54,7 @@ export function filterValidInputSchemaProperties(schema) {
|
|
|
54
54
|
* the default values for the input schema, and the interface for the input
|
|
55
55
|
* with the default values filled in.
|
|
56
56
|
*/
|
|
57
|
-
export function
|
|
57
|
+
export function generateInputDefaultsTsFileContent(inputSchema) {
|
|
58
58
|
const defaultValues = {};
|
|
59
59
|
for (const [property, definition] of Object.entries(inputSchema.properties ?? {})) {
|
|
60
60
|
if ("default" in definition) {
|
|
@@ -105,7 +105,9 @@ export function getInputWithDefaultValues(input?: Input | null): InputWithDefaul
|
|
|
105
105
|
}${requiredParamsWithoutDefaults.length > 0
|
|
106
106
|
? `
|
|
107
107
|
if (!input) {
|
|
108
|
-
throw new Error(\`Input is required, because the following fields are required: $\{
|
|
108
|
+
throw new Error(\`Input is required, because the following fields are required: $\{
|
|
109
|
+
REQUIRED_INPUT_FIELDS_WITHOUT_DEFAULT.join(", ")
|
|
110
|
+
\}\`);
|
|
109
111
|
}`
|
|
110
112
|
: ""}
|
|
111
113
|
${areThereDefaults
|
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,
|
|
1
|
+
{"version":3,"file":"apify.js","sourceRoot":"","sources":["../src/apify.ts"],"names":[],"mappings":"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"}
|