apify-cli 0.21.10-beta.5 → 0.21.10-beta.6

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 (254) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/actor.js +3 -0
  3. package/dist/actor.js.map +1 -0
  4. package/dist/apify.js +3 -0
  5. package/dist/apify.js.map +1 -0
  6. package/dist/chunk-SA3HH2MX.js +236 -0
  7. package/dist/chunk-SA3HH2MX.js.map +1 -0
  8. package/dist/index.js +2 -3
  9. package/package.json +6 -6
  10. package/dist/commands/_register.js +0 -72
  11. package/dist/commands/_register.js.map +0 -1
  12. package/dist/commands/actor/_index.js +0 -24
  13. package/dist/commands/actor/_index.js.map +0 -1
  14. package/dist/commands/actor/charge.js +0 -84
  15. package/dist/commands/actor/charge.js.map +0 -1
  16. package/dist/commands/actor/get-input.js +0 -10
  17. package/dist/commands/actor/get-input.js.map +0 -1
  18. package/dist/commands/actor/get-public-url.js +0 -52
  19. package/dist/commands/actor/get-public-url.js.map +0 -1
  20. package/dist/commands/actor/get-value.js +0 -18
  21. package/dist/commands/actor/get-value.js.map +0 -1
  22. package/dist/commands/actor/push-data.js +0 -38
  23. package/dist/commands/actor/push-data.js.map +0 -1
  24. package/dist/commands/actor/set-value.js +0 -52
  25. package/dist/commands/actor/set-value.js.map +0 -1
  26. package/dist/commands/actors/_index.js +0 -28
  27. package/dist/commands/actors/_index.js.map +0 -1
  28. package/dist/commands/actors/build.js +0 -6
  29. package/dist/commands/actors/build.js.map +0 -1
  30. package/dist/commands/actors/call.js +0 -224
  31. package/dist/commands/actors/call.js.map +0 -1
  32. package/dist/commands/actors/info.js +0 -203
  33. package/dist/commands/actors/info.js.map +0 -1
  34. package/dist/commands/actors/ls.js +0 -226
  35. package/dist/commands/actors/ls.js.map +0 -1
  36. package/dist/commands/actors/pull.js +0 -150
  37. package/dist/commands/actors/pull.js.map +0 -1
  38. package/dist/commands/actors/push.js +0 -300
  39. package/dist/commands/actors/push.js.map +0 -1
  40. package/dist/commands/actors/rm.js +0 -43
  41. package/dist/commands/actors/rm.js.map +0 -1
  42. package/dist/commands/actors/start.js +0 -125
  43. package/dist/commands/actors/start.js.map +0 -1
  44. package/dist/commands/builds/_index.js +0 -22
  45. package/dist/commands/builds/_index.js.map +0 -1
  46. package/dist/commands/builds/create.js +0 -130
  47. package/dist/commands/builds/create.js.map +0 -1
  48. package/dist/commands/builds/info.js +0 -78
  49. package/dist/commands/builds/info.js.map +0 -1
  50. package/dist/commands/builds/log.js +0 -35
  51. package/dist/commands/builds/log.js.map +0 -1
  52. package/dist/commands/builds/ls.js +0 -141
  53. package/dist/commands/builds/ls.js.map +0 -1
  54. package/dist/commands/builds/rm.js +0 -59
  55. package/dist/commands/builds/rm.js.map +0 -1
  56. package/dist/commands/call.js +0 -5
  57. package/dist/commands/call.js.map +0 -1
  58. package/dist/commands/cli-management/install.js +0 -138
  59. package/dist/commands/cli-management/install.js.map +0 -1
  60. package/dist/commands/cli-management/upgrade.js +0 -270
  61. package/dist/commands/cli-management/upgrade.js.map +0 -1
  62. package/dist/commands/create.js +0 -264
  63. package/dist/commands/create.js.map +0 -1
  64. package/dist/commands/datasets/_index.js +0 -25
  65. package/dist/commands/datasets/_index.js.map +0 -1
  66. package/dist/commands/datasets/create.js +0 -38
  67. package/dist/commands/datasets/create.js.map +0 -1
  68. package/dist/commands/datasets/get-items.js +0 -84
  69. package/dist/commands/datasets/get-items.js.map +0 -1
  70. package/dist/commands/datasets/info.js +0 -125
  71. package/dist/commands/datasets/info.js.map +0 -1
  72. package/dist/commands/datasets/ls.js +0 -73
  73. package/dist/commands/datasets/ls.js.map +0 -1
  74. package/dist/commands/datasets/push-items.js +0 -70
  75. package/dist/commands/datasets/push-items.js.map +0 -1
  76. package/dist/commands/datasets/rename.js +0 -71
  77. package/dist/commands/datasets/rename.js.map +0 -1
  78. package/dist/commands/datasets/rm.js +0 -48
  79. package/dist/commands/datasets/rm.js.map +0 -1
  80. package/dist/commands/edit-input-schema.js +0 -162
  81. package/dist/commands/edit-input-schema.js.map +0 -1
  82. package/dist/commands/help.js +0 -43
  83. package/dist/commands/help.js.map +0 -1
  84. package/dist/commands/info.js +0 -21
  85. package/dist/commands/info.js.map +0 -1
  86. package/dist/commands/init-wrap-scrapy.js +0 -27
  87. package/dist/commands/init-wrap-scrapy.js.map +0 -1
  88. package/dist/commands/init.js +0 -94
  89. package/dist/commands/init.js.map +0 -1
  90. package/dist/commands/key-value-stores/_index.js +0 -30
  91. package/dist/commands/key-value-stores/_index.js.map +0 -1
  92. package/dist/commands/key-value-stores/create.js +0 -38
  93. package/dist/commands/key-value-stores/create.js.map +0 -1
  94. package/dist/commands/key-value-stores/delete-value.js +0 -61
  95. package/dist/commands/key-value-stores/delete-value.js.map +0 -1
  96. package/dist/commands/key-value-stores/get-value.js +0 -70
  97. package/dist/commands/key-value-stores/get-value.js.map +0 -1
  98. package/dist/commands/key-value-stores/info.js +0 -127
  99. package/dist/commands/key-value-stores/info.js.map +0 -1
  100. package/dist/commands/key-value-stores/keys.js +0 -61
  101. package/dist/commands/key-value-stores/keys.js.map +0 -1
  102. package/dist/commands/key-value-stores/ls.js +0 -70
  103. package/dist/commands/key-value-stores/ls.js.map +0 -1
  104. package/dist/commands/key-value-stores/rename.js +0 -71
  105. package/dist/commands/key-value-stores/rename.js.map +0 -1
  106. package/dist/commands/key-value-stores/rm.js +0 -48
  107. package/dist/commands/key-value-stores/rm.js.map +0 -1
  108. package/dist/commands/key-value-stores/set-value.js +0 -57
  109. package/dist/commands/key-value-stores/set-value.js.map +0 -1
  110. package/dist/commands/login.js +0 -183
  111. package/dist/commands/login.js.map +0 -1
  112. package/dist/commands/logout.js +0 -16
  113. package/dist/commands/logout.js.map +0 -1
  114. package/dist/commands/pull.js +0 -5
  115. package/dist/commands/pull.js.map +0 -1
  116. package/dist/commands/push.js +0 -5
  117. package/dist/commands/push.js.map +0 -1
  118. package/dist/commands/request-queues/_index.js +0 -9
  119. package/dist/commands/request-queues/_index.js.map +0 -1
  120. package/dist/commands/run.js +0 -434
  121. package/dist/commands/run.js.map +0 -1
  122. package/dist/commands/runs/_index.js +0 -23
  123. package/dist/commands/runs/_index.js.map +0 -1
  124. package/dist/commands/runs/abort.js +0 -68
  125. package/dist/commands/runs/abort.js.map +0 -1
  126. package/dist/commands/runs/info.js +0 -238
  127. package/dist/commands/runs/info.js.map +0 -1
  128. package/dist/commands/runs/log.js +0 -32
  129. package/dist/commands/runs/log.js.map +0 -1
  130. package/dist/commands/runs/ls.js +0 -106
  131. package/dist/commands/runs/ls.js.map +0 -1
  132. package/dist/commands/runs/resurrect.js +0 -54
  133. package/dist/commands/runs/resurrect.js.map +0 -1
  134. package/dist/commands/runs/rm.js +0 -58
  135. package/dist/commands/runs/rm.js.map +0 -1
  136. package/dist/commands/secrets/_index.js +0 -25
  137. package/dist/commands/secrets/_index.js.map +0 -1
  138. package/dist/commands/secrets/add.js +0 -22
  139. package/dist/commands/secrets/add.js.map +0 -1
  140. package/dist/commands/secrets/rm.js +0 -18
  141. package/dist/commands/secrets/rm.js.map +0 -1
  142. package/dist/commands/task/_index.js +0 -11
  143. package/dist/commands/task/_index.js.map +0 -1
  144. package/dist/commands/task/run.js +0 -91
  145. package/dist/commands/task/run.js.map +0 -1
  146. package/dist/commands/validate-schema.js +0 -44
  147. package/dist/commands/validate-schema.js.map +0 -1
  148. package/dist/entrypoints/_shared.js +0 -258
  149. package/dist/entrypoints/_shared.js.map +0 -1
  150. package/dist/entrypoints/actor.js +0 -19
  151. package/dist/entrypoints/actor.js.map +0 -1
  152. package/dist/entrypoints/apify.js +0 -18
  153. package/dist/entrypoints/apify.js.map +0 -1
  154. package/dist/index.js.map +0 -1
  155. package/dist/lib/actor.js +0 -74
  156. package/dist/lib/actor.js.map +0 -1
  157. package/dist/lib/command-framework/apify-command.js +0 -429
  158. package/dist/lib/command-framework/apify-command.js.map +0 -1
  159. package/dist/lib/command-framework/args.js +0 -24
  160. package/dist/lib/command-framework/args.js.map +0 -1
  161. package/dist/lib/command-framework/flags.js +0 -99
  162. package/dist/lib/command-framework/flags.js.map +0 -1
  163. package/dist/lib/command-framework/help/CommandHelp.js +0 -233
  164. package/dist/lib/command-framework/help/CommandHelp.js.map +0 -1
  165. package/dist/lib/command-framework/help/CommandWithSubcommands.js +0 -75
  166. package/dist/lib/command-framework/help/CommandWithSubcommands.js.map +0 -1
  167. package/dist/lib/command-framework/help/_BaseCommandRenderer.js +0 -63
  168. package/dist/lib/command-framework/help/_BaseCommandRenderer.js.map +0 -1
  169. package/dist/lib/command-framework/help/consts.js +0 -27
  170. package/dist/lib/command-framework/help/consts.js.map +0 -1
  171. package/dist/lib/command-framework/help.js +0 -105
  172. package/dist/lib/command-framework/help.js.map +0 -1
  173. package/dist/lib/commands/pretty-print-bytes.js +0 -13
  174. package/dist/lib/commands/pretty-print-bytes.js.map +0 -1
  175. package/dist/lib/commands/pretty-print-status.js +0 -29
  176. package/dist/lib/commands/pretty-print-status.js.map +0 -1
  177. package/dist/lib/commands/read-stdin.js +0 -42
  178. package/dist/lib/commands/read-stdin.js.map +0 -1
  179. package/dist/lib/commands/resolve-actor-context.js +0 -70
  180. package/dist/lib/commands/resolve-actor-context.js.map +0 -1
  181. package/dist/lib/commands/resolve-input.js +0 -162
  182. package/dist/lib/commands/resolve-input.js.map +0 -1
  183. package/dist/lib/commands/responsive-table.js +0 -129
  184. package/dist/lib/commands/responsive-table.js.map +0 -1
  185. package/dist/lib/commands/run-on-cloud.js +0 -126
  186. package/dist/lib/commands/run-on-cloud.js.map +0 -1
  187. package/dist/lib/commands/storage-size.js +0 -8
  188. package/dist/lib/commands/storage-size.js.map +0 -1
  189. package/dist/lib/commands/storages.js +0 -30
  190. package/dist/lib/commands/storages.js.map +0 -1
  191. package/dist/lib/consts.js +0 -58
  192. package/dist/lib/consts.js.map +0 -1
  193. package/dist/lib/create-utils.js +0 -156
  194. package/dist/lib/create-utils.js.map +0 -1
  195. package/dist/lib/exec.js +0 -34
  196. package/dist/lib/exec.js.map +0 -1
  197. package/dist/lib/files.js +0 -54
  198. package/dist/lib/files.js.map +0 -1
  199. package/dist/lib/hooks/runtimes/javascript.js +0 -86
  200. package/dist/lib/hooks/runtimes/javascript.js.map +0 -1
  201. package/dist/lib/hooks/runtimes/python.js +0 -80
  202. package/dist/lib/hooks/runtimes/python.js.map +0 -1
  203. package/dist/lib/hooks/runtimes/utils.js +0 -16
  204. package/dist/lib/hooks/runtimes/utils.js.map +0 -1
  205. package/dist/lib/hooks/useActorConfig.js +0 -177
  206. package/dist/lib/hooks/useActorConfig.js.map +0 -1
  207. package/dist/lib/hooks/useCLIMetadata.js +0 -83
  208. package/dist/lib/hooks/useCLIMetadata.js.map +0 -1
  209. package/dist/lib/hooks/useCLIVersionAssets.js +0 -92
  210. package/dist/lib/hooks/useCLIVersionAssets.js.map +0 -1
  211. package/dist/lib/hooks/useCLIVersionCheck.js +0 -91
  212. package/dist/lib/hooks/useCLIVersionCheck.js.map +0 -1
  213. package/dist/lib/hooks/useCommandSuggestions.js +0 -37
  214. package/dist/lib/hooks/useCommandSuggestions.js.map +0 -1
  215. package/dist/lib/hooks/useCwdProject.js +0 -174
  216. package/dist/lib/hooks/useCwdProject.js.map +0 -1
  217. package/dist/lib/hooks/useLocalState.js +0 -56
  218. package/dist/lib/hooks/useLocalState.js.map +0 -1
  219. package/dist/lib/hooks/useModuleVersion.js +0 -103
  220. package/dist/lib/hooks/useModuleVersion.js.map +0 -1
  221. package/dist/lib/hooks/useStdin.js +0 -65
  222. package/dist/lib/hooks/useStdin.js.map +0 -1
  223. package/dist/lib/input_schema.js +0 -130
  224. package/dist/lib/input_schema.js.map +0 -1
  225. package/dist/lib/outputs.js +0 -45
  226. package/dist/lib/outputs.js.map +0 -1
  227. package/dist/lib/project_analyzer.js +0 -30
  228. package/dist/lib/project_analyzer.js.map +0 -1
  229. package/dist/lib/projects/CrawleeAnalyzer.js +0 -20
  230. package/dist/lib/projects/CrawleeAnalyzer.js.map +0 -1
  231. package/dist/lib/projects/OldApifySDKAnalyzer.js +0 -38
  232. package/dist/lib/projects/OldApifySDKAnalyzer.js.map +0 -1
  233. package/dist/lib/projects/scrapy/ScrapyProjectAnalyzer.js +0 -73
  234. package/dist/lib/projects/scrapy/ScrapyProjectAnalyzer.js.map +0 -1
  235. package/dist/lib/projects/scrapy/Spider.js +0 -13
  236. package/dist/lib/projects/scrapy/Spider.js.map +0 -1
  237. package/dist/lib/projects/scrapy/SpiderFileAnalyzer.js +0 -20
  238. package/dist/lib/projects/scrapy/SpiderFileAnalyzer.js.map +0 -1
  239. package/dist/lib/projects/scrapy/wrapScrapyProject.js +0 -113
  240. package/dist/lib/projects/scrapy/wrapScrapyProject.js.map +0 -1
  241. package/dist/lib/projects/shared.js +0 -13
  242. package/dist/lib/projects/shared.js.map +0 -1
  243. package/dist/lib/secrets.js +0 -106
  244. package/dist/lib/secrets.js.map +0 -1
  245. package/dist/lib/telemetry.js +0 -86
  246. package/dist/lib/telemetry.js.map +0 -1
  247. package/dist/lib/types.js +0 -4
  248. package/dist/lib/types.js.map +0 -1
  249. package/dist/lib/utils/cliDebugPrint.js +0 -7
  250. package/dist/lib/utils/cliDebugPrint.js.map +0 -1
  251. package/dist/lib/utils/confirm.js +0 -28
  252. package/dist/lib/utils/confirm.js.map +0 -1
  253. package/dist/lib/utils.js +0 -457
  254. package/dist/lib/utils.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"install.js","sourceRoot":"","sources":["../../../src/commands/cli-management/install.ts"],"names":[],"mappings":"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"}
