apify-cli 1.0.0 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (225) hide show
  1. package/CHANGELOG.md +236 -84
  2. package/LICENSE.md +201 -0
  3. package/README.md +49 -543
  4. package/dist/.tsbuildinfo +1 -1
  5. package/dist/actor.js +3 -0
  6. package/dist/actor.js.map +1 -0
  7. package/dist/apify.js +3 -0
  8. package/dist/apify.js.map +1 -0
  9. package/dist/chunk-TJMCNXPV.js +242 -0
  10. package/dist/chunk-TJMCNXPV.js.map +1 -0
  11. package/dist/index.js +2 -3
  12. package/package.json +113 -89
  13. package/bin/dev.cmd +0 -3
  14. package/bin/dev.js +0 -21
  15. package/bin/dev.sh +0 -4
  16. package/bin/run.cmd +0 -3
  17. package/bin/run.js +0 -23
  18. package/dist/commands/actor/get-input.d.ts +0 -6
  19. package/dist/commands/actor/get-input.d.ts.map +0 -1
  20. package/dist/commands/actor/get-input.js +0 -14
  21. package/dist/commands/actor/get-input.js.map +0 -1
  22. package/dist/commands/actor/get-value.d.ts +0 -9
  23. package/dist/commands/actor/get-value.d.ts.map +0 -1
  24. package/dist/commands/actor/get-value.js +0 -27
  25. package/dist/commands/actor/get-value.js.map +0 -1
  26. package/dist/commands/actor/index.d.ts +0 -6
  27. package/dist/commands/actor/index.d.ts.map +0 -1
  28. package/dist/commands/actor/index.js +0 -13
  29. package/dist/commands/actor/index.js.map +0 -1
  30. package/dist/commands/actor/push-data.d.ts +0 -11
  31. package/dist/commands/actor/push-data.d.ts.map +0 -1
  32. package/dist/commands/actor/push-data.js +0 -56
  33. package/dist/commands/actor/push-data.js.map +0 -1
  34. package/dist/commands/actor/set-value.d.ts +0 -15
  35. package/dist/commands/actor/set-value.d.ts.map +0 -1
  36. package/dist/commands/actor/set-value.js +0 -76
  37. package/dist/commands/actor/set-value.js.map +0 -1
  38. package/dist/commands/call.d.ts +0 -19
  39. package/dist/commands/call.d.ts.map +0 -1
  40. package/dist/commands/call.js +0 -193
  41. package/dist/commands/call.js.map +0 -1
  42. package/dist/commands/check-version.d.ts +0 -11
  43. package/dist/commands/check-version.d.ts.map +0 -1
  44. package/dist/commands/check-version.js +0 -39
  45. package/dist/commands/check-version.js.map +0 -1
  46. package/dist/commands/create.d.ts +0 -15
  47. package/dist/commands/create.d.ts.map +0 -1
  48. package/dist/commands/create.js +0 -201
  49. package/dist/commands/create.js.map +0 -1
  50. package/dist/commands/edit-input-schema.d.ts +0 -11
  51. package/dist/commands/edit-input-schema.d.ts.map +0 -1
  52. package/dist/commands/edit-input-schema.js +0 -176
  53. package/dist/commands/edit-input-schema.js.map +0 -1
  54. package/dist/commands/info.d.ts +0 -6
  55. package/dist/commands/info.d.ts.map +0 -1
  56. package/dist/commands/info.js +0 -26
  57. package/dist/commands/info.js.map +0 -1
  58. package/dist/commands/init-wrap-scrapy.d.ts +0 -10
  59. package/dist/commands/init-wrap-scrapy.d.ts.map +0 -1
  60. package/dist/commands/init-wrap-scrapy.js +0 -41
  61. package/dist/commands/init-wrap-scrapy.js.map +0 -1
  62. package/dist/commands/init.d.ts +0 -12
  63. package/dist/commands/init.d.ts.map +0 -1
  64. package/dist/commands/init.js +0 -88
  65. package/dist/commands/init.js.map +0 -1
  66. package/dist/commands/login.d.ts +0 -10
  67. package/dist/commands/login.d.ts.map +0 -1
  68. package/dist/commands/login.js +0 -174
  69. package/dist/commands/login.js.map +0 -1
  70. package/dist/commands/logout.d.ts +0 -6
  71. package/dist/commands/logout.d.ts.map +0 -1
  72. package/dist/commands/logout.js +0 -20
  73. package/dist/commands/logout.js.map +0 -1
  74. package/dist/commands/pull.d.ts +0 -12
  75. package/dist/commands/pull.d.ts.map +0 -1
  76. package/dist/commands/pull.js +0 -148
  77. package/dist/commands/pull.js.map +0 -1
  78. package/dist/commands/push.d.ts +0 -18
  79. package/dist/commands/push.d.ts.map +0 -1
  80. package/dist/commands/push.js +0 -298
  81. package/dist/commands/push.js.map +0 -1
  82. package/dist/commands/run.d.ts +0 -16
  83. package/dist/commands/run.d.ts.map +0 -1
  84. package/dist/commands/run.js +0 -383
  85. package/dist/commands/run.js.map +0 -1
  86. package/dist/commands/secrets/add.d.ts +0 -10
  87. package/dist/commands/secrets/add.d.ts.map +0 -1
  88. package/dist/commands/secrets/add.js +0 -31
  89. package/dist/commands/secrets/add.js.map +0 -1
  90. package/dist/commands/secrets/index.d.ts +0 -6
  91. package/dist/commands/secrets/index.d.ts.map +0 -1
  92. package/dist/commands/secrets/index.js +0 -24
  93. package/dist/commands/secrets/index.js.map +0 -1
  94. package/dist/commands/secrets/rm.d.ts +0 -9
  95. package/dist/commands/secrets/rm.d.ts.map +0 -1
  96. package/dist/commands/secrets/rm.js +0 -27
  97. package/dist/commands/secrets/rm.js.map +0 -1
  98. package/dist/commands/task/index.d.ts +0 -6
  99. package/dist/commands/task/index.d.ts.map +0 -1
  100. package/dist/commands/task/index.js +0 -13
  101. package/dist/commands/task/index.js.map +0 -1
  102. package/dist/commands/task/run.d.ts +0 -16
  103. package/dist/commands/task/run.d.ts.map +0 -1
  104. package/dist/commands/task/run.js +0 -91
  105. package/dist/commands/task/run.js.map +0 -1
  106. package/dist/commands/validate-schema.d.ts +0 -10
  107. package/dist/commands/validate-schema.d.ts.map +0 -1
  108. package/dist/commands/validate-schema.js +0 -58
  109. package/dist/commands/validate-schema.js.map +0 -1
  110. package/dist/hooks/deprecations.d.ts +0 -4
  111. package/dist/hooks/deprecations.d.ts.map +0 -1
  112. package/dist/hooks/deprecations.js +0 -18
  113. package/dist/hooks/deprecations.js.map +0 -1
  114. package/dist/hooks/init.d.ts +0 -7
  115. package/dist/hooks/init.d.ts.map +0 -1
  116. package/dist/hooks/init.js +0 -17
  117. package/dist/hooks/init.js.map +0 -1
  118. package/dist/index.d.ts +0 -2
  119. package/dist/index.d.ts.map +0 -1
  120. package/dist/index.js.map +0 -1
  121. package/dist/lib/actor.d.ts +0 -27
  122. package/dist/lib/actor.d.ts.map +0 -1
  123. package/dist/lib/actor.js +0 -67
  124. package/dist/lib/actor.js.map +0 -1
  125. package/dist/lib/apify-oclif-help.d.ts +0 -15
  126. package/dist/lib/apify-oclif-help.d.ts.map +0 -1
  127. package/dist/lib/apify-oclif-help.js +0 -19
  128. package/dist/lib/apify-oclif-help.js.map +0 -1
  129. package/dist/lib/apify_command.d.ts +0 -21
  130. package/dist/lib/apify_command.d.ts.map +0 -1
  131. package/dist/lib/apify_command.js +0 -104
  132. package/dist/lib/apify_command.js.map +0 -1
  133. package/dist/lib/commands/resolve-input.d.ts +0 -5
  134. package/dist/lib/commands/resolve-input.d.ts.map +0 -1
  135. package/dist/lib/commands/resolve-input.js +0 -29
  136. package/dist/lib/commands/resolve-input.js.map +0 -1
  137. package/dist/lib/commands/run-on-cloud.d.ts +0 -20
  138. package/dist/lib/commands/run-on-cloud.d.ts.map +0 -1
  139. package/dist/lib/commands/run-on-cloud.js +0 -89
  140. package/dist/lib/commands/run-on-cloud.js.map +0 -1
  141. package/dist/lib/community.d.ts +0 -2
  142. package/dist/lib/community.d.ts.map +0 -1
  143. package/dist/lib/community.js +0 -4
  144. package/dist/lib/community.js.map +0 -1
  145. package/dist/lib/consts.d.ts +0 -54
  146. package/dist/lib/consts.d.ts.map +0 -1
  147. package/dist/lib/consts.js +0 -65
  148. package/dist/lib/consts.js.map +0 -1
  149. package/dist/lib/create-utils.d.ts +0 -8
  150. package/dist/lib/create-utils.d.ts.map +0 -1
  151. package/dist/lib/create-utils.js +0 -148
  152. package/dist/lib/create-utils.js.map +0 -1
  153. package/dist/lib/exec.d.ts +0 -3
  154. package/dist/lib/exec.d.ts.map +0 -1
  155. package/dist/lib/exec.js +0 -40
  156. package/dist/lib/exec.js.map +0 -1
  157. package/dist/lib/files.d.ts +0 -14
  158. package/dist/lib/files.d.ts.map +0 -1
  159. package/dist/lib/files.js +0 -58
  160. package/dist/lib/files.js.map +0 -1
  161. package/dist/lib/input_schema.d.ts +0 -28
  162. package/dist/lib/input_schema.d.ts.map +0 -1
  163. package/dist/lib/input_schema.js +0 -126
  164. package/dist/lib/input_schema.js.map +0 -1
  165. package/dist/lib/local_state.d.ts +0 -11
  166. package/dist/lib/local_state.d.ts.map +0 -1
  167. package/dist/lib/local_state.js +0 -27
  168. package/dist/lib/local_state.js.map +0 -1
  169. package/dist/lib/outputs.d.ts +0 -19
  170. package/dist/lib/outputs.d.ts.map +0 -1
  171. package/dist/lib/outputs.js +0 -45
  172. package/dist/lib/outputs.js.map +0 -1
  173. package/dist/lib/project_analyzer.d.ts +0 -4
  174. package/dist/lib/project_analyzer.d.ts.map +0 -1
  175. package/dist/lib/project_analyzer.js +0 -30
  176. package/dist/lib/project_analyzer.js.map +0 -1
  177. package/dist/lib/projects/CrawleeAnalyzer.d.ts +0 -4
  178. package/dist/lib/projects/CrawleeAnalyzer.d.ts.map +0 -1
  179. package/dist/lib/projects/CrawleeAnalyzer.js +0 -20
  180. package/dist/lib/projects/CrawleeAnalyzer.js.map +0 -1
  181. package/dist/lib/projects/OldApifySDKAnalyzer.d.ts +0 -4
  182. package/dist/lib/projects/OldApifySDKAnalyzer.d.ts.map +0 -1
  183. package/dist/lib/projects/OldApifySDKAnalyzer.js +0 -38
  184. package/dist/lib/projects/OldApifySDKAnalyzer.js.map +0 -1
  185. package/dist/lib/projects/scrapy/ScrapyProjectAnalyzer.d.ts +0 -17
  186. package/dist/lib/projects/scrapy/ScrapyProjectAnalyzer.d.ts.map +0 -1
  187. package/dist/lib/projects/scrapy/ScrapyProjectAnalyzer.js +0 -87
  188. package/dist/lib/projects/scrapy/ScrapyProjectAnalyzer.js.map +0 -1
  189. package/dist/lib/projects/scrapy/Spider.d.ts +0 -14
  190. package/dist/lib/projects/scrapy/Spider.d.ts.map +0 -1
  191. package/dist/lib/projects/scrapy/Spider.js +0 -33
  192. package/dist/lib/projects/scrapy/Spider.js.map +0 -1
  193. package/dist/lib/projects/scrapy/SpiderFileAnalyzer.d.ts +0 -7
  194. package/dist/lib/projects/scrapy/SpiderFileAnalyzer.d.ts.map +0 -1
  195. package/dist/lib/projects/scrapy/SpiderFileAnalyzer.js +0 -25
  196. package/dist/lib/projects/scrapy/SpiderFileAnalyzer.js.map +0 -1
  197. package/dist/lib/projects/scrapy/wrapScrapyProject.d.ts +0 -4
  198. package/dist/lib/projects/scrapy/wrapScrapyProject.d.ts.map +0 -1
  199. package/dist/lib/projects/scrapy/wrapScrapyProject.js +0 -109
  200. package/dist/lib/projects/scrapy/wrapScrapyProject.js.map +0 -1
  201. package/dist/lib/projects/shared.d.ts +0 -2
  202. package/dist/lib/projects/shared.d.ts.map +0 -1
  203. package/dist/lib/projects/shared.js +0 -13
  204. package/dist/lib/projects/shared.js.map +0 -1
  205. package/dist/lib/secrets.d.ts +0 -22
  206. package/dist/lib/secrets.d.ts.map +0 -1
  207. package/dist/lib/secrets.js +0 -104
  208. package/dist/lib/secrets.js.map +0 -1
  209. package/dist/lib/telemetry.d.ts +0 -21
  210. package/dist/lib/telemetry.d.ts.map +0 -1
  211. package/dist/lib/telemetry.js +0 -87
  212. package/dist/lib/telemetry.js.map +0 -1
  213. package/dist/lib/types.d.ts +0 -11
  214. package/dist/lib/types.d.ts.map +0 -1
  215. package/dist/lib/types.js +0 -2
  216. package/dist/lib/types.js.map +0 -1
  217. package/dist/lib/utils.d.ts +0 -102
  218. package/dist/lib/utils.d.ts.map +0 -1
  219. package/dist/lib/utils.js +0 -577
  220. package/dist/lib/utils.js.map +0 -1
  221. package/dist/lib/version_check.d.ts +0 -14
  222. package/dist/lib/version_check.d.ts.map +0 -1
  223. package/dist/lib/version_check.js +0 -90
  224. package/dist/lib/version_check.js.map +0 -1
  225. package/oclif.manifest.json +0 -867
