apify-schema-tools 2.0.2 → 2.0.3

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/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # Changelog
2
2
 
3
+ ## 2.0.3
4
+
5
+ ### Fixed
6
+
7
+ - Input utils now include the correct DefaultInputs interface.
8
+ - Dataset path in `actor.json` now is relative to the `actor.json`'s dirname.
9
+
3
10
  ## 2.0.2
4
11
 
5
12
  ### Fixed
@@ -2,7 +2,7 @@
2
2
  import { existsSync } from "node:fs";
3
3
  import { join } from "node:path";
4
4
  import { ArgumentDefaultsHelpFormatter, ArgumentParser } from "argparse";
5
- import { ACTOR_CONFIG_PATH, DATASET_SCHEMA_FIELD, filterValidInputSchemaProperties, generateInputDefaultsTSFileContent, } from "./apify.js";
5
+ import { ACTOR_CONFIG_PATH, DATASET_SCHEMA_FIELD, filterValidInputSchemaProperties, generateInputDefaultsTSFileContent, getPathRelativeToActorConfig, } from "./apify.js";
6
6
  import { addCommonCLIArgs, parseConfigurationFromFileOrDefault, writeConfigurationToPackageJson, } from "./configuration.js";
7
7
  import { readFile, writeFile } from "./filesystem.js";
8
8
  import { compareSchemas, mergeObjectSchemas, readJsonSchema, readJsonSchemaField, writeJsonSchema, writeSchemaToField, } from "./json-schemas.js";
@@ -66,7 +66,13 @@ function init(args) {
66
66
  }
67
67
  const actorConfig = JSON.parse(readFile(ACTOR_CONFIG_PATH));
68
68
  if (actorConfig.storages?.dataset !== args.dataset_schema) {
69
- writeFile(ACTOR_CONFIG_PATH, JSON.stringify({ ...actorConfig, storages: { ...actorConfig.storages, dataset: args.dataset_schema } }, null, 4));
69
+ writeFile(ACTOR_CONFIG_PATH, JSON.stringify({
70
+ ...actorConfig,
71
+ storages: {
72
+ ...actorConfig.storages,
73
+ dataset: getPathRelativeToActorConfig(args.dataset_schema),
74
+ },
75
+ }, null, 4));
70
76
  console.log(`Updated ${ACTOR_CONFIG_PATH} to use the dataset schema at ${args.dataset_schema}`);
71
77
  }
