apify-cli 0.21.10-beta.2 → 0.21.10-beta.20

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 (251) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/actor.js +3 -0
  4. package/dist/actor.js.map +1 -0
  5. package/dist/apify.js +3 -0
  6. package/dist/apify.js.map +1 -0
  7. package/dist/chunk-QCFOWB3K.js +242 -0
  8. package/dist/chunk-QCFOWB3K.js.map +1 -0
  9. package/dist/index.js +2 -3
  10. package/package.json +16 -18
  11. package/dist/commands/_register.js +0 -68
  12. package/dist/commands/_register.js.map +0 -1
  13. package/dist/commands/actor/_index.js +0 -24
  14. package/dist/commands/actor/_index.js.map +0 -1
  15. package/dist/commands/actor/charge.js +0 -84
  16. package/dist/commands/actor/charge.js.map +0 -1
  17. package/dist/commands/actor/get-input.js +0 -10
  18. package/dist/commands/actor/get-input.js.map +0 -1
  19. package/dist/commands/actor/get-public-url.js +0 -52
  20. package/dist/commands/actor/get-public-url.js.map +0 -1
  21. package/dist/commands/actor/get-value.js +0 -18
  22. package/dist/commands/actor/get-value.js.map +0 -1
  23. package/dist/commands/actor/push-data.js +0 -38
  24. package/dist/commands/actor/push-data.js.map +0 -1
  25. package/dist/commands/actor/set-value.js +0 -52
  26. package/dist/commands/actor/set-value.js.map +0 -1
  27. package/dist/commands/actors/_index.js +0 -28
  28. package/dist/commands/actors/_index.js.map +0 -1
  29. package/dist/commands/actors/build.js +0 -6
  30. package/dist/commands/actors/build.js.map +0 -1
  31. package/dist/commands/actors/call.js +0 -224
  32. package/dist/commands/actors/call.js.map +0 -1
  33. package/dist/commands/actors/info.js +0 -203
  34. package/dist/commands/actors/info.js.map +0 -1
  35. package/dist/commands/actors/ls.js +0 -226
  36. package/dist/commands/actors/ls.js.map +0 -1
  37. package/dist/commands/actors/pull.js +0 -150
  38. package/dist/commands/actors/pull.js.map +0 -1
  39. package/dist/commands/actors/push.js +0 -300
  40. package/dist/commands/actors/push.js.map +0 -1
  41. package/dist/commands/actors/rm.js +0 -43
  42. package/dist/commands/actors/rm.js.map +0 -1
  43. package/dist/commands/actors/start.js +0 -125
  44. package/dist/commands/actors/start.js.map +0 -1
  45. package/dist/commands/builds/_index.js +0 -22
  46. package/dist/commands/builds/_index.js.map +0 -1
  47. package/dist/commands/builds/create.js +0 -130
  48. package/dist/commands/builds/create.js.map +0 -1
  49. package/dist/commands/builds/info.js +0 -78
  50. package/dist/commands/builds/info.js.map +0 -1
  51. package/dist/commands/builds/log.js +0 -35
  52. package/dist/commands/builds/log.js.map +0 -1
  53. package/dist/commands/builds/ls.js +0 -141
  54. package/dist/commands/builds/ls.js.map +0 -1
  55. package/dist/commands/builds/rm.js +0 -59
  56. package/dist/commands/builds/rm.js.map +0 -1
  57. package/dist/commands/call.js +0 -5
  58. package/dist/commands/call.js.map +0 -1
  59. package/dist/commands/create.js +0 -264
  60. package/dist/commands/create.js.map +0 -1
  61. package/dist/commands/datasets/_index.js +0 -25
  62. package/dist/commands/datasets/_index.js.map +0 -1
  63. package/dist/commands/datasets/create.js +0 -38
  64. package/dist/commands/datasets/create.js.map +0 -1
  65. package/dist/commands/datasets/get-items.js +0 -84
  66. package/dist/commands/datasets/get-items.js.map +0 -1
  67. package/dist/commands/datasets/info.js +0 -125
  68. package/dist/commands/datasets/info.js.map +0 -1
  69. package/dist/commands/datasets/ls.js +0 -73
  70. package/dist/commands/datasets/ls.js.map +0 -1
  71. package/dist/commands/datasets/push-items.js +0 -70
  72. package/dist/commands/datasets/push-items.js.map +0 -1
  73. package/dist/commands/datasets/rename.js +0 -71
  74. package/dist/commands/datasets/rename.js.map +0 -1
  75. package/dist/commands/datasets/rm.js +0 -48
  76. package/dist/commands/datasets/rm.js.map +0 -1
  77. package/dist/commands/edit-input-schema.js +0 -162
  78. package/dist/commands/edit-input-schema.js.map +0 -1
  79. package/dist/commands/help.js +0 -43
  80. package/dist/commands/help.js.map +0 -1
  81. package/dist/commands/info.js +0 -21
  82. package/dist/commands/info.js.map +0 -1
  83. package/dist/commands/init-wrap-scrapy.js +0 -27
  84. package/dist/commands/init-wrap-scrapy.js.map +0 -1
  85. package/dist/commands/init.js +0 -94
  86. package/dist/commands/init.js.map +0 -1
  87. package/dist/commands/key-value-stores/_index.js +0 -30
  88. package/dist/commands/key-value-stores/_index.js.map +0 -1
  89. package/dist/commands/key-value-stores/create.js +0 -38
  90. package/dist/commands/key-value-stores/create.js.map +0 -1
  91. package/dist/commands/key-value-stores/delete-value.js +0 -61
  92. package/dist/commands/key-value-stores/delete-value.js.map +0 -1
  93. package/dist/commands/key-value-stores/get-value.js +0 -70
  94. package/dist/commands/key-value-stores/get-value.js.map +0 -1
  95. package/dist/commands/key-value-stores/info.js +0 -127
  96. package/dist/commands/key-value-stores/info.js.map +0 -1
  97. package/dist/commands/key-value-stores/keys.js +0 -61
  98. package/dist/commands/key-value-stores/keys.js.map +0 -1
  99. package/dist/commands/key-value-stores/ls.js +0 -70
  100. package/dist/commands/key-value-stores/ls.js.map +0 -1
  101. package/dist/commands/key-value-stores/rename.js +0 -71
  102. package/dist/commands/key-value-stores/rename.js.map +0 -1
  103. package/dist/commands/key-value-stores/rm.js +0 -48
  104. package/dist/commands/key-value-stores/rm.js.map +0 -1
  105. package/dist/commands/key-value-stores/set-value.js +0 -57
  106. package/dist/commands/key-value-stores/set-value.js.map +0 -1
  107. package/dist/commands/login.js +0 -183
  108. package/dist/commands/login.js.map +0 -1
  109. package/dist/commands/logout.js +0 -16
  110. package/dist/commands/logout.js.map +0 -1
  111. package/dist/commands/pull.js +0 -5
  112. package/dist/commands/pull.js.map +0 -1
  113. package/dist/commands/push.js +0 -5
  114. package/dist/commands/push.js.map +0 -1
  115. package/dist/commands/request-queues/_index.js +0 -9
  116. package/dist/commands/request-queues/_index.js.map +0 -1
  117. package/dist/commands/run.js +0 -434
  118. package/dist/commands/run.js.map +0 -1
  119. package/dist/commands/runs/_index.js +0 -23
  120. package/dist/commands/runs/_index.js.map +0 -1
  121. package/dist/commands/runs/abort.js +0 -68
  122. package/dist/commands/runs/abort.js.map +0 -1
  123. package/dist/commands/runs/info.js +0 -238
  124. package/dist/commands/runs/info.js.map +0 -1
  125. package/dist/commands/runs/log.js +0 -32
  126. package/dist/commands/runs/log.js.map +0 -1
  127. package/dist/commands/runs/ls.js +0 -106
  128. package/dist/commands/runs/ls.js.map +0 -1
  129. package/dist/commands/runs/resurrect.js +0 -54
  130. package/dist/commands/runs/resurrect.js.map +0 -1
  131. package/dist/commands/runs/rm.js +0 -58
  132. package/dist/commands/runs/rm.js.map +0 -1
  133. package/dist/commands/secrets/_index.js +0 -25
  134. package/dist/commands/secrets/_index.js.map +0 -1
  135. package/dist/commands/secrets/add.js +0 -22
  136. package/dist/commands/secrets/add.js.map +0 -1
  137. package/dist/commands/secrets/rm.js +0 -18
  138. package/dist/commands/secrets/rm.js.map +0 -1
  139. package/dist/commands/task/_index.js +0 -11
  140. package/dist/commands/task/_index.js.map +0 -1
  141. package/dist/commands/task/run.js +0 -91
  142. package/dist/commands/task/run.js.map +0 -1
  143. package/dist/commands/upgrade.js +0 -74
  144. package/dist/commands/upgrade.js.map +0 -1
  145. package/dist/commands/validate-schema.js +0 -44
  146. package/dist/commands/validate-schema.js.map +0 -1
  147. package/dist/entrypoints/_shared.js +0 -256
  148. package/dist/entrypoints/_shared.js.map +0 -1
  149. package/dist/entrypoints/actor.js +0 -19
  150. package/dist/entrypoints/actor.js.map +0 -1
  151. package/dist/entrypoints/apify.js +0 -18
  152. package/dist/entrypoints/apify.js.map +0 -1
  153. package/dist/index.js.map +0 -1
  154. package/dist/lib/actor.js +0 -74
  155. package/dist/lib/actor.js.map +0 -1
  156. package/dist/lib/command-framework/apify-command.js +0 -426
  157. package/dist/lib/command-framework/apify-command.js.map +0 -1
  158. package/dist/lib/command-framework/args.js +0 -24
  159. package/dist/lib/command-framework/args.js.map +0 -1
  160. package/dist/lib/command-framework/flags.js +0 -99
  161. package/dist/lib/command-framework/flags.js.map +0 -1
  162. package/dist/lib/command-framework/help/CommandHelp.js +0 -228
  163. package/dist/lib/command-framework/help/CommandHelp.js.map +0 -1
  164. package/dist/lib/command-framework/help/CommandWithSubcommands.js +0 -75
  165. package/dist/lib/command-framework/help/CommandWithSubcommands.js.map +0 -1
  166. package/dist/lib/command-framework/help/_BaseCommandRenderer.js +0 -63
  167. package/dist/lib/command-framework/help/_BaseCommandRenderer.js.map +0 -1
  168. package/dist/lib/command-framework/help/consts.js +0 -27
  169. package/dist/lib/command-framework/help/consts.js.map +0 -1
  170. package/dist/lib/command-framework/help.js +0 -105
  171. package/dist/lib/command-framework/help.js.map +0 -1
  172. package/dist/lib/commands/pretty-print-bytes.js +0 -13
  173. package/dist/lib/commands/pretty-print-bytes.js.map +0 -1
  174. package/dist/lib/commands/pretty-print-status.js +0 -29
  175. package/dist/lib/commands/pretty-print-status.js.map +0 -1
  176. package/dist/lib/commands/read-stdin.js +0 -42
  177. package/dist/lib/commands/read-stdin.js.map +0 -1
  178. package/dist/lib/commands/resolve-actor-context.js +0 -70
  179. package/dist/lib/commands/resolve-actor-context.js.map +0 -1
  180. package/dist/lib/commands/resolve-input.js +0 -162
  181. package/dist/lib/commands/resolve-input.js.map +0 -1
  182. package/dist/lib/commands/responsive-table.js +0 -129
  183. package/dist/lib/commands/responsive-table.js.map +0 -1
  184. package/dist/lib/commands/run-on-cloud.js +0 -126
  185. package/dist/lib/commands/run-on-cloud.js.map +0 -1
  186. package/dist/lib/commands/storage-size.js +0 -8
  187. package/dist/lib/commands/storage-size.js.map +0 -1
  188. package/dist/lib/commands/storages.js +0 -30
  189. package/dist/lib/commands/storages.js.map +0 -1
  190. package/dist/lib/consts.js +0 -69
  191. package/dist/lib/consts.js.map +0 -1
  192. package/dist/lib/create-utils.js +0 -156
  193. package/dist/lib/create-utils.js.map +0 -1
  194. package/dist/lib/exec.js +0 -34
  195. package/dist/lib/exec.js.map +0 -1
  196. package/dist/lib/files.js +0 -54
  197. package/dist/lib/files.js.map +0 -1
  198. package/dist/lib/hooks/runtimes/javascript.js +0 -86
  199. package/dist/lib/hooks/runtimes/javascript.js.map +0 -1
  200. package/dist/lib/hooks/runtimes/python.js +0 -80
  201. package/dist/lib/hooks/runtimes/python.js.map +0 -1
  202. package/dist/lib/hooks/runtimes/utils.js +0 -16
  203. package/dist/lib/hooks/runtimes/utils.js.map +0 -1
  204. package/dist/lib/hooks/useActorConfig.js +0 -177
  205. package/dist/lib/hooks/useActorConfig.js.map +0 -1
  206. package/dist/lib/hooks/useCLIMetadata.js +0 -73
  207. package/dist/lib/hooks/useCLIMetadata.js.map +0 -1
  208. package/dist/lib/hooks/useCLIVersionCheck.js +0 -91
  209. package/dist/lib/hooks/useCLIVersionCheck.js.map +0 -1
  210. package/dist/lib/hooks/useCommandSuggestions.js +0 -37
  211. package/dist/lib/hooks/useCommandSuggestions.js.map +0 -1
  212. package/dist/lib/hooks/useCwdProject.js +0 -174
  213. package/dist/lib/hooks/useCwdProject.js.map +0 -1
  214. package/dist/lib/hooks/useLocalState.js +0 -56
  215. package/dist/lib/hooks/useLocalState.js.map +0 -1
  216. package/dist/lib/hooks/useModuleVersion.js +0 -103
  217. package/dist/lib/hooks/useModuleVersion.js.map +0 -1
  218. package/dist/lib/hooks/useStdin.js +0 -65
  219. package/dist/lib/hooks/useStdin.js.map +0 -1
  220. package/dist/lib/input_schema.js +0 -130
  221. package/dist/lib/input_schema.js.map +0 -1
  222. package/dist/lib/outputs.js +0 -45
  223. package/dist/lib/outputs.js.map +0 -1
  224. package/dist/lib/project_analyzer.js +0 -30
  225. package/dist/lib/project_analyzer.js.map +0 -1
  226. package/dist/lib/projects/CrawleeAnalyzer.js +0 -20
  227. package/dist/lib/projects/CrawleeAnalyzer.js.map +0 -1
  228. package/dist/lib/projects/OldApifySDKAnalyzer.js +0 -38
  229. package/dist/lib/projects/OldApifySDKAnalyzer.js.map +0 -1
  230. package/dist/lib/projects/scrapy/ScrapyProjectAnalyzer.js +0 -73
  231. package/dist/lib/projects/scrapy/ScrapyProjectAnalyzer.js.map +0 -1
  232. package/dist/lib/projects/scrapy/Spider.js +0 -13
  233. package/dist/lib/projects/scrapy/Spider.js.map +0 -1
  234. package/dist/lib/projects/scrapy/SpiderFileAnalyzer.js +0 -20
  235. package/dist/lib/projects/scrapy/SpiderFileAnalyzer.js.map +0 -1
  236. package/dist/lib/projects/scrapy/wrapScrapyProject.js +0 -113
  237. package/dist/lib/projects/scrapy/wrapScrapyProject.js.map +0 -1
  238. package/dist/lib/projects/shared.js +0 -13
  239. package/dist/lib/projects/shared.js.map +0 -1
  240. package/dist/lib/secrets.js +0 -106
  241. package/dist/lib/secrets.js.map +0 -1
  242. package/dist/lib/telemetry.js +0 -86
  243. package/dist/lib/telemetry.js.map +0 -1
  244. package/dist/lib/types.js +0 -4
  245. package/dist/lib/types.js.map +0 -1
  246. package/dist/lib/utils/cliDebugPrint.js +0 -7
  247. package/dist/lib/utils/cliDebugPrint.js.map +0 -1
  248. package/dist/lib/utils/confirm.js +0 -28
  249. package/dist/lib/utils/confirm.js.map +0 -1
  250. package/dist/lib/utils.js +0 -457
  251. package/dist/lib/utils.js.map +0 -1
