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,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"}
@@ -1,113 +0,0 @@
1
- import { appendFileSync, copyFileSync, createWriteStream, existsSync, mkdirSync, readFileSync, rmSync, writeFileSync, } from 'node:fs';
2
- import { basename, join, relative, sep } from 'node:path';
3
- import { fileURLToPath } from 'node:url';
4
- import rootWalk from '@root/walk';
5
- import ConfigParser from 'configparser';
6
- import Handlebars from 'handlebars';
7
- import inquirer from 'inquirer';
8
- import { fetchManifest, wrapperManifestUrl } from '@apify/actor-templates';
9
- import { info, success } from '../../outputs.js';
10
- import { downloadAndUnzip, sanitizeActorName } from '../../utils.js';
11
- import { ScrapyProjectAnalyzer } from './ScrapyProjectAnalyzer.js';
12
- /**
13
- * Files that should be concatenated instead of copied (and overwritten).
14
- */
15
- const concatenableFiles = ['.dockerignore', '.gitignore'];
16
- const templatePath = fileURLToPath(new URL('./templates/python-scrapy', import.meta.url));
17
- async function merge(fromPath, toPath, options = { bindings: {} }) {
18
- await rootWalk.walk(fromPath, async (_err, pathname, dirent) => {
19
- if (pathname === fromPath)
20
- return;
21
- const relPath = relative(fromPath, pathname);
22
- const toRelPath = relPath
23
- .split(sep)
24
- .map((part) => {
25
- if (part.startsWith('{') && part.endsWith('}')) {
26
- part = part.replace('{', '').replace('}', '');
27
- const binding = options.bindings[part];
28
- if (!binding) {
29
- throw new Error(`Binding for ${part} not found.`);
30
- }
31
- return binding;
32
- }
33
- return part;
34
- })
35
- .join(sep);
36
- const targetPath = join(toPath, toRelPath);
37
- if (dirent.isDirectory()) {
38
- if (!existsSync(targetPath)) {
39
- mkdirSync(targetPath);
40
- }
41
- return merge(pathname, targetPath);
42
- }
43
- if (relPath.includes('.template')) {
44
- writeFileSync(join(toPath, toRelPath.replace('.template', '')), Handlebars.compile(readFileSync(pathname, 'utf8'))(options.bindings));
45
- }
46
- else if (existsSync(targetPath) && concatenableFiles.includes(basename(toRelPath))) {
47
- appendFileSync(targetPath, readFileSync(pathname));
48
- }
49
- else {
50
- copyFileSync(pathname, targetPath);
51
- }
52
- });
53
- }
54
- export async function wrapScrapyProject({ projectPath }) {
55
- if (!projectPath) {
56
- projectPath = '.';
57
- }
58
- const analyzer = new ScrapyProjectAnalyzer(projectPath);
59
- if (analyzer.configuration.hasSection('apify')) {
60
- throw new Error(`The Scrapy project configuration already contains Apify settings. Are you sure you didn't already wrap this project?`);
61
- }
62
- await analyzer.init();
63
- const { spiderIndex } = await inquirer.prompt([
64
- {
65
- type: 'list',
66
- name: 'spiderIndex',
67
- message: 'Pick the Scrapy spider you want to wrap:',
68
- choices: analyzer.getAvailableSpiders().map((spider, i) => ({
69
- name: `${spider.class_name} (${spider.pathname})`,
70
- value: i,
71
- })),
72
- },
73
- ]);
74
- function translatePathToRelativeModuleName(pathname) {
75
- const relPath = relative(projectPath, pathname);
76
- return `.${relPath.split(sep).slice(1).join('.').replace('.py', '')}`;
77
- }
78
- const templateBindings = {
79
- botName: sanitizeActorName(analyzer.settings.BOT_NAME),
80
- scrapy_settings_module: analyzer.configuration.get('settings', 'default'),
81
- apify_module_path: `${analyzer.settings.BOT_NAME}.apify`,
82
- spider_class_name: analyzer.getAvailableSpiders()[spiderIndex].class_name,
83
- spider_module_name: `${translatePathToRelativeModuleName(analyzer.getAvailableSpiders()[spiderIndex].pathname)}`,
84
- projectFolder: analyzer.settings.BOT_NAME,
85
- };
86
- const manifest = await fetchManifest(wrapperManifestUrl);
87
- info({ message: 'Downloading the latest Scrapy wrapper template...' });
88
- const { archiveUrl } = manifest.templates.find(({ id }) => id === 'python-scrapy');
89
- if (existsSync(templatePath))
90
- rmSync(templatePath, { recursive: true });
91
- await downloadAndUnzip({
92
- url: archiveUrl,
93
- pathTo: templatePath,
94
- });
95
- info({ message: 'Wrapping the Scrapy project...' });
96
- await merge(templatePath, projectPath, {
97
- bindings: templateBindings,
98
- });
99
- const apifyConf = new ConfigParser();
100
- apifyConf.addSection('apify');
101
- apifyConf.set('apify', 'mainpy_location', analyzer.settings.BOT_NAME);
102
- const s = createWriteStream(join(projectPath, 'scrapy.cfg'), { flags: 'a' });
103
- await new Promise((r) => {
104
- s.on('open', (fd) => {
105
- s.write('\n', () => {
106
- apifyConf.write(fd);
107
- r();
108
- });
109
- });
110
- });
111
- success({ message: 'The Scrapy project has been wrapped successfully.' });
112
- }
113
- //# sourceMappingURL=wrapScrapyProject.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"wrapScrapyProject.js","sourceRoot":"","sources":["../../../../src/lib/projects/scrapy/wrapScrapyProject.ts"],"names":[],"mappings":"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"}
@@ -1,13 +0,0 @@
1
- export const CRAWLEE_PACKAGES = [
2
- 'crawlee',
3
- '@crawlee/core',
4
- '@crawlee/puppeteer',
5
- '@crawlee/playwright',
6
- '@crawlee/cheerio',
7
- '@crawlee/jsdom',
8
- '@crawlee/linkedom',
9
- '@crawlee/http',
10
- '@crawlee/browser',
11
- '@crawlee/basic',
12
- ];
13
- //# sourceMappingURL=shared.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../src/lib/projects/shared.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC/B,SAAS;IACT,eAAe;IACf,oBAAoB;IACpB,qBAAqB;IACrB,kBAAkB;IAClB,gBAAgB;IAChB,mBAAmB;IACnB,eAAe;IACf,kBAAkB;IAClB,gBAAgB;CAChB,CAAC"}