apify-cli 0.21.10-beta.2 → 0.21.10-beta.21
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.
- package/CHANGELOG.md +7 -0
- package/dist/.tsbuildinfo +1 -1
- package/dist/actor.js +3 -0
- package/dist/actor.js.map +1 -0
- package/dist/apify.js +3 -0
- package/dist/apify.js.map +1 -0
- package/dist/chunk-ATQHWRBX.js +242 -0
- package/dist/chunk-ATQHWRBX.js.map +1 -0
- package/dist/index.js +2 -3
- package/package.json +16 -18
- package/dist/commands/_register.js +0 -68
- package/dist/commands/_register.js.map +0 -1
- package/dist/commands/actor/_index.js +0 -24
- package/dist/commands/actor/_index.js.map +0 -1
- package/dist/commands/actor/charge.js +0 -84
- package/dist/commands/actor/charge.js.map +0 -1
- package/dist/commands/actor/get-input.js +0 -10
- package/dist/commands/actor/get-input.js.map +0 -1
- package/dist/commands/actor/get-public-url.js +0 -52
- package/dist/commands/actor/get-public-url.js.map +0 -1
- package/dist/commands/actor/get-value.js +0 -18
- package/dist/commands/actor/get-value.js.map +0 -1
- package/dist/commands/actor/push-data.js +0 -38
- package/dist/commands/actor/push-data.js.map +0 -1
- package/dist/commands/actor/set-value.js +0 -52
- package/dist/commands/actor/set-value.js.map +0 -1
- package/dist/commands/actors/_index.js +0 -28
- package/dist/commands/actors/_index.js.map +0 -1
- package/dist/commands/actors/build.js +0 -6
- package/dist/commands/actors/build.js.map +0 -1
- package/dist/commands/actors/call.js +0 -224
- package/dist/commands/actors/call.js.map +0 -1
- package/dist/commands/actors/info.js +0 -203
- package/dist/commands/actors/info.js.map +0 -1
- package/dist/commands/actors/ls.js +0 -226
- package/dist/commands/actors/ls.js.map +0 -1
- package/dist/commands/actors/pull.js +0 -150
- package/dist/commands/actors/pull.js.map +0 -1
- package/dist/commands/actors/push.js +0 -300
- package/dist/commands/actors/push.js.map +0 -1
- package/dist/commands/actors/rm.js +0 -43
- package/dist/commands/actors/rm.js.map +0 -1
- package/dist/commands/actors/start.js +0 -125
- package/dist/commands/actors/start.js.map +0 -1
- package/dist/commands/builds/_index.js +0 -22
- package/dist/commands/builds/_index.js.map +0 -1
- package/dist/commands/builds/create.js +0 -130
- package/dist/commands/builds/create.js.map +0 -1
- package/dist/commands/builds/info.js +0 -78
- package/dist/commands/builds/info.js.map +0 -1
- package/dist/commands/builds/log.js +0 -35
- package/dist/commands/builds/log.js.map +0 -1
- package/dist/commands/builds/ls.js +0 -141
- package/dist/commands/builds/ls.js.map +0 -1
- package/dist/commands/builds/rm.js +0 -59
- package/dist/commands/builds/rm.js.map +0 -1
- package/dist/commands/call.js +0 -5
- package/dist/commands/call.js.map +0 -1
- package/dist/commands/create.js +0 -264
- package/dist/commands/create.js.map +0 -1
- package/dist/commands/datasets/_index.js +0 -25
- package/dist/commands/datasets/_index.js.map +0 -1
- package/dist/commands/datasets/create.js +0 -38
- package/dist/commands/datasets/create.js.map +0 -1
- package/dist/commands/datasets/get-items.js +0 -84
- package/dist/commands/datasets/get-items.js.map +0 -1
- package/dist/commands/datasets/info.js +0 -125
- package/dist/commands/datasets/info.js.map +0 -1
- package/dist/commands/datasets/ls.js +0 -73
- package/dist/commands/datasets/ls.js.map +0 -1
- package/dist/commands/datasets/push-items.js +0 -70
- package/dist/commands/datasets/push-items.js.map +0 -1
- package/dist/commands/datasets/rename.js +0 -71
- package/dist/commands/datasets/rename.js.map +0 -1
- package/dist/commands/datasets/rm.js +0 -48
- package/dist/commands/datasets/rm.js.map +0 -1
- package/dist/commands/edit-input-schema.js +0 -162
- package/dist/commands/edit-input-schema.js.map +0 -1
- package/dist/commands/help.js +0 -43
- package/dist/commands/help.js.map +0 -1
- package/dist/commands/info.js +0 -21
- package/dist/commands/info.js.map +0 -1
- package/dist/commands/init-wrap-scrapy.js +0 -27
- package/dist/commands/init-wrap-scrapy.js.map +0 -1
- package/dist/commands/init.js +0 -94
- package/dist/commands/init.js.map +0 -1
- package/dist/commands/key-value-stores/_index.js +0 -30
- package/dist/commands/key-value-stores/_index.js.map +0 -1
- package/dist/commands/key-value-stores/create.js +0 -38
- package/dist/commands/key-value-stores/create.js.map +0 -1
- package/dist/commands/key-value-stores/delete-value.js +0 -61
- package/dist/commands/key-value-stores/delete-value.js.map +0 -1
- package/dist/commands/key-value-stores/get-value.js +0 -70
- package/dist/commands/key-value-stores/get-value.js.map +0 -1
- package/dist/commands/key-value-stores/info.js +0 -127
- package/dist/commands/key-value-stores/info.js.map +0 -1
- package/dist/commands/key-value-stores/keys.js +0 -61
- package/dist/commands/key-value-stores/keys.js.map +0 -1
- package/dist/commands/key-value-stores/ls.js +0 -70
- package/dist/commands/key-value-stores/ls.js.map +0 -1
- package/dist/commands/key-value-stores/rename.js +0 -71
- package/dist/commands/key-value-stores/rename.js.map +0 -1
- package/dist/commands/key-value-stores/rm.js +0 -48
- package/dist/commands/key-value-stores/rm.js.map +0 -1
- package/dist/commands/key-value-stores/set-value.js +0 -57
- package/dist/commands/key-value-stores/set-value.js.map +0 -1
- package/dist/commands/login.js +0 -183
- package/dist/commands/login.js.map +0 -1
- package/dist/commands/logout.js +0 -16
- package/dist/commands/logout.js.map +0 -1
- package/dist/commands/pull.js +0 -5
- package/dist/commands/pull.js.map +0 -1
- package/dist/commands/push.js +0 -5
- package/dist/commands/push.js.map +0 -1
- package/dist/commands/request-queues/_index.js +0 -9
- package/dist/commands/request-queues/_index.js.map +0 -1
- package/dist/commands/run.js +0 -434
- package/dist/commands/run.js.map +0 -1
- package/dist/commands/runs/_index.js +0 -23
- package/dist/commands/runs/_index.js.map +0 -1
- package/dist/commands/runs/abort.js +0 -68
- package/dist/commands/runs/abort.js.map +0 -1
- package/dist/commands/runs/info.js +0 -238
- package/dist/commands/runs/info.js.map +0 -1
- package/dist/commands/runs/log.js +0 -32
- package/dist/commands/runs/log.js.map +0 -1
- package/dist/commands/runs/ls.js +0 -106
- package/dist/commands/runs/ls.js.map +0 -1
- package/dist/commands/runs/resurrect.js +0 -54
- package/dist/commands/runs/resurrect.js.map +0 -1
- package/dist/commands/runs/rm.js +0 -58
- package/dist/commands/runs/rm.js.map +0 -1
- package/dist/commands/secrets/_index.js +0 -25
- package/dist/commands/secrets/_index.js.map +0 -1
- package/dist/commands/secrets/add.js +0 -22
- package/dist/commands/secrets/add.js.map +0 -1
- package/dist/commands/secrets/rm.js +0 -18
- package/dist/commands/secrets/rm.js.map +0 -1
- package/dist/commands/task/_index.js +0 -11
- package/dist/commands/task/_index.js.map +0 -1
- package/dist/commands/task/run.js +0 -91
- package/dist/commands/task/run.js.map +0 -1
- package/dist/commands/upgrade.js +0 -74
- package/dist/commands/upgrade.js.map +0 -1
- package/dist/commands/validate-schema.js +0 -44
- package/dist/commands/validate-schema.js.map +0 -1
- package/dist/entrypoints/_shared.js +0 -256
- package/dist/entrypoints/_shared.js.map +0 -1
- package/dist/entrypoints/actor.js +0 -19
- package/dist/entrypoints/actor.js.map +0 -1
- package/dist/entrypoints/apify.js +0 -18
- package/dist/entrypoints/apify.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/lib/actor.js +0 -74
- package/dist/lib/actor.js.map +0 -1
- package/dist/lib/command-framework/apify-command.js +0 -426
- package/dist/lib/command-framework/apify-command.js.map +0 -1
- package/dist/lib/command-framework/args.js +0 -24
- package/dist/lib/command-framework/args.js.map +0 -1
- package/dist/lib/command-framework/flags.js +0 -99
- package/dist/lib/command-framework/flags.js.map +0 -1
- package/dist/lib/command-framework/help/CommandHelp.js +0 -228
- package/dist/lib/command-framework/help/CommandHelp.js.map +0 -1
- package/dist/lib/command-framework/help/CommandWithSubcommands.js +0 -75
- package/dist/lib/command-framework/help/CommandWithSubcommands.js.map +0 -1
- package/dist/lib/command-framework/help/_BaseCommandRenderer.js +0 -63
- package/dist/lib/command-framework/help/_BaseCommandRenderer.js.map +0 -1
- package/dist/lib/command-framework/help/consts.js +0 -27
- package/dist/lib/command-framework/help/consts.js.map +0 -1
- package/dist/lib/command-framework/help.js +0 -105
- package/dist/lib/command-framework/help.js.map +0 -1
- package/dist/lib/commands/pretty-print-bytes.js +0 -13
- package/dist/lib/commands/pretty-print-bytes.js.map +0 -1
- package/dist/lib/commands/pretty-print-status.js +0 -29
- package/dist/lib/commands/pretty-print-status.js.map +0 -1
- package/dist/lib/commands/read-stdin.js +0 -42
- package/dist/lib/commands/read-stdin.js.map +0 -1
- package/dist/lib/commands/resolve-actor-context.js +0 -70
- package/dist/lib/commands/resolve-actor-context.js.map +0 -1
- package/dist/lib/commands/resolve-input.js +0 -162
- package/dist/lib/commands/resolve-input.js.map +0 -1
- package/dist/lib/commands/responsive-table.js +0 -129
- package/dist/lib/commands/responsive-table.js.map +0 -1
- package/dist/lib/commands/run-on-cloud.js +0 -126
- package/dist/lib/commands/run-on-cloud.js.map +0 -1
- package/dist/lib/commands/storage-size.js +0 -8
- package/dist/lib/commands/storage-size.js.map +0 -1
- package/dist/lib/commands/storages.js +0 -30
- package/dist/lib/commands/storages.js.map +0 -1
- package/dist/lib/consts.js +0 -69
- package/dist/lib/consts.js.map +0 -1
- package/dist/lib/create-utils.js +0 -156
- package/dist/lib/create-utils.js.map +0 -1
- package/dist/lib/exec.js +0 -34
- package/dist/lib/exec.js.map +0 -1
- package/dist/lib/files.js +0 -54
- package/dist/lib/files.js.map +0 -1
- package/dist/lib/hooks/runtimes/javascript.js +0 -86
- package/dist/lib/hooks/runtimes/javascript.js.map +0 -1
- package/dist/lib/hooks/runtimes/python.js +0 -80
- package/dist/lib/hooks/runtimes/python.js.map +0 -1
- package/dist/lib/hooks/runtimes/utils.js +0 -16
- package/dist/lib/hooks/runtimes/utils.js.map +0 -1
- package/dist/lib/hooks/useActorConfig.js +0 -177
- package/dist/lib/hooks/useActorConfig.js.map +0 -1
- package/dist/lib/hooks/useCLIMetadata.js +0 -73
- package/dist/lib/hooks/useCLIMetadata.js.map +0 -1
- package/dist/lib/hooks/useCLIVersionCheck.js +0 -91
- package/dist/lib/hooks/useCLIVersionCheck.js.map +0 -1
- package/dist/lib/hooks/useCommandSuggestions.js +0 -37
- package/dist/lib/hooks/useCommandSuggestions.js.map +0 -1
- package/dist/lib/hooks/useCwdProject.js +0 -174
- package/dist/lib/hooks/useCwdProject.js.map +0 -1
- package/dist/lib/hooks/useLocalState.js +0 -56
- package/dist/lib/hooks/useLocalState.js.map +0 -1
- package/dist/lib/hooks/useModuleVersion.js +0 -103
- package/dist/lib/hooks/useModuleVersion.js.map +0 -1
- package/dist/lib/hooks/useStdin.js +0 -65
- package/dist/lib/hooks/useStdin.js.map +0 -1
- package/dist/lib/input_schema.js +0 -130
- package/dist/lib/input_schema.js.map +0 -1
- package/dist/lib/outputs.js +0 -45
- package/dist/lib/outputs.js.map +0 -1
- package/dist/lib/project_analyzer.js +0 -30
- package/dist/lib/project_analyzer.js.map +0 -1
- package/dist/lib/projects/CrawleeAnalyzer.js +0 -20
- package/dist/lib/projects/CrawleeAnalyzer.js.map +0 -1
- package/dist/lib/projects/OldApifySDKAnalyzer.js +0 -38
- package/dist/lib/projects/OldApifySDKAnalyzer.js.map +0 -1
- package/dist/lib/projects/scrapy/ScrapyProjectAnalyzer.js +0 -73
- package/dist/lib/projects/scrapy/ScrapyProjectAnalyzer.js.map +0 -1
- package/dist/lib/projects/scrapy/Spider.js +0 -13
- package/dist/lib/projects/scrapy/Spider.js.map +0 -1
- package/dist/lib/projects/scrapy/SpiderFileAnalyzer.js +0 -20
- package/dist/lib/projects/scrapy/SpiderFileAnalyzer.js.map +0 -1
- package/dist/lib/projects/scrapy/wrapScrapyProject.js +0 -113
- package/dist/lib/projects/scrapy/wrapScrapyProject.js.map +0 -1
- package/dist/lib/projects/shared.js +0 -13
- package/dist/lib/projects/shared.js.map +0 -1
- package/dist/lib/secrets.js +0 -106
- package/dist/lib/secrets.js.map +0 -1
- package/dist/lib/telemetry.js +0 -86
- package/dist/lib/telemetry.js.map +0 -1
- package/dist/lib/types.js +0 -4
- package/dist/lib/types.js.map +0 -1
- package/dist/lib/utils/cliDebugPrint.js +0 -7
- package/dist/lib/utils/cliDebugPrint.js.map +0 -1
- package/dist/lib/utils/confirm.js +0 -28
- package/dist/lib/utils/confirm.js.map +0 -1
- package/dist/lib/utils.js +0 -457
- package/dist/lib/utils.js.map +0 -1
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
import chalk from 'chalk';
|
|
2
|
-
import { ApifyCommand } from '../../lib/command-framework/apify-command.js';
|
|
3
|
-
import { Flags } from '../../lib/command-framework/flags.js';
|
|
4
|
-
import { prettyPrintBytes } from '../../lib/commands/pretty-print-bytes.js';
|
|
5
|
-
import { CompactMode, ResponsiveTable } from '../../lib/commands/responsive-table.js';
|
|
6
|
-
import { info, simpleLog } from '../../lib/outputs.js';
|
|
7
|
-
import { getLocalUserInfo, getLoggedClientOrThrow, printJsonToStdout, TimestampFormatter } from '../../lib/utils.js';
|
|
8
|
-
const table = new ResponsiveTable({
|
|
9
|
-
allColumns: ['Dataset ID', 'Name', 'Items', 'Size', 'Created', 'Modified'],
|
|
10
|
-
mandatoryColumns: ['Dataset ID', 'Name', 'Items', 'Size'],
|
|
11
|
-
columnAlignments: {
|
|
12
|
-
Items: 'right',
|
|
13
|
-
},
|
|
14
|
-
});
|
|
15
|
-
export class DatasetsLsCommand extends ApifyCommand {
|
|
16
|
-
static name = 'ls';
|
|
17
|
-
static description = 'Prints all datasets on your account.';
|
|
18
|
-
static flags = {
|
|
19
|
-
offset: Flags.integer({
|
|
20
|
-
description: 'Number of datasets that will be skipped.',
|
|
21
|
-
default: 0,
|
|
22
|
-
}),
|
|
23
|
-
limit: Flags.integer({
|
|
24
|
-
description: 'Number of datasets that will be listed.',
|
|
25
|
-
default: 20,
|
|
26
|
-
}),
|
|
27
|
-
desc: Flags.boolean({
|
|
28
|
-
description: 'Sorts datasets in descending order.',
|
|
29
|
-
default: false,
|
|
30
|
-
}),
|
|
31
|
-
unnamed: Flags.boolean({
|
|
32
|
-
description: "Lists datasets that don't have a name set.",
|
|
33
|
-
default: false,
|
|
34
|
-
}),
|
|
35
|
-
};
|
|
36
|
-
static enableJsonFlag = true;
|
|
37
|
-
async run() {
|
|
38
|
-
const { desc, offset, limit, json, unnamed } = this.flags;
|
|
39
|
-
const client = await getLoggedClientOrThrow();
|
|
40
|
-
const user = await getLocalUserInfo();
|
|
41
|
-
const rawDatasetList = await client.datasets().list({ desc, offset, limit, unnamed });
|
|
42
|
-
if (json) {
|
|
43
|
-
printJsonToStdout(rawDatasetList);
|
|
44
|
-
return;
|
|
45
|
-
}
|
|
46
|
-
if (rawDatasetList.count === 0) {
|
|
47
|
-
info({
|
|
48
|
-
message: "You don't have any Datasets on your account",
|
|
49
|
-
stdout: true,
|
|
50
|
-
});
|
|
51
|
-
return;
|
|
52
|
-
}
|
|
53
|
-
for (const dataset of rawDatasetList.items) {
|
|
54
|
-
// TODO: update apify-client types
|
|
55
|
-
const size = Reflect.get(dataset.stats, 's3StorageBytes');
|
|
56
|
-
table.pushRow({
|
|
57
|
-
'Dataset ID': dataset.id,
|
|
58
|
-
Created: TimestampFormatter.display(dataset.createdAt),
|
|
59
|
-
Items: `${dataset.itemCount}`,
|
|
60
|
-
Modified: TimestampFormatter.display(dataset.modifiedAt),
|
|
61
|
-
Name: dataset.name ? `${user.username}/${dataset.name}` : '',
|
|
62
|
-
Size: typeof size === 'number'
|
|
63
|
-
? prettyPrintBytes({ bytes: size, shortBytes: true, colorFunc: chalk.gray, precision: 0 })
|
|
64
|
-
: chalk.gray('N/A'),
|
|
65
|
-
});
|
|
66
|
-
}
|
|
67
|
-
simpleLog({
|
|
68
|
-
message: table.render(CompactMode.WebLikeCompact),
|
|
69
|
-
stdout: true,
|
|
70
|
-
});
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
//# sourceMappingURL=ls.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ls.js","sourceRoot":"","sources":["../../../src/commands/datasets/ls.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
import chalk from 'chalk';
|
|
2
|
-
import { cachedStdinInput } from '../../entrypoints/_shared.js';
|
|
3
|
-
import { ApifyCommand } from '../../lib/command-framework/apify-command.js';
|
|
4
|
-
import { Args } from '../../lib/command-framework/args.js';
|
|
5
|
-
import { tryToGetDataset } from '../../lib/commands/storages.js';
|
|
6
|
-
import { error, success } from '../../lib/outputs.js';
|
|
7
|
-
import { getLoggedClientOrThrow } from '../../lib/utils.js';
|
|
8
|
-
export class DatasetsPushDataCommand extends ApifyCommand {
|
|
9
|
-
static name = 'push-items';
|
|
10
|
-
static description = 'Adds data items to specified dataset. Accepts single object or array of objects.';
|
|
11
|
-
static args = {
|
|
12
|
-
nameOrId: Args.string({
|
|
13
|
-
required: true,
|
|
14
|
-
description: 'The dataset ID or name to push the objects to',
|
|
15
|
-
ignoreStdin: true,
|
|
16
|
-
}),
|
|
17
|
-
item: Args.string({
|
|
18
|
-
description: 'The object or array of objects to be pushed.',
|
|
19
|
-
}),
|
|
20
|
-
};
|
|
21
|
-
async run() {
|
|
22
|
-
const { nameOrId, item: _item } = this.args;
|
|
23
|
-
const client = await getLoggedClientOrThrow();
|
|
24
|
-
const existingDataset = await tryToGetDataset(client, nameOrId);
|
|
25
|
-
if (!existingDataset) {
|
|
26
|
-
error({
|
|
27
|
-
message: `Dataset with ID or name "${nameOrId}" not found.`,
|
|
28
|
-
});
|
|
29
|
-
return;
|
|
30
|
-
}
|
|
31
|
-
const { datasetClient, dataset } = existingDataset;
|
|
32
|
-
let parsedData;
|
|
33
|
-
const item = _item || cachedStdinInput;
|
|
34
|
-
if (!item) {
|
|
35
|
-
error({ message: 'No items were provided.' });
|
|
36
|
-
return;
|
|
37
|
-
}
|
|
38
|
-
try {
|
|
39
|
-
parsedData = JSON.parse(item.toString('utf8'));
|
|
40
|
-
}
|
|
41
|
-
catch (err) {
|
|
42
|
-
error({
|
|
43
|
-
message: `Failed to parse data as JSON string: ${err.message}`,
|
|
44
|
-
});
|
|
45
|
-
return;
|
|
46
|
-
}
|
|
47
|
-
if (Array.isArray(parsedData) && parsedData.length === 0) {
|
|
48
|
-
error({
|
|
49
|
-
message: 'No items were provided.',
|
|
50
|
-
});
|
|
51
|
-
return;
|
|
52
|
-
}
|
|
53
|
-
const idMessage = dataset.name
|
|
54
|
-
? `Dataset named ${chalk.yellow(dataset.name)} (${chalk.gray('ID:')} ${chalk.yellow(dataset.id)})`
|
|
55
|
-
: `Dataset with ID ${chalk.yellow(dataset.id)}`;
|
|
56
|
-
try {
|
|
57
|
-
await datasetClient.pushItems(parsedData);
|
|
58
|
-
success({
|
|
59
|
-
message: `${this.pluralString(Array.isArray(parsedData) ? parsedData.length : 1, 'Object', 'Objects')} pushed to ${idMessage} successfully.`,
|
|
60
|
-
});
|
|
61
|
-
}
|
|
62
|
-
catch (err) {
|
|
63
|
-
const casted = err;
|
|
64
|
-
error({
|
|
65
|
-
message: `Failed to push items into ${idMessage}\n ${casted.message || casted}`,
|
|
66
|
-
});
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
//# sourceMappingURL=push-items.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"push-items.js","sourceRoot":"","sources":["../../../src/commands/datasets/push-items.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
import chalk from 'chalk';
|
|
2
|
-
import { ApifyCommand } from '../../lib/command-framework/apify-command.js';
|
|
3
|
-
import { Args } from '../../lib/command-framework/args.js';
|
|
4
|
-
import { Flags } from '../../lib/command-framework/flags.js';
|
|
5
|
-
import { tryToGetDataset } from '../../lib/commands/storages.js';
|
|
6
|
-
import { error, success } from '../../lib/outputs.js';
|
|
7
|
-
import { getLoggedClientOrThrow } from '../../lib/utils.js';
|
|
8
|
-
export class DatasetsRenameCommand extends ApifyCommand {
|
|
9
|
-
static name = 'rename';
|
|
10
|
-
static description = 'Change dataset name or removes name with --unname flag.';
|
|
11
|
-
static flags = {
|
|
12
|
-
unname: Flags.boolean({
|
|
13
|
-
description: 'Removes the unique name of the dataset.',
|
|
14
|
-
}),
|
|
15
|
-
};
|
|
16
|
-
static args = {
|
|
17
|
-
nameOrId: Args.string({
|
|
18
|
-
description: 'The dataset ID or name to delete.',
|
|
19
|
-
required: true,
|
|
20
|
-
}),
|
|
21
|
-
newName: Args.string({
|
|
22
|
-
description: 'The new name for the dataset.',
|
|
23
|
-
}),
|
|
24
|
-
};
|
|
25
|
-
async run() {
|
|
26
|
-
const { unname } = this.flags;
|
|
27
|
-
const { newName, nameOrId } = this.args;
|
|
28
|
-
if (!newName && !unname) {
|
|
29
|
-
error({ message: 'You must provide either a new name or the --unname flag.' });
|
|
30
|
-
return;
|
|
31
|
-
}
|
|
32
|
-
if (newName && unname) {
|
|
33
|
-
error({
|
|
34
|
-
message: 'You cannot provide a new name and the --unname flag.',
|
|
35
|
-
});
|
|
36
|
-
return;
|
|
37
|
-
}
|
|
38
|
-
const client = await getLoggedClientOrThrow();
|
|
39
|
-
const existingDataset = await tryToGetDataset(client, nameOrId);
|
|
40
|
-
if (!existingDataset) {
|
|
41
|
-
error({
|
|
42
|
-
message: `Dataset with ID or name "${nameOrId}" not found.`,
|
|
43
|
-
});
|
|
44
|
-
return;
|
|
45
|
-
}
|
|
46
|
-
const { id, name } = existingDataset.dataset;
|
|
47
|
-
const successMessage = (() => {
|
|
48
|
-
if (!name) {
|
|
49
|
-
return `The name of the dataset with ID ${chalk.yellow(id)} has been set to: ${chalk.yellow(newName)}`;
|
|
50
|
-
}
|
|
51
|
-
if (unname) {
|
|
52
|
-
return `The name of the dataset with ID ${chalk.yellow(id)} has been removed (was ${chalk.yellow(name)} previously).`;
|
|
53
|
-
}
|
|
54
|
-
return `The name of the dataset with ID ${chalk.yellow(id)} was changed from ${chalk.yellow(name)} to ${chalk.yellow(newName)}.`;
|
|
55
|
-
})();
|
|
56
|
-
try {
|
|
57
|
-
await existingDataset.datasetClient.update({ name: unname ? null : newName });
|
|
58
|
-
success({
|
|
59
|
-
message: successMessage,
|
|
60
|
-
stdout: true,
|
|
61
|
-
});
|
|
62
|
-
}
|
|
63
|
-
catch (err) {
|
|
64
|
-
const casted = err;
|
|
65
|
-
error({
|
|
66
|
-
message: `Failed to rename dataset with ID ${chalk.yellow(id)}\n ${casted.message || casted}`,
|
|
67
|
-
});
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
//# sourceMappingURL=rename.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"rename.js","sourceRoot":"","sources":["../../../src/commands/datasets/rename.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import chalk from 'chalk';
|
|
2
|
-
import { ApifyCommand } from '../../lib/command-framework/apify-command.js';
|
|
3
|
-
import { Args } from '../../lib/command-framework/args.js';
|
|
4
|
-
import { tryToGetDataset } from '../../lib/commands/storages.js';
|
|
5
|
-
import { error, info, success } from '../../lib/outputs.js';
|
|
6
|
-
import { getLoggedClientOrThrow } from '../../lib/utils.js';
|
|
7
|
-
import { confirmAction } from '../../lib/utils/confirm.js';
|
|
8
|
-
export class DatasetsRmCommand extends ApifyCommand {
|
|
9
|
-
static name = 'rm';
|
|
10
|
-
static description = 'Permanently removes a dataset.';
|
|
11
|
-
static args = {
|
|
12
|
-
datasetNameOrId: Args.string({
|
|
13
|
-
description: 'The dataset ID or name to delete',
|
|
14
|
-
required: true,
|
|
15
|
-
}),
|
|
16
|
-
};
|
|
17
|
-
async run() {
|
|
18
|
-
const { datasetNameOrId } = this.args;
|
|
19
|
-
const client = await getLoggedClientOrThrow();
|
|
20
|
-
const existingDataset = await tryToGetDataset(client, datasetNameOrId);
|
|
21
|
-
if (!existingDataset) {
|
|
22
|
-
error({
|
|
23
|
-
message: `Dataset with ID or name "${datasetNameOrId}" not found.`,
|
|
24
|
-
});
|
|
25
|
-
return;
|
|
26
|
-
}
|
|
27
|
-
const confirmed = await confirmAction({ type: 'Dataset' });
|
|
28
|
-
if (!confirmed) {
|
|
29
|
-
info({ message: 'Dataset deletion has been aborted.' });
|
|
30
|
-
return;
|
|
31
|
-
}
|
|
32
|
-
const { id, name } = existingDataset.dataset;
|
|
33
|
-
try {
|
|
34
|
-
await existingDataset.datasetClient.delete();
|
|
35
|
-
success({
|
|
36
|
-
message: `Dataset with ID ${chalk.yellow(id)}${name ? ` (called ${chalk.yellow(name)})` : ''} has been deleted.`,
|
|
37
|
-
stdout: true,
|
|
38
|
-
});
|
|
39
|
-
}
|
|
40
|
-
catch (err) {
|
|
41
|
-
const casted = err;
|
|
42
|
-
error({
|
|
43
|
-
message: `Failed to delete dataset with ID ${chalk.yellow(id)}\n ${casted.message || casted}`,
|
|
44
|
-
});
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
//# sourceMappingURL=rm.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"rm.js","sourceRoot":"","sources":["../../../src/commands/datasets/rm.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,YAAY,EAAE,MAAM,8CAA8C,CAAC;AAC5E,OAAO,EAAE,IAAI,EAAE,MAAM,qCAAqC,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAE3D,MAAM,OAAO,iBAAkB,SAAQ,YAAsC;IAC5E,MAAM,CAAU,IAAI,GAAG,IAAa,CAAC;IAErC,MAAM,CAAU,WAAW,GAAG,gCAAgC,CAAC;IAE/D,MAAM,CAAU,IAAI,GAAG;QACtB,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC;YAC5B,WAAW,EAAE,kCAAkC;YAC/C,QAAQ,EAAE,IAAI;SACd,CAAC;KACF,CAAC;IAEF,KAAK,CAAC,GAAG;QACR,MAAM,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC;QAEtC,MAAM,MAAM,GAAG,MAAM,sBAAsB,EAAE,CAAC;QAE9C,MAAM,eAAe,GAAG,MAAM,eAAe,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;QAEvE,IAAI,CAAC,eAAe,EAAE,CAAC;YACtB,KAAK,CAAC;gBACL,OAAO,EAAE,4BAA4B,eAAe,cAAc;aAClE,CAAC,CAAC;YAEH,OAAO;QACR,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;QAE3D,IAAI,CAAC,SAAS,EAAE,CAAC;YAChB,IAAI,CAAC,EAAE,OAAO,EAAE,oCAAoC,EAAE,CAAC,CAAC;YACxD,OAAO;QACR,CAAC;QAED,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,eAAe,CAAC,OAAO,CAAC;QAE7C,IAAI,CAAC;YACJ,MAAM,eAAe,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;YAE7C,OAAO,CAAC;gBACP,OAAO,EAAE,mBAAmB,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,YAAY,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,oBAAoB;gBAChH,MAAM,EAAE,IAAI;aACZ,CAAC,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACd,MAAM,MAAM,GAAG,GAAoB,CAAC;YAEpC,KAAK,CAAC;gBACL,OAAO,EAAE,oCAAoC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,MAAM,CAAC,OAAO,IAAI,MAAM,EAAE;aAC9F,CAAC,CAAC;QACJ,CAAC;IACF,CAAC"}
|
|
@@ -1,162 +0,0 @@
|
|
|
1
|
-
import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs';
|
|
2
|
-
import { dirname } from 'node:path';
|
|
3
|
-
import cors from 'cors';
|
|
4
|
-
import detectIndent from 'detect-indent';
|
|
5
|
-
import express from 'express';
|
|
6
|
-
import open from 'open';
|
|
7
|
-
import { cryptoRandomObjectId } from '@apify/utilities';
|
|
8
|
-
import { ApifyCommand } from '../lib/command-framework/apify-command.js';
|
|
9
|
-
import { Args } from '../lib/command-framework/args.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
|
-
static name = 'edit-input-schema';
|
|
19
|
-
static description = 'Lets you edit your input schema that would be used on the platform in a visual input schema editor.';
|
|
20
|
-
static args = {
|
|
21
|
-
path: Args.string({
|
|
22
|
-
required: false,
|
|
23
|
-
description: 'Optional path to your INPUT_SCHEMA.json file. If not provided default platform location for input schema is used.',
|
|
24
|
-
}),
|
|
25
|
-
};
|
|
26
|
-
static hidden = true;
|
|
27
|
-
static aliases = ['eis'];
|
|
28
|
-
async run() {
|
|
29
|
-
// This call fails if no input schema is found on any of the default locations
|
|
30
|
-
const { inputSchema: existingSchema, inputSchemaPath } = await readInputSchema({
|
|
31
|
-
forcePath: this.args.path,
|
|
32
|
-
cwd: process.cwd(),
|
|
33
|
-
});
|
|
34
|
-
if (existingSchema && !inputSchemaPath) {
|
|
35
|
-
// If path is not returned, it means the input schema must be directly embedded as object in actor.json
|
|
36
|
-
// TODO - allow editing input schema embedded in actor.json
|
|
37
|
-
throw new Error(`Editing an input schema directly embedded in '${LOCAL_CONFIG_PATH}' is not yet supported.`);
|
|
38
|
-
}
|
|
39
|
-
warning({ message: 'This command is still experimental and might break at any time. Use at your own risk.\n' });
|
|
40
|
-
info({ message: `Editing input schema at "${inputSchemaPath}"...` });
|
|
41
|
-
let server;
|
|
42
|
-
const app = express();
|
|
43
|
-
// To send requests from browser to localhost, CORS has to be configured properly
|
|
44
|
-
app.use(cors({
|
|
45
|
-
origin: INPUT_SCHEMA_EDITOR_ORIGIN,
|
|
46
|
-
allowedHeaders: ['Content-Type', 'Authorization'],
|
|
47
|
-
}));
|
|
48
|
-
// Turn off keepalive, otherwise closing the server when command is finished is lagging
|
|
49
|
-
app.use((_, res, next) => {
|
|
50
|
-
res.set('Connection', 'close');
|
|
51
|
-
next();
|
|
52
|
-
});
|
|
53
|
-
app.use(express.json());
|
|
54
|
-
// Basic authorization via a random token, which is passed to the input schema editor,
|
|
55
|
-
// and that sends it back via the `token` query param, or `Authorization` header
|
|
56
|
-
const authToken = cryptoRandomObjectId();
|
|
57
|
-
app.use((req, res, next) => {
|
|
58
|
-
let { token } = req.query;
|
|
59
|
-
if (!token) {
|
|
60
|
-
const authorizationHeader = req.get('Authorization');
|
|
61
|
-
if (authorizationHeader) {
|
|
62
|
-
const [schema, tokenFromHeader, ...extra] = authorizationHeader.trim().split(/\s+/);
|
|
63
|
-
if (schema.toLowerCase() === 'bearer' && tokenFromHeader && extra.length === 0) {
|
|
64
|
-
token = tokenFromHeader;
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
if (token !== authToken) {
|
|
69
|
-
res.status(401);
|
|
70
|
-
res.send('Authorization failed');
|
|
71
|
-
}
|
|
72
|
-
else {
|
|
73
|
-
next();
|
|
74
|
-
}
|
|
75
|
-
});
|
|
76
|
-
const apiRouter = express.Router();
|
|
77
|
-
app.use(`/api/${API_VERSION}`, apiRouter);
|
|
78
|
-
// We detect the format of the input schema JSON, so that updating it does not cause too many changes
|
|
79
|
-
let jsonIndentation = ' ';
|
|
80
|
-
let appendFinalNewline = true;
|
|
81
|
-
apiRouter.get('/input-schema', (_, res) => {
|
|
82
|
-
let inputSchemaStr;
|
|
83
|
-
try {
|
|
84
|
-
inputSchemaStr = existsSync(inputSchemaPath)
|
|
85
|
-
? readFileSync(inputSchemaPath, { encoding: 'utf-8' })
|
|
86
|
-
: '{}\n';
|
|
87
|
-
if (inputSchemaStr.length > 3) {
|
|
88
|
-
jsonIndentation = detectIndent(inputSchemaStr).indent || jsonIndentation;
|
|
89
|
-
}
|
|
90
|
-
if (inputSchemaStr) {
|
|
91
|
-
appendFinalNewline = inputSchemaStr[inputSchemaStr.length - 1] === '\n';
|
|
92
|
-
}
|
|
93
|
-
if (existsSync(inputSchemaPath)) {
|
|
94
|
-
info({ message: `Input schema loaded from "${inputSchemaPath}"` });
|
|
95
|
-
}
|
|
96
|
-
else {
|
|
97
|
-
info({ message: `Empty input schema initialized.` });
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
catch (err) {
|
|
101
|
-
const errorMessage = `Reading input schema from disk failed with: ${err.message}`;
|
|
102
|
-
error({ message: errorMessage });
|
|
103
|
-
res.status(500);
|
|
104
|
-
res.send(errorMessage);
|
|
105
|
-
return;
|
|
106
|
-
}
|
|
107
|
-
let inputSchemaObj;
|
|
108
|
-
try {
|
|
109
|
-
inputSchemaObj = JSON.parse(inputSchemaStr || '{}');
|
|
110
|
-
}
|
|
111
|
-
catch (err) {
|
|
112
|
-
const errorMessage = `Parsing input schema failed with error: ${err.message}`;
|
|
113
|
-
error({ message: errorMessage });
|
|
114
|
-
res.status(500);
|
|
115
|
-
res.send(errorMessage);
|
|
116
|
-
return;
|
|
117
|
-
}
|
|
118
|
-
res.send(inputSchemaObj);
|
|
119
|
-
info({ message: 'Input schema sent to editor.' });
|
|
120
|
-
});
|
|
121
|
-
apiRouter.post('/input-schema', (req, res) => {
|
|
122
|
-
try {
|
|
123
|
-
info({ message: 'Got input schema from editor...' });
|
|
124
|
-
const inputSchemaObj = req.body;
|
|
125
|
-
let inputSchemaStr = JSON.stringify(inputSchemaObj, null, jsonIndentation);
|
|
126
|
-
if (appendFinalNewline)
|
|
127
|
-
inputSchemaStr += '\n';
|
|
128
|
-
const inputSchemaDir = dirname(inputSchemaPath);
|
|
129
|
-
if (!existsSync(inputSchemaDir)) {
|
|
130
|
-
mkdirSync(inputSchemaDir, { recursive: true });
|
|
131
|
-
}
|
|
132
|
-
writeFileSync(inputSchemaPath, inputSchemaStr, { encoding: 'utf-8', flag: 'w+' });
|
|
133
|
-
res.end();
|
|
134
|
-
info({ message: 'Input schema saved to disk.' });
|
|
135
|
-
}
|
|
136
|
-
catch (err) {
|
|
137
|
-
const errorMessage = `Saving input schema failed with error: ${err.message}`;
|
|
138
|
-
error({ message: errorMessage });
|
|
139
|
-
res.status(500);
|
|
140
|
-
res.send(errorMessage);
|
|
141
|
-
}
|
|
142
|
-
});
|
|
143
|
-
apiRouter.post('/exit', (req, res) => {
|
|
144
|
-
if (req.body.isWindowClosed) {
|
|
145
|
-
info({ message: 'Editor closed, finishing...' });
|
|
146
|
-
}
|
|
147
|
-
else {
|
|
148
|
-
info({ message: 'Editing finished, you can close the editor.' });
|
|
149
|
-
}
|
|
150
|
-
res.end();
|
|
151
|
-
server.close(() => success({ message: 'Done.' }));
|
|
152
|
-
});
|
|
153
|
-
// Listening on port 0 will assign a random available port
|
|
154
|
-
server = app.listen(0);
|
|
155
|
-
const { port } = server.address();
|
|
156
|
-
info({ message: `Listening for messages from input schema editor on port ${port}...` });
|
|
157
|
-
const editorUrl = `${INPUT_SCHEMA_EDITOR_BASE_URL}?localCliPort=${port}&localCliToken=${authToken}&localCliApiVersion=${API_VERSION}`;
|
|
158
|
-
info({ message: `Opening input schema editor at "${editorUrl}"...` });
|
|
159
|
-
await open(editorUrl);
|
|
160
|
-
}
|
|
161
|
-
}
|
|
162
|
-
//# 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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"}
|
package/dist/commands/help.js
DELETED
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import chalk from 'chalk';
|
|
2
|
-
import { ApifyCommand, commandRegistry } from '../lib/command-framework/apify-command.js';
|
|
3
|
-
import { Args } from '../lib/command-framework/args.js';
|
|
4
|
-
import { renderHelpForCommand, renderMainHelpMenu } from '../lib/command-framework/help.js';
|
|
5
|
-
import { useCommandSuggestions } from '../lib/hooks/useCommandSuggestions.js';
|
|
6
|
-
import { error } from '../lib/outputs.js';
|
|
7
|
-
export class HelpCommand extends ApifyCommand {
|
|
8
|
-
static name = 'help';
|
|
9
|
-
static description = 'Prints out help about a command, or all available commands.';
|
|
10
|
-
static hidden = true;
|
|
11
|
-
static args = {
|
|
12
|
-
commandString: Args.string({
|
|
13
|
-
required: false,
|
|
14
|
-
description: 'The command to get help for.',
|
|
15
|
-
catchAll: true,
|
|
16
|
-
}),
|
|
17
|
-
};
|
|
18
|
-
async run() {
|
|
19
|
-
const { commandString } = this.args;
|
|
20
|
-
if (!commandString || commandString.toLowerCase().startsWith('help')) {
|
|
21
|
-
const helpMenu = renderMainHelpMenu(this.entrypoint);
|
|
22
|
-
console.log(helpMenu);
|
|
23
|
-
return;
|
|
24
|
-
}
|
|
25
|
-
const lowercasedCommandString = commandString.toLowerCase();
|
|
26
|
-
const command = commandRegistry.get(lowercasedCommandString);
|
|
27
|
-
if (!command) {
|
|
28
|
-
const closestMatches = useCommandSuggestions(lowercasedCommandString);
|
|
29
|
-
let message = chalk.gray(`Command ${chalk.whiteBright(commandString)} not found`);
|
|
30
|
-
if (closestMatches.length) {
|
|
31
|
-
message += '\n ';
|
|
32
|
-
message += chalk.gray(`Did you mean: ${closestMatches.map((cmd) => chalk.whiteBright(cmd)).join(', ')}?`);
|
|
33
|
-
}
|
|
34
|
-
error({
|
|
35
|
-
message,
|
|
36
|
-
});
|
|
37
|
-
return;
|
|
38
|
-
}
|
|
39
|
-
const helpMenu = renderHelpForCommand(command);
|
|
40
|
-
console.log(helpMenu);
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
//# sourceMappingURL=help.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"help.js","sourceRoot":"","sources":["../../src/commands/help.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAC;AAC1F,OAAO,EAAE,IAAI,EAAE,MAAM,kCAAkC,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAC5F,OAAO,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AAC9E,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE1C,MAAM,OAAO,WAAY,SAAQ,YAAgC;IAChE,MAAM,CAAU,IAAI,GAAG,MAAe,CAAC;IAEvC,MAAM,CAAU,WAAW,GAAG,6DAA6D,CAAC;IAE5F,MAAM,CAAU,MAAM,GAAG,IAAI,CAAC;IAE9B,MAAM,CAAU,IAAI,GAAG;QACtB,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC;YAC1B,QAAQ,EAAE,KAAK;YACf,WAAW,EAAE,8BAA8B;YAC3C,QAAQ,EAAE,IAAI;SACd,CAAC;KACF,CAAC;IAEF,KAAK,CAAC,GAAG;QACR,MAAM,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC;QAEpC,IAAI,CAAC,aAAa,IAAI,aAAa,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YACtE,MAAM,QAAQ,GAAG,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAErD,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAEtB,OAAO;QACR,CAAC;QAED,MAAM,uBAAuB,GAAG,aAAa,CAAC,WAAW,EAAE,CAAC;QAE5D,MAAM,OAAO,GAAG,eAAe,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;QAE7D,IAAI,CAAC,OAAO,EAAE,CAAC;YACd,MAAM,cAAc,GAAG,qBAAqB,CAAC,uBAAuB,CAAC,CAAC;YAEtE,IAAI,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,KAAK,CAAC,WAAW,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;YAElF,IAAI,cAAc,CAAC,MAAM,EAAE,CAAC;gBAC3B,OAAO,IAAI,MAAM,CAAC;gBAClB,OAAO,IAAI,KAAK,CAAC,IAAI,CACpB,iBAAiB,cAAc,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAClF,CAAC;YACH,CAAC;YAED,KAAK,CAAC;gBACL,OAAO;aACP,CAAC,CAAC;YAEH,OAAO;QACR,CAAC;QAED,MAAM,QAAQ,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAE/C,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACvB,CAAC"}
|
package/dist/commands/info.js
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import chalk from 'chalk';
|
|
2
|
-
import { ApifyCommand } from '../lib/command-framework/apify-command.js';
|
|
3
|
-
import { getLocalUserInfo, getLoggedClientOrThrow } from '../lib/utils.js';
|
|
4
|
-
export class InfoCommand extends ApifyCommand {
|
|
5
|
-
static name = 'info';
|
|
6
|
-
static description = 'Prints details about your currently authenticated Apify account.';
|
|
7
|
-
async run() {
|
|
8
|
-
await getLoggedClientOrThrow();
|
|
9
|
-
const info = await getLocalUserInfo();
|
|
10
|
-
if (info) {
|
|
11
|
-
const niceInfo = {
|
|
12
|
-
username: info.username,
|
|
13
|
-
userId: info.id,
|
|
14
|
-
};
|
|
15
|
-
for (const key of Object.keys(niceInfo)) {
|
|
16
|
-
console.log(`${chalk.gray(key)}: ${chalk.bold(niceInfo[key])}`);
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
//# 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,2CAA2C,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAE3E,MAAM,OAAO,WAAY,SAAQ,YAAgC;IAChE,MAAM,CAAU,IAAI,GAAG,MAAe,CAAC;IAEvC,MAAM,CAAU,WAAW,GAAG,kEAAkE,CAAC;IAEjG,KAAK,CAAC,GAAG;QACR,MAAM,sBAAsB,EAAE,CAAC;QAC/B,MAAM,IAAI,GAAG,MAAM,gBAAgB,EAAE,CAAC;QAEtC,IAAI,IAAI,EAAE,CAAC;YACV,MAAM,QAAQ,GAAG;gBAChB,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,MAAM,EAAE,IAAI,CAAC,EAAE;aACN,CAAC;YAEX,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAA8B,EAAE,CAAC;gBACtE,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;YACjE,CAAC;QACF,CAAC;IACF,CAAC"}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { ApifyCommand } from '../lib/command-framework/apify-command.js';
|
|
2
|
-
import { Args } from '../lib/command-framework/args.js';
|
|
3
|
-
import { info } from '../lib/outputs.js';
|
|
4
|
-
import { wrapScrapyProject } from '../lib/projects/scrapy/wrapScrapyProject.js';
|
|
5
|
-
export class WrapScrapyCommand extends ApifyCommand {
|
|
6
|
-
static name = 'init-wrap-scrapy';
|
|
7
|
-
static description = `Wraps your existing Scrapy project to work like an Apify Actor.
|
|
8
|
-
|
|
9
|
-
It adds the following features:
|
|
10
|
-
- Automatic retry of failed requests
|
|
11
|
-
- Automatic proxy rotation
|
|
12
|
-
- Automatic user agent rotation
|
|
13
|
-
...
|
|
14
|
-
`;
|
|
15
|
-
static args = {
|
|
16
|
-
path: Args.string({
|
|
17
|
-
required: false,
|
|
18
|
-
description: 'Optional path to your scrapy project. If not provided, the current directory is used.',
|
|
19
|
-
}),
|
|
20
|
-
};
|
|
21
|
-
static hidden = true;
|
|
22
|
-
async run() {
|
|
23
|
-
await wrapScrapyProject({ projectPath: this.args.path });
|
|
24
|
-
info({ message: 'Scrapy project wrapped successfully.' });
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
//# 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,YAAY,EAAE,MAAM,2CAA2C,CAAC;AACzE,OAAO,EAAE,IAAI,EAAE,MAAM,kCAAkC,CAAC;AACxD,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,6CAA6C,CAAC;AAEhF,MAAM,OAAO,iBAAkB,SAAQ,YAAsC;IAC5E,MAAM,CAAU,IAAI,GAAG,kBAA2B,CAAC;IAEnD,MAAM,CAAU,WAAW,GAAG;;;;;;;CAO9B,CAAC;IAED,MAAM,CAAU,IAAI,GAAG;QACtB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;YACjB,QAAQ,EAAE,KAAK;YACf,WAAW,EAAE,uFAAuF;SACpG,CAAC;KACF,CAAC;IAEF,MAAM,CAAU,MAAM,GAAG,IAAI,CAAC;IAE9B,KAAK,CAAC,GAAG;QACR,MAAM,iBAAiB,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAEzD,IAAI,CAAC,EAAE,OAAO,EAAE,sCAAsC,EAAE,CAAC,CAAC;IAC3D,CAAC"}
|