apify-cli 0.19.3-beta.2 → 0.19.3-beta.4
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/README.md +94 -72
- package/oclif.manifest.json +1 -1
- package/package.json +4 -2
- package/src/commands/actor/index.js +1 -1
- package/src/commands/actor/set-value.js +1 -1
- package/src/commands/call.js +4 -4
- package/src/commands/create.js +6 -6
- package/src/commands/init.js +3 -3
- package/src/commands/push.js +1 -1
- package/src/commands/run.js +4 -4
- package/src/commands/secrets/index.js +1 -1
- package/src/commands/vis.js +1 -1
- package/src/lib/apify-oclif-help.js +23 -0
- package/src/lib/create-utils.js +3 -3
- package/src/lib/utils.js +2 -2
package/README.md
CHANGED
|
@@ -280,7 +280,7 @@ This section contains printouts of `apify help` for all commands.
|
|
|
280
280
|
* [`apify actor:get-value KEY`](#apify-actorget-value-key)
|
|
281
281
|
* [`apify actor:push-data [ITEM]`](#apify-actorpush-data-item)
|
|
282
282
|
* [`apify actor:set-value KEY [VALUE]`](#apify-actorset-value-key-value)
|
|
283
|
-
* [`apify call [
|
|
283
|
+
* [`apify call [ACTORID]`](#apify-call-actorid)
|
|
284
284
|
* [`apify create [ACTORNAME]`](#apify-create-actorname)
|
|
285
285
|
* [`apify info`](#apify-info)
|
|
286
286
|
* [`apify init [ACTORNAME]`](#apify-init-actorname)
|
|
@@ -296,11 +296,14 @@ This section contains printouts of `apify help` for all commands.
|
|
|
296
296
|
|
|
297
297
|
## `apify actor`
|
|
298
298
|
|
|
299
|
-
Commands are designed to be used in
|
|
299
|
+
Commands are designed to be used in Actor runs. All commands are in PoC state, do not use in production environments.
|
|
300
300
|
|
|
301
301
|
```
|
|
302
302
|
USAGE
|
|
303
303
|
$ apify actor
|
|
304
|
+
|
|
305
|
+
DESCRIPTION
|
|
306
|
+
Commands are designed to be used in Actor runs. All commands are in PoC state, do not use in production environments.
|
|
304
307
|
```
|
|
305
308
|
|
|
306
309
|
_See code: [src/commands/actor/index.js](https://github.com/apify/apify-cli/blob/v0.19.3/src/commands/actor/index.js)_
|
|
@@ -312,6 +315,9 @@ Gets the actor input value from the default key-value store associated with the
|
|
|
312
315
|
```
|
|
313
316
|
USAGE
|
|
314
317
|
$ apify actor:get-input
|
|
318
|
+
|
|
319
|
+
DESCRIPTION
|
|
320
|
+
Gets the actor input value from the default key-value store associated with the actor run.
|
|
315
321
|
```
|
|
316
322
|
|
|
317
323
|
_See code: [src/commands/actor/get-input.js](https://github.com/apify/apify-cli/blob/v0.19.3/src/commands/actor/get-input.js)_
|
|
@@ -326,6 +332,9 @@ USAGE
|
|
|
326
332
|
|
|
327
333
|
ARGUMENTS
|
|
328
334
|
KEY Key of the record in key-value store
|
|
335
|
+
|
|
336
|
+
DESCRIPTION
|
|
337
|
+
Gets a value from the default key-value store associated with the actor run.
|
|
329
338
|
```
|
|
330
339
|
|
|
331
340
|
_See code: [src/commands/actor/get-value.js](https://github.com/apify/apify-cli/blob/v0.19.3/src/commands/actor/get-value.js)_
|
|
@@ -342,6 +351,7 @@ ARGUMENTS
|
|
|
342
351
|
ITEM JSON string with one object or array of objects containing data to be stored in the default dataset.
|
|
343
352
|
|
|
344
353
|
DESCRIPTION
|
|
354
|
+
Stores an object or an array of objects to the default dataset of the actor run.
|
|
345
355
|
It is possible to pass data using item argument or stdin.
|
|
346
356
|
Passing data using argument:
|
|
347
357
|
$ apify actor:push-data {"foo": "bar"}
|
|
@@ -353,25 +363,24 @@ _See code: [src/commands/actor/push-data.js](https://github.com/apify/apify-cli/
|
|
|
353
363
|
|
|
354
364
|
## `apify actor:set-value KEY [VALUE]`
|
|
355
365
|
|
|
356
|
-
Sets or removes record into the default
|
|
366
|
+
Sets or removes record into the default key-value store associated with the Actor run.
|
|
357
367
|
|
|
358
368
|
```
|
|
359
369
|
USAGE
|
|
360
|
-
$ apify actor:set-value KEY [VALUE]
|
|
370
|
+
$ apify actor:set-value KEY [VALUE] [-c <value>]
|
|
361
371
|
|
|
362
372
|
ARGUMENTS
|
|
363
373
|
KEY Key of the record in key-value store.
|
|
364
|
-
|
|
365
374
|
VALUE Record data, which can be one of the following values:
|
|
366
375
|
- If empty, the record in the key-value store is deleted.
|
|
367
376
|
- If no `contentType` flag is specified, value is expected to be any JSON string value.
|
|
368
377
|
- If options.contentType is set, value is taken as is.
|
|
369
378
|
|
|
370
|
-
|
|
371
|
-
-c, --contentType
|
|
372
|
-
used.
|
|
379
|
+
FLAGS
|
|
380
|
+
-c, --contentType=<value> Specifies a custom MIME content type of the record. By default "application/json" is used.
|
|
373
381
|
|
|
374
382
|
DESCRIPTION
|
|
383
|
+
Sets or removes record into the default key-value store associated with the Actor run.
|
|
375
384
|
It is possible to pass data using argument or stdin.
|
|
376
385
|
Passing data using argument:
|
|
377
386
|
$ apify actor:set-value KEY my-value
|
|
@@ -381,26 +390,27 @@ DESCRIPTION
|
|
|
381
390
|
|
|
382
391
|
_See code: [src/commands/actor/set-value.js](https://github.com/apify/apify-cli/blob/v0.19.3/src/commands/actor/set-value.js)_
|
|
383
392
|
|
|
384
|
-
## `apify call [
|
|
393
|
+
## `apify call [ACTORID]`
|
|
385
394
|
|
|
386
395
|
Runs a specific actor remotely on the Apify cloud platform.
|
|
387
396
|
|
|
388
397
|
```
|
|
389
398
|
USAGE
|
|
390
|
-
$ apify call [
|
|
399
|
+
$ apify call [ACTORID] [-b <value>] [-t <value>] [-m <value>] [-w <value>]
|
|
391
400
|
|
|
392
401
|
ARGUMENTS
|
|
393
|
-
|
|
394
|
-
|
|
402
|
+
ACTORID Name or ID of the actor to run (e.g. "apify/hello-world" or "E2jjCZBezvAZnX8Rb"). If not provided, the
|
|
403
|
+
command runs the remote actor specified in the ".actor/actor.json" file.
|
|
395
404
|
|
|
396
|
-
|
|
397
|
-
-b, --build
|
|
398
|
-
-m, --memory
|
|
399
|
-
-t, --timeout
|
|
400
|
-
-w, --wait-for-finish
|
|
405
|
+
FLAGS
|
|
406
|
+
-b, --build=<value> Tag or number of the build to run (e.g. "latest" or "1.2.34").
|
|
407
|
+
-m, --memory=<value> Amount of memory allocated for the actor run, in megabytes.
|
|
408
|
+
-t, --timeout=<value> Timeout for the actor run in seconds. Zero value means there is no timeout.
|
|
409
|
+
-w, --wait-for-finish=<value> Seconds for waiting to run to finish, if no value passed, it waits forever.
|
|
401
410
|
|
|
402
411
|
DESCRIPTION
|
|
403
|
-
|
|
412
|
+
Runs a specific actor remotely on the Apify cloud platform.
|
|
413
|
+
The Actor is run under your current Apify account. Therefore you need to be logged in by calling "apify login". It
|
|
404
414
|
takes input for the Actor from the default local key-value store by default.
|
|
405
415
|
```
|
|
406
416
|
|
|
@@ -408,22 +418,24 @@ _See code: [src/commands/call.js](https://github.com/apify/apify-cli/blob/v0.19.
|
|
|
408
418
|
|
|
409
419
|
## `apify create [ACTORNAME]`
|
|
410
420
|
|
|
411
|
-
Creates a new
|
|
421
|
+
Creates a new Actor project directory from a selected boilerplate template.
|
|
412
422
|
|
|
413
423
|
```
|
|
414
424
|
USAGE
|
|
415
|
-
$ apify create [ACTORNAME]
|
|
425
|
+
$ apify create [ACTORNAME] [-t <value>] [--skip-dependency-install]
|
|
416
426
|
|
|
417
427
|
ARGUMENTS
|
|
418
|
-
ACTORNAME Name of the
|
|
428
|
+
ACTORNAME Name of the Actor and its directory
|
|
419
429
|
|
|
420
|
-
|
|
421
|
-
-t, --template
|
|
430
|
+
FLAGS
|
|
431
|
+
-t, --template=<value> Template for the Actor. If not provided, the command will prompt for it.
|
|
422
432
|
Visit
|
|
423
433
|
https://raw.githubusercontent.com/apify/actor-templates/master/templates/manifest.json to
|
|
424
434
|
find available template names.
|
|
435
|
+
--skip-dependency-install Skip installing Actor dependencies.
|
|
425
436
|
|
|
426
|
-
|
|
437
|
+
DESCRIPTION
|
|
438
|
+
Creates a new Actor project directory from a selected boilerplate template.
|
|
427
439
|
```
|
|
428
440
|
|
|
429
441
|
_See code: [src/commands/create.js](https://github.com/apify/apify-cli/blob/v0.19.3/src/commands/create.js)_
|
|
@@ -437,6 +449,7 @@ USAGE
|
|
|
437
449
|
$ apify info
|
|
438
450
|
|
|
439
451
|
DESCRIPTION
|
|
452
|
+
Displays information about the currently active Apify account.
|
|
440
453
|
The information is printed to the console.
|
|
441
454
|
```
|
|
442
455
|
|
|
@@ -444,21 +457,22 @@ _See code: [src/commands/info.js](https://github.com/apify/apify-cli/blob/v0.19.
|
|
|
444
457
|
|
|
445
458
|
## `apify init [ACTORNAME]`
|
|
446
459
|
|
|
447
|
-
Initializes a new
|
|
460
|
+
Initializes a new Actor project in an existing directory.
|
|
448
461
|
|
|
449
462
|
```
|
|
450
463
|
USAGE
|
|
451
|
-
$ apify init [ACTORNAME]
|
|
464
|
+
$ apify init [ACTORNAME] [-y]
|
|
452
465
|
|
|
453
466
|
ARGUMENTS
|
|
454
|
-
ACTORNAME Name of the
|
|
467
|
+
ACTORNAME Name of the Actor. If not provided, you will be prompted for it.
|
|
455
468
|
|
|
456
|
-
|
|
469
|
+
FLAGS
|
|
457
470
|
-y, --yes Automatic yes to prompts; assume "yes" as answer to all prompts. Note that in some cases, the command may
|
|
458
471
|
still ask for confirmation.
|
|
459
472
|
|
|
460
473
|
DESCRIPTION
|
|
461
|
-
|
|
474
|
+
Initializes a new Actor project in an existing directory.
|
|
475
|
+
The command only creates the ".actor/actor.json" file and the "storage" directory in the current directory, but will
|
|
462
476
|
not touch anything else.
|
|
463
477
|
|
|
464
478
|
WARNING: The directory at "storage" will be overwritten if it already exists.
|
|
@@ -472,13 +486,14 @@ Logs in to your Apify account using a provided API token.
|
|
|
472
486
|
|
|
473
487
|
```
|
|
474
488
|
USAGE
|
|
475
|
-
$ apify login
|
|
489
|
+
$ apify login [-t <value>]
|
|
476
490
|
|
|
477
|
-
|
|
478
|
-
-t, --token
|
|
491
|
+
FLAGS
|
|
492
|
+
-t, --token=<value> [Optional] Apify API token
|
|
479
493
|
|
|
480
494
|
DESCRIPTION
|
|
481
|
-
|
|
495
|
+
Logs in to your Apify account using a provided API token.
|
|
496
|
+
The API token and other account information is stored in the ~/.apify directory, from where it is read by all other
|
|
482
497
|
"apify" commands. To log out, call "apify logout".
|
|
483
498
|
```
|
|
484
499
|
|
|
@@ -493,8 +508,9 @@ USAGE
|
|
|
493
508
|
$ apify logout
|
|
494
509
|
|
|
495
510
|
DESCRIPTION
|
|
511
|
+
Logs out of your Apify account.
|
|
496
512
|
The command deletes the API token and all other account information stored in the ~/.apify directory. To log in again,
|
|
497
|
-
|
|
513
|
+
call "apify login".
|
|
498
514
|
```
|
|
499
515
|
|
|
500
516
|
_See code: [src/commands/logout.js](https://github.com/apify/apify-cli/blob/v0.19.3/src/commands/logout.js)_
|
|
@@ -505,14 +521,18 @@ Pulls an Actor from the Apify platform to the current directory. If it is define
|
|
|
505
521
|
|
|
506
522
|
```
|
|
507
523
|
USAGE
|
|
508
|
-
$ apify pull [ACTORID]
|
|
524
|
+
$ apify pull [ACTORID] [-v <value>]
|
|
509
525
|
|
|
510
526
|
ARGUMENTS
|
|
511
527
|
ACTORID Name or ID of the actor to run (e.g. "apify/hello-world" or "E2jjCZBezvAZnX8Rb"). If not provided, the
|
|
512
528
|
command will update the Actor in the current directory based on its name in ".actor/actor.json" file.
|
|
513
529
|
|
|
514
|
-
|
|
515
|
-
-v, --version
|
|
530
|
+
FLAGS
|
|
531
|
+
-v, --version=<value> Actor version number which will be pulled, e.g. 1.2. Default: the highest version
|
|
532
|
+
|
|
533
|
+
DESCRIPTION
|
|
534
|
+
Pulls an Actor from the Apify platform to the current directory. If it is defined as Git repository, it will be
|
|
535
|
+
cloned. If it is defined as Web IDE, it will fetch the files.
|
|
516
536
|
```
|
|
517
537
|
|
|
518
538
|
_See code: [src/commands/pull.js](https://github.com/apify/apify-cli/blob/v0.19.3/src/commands/pull.js)_
|
|
@@ -523,31 +543,28 @@ Uploads the actor to the Apify platform and builds it there.
|
|
|
523
543
|
|
|
524
544
|
```
|
|
525
545
|
USAGE
|
|
526
|
-
$ apify push [ACTORID]
|
|
546
|
+
$ apify push [ACTORID] [--version-number <value>] [-v <value>] [-b <value>] [-w <value>] [--no-prompt]
|
|
527
547
|
|
|
528
548
|
ARGUMENTS
|
|
529
549
|
ACTORID Name or ID of the Actor to push (e.g. "apify/hello-world" or "E2jjCZBezvAZnX8Rb"). If not provided, the
|
|
530
550
|
command will create or modify the actor with the name specified in ".actor/actor.json" file.
|
|
531
551
|
|
|
532
|
-
|
|
533
|
-
-b, --build-tag
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
open the browser automatically.
|
|
543
|
-
|
|
544
|
-
--version-number=version-number DEPRECATED: Use flag version instead. Actor version number to which the files
|
|
545
|
-
should be pushed. By default, it is taken from the ".actor/actor.json" file.
|
|
552
|
+
FLAGS
|
|
553
|
+
-b, --build-tag=<value> Build tag to be applied to the successful Actor build. By default, it is taken from the
|
|
554
|
+
".actor/actor.json" file
|
|
555
|
+
-v, --version=<value> Actor version number to which the files should be pushed. By default, it is taken from
|
|
556
|
+
the ".actor/actor.json" file.
|
|
557
|
+
-w, --wait-for-finish=<value> Seconds for waiting to build to finish, if no value passed, it waits forever.
|
|
558
|
+
--no-prompt Do not prompt for opening the actor details in a browser. This will also not open the
|
|
559
|
+
browser automatically.
|
|
560
|
+
--version-number=<value> DEPRECATED: Use flag version instead. Actor version number to which the files should be
|
|
561
|
+
pushed. By default, it is taken from the ".actor/actor.json" file.
|
|
546
562
|
|
|
547
563
|
DESCRIPTION
|
|
548
|
-
|
|
564
|
+
Uploads the actor to the Apify platform and builds it there.
|
|
565
|
+
The Actor settings are read from the ".actor/actor.json" file in the current directory, but they can be overridden
|
|
549
566
|
using command-line options.
|
|
550
|
-
NOTE: If the source files are smaller than 3 MB then they are uploaded as
|
|
567
|
+
NOTE: If the source files are smaller than 3 MB then they are uploaded as
|
|
551
568
|
"Multiple source files", otherwise they are uploaded as "Zip file".
|
|
552
569
|
|
|
553
570
|
WARNING: If the target Actor already exists in your Apify account, it will be overwritten!
|
|
@@ -557,29 +574,27 @@ _See code: [src/commands/push.js](https://github.com/apify/apify-cli/blob/v0.19.
|
|
|
557
574
|
|
|
558
575
|
## `apify run`
|
|
559
576
|
|
|
560
|
-
Runs the
|
|
577
|
+
Runs the Actor locally in the current directory.
|
|
561
578
|
|
|
562
579
|
```
|
|
563
580
|
USAGE
|
|
564
|
-
$ apify run
|
|
581
|
+
$ apify run [-p] [--purge-queue] [--purge-dataset] [--purge-key-value-store]
|
|
565
582
|
|
|
566
|
-
|
|
583
|
+
FLAGS
|
|
567
584
|
-p, --purge Shortcut that combines the --purge-queue, --purge-dataset and --purge-key-value-store
|
|
568
585
|
options.
|
|
569
|
-
|
|
570
586
|
--purge-dataset Deletes the local directory containing the default dataset before the run starts.
|
|
571
|
-
|
|
572
587
|
--purge-key-value-store Deletes all records from the default key-value store in the local directory before the run
|
|
573
588
|
starts, except for the "INPUT" key.
|
|
574
|
-
|
|
575
589
|
--purge-queue Deletes the local directory containing the default request queue before the run starts.
|
|
576
590
|
|
|
577
591
|
DESCRIPTION
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
592
|
+
Runs the Actor locally in the current directory.
|
|
593
|
+
It sets various APIFY_XYZ environment variables in order to provide a working execution environment for the Actor. For
|
|
594
|
+
example, this causes the Actor input, as well as all other data in key-value stores, datasets or request queues to be
|
|
595
|
+
stored in the "storage" directory, rather than on the Apify platform.
|
|
581
596
|
|
|
582
|
-
NOTE: You can override the command's default behavior for Node.js actors by overriding the "start" script in the
|
|
597
|
+
NOTE: You can override the command's default behavior for Node.js actors by overriding the "start" script in the
|
|
583
598
|
package.json file. You can set up your own main file or environment variables by changing it.
|
|
584
599
|
```
|
|
585
600
|
|
|
@@ -587,28 +602,30 @@ _See code: [src/commands/run.js](https://github.com/apify/apify-cli/blob/v0.19.3
|
|
|
587
602
|
|
|
588
603
|
## `apify secrets`
|
|
589
604
|
|
|
590
|
-
Manages secret values for
|
|
605
|
+
Manages secret values for Actor environment variables.
|
|
591
606
|
|
|
592
607
|
```
|
|
593
608
|
USAGE
|
|
594
609
|
$ apify secrets
|
|
595
610
|
|
|
596
611
|
DESCRIPTION
|
|
612
|
+
Manages secret values for Actor environment variables.
|
|
613
|
+
|
|
597
614
|
Example:
|
|
598
615
|
$ apify secrets:add mySecret TopSecretValue123
|
|
599
616
|
|
|
600
|
-
Now the "mySecret" value can be used in an environment variable defined in ".actor/actor.json" file by adding the "@"
|
|
617
|
+
Now the "mySecret" value can be used in an environment variable defined in ".actor/actor.json" file by adding the "@"
|
|
601
618
|
prefix:
|
|
602
619
|
|
|
603
620
|
{
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
621
|
+
"actorSpecification": 1,
|
|
622
|
+
"name": "my_actor",
|
|
623
|
+
"environmentVariables": { "SECRET_ENV_VAR": "@mySecret" },
|
|
624
|
+
"version": "0.1
|
|
608
625
|
}
|
|
609
626
|
|
|
610
627
|
When the actor is pushed to Apify cloud, the "SECRET_ENV_VAR" and its value is stored as a secret environment variable
|
|
611
|
-
|
|
628
|
+
of the actor.
|
|
612
629
|
```
|
|
613
630
|
|
|
614
631
|
_See code: [src/commands/secrets/index.js](https://github.com/apify/apify-cli/blob/v0.19.3/src/commands/secrets/index.js)_
|
|
@@ -626,6 +643,7 @@ ARGUMENTS
|
|
|
626
643
|
VALUE Value of the secret
|
|
627
644
|
|
|
628
645
|
DESCRIPTION
|
|
646
|
+
Adds a new secret value.
|
|
629
647
|
The secrets are stored to a file at ~/.apify
|
|
630
648
|
```
|
|
631
649
|
|
|
@@ -641,6 +659,9 @@ USAGE
|
|
|
641
659
|
|
|
642
660
|
ARGUMENTS
|
|
643
661
|
NAME Name of the secret
|
|
662
|
+
|
|
663
|
+
DESCRIPTION
|
|
664
|
+
Removes the secret.
|
|
644
665
|
```
|
|
645
666
|
|
|
646
667
|
_See code: [src/commands/secrets/rm.js](https://github.com/apify/apify-cli/blob/v0.19.3/src/commands/secrets/rm.js)_
|
|
@@ -657,7 +678,8 @@ ARGUMENTS
|
|
|
657
678
|
PATH Optional path to your INPUT_SCHEMA.json file. If not provided ./INPUT_SCHEMA.json is used.
|
|
658
679
|
|
|
659
680
|
DESCRIPTION
|
|
660
|
-
|
|
681
|
+
Validates input schema and prints errors found.
|
|
682
|
+
The input schema for the Actor is used from these locations in order of preference.
|
|
661
683
|
The first one found is validated as it would be the one used on the Apify platform.
|
|
662
684
|
1. Directly embedded object in ".actor/actor.json" under 'input' key
|
|
663
685
|
2. Path to JSON file referenced in ".actor/actor.json" under 'input' key
|
package/oclif.manifest.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":"0.19.3","commands":{"call":{"id":"call","description":"Runs a specific actor remotely on the Apify cloud platform.\nThe Actor is run under your current Apify account. Therefore you need to be logged in by calling \"apify login\". It takes input for the Actor from the default local key-value store by default.","pluginName":"apify-cli","pluginType":"core","aliases":[],"flags":{"build":{"name":"build","type":"option","char":"b","description":"Tag or number of the build to run (e.g. \"latest\" or \"1.2.34\").","required":false},"timeout":{"name":"timeout","type":"option","char":"t","description":"Timeout for the actor run in seconds. Zero value means there is no timeout.","required":false},"memory":{"name":"memory","type":"option","char":"m","description":"Amount of memory allocated for the actor run, in megabytes.","required":false},"wait-for-finish":{"name":"wait-for-finish","type":"option","char":"w","description":"Seconds for waiting to run to finish, if no value passed, it waits forever.","required":false}},"args":[{"name":"actId","description":"Name or ID of the actor to run (e.g. \"apify/hello-world\" or \"E2jjCZBezvAZnX8Rb\"). If not provided, the command runs the remote actor specified in the \".actor/actor.json\" file.","required":false}]},"check-version":{"id":"check-version","description":"Checks that installed Apify CLI version is up to date.","pluginName":"apify-cli","pluginType":"core","hidden":true,"aliases":["cv"],"flags":{"enforce-update":{"name":"enforce-update","type":"boolean","char":"e","description":"[Optional] Enforce version update from NPM","required":false,"allowNo":false}},"args":[]},"create":{"id":"create","description":"Creates a new actor project directory from a selected boilerplate template.","pluginName":"apify-cli","pluginType":"core","aliases":[],"flags":{"template":{"name":"template","type":"option","char":"t","description":"Template for the actor. If not provided, the command will prompt for it.\nVisit https://raw.githubusercontent.com/apify/actor-templates/master/templates/manifest.json to find available template names.","required":false},"skip-dependency-install":{"name":"skip-dependency-install","type":"boolean","description":"Skip installing actor dependencies.","required":false,"allowNo":false},"template-archive-url":{"name":"template-archive-url","type":"option","description":"Actor template archive url. Useful for developing new templates.","hidden":true,"required":false}},"args":[{"name":"actorName","description":"Name of the actor and its directory","required":false}]},"edit-input-schema":{"id":"edit-input-schema","description":"Lets you edit your input schema that would be used on the platform in a visual input schema editor.","pluginName":"apify-cli","pluginType":"core","hidden":true,"aliases":["eis"],"flags":{},"args":[{"name":"path","description":"Optional path to your INPUT_SCHEMA.json file. If not provided default platform location for input schema is used.","required":false}]},"info":{"id":"info","description":"Displays information about the currently active Apify account.\nThe information is printed to the console.","pluginName":"apify-cli","pluginType":"core","aliases":[],"flags":{},"args":[]},"init-wrap-scrapy":{"id":"init-wrap-scrapy","description":"Wraps your existing Scrapy project to work like an Apify Actor.\n\nIt adds the following features:\n- Automatic retry of failed requests\n- Automatic proxy rotation\n- Automatic user agent rotation\n...\n","pluginName":"apify-cli","pluginType":"core","hidden":true,"aliases":[],"flags":{},"args":[{"name":"path","description":"Optional path to your scrapy project. If not provided, the current directory is used.","required":false}]},"init":{"id":"init","description":"Initializes a new actor project in an existing directory.\nThe command only creates the \".actor/actor.json\" file and the \"storage\" directory in the current directory, but will not touch anything else.\n\nWARNING: The directory at \"storage\" will be overwritten if it already exists.","pluginName":"apify-cli","pluginType":"core","aliases":[],"flags":{"yes":{"name":"yes","type":"boolean","char":"y","description":"Automatic yes to prompts; assume \"yes\" as answer to all prompts. Note that in some cases, the command may still ask for confirmation.","required":false,"allowNo":false}},"args":[{"name":"actorName","description":"Name of the actor. If not provided, you will be prompted for it.","required":false}]},"login-new":{"id":"login-new","description":"Logs in to your Apify account using your API token.\nThe API token and other account information is stored in the ~/.apify directory, from where it is read by all other \"apify\" commands. To log out, call \"apify logout\".","pluginName":"apify-cli","pluginType":"core","hidden":true,"aliases":[],"flags":{"token":{"name":"token","type":"option","char":"t","description":"[Optional] Apify API token","required":false}},"args":[]},"login":{"id":"login","description":"Logs in to your Apify account using a provided API token.\nThe API token and other account information is stored in the ~/.apify directory, from where it is read by all other \"apify\" commands. To log out, call \"apify logout\".","pluginName":"apify-cli","pluginType":"core","aliases":[],"flags":{"token":{"name":"token","type":"option","char":"t","description":"[Optional] Apify API token","required":false}},"args":[]},"logout":{"id":"logout","description":"Logs out of your Apify account.\nThe command deletes the API token and all other account information stored in the ~/.apify directory. To log in again, call \"apify login\".","pluginName":"apify-cli","pluginType":"core","aliases":[],"flags":{},"args":[]},"pull":{"id":"pull","description":"Pulls an Actor from the Apify platform to the current directory. If it is defined as Git repository, it will be cloned. If it is defined as Web IDE, it will fetch the files.","pluginName":"apify-cli","pluginType":"core","aliases":[],"flags":{"version":{"name":"version","type":"option","char":"v","description":"Actor version number which will be pulled, e.g. 1.2. Default: the highest version","required":false}},"args":[{"name":"actorId","description":"Name or ID of the actor to run (e.g. \"apify/hello-world\" or \"E2jjCZBezvAZnX8Rb\"). If not provided, the command will update the Actor in the current directory based on its name in \".actor/actor.json\" file.","required":false}]},"push":{"id":"push","description":"Uploads the actor to the Apify platform and builds it there.\nThe Actor settings are read from the \".actor/actor.json\" file in the current directory, but they can be overridden using command-line options.\nNOTE: If the source files are smaller than 3 MB then they are uploaded as \n\"Multiple source files\", otherwise they are uploaded as \"Zip file\".\n\nWARNING: If the target Actor already exists in your Apify account, it will be overwritten!","pluginName":"apify-cli","pluginType":"core","aliases":[],"flags":{"version-number":{"name":"version-number","type":"option","description":"DEPRECATED: Use flag version instead. Actor version number to which the files should be pushed. By default, it is taken from the \".actor/actor.json\" file.","required":false},"version":{"name":"version","type":"option","char":"v","description":"Actor version number to which the files should be pushed. By default, it is taken from the \".actor/actor.json\" file.","required":false},"build-tag":{"name":"build-tag","type":"option","char":"b","description":"Build tag to be applied to the successful Actor build. By default, it is taken from the \".actor/actor.json\" file","required":false},"wait-for-finish":{"name":"wait-for-finish","type":"option","char":"w","description":"Seconds for waiting to build to finish, if no value passed, it waits forever.","required":false},"no-prompt":{"name":"no-prompt","type":"boolean","description":"Do not prompt for opening the actor details in a browser. This will also not open the browser automatically.","required":false,"allowNo":false}},"args":[{"name":"actorId","description":"Name or ID of the Actor to push (e.g. \"apify/hello-world\" or \"E2jjCZBezvAZnX8Rb\"). If not provided, the command will create or modify the actor with the name specified in \".actor/actor.json\" file.","required":false}]},"run":{"id":"run","description":"Runs the actor locally in the current directory.\nIt sets various APIFY_XYZ environment variables in order to provide a working execution environment for the actor. For example, this causes the actor input, as well as all other data in key-value stores, datasets or request queues to be stored in the \"storage\" directory, rather than on the Apify platform.\n\nNOTE: You can override the command's default behavior for Node.js actors by overriding the \"start\" script in the package.json file. You can set up your own main file or environment variables by changing it.","pluginName":"apify-cli","pluginType":"core","aliases":[],"flags":{"purge":{"name":"purge","type":"boolean","char":"p","description":"Shortcut that combines the --purge-queue, --purge-dataset and --purge-key-value-store options.","required":false,"allowNo":false},"purge-queue":{"name":"purge-queue","type":"boolean","description":"Deletes the local directory containing the default request queue before the run starts.","required":false,"allowNo":false},"purge-dataset":{"name":"purge-dataset","type":"boolean","description":"Deletes the local directory containing the default dataset before the run starts.","required":false,"allowNo":false},"purge-key-value-store":{"name":"purge-key-value-store","type":"boolean","description":"Deletes all records from the default key-value store in the local directory before the run starts, except for the \"INPUT\" key.","required":false,"allowNo":false}},"args":[]},"vis":{"id":"vis","description":"Validates input schema and prints errors found.\nThe input schema for the actor is used from these locations in order of preference.\nThe first one found is validated as it would be the one used on the Apify platform.\n1. Directly embedded object in \".actor/actor.json\" under 'input' key\n2. Path to JSON file referenced in \".actor/actor.json\" under 'input' key\n3. JSON file at .actor/INPUT_SCHEMA.json\n4. JSON file at INPUT_SCHEMA.json\n\nYou can also pass any custom path to your input schema to have it validated instead.\n","pluginName":"apify-cli","pluginType":"core","aliases":[],"flags":{},"args":[{"name":"path","description":"Optional path to your INPUT_SCHEMA.json file. If not provided ./INPUT_SCHEMA.json is used.","required":false}]},"actor:get-input":{"id":"actor:get-input","description":"Gets the actor input value from the default key-value store associated with the actor run.","pluginName":"apify-cli","pluginType":"core","aliases":[],"flags":{},"args":[]},"actor:get-value":{"id":"actor:get-value","description":"Gets a value from the default key-value store associated with the actor run.","pluginName":"apify-cli","pluginType":"core","aliases":[],"flags":{},"args":[{"name":"key","description":"Key of the record in key-value store","required":true}]},"actor":{"id":"actor","description":"Commands are designed to be used in actor runs. All commands are in PoC state, do not use in production environments.\n","pluginName":"apify-cli","pluginType":"core","aliases":[],"flags":{},"args":[]},"actor:push-data":{"id":"actor:push-data","description":"Stores an object or an array of objects to the default dataset of the actor run.\nIt is possible to pass data using item argument or stdin.\nPassing data using argument:\n$ apify actor:push-data {\"foo\": \"bar\"}\nPassing data using stdin with pipe:\n$ cat ./test.json | apify actor:push-data\n","pluginName":"apify-cli","pluginType":"core","aliases":[],"flags":{},"args":[{"name":"item","description":"JSON string with one object or array of objects containing data to be stored in the default dataset.","required":false}]},"actor:set-value":{"id":"actor:set-value","description":"Sets or removes record into the default KeyValueStore associated with the actor run.\nIt is possible to pass data using argument or stdin.\nPassing data using argument:\n$ apify actor:set-value KEY my-value\nPassing data using stdin with pipe:\n$ cat ./my-text-file.txt | apify actor:set-value KEY --contentType text/plain\n","pluginName":"apify-cli","pluginType":"core","aliases":[],"flags":{"contentType":{"name":"contentType","type":"option","char":"c","description":"Specifies a custom MIME content type of the record. By default \"application/json\" is used.","required":false}},"args":[{"name":"key","description":"Key of the record in key-value store.","required":true},{"name":"value","description":"Record data, which can be one of the following values:\n- If empty, the record in the key-value store is deleted.\n- If no `contentType` flag is specified, value is expected to be any JSON string value.\n- If options.contentType is set, value is taken as is.","required":false}]},"secrets:add":{"id":"secrets:add","description":"Adds a new secret value.\nThe secrets are stored to a file at ~/.apify","pluginName":"apify-cli","pluginType":"core","aliases":[],"flags":{},"args":[{"name":"name","description":"Name of the secret","required":true},{"name":"value","description":"Value of the secret","required":true}]},"secrets":{"id":"secrets","description":"Manages secret values for actor environment variables.\n\nExample:\n$ apify secrets:add mySecret TopSecretValue123\n\nNow the \"mySecret\" value can be used in an environment variable defined in \".actor/actor.json\" file by adding the \"@\" prefix:\n\n{\n \"actorSpecification\": 1,\n \"name\": \"my_actor\",\n \"environmentVariables\": { \"SECRET_ENV_VAR\": \"@mySecret\" },\n \"version\": \"0.1\n}\n\nWhen the actor is pushed to Apify cloud, the \"SECRET_ENV_VAR\" and its value is stored as a secret environment variable of the actor.","pluginName":"apify-cli","pluginType":"core","aliases":[],"flags":{},"args":[]},"secrets:rm":{"id":"secrets:rm","description":"Removes the secret.","pluginName":"apify-cli","pluginType":"core","aliases":[],"flags":{},"args":[{"name":"name","description":"Name of the secret","required":true}]}}}
|
|
1
|
+
{"version":"0.19.3","commands":{"call":{"id":"call","description":"Runs a specific actor remotely on the Apify cloud platform.\nThe Actor is run under your current Apify account. Therefore you need to be logged in by calling \"apify login\". It takes input for the Actor from the default local key-value store by default.","pluginName":"apify-cli","pluginType":"core","aliases":[],"flags":{"build":{"name":"build","type":"option","char":"b","description":"Tag or number of the build to run (e.g. \"latest\" or \"1.2.34\").","required":false},"timeout":{"name":"timeout","type":"option","char":"t","description":"Timeout for the actor run in seconds. Zero value means there is no timeout.","required":false},"memory":{"name":"memory","type":"option","char":"m","description":"Amount of memory allocated for the actor run, in megabytes.","required":false},"wait-for-finish":{"name":"wait-for-finish","type":"option","char":"w","description":"Seconds for waiting to run to finish, if no value passed, it waits forever.","required":false}},"args":[{"name":"actorId","description":"Name or ID of the actor to run (e.g. \"apify/hello-world\" or \"E2jjCZBezvAZnX8Rb\"). If not provided, the command runs the remote actor specified in the \".actor/actor.json\" file.","required":false}]},"check-version":{"id":"check-version","description":"Checks that installed Apify CLI version is up to date.","pluginName":"apify-cli","pluginType":"core","hidden":true,"aliases":["cv"],"flags":{"enforce-update":{"name":"enforce-update","type":"boolean","char":"e","description":"[Optional] Enforce version update from NPM","required":false,"allowNo":false}},"args":[]},"create":{"id":"create","description":"Creates a new Actor project directory from a selected boilerplate template.","pluginName":"apify-cli","pluginType":"core","aliases":[],"flags":{"template":{"name":"template","type":"option","char":"t","description":"Template for the Actor. If not provided, the command will prompt for it.\nVisit https://raw.githubusercontent.com/apify/actor-templates/master/templates/manifest.json to find available template names.","required":false},"skip-dependency-install":{"name":"skip-dependency-install","type":"boolean","description":"Skip installing Actor dependencies.","required":false,"allowNo":false},"template-archive-url":{"name":"template-archive-url","type":"option","description":"Actor template archive url. Useful for developing new templates.","hidden":true,"required":false}},"args":[{"name":"actorName","description":"Name of the Actor and its directory","required":false}]},"edit-input-schema":{"id":"edit-input-schema","description":"Lets you edit your input schema that would be used on the platform in a visual input schema editor.","pluginName":"apify-cli","pluginType":"core","hidden":true,"aliases":["eis"],"flags":{},"args":[{"name":"path","description":"Optional path to your INPUT_SCHEMA.json file. If not provided default platform location for input schema is used.","required":false}]},"info":{"id":"info","description":"Displays information about the currently active Apify account.\nThe information is printed to the console.","pluginName":"apify-cli","pluginType":"core","aliases":[],"flags":{},"args":[]},"init-wrap-scrapy":{"id":"init-wrap-scrapy","description":"Wraps your existing Scrapy project to work like an Apify Actor.\n\nIt adds the following features:\n- Automatic retry of failed requests\n- Automatic proxy rotation\n- Automatic user agent rotation\n...\n","pluginName":"apify-cli","pluginType":"core","hidden":true,"aliases":[],"flags":{},"args":[{"name":"path","description":"Optional path to your scrapy project. If not provided, the current directory is used.","required":false}]},"init":{"id":"init","description":"Initializes a new Actor project in an existing directory.\nThe command only creates the \".actor/actor.json\" file and the \"storage\" directory in the current directory, but will not touch anything else.\n\nWARNING: The directory at \"storage\" will be overwritten if it already exists.","pluginName":"apify-cli","pluginType":"core","aliases":[],"flags":{"yes":{"name":"yes","type":"boolean","char":"y","description":"Automatic yes to prompts; assume \"yes\" as answer to all prompts. Note that in some cases, the command may still ask for confirmation.","required":false,"allowNo":false}},"args":[{"name":"actorName","description":"Name of the Actor. If not provided, you will be prompted for it.","required":false}]},"login-new":{"id":"login-new","description":"Logs in to your Apify account using your API token.\nThe API token and other account information is stored in the ~/.apify directory, from where it is read by all other \"apify\" commands. To log out, call \"apify logout\".","pluginName":"apify-cli","pluginType":"core","hidden":true,"aliases":[],"flags":{"token":{"name":"token","type":"option","char":"t","description":"[Optional] Apify API token","required":false}},"args":[]},"login":{"id":"login","description":"Logs in to your Apify account using a provided API token.\nThe API token and other account information is stored in the ~/.apify directory, from where it is read by all other \"apify\" commands. To log out, call \"apify logout\".","pluginName":"apify-cli","pluginType":"core","aliases":[],"flags":{"token":{"name":"token","type":"option","char":"t","description":"[Optional] Apify API token","required":false}},"args":[]},"logout":{"id":"logout","description":"Logs out of your Apify account.\nThe command deletes the API token and all other account information stored in the ~/.apify directory. To log in again, call \"apify login\".","pluginName":"apify-cli","pluginType":"core","aliases":[],"flags":{},"args":[]},"pull":{"id":"pull","description":"Pulls an Actor from the Apify platform to the current directory. If it is defined as Git repository, it will be cloned. If it is defined as Web IDE, it will fetch the files.","pluginName":"apify-cli","pluginType":"core","aliases":[],"flags":{"version":{"name":"version","type":"option","char":"v","description":"Actor version number which will be pulled, e.g. 1.2. Default: the highest version","required":false}},"args":[{"name":"actorId","description":"Name or ID of the actor to run (e.g. \"apify/hello-world\" or \"E2jjCZBezvAZnX8Rb\"). If not provided, the command will update the Actor in the current directory based on its name in \".actor/actor.json\" file.","required":false}]},"push":{"id":"push","description":"Uploads the actor to the Apify platform and builds it there.\nThe Actor settings are read from the \".actor/actor.json\" file in the current directory, but they can be overridden using command-line options.\nNOTE: If the source files are smaller than 3 MB then they are uploaded as \n\"Multiple source files\", otherwise they are uploaded as \"Zip file\".\n\nWARNING: If the target Actor already exists in your Apify account, it will be overwritten!","pluginName":"apify-cli","pluginType":"core","aliases":[],"flags":{"version-number":{"name":"version-number","type":"option","description":"DEPRECATED: Use flag version instead. Actor version number to which the files should be pushed. By default, it is taken from the \".actor/actor.json\" file.","required":false},"version":{"name":"version","type":"option","char":"v","description":"Actor version number to which the files should be pushed. By default, it is taken from the \".actor/actor.json\" file.","required":false},"build-tag":{"name":"build-tag","type":"option","char":"b","description":"Build tag to be applied to the successful Actor build. By default, it is taken from the \".actor/actor.json\" file","required":false},"wait-for-finish":{"name":"wait-for-finish","type":"option","char":"w","description":"Seconds for waiting to build to finish, if no value passed, it waits forever.","required":false},"no-prompt":{"name":"no-prompt","type":"boolean","description":"Do not prompt for opening the actor details in a browser. This will also not open the browser automatically.","required":false,"allowNo":false}},"args":[{"name":"actorId","description":"Name or ID of the Actor to push (e.g. \"apify/hello-world\" or \"E2jjCZBezvAZnX8Rb\"). If not provided, the command will create or modify the actor with the name specified in \".actor/actor.json\" file.","required":false}]},"run":{"id":"run","description":"Runs the Actor locally in the current directory.\nIt sets various APIFY_XYZ environment variables in order to provide a working execution environment for the Actor. For example, this causes the Actor input, as well as all other data in key-value stores, datasets or request queues to be stored in the \"storage\" directory, rather than on the Apify platform.\n\nNOTE: You can override the command's default behavior for Node.js actors by overriding the \"start\" script in the package.json file. You can set up your own main file or environment variables by changing it.","pluginName":"apify-cli","pluginType":"core","aliases":[],"flags":{"purge":{"name":"purge","type":"boolean","char":"p","description":"Shortcut that combines the --purge-queue, --purge-dataset and --purge-key-value-store options.","required":false,"allowNo":false},"purge-queue":{"name":"purge-queue","type":"boolean","description":"Deletes the local directory containing the default request queue before the run starts.","required":false,"allowNo":false},"purge-dataset":{"name":"purge-dataset","type":"boolean","description":"Deletes the local directory containing the default dataset before the run starts.","required":false,"allowNo":false},"purge-key-value-store":{"name":"purge-key-value-store","type":"boolean","description":"Deletes all records from the default key-value store in the local directory before the run starts, except for the \"INPUT\" key.","required":false,"allowNo":false}},"args":[]},"vis":{"id":"vis","description":"Validates input schema and prints errors found.\nThe input schema for the Actor is used from these locations in order of preference.\nThe first one found is validated as it would be the one used on the Apify platform.\n1. Directly embedded object in \".actor/actor.json\" under 'input' key\n2. Path to JSON file referenced in \".actor/actor.json\" under 'input' key\n3. JSON file at .actor/INPUT_SCHEMA.json\n4. JSON file at INPUT_SCHEMA.json\n\nYou can also pass any custom path to your input schema to have it validated instead.\n","pluginName":"apify-cli","pluginType":"core","aliases":[],"flags":{},"args":[{"name":"path","description":"Optional path to your INPUT_SCHEMA.json file. If not provided ./INPUT_SCHEMA.json is used.","required":false}]},"actor:get-input":{"id":"actor:get-input","description":"Gets the actor input value from the default key-value store associated with the actor run.","pluginName":"apify-cli","pluginType":"core","aliases":[],"flags":{},"args":[]},"actor:get-value":{"id":"actor:get-value","description":"Gets a value from the default key-value store associated with the actor run.","pluginName":"apify-cli","pluginType":"core","aliases":[],"flags":{},"args":[{"name":"key","description":"Key of the record in key-value store","required":true}]},"actor":{"id":"actor","description":"Commands are designed to be used in Actor runs. All commands are in PoC state, do not use in production environments.\n","pluginName":"apify-cli","pluginType":"core","aliases":[],"flags":{},"args":[]},"actor:push-data":{"id":"actor:push-data","description":"Stores an object or an array of objects to the default dataset of the actor run.\nIt is possible to pass data using item argument or stdin.\nPassing data using argument:\n$ apify actor:push-data {\"foo\": \"bar\"}\nPassing data using stdin with pipe:\n$ cat ./test.json | apify actor:push-data\n","pluginName":"apify-cli","pluginType":"core","aliases":[],"flags":{},"args":[{"name":"item","description":"JSON string with one object or array of objects containing data to be stored in the default dataset.","required":false}]},"actor:set-value":{"id":"actor:set-value","description":"Sets or removes record into the default key-value store associated with the Actor run.\nIt is possible to pass data using argument or stdin.\nPassing data using argument:\n$ apify actor:set-value KEY my-value\nPassing data using stdin with pipe:\n$ cat ./my-text-file.txt | apify actor:set-value KEY --contentType text/plain\n","pluginName":"apify-cli","pluginType":"core","aliases":[],"flags":{"contentType":{"name":"contentType","type":"option","char":"c","description":"Specifies a custom MIME content type of the record. By default \"application/json\" is used.","required":false}},"args":[{"name":"key","description":"Key of the record in key-value store.","required":true},{"name":"value","description":"Record data, which can be one of the following values:\n- If empty, the record in the key-value store is deleted.\n- If no `contentType` flag is specified, value is expected to be any JSON string value.\n- If options.contentType is set, value is taken as is.","required":false}]},"secrets:add":{"id":"secrets:add","description":"Adds a new secret value.\nThe secrets are stored to a file at ~/.apify","pluginName":"apify-cli","pluginType":"core","aliases":[],"flags":{},"args":[{"name":"name","description":"Name of the secret","required":true},{"name":"value","description":"Value of the secret","required":true}]},"secrets":{"id":"secrets","description":"Manages secret values for Actor environment variables.\n\nExample:\n$ apify secrets:add mySecret TopSecretValue123\n\nNow the \"mySecret\" value can be used in an environment variable defined in \".actor/actor.json\" file by adding the \"@\" prefix:\n\n{\n \"actorSpecification\": 1,\n \"name\": \"my_actor\",\n \"environmentVariables\": { \"SECRET_ENV_VAR\": \"@mySecret\" },\n \"version\": \"0.1\n}\n\nWhen the actor is pushed to Apify cloud, the \"SECRET_ENV_VAR\" and its value is stored as a secret environment variable of the actor.","pluginName":"apify-cli","pluginType":"core","aliases":[],"flags":{},"args":[]},"secrets:rm":{"id":"secrets:rm","description":"Removes the secret.","pluginName":"apify-cli","pluginType":"core","aliases":[],"flags":{},"args":[{"name":"name","description":"Name of the secret","required":true}]}}}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "apify-cli",
|
|
3
|
-
"version": "0.19.3-beta.
|
|
3
|
+
"version": "0.19.3-beta.4",
|
|
4
4
|
"description": "Apify command-line interface helps you create, develop, build and run Apify actors, and manage the Apify cloud platform.",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -60,6 +60,7 @@
|
|
|
60
60
|
"@crawlee/memory-storage": "^3.5.8",
|
|
61
61
|
"@oclif/command": "^1.8.36",
|
|
62
62
|
"@oclif/config": "^1.18.17",
|
|
63
|
+
"@oclif/core": "^2.15.0",
|
|
63
64
|
"@oclif/errors": "^1.3.6",
|
|
64
65
|
"@oclif/plugin-commands": "^2.1.0",
|
|
65
66
|
"@oclif/plugin-help": "^5.1.12",
|
|
@@ -109,6 +110,7 @@
|
|
|
109
110
|
"init": [
|
|
110
111
|
"./src/hooks/init"
|
|
111
112
|
]
|
|
112
|
-
}
|
|
113
|
+
},
|
|
114
|
+
"helpClass": "./src/lib/apify-oclif-help"
|
|
113
115
|
}
|
|
114
116
|
}
|
|
@@ -8,6 +8,6 @@ class ActorIndexCommand extends Command {
|
|
|
8
8
|
}
|
|
9
9
|
}
|
|
10
10
|
|
|
11
|
-
ActorIndexCommand.description = 'Commands are designed to be used in
|
|
11
|
+
ActorIndexCommand.description = 'Commands are designed to be used in Actor runs. All commands are in PoC state, do not use in production environments.\n';
|
|
12
12
|
|
|
13
13
|
module.exports = ActorIndexCommand;
|
|
@@ -28,7 +28,7 @@ class SetValueCommand extends ApifyCommand {
|
|
|
28
28
|
}
|
|
29
29
|
}
|
|
30
30
|
|
|
31
|
-
SetValueCommand.description = 'Sets or removes record into the default
|
|
31
|
+
SetValueCommand.description = 'Sets or removes record into the default key-value store associated with the Actor run.\n'
|
|
32
32
|
+ 'It is possible to pass data using argument or stdin.\n'
|
|
33
33
|
+ 'Passing data using argument:\n'
|
|
34
34
|
+ '$ apify actor:set-value KEY my-value\n'
|
package/src/commands/call.js
CHANGED
|
@@ -21,11 +21,11 @@ class CallCommand extends ApifyCommand {
|
|
|
21
21
|
const userInfo = await getLocalUserInfo();
|
|
22
22
|
const usernameOrId = userInfo.username || userInfo.id;
|
|
23
23
|
|
|
24
|
-
const forceActorId = args.
|
|
24
|
+
const forceActorId = args.actorId;
|
|
25
25
|
let actorId;
|
|
26
26
|
if (forceActorId) {
|
|
27
27
|
const actor = await apifyClient.actor(forceActorId).get();
|
|
28
|
-
if (!actor) throw new Error(`Cannot find
|
|
28
|
+
if (!actor) throw new Error(`Cannot find Actor with ID '${forceActorId}' in your account.`);
|
|
29
29
|
actorId = actor.username ? `${actor.username}/${actor.name}` : actor.id;
|
|
30
30
|
} else {
|
|
31
31
|
actorId = `${usernameOrId}/${localConfig.name}`;
|
|
@@ -65,7 +65,7 @@ class CallCommand extends ApifyCommand {
|
|
|
65
65
|
}
|
|
66
66
|
} catch (err) {
|
|
67
67
|
// TODO: Better error message in apify-client-js
|
|
68
|
-
if (err.type === 'record-not-found') throw new Error(`Actor ${
|
|
68
|
+
if (err.type === 'record-not-found') throw new Error(`Actor ${args.actorId} not found!`);
|
|
69
69
|
else throw err;
|
|
70
70
|
}
|
|
71
71
|
|
|
@@ -121,7 +121,7 @@ CallCommand.flags = {
|
|
|
121
121
|
|
|
122
122
|
CallCommand.args = [
|
|
123
123
|
{
|
|
124
|
-
name: '
|
|
124
|
+
name: 'actorId',
|
|
125
125
|
required: false,
|
|
126
126
|
description: 'Name or ID of the actor to run (e.g. "apify/hello-world" or "E2jjCZBezvAZnX8Rb"). '
|
|
127
127
|
+ `If not provided, the command runs the remote actor specified in the "${LOCAL_CONFIG_PATH}" file.`,
|
package/src/commands/create.js
CHANGED
|
@@ -71,8 +71,8 @@ class CreateCommand extends ApifyCommand {
|
|
|
71
71
|
fs.mkdirSync(actFolderDir);
|
|
72
72
|
} catch (err) {
|
|
73
73
|
if (err?.code === 'EEXIST') {
|
|
74
|
-
outputs.error(`Cannot create new
|
|
75
|
-
+ 'You can use "apify init" to create a local
|
|
74
|
+
outputs.error(`Cannot create new Actor, directory '${actorName}' already exists. `
|
|
75
|
+
+ 'You can use "apify init" to create a local Actor environment inside an existing directory.');
|
|
76
76
|
return;
|
|
77
77
|
}
|
|
78
78
|
throw err;
|
|
@@ -172,17 +172,17 @@ class CreateCommand extends ApifyCommand {
|
|
|
172
172
|
}
|
|
173
173
|
}
|
|
174
174
|
|
|
175
|
-
CreateCommand.description = 'Creates a new
|
|
175
|
+
CreateCommand.description = 'Creates a new Actor project directory from a selected boilerplate template.';
|
|
176
176
|
|
|
177
177
|
CreateCommand.flags = {
|
|
178
178
|
template: flagsHelper.string({
|
|
179
179
|
char: 't',
|
|
180
|
-
description: 'Template for the
|
|
180
|
+
description: 'Template for the Actor. If not provided, the command will prompt for it.\n'
|
|
181
181
|
+ `Visit ${actorTemplates.manifestUrl} to find available template names.`,
|
|
182
182
|
required: false,
|
|
183
183
|
}),
|
|
184
184
|
'skip-dependency-install': flagsHelper.boolean({
|
|
185
|
-
description: 'Skip installing
|
|
185
|
+
description: 'Skip installing Actor dependencies.',
|
|
186
186
|
required: false,
|
|
187
187
|
}),
|
|
188
188
|
'template-archive-url': flagsHelper.string({
|
|
@@ -196,7 +196,7 @@ CreateCommand.args = [
|
|
|
196
196
|
{
|
|
197
197
|
name: 'actorName',
|
|
198
198
|
required: false,
|
|
199
|
-
description: 'Name of the
|
|
199
|
+
description: 'Name of the Actor and its directory',
|
|
200
200
|
},
|
|
201
201
|
];
|
|
202
202
|
|
package/src/commands/init.js
CHANGED
|
@@ -55,11 +55,11 @@ class InitCommand extends ApifyCommand {
|
|
|
55
55
|
await setLocalEnv(cwd);
|
|
56
56
|
// Create prefilled INPUT.json file from the input schema prefills
|
|
57
57
|
await createPrefilledInputFileFromInputSchema(cwd);
|
|
58
|
-
outputs.success('The
|
|
58
|
+
outputs.success('The Actor has been initialized in the current directory.');
|
|
59
59
|
}
|
|
60
60
|
}
|
|
61
61
|
|
|
62
|
-
InitCommand.description = 'Initializes a new
|
|
62
|
+
InitCommand.description = 'Initializes a new Actor project in an existing directory.\n'
|
|
63
63
|
+ `The command only creates the "${LOCAL_CONFIG_PATH}" file and the "${DEFAULT_LOCAL_STORAGE_DIR}" directory in the current directory, `
|
|
64
64
|
+ 'but will not touch anything else.\n\n'
|
|
65
65
|
+ `WARNING: The directory at "${DEFAULT_LOCAL_STORAGE_DIR}" will be overwritten if it already exists.`;
|
|
@@ -68,7 +68,7 @@ InitCommand.args = [
|
|
|
68
68
|
{
|
|
69
69
|
name: 'actorName',
|
|
70
70
|
required: false,
|
|
71
|
-
description: 'Name of the
|
|
71
|
+
description: 'Name of the Actor. If not provided, you will be prompted for it.',
|
|
72
72
|
},
|
|
73
73
|
];
|
|
74
74
|
|
package/src/commands/push.js
CHANGED
|
@@ -60,7 +60,7 @@ class PushCommand extends ApifyCommand {
|
|
|
60
60
|
const forceActorId = args.actorId;
|
|
61
61
|
if (forceActorId) {
|
|
62
62
|
actor = await apifyClient.actor(forceActorId).get();
|
|
63
|
-
if (!actor) throw new Error(`Cannot find
|
|
63
|
+
if (!actor) throw new Error(`Cannot find Actor with ID '${forceActorId}' in your account.`);
|
|
64
64
|
actorId = actor.id;
|
|
65
65
|
} else {
|
|
66
66
|
const usernameOrId = userInfo.username || userInfo.id;
|
package/src/commands/run.js
CHANGED
|
@@ -88,7 +88,7 @@ class RunCommand extends ApifyCommand {
|
|
|
88
88
|
if (!flags.purge) {
|
|
89
89
|
const isStorageEmpty = await checkIfStorageIsEmpty();
|
|
90
90
|
if (!isStorageEmpty) {
|
|
91
|
-
warning('The storage directory contains a previous state, the
|
|
91
|
+
warning('The storage directory contains a previous state, the Actor will continue where it left off. '
|
|
92
92
|
+ 'To start from the initial state, use --purge parameter to clean the storage directory.');
|
|
93
93
|
}
|
|
94
94
|
}
|
|
@@ -172,10 +172,10 @@ class RunCommand extends ApifyCommand {
|
|
|
172
172
|
|
|
173
173
|
// TODO: we should describe which env vars are set here:
|
|
174
174
|
|
|
175
|
-
RunCommand.description = 'Runs the
|
|
175
|
+
RunCommand.description = 'Runs the Actor locally in the current directory.\n'
|
|
176
176
|
+ 'It sets various APIFY_XYZ environment variables '
|
|
177
|
-
+ 'in order to provide a working execution environment for the
|
|
178
|
-
+ 'the
|
|
177
|
+
+ 'in order to provide a working execution environment for the Actor. For example, this causes '
|
|
178
|
+
+ 'the Actor input, as well as all other data in key-value stores, '
|
|
179
179
|
+ `datasets or request queues to be stored in the "${DEFAULT_LOCAL_STORAGE_DIR}" directory, `
|
|
180
180
|
+ 'rather than on the Apify platform.\n\n'
|
|
181
181
|
+ 'NOTE: You can override the command\'s default behavior for Node.js actors by overriding the "start" script in the package.json file. '
|
|
@@ -9,7 +9,7 @@ class SecretsIndexCommand extends Command {
|
|
|
9
9
|
}
|
|
10
10
|
}
|
|
11
11
|
|
|
12
|
-
SecretsIndexCommand.description = 'Manages secret values for
|
|
12
|
+
SecretsIndexCommand.description = 'Manages secret values for Actor environment variables.\n\n'
|
|
13
13
|
+ 'Example:\n'
|
|
14
14
|
+ '$ apify secrets:add mySecret TopSecretValue123\n\n'
|
|
15
15
|
+ `Now the "mySecret" value can be used in an environment variable defined in "${LOCAL_CONFIG_PATH}" file by adding the "@" prefix:\n\n`
|
package/src/commands/vis.js
CHANGED
|
@@ -29,7 +29,7 @@ class ValidateInputSchemaCommand extends ApifyCommand {
|
|
|
29
29
|
}
|
|
30
30
|
|
|
31
31
|
ValidateInputSchemaCommand.description = `Validates input schema and prints errors found.
|
|
32
|
-
The input schema for the
|
|
32
|
+
The input schema for the Actor is used from these locations in order of preference.
|
|
33
33
|
The first one found is validated as it would be the one used on the Apify platform.
|
|
34
34
|
1. Directly embedded object in "${LOCAL_CONFIG_PATH}" under 'input' key
|
|
35
35
|
2. Path to JSON file referenced in "${LOCAL_CONFIG_PATH}" under 'input' key
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
const { Help } = require('@oclif/core');
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Custom help class that overrides how oclif renders help screens.
|
|
5
|
+
*
|
|
6
|
+
* It is registered through package.json.
|
|
7
|
+
*
|
|
8
|
+
* Refer to the oclif documentation for more information:
|
|
9
|
+
* https://oclif.io/docs/help_classes/#custom-help
|
|
10
|
+
*
|
|
11
|
+
* Note: The CLI was crashing when printing help with the latest oclif packages. Be careful when upgrading.
|
|
12
|
+
*/
|
|
13
|
+
module.exports = class ApifyOclifHelp extends Help {
|
|
14
|
+
showRootHelp() {
|
|
15
|
+
super.showRootHelp();
|
|
16
|
+
|
|
17
|
+
this.log(this.section(
|
|
18
|
+
'TROUBLESHOOTING',
|
|
19
|
+
this.wrap(
|
|
20
|
+
'For general support, reach out to us at https://apify.com/contact\n\n'
|
|
21
|
+
+ 'If you believe you are encountering a bug, file it at https://github.com/apify/apify-cli/issues/new')));
|
|
22
|
+
}
|
|
23
|
+
};
|
package/src/lib/create-utils.js
CHANGED
|
@@ -94,7 +94,7 @@ async function executePrompts(manifest) {
|
|
|
94
94
|
async function promptActorName() {
|
|
95
95
|
const answer = await inquirer.prompt([{
|
|
96
96
|
name: 'actorName',
|
|
97
|
-
message: 'Name of your new
|
|
97
|
+
message: 'Name of your new Actor:',
|
|
98
98
|
type: 'input',
|
|
99
99
|
validate: (promptText) => {
|
|
100
100
|
try {
|
|
@@ -115,7 +115,7 @@ async function promptProgrammingLanguage() {
|
|
|
115
115
|
const answer = await inquirer.prompt([{
|
|
116
116
|
type: 'list',
|
|
117
117
|
name: 'programmingLanguage',
|
|
118
|
-
message: 'Choose the programming language of your new
|
|
118
|
+
message: 'Choose the programming language of your new Actor:',
|
|
119
119
|
default: PROGRAMMING_LANGUAGES[0],
|
|
120
120
|
choices: PROGRAMMING_LANGUAGES,
|
|
121
121
|
loop: false,
|
|
@@ -149,7 +149,7 @@ async function promptTemplateDefinition(manifest, programmingLanguage) {
|
|
|
149
149
|
const answer = await inquirer.prompt([{
|
|
150
150
|
type: 'list',
|
|
151
151
|
name: 'templateDefinition',
|
|
152
|
-
message: 'Choose a template for your new
|
|
152
|
+
message: 'Choose a template for your new Actor. Detailed information about the template will be shown in the next step.',
|
|
153
153
|
default: choices[0],
|
|
154
154
|
choices,
|
|
155
155
|
loop: false,
|
package/src/lib/utils.js
CHANGED
|
@@ -210,10 +210,10 @@ const getLocalConfigOrThrow = async () => {
|
|
|
210
210
|
name: 'isConfirm',
|
|
211
211
|
type: 'confirm',
|
|
212
212
|
|
|
213
|
-
message: `The new version of Apify CLI uses the "${LOCAL_CONFIG_PATH}" instead of the "apify.json" file. Since we have found both files in your
|
|
213
|
+
message: `The new version of Apify CLI uses the "${LOCAL_CONFIG_PATH}" instead of the "apify.json" file. Since we have found both files in your Actor directory, "apify.json" will be renamed to "apify.json.deprecated". Going forward, all commands will use "${LOCAL_CONFIG_PATH}". You can read about the differences between the old and the new config at https://github.com/apify/apify-cli/blob/master/MIGRATIONS.md. Do you want to continue?`,
|
|
214
214
|
}]);
|
|
215
215
|
if (!answer.isConfirm) {
|
|
216
|
-
throw new Error('Command can not run with old "apify.json" file present in your
|
|
216
|
+
throw new Error('Command can not run with old "apify.json" file present in your Actor directory., Please, either rename or remove it.');
|
|
217
217
|
}
|
|
218
218
|
try {
|
|
219
219
|
fs.renameSync(getDeprecatedLocalConfigPath(), `${getDeprecatedLocalConfigPath()}.deprecated`);
|