72
78
  if (!existsSync(args.dataset_schema)) {
@@ -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,5 +1,6 @@
1
1
  import { type ObjectSchema } from "./json-schemas.js";
2
2
  export declare const ACTOR_CONFIG_PATH = ".actor/actor.json";
3
+ export declare function getPathRelativeToActorConfig(path: string): string;
3
4
  export declare function filterValidInputSchemaProperties(schema: ObjectSchema): ObjectSchema;
4
5
  /**
5
6
  * Generates the content of a TypeScript file that exports a function to fill
@@ -1 +1 @@
1
- {"version":3,"file":"apify.d.ts","sourceRoot":"","sources":["../src/apify.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAA+B,MAAM,mBAAmB,CAAC;AAGnF,eAAO,MAAM,iBAAiB,sBAAsB,CAAC;AA+CrD,wBAAgB,gCAAgC,CAAC,MAAM,EAAE,YAAY,GAAG,YAAY,CAQnF;AAED;;;;GAIG;AACH,wBAAgB,kCAAkC,CAAC,WAAW,EAAE,YAAY,UA0E3E;AAED,eAAO,MAAM,oBAAoB,WAAW,CAAC"}
1
+ {"version":3,"file":"apify.d.ts","sourceRoot":"","sources":["../src/apify.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,YAAY,EAA+B,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,UAyE3E;AAED,eAAO,MAAM,oBAAoB,WAAW,CAAC"}
package/dist/apify.js CHANGED
@@ -1,6 +1,10 @@
1
+ import { dirname, relative } from "node:path";
1
2
  import { filterValidSchemaProperties } from "./json-schemas.js";
2
3
  import { jsonSchemaToTypeScriptInterface, serializeTypeScriptSchema } from "./typescript.js";
3
4
  export const ACTOR_CONFIG_PATH = ".actor/actor.json";
5
+ export function getPathRelativeToActorConfig(path) {
6
+ return `./${relative(dirname(ACTOR_CONFIG_PATH), path)}`;
7
+ }
4
8
  const VALID_INPUT_ROOT_KEYS = ["title", "description", "type", "schemaVersion", "properties", "required"];
5
9
  const VALID_INPUT_PROPERTY_KEYS = [
6
10
  "type",
@@ -57,16 +61,16 @@ export function generateInputDefaultsTSFileContent(inputSchema) {
57
61
  defaultValues[property] = definition.default;
58
62
  }
59
63
  }
60
- const tsInterfaceSchema = jsonSchemaToTypeScriptInterface(inputSchema);
61
- const optionalParamsWithDefaults = {
64
+ const tsInterface = jsonSchemaToTypeScriptInterface(inputSchema);
65
+ const defaultInterface = {
62
66
  isArray: false,
63
67
  isRequired: true,
64
68
  properties: {},
65
69
  };
66
70
  const requiredParamsWithoutDefaults = [];
67
- for (const [key, schema] of Object.entries(tsInterfaceSchema.properties)) {
68
- if (!schema.isRequired && key in defaultValues) {
69
- optionalParamsWithDefaults.properties[key] = {
71
+ for (const [key, schema] of Object.entries(tsInterface.properties)) {
72
+ if (key in defaultValues) {
73
+ defaultInterface.properties[key] = {
70
74
  ...schema,
71
75
  isRequired: true,
72
76
  };
@@ -75,14 +79,14 @@ export function generateInputDefaultsTSFileContent(inputSchema) {
75
79
  requiredParamsWithoutDefaults.push(key);
76
80
  }
77
81
  }
78
- const areThereDefaults = Object.keys(optionalParamsWithDefaults.properties).length > 0;
82
+ const areThereDefaults = Object.keys(defaultInterface.properties).length > 0;
79
83
  return `\
80
84
  import { Actor } from "apify";
81
85
  import type { Input } from "./input.js";
82
86
 
83
87
  ${areThereDefaults
84
88
  ? `\
85
- interface DefaultInputs ${serializeTypeScriptSchema(optionalParamsWithDefaults)};
89
+ interface DefaultInputs ${serializeTypeScriptSchema(defaultInterface)};
86
90
 
87
91
  export type InputWithDefaults = Input & DefaultInputs;
88
92
 
@@ -98,9 +102,8 @@ export function getInputWithDefaultValues(input?: Input | null): InputWithDefaul
98
102
  if (Actor.isAtHome()) {
99
103
  // The platform is supposed to fill in the default values
100
104
  return input as InputWithDefaults;
101
- }
102
- ${requiredParamsWithoutDefaults.length > 0
103
- ? `\
105
+ }${requiredParamsWithoutDefaults.length > 0
106
+ ? `
104
107
  if (!input) {
105
108
  throw new Error(\`Input is required, because the following fields are required: $\{REQUIRED_INPUT_FIELDS_WITHOUT_DEFAULT.join(", ")\}\`);
106
109
  }`
package/dist/apify.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"apify.js","sourceRoot":"","sources":["../src/apify.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"apify.js","sourceRoot":"","sources":["../src/apify.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "apify-schema-tools",
3
- "version": "2.0.2",
3
+ "version": "2.0.3",
4
4
  "description": "Apify schema managing tools.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -7,19 +7,13 @@
7
7
  import { Actor } from "apify";
8
8
  import type { Input } from "./input.js";
9
9
 
10
- export const DEFAULT_INPUT_VALUES = {
11
- startUrls: [],
12
- categories: [],
13
- maxPages: 10,
14
- proxy: {
15
- useApifyProxy: true,
16
- },
17
- debugMode: false,
18
- };
19
-
20
- export const REQUIRED_INPUT_FIELDS_WITHOUT_DEFAULT = ["searchTerm"];
21
-
22
- export type InputWithDefaults = Input & {
10
+ interface DefaultInputs {
11
+ /**
12
+ * List of URLs to scrape
13
+ */
14
+ startUrls: {
15
+ url?: string;
16
+ }[];
23
17
  /**
24
18
  * List of categories to filter results
25
19
  */
@@ -41,8 +35,22 @@ export type InputWithDefaults = Input & {
41
35
  * Enable debug logging
42
36
  */
43
37
  debugMode: boolean;
38
+ }
39
+
40
+ export type InputWithDefaults = Input & DefaultInputs;
41
+
42
+ export const DEFAULT_INPUT_VALUES: DefaultInputs = {
43
+ startUrls: [],
44
+ categories: [],
45
+ maxPages: 10,
46
+ proxy: {
47
+ useApifyProxy: true,
48
+ },
49
+ debugMode: false,
44
50
  };
45
51
 
52
+ export const REQUIRED_INPUT_FIELDS_WITHOUT_DEFAULT = ["searchTerm"];
53
+
46
54
  export function getInputWithDefaultValues(input?: Input | null): InputWithDefaults {
47
55
  if (Actor.isAtHome()) {
48
56
  // The platform is supposed to fill in the default values
@@ -7,20 +7,13 @@
7
7
  import { Actor } from "apify";
8
8
  import type { Input } from "./input.js";
9
9
 
10
- export const DEFAULT_INPUT_VALUES = {
11
- startUrls: [],
12
- categories: [],
13
- maxPages: 10,
14
- proxy: {
15
- useApifyProxy: true,
16
- },
17
- maxRetries: 3,
18
- debugMode: false,
19
- };
20
-
21
- export const REQUIRED_INPUT_FIELDS_WITHOUT_DEFAULT = ["searchTerm"];
22
-
23
- export type InputWithDefaults = Input & {
10
+ interface DefaultInputs {
11
+ /**
12
+ * List of URLs to scrape
13
+ */
14
+ startUrls: {
15
+ url?: string;
16
+ }[];
24
17
  /**
25
18
  * List of categories to filter results
26
19
  */
@@ -47,8 +40,23 @@ export type InputWithDefaults = Input & {
47
40
  * Enable debug logging
48
41
  */
49
42
  debugMode: boolean;
43
+ }
44
+
45
+ export type InputWithDefaults = Input & DefaultInputs;
46
+
47
+ export const DEFAULT_INPUT_VALUES: DefaultInputs = {
48
+ startUrls: [],
49
+ categories: [],
50
+ maxPages: 10,
51
+ proxy: {
52
+ useApifyProxy: true,
53
+ },
54
+ maxRetries: 3,
55
+ debugMode: false,
50
56
  };
51
57
 
58
+ export const REQUIRED_INPUT_FIELDS_WITHOUT_DEFAULT = ["searchTerm"];
59
+
52
60
  export function getInputWithDefaultValues(input?: Input | null): InputWithDefaults {
53
61
  if (Actor.isAtHome()) {
54
62
  // The platform is supposed to fill in the default values
@@ -7,19 +7,13 @@
7
7
  import { Actor } from "apify";
8
8
  import type { Input } from "./input.js";
9
9
 
10
- export const DEFAULT_INPUT_VALUES = {
11
- startUrls: [],
12
- maxPages: 10,
13
- proxy: {
14
- useApifyProxy: true,
15
- },
16
- maxRetries: 3,
17
- debugMode: false,
18
- };
19
-
20
- export const REQUIRED_INPUT_FIELDS_WITHOUT_DEFAULT = ["searchTerm"];
21
-
22
- export type InputWithDefaults = Input & {
10
+ interface DefaultInputs {
11
+ /**
12
+ * List of URLs to scrape
13
+ */
14
+ startUrls: {
15
+ url?: string;
16
+ }[];
23
17
  /**
24
18
  * Maximum number of pages to scrape
25
19
  */
@@ -38,8 +32,22 @@ export type InputWithDefaults = Input & {
38
32
  * Enable debug logging
39
33
  */
40
34
  debugMode: boolean;
35
+ }
36
+
37
+ export type InputWithDefaults = Input & DefaultInputs;
38
+
39
+ export const DEFAULT_INPUT_VALUES: DefaultInputs = {
40
+ startUrls: [],
41
+ maxPages: 10,
42
+ proxy: {
43
+ useApifyProxy: true,
44
+ },
45
+ maxRetries: 3,
46
+ debugMode: false,
41
47
  };
42
48
 
49
+ export const REQUIRED_INPUT_FIELDS_WITHOUT_DEFAULT = ["searchTerm"];
50
+
43
51
  export function getInputWithDefaultValues(input?: Input | null): InputWithDefaults {
44
52
  if (Actor.isAtHome()) {
45
53
  // The platform is supposed to fill in the default values
@@ -7,19 +7,13 @@
7
7
  import { Actor } from "apify";
8
8
  import type { Input } from "./input.js";
9
9
 
10
- export const DEFAULT_INPUT_VALUES = {
11
- startUrls: [],
12
- categories: [],
13
- maxPages: 10,
14
- proxy: {
15
- useApifyProxy: true,
16
- },
17
- debugMode: false,
18
- };
19
-
20
- export const REQUIRED_INPUT_FIELDS_WITHOUT_DEFAULT = ["searchTerm"];
21
-
22
- export type InputWithDefaults = Input & {
10
+ interface DefaultInputs {
11
+ /**
12
+ * List of URLs to scrape
13
+ */
14
+ startUrls: {
15
+ url?: string;
16
+ }[];
23
17
  /**
24
18
  * List of categories to filter results
25
19
  */
@@ -41,8 +35,22 @@ export type InputWithDefaults = Input & {
41
35
  * Enable debug logging
42
36
  */
43
37
  debugMode: boolean;
38
+ }
39
+
40
+ export type InputWithDefaults = Input & DefaultInputs;
41
+
42
+ export const DEFAULT_INPUT_VALUES: DefaultInputs = {
43
+ startUrls: [],
44
+ categories: [],
45
+ maxPages: 10,
46
+ proxy: {
47
+ useApifyProxy: true,
48
+ },
49
+ debugMode: false,
44
50
  };
45
51
 
52
+ export const REQUIRED_INPUT_FIELDS_WITHOUT_DEFAULT = ["searchTerm"];
53
+
46
54
  export function getInputWithDefaultValues(input?: Input | null): InputWithDefaults {
47
55
  if (Actor.isAtHome()) {
48
56
  // The platform is supposed to fill in the default values
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { existsSync, read } from "node:fs";
3
+ import { existsSync } from "node:fs";
4
4
  import { join } from "node:path";
5
5
  import { ArgumentDefaultsHelpFormatter, type ArgumentOptions, ArgumentParser } from "argparse";
6
6
  import {
@@ -8,6 +8,7 @@ import {
8
8
  DATASET_SCHEMA_FIELD,
9
9
  filterValidInputSchemaProperties,
10
10
  generateInputDefaultsTSFileContent,
11
+ getPathRelativeToActorConfig,
11
12
  } from "./apify.js";
12
13
  import {
13
14
  type CommonCLIArgs,
@@ -113,7 +114,13 @@ function init(args: InitArgs) {
113
114
  writeFile(
114
115
  ACTOR_CONFIG_PATH,
115
116
  JSON.stringify(
116
- { ...actorConfig, storages: { ...actorConfig.storages, dataset: args.dataset_schema } },
117
+ {
118
+ ...actorConfig,
119
+ storages: {
120
+ ...actorConfig.storages,
121
+ dataset: getPathRelativeToActorConfig(args.dataset_schema),
122
+ },
123
+ },
117
124
  null,
118
125
  4,
119
126
  ),
package/src/apify.ts CHANGED
@@ -1,8 +1,13 @@
1
+ import { dirname, relative } from "node:path";
1
2
  import { type ObjectSchema, filterValidSchemaProperties } from "./json-schemas.js";
2
3
  import { type TypeScriptInterface, jsonSchemaToTypeScriptInterface, serializeTypeScriptSchema } from "./typescript.js";
3
4
 
4
5
  export const ACTOR_CONFIG_PATH = ".actor/actor.json";
5
6
 
7
+ export function getPathRelativeToActorConfig(path: string): string {
8
+ return `./${relative(dirname(ACTOR_CONFIG_PATH), path)}`;
9
+ }
10
+
6
11
  const VALID_INPUT_ROOT_KEYS = ["title", "description", "type", "schemaVersion", "properties", "required"];
7
12
 
8
13
  const VALID_INPUT_PROPERTY_KEYS = [
@@ -65,23 +70,23 @@ export function filterValidInputSchemaProperties(schema: ObjectSchema): ObjectSc
65
70
  */
66
71
  export function generateInputDefaultsTSFileContent(inputSchema: ObjectSchema) {
67
72
  const defaultValues: Record<string, unknown> = {};
68
-
69
73
  for (const [property, definition] of Object.entries(inputSchema.properties ?? {})) {
70
74
  if ("default" in definition) {
71
75
  defaultValues[property] = definition.default;
72
76
  }
73
77
  }
74
- const tsInterfaceSchema = jsonSchemaToTypeScriptInterface(inputSchema);
75
78
 
76
- const optionalParamsWithDefaults: TypeScriptInterface = {
79
+ const tsInterface = jsonSchemaToTypeScriptInterface(inputSchema);
80
+
81
+ const defaultInterface: TypeScriptInterface = {
77
82
  isArray: false,
78
83
  isRequired: true,
79
84
  properties: {},
80
85
  };
81
86
  const requiredParamsWithoutDefaults: string[] = [];
82
- for (const [key, schema] of Object.entries(tsInterfaceSchema.properties)) {
83
- if (!schema.isRequired && key in defaultValues) {
84
- optionalParamsWithDefaults.properties[key] = {
87
+ for (const [key, schema] of Object.entries(tsInterface.properties)) {
88
+ if (key in defaultValues) {
89
+ defaultInterface.properties[key] = {
85
90
  ...schema,
86
91
  isRequired: true,
87
92
  };
@@ -90,7 +95,7 @@ export function generateInputDefaultsTSFileContent(inputSchema: ObjectSchema) {
90
95
  }
91
96
  }
92
97
 
93
- const areThereDefaults = Object.keys(optionalParamsWithDefaults.properties).length > 0;
98
+ const areThereDefaults = Object.keys(defaultInterface.properties).length > 0;
94
99
 
95
100
  return `\
96
101
  import { Actor } from "apify";
@@ -99,7 +104,7 @@ import type { Input } from "./input.js";
99
104
  ${
100
105
  areThereDefaults
101
106
  ? `\
102
- interface DefaultInputs ${serializeTypeScriptSchema(optionalParamsWithDefaults)};
107
+ interface DefaultInputs ${serializeTypeScriptSchema(defaultInterface)};
103
108
 
104
109
  export type InputWithDefaults = Input & DefaultInputs;
105
110
 
@@ -116,15 +121,14 @@ export function getInputWithDefaultValues(input?: Input | null): InputWithDefaul
116
121
  if (Actor.isAtHome()) {
117
122
  // The platform is supposed to fill in the default values
118
123
  return input as InputWithDefaults;
119
- }
120
- ${
121
- requiredParamsWithoutDefaults.length > 0
122
- ? `\
124
+ }${
125
+ requiredParamsWithoutDefaults.length > 0
126
+ ? `
123
127
  if (!input) {
124
128
  throw new Error(\`Input is required, because the following fields are required: $\{REQUIRED_INPUT_FIELDS_WITHOUT_DEFAULT.join(", ")\}\`);
125
129
  }`
126
- : ""
127
- }
130
+ : ""
131
+ }
128
132
  ${
129
133
  areThereDefaults
130
134
  ? `\
@@ -131,7 +131,7 @@ describe("The apify-schema-tools cli", () => {
131
131
 
132
132
  // Check that actor config was updated
133
133
  const updatedActorConfig = JSON.parse(readFileSync(actorConfigPath, "utf8"));
134
- expect(updatedActorConfig.storages?.dataset).toBe(".actor/dataset_schema.json");
134
+ expect(updatedActorConfig.storages?.dataset).toBe("./dataset_schema.json");
135
135
 
136
136
  // Check that dataset schema file was created
137
137
  expect(existsSync(DATASET_SCHEMA_PATH)).toBe(true);
@@ -23,6 +23,7 @@ describe("Apify utilities", () => {
23
23
  import type { Input } from "./input.js";
24
24
 
25
25
  interface DefaultInputs {
26
+ name: string;
26
27
  age: number;
27
28
  };
28
29
 
@@ -40,7 +41,6 @@ export function getInputWithDefaultValues(input?: Input | null): InputWithDefaul
40
41
  // The platform is supposed to fill in the default values
41
42
  return input as InputWithDefaults;
42
43
  }
43
-
44
44
  return {
45
45
  ...DEFAULT_INPUT_VALUES,
46
46
  ...(input ?? {} as Input),
@@ -54,7 +54,7 @@ export function getInputWithDefaultValues(input?: Input | null): InputWithDefaul
54
54
  const inputSchema: ObjectSchema = {
55
55
  type: "object",
56
56
  properties: {
57
- name: { type: "string", default: "John Doe" },
57
+ name: { type: "string" },
58
58
  age: { type: "number" },
59
59
  email: { type: "string" },
60
60
  },
@@ -71,14 +71,18 @@ export type InputWithDefaults = Input;
71
71
 
72
72
  export const DEFAULT_INPUT_VALUES: Record<string, unknown> = {};
73
73
 
74
- export const REQUIRED_INPUT_FIELDS_WITHOUT_DEFAULT = [];
74
+ export const REQUIRED_INPUT_FIELDS_WITHOUT_DEFAULT = [
75
+ "name"
76
+ ];
75
77
 
76
78
  export function getInputWithDefaultValues(input?: Input | null): InputWithDefaults {
77
79
  if (Actor.isAtHome()) {
78
80
  // The platform is supposed to fill in the default values
79
81
  return input as InputWithDefaults;
80
82
  }
81
-
83
+ if (!input) {
84
+ throw new Error(\`Input is required, because the following fields are required: $\{REQUIRED_INPUT_FIELDS_WITHOUT_DEFAULT.join(", ")\}\`);
85
+ }
82
86
  return input ?? {} as Input;
83
87
  }
84
88
  `,