apify-cli 1.0.0-beta.9 → 1.0.0-beta.90

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.
Files changed (63) hide show
  1. package/CHANGELOG.md +200 -0
  2. package/README.md +82 -75
  3. package/bin/dev.js +7 -2
  4. package/bin/dev.sh +4 -0
  5. package/bin/run.js +7 -0
  6. package/dist/.tsbuildinfo +1 -1
  7. package/dist/commands/actor/push-data.js +2 -2
  8. package/dist/commands/actor/set-value.js +3 -3
  9. package/dist/commands/actor/set-value.js.map +1 -1
  10. package/dist/commands/call.d.ts +1 -0
  11. package/dist/commands/call.d.ts.map +1 -1
  12. package/dist/commands/call.js +49 -20
  13. package/dist/commands/call.js.map +1 -1
  14. package/dist/commands/create.d.ts +1 -0
  15. package/dist/commands/create.d.ts.map +1 -1
  16. package/dist/commands/create.js +12 -3
  17. package/dist/commands/create.js.map +1 -1
  18. package/dist/commands/login.d.ts +1 -0
  19. package/dist/commands/login.d.ts.map +1 -1
  20. package/dist/commands/login.js +143 -12
  21. package/dist/commands/login.js.map +1 -1
  22. package/dist/commands/push.d.ts.map +1 -1
  23. package/dist/commands/push.js +35 -8
  24. package/dist/commands/push.js.map +1 -1
  25. package/dist/commands/run.d.ts +1 -0
  26. package/dist/commands/run.d.ts.map +1 -1
  27. package/dist/commands/run.js +76 -20
  28. package/dist/commands/run.js.map +1 -1
  29. package/dist/commands/secrets/index.js +1 -1
  30. package/dist/commands/{vis.d.ts → validate-schema.d.ts} +2 -1
  31. package/dist/commands/validate-schema.d.ts.map +1 -0
  32. package/dist/commands/{vis.js → validate-schema.js} +7 -1
  33. package/dist/commands/validate-schema.js.map +1 -0
  34. package/dist/hooks/deprecations.d.ts +4 -0
  35. package/dist/hooks/deprecations.d.ts.map +1 -0
  36. package/dist/hooks/deprecations.js +18 -0
  37. package/dist/hooks/deprecations.js.map +1 -0
  38. package/dist/lib/actor.d.ts +1 -1
  39. package/dist/lib/actor.js +2 -2
  40. package/dist/lib/actor.js.map +1 -1
  41. package/dist/lib/consts.d.ts +8 -0
  42. package/dist/lib/consts.d.ts.map +1 -1
  43. package/dist/lib/consts.js +10 -0
  44. package/dist/lib/consts.js.map +1 -1
  45. package/dist/lib/exec.d.ts.map +1 -1
  46. package/dist/lib/exec.js +6 -1
  47. package/dist/lib/exec.js.map +1 -1
  48. package/dist/lib/input_schema.d.ts +1 -1
  49. package/dist/lib/input_schema.d.ts.map +1 -1
  50. package/dist/lib/secrets.js +3 -3
  51. package/dist/lib/telemetry.d.ts.map +1 -1
  52. package/dist/lib/utils.d.ts +6 -7
  53. package/dist/lib/utils.d.ts.map +1 -1
  54. package/dist/lib/utils.js +29 -9
  55. package/dist/lib/utils.js.map +1 -1
  56. package/oclif.manifest.json +40 -37
  57. package/package.json +148 -141
  58. package/dist/commands/login-new.d.ts +0 -10
  59. package/dist/commands/login-new.d.ts.map +0 -1
  60. package/dist/commands/login-new.js +0 -166
  61. package/dist/commands/login-new.js.map +0 -1
  62. package/dist/commands/vis.d.ts.map +0 -1
  63. package/dist/commands/vis.js.map +0 -1
@@ -38,9 +38,9 @@ Object.defineProperty(PushDataCommand, "description", {
38
38
  value: 'Stores an object or an array of objects to the default dataset of the Actor run.\n'
39
39
  + 'It is possible to pass data using item argument or stdin.\n'
40
40
  + 'Passing data using argument:\n'
41
- + '$ apify actor:push-data {"foo": "bar"}\n'
41
+ + '$ apify actor push-data {"foo": "bar"}\n'
42
42
  + 'Passing data using stdin with pipe:\n'
43
- + '$ cat ./test.json | apify actor:push-data\n'
43
+ + '$ cat ./test.json | apify actor push-data\n'
44
44
  });
