apify-cli 0.21.10-beta.5 → 0.21.10-beta.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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-SA3HH2MX.js +236 -0
- package/dist/chunk-SA3HH2MX.js.map +1 -0
- package/dist/index.js +2 -3
- package/package.json +6 -6
- package/dist/commands/_register.js +0 -72
- 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/cli-management/install.js +0 -138
- package/dist/commands/cli-management/install.js.map +0 -1
- package/dist/commands/cli-management/upgrade.js +0 -270
- package/dist/commands/cli-management/upgrade.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/validate-schema.js +0 -44
- package/dist/commands/validate-schema.js.map +0 -1
- package/dist/entrypoints/_shared.js +0 -258
- 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 -429
- 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 -233
- 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 -58
- 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 -83
- package/dist/lib/hooks/useCLIMetadata.js.map +0 -1
- package/dist/lib/hooks/useCLIVersionAssets.js +0 -92
- package/dist/lib/hooks/useCLIVersionAssets.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,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"}
|
package/dist/commands/init.js
DELETED
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
import { basename } from 'node:path';
|
|
2
|
-
import process from 'node:process';
|
|
3
|
-
import inquirer from 'inquirer';
|
|
4
|
-
import { ApifyCommand } from '../lib/command-framework/apify-command.js';
|
|
5
|
-
import { Args } from '../lib/command-framework/args.js';
|
|
6
|
-
import { Flags } from '../lib/command-framework/flags.js';
|
|
7
|
-
import { CommandExitCodes, DEFAULT_LOCAL_STORAGE_DIR, EMPTY_LOCAL_CONFIG, LOCAL_CONFIG_PATH, PROJECT_TYPES, } from '../lib/consts.js';
|
|
8
|
-
import { useActorConfig } from '../lib/hooks/useActorConfig.js';
|
|
9
|
-
import { ProjectLanguage, useCwdProject } from '../lib/hooks/useCwdProject.js';
|
|
10
|
-
import { createPrefilledInputFileFromInputSchema } from '../lib/input_schema.js';
|
|
11
|
-
import { error, info, success, warning } from '../lib/outputs.js';
|
|
12
|
-
import { wrapScrapyProject } from '../lib/projects/scrapy/wrapScrapyProject.js';
|
|
13
|
-
import { setLocalConfig, setLocalEnv, validateActorName } from '../lib/utils.js';
|
|
14
|
-
export class InitCommand extends ApifyCommand {
|
|
15
|
-
static name = 'init';
|
|
16
|
-
static description = `Sets up an Actor project in your current directory by creating actor.json and storage files.\n` +
|
|
17
|
-
`If the directory contains a Scrapy project in Python, the command automatically creates wrappers so that you can run your scrapers without changes.\n` +
|
|
18
|
-
`Creates the '${LOCAL_CONFIG_PATH}' file and the '${DEFAULT_LOCAL_STORAGE_DIR}' directory in the current directory, but does not touch any other existing files or directories.\n\n` +
|
|
19
|
-
`WARNING: Overwrites existing '${DEFAULT_LOCAL_STORAGE_DIR}' directory.`;
|
|
20
|
-
static args = {
|
|
21
|
-
actorName: Args.string({
|
|
22
|
-
required: false,
|
|
23
|
-
description: 'Name of the Actor. If not provided, you will be prompted for it.',
|
|
24
|
-
}),
|
|
25
|
-
};
|
|
26
|
-
static flags = {
|
|
27
|
-
yes: Flags.boolean({
|
|
28
|
-
char: 'y',
|
|
29
|
-
description: 'Automatic yes to prompts; assume "yes" as answer to all prompts. Note that in some cases, the command may still ask for confirmation.',
|
|
30
|
-
required: false,
|
|
31
|
-
}),
|
|
32
|
-
};
|
|
33
|
-
async run() {
|
|
34
|
-
let { actorName } = this.args;
|
|
35
|
-
const cwd = process.cwd();
|
|
36
|
-
const projectResult = await useCwdProject();
|
|
37
|
-
// TODO: use direct .unwrap() once we migrate to yargs
|
|
38
|
-
if (projectResult.isErr()) {
|
|
39
|
-
error({ message: projectResult.unwrapErr().message });
|
|
40
|
-
process.exit(1);
|
|
41
|
-
}
|
|
42
|
-
const project = projectResult.unwrap();
|
|
43
|
-
if (project.type === ProjectLanguage.Scrapy) {
|
|
44
|
-
info({ message: 'The current directory looks like a Scrapy project. Using automatic project wrapping.' });
|
|
45
|
-
this.telemetryData.actorWrapper = PROJECT_TYPES.SCRAPY;
|
|
46
|
-
return wrapScrapyProject({ projectPath: cwd });
|
|
47
|
-
}
|
|
48
|
-
if (!this.flags.yes && project.type === ProjectLanguage.Unknown) {
|
|
49
|
-
warning({ message: 'The current directory does not look like a Node.js or Python project.' });
|
|
50
|
-
const { c } = await inquirer.prompt([{ name: 'c', message: 'Do you want to continue?', type: 'confirm' }]);
|
|
51
|
-
if (!c)
|
|
52
|
-
return;
|
|
53
|
-
}
|
|
54
|
-
const actorConfig = await useActorConfig({ cwd });
|
|
55
|
-
if (actorConfig.isOkAnd((cfg) => cfg.exists && !cfg.migrated)) {
|
|
56
|
-
warning({
|
|
57
|
-
message: `Skipping creation of '${LOCAL_CONFIG_PATH}', the file already exists in the current directory.`,
|
|
58
|
-
});
|
|
59
|
-
}
|
|
60
|
-
else {
|
|
61
|
-
if (actorConfig.isErr()) {
|
|
62
|
-
error({ message: actorConfig.unwrapErr().message });
|
|
63
|
-
process.exitCode = CommandExitCodes.InvalidActorJson;
|
|
64
|
-
return;
|
|
65
|
-
}
|
|
66
|
-
if (!actorName) {
|
|
67
|
-
let response = actorConfig.isOkAnd((cfg) => cfg.exists)
|
|
68
|
-
? { actName: actorConfig.unwrap().config.name }
|
|
69
|
-
: null;
|
|
70
|
-
while (!response) {
|
|
71
|
-
try {
|
|
72
|
-
const answer = await inquirer.prompt([
|
|
73
|
-
{ name: 'actName', message: 'Actor name:', default: basename(cwd), type: 'input' },
|
|
74
|
-
]);
|
|
75
|
-
validateActorName(answer.actName);
|
|
76
|
-
response = answer;
|
|
77
|
-
}
|
|
78
|
-
catch (err) {
|
|
79
|
-
error({ message: err.message });
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
({ actName: actorName } = response);
|
|
83
|
-
}
|
|
84
|
-
// Migrate apify.json to .actor/actor.json
|
|
85
|
-
const localConfig = { ...EMPTY_LOCAL_CONFIG, ...actorConfig.unwrap().config };
|
|
86
|
-
await setLocalConfig(Object.assign(localConfig, { name: actorName }), cwd);
|
|
87
|
-
}
|
|
88
|
-
await setLocalEnv(cwd);
|
|
89
|
-
// Create prefilled INPUT.json file from the input schema prefills
|
|
90
|
-
await createPrefilledInputFileFromInputSchema(cwd);
|
|
91
|
-
success({ message: 'The Actor has been initialized in the current directory.' });
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
//# 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,30 +0,0 @@
|
|
|
1
|
-
import { ApifyCommand } from '../../lib/command-framework/apify-command.js';
|
|
2
|
-
import { KeyValueStoresCreateCommand } from './create.js';
|
|
3
|
-
import { KeyValueStoresDeleteValueCommand } from './delete-value.js';
|
|
4
|
-
import { KeyValueStoresGetValueCommand } from './get-value.js';
|
|
5
|
-
import { KeyValueStoresInfoCommand } from './info.js';
|
|
6
|
-
import { KeyValueStoresKeysCommand } from './keys.js';
|
|
7
|
-
import { KeyValueStoresLsCommand } from './ls.js';
|
|
8
|
-
import { KeyValueStoresRenameCommand } from './rename.js';
|
|
9
|
-
import { KeyValueStoresRmCommand } from './rm.js';
|
|
10
|
-
import { KeyValueStoresSetValueCommand } from './set-value.js';
|
|
11
|
-
export class KeyValueStoresIndexCommand extends ApifyCommand {
|
|
12
|
-
static name = 'key-value-stores';
|
|
13
|
-
static description = 'Manages persistent key-value storage.\n\nAlias: kvs';
|
|
14
|
-
static hiddenAliases = ['kvs'];
|
|
15
|
-
static subcommands = [
|
|
16
|
-
KeyValueStoresCreateCommand,
|
|
17
|
-
KeyValueStoresDeleteValueCommand,
|
|
18
|
-
KeyValueStoresGetValueCommand,
|
|
19
|
-
KeyValueStoresInfoCommand,
|
|
20
|
-
KeyValueStoresKeysCommand,
|
|
21
|
-
KeyValueStoresLsCommand,
|
|
22
|
-
KeyValueStoresRenameCommand,
|
|
23
|
-
KeyValueStoresRmCommand,
|
|
24
|
-
KeyValueStoresSetValueCommand,
|
|
25
|
-
];
|
|
26
|
-
async run() {
|
|
27
|
-
this.printHelp();
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
//# sourceMappingURL=_index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"_index.js","sourceRoot":"","sources":["../../../src/commands/key-value-stores/_index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,8CAA8C,CAAC;AAC5E,OAAO,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,gCAAgC,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,6BAA6B,EAAE,MAAM,gBAAgB,CAAC;AAC/D,OAAO,EAAE,yBAAyB,EAAE,MAAM,WAAW,CAAC;AACtD,OAAO,EAAE,yBAAyB,EAAE,MAAM,WAAW,CAAC;AACtD,OAAO,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAClD,OAAO,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAClD,OAAO,EAAE,6BAA6B,EAAE,MAAM,gBAAgB,CAAC;AAE/D,MAAM,OAAO,0BAA2B,SAAQ,YAA+C;IAC9F,MAAM,CAAU,IAAI,GAAG,kBAA2B,CAAC;IAEnD,MAAM,CAAU,WAAW,GAAG,qDAAqD,CAAC;IAEpF,MAAM,CAAU,aAAa,GAAG,CAAC,KAAK,CAAC,CAAC;IAExC,MAAM,CAAU,WAAW,GAAG;QAC7B,2BAA2B;QAC3B,gCAAgC;QAChC,6BAA6B;QAC7B,yBAAyB;QACzB,yBAAyB;QACzB,uBAAuB;QACvB,2BAA2B;QAC3B,uBAAuB;QACvB,6BAA6B;KAC7B,CAAC;IAEF,KAAK,CAAC,GAAG;QACR,IAAI,CAAC,SAAS,EAAE,CAAC;IAClB,CAAC"}
|
|
@@ -1,38 +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 { tryToGetKeyValueStore } from '../../lib/commands/storages.js';
|
|
5
|
-
import { error, success } from '../../lib/outputs.js';
|
|
6
|
-
import { getLoggedClientOrThrow, printJsonToStdout } from '../../lib/utils.js';
|
|
7
|
-
export class KeyValueStoresCreateCommand extends ApifyCommand {
|
|
8
|
-
static name = 'create';
|
|
9
|
-
static description = 'Creates a new key-value store on your account.';
|
|
10
|
-
static args = {
|
|
11
|
-
'key-value store name': Args.string({
|
|
12
|
-
description: 'Optional name for the key-value store',
|
|
13
|
-
required: false,
|
|
14
|
-
}),
|
|
15
|
-
};
|
|
16
|
-
static enableJsonFlag = true;
|
|
17
|
-
async run() {
|
|
18
|
-
const { keyValueStoreName } = this.args;
|
|
19
|
-
const client = await getLoggedClientOrThrow();
|
|
20
|
-
if (keyValueStoreName) {
|
|
21
|
-
const existing = await tryToGetKeyValueStore(client, keyValueStoreName);
|
|
22
|
-
if (existing) {
|
|
23
|
-
error({ message: 'Cannot create a key-value store with the same name!' });
|
|
24
|
-
return;
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
const newStore = await client.keyValueStores().getOrCreate(keyValueStoreName);
|
|
28
|
-
if (this.flags.json) {
|
|
29
|
-
printJsonToStdout(newStore);
|
|
30
|
-
return;
|
|
31
|
-
}
|
|
32
|
-
success({
|
|
33
|
-
message: `Key-value store with ID ${chalk.yellow(newStore.id)}${keyValueStoreName ? ` (called ${chalk.yellow(keyValueStoreName)})` : ''} was created.`,
|
|
34
|
-
stdout: true,
|
|
35
|
-
});
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
//# sourceMappingURL=create.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/commands/key-value-stores/create.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,YAAY,EAAE,MAAM,8CAA8C,CAAC;AAC5E,OAAO,EAAE,IAAI,EAAE,MAAM,qCAAqC,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAE/E,MAAM,OAAO,2BAA4B,SAAQ,YAAgD;IAChG,MAAM,CAAU,IAAI,GAAG,QAAiB,CAAC;IAEzC,MAAM,CAAU,WAAW,GAAG,gDAAgD,CAAC;IAE/E,MAAM,CAAU,IAAI,GAAG;QACtB,sBAAsB,EAAE,IAAI,CAAC,MAAM,CAAC;YACnC,WAAW,EAAE,uCAAuC;YACpD,QAAQ,EAAE,KAAK;SACf,CAAC;KACF,CAAC;IAEF,MAAM,CAAU,cAAc,GAAG,IAAI,CAAC;IAEtC,KAAK,CAAC,GAAG;QACR,MAAM,EAAE,iBAAiB,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC;QAExC,MAAM,MAAM,GAAG,MAAM,sBAAsB,EAAE,CAAC;QAE9C,IAAI,iBAAiB,EAAE,CAAC;YACvB,MAAM,QAAQ,GAAG,MAAM,qBAAqB,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;YAExE,IAAI,QAAQ,EAAE,CAAC;gBACd,KAAK,CAAC,EAAE,OAAO,EAAE,qDAAqD,EAAE,CAAC,CAAC;gBAC1E,OAAO;YACR,CAAC;QACF,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,cAAc,EAAE,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;QAE9E,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YACrB,iBAAiB,CAAC,QAAQ,CAAC,CAAC;YAC5B,OAAO;QACR,CAAC;QAED,OAAO,CAAC;YACP,OAAO,EAAE,2BAA2B,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC,YAAY,KAAK,CAAC,MAAM,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,eAAe;YACtJ,MAAM,EAAE,IAAI;SACZ,CAAC,CAAC;IACJ,CAAC"}
|
|
@@ -1,61 +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 { tryToGetKeyValueStore } from '../../lib/commands/storages.js';
|
|
5
|
-
import { error, info } from '../../lib/outputs.js';
|
|
6
|
-
import { getLoggedClientOrThrow } from '../../lib/utils.js';
|
|
7
|
-
import { confirmAction } from '../../lib/utils/confirm.js';
|
|
8
|
-
export class KeyValueStoresDeleteValueCommand extends ApifyCommand {
|
|
9
|
-
static name = 'delete-value';
|
|
10
|
-
static description = 'Delete a value from a key-value store.';
|
|
11
|
-
static args = {
|
|
12
|
-
'store id': Args.string({
|
|
13
|
-
description: 'The key-value store ID to delete the value from.',
|
|
14
|
-
required: true,
|
|
15
|
-
}),
|
|
16
|
-
itemKey: Args.string({
|
|
17
|
-
description: 'The key of the item in the key-value store.',
|
|
18
|
-
required: true,
|
|
19
|
-
}),
|
|
20
|
-
};
|
|
21
|
-
async run() {
|
|
22
|
-
const { storeId, itemKey } = this.args;
|
|
23
|
-
const apifyClient = await getLoggedClientOrThrow();
|
|
24
|
-
const maybeStore = await tryToGetKeyValueStore(apifyClient, storeId);
|
|
25
|
-
if (!maybeStore) {
|
|
26
|
-
error({
|
|
27
|
-
message: `Key-value store with ID or name "${storeId}" not found.`,
|
|
28
|
-
});
|
|
29
|
-
return;
|
|
30
|
-
}
|
|
31
|
-
const { keyValueStoreClient: client } = maybeStore;
|
|
32
|
-
const existing = await client.getRecord(itemKey);
|
|
33
|
-
if (!existing) {
|
|
34
|
-
error({
|
|
35
|
-
message: `Item with key "${itemKey}" not found in the key-value store.`,
|
|
36
|
-
});
|
|
37
|
-
return;
|
|
38
|
-
}
|
|
39
|
-
const confirm = await confirmAction({
|
|
40
|
-
type: 'record',
|
|
41
|
-
});
|
|
42
|
-
if (!confirm) {
|
|
43
|
-
info({ message: 'Key-value store record deletion aborted.', stdout: true });
|
|
44
|
-
return;
|
|
45
|
-
}
|
|
46
|
-
try {
|
|
47
|
-
await client.deleteRecord(itemKey);
|
|
48
|
-
info({
|
|
49
|
-
message: `Record with key "${chalk.yellow(itemKey)}" deleted from the key-value store.`,
|
|
50
|
-
stdout: true,
|
|
51
|
-
});
|
|
52
|
-
}
|
|
53
|
-
catch (err) {
|
|
54
|
-
const casted = err;
|
|
55
|
-
error({
|
|
56
|
-
message: `Failed to delete record with key "${itemKey}" from the key-value store.\n ${casted.message || casted}`,
|
|
57
|
-
});
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
//# sourceMappingURL=delete-value.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"delete-value.js","sourceRoot":"","sources":["../../../src/commands/key-value-stores/delete-value.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,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAE3D,MAAM,OAAO,gCAAiC,SAAQ,YAAqD;IAC1G,MAAM,CAAU,IAAI,GAAG,cAAuB,CAAC;IAE/C,MAAM,CAAU,WAAW,GAAG,wCAAwC,CAAC;IAEvE,MAAM,CAAU,IAAI,GAAG;QACtB,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;YACvB,WAAW,EAAE,kDAAkD;YAC/D,QAAQ,EAAE,IAAI;SACd,CAAC;QACF,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC;YACpB,WAAW,EAAE,6CAA6C;YAC1D,QAAQ,EAAE,IAAI;SACd,CAAC;KACF,CAAC;IAEF,KAAK,CAAC,GAAG;QACR,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC;QAEvC,MAAM,WAAW,GAAG,MAAM,sBAAsB,EAAE,CAAC;QACnD,MAAM,UAAU,GAAG,MAAM,qBAAqB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAErE,IAAI,CAAC,UAAU,EAAE,CAAC;YACjB,KAAK,CAAC;gBACL,OAAO,EAAE,oCAAoC,OAAO,cAAc;aAClE,CAAC,CAAC;YAEH,OAAO;QACR,CAAC;QAED,MAAM,EAAE,mBAAmB,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC;QAEnD,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAEjD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACf,KAAK,CAAC;gBACL,OAAO,EAAE,kBAAkB,OAAO,qCAAqC;aACvE,CAAC,CAAC;YACH,OAAO;QACR,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC;YACnC,IAAI,EAAE,QAAQ;SACd,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,EAAE,CAAC;YACd,IAAI,CAAC,EAAE,OAAO,EAAE,0CAA0C,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;YAC5E,OAAO;QACR,CAAC;QAED,IAAI,CAAC;YACJ,MAAM,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;YACnC,IAAI,CAAC;gBACJ,OAAO,EAAE,oBAAoB,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,qCAAqC;gBACvF,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,qCAAqC,OAAO,kCAAkC,MAAM,CAAC,OAAO,IAAI,MAAM,EAAE;aACjH,CAAC,CAAC;QACJ,CAAC;IACF,CAAC"}
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
import { ApifyCommand } from '../../lib/command-framework/apify-command.js';
|
|
2
|
-
import { Args } from '../../lib/command-framework/args.js';
|
|
3
|
-
import { Flags } from '../../lib/command-framework/flags.js';
|
|
4
|
-
import { tryToGetKeyValueStore } from '../../lib/commands/storages.js';
|
|
5
|
-
import { error, simpleLog } from '../../lib/outputs.js';
|
|
6
|
-
import { getLoggedClientOrThrow } from '../../lib/utils.js';
|
|
7
|
-
export class KeyValueStoresGetValueCommand extends ApifyCommand {
|
|
8
|
-
static name = 'get-value';
|
|
9
|
-
static description = 'Retrieves stored value for specified key. Use --only-content-type to check MIME type.';
|
|
10
|
-
static flags = {
|
|
11
|
-
'only-content-type': Flags.boolean({
|
|
12
|
-
description: 'Only return the content type of the specified key',
|
|
13
|
-
default: false,
|
|
14
|
-
}),
|
|
15
|
-
};
|
|
16
|
-
static args = {
|
|
17
|
-
keyValueStoreId: Args.string({
|
|
18
|
-
description: 'The key-value store ID to get the value from.',
|
|
19
|
-
required: true,
|
|
20
|
-
}),
|
|
21
|
-
itemKey: Args.string({
|
|
22
|
-
description: 'The key of the item in the key-value store.',
|
|
23
|
-
required: true,
|
|
24
|
-
}),
|
|
25
|
-
};
|
|
26
|
-
async run() {
|
|
27
|
-
const { onlyContentType } = this.flags;
|
|
28
|
-
const { keyValueStoreId, itemKey } = this.args;
|
|
29
|
-
const apifyClient = await getLoggedClientOrThrow();
|
|
30
|
-
const maybeStore = await tryToGetKeyValueStore(apifyClient, keyValueStoreId);
|
|
31
|
-
if (!maybeStore) {
|
|
32
|
-
error({ message: `Key-value store with ID "${keyValueStoreId}" not found.` });
|
|
33
|
-
return;
|
|
34
|
-
}
|
|
35
|
-
const { keyValueStoreClient: storeClient } = maybeStore;
|
|
36
|
-
const itemRecord = await storeClient.getRecord(itemKey, { stream: true });
|
|
37
|
-
if (!itemRecord) {
|
|
38
|
-
error({ message: `Item with key "${itemKey}" not found in the key-value store.` });
|
|
39
|
-
return;
|
|
40
|
-
}
|
|
41
|
-
// Print out the content-type on stderr (default to octet-stream for unknown content types)
|
|
42
|
-
simpleLog({ message: itemRecord.contentType ?? 'application/octet-stream' });
|
|
43
|
-
if (onlyContentType) {
|
|
44
|
-
// Close the stream as otherwise the process hangs
|
|
45
|
-
itemRecord.value.destroy();
|
|
46
|
-
return;
|
|
47
|
-
}
|
|
48
|
-
// Try to pretty-print JSON
|
|
49
|
-
if (itemRecord.contentType?.includes('application/json')) {
|
|
50
|
-
const { value: stream } = itemRecord;
|
|
51
|
-
const chunks = [];
|
|
52
|
-
for await (const chunk of stream) {
|
|
53
|
-
chunks.push(chunk);
|
|
54
|
-
}
|
|
55
|
-
const concatenated = Buffer.concat(chunks).toString();
|
|
56
|
-
try {
|
|
57
|
-
const parsed = JSON.parse(concatenated);
|
|
58
|
-
simpleLog({ message: JSON.stringify(parsed, null, 2), stdout: true });
|
|
59
|
-
}
|
|
60
|
-
catch {
|
|
61
|
-
// Print out as is directly to stdout
|
|
62
|
-
simpleLog({ message: concatenated, stdout: true });
|
|
63
|
-
}
|
|
64
|
-
return;
|
|
65
|
-
}
|
|
66
|
-
// pipe the output to stdout
|
|
67
|
-
itemRecord.value.pipe(process.stdout);
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
//# sourceMappingURL=get-value.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"get-value.js","sourceRoot":"","sources":["../../../src/commands/key-value-stores/get-value.ts"],"names":[],"mappings":"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"}
|