@@ -1,156 +0,0 @@
1
- import { createWriteStream } from 'node:fs';
2
- import { pipeline } from 'node:stream/promises';
3
- import chalk from 'chalk';
4
- import inquirer from 'inquirer';
5
- import { warning } from './outputs.js';
6
- import { httpsGet, validateActorName } from './utils.js';
7
- const PROGRAMMING_LANGUAGES = ['JavaScript', 'TypeScript', 'Python'];
8
- export async function ensureValidActorName(maybeActorName) {
9
- if (maybeActorName) {
10
- validateActorName(maybeActorName);
11
- return maybeActorName;
12
- }
13
- return promptActorName();
14
- }
15
- // TODO: this isn't even used anymore
16
- export async function getTemplateDefinition(maybeTemplateName, manifestPromise) {
17
- const manifest = await manifestPromise;
18
- // If the fetch failed earlier, the resolve value of
19
- // the promise will be the error from fetching the manifest.
20
- if (manifest instanceof Error)
21
- throw manifest;
22
- if (maybeTemplateName) {
23
- const templateDefinition = manifest.templates.find((t) => t.name === maybeTemplateName);
24
- if (!templateDefinition) {
25
- throw new Error(`Could not find the selected template: ${maybeTemplateName} in the list of templates.`);
26
- }
27
- return templateDefinition;
28
- }
29
- return executePrompts(manifest);
30
- }
31
- // TODO: this isn't even used anymore
32
- /**
33
- * Fetch local readme suffix from the manifest and append it to the readme.
34
- */
35
- export async function enhanceReadmeWithLocalSuffix(readmePath, manifestPromise) {
36
- const manifest = await manifestPromise;
37
- // If the fetch failed earlier, the resolve value of
38
- // the promise will be the error from fetching the manifest.
39
- if (manifest instanceof Error)
40
- throw manifest;
41
- try {
42
- const suffixStream = await httpsGet(manifest.localReadmeSuffixUrl);
43
- const readmeStream = createWriteStream(readmePath, { flags: 'a' });
44
- readmeStream.write('\n\n');
45
- await pipeline(suffixStream, readmeStream);
46
- }
47
- catch (err) {
48
- warning({
49
- message: `Could not append local development instructions to README.md. Cause: ${err.message}`,
50
- });
51
- }
52
- }
53
- /**
54
- * Inquirer does not have a native way to "go back" between prompts.
55
- */
56
- async function executePrompts(manifest) {
57
- const programmingLanguage = await promptProgrammingLanguage();
58
- while (true) {
59
- const templateDefinition = await promptTemplateDefinition(manifest, programmingLanguage);
60
- if (templateDefinition) {
61
- const shouldInstall = await promptTemplateInstallation(templateDefinition);
62
- if (shouldInstall) {
63
- return templateDefinition;
64
- }
65
- }
66
- else {
67
- return executePrompts(manifest);
68
- }
69
- }
70
- }
71
- async function promptActorName() {
72
- const answer = await inquirer.prompt([
73
- {
74
- name: 'actorName',
75
- message: 'Name of your new Actor:',
76
- type: 'input',
77
- validate: (promptText) => {
78
- try {
79
- validateActorName(promptText);
80
- }
81
- catch (err) {
82
- return err.message;
83
- }
84
- return true;
85
- },
86
- },
87
- ]);
88
- return answer.actorName;
89
- }
90
- async function promptProgrammingLanguage() {
91
- const answer = await inquirer.prompt([
92
- {
93
- type: 'list',
94
- name: 'programmingLanguage',
95
- message: 'Choose the programming language of your new Actor:',
96
- default: PROGRAMMING_LANGUAGES[0],
97
- choices: PROGRAMMING_LANGUAGES,
98
- loop: false,
99
- },
100
- ]);
101
- return answer.programmingLanguage;
102
- }
103
- async function promptTemplateDefinition(manifest, programmingLanguage) {
104
- const choices = [
105
- ...manifest.templates
106
- .filter((t) => {
107
- return t.category.toLowerCase() === programmingLanguage.toLowerCase();
108
- })
109
- .map((t) => {
110
- return {
111
- name: t.label,
112
- value: t,
113
- };
114
- }),
115
- new inquirer.Separator(),
116
- {
117
- name: 'Go back',
118
- value: false,
119
- },
120
- ];
121
- const answer = await inquirer.prompt([
122
- {
123
- type: 'list',
124
- name: 'templateDefinition',
125
- message: 'Choose a template for your new Actor. Detailed information about the template will be shown in the next step.',
126
- default: choices[0],
127
- choices,
128
- loop: false,
129
- pageSize: 8,
130
- },
131
- ]);
132
- return answer.templateDefinition;
133
- }
134
- async function promptTemplateInstallation(templateDefinition) {
135
- const choices = [
136
- { name: `Install template`, value: true },
137
- new inquirer.Separator(),
138
- { name: 'Go back', value: false },
139
- ];
140
- const label = chalk.underline(templateDefinition.label);
141
- const description = chalk.dim(templateDefinition.description);
142
- const suffix = `\n ${label}:\n ${description}`;
143
- const message = `Do you want to install the following template?${suffix}`;
144
- const answer = await inquirer.prompt([
145
- {
146
- type: 'list',
147
- name: 'shouldInstall',
148
- message,
149
- default: choices[0],
150
- choices,
151
- loop: false,
152
- },
153
- ]);
154
- return answer.shouldInstall;
155
- }
156
- //# sourceMappingURL=create-utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"create-utils.js","sourceRoot":"","sources":["../../src/lib/create-utils.ts"],"names":[],"mappings":"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"}
package/dist/lib/exec.js DELETED
@@ -1,34 +0,0 @@
1
- import { Result } from '@sapphire/result';
2
- import { execa } from 'execa';
3
- import { normalizeExecutablePath } from './hooks/runtimes/utils.js';
4
- import { error, run } from './outputs.js';
5
- import { cliDebugPrint } from './utils/cliDebugPrint.js';
6
- const spawnPromised = async (cmd, args, opts) => {
7
- const escapedCommand = normalizeExecutablePath(cmd);
8
- cliDebugPrint('spawnPromised', { escapedCommand, args, opts });
9
- const childProcess = execa(escapedCommand, args, {
10
- shell: true,
11
- windowsHide: true,
12
- env: opts.env,
13
- cwd: opts.cwd,
14
- // Pipe means it gets collected by the parent process, inherit means it gets collected by the parent process and printed out to the console
15
- stdout: process.env.APIFY_NO_LOGS_IN_TESTS ? ['pipe'] : ['pipe', 'inherit'],
16
- stderr: process.env.APIFY_NO_LOGS_IN_TESTS ? ['pipe'] : ['pipe', 'inherit'],
17
- verbose: process.env.APIFY_CLI_DEBUG ? 'full' : undefined,
18
- });
19
- return Result.fromAsync(childProcess.catch((execaError) => {
20
- throw new Error(`${cmd} exited with code ${execaError.exitCode}`, { cause: execaError });
21
- }));
22
- };
23
- export async function execWithLog({ cmd, args = [], opts = {}, overrideCommand }) {
24
- run({ message: `${overrideCommand || cmd} ${args.join(' ')}` });
25
- const result = await spawnPromised(cmd, args, opts);
26
- if (result.isErr()) {
27
- const err = result.unwrapErr();
28
- error({ message: err.message });
29
- if (err.cause) {
30
- throw err.cause;
31
- }
32
- }
33
- }
34
- //# sourceMappingURL=exec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"exec.js","sourceRoot":"","sources":["../../src/lib/exec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,KAAK,EAAiC,MAAM,OAAO,CAAC;AAE7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEzD,MAAM,aAAa,GAAG,KAAK,EAAE,GAAW,EAAE,IAAc,EAAE,IAAa,EAAE,EAAE;IAC1E,MAAM,cAAc,GAAG,uBAAuB,CAAC,GAAG,CAAC,CAAC;IAEpD,aAAa,CAAC,eAAe,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAE/D,MAAM,YAAY,GAAG,KAAK,CAAC,cAAc,EAAE,IAAI,EAAE;QAChD,KAAK,EAAE,IAAI;QACX,WAAW,EAAE,IAAI;QACjB,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,2IAA2I;QAC3I,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,SAAS,CAAC;QAC3E,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,SAAS,CAAC;QAC3E,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;KACzD,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC,SAAS,CACtB,YAAY,CAAC,KAAK,CAAC,CAAC,UAAsB,EAAE,EAAE;QAC7C,MAAM,IAAI,KAAK,CAAC,GAAG,GAAG,qBAAqB,UAAU,CAAC,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;IAC1F,CAAC,CAAC,CAC8E,CAAC;AACnF,CAAC,CAAC;AASF,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,EAAE,GAAG,EAAE,IAAI,GAAG,EAAE,EAAE,IAAI,GAAG,EAAE,EAAE,eAAe,EAAsB;IACnG,GAAG,CAAC,EAAE,OAAO,EAAE,GAAG,eAAe,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;IAChE,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAEpD,IAAI,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC;QACpB,MAAM,GAAG,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;QAC/B,KAAK,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QAEhC,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;YACf,MAAM,GAAG,CAAC,KAAK,CAAC;QACjB,CAAC;IACF,CAAC;AACF,CAAC"}
package/dist/lib/files.js DELETED
@@ -1,54 +0,0 @@
1
- import { existsSync, mkdirSync } from 'node:fs';
2
- import { readFile, stat, unlink, writeFile } from 'node:fs/promises';
3
- import { join, sep } from 'node:path';
4
- import { rimraf } from 'rimraf';
5
- export const updateLocalJson = async (jsonFilePath, updateAttrs = {}, nestedObjectAttr = null) => {
6
- const raw = await readFile(jsonFilePath, 'utf-8');
7
- const currentObject = JSON.parse(raw);
8
- let newObject;
9
- if (nestedObjectAttr) {
10
- newObject = currentObject;
11
- newObject[nestedObjectAttr] = { ...currentObject[nestedObjectAttr], ...updateAttrs };
12
- }
13
- else {
14
- newObject = { ...currentObject, ...updateAttrs };
15
- }
16
- await writeFile(jsonFilePath, JSON.stringify(newObject, null, '\t'));
17
- };
18
- /**
19
- * If you pass /foo/bar as rootPath and /baz/raz as folderPath then it ensures that following folders exists:
20
- *
21
- * /foo/bar/baz
22
- * /foo/bar/baz/raz
23
- *
24
- * If you pass only one parameter then rootPath is considered to be '.'
25
- */
26
- export const ensureFolderExistsSync = (rootPath, folderPath) => {
27
- if (!folderPath) {
28
- folderPath = rootPath;
29
- rootPath = '.';
30
- }
31
- const parts = folderPath.split(sep);
32
- parts.reduce((currentPath, currentDir) => {
33
- currentPath = join(currentPath, currentDir);
34
- if (!existsSync(currentPath)) {
35
- mkdirSync(currentPath);
36
- }
37
- return currentPath;
38
- }, rootPath);
39
- };
40
- export const rimrafPromised = async (pathToBeRemoved) => {
41
- await rimraf(pathToBeRemoved);
42
- };
43
- export const deleteFile = async (filePath) => {
44
- const res = await stat(filePath);
45
- if (res.isFile()) {
46
- await unlink(filePath);
47
- }
48
- };
49
- export const sumFilesSizeInBytes = async (pathToFiles, cwd) => {
50
- const filesStats = await Promise.all(pathToFiles.map(async (filePath) => stat(join(cwd, filePath))));
51
- const filesSizeBytes = filesStats.map((stats) => stats.size).reduce((sum, fileSize) => sum + fileSize, 0);
52
- return filesSizeBytes;
53
- };
54
- //# sourceMappingURL=files.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"files.js","sourceRoot":"","sources":["../../src/lib/files.ts"],"names":[],"mappings":"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"}
@@ -1,86 +0,0 @@
1
- import process from 'node:process';
2
- import { none, some } from '@sapphire/result';
3
- import { execa } from 'execa';
4
- import which from 'which';
5
- import { cliDebugPrint } from '../../utils/cliDebugPrint.js';
6
- import { normalizeExecutablePath } from './utils.js';
7
- const cwdCache = new Map();
8
- // Runtimes, in order of preference
9
- const runtimesToCheck = {
10
- node: ['--version'],
11
- deno: ['eval', '"console.log(process.versions.node)"'],
12
- bun: ['--eval', '"console.log(process.versions.node)"'],
13
- };
14
- async function getRuntimeVersion(runtimePath, args) {
15
- try {
16
- const result = await execa(runtimePath, args, {
17
- shell: true,
18
- windowsHide: true,
19
- verbose: process.env.APIFY_CLI_DEBUG ? 'full' : undefined,
20
- });
21
- // No output -> issue or who knows
22
- if (!result.stdout) {
23
- return null;
24
- }
25
- return result.stdout.trim().replace(/^v/, '');
26
- }
27
- catch {
28
- return null;
29
- }
30
- }
31
- async function getNpmVersion(npmPath) {
32
- const result = await execa(npmPath, ['--version'], {
33
- shell: true,
34
- windowsHide: true,
35
- verbose: process.env.APIFY_CLI_DEBUG ? 'full' : undefined,
36
- });
37
- if (!result.stdout) {
38
- return null;
39
- }
40
- return result.stdout.trim().replace(/^v/, '');
41
- }
42
- export async function useJavaScriptRuntime(cwd = process.cwd()) {
43
- const cached = cwdCache.get(cwd);
44
- if (cached) {
45
- cliDebugPrint('useJavaScriptRuntime', { cacheHit: true, cwd, runtime: cached.unwrapOr(null) });
46
- return cached;
47
- }
48
- for (const [runtime, args] of Object.entries(runtimesToCheck)) {
49
- try {
50
- const runtimePath = normalizeExecutablePath(await which(runtime));
51
- const version = await getRuntimeVersion(runtimePath, args);
52
- if (version) {
53
- const res = {
54
- executablePath: runtimePath,
55
- version,
56
- };
57
- // For npm, we also fetch the npm version
58
- if (runtime === 'node') {
59
- const npmPath = normalizeExecutablePath(await which('npm').catch(() => null));
60
- if (npmPath) {
61
- res.pmPath = npmPath;
62
- res.pmVersion = await getNpmVersion(npmPath);
63
- res.pmName = 'npm';
64
- }
65
- }
66
- // deno and bun support package.json scripts out of the box
67
- else {
68
- res.runtimeShorthand = runtime;
69
- res.pmPath = runtimePath;
70
- res.pmVersion = version;
71
- res.pmName = runtime;
72
- }
73
- cwdCache.set(cwd, some(res));
74
- cliDebugPrint('useJavaScriptRuntime', { cacheHit: false, cwd, runtime: cwdCache.get(cwd)?.unwrap() });
75
- return some(res);
76
- }
77
- }
78
- catch {
79
- // Ignore errors
80
- }
81
- }
82
- cwdCache.set(cwd, none);
83
- cliDebugPrint('useJavaScriptRuntime', { cacheHit: false, cwd, runtime: null });
84
- return none;
85
- }
86
- //# sourceMappingURL=javascript.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"javascript.js","sourceRoot":"","sources":["../../../../src/lib/hooks/runtimes/javascript.ts"],"names":[],"mappings":"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"}
@@ -1,80 +0,0 @@
1
- import { platform } from 'node:os';
2
- import { join } from 'node:path';
3
- import process from 'node:process';
4
- import { none, some } from '@sapphire/result';
5
- import { execa } from 'execa';
6
- import which from 'which';
7
- import { cliDebugPrint } from '../../utils/cliDebugPrint.js';
8
- import { normalizeExecutablePath } from './utils.js';
9
- const cwdCache = new Map();
10
- async function getPythonVersion(runtimePath) {
11
- try {
12
- const result = await execa(runtimePath, ['-c', '"import platform; print(platform.python_version())"'], {
13
- shell: true,
14
- windowsHide: true,
15
- verbose: process.env.APIFY_CLI_DEBUG ? 'full' : undefined,
16
- });
17
- // No output -> issue or who knows
18
- if (!result.stdout) {
19
- return null;
20
- }
21
- return result.stdout.trim();
22
- }
23
- catch {
24
- // const casted = ex as ExecaError;
25
- return null;
26
- }
27
- }
28
- export async function usePythonRuntime({ cwd = process.cwd(), force = false, } = {}) {
29
- const cached = cwdCache.get(cwd);
30
- if (cached && !force) {
31
- cliDebugPrint('usePythonRuntime', { cacheHit: true, cwd, runtime: cached.unwrapOr(null) });
32
- return cached;
33
- }
34
- const isWindows = platform() === 'win32';
35
- const pathParts = isWindows ? ['Scripts', 'python.exe'] : ['bin', 'python3'];
36
- let fullPythonVenvPath;
37
- if (process.env.VIRTUAL_ENV) {
38
- fullPythonVenvPath = join(process.env.VIRTUAL_ENV, ...pathParts);
39
- }
40
- else {
41
- fullPythonVenvPath = join(cwd, '.venv', ...pathParts);
42
- }
43
- fullPythonVenvPath = normalizeExecutablePath(fullPythonVenvPath);
44
- try {
45
- const version = await getPythonVersion(fullPythonVenvPath);
46
- if (version) {
47
- cwdCache.set(cwd, some({
48
- executablePath: fullPythonVenvPath,
49
- version,
50
- }));
51
- cliDebugPrint('usePythonRuntime', { cacheHit: false, cwd, runtime: cwdCache.get(cwd)?.unwrap() });
52
- return cwdCache.get(cwd);
53
- }
54
- }
55
- catch {
56
- // Ignore errors
57
- }
58
- const fallbacks = ['python3', 'python', ...(isWindows ? ['python3.exe', 'python.exe'] : [])];
59
- for (const fallback of fallbacks) {
60
- try {
61
- const fullPath = normalizeExecutablePath(await which(fallback));
62
- const version = await getPythonVersion(fullPath);
63
- if (version) {
64
- cwdCache.set(cwd, some({
65
- executablePath: fullPath,
66
- version,
67
- }));
68
- cliDebugPrint('usePythonRuntime', { cacheHit: false, cwd, runtime: cwdCache.get(cwd)?.unwrap() });
69
- return cwdCache.get(cwd);
70
- }
71
- }
72
- catch {
73
- // Continue
74
- }
75
- }
76
- cwdCache.set(cwd, none);
77
- cliDebugPrint('usePythonRuntime', { cacheHit: false, cwd, runtime: null });
78
- return none;
79
- }
80
- //# sourceMappingURL=python.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"python.js","sourceRoot":"","sources":["../../../../src/lib/hooks/runtimes/python.ts"],"names":[],"mappings":"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"}
@@ -1,16 +0,0 @@
1
- import { isAbsolute } from 'node:path';
2
- export function normalizeExecutablePath(path) {
3
- if (!path) {
4
- return null;
5
- }
6
- // Already escaped
7
- if (path.startsWith('"')) {
8
- return path;
9
- }
10
- // Regardless of platform, if there is a space in the path, we need to escape it
11
- if (isAbsolute(path) && path.includes(' ')) {
12
- return `"${path}"`;
13
- }
14
- return path;
15
- }
16
- //# sourceMappingURL=utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/lib/hooks/runtimes/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAIvC,MAAM,UAAU,uBAAuB,CAAC,IAAmB;IAC1D,IAAI,CAAC,IAAI,EAAE,CAAC;QACX,OAAO,IAAI,CAAC;IACb,CAAC;IAED,kBAAkB;IAClB,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAC;IACb,CAAC;IAED,gFAAgF;IAChF,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5C,OAAO,IAAI,IAAI,GAAG,CAAC;IACpB,CAAC;IAED,OAAO,IAAI,CAAC;AACb,CAAC"}
@@ -1,177 +0,0 @@
1
- import { mkdir, rename, writeFile } from 'node:fs/promises';
2
- import { dirname, join } from 'node:path';
3
- import process from 'node:process';
4
- import { inspect } from 'node:util';
5
- import { err, ok } from '@sapphire/result';
6
- import { ACTOR_SPECIFICATION_VERSION, DEPRECATED_LOCAL_CONFIG_NAME } from '../consts.js';
7
- import { error, info, warning } from '../outputs.js';
8
- import { getJsonFileContent, getLocalConfigPath } from '../utils.js';
9
- import { cliDebugPrint } from '../utils/cliDebugPrint.js';
10
- import { confirmAction } from '../utils/confirm.js';
11
- const getDeprecatedLocalConfigPath = (cwd) => join(cwd, DEPRECATED_LOCAL_CONFIG_NAME);
12
- export const cwdCache = new Map();
13
- export async function useActorConfig({ cwd = process.cwd(), migrateConfig = true, warnAboutOldConfig = true } = {
14
- cwd: process.cwd(),
15
- migrateConfig: true,
16
- warnAboutOldConfig: true,
17
- }) {
18
- const cached = cwdCache.get(cwd);
19
- if (cached) {
20
- cliDebugPrint('useActorConfig', { cacheHit: true, config: cached });
21
- return ok(cached);
22
- }
23
- const newConfigPath = getLocalConfigPath(cwd);
24
- const deprecatedConfigPath = getDeprecatedLocalConfigPath(cwd);
25
- let config;
26
- let deprecatedConfig;
27
- try {
28
- config = getJsonFileContent(newConfigPath);
29
- }
30
- catch (ex) {
31
- return err({
32
- message: `Failed to read local config at path: '${newConfigPath}':`,
33
- cause: ex,
34
- exists: false,
35
- config: {},
36
- });
37
- }
38
- try {
39
- deprecatedConfig = getJsonFileContent(deprecatedConfigPath);
40
- }
41
- catch (ex) {
42
- return err({
43
- message: `Failed to read local config at path: '${deprecatedConfigPath}':`,
44
- cause: ex,
45
- exists: false,
46
- config: {},
47
- });
48
- }
49
- // Handle cleanup of deprecated config, we just ignore the deprecated config if both exist
50
- if (config && deprecatedConfig && warnAboutOldConfig) {
51
- await handleBothConfigVersionsFound(deprecatedConfigPath);
52
- }
53
- if (!config && !deprecatedConfig) {
54
- cwdCache.set(cwd, { exists: false, migrated: false, config: {} });
55
- return ok({ exists: false, migrated: false, config: {} });
56
- }
57
- let migrated = false;
58
- if (!config && deprecatedConfig && migrateConfig) {
59
- const migratedConfig = await handleMigrationFlow(deprecatedConfig, deprecatedConfigPath, newConfigPath);
60
- if (migratedConfig.isErr()) {
61
- return err(migratedConfig.unwrapErr());
62
- }
63
- config = migratedConfig.unwrap();
64
- migrated = true;
65
- }
66
- cwdCache.set(cwd, { exists: true, migrated, config: config || deprecatedConfig || {} });
67
- cliDebugPrint('useActorConfig', { cacheHit: false, config: cwdCache.get(cwd) });
68
- return ok({ exists: true, migrated, config: config || deprecatedConfig || {} });
69
- }
70
- async function handleBothConfigVersionsFound(deprecatedConfigPath) {
71
- const confirmed = await confirmAction({
72
- type: 'actor config',
73
- message: `The new version of Apify CLI uses the ".actor/actor.json" instead of the "apify.json" file. Since we have found both files in your Actor directory, "apify.json" will be renamed to "apify.json.deprecated". Going forward, all commands will use ".actor/actor.json". You can read about the differences between the old and the new config at https://github.com/apify/apify-cli/blob/master/MIGRATIONS.md. Do you want to continue?`,
74
- });
75
- // If users refuse to migrate, 🤷
76
- if (!confirmed) {
77
- warning({
78
- message: 'The "apify.json" file present in your Actor directory will be ignored, and the new ".actor/actor.json" file will be used instead. Please, either rename or remove the old file.',
79
- });
80
- return;
81
- }
82
- try {
83
- await rename(deprecatedConfigPath, `${deprecatedConfigPath}.deprecated`);
84
- info({
85
- message: `The "apify.json" file has been renamed to "apify.json.deprecated". The deprecated file is no longer used by the CLI or Apify Console. If you do not need it for some specific purpose, it can be safely deleted.`,
86
- });
87
- }
88
- catch (ex) {
89
- if (ex instanceof Error) {
90
- error({
91
- message: `Failed to rename the deprecated "apify.json" file to "apify.json.deprecated".\n ${ex.message || ex}`,
92
- });
93
- }
94
- else {
95
- error({
96
- message: `Failed to rename the deprecated "apify.json" file to "apify.json.deprecated".\n ${inspect(ex, { showHidden: false })}`,
97
- });
98
- }
99
- }
100
- }
101
- // Properties from apify.json file that will me migrated to Actor specs in .actor/actor.json
102
- const MIGRATED_APIFY_JSON_PROPERTIES = ['name', 'version', 'buildTag'];
103
- async function handleMigrationFlow(deprecatedConfig, deprecatedConfigPath, configPath) {
104
- let migratedConfig = { ...deprecatedConfig };
105
- if (typeof migratedConfig.version === 'object') {
106
- migratedConfig = updateLocalConfigStructure(migratedConfig);
107
- }
108
- migratedConfig = {
109
- actorSpecification: ACTOR_SPECIFICATION_VERSION,
110
- environmentVariables: deprecatedConfig?.env || undefined,
111
- ...MIGRATED_APIFY_JSON_PROPERTIES.reduce((acc, prop) => {
112
- acc[prop] = deprecatedConfig[prop];
113
- return acc;
114
- }, {}),
115
- };
116
- const confirmed = await confirmAction({
117
- type: 'actor config',
118
- message: `The new version of Apify CLI uses the ".actor/actor.json" instead of the "apify.json" file. Your "apify.json" file will be automatically updated to the new format under ".actor/actor.json". The original file will be renamed by adding the ".deprecated" suffix. Do you want to continue?`,
119
- });
120
- if (!confirmed) {
121
- return err({
122
- message: 'Command can not run with old "apify.json" structure. Either let the CLI auto-update it or follow the guide on https://github.com/apify/apify-cli/blob/master/MIGRATIONS.md and update it manually.',
123
- exists: true,
124
- config: migratedConfig,
125
- });
126
- }
127
- // If we fail to write the new config, its an error
128
- try {
129
- await mkdir(dirname(configPath), { recursive: true });
130
- await writeFile(configPath, JSON.stringify(migratedConfig, null, '\t'));
131
- }
132
- catch (ex) {
133
- const casted = ex;
134
- return err({
135
- message: `Failed to write the new "actor.json" file to path: '${configPath}'.\n ${casted.message || casted}`,
136
- exists: true,
137
- config: migratedConfig,
138
- });
139
- }
140
- // but if we fail to rename the deprecated config, its a warning, cause future runs will ignore it
141
- try {
142
- await rename(deprecatedConfigPath, `${deprecatedConfigPath}.deprecated`);
143
- }
144
- catch (ex) {
145
- const casted = ex;
146
- warning({
147
- message: `Failed to rename the deprecated "apify.json" file to "apify.json.deprecated".\n ${casted.message || casted}`,
148
- });
149
- }
150
- info({
151
- message: `The "apify.json" file has been migrated to ".actor/actor.json" and the original file renamed to "apify.json.deprecated". The deprecated file is no longer used by the CLI or Apify Console. If you do not need it for some specific purpose, it can be safely deleted. Do not forget to commit the new file to your Git repository.`,
152
- });
153
- return ok(migratedConfig);
154
- }
155
- /**
156
- * Migration for deprecated structure of apify.json to latest.
157
- */
158
- function updateLocalConfigStructure(localConfig) {
159
- const updatedLocalConfig = {
160
- name: localConfig.name,
161
- template: localConfig.template,
162
- version: localConfig.version.versionNumber,
163
- buildTag: localConfig.version.buildTag,
164
- env: null,
165
- };
166
- if (localConfig.version.envVars?.length) {
167
- const env = {};
168
- localConfig.version.envVars.forEach((envVar) => {
169
- if (envVar.name && envVar.value) {
170
- env[envVar.name] = envVar.value;
171
- }
172
- });
173
- updatedLocalConfig.env = env;
174
- }
175
- return updatedLocalConfig;
176
- }
177
- //# sourceMappingURL=useActorConfig.js.map