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,103 +0,0 @@
1
- import { none, some } from '@sapphire/result';
2
- import { execa } from 'execa';
3
- import { cliDebugPrint } from '../utils/cliDebugPrint.js';
4
- import { ProjectLanguage } from './useCwdProject.js';
5
- const jsScript = (mod) => `
6
- (async () => {
7
- const [nodeModule, process, path, fs] = await Promise.all([
8
- import('node:module'),
9
- import('node:process'),
10
- import('node:path'),
11
- import('node:fs/promises'),
12
- ]);
13
-
14
- /* we fake a script file here because otherwise node AND deno will fail to resolve modules, but bun works -.- */
15
- const dirname = path.join(process.cwd(), '__apify_cli_fetch_module_version__.js');
16
-
17
- const _require = nodeModule.createRequire(dirname);
18
-
19
- try {
20
- const modulePath = _require.resolve('${mod}');
21
- const moduleDir = path.dirname(modulePath);
22
-
23
- const packageJson = await fs.readFile(path.join(moduleDir, 'package.json'), 'utf8').catch(() => null);
24
-
25
- if (!packageJson) {
26
- console.log('n/a');
27
- return;
28
- }
29
-
30
- const packageJsonObj = JSON.parse(packageJson);
31
- console.log(packageJsonObj.version);
32
- } catch {
33
- console.log('n/a');
34
- }
35
- })();
36
- `
37
- .replaceAll('\n', ' ')
38
- .replaceAll('\t', ' ');
39
- const pyScript = (mod) => `
40
- try:
41
- import ${mod}
42
- print(${mod}.__version__)
43
- except:
44
- print('n/a')
45
- `;
46
- const moduleVersionScripts = {
47
- node(mod) {
48
- const script = jsScript(mod);
49
- return ['-e', `"${script}"`];
50
- },
51
- deno(mod) {
52
- const script = jsScript(mod);
53
- return ['eval', `"${script}"`];
54
- },
55
- bun(mod) {
56
- const script = jsScript(mod);
57
- return ['--eval', `"${script}"`];
58
- },
59
- python(mod) {
60
- const script = pyScript(mod);
61
- return ['-c', `"${script}"`];
62
- },
63
- };
64
- export async function useModuleVersion({ moduleName, project }) {
65
- if (!project.runtime) {
66
- cliDebugPrint('useModuleVersion', { status: 'no_runtime_found', project, moduleName });
67
- return none;
68
- }
69
- let moduleVersionScriptKey;
70
- if (project.type === ProjectLanguage.JavaScript) {
71
- moduleVersionScriptKey = project.runtime.runtimeShorthand || 'node';
72
- }
73
- else if (project.type === ProjectLanguage.Python || project.type === ProjectLanguage.Scrapy) {
74
- moduleVersionScriptKey = 'python';
75
- }
76
- else {
77
- cliDebugPrint('useModuleVersion', { status: 'unsupported_project_type', project, moduleName });
78
- return none;
79
- }
80
- const args = moduleVersionScripts[moduleVersionScriptKey]?.(moduleName);
81
- if (!args) {
82
- cliDebugPrint('useModuleVersion', { status: 'no_version_script_found', project, moduleName });
83
- return none;
84
- }
85
- try {
86
- const result = await execa(project.runtime.executablePath, args, {
87
- shell: true,
88
- windowsHide: true,
89
- verbose: process.env.APIFY_CLI_DEBUG ? 'full' : undefined,
90
- });
91
- if (result.stdout.trim() === 'n/a') {
92
- cliDebugPrint('useModuleVersion', { status: 'no_version_found', project, moduleName });
93
- return none;
94
- }
95
- cliDebugPrint('useModuleVersion', { status: 'success', project, moduleName, version: result.stdout.trim() });
96
- return some(result.stdout.trim());
97
- }
98
- catch (ex) {
99
- cliDebugPrint('useModuleVersion', { status: 'failed_to_run_version_script', project, moduleName, error: ex });
100
- return none;
101
- }
102
- }
103
- //# sourceMappingURL=useModuleVersion.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useModuleVersion.js","sourceRoot":"","sources":["../../../src/lib/hooks/useModuleVersion.ts"],"names":[],"mappings":"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"}
@@ -1,65 +0,0 @@
1
- import { constants, fstat as fstat_ } from 'node:fs';
2
- import process from 'node:process';
3
- import { promisify } from 'node:util';
4
- import { cliDebugPrint } from '../utils/cliDebugPrint.js';
5
- const fstat = promisify(fstat_);
6
- let cachedStdinState;
7
- export async function useStdin() {
8
- if (cachedStdinState) {
9
- return cachedStdinState;
10
- }
11
- const stdinStream = process.stdin;
12
- // The best showcase of what this does: https://stackoverflow.com/a/59024214
13
- const state = {
14
- isTTY: stdinStream.isTTY,
15
- hasData: false,
16
- waitDelay: 0,
17
- stream: stdinStream,
18
- };
19
- // TODO: use os.guessFileDescriptorType instead once https://github.com/nodejs/node/pull/58060 lands in our supported node versions
20
- const pipedIn = await fstat(0)
21
- .then((stat) => {
22
- cliDebugPrint('useStdin', {
23
- stat,
24
- isRegularFile: stat.isFile(),
25
- isDirectory: stat.isDirectory(),
26
- isBlockDevice: stat.isBlockDevice(),
27
- isCharDevice: stat.isCharacterDevice(),
28
- isSymbolicLink: stat.isSymbolicLink(),
29
- isFIFO: stat.isFIFO(),
30
- isSocket: stat.isSocket(),
31
- });
32
- // Right now, Windows always returns false for isFIFO, so we have to check for that manually
33
- // Windows might also wrongly return the mode for this, who knows!
34
- // TODO: https://github.com/nodejs/node/issues/57603
35
- if (process.platform === 'win32') {
36
- // eslint-disable-next-line no-bitwise
37
- if ((stat.mode & constants.S_IFIFO) === constants.S_IFIFO) {
38
- return 100;
39
- }
40
- // In node 18, for some reason this returns true for vitest, and thus always hangs.
41
- if (stat.isFile()) {
42
- return 50;
43
- }
44
- }
45
- // isFIFO -> `node a | node b`
46
- // isFile -> `node a < file`
47
- // isSocket -> child processes (I think) [but we set a timeout of 50ms to avoid hanging]
48
- return stat.isFIFO() || stat.isFile() || (stat.isSocket() ? 50 : false);
49
- })
50
- .catch(() => false);
51
- cliDebugPrint('useStdin', { isTTY: state.isTTY, pipedIn, readableEnded: stdinStream.readableEnded });
52
- // The isTTY params will be true if there is no piping into stdin
53
- // pipedIn is set if someone either runs `node a | node b`, or `node a < file`
54
- // if that is the case, isTTY will be undefined (???)
55
- // readableEnded is a catch all for when the stream is closed
56
- if (!stdinStream.isTTY || (pipedIn !== false && (stdinStream.isTTY !== undefined || !stdinStream.readableEnded))) {
57
- state.hasData = true;
58
- }
59
- if (typeof pipedIn === 'number') {
60
- state.waitDelay = pipedIn;
61
- }
62
- cachedStdinState = state;
63
- return state;
64
- }
65
- //# sourceMappingURL=useStdin.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useStdin.js","sourceRoot":"","sources":["../../../src/lib/hooks/useStdin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,IAAI,MAAM,EAAE,MAAM,SAAS,CAAC;AACrD,OAAO,OAAO,MAAM,cAAc,CAAC;AACnC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE1D,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;AAShC,IAAI,gBAAwC,CAAC;AAE7C,MAAM,CAAC,KAAK,UAAU,QAAQ;IAC7B,IAAI,gBAAgB,EAAE,CAAC;QACtB,OAAO,gBAAgB,CAAC;IACzB,CAAC;IAED,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC;IAElC,4EAA4E;IAC5E,MAAM,KAAK,GAAe;QACzB,KAAK,EAAE,WAAW,CAAC,KAAK;QACxB,OAAO,EAAE,KAAK;QACd,SAAS,EAAE,CAAC;QACZ,MAAM,EAAE,WAAW;KACnB,CAAC;IAEF,mIAAmI;IAEnI,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,CAAC,CAAC;SAC5B,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;QACd,aAAa,CAAC,UAAU,EAAE;YACzB,IAAI;YACJ,aAAa,EAAE,IAAI,CAAC,MAAM,EAAE;YAC5B,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE;YAC/B,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE;YACnC,YAAY,EAAE,IAAI,CAAC,iBAAiB,EAAE;YACtC,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE;YACrC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE;YACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE;SACzB,CAAC,CAAC;QAEH,4FAA4F;QAC5F,kEAAkE;QAClE,oDAAoD;QACpD,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;YAClC,sCAAsC;YACtC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC,KAAK,SAAS,CAAC,OAAO,EAAE,CAAC;gBAC3D,OAAO,GAAG,CAAC;YACZ,CAAC;YAED,mFAAmF;YACnF,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;gBACnB,OAAO,EAAE,CAAC;YACX,CAAC;QACF,CAAC;QAED,8BAA8B;QAC9B,4BAA4B;QAC5B,wFAAwF;QACxF,OAAO,IAAI,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACzE,CAAC,CAAC;SACD,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;IAErB,aAAa,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,WAAW,CAAC,aAAa,EAAE,CAAC,CAAC;IAErG,iEAAiE;IACjE,8EAA8E;IAC9E,qDAAqD;IACrD,6DAA6D;IAC7D,IAAI,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC,OAAO,KAAK,KAAK,IAAI,CAAC,WAAW,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC;QAClH,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;IACtB,CAAC;IAED,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QACjC,KAAK,CAAC,SAAS,GAAG,OAAO,CAAC;IAC3B,CAAC;IAED,gBAAgB,GAAG,KAAK,CAAC;IAEzB,OAAO,KAAK,CAAC;AACd,CAAC"}
@@ -1,130 +0,0 @@
1
- import { existsSync, writeFileSync } from 'node:fs';
2
- import { join } from 'node:path';
3
- import process from 'node:process';
4
- import deepClone from 'lodash.clonedeep';
5
- import { KEY_VALUE_STORE_KEYS } from '@apify/consts';
6
- import { validateInputSchema } from '@apify/input_schema';
7
- import { ACTOR_SPECIFICATION_FOLDER } from './consts.js';
8
- import { warning } from './outputs.js';
9
- import { Ajv2019, getJsonFileContent, getLocalConfig, getLocalKeyValueStorePath } from './utils.js';
10
- const DEFAULT_INPUT_SCHEMA_PATHS = [
11
- '.actor/INPUT_SCHEMA.json',
12
- './INPUT_SCHEMA.json',
13
- '.actor/input_schema.json',
14
- './input_schema.json',
15
- ];
16
- /**
17
- * Return the input schema from the default location.
18
- *
19
- * When the input schema does not exist, null is returned for schema.
20
- * In such a case, path would be set to the location
21
- * where the input schema would be expected to be found (and e.g. can be created there).
22
- */
23
- export const readInputSchema = async ({ forcePath, cwd } = { cwd: process.cwd() }) => {
24
- if (forcePath) {
25
- return {
26
- inputSchema: getJsonFileContent(forcePath),
27
- inputSchemaPath: forcePath,
28
- };
29
- }
30
- const localConfig = getLocalConfig(cwd);
31
- if (typeof localConfig?.input === 'object') {
32
- return {
33
- inputSchema: localConfig.input,
34
- inputSchemaPath: null,
35
- };
36
- }
37
- if (typeof localConfig?.input === 'string') {
38
- const fullPath = join(cwd, ACTOR_SPECIFICATION_FOLDER, localConfig.input);
39
- return {
40
- inputSchema: getJsonFileContent(fullPath),
41
- inputSchemaPath: fullPath,
42
- };
43
- }
44
- for (const path of DEFAULT_INPUT_SCHEMA_PATHS) {
45
- const fullPath = join(cwd, path);
46
- if (existsSync(fullPath)) {
47
- return {
48
- inputSchema: getJsonFileContent(fullPath),
49
- inputSchemaPath: fullPath,
50
- };
51
- }
52
- }
53
- // If not input schema has been found so far, return the first default path
54
- // where the input schema would be expected.
55
- return {
56
- inputSchema: null,
57
- inputSchemaPath: join(cwd, DEFAULT_INPUT_SCHEMA_PATHS[0]),
58
- };
59
- };
60
- /**
61
- * Goes to the Actor directory and creates INPUT.json file from the input schema prefills.
62
-
63
- */
64
- export const createPrefilledInputFileFromInputSchema = async (actorFolderDir) => {
65
- let inputFile = {};
66
- try {
67
- const { inputSchema } = await readInputSchema({ cwd: actorFolderDir });
68
- if (inputSchema) {
69
- /**
70
- * TODO: The logic is copied from @apify-packages/actor -> getPrefillFromInputSchema
71
- * It is not possible to install the package here because it is private
72
- * We should move it to @apify/input_schema and use it from there.
73
- */
74
- const validator = new Ajv2019({ strict: false });
75
- validateInputSchema(validator, inputSchema);
76
- // inputFile = _.mapObject(inputSchema.properties as any, (fieldSchema) =>
77
- // fieldSchema.type === 'boolean' || fieldSchema.editor === 'hidden'
78
- // ? fieldSchema.default
79
- // : fieldSchema.prefill,
80
- // );
81
- inputFile = Object.entries(inputSchema.properties).reduce((acc, [key, fieldSchema]) => {
82
- acc[key] =
83
- fieldSchema.type === 'boolean' || fieldSchema.editor === 'hidden'
84
- ? fieldSchema.default
85
- : fieldSchema.prefill;
86
- return acc;
87
- }, {});
88
- }
89
- }
90
- catch (err) {
91
- warning({
92
- message: `Could not create default input based on input schema, creating empty input instead. Cause: ${err.message}`,
93
- });
94
- }
95
- finally {
96
- const keyValueStorePath = getLocalKeyValueStorePath();
97
- const inputJsonPath = join(actorFolderDir, keyValueStorePath, `${KEY_VALUE_STORE_KEYS.INPUT}.json`);
98
- writeFileSync(inputJsonPath, JSON.stringify(inputFile, null, '\t'));
99
- }
100
- };
101
- export const getDefaultsFromInputSchema = (inputSchema) => {
102
- const defaults = {};
103
- for (const [key, fieldSchema] of Object.entries(inputSchema.properties)) {
104
- if (fieldSchema.default !== undefined) {
105
- defaults[key] = fieldSchema.default;
106
- }
107
- }
108
- return defaults;
109
- };
110
- // Lots of code copied from @apify-packages/actor, this really should be moved to the shared input_schema package
111
- export const getAjvValidator = (inputSchema, ajvInstance) => {
112
- const copyOfSchema = deepClone(inputSchema);
113
- copyOfSchema.required = [];
114
- for (const [inputSchemaFieldKey, inputSchemaField] of Object.entries(inputSchema.properties)) {
115
- // `required` field doesn't need to be present in input schema
116
- const isRequired = inputSchema.required?.includes(inputSchemaFieldKey);
117
- const hasDefault = inputSchemaField.default !== undefined;
118
- if (isRequired && !hasDefault) {
119
- // If field is required but has default, we act like it's optional because we always have value to use
120
- copyOfSchema.required.push(inputSchemaFieldKey);
121
- if (inputSchemaField.type === 'array') {
122
- // If array is required, it has to have at least 1 item.
123
- inputSchemaField.minItems = Math.max(1, inputSchemaField.minItems || 0);
124
- }
125
- }
126
- }
127
- delete copyOfSchema.$schema;
128
- return ajvInstance.compile(copyOfSchema);
129
- };
130
- //# sourceMappingURL=input_schema.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"input_schema.js","sourceRoot":"","sources":["../../src/lib/input_schema.ts"],"names":[],"mappings":"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"}
@@ -1,45 +0,0 @@
1
- import chalk from 'chalk';
2
- function internalLog(options) {
3
- if (options.stdoutOutput) {
4
- console.log(...options.stdoutOutput);
5
- }
6
- if (options.stderrOutput) {
7
- console.error(...options.stderrOutput);
8
- }
9
- }
10
- export function simpleLog(options) {
11
- internalLog({
12
- [options.stdout ? 'stdoutOutput' : 'stderrOutput']: [options.message],
13
- });
14
- }
15
- export function error(options) {
16
- internalLog({
17
- [options.stdout ? 'stdoutOutput' : 'stderrOutput']: [chalk.red('Error:'), options.message],
18
- });
19
- }
20
- export function warning(options) {
21
- internalLog({
22
- [options.stdout ? 'stdoutOutput' : 'stderrOutput']: [chalk.yellow.bold('Warning:'), options.message],
23
- });
24
- }
25
- export function success(options) {
26
- internalLog({
27
- [options.stdout ? 'stdoutOutput' : 'stderrOutput']: [chalk.green('Success:'), options.message],
28
- });
29
- }
30
- export function run(options) {
31
- internalLog({
32
- [options.stdout ? 'stdoutOutput' : 'stderrOutput']: [chalk.gray('Run:'), options.message],
33
- });
34
- }
35
- export function info(options) {
36
- internalLog({
37
- [options.stdout ? 'stdoutOutput' : 'stderrOutput']: [chalk.white('Info:'), options.message],
38
- });
39
- }
40
- export function link(options) {
41
- internalLog({
42
- [options.stdout ? 'stdoutOutput' : 'stderrOutput']: [chalk.blue(options.message), options.url],
43
- });
44
- }
45
- //# sourceMappingURL=outputs.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"outputs.js","sourceRoot":"","sources":["../../src/lib/outputs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAO1B,SAAS,WAAW,CAAC,OAAmB;IACvC,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IACtC,CAAC;IAED,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;QAC1B,OAAO,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IACxC,CAAC;AACF,CAAC;AAOD,MAAM,UAAU,SAAS,CAAC,OAAyB;IAClD,WAAW,CAAC;QACX,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC;KACrE,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,OAAyB;IAC9C,WAAW,CAAC;QACX,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC;KAC1F,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,OAAyB;IAChD,WAAW,CAAC;QACX,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC;KACpG,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,OAAyB;IAChD,WAAW,CAAC;QACX,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC;KAC9F,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,GAAG,CAAC,OAAyB;IAC5C,WAAW,CAAC;QACX,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC;KACzF,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,IAAI,CAAC,OAAyB;IAC7C,WAAW,CAAC;QACX,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC;KAC3F,CAAC,CAAC;AACJ,CAAC;AAMD,MAAM,UAAU,IAAI,CAAC,OAA0B;IAC9C,WAAW,CAAC;QACX,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC;KAC9F,CAAC,CAAC;AACJ,CAAC"}
@@ -1,30 +0,0 @@
1
- import { PROJECT_TYPES } from './consts.js';
2
- import { CrawleeAnalyzer } from './projects/CrawleeAnalyzer.js';
3
- import { OldApifySDKAnalyzer } from './projects/OldApifySDKAnalyzer.js';
4
- import { ScrapyProjectAnalyzer } from './projects/scrapy/ScrapyProjectAnalyzer.js';
5
- const analyzers = [
6
- {
7
- type: PROJECT_TYPES.SCRAPY,
8
- analyzer: ScrapyProjectAnalyzer,
9
- },
10
- {
11
- type: PROJECT_TYPES.CRAWLEE,
12
- analyzer: CrawleeAnalyzer,
13
- },
14
- {
15
- type: PROJECT_TYPES.PRE_CRAWLEE_APIFY_SDK,
16
- analyzer: OldApifySDKAnalyzer,
17
- },
18
- ];
19
- export class ProjectAnalyzer {
20
- static getProjectType(pathname) {
21
- const analyzer = analyzers.find((a) => {
22
- if (!a.analyzer.isApplicable) {
23
- throw new Error(`Analyzer ${a.analyzer} does not have isApplicable method.`);
24
- }
25
- return a.analyzer.isApplicable(pathname);
26
- });
27
- return analyzer?.type || PROJECT_TYPES.UNKNOWN;
28
- }
29
- }
30
- //# sourceMappingURL=project_analyzer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"project_analyzer.js","sourceRoot":"","sources":["../../src/lib/project_analyzer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4CAA4C,CAAC;AAUnF,MAAM,SAAS,GAA0B;IACxC;QACC,IAAI,EAAE,aAAa,CAAC,MAAM;QAC1B,QAAQ,EAAE,qBAAqB;KAC/B;IACD;QACC,IAAI,EAAE,aAAa,CAAC,OAAO;QAC3B,QAAQ,EAAE,eAAe;KACzB;IACD;QACC,IAAI,EAAE,aAAa,CAAC,qBAAqB;QACzC,QAAQ,EAAE,mBAAmB;KAC7B;CACD,CAAC;AAEF,MAAM,OAAO,eAAe;IAC3B,MAAM,CAAC,cAAc,CAAC,QAAgB;QACrC,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;YACrC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;gBAC9B,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC,QAAQ,qCAAqC,CAAC,CAAC;YAC9E,CAAC;YAED,OAAO,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;QAEH,OAAO,QAAQ,EAAE,IAAI,IAAI,aAAa,CAAC,OAAO,CAAC;IAChD,CAAC;CACD"}
@@ -1,20 +0,0 @@
1
- import { existsSync, readFileSync } from 'node:fs';
2
- import { join } from 'node:path';
3
- import { CRAWLEE_PACKAGES } from './shared.js';
4
- export class CrawleeAnalyzer {
5
- static isApplicable(pathname) {
6
- const hasPackageJson = existsSync(join(pathname, 'package.json'));
7
- if (!hasPackageJson) {
8
- return false;
9
- }
10
- const packageJson = readFileSync(join(pathname, 'package.json'), 'utf8');
11
- try {
12
- const packageJsonParsed = JSON.parse(packageJson);
13
- return CRAWLEE_PACKAGES.some((pkg) => packageJsonParsed?.dependencies?.[pkg] !== undefined);
14
- }
15
- catch {
16
- return false;
17
- }
18
- }
19
- }
20
- //# sourceMappingURL=CrawleeAnalyzer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CrawleeAnalyzer.js","sourceRoot":"","sources":["../../../src/lib/projects/CrawleeAnalyzer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE/C,MAAM,OAAO,eAAe;IAC3B,MAAM,CAAC,YAAY,CAAC,QAAgB;QACnC,MAAM,cAAc,GAAG,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC;QAElE,IAAI,CAAC,cAAc,EAAE,CAAC;YACrB,OAAO,KAAK,CAAC;QACd,CAAC;QAED,MAAM,WAAW,GAAG,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CAAC;QAEzE,IAAI,CAAC;YACJ,MAAM,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;YAElD,OAAO,gBAAgB,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,iBAAiB,EAAE,YAAY,EAAE,CAAC,GAAG,CAAC,KAAK,SAAS,CAAC,CAAC;QAC7F,CAAC;QAAC,MAAM,CAAC;YACR,OAAO,KAAK,CAAC;QACd,CAAC;IACF,CAAC;CACD"}
@@ -1,38 +0,0 @@
1
- import { existsSync, readFileSync } from 'node:fs';
2
- import { join } from 'node:path';
3
- import { lt } from 'semver';
4
- import { CRAWLEE_PACKAGES } from './shared.js';
5
- const VERSION_WHEN_APIFY_MOVED_TO_CRAWLEE = '3.0.0';
6
- export class OldApifySDKAnalyzer {
7
- static isApplicable(pathname) {
8
- const hasPackageJson = existsSync(join(pathname, 'package.json'));
9
- if (!hasPackageJson) {
10
- return false;
11
- }
12
- const packageJson = readFileSync(join(pathname, 'package.json'), 'utf8');
13
- try {
14
- const packageJsonParsed = JSON.parse(packageJson);
15
- // If they have crawlee as a dependency, likely to use crawlee
16
- if (CRAWLEE_PACKAGES.some((pkg) => packageJsonParsed?.dependencies?.[pkg] !== undefined)) {
17
- return false;
18
- }
19
- const apifyVersion = packageJsonParsed?.dependencies?.apify;
20
- if (!apifyVersion) {
21
- return false;
22
- }
23
- // We cannot infer/crawlee v3
24
- if (apifyVersion === '*') {
25
- return false;
26
- }
27
- let actualVersion = apifyVersion;
28
- if (apifyVersion.startsWith('~') || apifyVersion.startsWith('^')) {
29
- actualVersion = apifyVersion.slice(1);
30
- }
31
- return lt(actualVersion, VERSION_WHEN_APIFY_MOVED_TO_CRAWLEE);
32
- }
33
- catch {
34
- return false;
35
- }
36
- }
37
- }
38
- //# sourceMappingURL=OldApifySDKAnalyzer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"OldApifySDKAnalyzer.js","sourceRoot":"","sources":["../../../src/lib/projects/OldApifySDKAnalyzer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAE5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE/C,MAAM,mCAAmC,GAAG,OAAO,CAAC;AAEpD,MAAM,OAAO,mBAAmB;IAC/B,MAAM,CAAC,YAAY,CAAC,QAAgB;QACnC,MAAM,cAAc,GAAG,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC;QAElE,IAAI,CAAC,cAAc,EAAE,CAAC;YACrB,OAAO,KAAK,CAAC;QACd,CAAC;QAED,MAAM,WAAW,GAAG,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CAAC;QAEzE,IAAI,CAAC;YACJ,MAAM,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;YAElD,8DAA8D;YAC9D,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,iBAAiB,EAAE,YAAY,EAAE,CAAC,GAAG,CAAC,KAAK,SAAS,CAAC,EAAE,CAAC;gBAC1F,OAAO,KAAK,CAAC;YACd,CAAC;YAED,MAAM,YAAY,GAAG,iBAAiB,EAAE,YAAY,EAAE,KAAK,CAAC;YAC5D,IAAI,CAAC,YAAY,EAAE,CAAC;gBACnB,OAAO,KAAK,CAAC;YACd,CAAC;YAED,6BAA6B;YAC7B,IAAI,YAAY,KAAK,GAAG,EAAE,CAAC;gBAC1B,OAAO,KAAK,CAAC;YACd,CAAC;YAED,IAAI,aAAa,GAAG,YAAY,CAAC;YAEjC,IAAI,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBAClE,aAAa,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACvC,CAAC;YAED,OAAO,EAAE,CAAC,aAAa,EAAE,mCAAmC,CAAC,CAAC;QAC/D,CAAC;QAAC,MAAM,CAAC;YACR,OAAO,KAAK,CAAC;QACd,CAAC;IACF,CAAC;CACD"}
@@ -1,73 +0,0 @@
1
- import { existsSync, readdirSync } from 'node:fs';
2
- import { join, resolve } from 'node:path';
3
- import ConfigParser from 'configparser';
4
- import inquirer from 'inquirer';
5
- import { SpiderFileAnalyzer } from './SpiderFileAnalyzer.js';
6
- export class ScrapyProjectAnalyzer {
7
- pathname;
8
- configuration = null;
9
- settings = null;
10
- constructor(pathname) {
11
- this.pathname = pathname;
12
- this.settings = null;
13
- this.loadScrapyCfg();
14
- }
15
- static isApplicable(pathname) {
16
- return existsSync(join(pathname, 'scrapy.cfg'));
17
- }
18
- async init() {
19
- await this.loadSettings();
20
- }
21
- loadScrapyCfg() {
22
- const config = new ConfigParser();
23
- const scrapyCfgPath = resolve(join(this.pathname, 'scrapy.cfg'));
24
- if (!existsSync(scrapyCfgPath)) {
25
- throw new Error(`scrapy.cfg not found in "${scrapyCfgPath}".
26
- Are you sure there is a Scrapy project there?`);
27
- }
28
- config.read(scrapyCfgPath);
29
- this.configuration = config;
30
- }
31
- async loadSettings() {
32
- const assumedBotName = this.configuration.get('settings', 'default').split('.')[0];
33
- const settings = await inquirer.prompt([
34
- {
35
- type: 'input',
36
- name: 'BOT_NAME',
37
- message: 'Enter the Scrapy BOT_NAME (see settings.py):',
38
- default: assumedBotName,
39
- },
40
- {
41
- type: 'input',
42
- name: 'SPIDER_MODULES',
43
- message: 'What folder are the Scrapy spider modules stored in? (see SPIDER_MODULES in settings.py):',
44
- default: `${assumedBotName}.spiders`,
45
- },
46
- ]);
47
- this.settings = {
48
- BOT_NAME: settings.BOT_NAME,
49
- SPIDER_MODULES: typeof settings.SPIDER_MODULES === 'string' ? [settings.SPIDER_MODULES] : settings.SPIDER_MODULES,
50
- };
51
- }
52
- getName() {
53
- return this.settings?.BOT_NAME;
54
- }
55
- getAvailableSpiders() {
56
- const spiderPaths = this.settings?.SPIDER_MODULES;
57
- if (!spiderPaths) {
58
- throw new Error('SPIDER_MODULES path not found in settings.');
59
- }
60
- const spiders = [];
61
- for (const spiderPath of spiderPaths) {
62
- const spidersDir = join(this.pathname, spiderPath.replaceAll('.', '/'));
63
- const files = readdirSync(spidersDir, { withFileTypes: true });
64
- for (const file of files) {
65
- if (file.isFile() && file.name.endsWith('.py') && file.name !== '__init__.py') {
66
- spiders.push(...new SpiderFileAnalyzer(join(spidersDir, file.name)).getSpiders());
67
- }
68
- }
69
- }
70
- return spiders;
71
- }
72
- }
73
- //# sourceMappingURL=ScrapyProjectAnalyzer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ScrapyProjectAnalyzer.js","sourceRoot":"","sources":["../../../../src/lib/projects/scrapy/ScrapyProjectAnalyzer.ts"],"names":[],"mappings":"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"}
@@ -1,13 +0,0 @@
1
- export class Spider {
2
- name;
3
- class_name;
4
- start_urls;
5
- pathname;
6
- constructor(data) {
7
- this.name = data.name;
8
- this.class_name = data.class_name;
9
- this.start_urls = data.start_urls;
10
- this.pathname = data.pathname;
11
- }
12
- }
13
- //# sourceMappingURL=Spider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Spider.js","sourceRoot":"","sources":["../../../../src/lib/projects/scrapy/Spider.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,MAAM;IAClB,IAAI,CAAU;IACd,UAAU,CAAS;IACnB,UAAU,CAAU;IACpB,QAAQ,CAAS;IAEjB,YAAY,IAAgB;QAC3B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QAClC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QAClC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IAC/B,CAAC;CACD"}
@@ -1,20 +0,0 @@
1
- import { readFileSync } from 'node:fs';
2
- import { Spider } from './Spider.js';
3
- export class SpiderFileAnalyzer {
4
- pathname;
5
- constructor(pathname) {
6
- this.pathname = pathname;
7
- }
8
- getSpiders() {
9
- const file = readFileSync(this.pathname, 'utf8');
10
- const regex = /class\s+(\w+)/g;
11
- const spiders = [];
12
- let match = regex.exec(file);
13
- while (match) {
14
- spiders.push(new Spider({ class_name: match[1], pathname: this.pathname }));
15
- match = regex.exec(file);
16
- }
17
- return spiders;
18
- }
19
- }
20
- //# sourceMappingURL=SpiderFileAnalyzer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SpiderFileAnalyzer.js","sourceRoot":"","sources":["../../../../src/lib/projects/scrapy/SpiderFileAnalyzer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,MAAM,OAAO,kBAAkB;IAC9B,QAAQ,CAAS;IAEjB,YAAY,QAAgB;QAC3B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC1B,CAAC;IAED,UAAU;QACT,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAEjD,MAAM,KAAK,GAAG,gBAAgB,CAAC;QAC/B,MAAM,OAAO,GAAG,EAAE,CAAC;QAEnB,IAAI,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7B,OAAO,KAAK,EAAE,CAAC;YACd,OAAO,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;YAC5E,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO,OAAO,CAAC;IAChB,CAAC;CACD"}