apify-cli 0.19.3-beta.4 → 1.0.0-beta.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.
Files changed (231) hide show
  1. package/README.md +87 -63
  2. package/bin/dev.cmd +3 -0
  3. package/bin/dev.js +16 -0
  4. package/bin/run.js +16 -0
  5. package/dist/.tsbuildinfo +1 -0
  6. package/dist/commands/actor/get-input.d.ts +6 -0
  7. package/dist/commands/actor/get-input.d.ts.map +1 -0
  8. package/dist/commands/actor/get-input.js +14 -0
  9. package/dist/commands/actor/get-input.js.map +1 -0
  10. package/dist/commands/actor/get-value.d.ts +9 -0
  11. package/dist/commands/actor/get-value.d.ts.map +1 -0
  12. package/dist/commands/actor/get-value.js +27 -0
  13. package/dist/commands/actor/get-value.js.map +1 -0
  14. package/dist/commands/actor/index.d.ts +6 -0
  15. package/dist/commands/actor/index.d.ts.map +1 -0
  16. package/dist/commands/actor/index.js +13 -0
  17. package/dist/commands/actor/index.js.map +1 -0
  18. package/dist/commands/actor/push-data.d.ts +11 -0
  19. package/dist/commands/actor/push-data.d.ts.map +1 -0
  20. package/dist/commands/actor/push-data.js +56 -0
  21. package/dist/commands/actor/push-data.js.map +1 -0
  22. package/dist/commands/actor/set-value.d.ts +15 -0
  23. package/dist/commands/actor/set-value.d.ts.map +1 -0
  24. package/dist/commands/actor/set-value.js +76 -0
  25. package/dist/commands/actor/set-value.js.map +1 -0
  26. package/dist/commands/call.d.ts +15 -0
  27. package/dist/commands/call.d.ts.map +1 -0
  28. package/dist/commands/call.js +142 -0
  29. package/dist/commands/call.js.map +1 -0
  30. package/dist/commands/check-version.d.ts +11 -0
  31. package/dist/commands/check-version.d.ts.map +1 -0
  32. package/dist/commands/check-version.js +39 -0
  33. package/dist/commands/check-version.js.map +1 -0
  34. package/dist/commands/create.d.ts +14 -0
  35. package/dist/commands/create.d.ts.map +1 -0
  36. package/dist/commands/create.js +181 -0
  37. package/dist/commands/create.js.map +1 -0
  38. package/dist/commands/edit-input-schema.d.ts +11 -0
  39. package/dist/commands/edit-input-schema.d.ts.map +1 -0
  40. package/{src → dist}/commands/edit-input-schema.js +81 -85
  41. package/dist/commands/edit-input-schema.js.map +1 -0
  42. package/dist/commands/info.d.ts +6 -0
  43. package/dist/commands/info.d.ts.map +1 -0
  44. package/dist/commands/info.js +26 -0
  45. package/dist/commands/info.js.map +1 -0
  46. package/dist/commands/init-wrap-scrapy.d.ts +10 -0
  47. package/dist/commands/init-wrap-scrapy.d.ts.map +1 -0
  48. package/dist/commands/init-wrap-scrapy.js +41 -0
  49. package/dist/commands/init-wrap-scrapy.js.map +1 -0
  50. package/dist/commands/init.d.ts +12 -0
  51. package/dist/commands/init.d.ts.map +1 -0
  52. package/dist/commands/init.js +88 -0
  53. package/dist/commands/init.js.map +1 -0
  54. package/dist/commands/login-new.d.ts +10 -0
  55. package/dist/commands/login-new.d.ts.map +1 -0
  56. package/{src → dist}/commands/login-new.js +79 -82
  57. package/dist/commands/login-new.js.map +1 -0
  58. package/dist/commands/login.d.ts +9 -0
  59. package/dist/commands/login.d.ts.map +1 -0
  60. package/dist/commands/login.js +43 -0
  61. package/dist/commands/login.js.map +1 -0
  62. package/dist/commands/logout.d.ts +6 -0
  63. package/dist/commands/logout.d.ts.map +1 -0
  64. package/dist/commands/logout.js +20 -0
  65. package/dist/commands/logout.js.map +1 -0
  66. package/dist/commands/pull.d.ts +12 -0
  67. package/dist/commands/pull.d.ts.map +1 -0
  68. package/dist/commands/pull.js +148 -0
  69. package/dist/commands/pull.js.map +1 -0
  70. package/dist/commands/push.d.ts +16 -0
  71. package/dist/commands/push.d.ts.map +1 -0
  72. package/dist/commands/push.js +242 -0
  73. package/dist/commands/push.js.map +1 -0
  74. package/dist/commands/run.d.ts +12 -0
  75. package/dist/commands/run.d.ts.map +1 -0
  76. package/{src → dist}/commands/run.js +96 -109
  77. package/dist/commands/run.js.map +1 -0
  78. package/dist/commands/secrets/add.d.ts +10 -0
  79. package/dist/commands/secrets/add.d.ts.map +1 -0
  80. package/dist/commands/secrets/add.js +31 -0
  81. package/dist/commands/secrets/add.js.map +1 -0
  82. package/dist/commands/secrets/index.d.ts +6 -0
  83. package/dist/commands/secrets/index.d.ts.map +1 -0
  84. package/dist/commands/secrets/index.js +24 -0
  85. package/dist/commands/secrets/index.js.map +1 -0
  86. package/dist/commands/secrets/rm.d.ts +9 -0
  87. package/dist/commands/secrets/rm.d.ts.map +1 -0
  88. package/dist/commands/secrets/rm.js +27 -0
  89. package/dist/commands/secrets/rm.js.map +1 -0
  90. package/dist/commands/vis.d.ts +9 -0
  91. package/dist/commands/vis.d.ts.map +1 -0
  92. package/dist/commands/vis.js +52 -0
  93. package/dist/commands/vis.js.map +1 -0
  94. package/dist/hooks/init.d.ts +7 -0
  95. package/dist/hooks/init.d.ts.map +1 -0
  96. package/dist/hooks/init.js +17 -0
  97. package/dist/hooks/init.js.map +1 -0
  98. package/dist/index.d.ts +2 -0
  99. package/dist/index.d.ts.map +1 -0
  100. package/dist/index.js +3 -0
  101. package/dist/index.js.map +1 -0
  102. package/dist/lib/actor.d.ts +27 -0
  103. package/dist/lib/actor.d.ts.map +1 -0
  104. package/{src → dist}/lib/actor.js +21 -44
  105. package/dist/lib/actor.js.map +1 -0
  106. package/dist/lib/apify-oclif-help.d.ts +15 -0
  107. package/dist/lib/apify-oclif-help.d.ts.map +1 -0
  108. package/dist/lib/apify-oclif-help.js +19 -0
  109. package/dist/lib/apify-oclif-help.js.map +1 -0
  110. package/dist/lib/apify_command.d.ts +22 -0
  111. package/dist/lib/apify_command.d.ts.map +1 -0
  112. package/dist/lib/apify_command.js +103 -0
  113. package/dist/lib/apify_command.js.map +1 -0
  114. package/dist/lib/community.d.ts +2 -0
  115. package/dist/lib/community.d.ts.map +1 -0
  116. package/dist/lib/community.js +4 -0
  117. package/dist/lib/community.js.map +1 -0
  118. package/dist/lib/consts.d.ts +45 -0
  119. package/dist/lib/consts.d.ts.map +1 -0
  120. package/dist/lib/consts.js +54 -0
  121. package/dist/lib/consts.js.map +1 -0
  122. package/dist/lib/create-utils.d.ts +8 -0
  123. package/dist/lib/create-utils.d.ts.map +1 -0
  124. package/{src → dist}/lib/create-utils.js +74 -113
  125. package/dist/lib/create-utils.js.map +1 -0
  126. package/dist/lib/exec.d.ts +4 -0
  127. package/dist/lib/exec.d.ts.map +1 -0
  128. package/{src → dist}/lib/exec.js +15 -16
  129. package/dist/lib/exec.js.map +1 -0
  130. package/dist/lib/files.d.ts +14 -0
  131. package/dist/lib/files.d.ts.map +1 -0
  132. package/dist/lib/files.js +58 -0
  133. package/dist/lib/files.js.map +1 -0
  134. package/dist/lib/input_schema.d.ts +26 -0
  135. package/dist/lib/input_schema.d.ts.map +1 -0
  136. package/{src → dist}/lib/input_schema.js +34 -55
  137. package/dist/lib/input_schema.js.map +1 -0
  138. package/dist/lib/local_state.d.ts +11 -0
  139. package/dist/lib/local_state.d.ts.map +1 -0
  140. package/dist/lib/local_state.js +27 -0
  141. package/dist/lib/local_state.js.map +1 -0
  142. package/dist/lib/outputs.d.ts +7 -0
  143. package/dist/lib/outputs.d.ts.map +1 -0
  144. package/{src → dist}/lib/outputs.js +8 -15
  145. package/dist/lib/outputs.js.map +1 -0
  146. package/dist/lib/project_analyzer.d.ts +4 -0
  147. package/dist/lib/project_analyzer.d.ts.map +1 -0
  148. package/{src → dist}/lib/project_analyzer.js +6 -11
  149. package/dist/lib/project_analyzer.js.map +1 -0
  150. package/dist/lib/projects/CrawleeAnalyzer.d.ts +4 -0
  151. package/dist/lib/projects/CrawleeAnalyzer.d.ts.map +1 -0
  152. package/{src → dist}/lib/projects/CrawleeAnalyzer.js +7 -24
  153. package/dist/lib/projects/CrawleeAnalyzer.js.map +1 -0
  154. package/dist/lib/projects/OldApifySDKAnalyzer.d.ts +4 -0
  155. package/dist/lib/projects/OldApifySDKAnalyzer.d.ts.map +1 -0
  156. package/{src → dist}/lib/projects/OldApifySDKAnalyzer.js +9 -32
  157. package/dist/lib/projects/OldApifySDKAnalyzer.js.map +1 -0
  158. package/dist/lib/projects/scrapy/ScrapyProjectAnalyzer.d.ts +17 -0
  159. package/dist/lib/projects/scrapy/ScrapyProjectAnalyzer.d.ts.map +1 -0
  160. package/{src/lib/scrapy-wrapper → dist/lib/projects/scrapy}/ScrapyProjectAnalyzer.js +33 -36
  161. package/dist/lib/projects/scrapy/ScrapyProjectAnalyzer.js.map +1 -0
  162. package/dist/lib/projects/scrapy/Spider.d.ts +14 -0
  163. package/dist/lib/projects/scrapy/Spider.d.ts.map +1 -0
  164. package/dist/lib/projects/scrapy/Spider.js +33 -0
  165. package/dist/lib/projects/scrapy/Spider.js.map +1 -0
  166. package/dist/lib/projects/scrapy/SpiderFileAnalyzer.d.ts +7 -0
  167. package/dist/lib/projects/scrapy/SpiderFileAnalyzer.d.ts.map +1 -0
  168. package/dist/lib/projects/scrapy/SpiderFileAnalyzer.js +25 -0
  169. package/dist/lib/projects/scrapy/SpiderFileAnalyzer.js.map +1 -0
  170. package/dist/lib/projects/scrapy/wrapScrapyProject.d.ts +4 -0
  171. package/dist/lib/projects/scrapy/wrapScrapyProject.d.ts.map +1 -0
  172. package/{src/lib/scrapy-wrapper/index.js → dist/lib/projects/scrapy/wrapScrapyProject.js} +43 -73
  173. package/dist/lib/projects/scrapy/wrapScrapyProject.js.map +1 -0
  174. package/dist/lib/projects/shared.d.ts +2 -0
  175. package/dist/lib/projects/shared.d.ts.map +1 -0
  176. package/dist/lib/projects/shared.js +13 -0
  177. package/dist/lib/projects/shared.js.map +1 -0
  178. package/dist/lib/secrets.d.ts +22 -0
  179. package/dist/lib/secrets.d.ts.map +1 -0
  180. package/{src → dist}/lib/secrets.js +32 -40
  181. package/dist/lib/secrets.js.map +1 -0
  182. package/dist/lib/telemetry.d.ts +21 -0
  183. package/dist/lib/telemetry.d.ts.map +1 -0
  184. package/dist/lib/telemetry.js +87 -0
  185. package/dist/lib/telemetry.js.map +1 -0
  186. package/dist/lib/types.d.ts +11 -0
  187. package/dist/lib/types.d.ts.map +1 -0
  188. package/dist/lib/types.js +2 -0
  189. package/dist/lib/types.js.map +1 -0
  190. package/dist/lib/utils.d.ts +106 -0
  191. package/dist/lib/utils.d.ts.map +1 -0
  192. package/{src → dist}/lib/utils.js +235 -347
  193. package/dist/lib/utils.js.map +1 -0
  194. package/dist/lib/version_check.d.ts +14 -0
  195. package/dist/lib/version_check.d.ts.map +1 -0
  196. package/{src → dist}/lib/version_check.js +25 -54
  197. package/dist/lib/version_check.js.map +1 -0
  198. package/oclif.manifest.json +722 -1
  199. package/package.json +137 -113
  200. package/index.js +0 -1
  201. package/src/bin/run +0 -16
  202. package/src/commands/actor/get-input.js +0 -12
  203. package/src/commands/actor/get-value.js +0 -23
  204. package/src/commands/actor/index.js +0 -13
  205. package/src/commands/actor/push-data.js +0 -44
  206. package/src/commands/actor/set-value.js +0 -63
  207. package/src/commands/call.js +0 -131
  208. package/src/commands/check-version.js +0 -28
  209. package/src/commands/create.js +0 -203
  210. package/src/commands/info.js +0 -24
  211. package/src/commands/init-wrap-scrapy.js +0 -34
  212. package/src/commands/init.js +0 -83
  213. package/src/commands/login.js +0 -40
  214. package/src/commands/logout.js +0 -18
  215. package/src/commands/pull.js +0 -154
  216. package/src/commands/push.js +0 -234
  217. package/src/commands/secrets/add.js +0 -28
  218. package/src/commands/secrets/index.js +0 -24
  219. package/src/commands/secrets/rm.js +0 -23
  220. package/src/commands/vis.js +0 -50
  221. package/src/hooks/init.js +0 -16
  222. package/src/lib/apify-oclif-help.js +0 -23
  223. package/src/lib/apify_command.js +0 -82
  224. package/src/lib/community.js +0 -3
  225. package/src/lib/consts.js +0 -69
  226. package/src/lib/files.js +0 -76
  227. package/src/lib/local_state.js +0 -39
  228. package/src/lib/scrapy-wrapper/Spider.js +0 -10
  229. package/src/lib/scrapy-wrapper/SpiderFileAnalyzer.js +0 -26
  230. package/src/lib/telemetry.js +0 -104
  231. /package/{src/bin → bin}/run.cmd +0 -0