@@ -1,176 +0,0 @@
1
- import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'fs';
2
- import { dirname } from 'path';
3
- import { cryptoRandomObjectId } from '@apify/utilities';
4
- import { Args } from '@oclif/core';
5
- import cors from 'cors';
6
- import detectIndent from 'detect-indent';
7
- import express from 'express';
8
- import open from 'open';
9
- import { ApifyCommand } from '../lib/apify_command.js';
10
- import { LOCAL_CONFIG_PATH } from '../lib/consts.js';
11
- import { readInputSchema } from '../lib/input_schema.js';
12
- import { error, info, success, warning } from '../lib/outputs.js';
13
- const INPUT_SCHEMA_EDITOR_BASE_URL = 'https://apify.github.io/input-schema-editor-react/';
14
- const INPUT_SCHEMA_EDITOR_ORIGIN = new URL(INPUT_SCHEMA_EDITOR_BASE_URL).origin;
15
- // Not really checked right now, but it might come useful if we ever need to do some breaking changes
16
- const API_VERSION = 'v1';
17
- export class EditInputSchemaCommand extends ApifyCommand {
18
- async run() {
19
- // This call fails if no input schema is found on any of the default locations
20
- const { inputSchema: existingSchema, inputSchemaPath } = await readInputSchema({ forcePath: this.args.path, cwd: process.cwd() });
21
- if (existingSchema && !inputSchemaPath) {
22
- // If path is not returned, it means the input schema must be directly embedded as object in actor.json
23
- // TODO - allow editing input schema embedded in actor.json
24
- throw new Error(`Editing an input schema directly embedded in "${LOCAL_CONFIG_PATH}" is not yet supported.`);
25
- }
26
- warning({ message: 'This command is still experimental and might break at any time. Use at your own risk.\n' });
27
- info({ message: `Editing input schema at "${inputSchemaPath}"...` });
28
- let server;
29
- const app = express();
30
- // To send requests from browser to localhost, CORS has to be configured properly
31
- app.use(cors({
32
- origin: INPUT_SCHEMA_EDITOR_ORIGIN,
33
- allowedHeaders: ['Content-Type', 'Authorization'],
34
- }));
35
- // Turn off keepalive, otherwise closing the server when command is finished is lagging
36
- app.use((_, res, next) => {
37
- res.set('Connection', 'close');
38
- next();
39
- });
40
- app.use(express.json());
41
- // Basic authorization via a random token, which is passed to the input schema editor,
42
- // and that sends it back via the `token` query param, or `Authorization` header
43
- const authToken = cryptoRandomObjectId();
44
- app.use((req, res, next) => {
45
- let { token } = req.query;
46
- if (!token) {
47
- const authorizationHeader = req.get('Authorization');
48
- if (authorizationHeader) {
49
- const [schema, tokenFromHeader, ...extra] = authorizationHeader.trim().split(/\s+/);
50
- if (schema.toLowerCase() === 'bearer' && tokenFromHeader && extra.length === 0) {
51
- token = tokenFromHeader;
52
- }
53
- }
54
- }
55
- if (token !== authToken) {
56
- res.status(401);
57
- res.send('Authorization failed');
58
- }
59
- else {
60
- next();
61
- }
62
- });
63
- const apiRouter = express.Router();
64
- app.use(`/api/${API_VERSION}`, apiRouter);
65
- // We detect the format of the input schema JSON, so that updating it does not cause too many changes
66
- let jsonIndentation = ' ';
67
- let appendFinalNewline = true;
68
- apiRouter.get('/input-schema', (_, res) => {
69
- let inputSchemaStr;
70
- try {
71
- inputSchemaStr = existsSync(inputSchemaPath) ? readFileSync(inputSchemaPath, { encoding: 'utf-8' }) : '{}\n';
72
- if (inputSchemaStr.length > 3) {
73
- jsonIndentation = detectIndent(inputSchemaStr).indent || jsonIndentation;
74
- }
75
- if (inputSchemaStr) {
76
- appendFinalNewline = inputSchemaStr[inputSchemaStr.length - 1] === '\n';
77
- }
78
- if (existsSync(inputSchemaPath)) {
79
- info({ message: `Input schema loaded from "${inputSchemaPath}"` });
80
- }
81
- else {
82
- info({ message: `Empty input schema initialized.` });
83
- }
84
- }
85
- catch (err) {
86
- const errorMessage = `Reading input schema from disk failed with: ${err.message}`;
87
- error({ message: errorMessage });
88
- res.status(500);
89
- res.send(errorMessage);
90
- return;
91
- }
92
- let inputSchemaObj;
93
- try {
94
- inputSchemaObj = JSON.parse(inputSchemaStr || '{}');
95
- }
96
- catch (err) {
97
- const errorMessage = `Parsing input schema failed with error: ${err.message}`;
98
- error({ message: errorMessage });
99
- res.status(500);
100
- res.send(errorMessage);
101
- return;
102
- }
103
- res.send(inputSchemaObj);
104
- info({ message: 'Input schema sent to editor.' });
105
- });
106
- apiRouter.post('/input-schema', (req, res) => {
107
- try {
108
- info({ message: 'Got input schema from editor...' });
109
- const inputSchemaObj = req.body;
110
- let inputSchemaStr = JSON.stringify(inputSchemaObj, null, jsonIndentation);
111
- if (appendFinalNewline)
112
- inputSchemaStr += '\n';
113
- const inputSchemaDir = dirname(inputSchemaPath);
114
- if (!existsSync(inputSchemaDir)) {
115
- mkdirSync(inputSchemaDir, { recursive: true });
116
- }
117
- writeFileSync(inputSchemaPath, inputSchemaStr, { encoding: 'utf-8', flag: 'w+' });
118
- res.end();
119
- info({ message: 'Input schema saved to disk.' });
120
- }
121
- catch (err) {
122
- const errorMessage = `Saving input schema failed with error: ${err.message}`;
123
- error({ message: errorMessage });
124
- res.status(500);
125
- res.send(errorMessage);
126
- }
127
- });
128
- apiRouter.post('/exit', (req, res) => {
129
- if (req.body.isWindowClosed) {
130
- info({ message: 'Editor closed, finishing...' });
131
- }
132
- else {
133
- info({ message: 'Editing finished, you can close the editor.' });
134
- }
135
- res.end();
136
- server.close(() => success({ message: 'Done.' }));
137
- });
138
- // Listening on port 0 will assign a random available port
139
- server = app.listen(0);
140
- const { port } = server.address();
141
- info({ message: `Listening for messages from input schema editor on port ${port}...` });
142
- const editorUrl = `${INPUT_SCHEMA_EDITOR_BASE_URL}?localCliPort=${port}&localCliToken=${authToken}&localCliApiVersion=${API_VERSION}`;
143
- info({ message: `Opening input schema editor at "${editorUrl}"...` });
144
- await open(editorUrl);
145
- }
146
- }
147
- Object.defineProperty(EditInputSchemaCommand, "description", {
148
- enumerable: true,
149
- configurable: true,
150
- writable: true,
151
- value: 'Lets you edit your input schema that would be used on the platform in a visual input schema editor.'
152
- });
153
- Object.defineProperty(EditInputSchemaCommand, "args", {
154
- enumerable: true,
155
- configurable: true,
156
- writable: true,
157
- value: {
158
- path: Args.string({
159
- required: false,
160
- description: 'Optional path to your INPUT_SCHEMA.json file. If not provided default platform location for input schema is used.',
161
- }),
162
- }
163
- });
164
- Object.defineProperty(EditInputSchemaCommand, "hidden", {
165
- enumerable: true,
166
- configurable: true,
167
- writable: true,
168
- value: true
169
- });
170
- Object.defineProperty(EditInputSchemaCommand, "hiddenAliases", {
171
- enumerable: true,
172
- configurable: true,
173
- writable: true,
174
- value: ['eis']
175
- });
176
- //# sourceMappingURL=edit-input-schema.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"edit-input-schema.js","sourceRoot":"","sources":["../../src/commands/edit-input-schema.ts"],"names":[],"mappings":"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"}
@@ -1,6 +0,0 @@
1
- import { ApifyCommand } from '../lib/apify_command.js';
2
- export declare class InfoCommand extends ApifyCommand<typeof InfoCommand> {
3
- static description: string;
4
- run(): Promise<void>;
5
- }
6
- //# sourceMappingURL=info.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"info.d.ts","sourceRoot":"","sources":["../../src/commands/info.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAGvD,qBAAa,WAAY,SAAQ,YAAY,CAAC,OAAO,WAAW,CAAC;IAC7D,OAAgB,WAAW,SACoB;IAEzC,GAAG;CAeZ"}
@@ -1,26 +0,0 @@
1
- import chalk from 'chalk';
2
- import { ApifyCommand } from '../lib/apify_command.js';
3
- import { getLocalUserInfo, getLoggedClientOrThrow } from '../lib/utils.js';
4
- export class InfoCommand extends ApifyCommand {
5
- async run() {
6
- await getLoggedClientOrThrow();
7
- const info = await getLocalUserInfo();
8
- if (info) {
9
- const niceInfo = {
10
- username: info.username,
11
- userId: info.id,
12
- };
13
- for (const key of Object.keys(niceInfo)) {
14
- console.log(`${chalk.gray(key)}: ${chalk.bold(niceInfo[key])}`);
15
- }
16
- }
17
- }
18
- }
19
- Object.defineProperty(InfoCommand, "description", {
20
- enumerable: true,
21
- configurable: true,
22
- writable: true,
23
- value: 'Displays information about the currently active Apify account.\n'
24
- + 'The information is printed to the console.'
25
- });
26
- //# sourceMappingURL=info.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"info.js","sourceRoot":"","sources":["../../src/commands/info.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAE3E,MAAM,OAAO,WAAY,SAAQ,YAAgC;IAI7D,KAAK,CAAC,GAAG;QACL,MAAM,sBAAsB,EAAE,CAAC;QAC/B,MAAM,IAAI,GAAG,MAAM,gBAAgB,EAAE,CAAC;QAEtC,IAAI,IAAI,EAAE,CAAC;YACP,MAAM,QAAQ,GAAG;gBACb,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,MAAM,EAAE,IAAI,CAAC,EAAE;aACT,CAAC;YAEX,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAA8B,EAAE,CAAC;gBACnE,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;YACpE,CAAC;QACL,CAAC;IACL,CAAC;;AAjBe;;;;WAAc,kEAAkE;UAC9F,4CAA4C;GAAC"}
@@ -1,10 +0,0 @@
1
- import { ApifyCommand } from '../lib/apify_command.js';
2
- export declare class WrapScrapyCommand extends ApifyCommand<typeof WrapScrapyCommand> {
3
- static description: string;
4
- static args: {
5
- path: import("@oclif/core/interfaces").Arg<string | undefined, Record<string, unknown>>;
6
- };
7
- static hidden: boolean;
8
- run(): Promise<void>;
9
- }
10
- //# sourceMappingURL=init-wrap-scrapy.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"init-wrap-scrapy.d.ts","sourceRoot":"","sources":["../../src/commands/init-wrap-scrapy.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAIvD,qBAAa,iBAAkB,SAAQ,YAAY,CAAC,OAAO,iBAAiB,CAAC;IACzE,OAAgB,WAAW,SAO7B;IAEE,OAAgB,IAAI;;MAKlB;IAEF,OAAgB,MAAM,UAAQ;IAExB,GAAG;CAKZ"}
@@ -1,41 +0,0 @@
1
- import { Args } from '@oclif/core';
2
- import { ApifyCommand } from '../lib/apify_command.js';
3
- import { info } from '../lib/outputs.js';
4
- import { wrapScrapyProject } from '../lib/projects/scrapy/wrapScrapyProject.js';
5
- export class WrapScrapyCommand extends ApifyCommand {
6
- async run() {
7
- await wrapScrapyProject({ projectPath: this.args.path });
8
- info({ message: 'Scrapy project wrapped successfully.' });
9
- }
10
- }
11
- Object.defineProperty(WrapScrapyCommand, "description", {
12
- enumerable: true,
13
- configurable: true,
14
- writable: true,
15
- value: `Wraps your existing Scrapy project to work like an Apify Actor.
16
-
17
- It adds the following features:
18
- - Automatic retry of failed requests
19
- - Automatic proxy rotation
20
- - Automatic user agent rotation
21
- ...
22
- `
23
- });
24
- Object.defineProperty(WrapScrapyCommand, "args", {
25
- enumerable: true,
26
- configurable: true,
27
- writable: true,
28
- value: {
29
- path: Args.string({
30
- required: false,
31
- description: 'Optional path to your scrapy project. If not provided, the current directory is used.',
32
- }),
33
- }
34
- });
35
- Object.defineProperty(WrapScrapyCommand, "hidden", {
36
- enumerable: true,
37
- configurable: true,
38
- writable: true,
39
- value: true
40
- });
41
- //# sourceMappingURL=init-wrap-scrapy.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"init-wrap-scrapy.js","sourceRoot":"","sources":["../../src/commands/init-wrap-scrapy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAEnC,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,6CAA6C,CAAC;AAEhF,MAAM,OAAO,iBAAkB,SAAQ,YAAsC;IAmBzE,KAAK,CAAC,GAAG;QACL,MAAM,iBAAiB,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAEzD,IAAI,CAAC,EAAE,OAAO,EAAE,sCAAsC,EAAE,CAAC,CAAC;IAC9D,CAAC;;AAtBe;;;;WAAc;;;;;;;CAOjC;GAAC;AAEkB;;;;WAAO;QACnB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;YACd,QAAQ,EAAE,KAAK;YACf,WAAW,EAAE,uFAAuF;SACvG,CAAC;KACL;GAAC;AAEc;;;;WAAS,IAAI;GAAC"}
@@ -1,12 +0,0 @@
1
- import { ApifyCommand } from '../lib/apify_command.js';
2
- export declare class InitCommand extends ApifyCommand<typeof InitCommand> {
3
- static description: string;
4
- static args: {
5
- actorName: import("@oclif/core/interfaces").Arg<string | undefined, Record<string, unknown>>;
6
- };
7
- static flags: {
8
- yes: import("@oclif/core/interfaces").BooleanFlag<boolean>;
9
- };
10
- run(): Promise<void>;
11
- }
12
- //# sourceMappingURL=init.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAQvD,qBAAa,WAAY,SAAQ,YAAY,CAAC,OAAO,WAAW,CAAC;IAC7D,OAAgB,WAAW,SAI4E;IAEvG,OAAgB,IAAI;;MAKlB;IAEF,OAAgB,KAAK;;MAOnB;IAEI,GAAG;CA+CZ"}
@@ -1,88 +0,0 @@
1
- import { basename } from 'node:path';
2
- import process from 'node:process';
3
- import { Args, Flags } from '@oclif/core';
4
- import inquirer from 'inquirer';
5
- import { ApifyCommand } from '../lib/apify_command.js';
6
- import { DEFAULT_LOCAL_STORAGE_DIR, EMPTY_LOCAL_CONFIG, LANGUAGE, LOCAL_CONFIG_PATH, PROJECT_TYPES } from '../lib/consts.js';
7
- import { createPrefilledInputFileFromInputSchema } from '../lib/input_schema.js';
8
- import { error, info, success, warning } from '../lib/outputs.js';
9
- import { ProjectAnalyzer } from '../lib/project_analyzer.js';
10
- import { wrapScrapyProject } from '../lib/projects/scrapy/wrapScrapyProject.js';
11
- import { detectLocalActorLanguage, getLocalConfig, getLocalConfigOrThrow, setLocalConfig, setLocalEnv, validateActorName } from '../lib/utils.js';
12
- export class InitCommand extends ApifyCommand {
13
- async run() {
14
- let { actorName } = this.args;
15
- const cwd = process.cwd();
16
- if (ProjectAnalyzer.getProjectType(cwd) === PROJECT_TYPES.SCRAPY) {
17
- info({ message: 'The current directory looks like a Scrapy project. Using automatic project wrapping.' });
18
- this.telemetryData.actorWrapper = PROJECT_TYPES.SCRAPY;
19
- return wrapScrapyProject({ projectPath: cwd });
20
- }
21
- if (!this.flags.yes && detectLocalActorLanguage(cwd).language === LANGUAGE.UNKNOWN) {
22
- warning({ message: 'The current directory does not look like a Node.js or Python project.' });
23
- const { c } = await inquirer.prompt([{ name: 'c', message: 'Do you want to continue?', type: 'confirm' }]);
24
- if (!c)
25
- return;
26
- }
27
- if (getLocalConfig(cwd)) {
28
- warning({ message: `Skipping creation of "${LOCAL_CONFIG_PATH}", the file already exists in the current directory.` });
29
- }
30
- else {
31
- if (!actorName) {
32
- let response = null;
33
- while (!response) {
34
- try {
35
- const answer = await inquirer.prompt([{ name: 'actName', message: 'Actor name:', default: basename(cwd) }]);
36
- validateActorName(answer.actName);
37
- response = answer;
38
- }
39
- catch (err) {
40
- error({ message: err.message });
41
- }
42
- }
43
- ({ actName: actorName } = response);
44
- }
45
- // Migrate apify.json to .actor/actor.json
46
- const localConfig = { ...EMPTY_LOCAL_CONFIG, ...await getLocalConfigOrThrow(cwd) };
47
- await setLocalConfig(Object.assign(localConfig, { name: actorName }), cwd);
48
- }
49
- await setLocalEnv(cwd);
50
- // Create prefilled INPUT.json file from the input schema prefills
51
- await createPrefilledInputFileFromInputSchema(cwd);
52
- success({ message: 'The Actor has been initialized in the current directory.' });
53
- }
54
- }
55
- Object.defineProperty(InitCommand, "description", {
56
- enumerable: true,
57
- configurable: true,
58
- writable: true,
59
- value: 'Initializes a new Actor project in an existing directory.\n'
60
- + `If the directory contains a Scrapy project in Python, the command automatically creates wrappers so that you can run your scrapers without changes.\n\n`
61
- + `The command creates the "${LOCAL_CONFIG_PATH}" file and the "${DEFAULT_LOCAL_STORAGE_DIR}" directory in the current directory, `
62
- + 'but does not touch any other existing files or directories.\n\n'
63
- + `WARNING: The directory at "${DEFAULT_LOCAL_STORAGE_DIR}" will be overwritten if it already exists.`
64
- });
65
- Object.defineProperty(InitCommand, "args", {
66
- enumerable: true,
67
- configurable: true,
68
- writable: true,
69
- value: {
70
- actorName: Args.string({
71
- required: false,
72
- description: 'Name of the Actor. If not provided, you will be prompted for it.',
73
- }),
74
- }
75
- });
76
- Object.defineProperty(InitCommand, "flags", {
77
- enumerable: true,
78
- configurable: true,
79
- writable: true,
80
- value: {
81
- yes: Flags.boolean({
82
- char: 'y',
83
- description: 'Automatic yes to prompts; assume "yes" as answer to all prompts. Note that in some cases, the command may still ask for confirmation.',
84
- required: false,
85
- }),
86
- }
87
- });
88
- //# sourceMappingURL=init.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
@@ -1,10 +0,0 @@
1
- import { ApifyCommand } from '../lib/apify_command.js';
2
- export declare class LoginCommand extends ApifyCommand<typeof LoginCommand> {
3
- static description: string;
4
- static flags: {
5
- token: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
6
- method: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
7
- };
8
- run(): Promise<void>;
9
- }
10
- //# sourceMappingURL=login.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AA0BvD,qBAAa,YAAa,SAAQ,YAAY,CAAC,OAAO,YAAY,CAAC;IAC/D,OAAgB,WAAW,SAEU;IAErC,OAAgB,KAAK;;;MAYnB;IAEI,GAAG;CA6HZ"}
@@ -1,174 +0,0 @@
1
- import { cryptoRandomObjectId } from '@apify/utilities';
2
- import { Flags } from '@oclif/core';
3
- import computerName from 'computer-name';
4
- import cors from 'cors';
5
- import express from 'express';
6
- import inquirer from 'inquirer';
7
- import open from 'open';
8
- import { ApifyCommand } from '../lib/apify_command.js';
9
- import { error, info, success } from '../lib/outputs.js';
10
- import { useApifyIdentity } from '../lib/telemetry.js';
11
- import { getLocalUserInfo, getLoggedClient } from '../lib/utils.js';
12
- const CONSOLE_BASE_URL = 'https://console.apify.com/settings/integrations';
13
- // const CONSOLE_BASE_URL = 'http://localhost:3000/settings/integrations';
14
- const CONSOLE_URL_ORIGIN = new URL(CONSOLE_BASE_URL).origin;
15
- const API_BASE_URL = CONSOLE_BASE_URL.includes('localhost') ? 'http://localhost:3333' : undefined;
16
- // Not really checked right now, but it might come useful if we ever need to do some breaking changes
17
- const API_VERSION = 'v1';
18
- const tryToLogin = async (token) => {
19
- const isUserLogged = await getLoggedClient(token, API_BASE_URL);
20
- const userInfo = await getLocalUserInfo();
21
- if (isUserLogged) {
22
- await useApifyIdentity(userInfo.id);
23
- success({ message: `You are logged in to Apify as ${userInfo.username || userInfo.id}!` });
24
- }
25
- else {
26
- error({ message: 'Login to Apify failed, the provided API token is not valid.' });
27
- }
28
- return isUserLogged;
29
- };
30
- export class LoginCommand extends ApifyCommand {
31
- async run() {
32
- const { token, method } = this.flags;
33
- if (token) {
34
- await tryToLogin(token);
35
- return;
36
- }
37
- let selectedMethod = method;
38
- if (!method) {
39
- const answer = await inquirer.prompt([{
40
- type: 'list',
41
- name: 'loginMethod',
42
- message: 'Choose how you want to log in to Apify',
43
- choices: [
44
- {
45
- value: 'console',
46
- name: 'Through Apify Console in your default browser',
47
- short: 'Through Apify Console',
48
- },
49
- { value: 'manual', name: 'Enter API token manually', short: 'Manually' },
50
- ],
51
- loop: true,
52
- }]);
53
- selectedMethod = answer.loginMethod;
54
- }
55
- if (selectedMethod === 'console') {
56
- let server;
57
- const app = express();
58
- // To send requests from browser to localhost, CORS has to be configured properly
59
- app.use(cors({
60
- origin: CONSOLE_URL_ORIGIN,
61
- allowedHeaders: ['Content-Type', 'Authorization'],
62
- }));
63
- // Turn off keepalive, otherwise closing the server when command is finished is lagging
64
- app.use((_, res, next) => {
65
- res.set('Connection', 'close');
66
- next();
67
- });
68
- app.use(express.json());
69
- // Basic authorization via a random token, which is passed to the Apify Console,
70
- // and that sends it back via the `token` query param, or `Authorization` header
71
- const authToken = cryptoRandomObjectId();
72
- app.use((req, res, next) => {
73
- let { token: serverToken } = req.query;
74
- if (!serverToken) {
75
- const authorizationHeader = req.get('Authorization');
76
- if (authorizationHeader) {
77
- const [schema, tokenFromHeader, ...extra] = authorizationHeader.trim().split(/\s+/);
78
- if (schema.toLowerCase() === 'bearer' && tokenFromHeader && extra.length === 0) {
79
- serverToken = tokenFromHeader;
80
- }
81
- }
82
- }
83
- if (serverToken !== authToken) {
84
- res.status(401);
85
- res.send('Authorization failed');
86
- }
87
- else {
88
- next();
89
- }
90
- });
91
- const apiRouter = express.Router();
92
- app.use(`/api/${API_VERSION}`, apiRouter);
93
- apiRouter.post('/login-token', async (req, res) => {
94
- try {
95
- if (req.body.apiToken) {
96
- await tryToLogin(req.body.apiToken);
97
- }
98
- else {
99
- throw new Error('Request did not contain API token');
100
- }
101
- res.end();
102
- }
103
- catch (err) {
104
- const errorMessage = `Login to Apify failed with error: ${err.message}`;
105
- error({ message: errorMessage });
106
- res.status(500);
107
- res.send(errorMessage);
108
- }
109
- server.close();
110
- });
111
- apiRouter.post('/exit', (req, res) => {
112
- if (req.body.isWindowClosed) {
113
- error({ message: 'Login to Apify failed, the console window was closed.' });
114
- }
115
- else if (req.body.actionCanceled) {
116
- error({ message: 'Login to Apify failed, the action was canceled in the Apify Console.' });
117
- }
118
- else {
119
- error({ message: 'Login to Apify failed.' });
120
- }
121
- res.end();
122
- server.close();
123
- });
124
- // Listening on port 0 will assign a random available port
125
- server = app.listen(0);
126
- const { port } = server.address();
127
- const consoleUrl = new URL(CONSOLE_BASE_URL);
128
- consoleUrl.searchParams.set('localCliCommand', 'login');
129
- consoleUrl.searchParams.set('localCliPort', `${port}`);
130
- consoleUrl.searchParams.set('localCliToken', authToken);
131
- consoleUrl.searchParams.set('localCliApiVersion', API_VERSION);
132
- try {
133
- consoleUrl.searchParams.set('localCliComputerName', encodeURIComponent(computerName()));
134
- }
135
- catch {
136
- // Ignore errors from fetching computer name as it's not critical
137
- }
138
- info({ message: `Opening Apify Console at "${consoleUrl.href}"...` });
139
- await open(consoleUrl.href);
140
- }
141
- else {
142
- console.log('Enter your Apify API token. You can find it at https://console.apify.com/settings/integrations');
143
- const tokenAnswer = await inquirer.prompt([{ name: 'token', message: 'token:', type: 'password' }]);
144
- await tryToLogin(tokenAnswer.token);
145
- }
146
- }
147
- }
148
- Object.defineProperty(LoginCommand, "description", {
149
- enumerable: true,
150
- configurable: true,
151
- writable: true,
152
- value: 'Logs in to your Apify account.\nThe API token and other account '
153
- + 'information is stored in the ~/.apify directory, from where it is read by all other "apify" commands. '
154
- + 'To log out, call "apify logout".'
155
- });
156
- Object.defineProperty(LoginCommand, "flags", {
157
- enumerable: true,
158
- configurable: true,
159
- writable: true,
160
- value: {
161
- token: Flags.string({
162
- char: 't',
163
- description: '[Optional] Apify API token',
164
- required: false,
165
- }),
166
- method: Flags.string({
167
- char: 'm',
168
- description: '[Optional] Method of logging in to Apify',
169
- options: ['console', 'manual'],
170
- required: false,
171
- }),
172
- }
173
- });
174
- //# sourceMappingURL=login.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,YAAY,MAAM,eAAe,CAAC;AACzC,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAEpE,MAAM,gBAAgB,GAAG,iDAAiD,CAAC;AAC3E,0EAA0E;AAC1E,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC;AAE5D,MAAM,YAAY,GAAG,gBAAgB,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,SAAS,CAAC;AAElG,qGAAqG;AACrG,MAAM,WAAW,GAAG,IAAI,CAAC;AAEzB,MAAM,UAAU,GAAG,KAAK,EAAE,KAAa,EAAE,EAAE;IACvC,MAAM,YAAY,GAAG,MAAM,eAAe,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;IAChE,MAAM,QAAQ,GAAG,MAAM,gBAAgB,EAAE,CAAC;IAC1C,IAAI,YAAY,EAAE,CAAC;QACf,MAAM,gBAAgB,CAAC,QAAQ,CAAC,EAAG,CAAC,CAAC;QACrC,OAAO,CAAC,EAAE,OAAO,EAAE,iCAAiC,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IAC/F,CAAC;SAAM,CAAC;QACJ,KAAK,CAAC,EAAE,OAAO,EAAE,6DAA6D,EAAE,CAAC,CAAC;IACtF,CAAC;IACD,OAAO,YAAY,CAAC;AACxB,CAAC,CAAC;AAEF,MAAM,OAAO,YAAa,SAAQ,YAAiC;IAmB/D,KAAK,CAAC,GAAG;QACL,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QACrC,IAAI,KAAK,EAAE,CAAC;YACR,MAAM,UAAU,CAAC,KAAK,CAAC,CAAC;YACxB,OAAO;QACX,CAAC;QAED,IAAI,cAAc,GAAG,MAAM,CAAC;QAE5B,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,CAAC;oBAClC,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,aAAa;oBACnB,OAAO,EAAE,wCAAwC;oBACjD,OAAO,EAAE;wBACL;4BACI,KAAK,EAAE,SAAS;4BAChB,IAAI,EAAE,+CAA+C;4BACrD,KAAK,EAAE,uBAAuB;yBACjC;wBACD,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,0BAA0B,EAAE,KAAK,EAAE,UAAU,EAAE;qBAC3E;oBACD,IAAI,EAAE,IAAI;iBACb,CAAC,CAAC,CAAC;YAEJ,cAAc,GAAG,MAAM,CAAC,WAAW,CAAC;QACxC,CAAC;QAED,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;YAC/B,IAAI,MAAc,CAAC;YACnB,MAAM,GAAG,GAAG,OAAO,EAAE,CAAC;YAEtB,iFAAiF;YACjF,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC;gBACT,MAAM,EAAE,kBAAkB;gBAC1B,cAAc,EAAE,CAAC,cAAc,EAAE,eAAe,CAAC;aACpD,CAAC,CAAC,CAAC;YAEJ,uFAAuF;YACvF,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;gBACrB,GAAG,CAAC,GAAG,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;gBAC/B,IAAI,EAAE,CAAC;YACX,CAAC,CAAC,CAAC;YAEH,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;YAExB,gFAAgF;YAChF,gFAAgF;YAChF,MAAM,SAAS,GAAG,oBAAoB,EAAE,CAAC;YACzC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;gBACvB,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC;gBACvC,IAAI,CAAC,WAAW,EAAE,CAAC;oBACf,MAAM,mBAAmB,GAAG,GAAG,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;oBACrD,IAAI,mBAAmB,EAAE,CAAC;wBACtB,MAAM,CAAC,MAAM,EAAE,eAAe,EAAE,GAAG,KAAK,CAAC,GAAG,mBAAmB,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;wBACpF,IAAI,MAAM,CAAC,WAAW,EAAE,KAAK,QAAQ,IAAI,eAAe,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;4BAC7E,WAAW,GAAG,eAAe,CAAC;wBAClC,CAAC;oBACL,CAAC;gBACL,CAAC;gBAED,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;oBAC5B,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBAChB,GAAG,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;gBACrC,CAAC;qBAAM,CAAC;oBACJ,IAAI,EAAE,CAAC;gBACX,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;YACnC,GAAG,CAAC,GAAG,CAAC,QAAQ,WAAW,EAAE,EAAE,SAAS,CAAC,CAAC;YAE1C,SAAS,CAAC,IAAI,CAAC,cAAc,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;gBAC9C,IAAI,CAAC;oBACD,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;wBACpB,MAAM,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBACxC,CAAC;yBAAM,CAAC;wBACJ,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;oBACzD,CAAC;oBACD,GAAG,CAAC,GAAG,EAAE,CAAC;gBACd,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACX,MAAM,YAAY,GAAG,qCAAsC,GAAa,CAAC,OAAO,EAAE,CAAC;oBACnF,KAAK,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,CAAC;oBACjC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBAChB,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBAC3B,CAAC;gBACD,MAAM,CAAC,KAAK,EAAE,CAAC;YACnB,CAAC,CAAC,CAAC;YAEH,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;gBACjC,IAAI,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;oBAC1B,KAAK,CAAC,EAAE,OAAO,EAAE,uDAAuD,EAAE,CAAC,CAAC;gBAChF,CAAC;qBAAM,IAAI,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;oBACjC,KAAK,CAAC,EAAE,OAAO,EAAE,sEAAsE,EAAE,CAAC,CAAC;gBAC/F,CAAC;qBAAM,CAAC;oBACJ,KAAK,CAAC,EAAE,OAAO,EAAE,wBAAwB,EAAE,CAAC,CAAC;gBACjD,CAAC;gBAED,GAAG,CAAC,GAAG,EAAE,CAAC;gBACV,MAAM,CAAC,KAAK,EAAE,CAAC;YACnB,CAAC,CAAC,CAAC;YAEH,0DAA0D;YAC1D,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACvB,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC,OAAO,EAAiB,CAAC;YAEjD,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,gBAAgB,CAAC,CAAC;YAC7C,UAAU,CAAC,YAAY,CAAC,GAAG,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;YACxD,UAAU,CAAC,YAAY,CAAC,GAAG,CAAC,cAAc,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC;YACvD,UAAU,CAAC,YAAY,CAAC,GAAG,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;YACxD,UAAU,CAAC,YAAY,CAAC,GAAG,CAAC,oBAAoB,EAAE,WAAW,CAAC,CAAC;YAC/D,IAAI,CAAC;gBACD,UAAU,CAAC,YAAY,CAAC,GAAG,CAAC,sBAAsB,EAAE,kBAAkB,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;YAC5F,CAAC;YAAC,MAAM,CAAC;gBACL,iEAAiE;YACrE,CAAC;YAED,IAAI,CAAC,EAAE,OAAO,EAAE,6BAA6B,UAAU,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC;YACtE,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC;aAAM,CAAC;YACJ,OAAO,CAAC,GAAG,CAAC,gGAAgG,CAAC,CAAC;YAC9G,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAoB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;YACvH,MAAM,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACxC,CAAC;IACL,CAAC;;AA9Ie;;;;WAAc,kEAAkE;UAC9F,wGAAwG;UACxG,kCAAkC;GAAC;AAErB;;;;WAAQ;QACpB,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC;YAChB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,4BAA4B;YACzC,QAAQ,EAAE,KAAK;SAClB,CAAC;QACF,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC;YACjB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,0CAA0C;YACvD,OAAO,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC;YAC9B,QAAQ,EAAE,KAAK;SAClB,CAAC;KACL;GAAC"}
@@ -1,6 +0,0 @@
1
- import { ApifyCommand } from '../lib/apify_command.js';
2
- export declare class LogoutCommand extends ApifyCommand<typeof LogoutCommand> {
3
- static description: string;
4
- run(): Promise<void>;
5
- }
6
- //# sourceMappingURL=logout.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"logout.d.ts","sourceRoot":"","sources":["../../src/commands/logout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAMvD,qBAAa,aAAc,SAAQ,YAAY,CAAC,OAAO,aAAa,CAAC;IACjE,OAAgB,WAAW,SACoE;IAEzF,GAAG;CAKZ"}
@@ -1,20 +0,0 @@
1
- import { ApifyCommand } from '../lib/apify_command.js';
2
- import { AUTH_FILE_PATH } from '../lib/consts.js';
3
- import { rimrafPromised } from '../lib/files.js';
4
- import { success } from '../lib/outputs.js';
5
- import { regenerateLocalDistinctId } from '../lib/telemetry.js';
6
- export class LogoutCommand extends ApifyCommand {
7
- async run() {
8
- await rimrafPromised(AUTH_FILE_PATH());
9
- regenerateLocalDistinctId();
10
- success({ message: 'You are logged out from your Apify account.' });
11
- }
12
- }
13
- Object.defineProperty(LogoutCommand, "description", {
14
- enumerable: true,
15
- configurable: true,
16
- writable: true,
17
- value: 'Logs out of your Apify account.\nThe command deletes the API token and all other '
18
- + 'account information stored in the ~/.apify directory. To log in again, call "apify login".'
19
- });
20
- //# sourceMappingURL=logout.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"logout.js","sourceRoot":"","sources":["../../src/commands/logout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAEhE,MAAM,OAAO,aAAc,SAAQ,YAAkC;IAIjE,KAAK,CAAC,GAAG;QACL,MAAM,cAAc,CAAC,cAAc,EAAE,CAAC,CAAC;QACvC,yBAAyB,EAAE,CAAC;QAC5B,OAAO,CAAC,EAAE,OAAO,EAAE,6CAA6C,EAAE,CAAC,CAAC;IACxE,CAAC;;AAPe;;;;WAAc,mFAAmF;UAC/G,4FAA4F;GAAC"}