@@ -1,270 +0,0 @@
1
- import { spawn } from 'node:child_process';
2
- import { existsSync } from 'node:fs';
3
- import { lstat, readdir, writeFile } from 'node:fs/promises';
4
- import { dirname, join } from 'node:path';
5
- import chalk from 'chalk';
6
- import { gte } from 'semver';
7
- import { USER_AGENT } from '../../entrypoints/_shared.js';
8
- import { ApifyCommand } from '../../lib/command-framework/apify-command.js';
9
- import { Flags } from '../../lib/command-framework/flags.js';
10
- import { execWithLog } from '../../lib/exec.js';
11
- import { DEVELOPMENT_VERSION_MARKER, useCLIMetadata } from '../../lib/hooks/useCLIMetadata.js';
12
- import { useCLIVersionAssets } from '../../lib/hooks/useCLIVersionAssets.js';
13
- import { useCLIVersionCheck } from '../../lib/hooks/useCLIVersionCheck.js';
14
- import { error, info, simpleLog, success, warning } from '../../lib/outputs.js';
15
- import { cliDebugPrint } from '../../lib/utils/cliDebugPrint.js';
16
- const UPDATE_COMMANDS = {
17
- bundle: (_, entrypoint) => [`${entrypoint}`, 'upgrade'],
18
- npm: (version) => ['npm', 'install', '-g', `apify-cli@${version}`],
19
- pnpm: (version) => ['pnpm', 'install', '-g', `apify-cli@${version}`],
20
- bun: (version) => ['bun', 'install', '-g', `apify-cli@${version}`],
21
- homebrew: () => ['brew', 'upgrade', 'apify-cli'],
22
- volta: (version) => ['volta', 'install', `apify-cli@${version}`],
23
- };
24
- // TODO: update this once we bump the CLI version and release it with this command available
25
- const MINIMUM_VERSION_FOR_UPGRADE_COMMAND = '0.21.8';
26
- /**
27
- * The link to the upgrade script needed for windows when upgrading CLI bundles (as a fallback for when the script is missing)
28
- * Unix-based systems do not require a similar script as they allow the executing process to override itself
29
- * (so we can replace the binary while it is running)
30
- */
31
- const WINDOWS_UPGRADE_SCRIPT_URL = 'https://raw.githubusercontent.com/apify/apify-cli/main/scripts/install/upgrade.ps1';
32
- export class UpgradeCommand extends ApifyCommand {
33
- static name = 'upgrade';
34
- static description = 'Checks that installed Apify CLI version is up to date.';
35
- static hidden = true;
36
- static aliases = ['cv', 'check-version'];
37
- static flags = {
38
- force: Flags.boolean({
39
- description: 'Whether to skip checking the locally cached latest version of the CLI and fetch it from the internet instead.',
40
- required: false,
41
- char: 'f',
42
- }),
43
- version: Flags.string({
44
- description: 'The version of the CLI to upgrade to. If not provided, the latest version will be used.',
45
- required: false,
46
- }),
47
- 'internal-automatic-call': Flags.boolean({
48
- description: 'Whether the command was called automatically by the CLI for a version check.',
49
- hidden: true,
50
- default: false,
51
- }),
52
- };
53
- get cliName() {
54
- return this.entrypoint === 'apify' ? 'Apify CLI' : 'Actor CLI';
55
- }
56
- async run() {
57
- if (this.flags.version) {
58
- await this.handleInstallSpecificVersion(this.flags.version);
59
- return;
60
- }
61
- const result = await useCLIVersionCheck(this.flags.force);
62
- const { installMethod } = useCLIMetadata();
63
- if (!result.shouldUpdate || result.currentVersion === DEVELOPMENT_VERSION_MARKER) {
64
- // Always print, unless the command was called automatically by the CLI for a version check
65
- if (!this.flags.internalAutomaticCall) {
66
- info({ message: `${this.cliName} is up to date 👍 \n` });
67
- }
68
- return;
69
- }
70
- // If the flag is not set, a user manually called the command, so we should upgrade the CLI
71
- if (!this.flags.internalAutomaticCall) {
72
- await this.handleInstallSpecificVersion('latest');
73
- return;
74
- }
75
- const updateCommand = UPDATE_COMMANDS[installMethod]('latest', this.entrypoint).join(' ');
76
- simpleLog({ message: '' });
77
- const message = [
78
- `You are using an old version of ${this.cliName}. We strongly recommend you always use the latest available version.`,
79
- ` ↪ Run ${chalk.bgWhite(chalk.black(updateCommand))} to update! 👍 \n`,
80
- ].join('\n');
81
- warning({ message });
82
- }
83
- async handleInstallSpecificVersion(version) {
84
- // Technically, we could allow downgrades to older versions, but then users would lose the upgrade command 🤷
85
- if (version !== 'latest' && !gte(version, MINIMUM_VERSION_FOR_UPGRADE_COMMAND)) {
86
- error({
87
- message: `The minimum version of the CLI you can manually downgrade/upgrade to is ${MINIMUM_VERSION_FOR_UPGRADE_COMMAND}.`,
88
- });
89
- return;
90
- }
91
- const versionData = await useCLIVersionAssets(version);
92
- if (!versionData) {
93
- error({ message: `The provided version does not exist. Please check the version number and try again.` });
94
- return;
95
- }
96
- const { assets, version: versionWithoutV } = versionData;
97
- // Check again, in case `latest` returns an older version for whatever reason
98
- if (!gte(versionWithoutV, MINIMUM_VERSION_FOR_UPGRADE_COMMAND)) {
99
- error({
100
- message: `The minimum version of the CLI you can manually downgrade/upgrade to is ${MINIMUM_VERSION_FOR_UPGRADE_COMMAND}.`,
101
- });
102
- return;
103
- }
104
- const metadata = useCLIMetadata();
105
- if (metadata.installMethod === 'bundle') {
106
- if (!assets.length) {
107
- error({
108
- message: [
109
- 'Failed to find the assets for your system and the provided version. Please open an issue on https://github.com/apify/apify-cli/issues/new and provide the following information:',
110
- `- The version you are trying to upgrade to: ${versionWithoutV}`,
111
- `- The system you are running on: ${metadata.platform} ${metadata.arch}`,
112
- ].join('\n'),
113
- });
114
- return;
115
- }
116
- const bundleDirectory = dirname(process.execPath);
117
- cliDebugPrint('[upgrade] bundleDirectory', bundleDirectory);
118
- const directoryEntries = await readdir(bundleDirectory);
119
- if (!directoryEntries.some((entry) => entry.startsWith('apify') || entry.startsWith('actor'))) {
120
- cliDebugPrint('[upgrade] directoryEntries', directoryEntries);
121
- error({
122
- message: [
123
- `Failed to find the currently installed ${this.cliName} bundle. Please open an issue on https://github.com/apify/apify-cli/issues/new and provide the following information:`,
124
- `- The version you are trying to upgrade to: ${versionWithoutV}`,
125
- `- The system you are running on: ${metadata.platform} ${metadata.arch}`,
126
- `- The directory where the ${this.cliName} bundle is installed: ${bundleDirectory}`,
127
- ].join('\n'),
128
- });
129
- return;
130
- }
131
- if (metadata.platform === 'windows') {
132
- return this.startUpgradeProcess(bundleDirectory, versionWithoutV, assets);
133
- }
134
- await this.handleUnixUpgrade(bundleDirectory, versionWithoutV, assets);
135
- this.successMessage(versionWithoutV);
136
- return;
137
- }
138
- const updateCommand = UPDATE_COMMANDS[metadata.installMethod](version, this.entrypoint);
139
- if (process.env.APIFY_CLI_DEBUG) {
140
- info({ message: `Would run command: ${updateCommand.join(' ')}` });
141
- return;
142
- }
143
- try {
144
- await execWithLog({ cmd: updateCommand[0], args: updateCommand.slice(1) });
145
- this.successMessage(versionWithoutV);
146
- }
147
- catch {
148
- error({
149
- message: `Failed to upgrade the CLI. Please run the following command manually: ${updateCommand.join(' ')}`,
150
- });
151
- }
152
- }
153
- successMessage(version) {
154
- success({ message: `Successfully upgraded to ${version} 👍` });
155
- }
156
- async startUpgradeProcess(bundleDirectory, version, assets) {
157
- // Assert that we have the upgrade script, and download if it is missing
158
- await this.upsertUpgradeScript(bundleDirectory);
159
- // Start the child process with it, and exit the cli
160
- const args = [
161
- '-ExecutionPolicy',
162
- 'Bypass',
163
- '-File',
164
- `"${join(bundleDirectory, 'upgrade.ps1')}"`,
165
- '-ProcessId',
166
- process.pid.toString(),
167
- '-InstallLocation',
168
- `"${bundleDirectory}"`,
169
- '-Version',
170
- `"${version}"`,
171
- ];
172
- const urls = assets.map((asset) => asset.browser_download_url).join(',');
173
- args.push('-AllUrls', `"${urls}"`);
174
- cliDebugPrint('[upgrade] starting upgrade process with args', args);
175
- info({ message: `Starting upgrade process...` });
176
- const upgradeProcess = spawn('powershell.exe', args, {
177
- detached: true,
178
- shell: true,
179
- stdio: 'inherit',
180
- windowsHide: false,
181
- windowsVerbatimArguments: true,
182
- });
183
- upgradeProcess.on('spawn', () => {
184
- cliDebugPrint('[upgrade] upgrade process spawned');
185
- upgradeProcess.unref();
186
- // CLI exits, but the upgrade process continues in the background
187
- process.exit(0);
188
- });
189
- upgradeProcess.on('error', (err) => {
190
- error({ message: `Failed to start the upgrade process: ${err.message}` });
191
- });
192
- }
193
- async upsertUpgradeScript(bundleDirectory) {
194
- const filePath = join(bundleDirectory, 'upgrade.ps1');
195
- if (existsSync(filePath)) {
196
- return;
197
- }
198
- const metadata = useCLIMetadata();
199
- const res = await fetch(WINDOWS_UPGRADE_SCRIPT_URL, { headers: { 'User-Agent': USER_AGENT } });
200
- if (!res.ok) {
201
- error({
202
- message: [
203
- `Failed to fetch the upgrade script. Please open an issue on https://github.com/apify/apify-cli/issues/new and provide the following information:`,
204
- `- The system you are running on: ${metadata.platform} ${metadata.arch}`,
205
- `- The URL of the asset that failed to fetch: ${WINDOWS_UPGRADE_SCRIPT_URL}`,
206
- `- The status code of the response: ${res.status}`,
207
- ].join('\n'),
208
- });
209
- process.exit(1);
210
- }
211
- const buffer = await res.arrayBuffer();
212
- await writeFile(filePath, Buffer.from(buffer));
213
- cliDebugPrint('[upgrade] downloaded upgrade script to', filePath);
214
- }
215
- async handleUnixUpgrade(bundleDirectory, version, assets) {
216
- const metadata = useCLIMetadata();
217
- for (const asset of assets) {
218
- const cliName = asset.name.split('-')[0];
219
- const filePath = join(bundleDirectory, cliName);
220
- info({ message: `Downloading ${cliName}...` });
221
- const res = await fetch(asset.browser_download_url, { headers: { 'User-Agent': USER_AGENT } });
222
- if (!res.ok) {
223
- const body = await res.text();
224
- cliDebugPrint('[upgrade] failed to fetch asset', { asset, status: res.status, body });
225
- error({
226
- message: [
227
- `Failed to fetch the ${cliName} bundle. Please open an issue on https://github.com/apify/apify-cli/issues/new and provide the following information:`,
228
- `- The version you are trying to upgrade to: ${version}`,
229
- `- The system you are running on: ${metadata.platform} ${metadata.arch}`,
230
- `- The URL of the asset that failed to fetch: ${asset.browser_download_url}`,
231
- `- The status code of the response: ${res.status}`,
232
- `- The body of the response: ${body}`,
233
- ].join('\n'),
234
- });
235
- return;
236
- }
237
- if (process.env.APIFY_CLI_DEBUG && !process.env.APIFY_CLI_FORCE) {
238
- info({ message: `Would write asset ${cliName} to ${filePath}` });
239
- continue;
240
- }
241
- info({ message: chalk.gray(`Writing ${cliName} to ${filePath}...`) });
242
- const buffer = await res.arrayBuffer();
243
- try {
244
- const originalFilePerms = await lstat(filePath)
245
- .then((stat) => stat.mode)
246
- // Default to rwx for current user and rx for group and others
247
- .catch(() => 0o755);
248
- await writeFile(filePath, Buffer.from(buffer), {
249
- // Make the file executable again on unix systems, by always making the current user have rwx
250
- // eslint-disable-next-line no-bitwise -- intentionally using bitwise operators
251
- mode: originalFilePerms | 0o700,
252
- });
253
- cliDebugPrint(`[upgrade ${cliName}] wrote asset to`, filePath);
254
- }
255
- catch (err) {
256
- cliDebugPrint('[upgrade] failed to write asset', { error: err });
257
- error({
258
- message: [
259
- `Failed to write the ${cliName} bundle. Please open an issue on https://github.com/apify/apify-cli/issues/new and provide the following information:`,
260
- `- The version you are trying to upgrade to: ${version}`,
261
- `- The system you are running on: ${metadata.platform} ${metadata.arch}`,
262
- `- The URL of the asset that failed to fetch: ${asset.browser_download_url}`,
263
- `- The error: ${err.message}`,
264
- ].join('\n'),
265
- });
266
- }
267
- }
268
- }
269
- }
270
- //# sourceMappingURL=upgrade.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"upgrade.js","sourceRoot":"","sources":["../../../src/commands/cli-management/upgrade.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAE1C,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAE7B,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,8CAA8C,CAAC;AAC5E,OAAO,EAAE,KAAK,EAAE,MAAM,sCAAsC,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,0BAA0B,EAAsB,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAEnH,OAAO,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAC;AAC7E,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAC3E,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAChF,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAEjE,MAAM,eAAe,GAA6E;IACjG,MAAM,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC,GAAG,UAAU,EAAE,EAAE,SAAS,CAAC;IACvD,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,aAAa,OAAO,EAAE,CAAC;IAClE,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,aAAa,OAAO,EAAE,CAAC;IACpE,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,aAAa,OAAO,EAAE,CAAC;IAClE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,WAAW,CAAC;IAChD,KAAK,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,aAAa,OAAO,EAAE,CAAC;CAChE,CAAC;AAEF,4FAA4F;AAC5F,MAAM,mCAAmC,GAAG,QAAQ,CAAC;AAErD;;;;GAIG;AACH,MAAM,0BAA0B,GAAG,oFAAoF,CAAC;AAExH,MAAM,OAAO,cAAe,SAAQ,YAAmC;IACtE,MAAM,CAAU,IAAI,GAAG,SAAkB,CAAC;IAE1C,MAAM,CAAU,WAAW,GAAG,wDAAwD,CAAC;IAEvF,MAAM,CAAU,MAAM,GAAG,IAAI,CAAC;IAE9B,MAAM,CAAU,OAAO,GAAG,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;IAElD,MAAM,CAAU,KAAK,GAAG;QACvB,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC;YACpB,WAAW,EACV,+GAA+G;YAChH,QAAQ,EAAE,KAAK;YACf,IAAI,EAAE,GAAG;SACT,CAAC;QACF,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC;YACrB,WAAW,EAAE,yFAAyF;YACtG,QAAQ,EAAE,KAAK;SACf,CAAC;QACF,yBAAyB,EAAE,KAAK,CAAC,OAAO,CAAC;YACxC,WAAW,EAAE,8EAA8E;YAC3F,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE,KAAK;SACd,CAAC;KACF,CAAC;IAEF,IAAY,OAAO;QAClB,OAAO,IAAI,CAAC,UAAU,KAAK,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC;IAChE,CAAC;IAED,KAAK,CAAC,GAAG;QACR,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YACxB,MAAM,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC5D,OAAO;QACR,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC1D,MAAM,EAAE,aAAa,EAAE,GAAG,cAAc,EAAE,CAAC;QAE3C,IAAI,CAAC,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,cAAc,KAAK,0BAA0B,EAAE,CAAC;YAClF,2FAA2F;YAC3F,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,qBAAqB,EAAE,CAAC;gBACvC,IAAI,CAAC,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,OAAO,sBAAsB,EAAE,CAAC,CAAC;YAC1D,CAAC;YAED,OAAO;QACR,CAAC;QAED,2FAA2F;QAC3F,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,qBAAqB,EAAE,CAAC;YACvC,MAAM,IAAI,CAAC,4BAA4B,CAAC,QAAQ,CAAC,CAAC;YAClD,OAAO;QACR,CAAC;QAED,MAAM,aAAa,GAAG,eAAe,CAAC,aAAa,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAE1F,SAAS,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;QAE3B,MAAM,OAAO,GAAG;YACf,mCAAmC,IAAI,CAAC,OAAO,sEAAsE;YACrH,gBAAgB,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,mBAAmB;SAC5E,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEb,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,4BAA4B,CAAC,OAAe;QACjD,6GAA6G;QAC7G,IAAI,OAAO,KAAK,QAAQ,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,mCAAmC,CAAC,EAAE,CAAC;YAChF,KAAK,CAAC;gBACL,OAAO,EAAE,2EAA2E,mCAAmC,GAAG;aAC1H,CAAC,CAAC;YAEH,OAAO;QACR,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAEvD,IAAI,CAAC,WAAW,EAAE,CAAC;YAClB,KAAK,CAAC,EAAE,OAAO,EAAE,qFAAqF,EAAE,CAAC,CAAC;YAC1G,OAAO;QACR,CAAC;QAED,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,GAAG,WAAW,CAAC;QAEzD,6EAA6E;QAC7E,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,mCAAmC,CAAC,EAAE,CAAC;YAChE,KAAK,CAAC;gBACL,OAAO,EAAE,2EAA2E,mCAAmC,GAAG;aAC1H,CAAC,CAAC;YACH,OAAO;QACR,CAAC;QAED,MAAM,QAAQ,GAAG,cAAc,EAAE,CAAC;QAElC,IAAI,QAAQ,CAAC,aAAa,KAAK,QAAQ,EAAE,CAAC;YACzC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;gBACpB,KAAK,CAAC;oBACL,OAAO,EAAE;wBACR,kLAAkL;wBAClL,+CAA+C,eAAe,EAAE;wBAChE,oCAAoC,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAE;qBACxE,CAAC,IAAI,CAAC,IAAI,CAAC;iBACZ,CAAC,CAAC;gBACH,OAAO;YACR,CAAC;YAED,MAAM,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAElD,aAAa,CAAC,2BAA2B,EAAE,eAAe,CAAC,CAAC;YAE5D,MAAM,gBAAgB,GAAG,MAAM,OAAO,CAAC,eAAe,CAAC,CAAC;YAExD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;gBAC/F,aAAa,CAAC,4BAA4B,EAAE,gBAAgB,CAAC,CAAC;gBAE9D,KAAK,CAAC;oBACL,OAAO,EAAE;wBACR,0CAA0C,IAAI,CAAC,OAAO,uHAAuH;wBAC7K,+CAA+C,eAAe,EAAE;wBAChE,oCAAoC,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAE;wBACxE,6BAA6B,IAAI,CAAC,OAAO,yBAAyB,eAAe,EAAE;qBACnF,CAAC,IAAI,CAAC,IAAI,CAAC;iBACZ,CAAC,CAAC;gBACH,OAAO;YACR,CAAC;YAED,IAAI,QAAQ,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;gBACrC,OAAO,IAAI,CAAC,mBAAmB,CAAC,eAAe,EAAE,eAAe,EAAE,MAAM,CAAC,CAAC;YAC3E,CAAC;YAED,MAAM,IAAI,CAAC,iBAAiB,CAAC,eAAe,EAAE,eAAe,EAAE,MAAM,CAAC,CAAC;YAEvE,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;YAErC,OAAO;QACR,CAAC;QAED,MAAM,aAAa,GAAG,eAAe,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAExF,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC;YACjC,IAAI,CAAC,EAAE,OAAO,EAAE,sBAAsB,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;YACnE,OAAO;QACR,CAAC;QAED,IAAI,CAAC;YACJ,MAAM,WAAW,CAAC,EAAE,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAE3E,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;QACtC,CAAC;QAAC,MAAM,CAAC;YACR,KAAK,CAAC;gBACL,OAAO,EAAE,yEAAyE,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;aAC3G,CAAC,CAAC;QACJ,CAAC;IACF,CAAC;IAEO,cAAc,CAAC,OAAe;QACrC,OAAO,CAAC,EAAE,OAAO,EAAE,4BAA4B,OAAO,KAAK,EAAE,CAAC,CAAC;IAChE,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAAC,eAAuB,EAAE,OAAe,EAAE,MAAe;QAC1F,wEAAwE;QACxE,MAAM,IAAI,CAAC,mBAAmB,CAAC,eAAe,CAAC,CAAC;QAEhD,oDAAoD;QACpD,MAAM,IAAI,GAAG;YACZ,kBAAkB;YAClB,QAAQ;YACR,OAAO;YACP,IAAI,IAAI,CAAC,eAAe,EAAE,aAAa,CAAC,GAAG;YAC3C,YAAY;YACZ,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE;YACtB,kBAAkB;YAClB,IAAI,eAAe,GAAG;YACtB,UAAU;YACV,IAAI,OAAO,GAAG;SACd,CAAC;QAEF,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEzE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,IAAI,GAAG,CAAC,CAAC;QAEnC,aAAa,CAAC,8CAA8C,EAAE,IAAI,CAAC,CAAC;QAEpE,IAAI,CAAC,EAAE,OAAO,EAAE,6BAA6B,EAAE,CAAC,CAAC;QAEjD,MAAM,cAAc,GAAG,KAAK,CAAC,gBAAgB,EAAE,IAAI,EAAE;YACpD,QAAQ,EAAE,IAAI;YACd,KAAK,EAAE,IAAI;YACX,KAAK,EAAE,SAAS;YAChB,WAAW,EAAE,KAAK;YAClB,wBAAwB,EAAE,IAAI;SAC9B,CAAC,CAAC;QAEH,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YAC/B,aAAa,CAAC,mCAAmC,CAAC,CAAC;YAEnD,cAAc,CAAC,KAAK,EAAE,CAAC;YACvB,iEAAiE;YACjE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACjB,CAAC,CAAC,CAAC;QAEH,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;YAClC,KAAK,CAAC,EAAE,OAAO,EAAE,wCAAwC,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAC3E,CAAC,CAAC,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAAC,eAAuB;QACxD,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC;QAEtD,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC1B,OAAO;QACR,CAAC;QAED,MAAM,QAAQ,GAAG,cAAc,EAAE,CAAC;QAElC,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,0BAA0B,EAAE,EAAE,OAAO,EAAE,EAAE,YAAY,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC;QAE/F,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACb,KAAK,CAAC;gBACL,OAAO,EAAE;oBACR,kJAAkJ;oBAClJ,oCAAoC,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAE;oBACxE,gDAAgD,0BAA0B,EAAE;oBAC5E,sCAAsC,GAAG,CAAC,MAAM,EAAE;iBAClD,CAAC,IAAI,CAAC,IAAI,CAAC;aACZ,CAAC,CAAC;YAEH,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACjB,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,WAAW,EAAE,CAAC;QAEvC,MAAM,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QAE/C,aAAa,CAAC,wCAAwC,EAAE,QAAQ,CAAC,CAAC;IACnE,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAAC,eAAuB,EAAE,OAAe,EAAE,MAAe;QACxF,MAAM,QAAQ,GAAG,cAAc,EAAE,CAAC;QAElC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC5B,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;YAEhD,IAAI,CAAC,EAAE,OAAO,EAAE,eAAe,OAAO,KAAK,EAAE,CAAC,CAAC;YAE/C,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,oBAAoB,EAAE,EAAE,OAAO,EAAE,EAAE,YAAY,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC;YAE/F,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;gBACb,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;gBAE9B,aAAa,CAAC,iCAAiC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;gBAEtF,KAAK,CAAC;oBACL,OAAO,EAAE;wBACR,uBAAuB,OAAO,uHAAuH;wBACrJ,+CAA+C,OAAO,EAAE;wBACxD,oCAAoC,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAE;wBACxE,gDAAgD,KAAK,CAAC,oBAAoB,EAAE;wBAC5E,sCAAsC,GAAG,CAAC,MAAM,EAAE;wBAClD,+BAA+B,IAAI,EAAE;qBACrC,CAAC,IAAI,CAAC,IAAI,CAAC;iBACZ,CAAC,CAAC;gBAEH,OAAO;YACR,CAAC;YAED,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC;gBACjE,IAAI,CAAC,EAAE,OAAO,EAAE,qBAAqB,OAAO,OAAO,QAAQ,EAAE,EAAE,CAAC,CAAC;gBAEjE,SAAS;YACV,CAAC;YAED,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,WAAW,OAAO,OAAO,QAAQ,KAAK,CAAC,EAAE,CAAC,CAAC;YAEtE,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,WAAW,EAAE,CAAC;YAEvC,IAAI,CAAC;gBACJ,MAAM,iBAAiB,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC;qBAC7C,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;oBAC1B,8DAA8D;qBAC7D,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;gBAErB,MAAM,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;oBAC9C,6FAA6F;oBAC7F,+EAA+E;oBAC/E,IAAI,EAAE,iBAAiB,GAAG,KAAK;iBAC/B,CAAC,CAAC;gBAEH,aAAa,CAAC,YAAY,OAAO,kBAAkB,EAAE,QAAQ,CAAC,CAAC;YAChE,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBACnB,aAAa,CAAC,iCAAiC,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;gBAEjE,KAAK,CAAC;oBACL,OAAO,EAAE;wBACR,uBAAuB,OAAO,uHAAuH;wBACrJ,+CAA+C,OAAO,EAAE;wBACxD,oCAAoC,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAE;wBACxE,gDAAgD,KAAK,CAAC,oBAAoB,EAAE;wBAC5E,gBAAgB,GAAG,CAAC,OAAO,EAAE;qBAC7B,CAAC,IAAI,CAAC,IAAI,CAAC;iBACZ,CAAC,CAAC;YACJ,CAAC;QACF,CAAC;IACF,CAAC"}
@@ -1,264 +0,0 @@
1
- import { mkdir, readdir, stat } from 'node:fs/promises';
2
- import { join } from 'node:path';
3
- import process from 'node:process';
4
- import { gte, minVersion } from 'semver';
5
- import { fetchManifest, manifestUrl } from '@apify/actor-templates';
6
- import { ApifyCommand } from '../lib/command-framework/apify-command.js';
7
- import { Args } from '../lib/command-framework/args.js';
8
- import { Flags } from '../lib/command-framework/flags.js';
9
- import { EMPTY_LOCAL_CONFIG, LOCAL_CONFIG_PATH, MINIMUM_SUPPORTED_PYTHON_VERSION, PYTHON_VENV_PATH, SUPPORTED_NODEJS_VERSION, } from '../lib/consts.js';
10
- import { enhanceReadmeWithLocalSuffix, ensureValidActorName, getTemplateDefinition } from '../lib/create-utils.js';
11
- import { execWithLog } from '../lib/exec.js';
12
- import { updateLocalJson } from '../lib/files.js';
13
- import { usePythonRuntime } from '../lib/hooks/runtimes/python.js';
14
- import { ProjectLanguage, useCwdProject } from '../lib/hooks/useCwdProject.js';
15
- import { createPrefilledInputFileFromInputSchema } from '../lib/input_schema.js';
16
- import { error, info, success, warning } from '../lib/outputs.js';
17
- import { downloadAndUnzip, getJsonFileContent, isNodeVersionSupported, isPythonVersionSupported, setLocalConfig, setLocalEnv, } from '../lib/utils.js';
18
- export class CreateCommand extends ApifyCommand {
19
- static name = 'create';
20
- static description = 'Creates an Actor project from a template in a new directory.';
21
- static flags = {
22
- template: Flags.string({
23
- char: 't',
24
- description: 'Template for the Actor. If not provided, the command will prompt for it.\n' +
25
- `Visit ${manifestUrl} to find available template names.`,
26
- required: false,
27
- }),
28
- 'skip-dependency-install': Flags.boolean({
29
- description: 'Skip installing Actor dependencies.',
30
- required: false,
31
- }),
32
- 'template-archive-url': Flags.string({
33
- description: 'Actor template archive url. Useful for developing new templates.',
34
- required: false,
35
- hidden: true,
36
- }),
37
- 'omit-optional-deps': Flags.boolean({
38
- aliases: ['no-optional'],
39
- description: 'Skip installing optional dependencies.',
40
- required: false,
41
- }),
42
- };
43
- static args = {
44
- actorName: Args.string({
45
- required: false,
46
- description: 'Name of the Actor and its directory',
47
- }),
48
- };
49
- async run() {
50
- let { actorName } = this.args;
51
- const { template: templateName, skipDependencyInstall } = this.flags;
52
- // --template-archive-url is an internal, undocumented flag that's used
53
- // for testing of templates that are not yet published in the manifest
54
- let { templateArchiveUrl } = this.flags;
55
- let skipOptionalDeps = false;
56
- // Start fetching manifest immediately to prevent
57
- // annoying delays that sometimes happen on CLI startup.
58
- const manifestPromise = fetchManifest().catch((err) => {
59
- return new Error(`Could not fetch template list from server. Cause: ${err?.message}`);
60
- });
61
- actorName = await ensureValidActorName(actorName);
62
- const cwd = process.cwd();
63
- let actFolderDir = join(cwd, actorName);
64
- while (true) {
65
- const folderExists = await stat(actFolderDir).catch(() => null);
66
- const folderHasFiles = folderExists &&
67
- (await readdir(actFolderDir)
68
- .then((files) => files.length > 0)
69
- .catch(() => false));
70
- if (folderExists?.isDirectory() && folderHasFiles) {
71
- error({
72
- message: `Cannot create new Actor, directory '${actorName}' already exists. Please provide a different name.` +
73
- ' You can use "apify init" to create a local Actor environment inside an existing directory.',
74
- });
75
- actorName = await ensureValidActorName();
76
- actFolderDir = join(cwd, actorName);
77
- continue;
78
- }
79
- // Create Actor directory structure
80
- if (!folderExists) {
81
- await mkdir(actFolderDir, { recursive: true });
82
- }
83
- break;
84
- }
85
- let messages = null;
86
- this.telemetryData.fromArchiveUrl = !!templateArchiveUrl;
87
- if (!templateArchiveUrl) {
88
- const templateDefinition = await getTemplateDefinition(templateName, manifestPromise);
89
- ({ archiveUrl: templateArchiveUrl, messages } = templateDefinition);
90
- this.telemetryData.templateId = templateDefinition.id;
91
- this.telemetryData.templateName = templateDefinition.name;
92
- this.telemetryData.templateLanguage = templateDefinition.category;
93
- // This "exists"
94
- if ('skipOptionalDeps' in templateDefinition) {
95
- skipOptionalDeps = templateDefinition.skipOptionalDeps;
96
- }
97
- }
98
- // Set this _after_ the template is resolved, so that the flag takes precedence
99
- if (this.flags.omitOptionalDeps) {
100
- skipOptionalDeps = true;
101
- }
102
- await downloadAndUnzip({ url: templateArchiveUrl, pathTo: actFolderDir });
103
- // There may be .actor/actor.json file in used template - let's try to load it and change the name prop value to actorName
104
- const localConfig = getJsonFileContent(join(actFolderDir, LOCAL_CONFIG_PATH));
105
- await setLocalConfig(Object.assign(localConfig || EMPTY_LOCAL_CONFIG, { name: actorName }), actFolderDir);
106
- await setLocalEnv(actFolderDir);
107
- // Create prefilled INPUT.json file from the input schema prefills
108
- await createPrefilledInputFileFromInputSchema(actFolderDir);
109
- const packageJsonPath = join(actFolderDir, 'package.json');
110
- const readmePath = join(actFolderDir, 'README.md');
111
- // Add localReadmeSuffix which is fetched from manifest to README.md
112
- // The suffix contains local development instructions
113
- await enhanceReadmeWithLocalSuffix(readmePath, manifestPromise);
114
- let dependenciesInstalled = false;
115
- if (!skipDependencyInstall) {
116
- const cwdProjectResult = await useCwdProject({ cwd: actFolderDir });
117
- await cwdProjectResult.inspectAsync(async (project) => {
118
- const minimumSupportedNodeVersion = minVersion(SUPPORTED_NODEJS_VERSION);
119
- if (!project.runtime) {
120
- switch (project.type) {
121
- case ProjectLanguage.JavaScript: {
122
- warning({
123
- message: `No Node.js detected! Please install Node.js ${minimumSupportedNodeVersion} or higher` +
124
- ' to be able to run Node.js Actors locally.',
125
- });
126
- break;
127
- }
128
- case ProjectLanguage.Scrapy:
129
- case ProjectLanguage.Python: {
130
- warning({
131
- message: `No Python detected! Please install Python ${MINIMUM_SUPPORTED_PYTHON_VERSION} or higher to be able to run Python Actors locally.`,
132
- });
133
- break;
134
- }
135
- default:
136
- // Do nothing
137
- }
138
- return;
139
- }
140
- let { runtime } = project;
141
- switch (project.type) {
142
- case ProjectLanguage.JavaScript: {
143
- if (!isNodeVersionSupported(runtime.version)) {
144
- warning({
145
- message: `You are running Node.js version ${runtime.version}, which is no longer supported. ` +
146
- `Please upgrade to Node.js version ${minimumSupportedNodeVersion} or later.`,
147
- });
148
- }
149
- // If the Actor is a Node.js Actor (has package.json), run `npm install`
150
- await updateLocalJson(packageJsonPath, { name: actorName });
151
- // Run npm install in Actor dir.
152
- // For efficiency, don't install Puppeteer for templates that don't use it
153
- const cmdArgs = ['install'];
154
- if (skipOptionalDeps) {
155
- switch (runtime.pmName) {
156
- case 'npm': {
157
- if (gte(runtime.pmVersion, '7.0.0')) {
158
- cmdArgs.push('--omit=optional');
159
- }
160
- else {
161
- cmdArgs.push('--no-optional');
162
- }
163
- break;
164
- }
165
- case 'bun': {
166
- cmdArgs.push('--omit=optional');
167
- break;
168
- }
169
- case 'deno': {
170
- // We want to make deno use the node_modules dir
171
- cmdArgs.push('--node-modules-dir');
172
- break;
173
- }
174
- default:
175
- // Do nothing
176
- }
177
- }
178
- await execWithLog({
179
- cmd: runtime.pmPath,
180
- args: cmdArgs,
181
- opts: { cwd: actFolderDir },
182
- overrideCommand: runtime.pmName,
183
- });
184
- dependenciesInstalled = true;
185
- break;
186
- }
187
- case ProjectLanguage.Python:
188
- case ProjectLanguage.Scrapy: {
189
- if (!isPythonVersionSupported(runtime.version)) {
190
- warning({
191
- message: `Python Actors require Python 3.9 or higher, but you have Python ${runtime.version}!`,
192
- });
193
- warning({
194
- message: 'Please install Python 3.9 or higher to be able to run Python Actors locally.',
195
- });
196
- return;
197
- }
198
- const venvPath = join(actFolderDir, '.venv');
199
- info({ message: `Python version ${runtime.version} detected.` });
200
- info({
201
- message: `Creating a virtual environment in "${venvPath}" and installing dependencies from "requirements.txt"...`,
202
- });
203
- if (!process.env.VIRTUAL_ENV) {
204
- // If Python is not running in a virtual environment, create a new one
205
- await execWithLog({
206
- cmd: runtime.executablePath,
207
- args: ['-m', 'venv', '--prompt', '.', PYTHON_VENV_PATH],
208
- opts: { cwd: actFolderDir },
209
- });
210
- // regenerate the `pythonCommand` after we create the virtual environment
211
- runtime = (await usePythonRuntime({ cwd: actFolderDir, force: true })).unwrap();
212
- project.runtime = runtime;
213
- }
214
- await execWithLog({
215
- cmd: runtime.executablePath,
216
- args: [
217
- '-m',
218
- 'pip',
219
- 'install',
220
- '--no-cache-dir',
221
- '--no-warn-script-location',
222
- '--upgrade',
223
- 'pip',
224
- 'setuptools',
225
- 'wheel',
226
- ],
227
- opts: { cwd: actFolderDir },
228
- });
229
- await execWithLog({
230
- cmd: runtime.executablePath,
231
- args: [
232
- '-m',
233
- 'pip',
234
- 'install',
235
- '--no-cache-dir',
236
- '--no-warn-script-location',
237
- '-r',
238
- 'requirements.txt',
239
- ],
240
- opts: { cwd: actFolderDir },
241
- });
242
- dependenciesInstalled = true;
243
- break;
244
- }
245
- default:
246
- // Do nothing
247
- }
248
- });
249
- }
250
- if (dependenciesInstalled) {
251
- success({ message: `Actor '${actorName}' was created. To run it, run "cd ${actorName}" and "apify run".` });
252
- info({ message: 'To run your code in the cloud, run "apify push" and deploy your code to Apify Console.' });
253
- if (messages?.postCreate) {
254
- info({ message: messages?.postCreate });
255
- }
256
- }
257
- else {
258
- success({
259
- message: `Actor '${actorName}' was created. Please install its dependencies to be able to run it using "apify run".`,
260
- });
261
- }
262
- }
263
- }
264
- //# sourceMappingURL=create.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"create.js","sourceRoot":"","sources":["../../src/commands/create.ts"],"names":[],"mappings":"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"}
@@ -1,25 +0,0 @@
1
- import { ApifyCommand } from '../../lib/command-framework/apify-command.js';
2
- import { DatasetsCreateCommand } from './create.js';
3
- import { DatasetsGetItems } from './get-items.js';
4
- import { DatasetsInfoCommand } from './info.js';
5
- import { DatasetsLsCommand } from './ls.js';
6
- import { DatasetsPushDataCommand } from './push-items.js';
7
- import { DatasetsRenameCommand } from './rename.js';
8
- import { DatasetsRmCommand } from './rm.js';
9
- export class DatasetsIndexCommand extends ApifyCommand {
10
- static name = 'datasets';
11
- static description = 'Manages structured data storage and retrieval.';
12
- static subcommands = [
13
- DatasetsCreateCommand,
14
- DatasetsGetItems,
15
- DatasetsLsCommand,
16
- DatasetsInfoCommand,
17
- DatasetsRmCommand,
18
- DatasetsRenameCommand,
19
- DatasetsPushDataCommand,
20
- ];
21
- async run() {
22
- this.printHelp();
23
- }
24
- }
25
- //# sourceMappingURL=_index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"_index.js","sourceRoot":"","sources":["../../../src/commands/datasets/_index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,8CAA8C,CAAC;AAC5E,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAE5C,MAAM,OAAO,oBAAqB,SAAQ,YAAyC;IAClF,MAAM,CAAU,IAAI,GAAG,UAAmB,CAAC;IAE3C,MAAM,CAAU,WAAW,GAAG,gDAAgD,CAAC;IAE/E,MAAM,CAAU,WAAW,GAAG;QAC7B,qBAAqB;QACrB,gBAAgB;QAChB,iBAAiB;QACjB,mBAAmB;QACnB,iBAAiB;QACjB,qBAAqB;QACrB,uBAAuB;KACvB,CAAC;IAEF,KAAK,CAAC,GAAG;QACR,IAAI,CAAC,SAAS,EAAE,CAAC;IAClB,CAAC"}