45
45
  Object.defineProperty(PushDataCommand, "args", {
46
46
  enumerable: true,
@@ -24,7 +24,7 @@ export class SetValueCommand extends ApifyCommand {
24
24
  const recordValue = value || stdin;
25
25
  const apifyClient = await getApifyStorageClient();
26
26
  const storeClient = apifyClient.keyValueStore(getDefaultStorageId(APIFY_STORAGE_TYPES.KEY_VALUE_STORE));
27
- if (recordValue === undefined || recordValue === null) {
27
+ if (recordValue === undefined || recordValue === null || recordValue === '' || recordValue === 'null' || recordValue === 'undefined') {
28
28
  await storeClient.deleteRecord(key);
29
29
  }
30
30
  else {
@@ -39,9 +39,9 @@ Object.defineProperty(SetValueCommand, "description", {
39
39
  value: 'Sets or removes record into the default KeyValueStore associated with the Actor run.\n'
40
40
  + 'It is possible to pass data using argument or stdin.\n'
41
41
  + 'Passing data using argument:\n'
42
- + '$ apify actor:set-value KEY my-value\n'
42
+ + '$ apify actor set-value KEY my-value\n'
43
43
  + 'Passing data using stdin with pipe:\n'
44
- + '$ cat ./my-text-file.txt | apify actor:set-value KEY --contentType text/plain\n'
44
+ + '$ cat ./my-text-file.txt | apify actor set-value KEY --contentType text/plain\n'
45
45
  });
46
46
  Object.defineProperty(SetValueCommand, "args", {
47
47
  enumerable: true,
@@ -1 +1 @@
1
- {"version":3,"file":"set-value.js","sourceRoot":"","sources":["../../../src/commands/actor/set-value.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAE1C,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACrG,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE1D,MAAM,OAAO,eAAgB,SAAQ,YAAoC;IAAzE;;QA8BY;;;;;WAA6B;IAwBzC,CAAC;IAtBY,KAAK,CAAC,IAAI;QACf,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,sCAAsC;QACtC,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,GAAG;QACL,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;QACvB,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC;QACjC,MAAM,EAAE,WAAW,GAAG,iCAAiC,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QAEvE,oGAAoG;QACpG,MAAM,WAAW,GAAG,KAAK,IAAI,KAAK,CAAC;QACnC,MAAM,WAAW,GAAG,MAAM,qBAAqB,EAAE,CAAC;QAClD,MAAM,WAAW,GAAG,WAAW,CAAC,aAAa,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,eAAe,CAAC,CAAC,CAAC;QAExG,IAAI,WAAW,KAAK,SAAS,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;YACpD,MAAM,WAAW,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QACxC,CAAC;aAAM,CAAC;YACJ,MAAM,WAAW,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC,CAAC;QAC1E,CAAC;IACL,CAAC;;AApDe;;;;WAAc,wFAAwF;UAChH,wDAAwD;UACxD,gCAAgC;UAChC,wCAAwC;UACxC,uCAAuC;UACvC,iFAAiF;EAL5D,CAK6D;AAExE;;;;WAAO;QACnB,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC;YACb,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,uCAAuC;SACvD,CAAC;QACF,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC;YACf,QAAQ,EAAE,KAAK;YACf,WAAW,EAAE,0DAA0D;kBACrE,6DAA6D;kBAC7D,2FAA2F;kBAC3F,wDAAwD;SAC7D,CAAC;KACL;EAZmB,CAYlB;AAEc;;;;WAAQ;QACpB,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC;YACtB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,4FAA4F;YACzG,QAAQ,EAAE,KAAK;SAClB,CAAC;KACL;EANoB,CAMnB"}
1
+ {"version":3,"file":"set-value.js","sourceRoot":"","sources":["../../../src/commands/actor/set-value.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAE1C,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACrG,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE1D,MAAM,OAAO,eAAgB,SAAQ,YAAoC;IAAzE;;QA8BY;;;;;WAA6B;IAwBzC,CAAC;IAtBY,KAAK,CAAC,IAAI;QACf,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,sCAAsC;QACtC,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,GAAG;QACL,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;QACvB,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC;QACjC,MAAM,EAAE,WAAW,GAAG,iCAAiC,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QAEvE,oGAAoG;QACpG,MAAM,WAAW,GAAG,KAAK,IAAI,KAAK,CAAC;QACnC,MAAM,WAAW,GAAG,MAAM,qBAAqB,EAAE,CAAC;QAClD,MAAM,WAAW,GAAG,WAAW,CAAC,aAAa,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,eAAe,CAAC,CAAC,CAAC;QAExG,IAAI,WAAW,KAAK,SAAS,IAAI,WAAW,KAAK,IAAI,IAAI,WAAW,KAAK,EAAE,IAAI,WAAW,KAAK,MAAM,IAAI,WAAW,KAAK,WAAW,EAAE,CAAC;YACnI,MAAM,WAAW,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QACxC,CAAC;aAAM,CAAC;YACJ,MAAM,WAAW,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC,CAAC;QAC1E,CAAC;IACL,CAAC;;AApDe;;;;WAAc,wFAAwF;UAChH,wDAAwD;UACxD,gCAAgC;UAChC,wCAAwC;UACxC,uCAAuC;UACvC,iFAAiF;EAL5D,CAK6D;AAExE;;;;WAAO;QACnB,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC;YACb,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,uCAAuC;SACvD,CAAC;QACF,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC;YACf,QAAQ,EAAE,KAAK;YACf,WAAW,EAAE,0DAA0D;kBACrE,6DAA6D;kBAC7D,2FAA2F;kBAC3F,wDAAwD;SAC7D,CAAC;KACL;EAZmB,CAYlB;AAEc;;;;WAAQ;QACpB,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC;YACtB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,4FAA4F;YACzG,QAAQ,EAAE,KAAK;SAClB,CAAC;KACL;EANoB,CAMnB"}
@@ -11,5 +11,6 @@ export declare class CallCommand extends ApifyCommand<typeof CallCommand> {
11
11
  actorId: import("@oclif/core/lib/interfaces/parser.js").Arg<string | undefined, Record<string, unknown>>;
12
12
  };
13
13
  run(): Promise<void>;
14
+ private resolveActorId;
14
15
  }
15
16
  //# sourceMappingURL=call.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"call.d.ts","sourceRoot":"","sources":["../../src/commands/call.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAKvD,qBAAa,WAAY,SAAQ,YAAY,CAAC,OAAO,WAAW,CAAC;IAC7D,OAAgB,WAAW,SAEyD;IAEpF,OAAgB,KAAK;;;;;MAqBnB;IAEF,OAAgB,IAAI;;MAMlB;IAEI,GAAG;CAoFZ"}
1
+ {"version":3,"file":"call.d.ts","sourceRoot":"","sources":["../../src/commands/call.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAKvD,qBAAa,WAAY,SAAQ,YAAY,CAAC,OAAO,WAAW,CAAC;IAC7D,OAAgB,WAAW,SAEyD;IAEpF,OAAgB,KAAK;;;;;MAqBnB;IAEF,OAAgB,IAAI;;MAMlB;IAEI,GAAG;YAgFK,cAAc;CA4C/B"}
@@ -7,7 +7,7 @@ import { ACTOR_JOB_STATUSES } from '@apify/consts';
7
7
  import { Args, Flags } from '@oclif/core';
8
8
  import mime from 'mime';
9
9
  import { ApifyCommand } from '../lib/apify_command.js';
10
- import { LOCAL_CONFIG_PATH } from '../lib/consts.js';
10
+ import { CommandExitCodes, LOCAL_CONFIG_PATH } from '../lib/consts.js';
11
11
  import { error, link, run as runLog, success, warning } from '../lib/outputs.js';
12
12
  import { getLocalConfig, getLocalInput, getLocalUserInfo, getLoggedClientOrThrow, outputJobLog } from '../lib/utils.js';
13
13
  export class CallCommand extends ApifyCommand {
@@ -17,22 +17,10 @@ export class CallCommand extends ApifyCommand {
17
17
  const apifyClient = await getLoggedClientOrThrow();
18
18
  const userInfo = await getLocalUserInfo();
19
19
  const usernameOrId = userInfo.username || userInfo.id;
20
- const forceActorId = this.args.actorId;
21
- let actorId;
22
- if (forceActorId) {
23
- const actor = await apifyClient.actor(forceActorId).get();
24
- if (!actor)
25
- throw new Error(`Cannot find Actor with ID '${forceActorId}' in your account.`);
26
- actorId = actor.username ? `${actor.username}/${actor.name}` : actor.id;
27
- }
28
- else {
29
- actorId = `${usernameOrId}/${localConfig.name}`;
30
- const actor = await apifyClient.actor(actorId).get();
31
- if (!actor) {
32
- throw new Error(`Cannot find Actor with ID '${actorId}' `
33
- + 'in your account. Call "apify push" to push this Actor to Apify platform.');
34
- }
20
+ if (!usernameOrId) {
21
+ throw new Error('Corrupted local user info was found. Please run "apify login" to fix it, then re-run this command.');
35
22
  }
23
+ const { id: actorId, userFriendlyId } = await this.resolveActorId(apifyClient, localConfig.name, usernameOrId);
36
24
  const runOpts = {
37
25
  waitForFinish: 2, // NOTE: We need to wait some time to Apify open stream and we can create connection
38
26
  };
@@ -50,13 +38,13 @@ export class CallCommand extends ApifyCommand {
50
38
  }
51
39
  // Get input for act
52
40
  const localInput = getLocalInput(cwd);
53
- runLog(`Calling Actor ${actorId}`);
41
+ runLog(`Calling Actor ${userFriendlyId} (${actorId})`);
54
42
  let run;
55
43
  try {
56
44
  if (localInput) {
57
45
  // TODO: For some reason we cannot pass json as buffer with right contentType into apify-client.
58
46
  // It will save malformed JSON which looks like buffer as INPUT.
59
- // We need to fix this in v1 during removing call under actor namespace.
47
+ // We need to fix this in v1 during removing call under Actor namespace.
60
48
  const input = mime.getExtension(localInput.contentType) === 'json' ? JSON.parse(localInput.body.toString('utf-8')) : localInput.body;
61
49
  run = await apifyClient.actor(actorId).start(input, { ...runOpts, contentType: localInput.contentType });
62
50
  }
@@ -68,7 +56,7 @@ export class CallCommand extends ApifyCommand {
68
56
  catch (err) {
69
57
  // TODO: Better error message in apify-client-js
70
58
  if (err.type === 'record-not-found')
71
- throw new Error(`Actor ${actorId} not found!`);
59
+ throw new Error(`Actor ${userFriendlyId} (${actorId}) not found!`);
72
60
  else
73
61
  throw err;
74
62
  }
@@ -87,9 +75,50 @@ export class CallCommand extends ApifyCommand {
87
75
  else if (run.status === ACTOR_JOB_STATUSES.RUNNING) {
88
76
  warning('Actor is still running!');
89
77
  }
78
+ else if (run.status === ACTOR_JOB_STATUSES.ABORTED || run.status === ACTOR_JOB_STATUSES.ABORTING) {
79
+ warning('Actor was aborted!');
80
+ process.exitCode = CommandExitCodes.RunAborted;
81
+ }
90
82
  else {
91
83
  error('Actor failed!');
84
+ process.exitCode = CommandExitCodes.RunFailed;
85
+ }
86
+ }
87
+ async resolveActorId(client, localActorName, usernameOrId) {
88
+ const { actorId } = this.args;
89
+ // Full ID
90
+ if (actorId?.includes('/')) {
91
+ const actor = await client.actor(actorId).get();
92
+ if (!actor)
93
+ throw new Error(`Cannot find Actor with ID '${actorId}' in your account.`);
94
+ return {
95
+ userFriendlyId: `${actor.username}/${actor.name}`,
96
+ id: actor.id,
97
+ };
98
+ }
99
+ // Try fetching Actor directly by name
100
+ if (actorId) {
101
+ const actor = await client.actor(`${usernameOrId}/${actorId.toLowerCase()}`).get();
102
+ if (!actor) {
103
+ throw new Error(`Cannot find Actor with name '${actorId}' in your account.`);
104
+ }
105
+ return {
106
+ userFriendlyId: `${actor.username}/${actor.name}`,
107
+ id: actor.id,
108
+ };
109
+ }
110
+ if (localActorName) {
111
+ const actor = await client.actor(`${usernameOrId}/${localActorName}`).get();
112
+ if (!actor) {
113
+ throw new Error(`Cannot find Actor with ID '${usernameOrId}/${localActorName}' `
114
+ + 'in your account. Call "apify push" to push this Actor to Apify platform.');
115
+ }
116
+ return {
117
+ userFriendlyId: `${actor.username}/${actor.name}`,
118
+ id: actor.id,
119
+ };
92
120
  }
121
+ throw new Error('Please provide an Actor ID or name, or run this command from a directory with a valid Apify Actor.');
93
122
  }
94
123
  }
95
124
  Object.defineProperty(CallCommand, "description", {
@@ -134,7 +163,7 @@ Object.defineProperty(CallCommand, "args", {
134
163
  value: {
135
164
  actorId: Args.string({
136
165
  required: false,
137
- description: 'Name or ID of the Actor to run (e.g. "apify/hello-world" or "E2jjCZBezvAZnX8Rb"). '
166
+ description: 'Name or ID of the Actor to run (e.g. "my-actor", "apify/hello-world" or "E2jjCZBezvAZnX8Rb"). '
138
167
  + `If not provided, the command runs the remote Actor specified in the "${LOCAL_CONFIG_PATH}" file.`,
139
168
  }),
140
169
  }
@@ -1 +1 @@
1
- {"version":3,"file":"call.js","sourceRoot":"","sources":["../../src/commands/call.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"call.js","sourceRoot":"","sources":["../../src/commands/call.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ export declare class CreateCommand extends ApifyCommand<typeof CreateCommand> {
5
5
  template: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
6
6
  'skip-dependency-install': import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
7
7
  'template-archive-url': import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
8
+ 'omit-optional-deps': import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
8
9
  };
9
10
  static args: {
10
11
  actorName: import("@oclif/core/lib/interfaces/parser.js").Arg<string | undefined, Record<string, unknown>>;
@@ -1 +1 @@
1
- {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../src/commands/create.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAqBvD,qBAAa,aAAc,SAAQ,YAAY,CAAC,OAAO,aAAa,CAAC;IACjE,OAAgB,WAAW,SAAiF;IAE5G,OAAgB,KAAK;;;;MAgBnB;IAEF,OAAgB,IAAI;;MAKlB;IAEI,GAAG;CA0JZ"}
1
+ {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../src/commands/create.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAqBvD,qBAAa,aAAc,SAAQ,YAAY,CAAC,OAAO,aAAa,CAAC;IACjE,OAAgB,WAAW,SAAiF;IAE5G,OAAgB,KAAK;;;;;MAqBnB;IAEF,OAAgB,IAAI;;MAKlB;IAEI,GAAG;CA+JZ"}
@@ -40,7 +40,7 @@ export class CreateCommand extends ApifyCommand {
40
40
  actFolderDir = join(cwd, actorName);
41
41
  continue;
42
42
  }
43
- // Create actor directory structure
43
+ // Create Actor directory structure
44
44
  if (!folderExists) {
45
45
  mkdirSync(actFolderDir);
46
46
  }
@@ -59,6 +59,10 @@ export class CreateCommand extends ApifyCommand {
59
59
  skipOptionalDeps = templateDefinition.skipOptionalDeps;
60
60
  }
61
61
  }
62
+ // Set this _after_ the template is resolved, so that the flag takes precedence
63
+ if (this.flags.omitOptionalDeps) {
64
+ skipOptionalDeps = true;
65
+ }
62
66
  await downloadAndUnzip({ url: templateArchiveUrl, pathTo: actFolderDir });
63
67
  // There may be .actor/actor.json file in used template - let's try to load it and change the name prop value to actorName
64
68
  const localConfig = getJsonFileContent(join(actFolderDir, LOCAL_CONFIG_PATH));
@@ -82,9 +86,9 @@ export class CreateCommand extends ApifyCommand {
82
86
  warning(`You are running Node.js version ${currentNodeVersion}, which is no longer supported. `
83
87
  + `Please upgrade to Node.js version ${minimumSupportedNodeVersion} or later.`);
84
88
  }
85
- // If the actor is a Node.js actor (has package.json), run `npm install`
89
+ // If the Actor is a Node.js Actor (has package.json), run `npm install`
86
90
  await updateLocalJson(packageJsonPath, { name: actorName });
87
- // Run npm install in actor dir.
91
+ // Run npm install in Actor dir.
88
92
  // For efficiency, don't install Puppeteer for templates that don't use it
89
93
  const cmdArgs = ['install'];
90
94
  if (skipOptionalDeps) {
@@ -170,6 +174,11 @@ Object.defineProperty(CreateCommand, "flags", {
170
174
  required: false,
171
175
  hidden: true,
172
176
  }),
177
+ 'omit-optional-deps': Flags.boolean({
178
+ aliases: ['no-optional'],
179
+ description: 'Skip installing optional dependencies.',
180
+ required: false,
181
+ }),
173
182
  }
174
183
  });
175
184
  Object.defineProperty(CreateCommand, "args", {
@@ -1 +1 @@
1
- {"version":3,"file":"create.js","sourceRoot":"","sources":["../../src/commands/create.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../../src/commands/create.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ export declare class LoginCommand extends ApifyCommand<typeof LoginCommand> {
3
3
  static description: string;
4
4
  static flags: {
5
5
  token: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
6
+ method: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
6
7
  };
7
8
  run(): Promise<void>;
8
9
  }
@@ -1 +1 @@
1
- {"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAKvD,qBAAa,YAAa,SAAQ,YAAY,CAAC,OAAO,YAAY,CAAC;IAC/D,OAAgB,WAAW,SAEU;IAErC,OAAgB,KAAK;;MAMnB;IAEI,GAAG;CAgBZ"}
1
+ {"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AA0BvD,qBAAa,YAAa,SAAQ,YAAY,CAAC,OAAO,YAAY,CAAC;IAC/D,OAAgB,WAAW,SAEU;IAErC,OAAgB,KAAK;;;MAYnB;IAEI,GAAG;CA6HZ"}
@@ -1,30 +1,155 @@
1
+ import { cryptoRandomObjectId } from '@apify/utilities';
1
2
  import { Flags } from '@oclif/core';
3
+ import computerName from 'computer-name';
4
+ import cors from 'cors';
5
+ import express from 'express';
2
6
  import inquirer from 'inquirer';
7
+ import open from 'open';
3
8
  import { ApifyCommand } from '../lib/apify_command.js';
4
- import { error, success } from '../lib/outputs.js';
9
+ import { error, info, success } from '../lib/outputs.js';
5
10
  import { useApifyIdentity } from '../lib/telemetry.js';
6
11
  import { getLocalUserInfo, getLoggedClient } from '../lib/utils.js';
12
+ const CONSOLE_BASE_URL = 'https://console.apify.com/account?tab=integrations';
13
+ // const CONSOLE_BASE_URL = 'http://localhost:3000/account?tab=integrations';
14
+ const CONSOLE_URL_ORIGIN = new URL(CONSOLE_BASE_URL).origin;
15
+ const API_BASE_URL = CONSOLE_BASE_URL.includes('localhost') ? 'http://localhost:3333' : undefined;
16
+ // Not really checked right now, but it might come useful if we ever need to do some breaking changes
17
+ const API_VERSION = 'v1';
18
+ const tryToLogin = async (token) => {
19
+ const isUserLogged = await getLoggedClient(token, API_BASE_URL);
20
+ const userInfo = await getLocalUserInfo();
21
+ if (isUserLogged) {
22
+ await useApifyIdentity(userInfo.id);
23
+ success(`You are logged in to Apify as ${userInfo.username || userInfo.id}!`);
24
+ }
25
+ else {
26
+ error('Login to Apify failed, the provided API token is not valid.');
27
+ }
28
+ return isUserLogged;
29
+ };
7
30
  export class LoginCommand extends ApifyCommand {
8
31
  async run() {
9
- let { token } = this.flags;
10
- if (!token) {
32
+ const { token, method } = this.flags;
33
+ if (token) {
34
+ await tryToLogin(token);
35
+ return;
36
+ }
37
+ let selectedMethod = method;
38
+ if (!method) {
39
+ const answer = await inquirer.prompt([{
40
+ type: 'list',
41
+ name: 'loginMethod',
42
+ message: 'Choose how you want to log in to Apify',
43
+ choices: [
44
+ {
45
+ value: 'console',
46
+ name: 'Through Apify Console in your default browser',
47
+ short: 'Through Apify Console',
48
+ },
49
+ { value: 'manual', name: 'Enter API token manually', short: 'Manually' },
50
+ ],
51
+ loop: true,
52
+ }]);
53
+ selectedMethod = answer.loginMethod;
54
+ }
55
+ if (selectedMethod === 'console') {
56
+ let server;
57
+ const app = express();
58
+ // To send requests from browser to localhost, CORS has to be configured properly
59
+ app.use(cors({
60
+ origin: CONSOLE_URL_ORIGIN,
61
+ allowedHeaders: ['Content-Type', 'Authorization'],
62
+ }));
63
+ // Turn off keepalive, otherwise closing the server when command is finished is lagging
64
+ app.use((_, res, next) => {
65
+ res.set('Connection', 'close');
66
+ next();
67
+ });
68
+ app.use(express.json());
69
+ // Basic authorization via a random token, which is passed to the Apify Console,
70
+ // and that sends it back via the `token` query param, or `Authorization` header
71
+ const authToken = cryptoRandomObjectId();
72
+ app.use((req, res, next) => {
73
+ let { token: serverToken } = req.query;
74
+ if (!serverToken) {
75
+ const authorizationHeader = req.get('Authorization');
76
+ if (authorizationHeader) {
77
+ const [schema, tokenFromHeader, ...extra] = authorizationHeader.trim().split(/\s+/);
78
+ if (schema.toLowerCase() === 'bearer' && tokenFromHeader && extra.length === 0) {
79
+ serverToken = tokenFromHeader;
80
+ }
81
+ }
82
+ }
83
+ if (serverToken !== authToken) {
84
+ res.status(401);
85
+ res.send('Authorization failed');
86
+ }
87
+ else {
88
+ next();
89
+ }
90
+ });
91
+ const apiRouter = express.Router();
92
+ app.use(`/api/${API_VERSION}`, apiRouter);
93
+ apiRouter.post('/login-token', async (req, res) => {
94
+ try {
95
+ if (req.body.apiToken) {
96
+ await tryToLogin(req.body.apiToken);
97
+ }
98
+ else {
99
+ throw new Error('Request did not contain API token');
100
+ }
101
+ res.end();
102
+ }
103
+ catch (err) {
104
+ const errorMessage = `Login to Apify failed with error: ${err.message}`;
105
+ error(errorMessage);
106
+ res.status(500);
107
+ res.send(errorMessage);
108
+ }
109
+ server.close();
110
+ });
111
+ apiRouter.post('/exit', (req, res) => {
112
+ if (req.body.isWindowClosed) {
113
+ error('Login to Apify failed, the console window was closed.');
114
+ }
115
+ else if (req.body.actionCanceled) {
116
+ error('Login to Apify failed, the action was canceled in the Apify Console.');
117
+ }
118
+ else {
119
+ error('Login to Apify failed.');
120
+ }
121
+ res.end();
122
+ server.close();
123
+ });
124
+ // Listening on port 0 will assign a random available port
125
+ server = app.listen(0);
126
+ const { port } = server.address();
127
+ const consoleUrl = new URL(CONSOLE_BASE_URL);
128
+ consoleUrl.searchParams.set('localCliCommand', 'login');
129
+ consoleUrl.searchParams.set('localCliPort', `${port}`);
130
+ consoleUrl.searchParams.set('localCliToken', authToken);
131
+ consoleUrl.searchParams.set('localCliApiVersion', API_VERSION);
132
+ try {
133
+ consoleUrl.searchParams.set('localCliComputerName', encodeURIComponent(computerName()));
134
+ }
135
+ catch {
136
+ // Ignore errors from fetching computer name as it's not critical
137
+ }
138
+ info(`Opening Apify Console at "${consoleUrl.href}"...`);
139
+ await open(consoleUrl.href);
140
+ }
141
+ else {
11
142
  console.log('Enter your Apify API token. You can find it at https://console.apify.com/account#/integrations');
12
- const tokenPrompt = await inquirer.prompt([{ name: 'token', message: 'token:', type: 'password' }]);
13
- ({ token } = tokenPrompt);
143
+ const tokenAnswer = await inquirer.prompt([{ name: 'token', message: 'token:', type: 'password' }]);
144
+ await tryToLogin(tokenAnswer.token);
14
145
  }
15
- const isUserLogged = await getLoggedClient(token);
16
- const userInfo = await getLocalUserInfo();
17
- await useApifyIdentity(userInfo.id);
18
- return isUserLogged
19
- ? success(`You are logged in to Apify as ${userInfo.username || userInfo.id}!`)
20
- : error('Login to Apify failed, the provided API token is not valid.');
21
146
  }
22
147
  }
23
148
  Object.defineProperty(LoginCommand, "description", {
24
149
  enumerable: true,
25
150
  configurable: true,
26
151
  writable: true,
27
- value: 'Logs in to your Apify account using a provided API token.\nThe API token and other account '
152
+ value: 'Logs in to your Apify account.\nThe API token and other account '
28
153
  + 'information is stored in the ~/.apify directory, from where it is read by all other "apify" commands. '
29
154
  + 'To log out, call "apify logout".'
30
155
  });
@@ -38,6 +163,12 @@ Object.defineProperty(LoginCommand, "flags", {
38
163
  description: '[Optional] Apify API token',
39
164
  required: false,
40
165
  }),
166
+ method: Flags.string({
167
+ char: 'm',
168
+ description: '[Optional] Method of logging in to Apify',
169
+ options: ['console', 'manual'],
170
+ required: false,
171
+ }),
41
172
  }
42
173
  });
43
174
  //# sourceMappingURL=login.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,QAAQ,MAAM,UAAU,CAAC;AAEhC,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAEpE,MAAM,OAAO,YAAa,SAAQ,YAAiC;IAa/D,KAAK,CAAC,GAAG;QACL,IAAI,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QAE3B,IAAI,CAAC,KAAK,EAAE,CAAC;YACT,OAAO,CAAC,GAAG,CAAC,gGAAgG,CAAC,CAAC;YAC9G,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAoB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;YACvH,CAAC,EAAE,KAAK,EAAE,GAAG,WAAW,CAAC,CAAC;QAC9B,CAAC;QAED,MAAM,YAAY,GAAG,MAAM,eAAe,CAAC,KAAK,CAAC,CAAC;QAClD,MAAM,QAAQ,GAAG,MAAM,gBAAgB,EAAE,CAAC;QAC1C,MAAM,gBAAgB,CAAC,QAAQ,CAAC,EAAG,CAAC,CAAC;QACrC,OAAO,YAAY;YACf,CAAC,CAAC,OAAO,CAAC,iCAAiC,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,EAAE,GAAG,CAAC;YAC/E,CAAC,CAAC,KAAK,CAAC,6DAA6D,CAAC,CAAC;IAC/E,CAAC;;AA3Be;;;;WAAc,6FAA6F;UACzH,wGAAwG;UACxG,kCAAkC;GAAC;AAErB;;;;WAAQ;QACpB,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC;YAChB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,4BAA4B;YACzC,QAAQ,EAAE,KAAK;SAClB,CAAC;KACL;GAAC"}
1
+ {"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"push.d.ts","sourceRoot":"","sources":["../../src/commands/push.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AA6BvD,qBAAa,WAAY,SAAQ,YAAY,CAAC,OAAO,WAAW,CAAC;IAC7D,OAAgB,WAAW,SAI4H;IAEvJ,OAAgB,KAAK;;;;;;;MAgCnB;IAEF,OAAgB,IAAI;;MAMlB;IAGa,KAAK,CAAC,WAAW,EAAE,KAAK;IAIjC,GAAG;CA4LZ"}
1
+ {"version":3,"file":"push.d.ts","sourceRoot":"","sources":["../../src/commands/push.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AA6BvD,qBAAa,WAAY,SAAQ,YAAY,CAAC,OAAO,WAAW,CAAC;IAC7D,OAAgB,WAAW,SAI4H;IAEvJ,OAAgB,KAAK;;;;;;;MAgCnB;IAEF,OAAgB,IAAI;;MAMlB;IAGa,KAAK,CAAC,WAAW,EAAE,KAAK;IAIjC,GAAG;CA8NZ"}
@@ -8,7 +8,7 @@ import inquirer from 'inquirer';
8
8
  import isCI from 'is-ci';
9
9
  import open from 'open';
10
10
  import { ApifyCommand } from '../lib/apify_command.js';
11
- import { LOCAL_CONFIG_PATH, UPLOADS_STORE_NAME } from '../lib/consts.js';
11
+ import { CommandExitCodes, DEPRECATED_LOCAL_CONFIG_NAME, LOCAL_CONFIG_PATH, UPLOADS_STORE_NAME } from '../lib/consts.js';
12
12
  import { sumFilesSizeInBytes } from '../lib/files.js';
13
13
  import { error, info, link, run, success, warning } from '../lib/outputs.js';
14
14
  import { transformEnvToEnvVars } from '../lib/secrets.js';
@@ -22,7 +22,7 @@ const DEFAULT_RUN_OPTIONS = {
22
22
  const DEFAULT_ACTOR_VERSION_NUMBER = '0.0';
23
23
  // It would be better to use `version-0.0` or similar,
24
24
  // or even have no default tag, but the platform complains when
25
- // actor does not have a build with a `latest` tag, so until
25
+ // Actor does not have a build with a `latest` tag, so until
26
26
  // that changes, we have to add it.
27
27
  const DEFAULT_BUILD_TAG = 'latest';
28
28
  export class PushCommand extends ApifyCommand {
@@ -32,6 +32,31 @@ export class PushCommand extends ApifyCommand {
32
32
  }
33
33
  async run() {
34
34
  const cwd = process.cwd();
35
+ // Validate there are files before rest of the logic
36
+ const filePathsToPush = await getActorLocalFilePaths(cwd);
37
+ if (!filePathsToPush.length) {
38
+ error('You need to call this command from a folder that has an Actor in it!');
39
+ process.exitCode = CommandExitCodes.NoFilesToPush;
40
+ return;
41
+ }
42
+ if (
43
+ // Check that some of these files exist, cuz otherwise we cannot do much
44
+ ![
45
+ // old apify project
46
+ DEPRECATED_LOCAL_CONFIG_NAME,
47
+ // new apify project
48
+ 'actor.json',
49
+ '.actor/actor.json',
50
+ // The .actor folder existing in general
51
+ '.actor',
52
+ ].some((filePath) => filePathsToPush.some((fp) => fp === filePath || fp.startsWith(filePath)))) {
53
+ error([
54
+ 'A valid Actor could not be found in the current directory. Please make sure you are in the correct directory.',
55
+ 'You can also turn this directory into an Actor by running `apify init`.',
56
+ ].join('\n'));
57
+ process.exitCode = CommandExitCodes.NoFilesToPush;
58
+ return;
59
+ }
35
60
  const apifyClient = await getLoggedClientOrThrow();
36
61
  const localConfig = await getLocalConfigOrThrow(cwd);
37
62
  const userInfo = await getLocalUserInfo();
@@ -40,7 +65,7 @@ export class PushCommand extends ApifyCommand {
40
65
  let actorId;
41
66
  let actor;
42
67
  let isActorCreatedNow = false;
43
- // User can override actor version and build tag, attributes in localConfig will remain same.
68
+ // User can override Actor version and build tag, attributes in localConfig will remain same.
44
69
  const version = this.flags.version || this.flags.versionNumber || localConfig?.version || DEFAULT_ACTOR_VERSION_NUMBER;
45
70
  let buildTag = this.flags.buildTag || localConfig.buildTag;
46
71
  // We can't add the default build tag to everything. If a user creates a new
@@ -53,8 +78,8 @@ export class PushCommand extends ApifyCommand {
53
78
  const waitForFinishMillis = Number.isNaN(this.flags.waitForFinish)
54
79
  ? undefined
55
80
  : Number.parseInt(this.flags.waitForFinish, 10) * 1000;
56
- // User can override actorId of pushing actor.
57
- // It causes that we push actor to this id but attributes in localConfig will remain same.
81
+ // User can override actorId of pushing Actor.
82
+ // It causes that we push Actor to this id but attributes in localConfig will remain same.
58
83
  const forceActorId = this.args.actorId;
59
84
  if (forceActorId) {
60
85
  actor = (await apifyClient.actor(forceActorId).get());
@@ -90,7 +115,6 @@ export class PushCommand extends ApifyCommand {
90
115
  }
91
116
  }
92
117
  info(`Deploying Actor '${localConfig.name}' to Apify.`);
93
- const filePathsToPush = await getActorLocalFilePaths(cwd);
94
118
  const filesSize = await sumFilesSizeInBytes(filePathsToPush, cwd);
95
119
  const actorClient = apifyClient.actor(actorId);
96
120
  let sourceType;
@@ -133,7 +157,7 @@ Skipping push. Use --force to override.`);
133
157
  tarballUrl = `${apifyClient.baseUrl}/key-value-stores/${store.id}/records/${key}?disableRedirect=true`;
134
158
  sourceType = ACTOR_SOURCE_TYPES.TARBALL;
135
159
  }
136
- // Update actor version
160
+ // Update Actor version
137
161
  const actorCurrentVersion = await actorClient.version(version).get();
138
162
  const envVars = localConfig.environmentVariables
139
163
  ? transformEnvToEnvVars(localConfig.environmentVariables)
@@ -158,7 +182,7 @@ Skipping push. Use --force to override.`);
158
182
  });
159
183
  run(`Created version ${version} for Actor ${actor.name}.`);
160
184
  }
161
- // Build actor on Apify and wait for build to finish
185
+ // Build Actor on Apify and wait for build to finish
162
186
  run(`Building Actor ${actor.name}`);
163
187
  let build = await actorClient.build(version, {
164
188
  useCache: true,
@@ -196,13 +220,16 @@ Skipping push. Use --force to override.`);
196
220
  }
197
221
  else if (build.status === ACTOR_JOB_STATUSES.ABORTED || build.status === ACTOR_JOB_STATUSES.ABORTING) {
198
222
  warning('Build was aborted!');
223
+ process.exitCode = CommandExitCodes.BuildAborted;
199
224
  // @ts-expect-error FIX THESE TYPES 😢
200
225
  }
201
226
  else if (build.status === ACTOR_JOB_STATUSES.TIMED_OUT || build.status === ACTOR_JOB_STATUSES.TIMING_OUT) {
202
227
  warning('Build timed out!');
228
+ process.exitCode = CommandExitCodes.BuildTimedOut;
203
229
  }
204
230
  else {
205
231
  error('Build failed!');
232
+ process.exitCode = CommandExitCodes.BuildFailed;
206
233
  }
207
234
  }
208
235
  }