@@ -0,0 +1,242 @@
1
+ import { readFileSync, unlinkSync } from 'node:fs';
2
+ import process from 'node:process';
3
+ import { fetchManifest } from '@apify/actor-templates';
4
+ import { ACTOR_JOB_STATUSES, ACTOR_SOURCE_TYPES, MAX_MULTIFILE_BYTES } from '@apify/consts';
5
+ import { Args, Flags } from '@oclif/core';
6
+ import inquirer from 'inquirer';
7
+ import isCI from 'is-ci';
8
+ import open from 'open';
9
+ import { ApifyCommand } from '../lib/apify_command.js';
10
+ import { LOCAL_CONFIG_PATH, UPLOADS_STORE_NAME } from '../lib/consts.js';
11
+ import { sumFilesSizeInBytes } from '../lib/files.js';
12
+ import { error, info, link, run, success, warning } from '../lib/outputs.js';
13
+ import { transformEnvToEnvVars } from '../lib/secrets.js';
14
+ import { createActZip, createSourceFiles, getActorLocalFilePaths, getLocalConfigOrThrow, getLocalUserInfo, getLoggedClientOrThrow, outputJobLog, } from '../lib/utils.js';
15
+ const TEMP_ZIP_FILE_NAME = 'temp_file.zip';
16
+ const DEFAULT_RUN_OPTIONS = {
17
+ build: 'latest',
18
+ memoryMbytes: 4096,
19
+ timeoutSecs: 3600,
20
+ };
21
+ const DEFAULT_ACTOR_VERSION_NUMBER = '0.0';
22
+ // It would be better to use `version-0.0` or similar,
23
+ // or even have no default tag, but the platform complains when
24
+ // actor does not have a build with a `latest` tag, so until
25
+ // that changes, we have to add it.
26
+ const DEFAULT_BUILD_TAG = 'latest';
27
+ export class PushCommand extends ApifyCommand {
28
+ async run() {
29
+ const cwd = process.cwd();
30
+ const apifyClient = await getLoggedClientOrThrow();
31
+ const localConfig = await getLocalConfigOrThrow(cwd);
32
+ const userInfo = await getLocalUserInfo();
33
+ const isOrganizationLoggedIn = !!userInfo.organizationOwnerUserId;
34
+ const redirectUrlPart = isOrganizationLoggedIn ? `/organization/${userInfo.id}` : '';
35
+ let actorId;
36
+ let actor;
37
+ // User can override actor version and build tag, attributes in localConfig will remain same.
38
+ const version = this.flags.version || this.flags.versionNumber || localConfig?.version || DEFAULT_ACTOR_VERSION_NUMBER;
39
+ let buildTag = this.flags.buildTag || localConfig.buildTag;
40
+ // We can't add the default build tag to everything. If a user creates a new
41
+ // version, e.g. for testing, but forgets to add a tag, it would use the default
42
+ // tag and their production runs might be affected ❌
43
+ // TODO: revisit this when we have better build tagging system on platform.
44
+ if (!buildTag && version === DEFAULT_ACTOR_VERSION_NUMBER) {
45
+ buildTag = DEFAULT_BUILD_TAG;
46
+ }
47
+ const waitForFinishMillis = Number.isNaN(this.flags.waitForFinish)
48
+ ? undefined
49
+ : Number.parseInt(this.flags.waitForFinish, 10) * 1000;
50
+ // User can override actorId of pushing actor.
51
+ // It causes that we push actor to this id but attributes in localConfig will remain same.
52
+ const forceActorId = this.args.actorId;
53
+ if (forceActorId) {
54
+ actor = (await apifyClient.actor(forceActorId).get());
55
+ if (!actor)
56
+ throw new Error(`Cannot find Actor with ID '${forceActorId}' in your account.`);
57
+ actorId = actor.id;
58
+ }
59
+ else {
60
+ const usernameOrId = userInfo.username || userInfo.id;
61
+ actor = (await apifyClient.actor(`${usernameOrId}/${localConfig.name}`).get());
62
+ if (actor) {
63
+ actorId = actor.id;
64
+ }
65
+ else {
66
+ const { templates } = await fetchManifest();
67
+ const actorTemplate = templates.find((t) => t.name === localConfig.template);
68
+ const defaultRunOptions = (actorTemplate?.defaultRunOptions || DEFAULT_RUN_OPTIONS);
69
+ const newActor = {
70
+ name: localConfig.name,
71
+ defaultRunOptions,
72
+ versions: [{
73
+ versionNumber: version,
74
+ buildTag,
75
+ // TODO: export enum from apify-client
76
+ sourceType: ACTOR_SOURCE_TYPES.SOURCE_FILES,
77
+ sourceFiles: [],
78
+ }],
79
+ };
80
+ actor = await apifyClient.actors().create(newActor);
81
+ actorId = actor.id;
82
+ info(`Created Actor with name ${localConfig.name} on Apify.`);
83
+ }
84
+ }
85
+ info(`Deploying Actor '${localConfig.name}' to Apify.`);
86
+ const filePathsToPush = await getActorLocalFilePaths(cwd);
87
+ const filesSize = await sumFilesSizeInBytes(filePathsToPush, cwd);
88
+ const actorClient = apifyClient.actor(actorId);
89
+ let sourceType;
90
+ let sourceFiles;
91
+ let tarballUrl;
92
+ if (filesSize < MAX_MULTIFILE_BYTES) {
93
+ sourceFiles = await createSourceFiles(filePathsToPush, cwd);
94
+ sourceType = ACTOR_SOURCE_TYPES.SOURCE_FILES;
95
+ }
96
+ else {
97
+ // Create zip
98
+ run('Zipping Actor files');
99
+ await createActZip(TEMP_ZIP_FILE_NAME, filePathsToPush, cwd);
100
+ // Upload it to Apify.keyValueStores
101
+ const store = await apifyClient.keyValueStores().getOrCreate(UPLOADS_STORE_NAME);
102
+ const key = `${actor.name}-${version}.zip`;
103
+ const buffer = readFileSync(TEMP_ZIP_FILE_NAME);
104
+ await apifyClient.keyValueStore(store.id).setRecord({
105
+ key,
106
+ // TODO: fix this type too
107
+ value: buffer,
108
+ contentType: 'application/zip',
109
+ });
110
+ unlinkSync(TEMP_ZIP_FILE_NAME);
111
+ tarballUrl = `${apifyClient.baseUrl}/key-value-stores/${store.id}/records/${key}?disableRedirect=true`;
112
+ sourceType = ACTOR_SOURCE_TYPES.TARBALL;
113
+ }
114
+ // Update actor version
115
+ const actorCurrentVersion = await actorClient.version(version).get();
116
+ const envVars = localConfig.environmentVariables
117
+ ? transformEnvToEnvVars(localConfig.environmentVariables)
118
+ : undefined;
119
+ if (actorCurrentVersion) {
120
+ const actorVersionModifier = { tarballUrl, sourceFiles, buildTag, sourceType, envVars };
121
+ // TODO: fix this type too -.-
122
+ await actorClient.version(version).update(actorVersionModifier);
123
+ run(`Updated version ${version} for Actor ${actor.name}.`);
124
+ }
125
+ else {
126
+ const actorNewVersion = {
127
+ versionNumber: version,
128
+ tarballUrl,
129
+ sourceFiles,
130
+ buildTag,
131
+ sourceType,
132
+ envVars,
133
+ };
134
+ await actorClient.versions().create({
135
+ ...actorNewVersion,
136
+ });
137
+ run(`Created version ${version} for Actor ${actor.name}.`);
138
+ }
139
+ // Build actor on Apify and wait for build to finish
140
+ run(`Building Actor ${actor.name}`);
141
+ let build = await actorClient.build(version, {
142
+ useCache: true,
143
+ waitForFinish: 2, // NOTE: We need to wait some time to Apify open stream and we can create connection
144
+ });
145
+ try {
146
+ await outputJobLog(build, waitForFinishMillis);
147
+ }
148
+ catch (err) {
149
+ warning('Can not get log:');
150
+ console.error(err);
151
+ }
152
+ build = (await apifyClient.build(build.id).get());
153
+ link('Actor build detail', `https://console.apify.com${redirectUrlPart}/actors/${build.actId}#/builds/${build.buildNumber}`);
154
+ // Disable open browser on CI, or if user passed --no-prompt flag
155
+ if (!isCI && !this.flags.noPrompt) {
156
+ const shouldOpenBrowser = await inquirer.prompt([
157
+ { type: 'confirm', name: 'continue', message: 'Do you want to open the Actor detail in your browser?', default: true },
158
+ ]);
159
+ if (shouldOpenBrowser.continue) {
160
+ await open(`https://console.apify.com${redirectUrlPart}/actors/${build.actId}`);
161
+ }
162
+ }
163
+ if (build.status === ACTOR_JOB_STATUSES.SUCCEEDED) {
164
+ success('Actor was deployed to Apify cloud and built there.');
165
+ // @ts-expect-error FIX THESE TYPES 😢
166
+ }
167
+ else if (build.status === ACTOR_JOB_STATUSES.READY) {
168
+ warning('Build is waiting for allocation.');
169
+ // @ts-expect-error FIX THESE TYPES 😢
170
+ }
171
+ else if (build.status === ACTOR_JOB_STATUSES.RUNNING) {
172
+ warning('Build is still running.');
173
+ // @ts-expect-error FIX THESE TYPES 😢
174
+ }
175
+ else if (build.status === ACTOR_JOB_STATUSES.ABORTED || build.status === ACTOR_JOB_STATUSES.ABORTING) {
176
+ warning('Build was aborted!');
177
+ // @ts-expect-error FIX THESE TYPES 😢
178
+ }
179
+ else if (build.status === ACTOR_JOB_STATUSES.TIMED_OUT || build.status === ACTOR_JOB_STATUSES.TIMING_OUT) {
180
+ warning('Build timed out!');
181
+ }
182
+ else {
183
+ error('Build failed!');
184
+ }
185
+ }
186
+ }
187
+ Object.defineProperty(PushCommand, "description", {
188
+ enumerable: true,
189
+ configurable: true,
190
+ writable: true,
191
+ value: 'Uploads the Actor to the Apify platform and builds it there.\n'
192
+ + `The Actor settings are read from the "${LOCAL_CONFIG_PATH}" file in the current directory, but they can be overridden using command-line options.\n`
193
+ + `NOTE: If the source files are smaller than ${MAX_MULTIFILE_BYTES / (1024 ** 2)} MB then they are uploaded as \n`
194
+ + '"Multiple source files", otherwise they are uploaded as "Zip file".\n\n'
195
+ + 'WARNING: If the target Actor already exists in your Apify account, it will be overwritten!'
196
+ });
197
+ Object.defineProperty(PushCommand, "flags", {
198
+ enumerable: true,
199
+ configurable: true,
200
+ writable: true,
201
+ value: {
202
+ 'version-number': Flags.string({
203
+ description: 'DEPRECATED: Use flag version instead. Actor version number to which the files should be pushed. '
204
+ + `By default, it is taken from the "${LOCAL_CONFIG_PATH}" file.`,
205
+ required: false,
206
+ deprecated: true,
207
+ }),
208
+ version: Flags.string({
209
+ char: 'v',
210
+ description: `Actor version number to which the files should be pushed. By default, it is taken from the "${LOCAL_CONFIG_PATH}" file.`,
211
+ required: false,
212
+ }),
213
+ 'build-tag': Flags.string({
214
+ char: 'b',
215
+ description: `Build tag to be applied to the successful Actor build. By default, it is taken from the "${LOCAL_CONFIG_PATH}" file`,
216
+ required: false,
217
+ }),
218
+ 'wait-for-finish': Flags.string({
219
+ char: 'w',
220
+ description: 'Seconds for waiting to build to finish, if no value passed, it waits forever.',
221
+ required: false,
222
+ }),
223
+ 'no-prompt': Flags.boolean({
224
+ description: 'Do not prompt for opening the Actor details in a browser. This will also not open the browser automatically.',
225
+ default: false,
226
+ required: false,
227
+ }),
228
+ }
229
+ });
230
+ Object.defineProperty(PushCommand, "args", {
231
+ enumerable: true,
232
+ configurable: true,
233
+ writable: true,
234
+ value: {
235
+ actorId: Args.string({
236
+ required: false,
237
+ description: 'Name or ID of the Actor to push (e.g. "apify/hello-world" or "E2jjCZBezvAZnX8Rb"). '
238
+ + `If not provided, the command will create or modify the Actor with the name specified in "${LOCAL_CONFIG_PATH}" file.`,
239
+ }),
240
+ }
241
+ });
242
+ //# sourceMappingURL=push.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"push.js","sourceRoot":"","sources":["../../src/commands/push.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { ApifyCommand } from '../lib/apify_command.js';
2
+ export declare class RunCommand extends ApifyCommand<typeof RunCommand> {
3
+ static description: string;
4
+ static flags: {
5
+ purge: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
6
+ 'purge-queue': import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
7
+ 'purge-dataset': import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
8
+ 'purge-key-value-store': import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
9
+ };
10
+ run(): Promise<void>;
11
+ }
12
+ //# sourceMappingURL=run.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/commands/run.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAsBvD,qBAAa,UAAW,SAAQ,YAAY,CAAC,OAAO,UAAU,CAAC;IAC3D,OAAgB,WAAW,SAOwD;IAEnF,OAAgB,KAAK;;;;;MAkBnB;IAEI,GAAG;CAmJZ"}
@@ -1,58 +1,42 @@
1
- const fs = require('fs');
2
- const path = require('path');
3
-
4
- const { APIFY_ENV_VARS } = require('@apify/consts');
5
- const { flags: flagsHelper } = require('@oclif/command');
6
- const loadJson = require('load-json-file');
7
- const semver = require('semver');
8
-
9
- const { ApifyCommand } = require('../lib/apify_command');
10
- const { LEGACY_LOCAL_STORAGE_DIR, DEFAULT_LOCAL_STORAGE_DIR, SUPPORTED_NODEJS_VERSION, LANGUAGE, PROJECT_TYPES } = require('../lib/consts');
11
- const execWithLog = require('../lib/exec');
12
- const { error, info, warning } = require('../lib/outputs');
13
- const { ProjectAnalyzer } = require('../lib/project_analyzer');
14
- const { ScrapyProjectAnalyzer } = require('../lib/scrapy-wrapper/ScrapyProjectAnalyzer');
15
- const { replaceSecretsValue } = require('../lib/secrets');
16
- const {
17
- getLocalUserInfo, purgeDefaultQueue, purgeDefaultKeyValueStore,
18
- purgeDefaultDataset, getLocalConfigOrThrow, getNpmCmd, checkIfStorageIsEmpty,
19
- detectLocalActorLanguage, isPythonVersionSupported, getPythonCommand, isNodeVersionSupported, getLocalStorageDir,
20
- } = require('../lib/utils');
21
-
22
- class RunCommand extends ApifyCommand {
1
+ import { existsSync, renameSync } from 'node:fs';
2
+ import { join } from 'node:path';
3
+ import process from 'node:process';
4
+ import { APIFY_ENV_VARS } from '@apify/consts';
5
+ import { Flags } from '@oclif/core';
6
+ import { loadJsonFile } from 'load-json-file';
7
+ import { minVersion } from 'semver';
8
+ import { ApifyCommand } from '../lib/apify_command.js';
9
+ import { DEFAULT_LOCAL_STORAGE_DIR, LANGUAGE, LEGACY_LOCAL_STORAGE_DIR, PROJECT_TYPES, SUPPORTED_NODEJS_VERSION } from '../lib/consts.js';
10
+ import { execWithLog } from '../lib/exec.js';
11
+ import { error, info, warning } from '../lib/outputs.js';
12
+ import { ProjectAnalyzer } from '../lib/project_analyzer.js';
13
+ import { ScrapyProjectAnalyzer } from '../lib/projects/scrapy/ScrapyProjectAnalyzer.js';
14
+ import { replaceSecretsValue } from '../lib/secrets.js';
15
+ import { checkIfStorageIsEmpty, detectLocalActorLanguage, getLocalConfigOrThrow, getLocalStorageDir, getLocalUserInfo, getNpmCmd, getPythonCommand, isNodeVersionSupported, isPythonVersionSupported, purgeDefaultDataset, purgeDefaultKeyValueStore, purgeDefaultQueue, } from '../lib/utils.js';
16
+ export class RunCommand extends ApifyCommand {
23
17
  async run() {
24
- const { flags } = this.parse(RunCommand);
25
- const { proxy, id: userId, token } = getLocalUserInfo();
26
- const localConfig = await getLocalConfigOrThrow();
27
18
  const cwd = process.cwd();
28
-
29
- const packageJsonPath = path.join(cwd, 'package.json');
30
- const mainPyPath = path.join(cwd, 'src/__main__.py');
31
-
19
+ const { proxy, id: userId, token } = await getLocalUserInfo();
20
+ const localConfig = await getLocalConfigOrThrow(cwd);
21
+ const packageJsonPath = join(cwd, 'package.json');
22
+ const mainPyPath = join(cwd, 'src/__main__.py');
32
23
  const projectType = ProjectAnalyzer.getProjectType(cwd);
33
24
  const actualStoragePath = getLocalStorageDir();
34
-
35
- const packageJsonExists = fs.existsSync(packageJsonPath);
36
- const mainPyExists = fs.existsSync(mainPyPath);
25
+ const packageJsonExists = existsSync(packageJsonPath);
26
+ const mainPyExists = existsSync(mainPyPath);
37
27
  const isScrapyProject = projectType === PROJECT_TYPES.SCRAPY;
38
-
39
28
  if (!packageJsonExists && !mainPyExists && !isScrapyProject) {
40
- throw new Error(
41
- 'Actor is of an unknown format.'
42
- + ` Make sure either the 'package.json' file or 'src/__main__.py' file exists or you are in a migrated Scrapy project.`,
43
- );
29
+ throw new Error('Actor is of an unknown format.'
30
+ + ` Make sure either the 'package.json' file or 'src/__main__.py' file exists or you are in a migrated Scrapy project.`);
44
31
  }
45
-
46
- if (fs.existsSync(LEGACY_LOCAL_STORAGE_DIR) && !fs.existsSync(actualStoragePath)) {
47
- fs.renameSync(LEGACY_LOCAL_STORAGE_DIR, actualStoragePath);
32
+ if (existsSync(LEGACY_LOCAL_STORAGE_DIR) && !existsSync(actualStoragePath)) {
33
+ renameSync(LEGACY_LOCAL_STORAGE_DIR, actualStoragePath);
48
34
  warning(`The legacy 'apify_storage' directory was renamed to '${actualStoragePath}' to align it with Apify SDK v3.`
49
35
  + ' Contents were left intact.');
50
36
  }
51
-
52
37
  let CRAWLEE_PURGE_ON_START = '0';
53
-
54
38
  // Purge stores
55
- if (flags.purge) {
39
+ if (this.flags.purge) {
56
40
  switch (projectType) {
57
41
  case PROJECT_TYPES.CRAWLEE: {
58
42
  CRAWLEE_PURGE_ON_START = '1';
@@ -68,80 +52,78 @@ class RunCommand extends ApifyCommand {
68
52
  }
69
53
  }
70
54
  }
71
-
72
55
  // TODO: deprecate these flags
73
- if (flags.purgeQueue) {
56
+ if (this.flags.purgeQueue) {
74
57
  await purgeDefaultQueue();
75
58
  info('Default local request queue was purged.');
76
59
  }
77
-
78
- if (flags.purgeDataset) {
60
+ if (this.flags.purgeDataset) {
79
61
  await purgeDefaultDataset();
80
62
  info('Default local dataset was purged.');
81
63
  }
82
-
83
- if (flags.purgeKeyValueStore) {
64
+ if (this.flags.purgeKeyValueStore) {
84
65
  await purgeDefaultKeyValueStore();
85
66
  info('Default local key-value store was purged.');
86
67
  }
87
-
88
- if (!flags.purge) {
68
+ if (!this.flags.purge) {
89
69
  const isStorageEmpty = await checkIfStorageIsEmpty();
90
70
  if (!isStorageEmpty) {
91
71
  warning('The storage directory contains a previous state, the Actor will continue where it left off. '
92
72
  + 'To start from the initial state, use --purge parameter to clean the storage directory.');
93
73
  }
94
74
  }
95
-
96
75
  // Attach env vars from local config files
97
76
  const localEnvVars = {
98
77
  [APIFY_ENV_VARS.LOCAL_STORAGE_DIR]: actualStoragePath,
99
78
  CRAWLEE_STORAGE_DIR: actualStoragePath,
100
79
  CRAWLEE_PURGE_ON_START,
101
80
  };
102
- if (proxy && proxy.password) localEnvVars[APIFY_ENV_VARS.PROXY_PASSWORD] = proxy.password;
103
- if (userId) localEnvVars[APIFY_ENV_VARS.USER_ID] = userId;
104
- if (token) localEnvVars[APIFY_ENV_VARS.TOKEN] = token;
81
+ if (proxy && proxy.password)
82
+ localEnvVars[APIFY_ENV_VARS.PROXY_PASSWORD] = proxy.password;
83
+ if (userId)
84
+ localEnvVars[APIFY_ENV_VARS.USER_ID] = userId;
85
+ if (token)
86
+ localEnvVars[APIFY_ENV_VARS.TOKEN] = token;
105
87
  if (localConfig.environmentVariables) {
106
88
  const updatedEnv = replaceSecretsValue(localConfig.environmentVariables);
107
89
  Object.assign(localEnvVars, updatedEnv);
108
90
  }
109
91
  // NOTE: User can overwrite env vars
110
92
  const env = Object.assign(localEnvVars, process.env);
111
-
112
93
  if (!userId) {
113
94
  warning('You are not logged in with your Apify Account. Some features like Apify Proxy will not work. Call "apify login" to fix that.');
114
95
  }
115
-
116
- const { language, languageVersion } = detectLocalActorLanguage();
96
+ const { language, languageVersion } = detectLocalActorLanguage(cwd);
117
97
  if (language === LANGUAGE.NODEJS) { // Actor is written in Node.js
118
98
  const currentNodeVersion = languageVersion;
119
- const minimumSupportedNodeVersion = semver.minVersion(SUPPORTED_NODEJS_VERSION);
99
+ const minimumSupportedNodeVersion = minVersion(SUPPORTED_NODEJS_VERSION);
120
100
  if (currentNodeVersion) {
121
- const serverJsFile = path.join(cwd, 'server.js');
122
- const packageJson = await loadJson(packageJsonPath);
123
- if ((!packageJson.scripts || !packageJson.scripts.start) && !fs.existsSync(serverJsFile)) {
101
+ const serverJsFile = join(cwd, 'server.js');
102
+ const packageJson = await loadJsonFile(packageJsonPath);
103
+ if ((!packageJson.scripts || !packageJson.scripts.start) && !existsSync(serverJsFile)) {
124
104
  throw new Error('The "npm start" script was not found in package.json. Please set it up for your project. '
125
105
  + 'For more information about that call "apify help run".');
126
106
  }
127
-
128
107
  // --max-http-header-size=80000
129
108
  // Increases default size of headers. The original limit was 80kb, but from node 10+ they decided to lower it to 8kb.
130
109
  // However they did not think about all the sites there with large headers,
131
110
  // so we put back the old limit of 80kb, which seems to work just fine.
132
111
  if (isNodeVersionSupported(currentNodeVersion)) {
133
112
  env.NODE_OPTIONS = env.NODE_OPTIONS ? `${env.NODE_OPTIONS} --max-http-header-size=80000` : '--max-http-header-size=80000';
134
- } else {
113
+ }
114
+ else {
135
115
  warning(`You are running Node.js version ${currentNodeVersion}, which is no longer supported. `
136
116
  + `Please upgrade to Node.js version ${minimumSupportedNodeVersion} or later.`);
137
117
  }
138
118
  this.telemetryData.actorNodejsVersion = currentNodeVersion;
139
119
  this.telemetryData.actorLanguage = LANGUAGE.NODEJS;
140
- await execWithLog(getNpmCmd(), ['start'], { env });
141
- } else {
142
- error(`No Node.js detected! Please install Node.js ${minimumSupportedNodeVersion} or higher to be able to run Node.js actors locally.`);
120
+ await execWithLog(getNpmCmd(), ['start'], { env, cwd });
121
+ }
122
+ else {
123
+ error(`No Node.js detected! Please install Node.js ${minimumSupportedNodeVersion} or higher to be able to run Node.js Actors locally.`);
143
124
  }
144
- } else if (language === LANGUAGE.PYTHON) {
125
+ }
126
+ else if (language === LANGUAGE.PYTHON) {
145
127
  const pythonVersion = languageVersion;
146
128
  this.telemetryData.actorPythonVersion = pythonVersion;
147
129
  this.telemetryData.actorLanguage = LANGUAGE.PYTHON;
@@ -149,7 +131,6 @@ class RunCommand extends ApifyCommand {
149
131
  if (isPythonVersionSupported(pythonVersion)) {
150
132
  const pythonCommand = getPythonCommand(cwd);
151
133
  let executableLocation = 'src';
152
-
153
134
  if (isScrapyProject) {
154
135
  const project = new ScrapyProjectAnalyzer(cwd);
155
136
  project.loadScrapyCfg();
@@ -157,48 +138,54 @@ class RunCommand extends ApifyCommand {
157
138
  executableLocation = project.configuration.get('apify', 'mainpy_location');
158
139
  }
159
140
  }
160
-
161
- await execWithLog(pythonCommand, ['-m', executableLocation], { env });
162
- } else {
163
- error(`Python actors require Python 3.8 or higher, but you have Python ${pythonVersion}!`);
164
- error('Please install Python 3.8 or higher to be able to run Python actors locally.');
141
+ await execWithLog(pythonCommand, ['-m', executableLocation], { env, cwd });
165
142
  }
166
- } else {
167
- error('No Python detected! Please install Python 3.8 or higher to be able to run Python actors locally.');
143
+ else {
144
+ error(`Python Actors require Python 3.8 or higher, but you have Python ${pythonVersion}!`);
145
+ error('Please install Python 3.8 or higher to be able to run Python Actors locally.');
146
+ }
147
+ }
148
+ else {
149
+ error('No Python detected! Please install Python 3.8 or higher to be able to run Python Actors locally.');
168
150
  }
169
151
  }
170
152
  }
171
153
  }
172
-
173
- // TODO: we should describe which env vars are set here:
174
-
175
- RunCommand.description = 'Runs the Actor locally in the current directory.\n'
176
- + 'It sets various APIFY_XYZ environment variables '
177
- + 'in order to provide a working execution environment for the Actor. For example, this causes '
178
- + 'the Actor input, as well as all other data in key-value stores, '
179
- + `datasets or request queues to be stored in the "${DEFAULT_LOCAL_STORAGE_DIR}" directory, `
180
- + 'rather than on the Apify platform.\n\n'
181
- + 'NOTE: You can override the command\'s default behavior for Node.js actors by overriding the "start" script in the package.json file. '
182
- + 'You can set up your own main file or environment variables by changing it.';
183
-
184
- RunCommand.flags = {
185
- purge: flagsHelper.boolean({
186
- char: 'p',
187
- description: 'Shortcut that combines the --purge-queue, --purge-dataset and --purge-key-value-store options.',
188
- required: false,
189
- }),
190
- 'purge-queue': flagsHelper.boolean({
191
- description: 'Deletes the local directory containing the default request queue before the run starts.',
192
- required: false,
193
- }),
194
- 'purge-dataset': flagsHelper.boolean({
195
- description: 'Deletes the local directory containing the default dataset before the run starts.',
196
- required: false,
197
- }),
198
- 'purge-key-value-store': flagsHelper.boolean({
199
- description: 'Deletes all records from the default key-value store in the local directory before the run starts, except for the "INPUT" key.',
200
- required: false,
201
- }),
202
- };
203
-
204
- module.exports = RunCommand;
154
+ Object.defineProperty(RunCommand, "description", {
155
+ enumerable: true,
156
+ configurable: true,
157
+ writable: true,
158
+ value: 'Runs the Actor locally in the current directory.\n'
159
+ + 'It sets various APIFY_XYZ environment variables '
160
+ + 'in order to provide a working execution environment for the Actor. For example, this causes '
161
+ + 'the Actor input, as well as all other data in key-value stores, '
162
+ + `datasets or request queues to be stored in the "${DEFAULT_LOCAL_STORAGE_DIR}" directory, `
163
+ + 'rather than on the Apify platform.\n\n'
164
+ + 'NOTE: You can override the command\'s default behavior for Node.js Actors by overriding the "start" script in the package.json file. '
165
+ + 'You can set up your own main file or environment variables by changing it.'
166
+ });
167
+ Object.defineProperty(RunCommand, "flags", {
168
+ enumerable: true,
169
+ configurable: true,
170
+ writable: true,
171
+ value: {
172
+ purge: Flags.boolean({
173
+ char: 'p',
174
+ description: 'Shortcut that combines the --purge-queue, --purge-dataset and --purge-key-value-store options.',
175
+ required: false,
176
+ }),
177
+ 'purge-queue': Flags.boolean({
178
+ description: 'Deletes the local directory containing the default request queue before the run starts.',
179
+ required: false,
180
+ }),
181
+ 'purge-dataset': Flags.boolean({
182
+ description: 'Deletes the local directory containing the default dataset before the run starts.',
183
+ required: false,
184
+ }),
185
+ 'purge-key-value-store': Flags.boolean({
186
+ description: 'Deletes all records from the default key-value store in the local directory before the run starts, except for the "INPUT" key.',
187
+ required: false,
188
+ }),
189
+ }
190
+ });
191
+ //# sourceMappingURL=run.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/commands/run.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { ApifyCommand } from '../../lib/apify_command.js';
2
+ export declare class SecretsAddCommand extends ApifyCommand<typeof SecretsAddCommand> {
3
+ static description: string;
4
+ static args: {
5
+ name: import("@oclif/core/lib/interfaces/parser.js").Arg<string, Record<string, unknown>>;
6
+ value: import("@oclif/core/lib/interfaces/parser.js").Arg<string, Record<string, unknown>>;
7
+ };
8
+ run(): Promise<void>;
9
+ }
10
+ //# sourceMappingURL=add.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add.d.ts","sourceRoot":"","sources":["../../../src/commands/secrets/add.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAG1D,qBAAa,iBAAkB,SAAQ,YAAY,CAAC,OAAO,iBAAiB,CAAC;IACzE,OAAgB,WAAW,SAA4E;IAEvG,OAAgB,IAAI;;;MASlB;IAEI,GAAG;CAKZ"}
@@ -0,0 +1,31 @@
1
+ import { Args } from '@oclif/core';
2
+ import { ApifyCommand } from '../../lib/apify_command.js';
3
+ import { addSecret } from '../../lib/secrets.js';
4
+ export class SecretsAddCommand extends ApifyCommand {
5
+ async run() {
6
+ const { name, value } = this.args;
7
+ addSecret(name, value);
8
+ }
9
+ }
10
+ Object.defineProperty(SecretsAddCommand, "description", {
11
+ enumerable: true,
12
+ configurable: true,
13
+ writable: true,
14
+ value: 'Adds a new secret value.\nThe secrets are stored to a file at ~/.apify'
15
+ });
16
+ Object.defineProperty(SecretsAddCommand, "args", {
17
+ enumerable: true,
18
+ configurable: true,
19
+ writable: true,
20
+ value: {
21
+ name: Args.string({
22
+ required: true,
23
+ description: 'Name of the secret',
24
+ }),
25
+ value: Args.string({
26
+ required: true,
27
+ description: 'Value of the secret',
28
+ }),
29
+ }
30
+ });
31
+ //# sourceMappingURL=add.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add.js","sourceRoot":"","sources":["../../../src/commands/secrets/add.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAEnC,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEjD,MAAM,OAAO,iBAAkB,SAAQ,YAAsC;IAczE,KAAK,CAAC,GAAG;QACL,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC;QAElC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC3B,CAAC;;AAjBe;;;;WAAc,wEAAwE;GAAC;AAEvF;;;;WAAO;QACnB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;YACd,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,oBAAoB;SACpC,CAAC;QACF,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC;YACf,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,qBAAqB;SACrC,CAAC;KACL;GAAC"}