@apimatic/cli 1.1.0-beta.9 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +117 -14
- package/lib/actions/portal/copilot.d.ts +1 -0
- package/lib/actions/portal/copilot.js +12 -12
- package/lib/actions/portal/copilot.js.map +1 -1
- package/lib/actions/portal/generate.js +7 -1
- package/lib/actions/portal/generate.js.map +1 -1
- package/lib/actions/portal/quickstart.d.ts +1 -0
- package/lib/actions/portal/quickstart.js +79 -10
- package/lib/actions/portal/quickstart.js.map +1 -1
- package/lib/actions/portal/serve.d.ts +1 -0
- package/lib/actions/portal/serve.js +77 -20
- package/lib/actions/portal/serve.js.map +1 -1
- package/lib/actions/portal/toc/new-toc.js +8 -20
- package/lib/actions/portal/toc/new-toc.js.map +1 -1
- package/lib/actions/publishing/profile/list.d.ts +11 -0
- package/lib/actions/publishing/profile/list.js +29 -0
- package/lib/actions/publishing/profile/list.js.map +1 -0
- package/lib/actions/sdk/generate.d.ts +9 -5
- package/lib/actions/sdk/generate.js +74 -46
- package/lib/actions/sdk/generate.js.map +1 -1
- package/lib/actions/sdk/merge-source-tree.d.ts +12 -0
- package/lib/actions/sdk/merge-source-tree.js +78 -0
- package/lib/actions/sdk/merge-source-tree.js.map +1 -0
- package/lib/actions/sdk/publish/interactive.d.ts +13 -0
- package/lib/actions/sdk/publish/interactive.js +105 -0
- package/lib/actions/sdk/publish/interactive.js.map +1 -0
- package/lib/actions/sdk/publish/non-interactive.d.ts +14 -0
- package/lib/actions/sdk/publish/non-interactive.js +101 -0
- package/lib/actions/sdk/publish/non-interactive.js.map +1 -0
- package/lib/actions/sdk/publish.d.ts +18 -0
- package/lib/actions/sdk/publish.js +56 -0
- package/lib/actions/sdk/publish.js.map +1 -0
- package/lib/actions/sdk/quickstart.d.ts +1 -0
- package/lib/actions/sdk/quickstart.js +19 -2
- package/lib/actions/sdk/quickstart.js.map +1 -1
- package/lib/actions/sdk/save-changes.d.ts +8 -0
- package/lib/actions/sdk/save-changes.js +93 -0
- package/lib/actions/sdk/save-changes.js.map +1 -0
- package/lib/application/portal/recipe/recipe-generator.js +14 -29
- package/lib/application/portal/recipe/recipe-generator.js.map +1 -1
- package/lib/application/portal/toc/toc-structure-generator.d.ts +3 -19
- package/lib/application/portal/toc/toc-structure-generator.js +43 -33
- package/lib/application/portal/toc/toc-structure-generator.js.map +1 -1
- package/lib/commands/portal/recipe/new.js +2 -2
- package/lib/commands/portal/recipe/new.js.map +1 -1
- package/lib/commands/portal/serve.js +3 -3
- package/lib/commands/portal/serve.js.map +1 -1
- package/lib/commands/portal/toc/new.js +2 -2
- package/lib/commands/portal/toc/new.js.map +1 -1
- package/lib/commands/publishing/profile/list.d.ts +9 -0
- package/lib/commands/publishing/profile/list.js +28 -0
- package/lib/commands/publishing/profile/list.js.map +1 -0
- package/lib/commands/quickstart.js +1 -1
- package/lib/commands/quickstart.js.map +1 -1
- package/lib/commands/sdk/generate.d.ts +6 -2
- package/lib/commands/sdk/generate.js +35 -9
- package/lib/commands/sdk/generate.js.map +1 -1
- package/lib/commands/sdk/publish.d.ts +18 -0
- package/lib/commands/sdk/publish.js +73 -0
- package/lib/commands/sdk/publish.js.map +1 -0
- package/lib/commands/sdk/save-changes.d.ts +14 -0
- package/lib/commands/sdk/save-changes.js +51 -0
- package/lib/commands/sdk/save-changes.js.map +1 -0
- package/lib/hooks/not-found.js +1 -1
- package/lib/hooks/not-found.js.map +1 -1
- package/lib/infrastructure/debounce-service.js +3 -0
- package/lib/infrastructure/debounce-service.js.map +1 -1
- package/lib/infrastructure/env-info.d.ts +2 -0
- package/lib/infrastructure/env-info.js +23 -12
- package/lib/infrastructure/env-info.js.map +1 -1
- package/lib/infrastructure/file-service.d.ts +9 -0
- package/lib/infrastructure/file-service.js +94 -5
- package/lib/infrastructure/file-service.js.map +1 -1
- package/lib/infrastructure/git-service.d.ts +14 -0
- package/lib/infrastructure/git-service.js +90 -0
- package/lib/infrastructure/git-service.js.map +1 -0
- package/lib/infrastructure/launcher-service.d.ts +5 -0
- package/lib/infrastructure/launcher-service.js +35 -2
- package/lib/infrastructure/launcher-service.js.map +1 -1
- package/lib/infrastructure/os-extensions.d.ts +2 -0
- package/lib/infrastructure/os-extensions.js +6 -0
- package/lib/infrastructure/os-extensions.js.map +1 -0
- package/lib/infrastructure/service-error.d.ts +14 -2
- package/lib/infrastructure/service-error.js +26 -9
- package/lib/infrastructure/service-error.js.map +1 -1
- package/lib/infrastructure/services/api-service.d.ts +1 -0
- package/lib/infrastructure/services/api-service.js +26 -2
- package/lib/infrastructure/services/api-service.js.map +1 -1
- package/lib/infrastructure/services/portal-service.d.ts +11 -2
- package/lib/infrastructure/services/portal-service.js +123 -18
- package/lib/infrastructure/services/portal-service.js.map +1 -1
- package/lib/infrastructure/services/publishing-api-service.d.ts +19 -0
- package/lib/infrastructure/services/publishing-api-service.js +111 -0
- package/lib/infrastructure/services/publishing-api-service.js.map +1 -0
- package/lib/infrastructure/services/validation-service.d.ts +21 -0
- package/lib/infrastructure/services/validation-service.js +94 -4
- package/lib/infrastructure/services/validation-service.js.map +1 -1
- package/lib/infrastructure/zip-service.d.ts +2 -2
- package/lib/infrastructure/zip-service.js +46 -25
- package/lib/infrastructure/zip-service.js.map +1 -1
- package/lib/prompts/format.d.ts +0 -2
- package/lib/prompts/format.js +0 -31
- package/lib/prompts/format.js.map +1 -1
- package/lib/prompts/portal/generate.d.ts +1 -1
- package/lib/prompts/portal/generate.js +9 -3
- package/lib/prompts/portal/generate.js.map +1 -1
- package/lib/prompts/portal/quickstart.d.ts +11 -2
- package/lib/prompts/portal/quickstart.js +80 -13
- package/lib/prompts/portal/quickstart.js.map +1 -1
- package/lib/prompts/portal/serve.d.ts +4 -0
- package/lib/prompts/portal/serve.js +20 -1
- package/lib/prompts/portal/serve.js.map +1 -1
- package/lib/prompts/portal/toc/new-toc.d.ts +2 -2
- package/lib/prompts/portal/toc/new-toc.js +3 -3
- package/lib/prompts/portal/toc/new-toc.js.map +1 -1
- package/lib/prompts/prompt.d.ts +6 -0
- package/lib/prompts/prompt.js +45 -0
- package/lib/prompts/prompt.js.map +1 -1
- package/lib/prompts/publishing/profile/list.d.ts +9 -0
- package/lib/prompts/publishing/profile/list.js +27 -0
- package/lib/prompts/publishing/profile/list.js.map +1 -0
- package/lib/prompts/sdk/generate.d.ts +7 -3
- package/lib/prompts/sdk/generate.js +25 -13
- package/lib/prompts/sdk/generate.js.map +1 -1
- package/lib/prompts/sdk/merge-source-tree.d.ts +22 -0
- package/lib/prompts/sdk/merge-source-tree.js +90 -0
- package/lib/prompts/sdk/merge-source-tree.js.map +1 -0
- package/lib/prompts/sdk/publish/interactive.d.ts +30 -0
- package/lib/prompts/sdk/publish/interactive.js +139 -0
- package/lib/prompts/sdk/publish/interactive.js.map +1 -0
- package/lib/prompts/sdk/publish/non-interactive.d.ts +27 -0
- package/lib/prompts/sdk/publish/non-interactive.js +97 -0
- package/lib/prompts/sdk/publish/non-interactive.js.map +1 -0
- package/lib/prompts/sdk/publish.d.ts +12 -0
- package/lib/prompts/sdk/publish.js +16 -0
- package/lib/prompts/sdk/publish.js.map +1 -0
- package/lib/prompts/sdk/quickstart.d.ts +4 -1
- package/lib/prompts/sdk/quickstart.js +30 -13
- package/lib/prompts/sdk/quickstart.js.map +1 -1
- package/lib/prompts/sdk/save-changes.d.ts +21 -0
- package/lib/prompts/sdk/save-changes.js +84 -0
- package/lib/prompts/sdk/save-changes.js.map +1 -0
- package/lib/types/api/account.d.ts +1 -0
- package/lib/types/build/build.d.ts +82 -2
- package/lib/types/build/build.js +161 -0
- package/lib/types/build/build.js.map +1 -1
- package/lib/types/build-context.d.ts +14 -1
- package/lib/types/build-context.js +82 -4
- package/lib/types/build-context.js.map +1 -1
- package/lib/types/events/sdk-changes-saved.d.ts +8 -0
- package/lib/types/events/sdk-changes-saved.js +11 -0
- package/lib/types/events/sdk-changes-saved.js.map +1 -0
- package/lib/types/events/sdk-changes-tracked.d.ts +8 -0
- package/lib/types/events/sdk-changes-tracked.js +11 -0
- package/lib/types/events/sdk-changes-tracked.js.map +1 -0
- package/lib/types/events/sdk-conflicts-resolved.d.ts +8 -0
- package/lib/types/events/sdk-conflicts-resolved.js +11 -0
- package/lib/types/events/sdk-conflicts-resolved.js.map +1 -0
- package/lib/types/events/sdk-publish-validation-failed.d.ts +5 -0
- package/lib/types/events/sdk-publish-validation-failed.js +8 -0
- package/lib/types/events/sdk-publish-validation-failed.js.map +1 -0
- package/lib/types/file/directory.d.ts +10 -1
- package/lib/types/file/directory.js +63 -5
- package/lib/types/file/directory.js.map +1 -1
- package/lib/types/file/directoryPath.js.map +1 -1
- package/lib/types/file/urlPath.d.ts +4 -0
- package/lib/types/file/urlPath.js +9 -0
- package/lib/types/file/urlPath.js.map +1 -1
- package/lib/types/merge-source-tree-context.d.ts +28 -0
- package/lib/types/merge-source-tree-context.js +63 -0
- package/lib/types/merge-source-tree-context.js.map +1 -0
- package/lib/types/package-settings-context.d.ts +10 -0
- package/lib/types/package-settings-context.js +20 -0
- package/lib/types/package-settings-context.js.map +1 -0
- package/lib/types/publish/package-settings-configuration.d.ts +74 -0
- package/lib/types/publish/package-settings-configuration.js +2 -0
- package/lib/types/publish/package-settings-configuration.js.map +1 -0
- package/lib/types/publish/profile-id.d.ts +10 -0
- package/lib/types/publish/profile-id.js +22 -0
- package/lib/types/publish/profile-id.js.map +1 -0
- package/lib/types/publish/publishing-profile.d.ts +26 -0
- package/lib/types/publish/publishing-profile.js +154 -0
- package/lib/types/publish/publishing-profile.js.map +1 -0
- package/lib/types/publish/publishing-profiles.d.ts +12 -0
- package/lib/types/publish/publishing-profiles.js +36 -0
- package/lib/types/publish/publishing-profiles.js.map +1 -0
- package/lib/types/publish/version.d.ts +7 -0
- package/lib/types/publish/version.js +17 -0
- package/lib/types/publish/version.js.map +1 -0
- package/lib/types/publish-api/publish-log.d.ts +20 -0
- package/lib/types/publish-api/publish-log.js +2 -0
- package/lib/types/publish-api/publish-log.js.map +1 -0
- package/lib/types/publish-api/publishing-info.d.ts +4 -0
- package/lib/types/publish-api/publishing-info.js +2 -0
- package/lib/types/publish-api/publishing-info.js.map +1 -0
- package/lib/types/publish-api/publishing-profile-item.d.ts +190 -0
- package/lib/types/publish-api/publishing-profile-item.js +6 -0
- package/lib/types/publish-api/publishing-profile-item.js.map +1 -0
- package/lib/types/save-changes-context.d.ts +17 -0
- package/lib/types/save-changes-context.js +42 -0
- package/lib/types/save-changes-context.js.map +1 -0
- package/lib/types/sdk/generate.d.ts +18 -0
- package/lib/types/sdk/generate.js +25 -0
- package/lib/types/sdk/generate.js.map +1 -1
- package/lib/types/sdk-context.d.ts +5 -4
- package/lib/types/sdk-context.js +26 -13
- package/lib/types/sdk-context.js.map +1 -1
- package/lib/types/sdl/sdl.d.ts +0 -28
- package/lib/types/sdl/sdl.js +1 -128
- package/lib/types/sdl/sdl.js.map +1 -1
- package/lib/types/spec-context.js.map +1 -1
- package/lib/types/temp-context.js.map +1 -1
- package/lib/types/toc/toc-components.d.ts +37 -0
- package/lib/types/toc/toc-components.js +97 -0
- package/lib/types/toc/toc-components.js.map +1 -0
- package/lib/types/toc/toc.d.ts +11 -0
- package/lib/utils/string-utils.d.ts +0 -1
- package/lib/utils/string-utils.js +0 -42
- package/lib/utils/string-utils.js.map +1 -1
- package/package.json +28 -20
- package/lib/types/versioned-build-context.d.ts +0 -15
- package/lib/types/versioned-build-context.js +0 -28
- package/lib/types/versioned-build-context.js.map +0 -1
package/README.md
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
@apimatic/cli
|
|
2
2
|
=============
|
|
3
|
-
apimatic is in beta.
|
|
4
3
|
|
|
5
4
|
The official CLI for APIMatic.
|
|
6
5
|
|
|
@@ -24,7 +23,7 @@ $ npm install -g @apimatic/cli
|
|
|
24
23
|
$ apimatic COMMAND
|
|
25
24
|
running command...
|
|
26
25
|
$ apimatic (--version)
|
|
27
|
-
@apimatic/cli/1.1.0-beta.
|
|
26
|
+
@apimatic/cli/1.1.0-beta.16 win32-x64 node-v23.4.0
|
|
28
27
|
$ apimatic --help [COMMAND]
|
|
29
28
|
USAGE
|
|
30
29
|
$ apimatic COMMAND
|
|
@@ -46,8 +45,11 @@ USAGE
|
|
|
46
45
|
* [`apimatic portal recipe new`](#apimatic-portal-recipe-new)
|
|
47
46
|
* [`apimatic portal serve`](#apimatic-portal-serve)
|
|
48
47
|
* [`apimatic portal toc new`](#apimatic-portal-toc-new)
|
|
48
|
+
* [`apimatic publishing profile list`](#apimatic-publishing-profile-list)
|
|
49
49
|
* [`apimatic quickstart`](#apimatic-quickstart)
|
|
50
50
|
* [`apimatic sdk generate`](#apimatic-sdk-generate)
|
|
51
|
+
* [`apimatic sdk publish`](#apimatic-sdk-publish)
|
|
52
|
+
* [`apimatic sdk save-changes`](#apimatic-sdk-save-changes)
|
|
51
53
|
|
|
52
54
|
## `apimatic api transform`
|
|
53
55
|
|
|
@@ -386,6 +388,25 @@ EXAMPLES
|
|
|
386
388
|
|
|
387
389
|
_See code: [src/commands/portal/toc/new.ts](https://github.com/apimatic/apimatic-cli/blob/beta/src/commands/portal/toc/new.ts)_
|
|
388
390
|
|
|
391
|
+
## `apimatic publishing profile list`
|
|
392
|
+
|
|
393
|
+
List all publishing profiles
|
|
394
|
+
|
|
395
|
+
```
|
|
396
|
+
USAGE
|
|
397
|
+
$ apimatic publishing profile list
|
|
398
|
+
|
|
399
|
+
DESCRIPTION
|
|
400
|
+
List all publishing profiles
|
|
401
|
+
|
|
402
|
+
Display all publishing profiles associated with your account, including each profile's name, ID and enabled languages.
|
|
403
|
+
|
|
404
|
+
EXAMPLES
|
|
405
|
+
apimatic publishing profile list
|
|
406
|
+
```
|
|
407
|
+
|
|
408
|
+
_See code: [src/commands/publishing/profile/list.ts](https://github.com/apimatic/apimatic-cli/blob/beta/src/commands/publishing/profile/list.ts)_
|
|
409
|
+
|
|
389
410
|
## `apimatic quickstart`
|
|
390
411
|
|
|
391
412
|
Create your first SDK or API Portal using APIMatic.
|
|
@@ -411,19 +432,27 @@ Generate an SDK for your API
|
|
|
411
432
|
|
|
412
433
|
```
|
|
413
434
|
USAGE
|
|
414
|
-
$ apimatic sdk generate -l csharp|java|php|python|ruby|typescript|go [-
|
|
415
|
-
<value>] [-
|
|
435
|
+
$ apimatic sdk generate -l csharp|java|php|python|ruby|typescript|go [-d <value>] [--skip-changes]
|
|
436
|
+
[--api-version <value>] [--zip] [--track-changes] [--codegen-version v3|v4] [--stability stable|beta] [-i <value>]
|
|
437
|
+
[-f] [-k <value>]
|
|
416
438
|
|
|
417
439
|
FLAGS
|
|
418
|
-
-d, --destination=<value>
|
|
419
|
-
|
|
420
|
-
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
--
|
|
440
|
+
-d, --destination=<value> [default: <input>/sdk/<language> | <input>/sdk/<api-version>/<language>] path where
|
|
441
|
+
the SDK will be generated
|
|
442
|
+
-f, --force overwrite changes without asking for user consent.
|
|
443
|
+
-i, --input=<value> [default: ./] path to the parent directory containing the 'src' directory, which
|
|
444
|
+
includes API specifications and configuration files.
|
|
445
|
+
-k, --auth-key=<value> override current authentication state with an authentication key.
|
|
446
|
+
-l, --language=<option> (required) Programming language for SDK generation
|
|
447
|
+
<options: csharp|java|php|python|ruby|typescript|go>
|
|
448
|
+
--api-version=<value> Version of the API to use for SDK generation (if multiple versions exist)
|
|
449
|
+
--codegen-version=<option> [default: v3] Version of the code generator to use
|
|
450
|
+
<options: v3|v4>
|
|
451
|
+
--skip-changes Do not apply the saved changes to the generated SDK
|
|
452
|
+
--stability=<option> [default: stable] Stability level of the generated SDK
|
|
453
|
+
<options: stable|beta>
|
|
454
|
+
--track-changes Enable change tracking for SDK generation (only required for initial setup)
|
|
455
|
+
--zip Download the generated SDK as a .zip archive
|
|
427
456
|
|
|
428
457
|
DESCRIPTION
|
|
429
458
|
Generate an SDK for your API
|
|
@@ -440,4 +469,78 @@ EXAMPLES
|
|
|
440
469
|
```
|
|
441
470
|
|
|
442
471
|
_See code: [src/commands/sdk/generate.ts](https://github.com/apimatic/apimatic-cli/blob/beta/src/commands/sdk/generate.ts)_
|
|
443
|
-
|
|
472
|
+
|
|
473
|
+
## `apimatic sdk publish`
|
|
474
|
+
|
|
475
|
+
Generate and publish an SDK to a package registry and/or source repository
|
|
476
|
+
|
|
477
|
+
```
|
|
478
|
+
USAGE
|
|
479
|
+
$ apimatic sdk publish [-p <value>] [-v <value>] [-d <value>] [-l csharp|java|php|python|ruby|typescript] [-f]
|
|
480
|
+
[-i <value>] [--publish-type package|sourcecode...] [--dry-run]
|
|
481
|
+
|
|
482
|
+
FLAGS
|
|
483
|
+
-d, --destination=<value> [default: <input>/sdk] path where the sdk will be generated.
|
|
484
|
+
-f, --force overwrite changes without asking for user consent.
|
|
485
|
+
-i, --input=<value> [default: ./] path to the parent directory containing the 'src' directory, which
|
|
486
|
+
includes API specifications and configuration files.
|
|
487
|
+
-l, --language=<option> Language of the SDK to generate and publish.
|
|
488
|
+
<options: csharp|java|php|python|ruby|typescript>
|
|
489
|
+
-p, --profile-id=<value> Id of the publishing profile to use.
|
|
490
|
+
-v, --version=<value> Semantic version of the SDK to publish (e.g. 1.0.0).
|
|
491
|
+
--dry-run Generate the SDK locally for review without publishing.
|
|
492
|
+
--publish-type=<option>... One or more publishing targets: 'package' for a package registry, 'sourcecode' for a
|
|
493
|
+
git repository.
|
|
494
|
+
<options: package|sourcecode>
|
|
495
|
+
|
|
496
|
+
DESCRIPTION
|
|
497
|
+
Generate and publish an SDK to a package registry and/or source repository
|
|
498
|
+
|
|
499
|
+
Generate and publish an SDK using a publishing profile configured in the APIMatic App. Requires an input directory
|
|
500
|
+
containing the API specification. Run without flags for a step-by-step interactive experience, or pass all required
|
|
501
|
+
flags for CI/CD automation.
|
|
502
|
+
|
|
503
|
+
EXAMPLES
|
|
504
|
+
apimatic sdk publish
|
|
505
|
+
|
|
506
|
+
apimatic sdk publish --profile-id=a1b2c3d4e5f6a1b2c3d4e5f6 --language=typescript --version=1.0.0 --publish-type=package --publish-type=sourcecode
|
|
507
|
+
|
|
508
|
+
apimatic sdk publish --profile-id=b2c3d4e5f6a1b2c3d4e5f6a1 --language=java --version=2.0.0 --publish-type=sourcecode
|
|
509
|
+
|
|
510
|
+
apimatic sdk publish --profile-id=c3d4e5f6a1b2c3d4e5f6a1b2 --language=python --version=1.0.0 --publish-type=package --dry-run
|
|
511
|
+
```
|
|
512
|
+
|
|
513
|
+
_See code: [src/commands/sdk/publish.ts](https://github.com/apimatic/apimatic-cli/blob/beta/src/commands/sdk/publish.ts)_
|
|
514
|
+
|
|
515
|
+
## `apimatic sdk save-changes`
|
|
516
|
+
|
|
517
|
+
Save customizations made to an auto-generated SDK
|
|
518
|
+
|
|
519
|
+
```
|
|
520
|
+
USAGE
|
|
521
|
+
$ apimatic sdk save-changes -l csharp|java|php|python|ruby|typescript|go [--sdk <value>] [--api-version <value>] [-i
|
|
522
|
+
<value>]
|
|
523
|
+
|
|
524
|
+
FLAGS
|
|
525
|
+
-i, --input=<value> [default: ./] path to the parent directory containing the 'src' directory, which includes
|
|
526
|
+
API specifications and configuration files.
|
|
527
|
+
-l, --language=<option> (required) Programming language of the SDK
|
|
528
|
+
<options: csharp|java|php|python|ruby|typescript|go>
|
|
529
|
+
--api-version=<value> Version of the API where changes should be saved (if multiple versions exist).
|
|
530
|
+
--sdk=<value> [default: ./sdk/<language> | ./sdk/<api-version>/<language>] path to the folder containing
|
|
531
|
+
the updated SDK.
|
|
532
|
+
|
|
533
|
+
DESCRIPTION
|
|
534
|
+
Save customizations made to an auto-generated SDK
|
|
535
|
+
|
|
536
|
+
Requires an input directory with API specifications, a path to the updated SDK directory, and the programming
|
|
537
|
+
language.
|
|
538
|
+
|
|
539
|
+
EXAMPLES
|
|
540
|
+
apimatic sdk save-changes --language=csharp
|
|
541
|
+
|
|
542
|
+
apimatic sdk save-changes --language=java --sdk=./sdk
|
|
543
|
+
```
|
|
544
|
+
|
|
545
|
+
_See code: [src/commands/sdk/save-changes.ts](https://github.com/apimatic/apimatic-cli/blob/beta/src/commands/sdk/save-changes.ts)_
|
|
546
|
+
<!-- commandsstop -->
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { DirectoryPath } from "../../types/file/directoryPath.js";
|
|
2
2
|
import { ActionResult } from "../action-result.js";
|
|
3
3
|
import { CommandMetadata } from "../../types/common/command-metadata.js";
|
|
4
|
+
export declare const DEFAULT_COPILOT_WELCOME_MESSAGE: string;
|
|
4
5
|
export declare class CopilotAction {
|
|
5
6
|
private readonly apiService;
|
|
6
7
|
private readonly fileService;
|
|
@@ -8,6 +8,12 @@ import { FileName } from "../../types/file/fileName.js";
|
|
|
8
8
|
import { FileService } from "../../infrastructure/file-service.js";
|
|
9
9
|
import { LauncherService } from "../../infrastructure/launcher-service.js";
|
|
10
10
|
import { err, ok } from "neverthrow";
|
|
11
|
+
export const DEFAULT_COPILOT_WELCOME_MESSAGE = "Hi there! I'm your API Integration Assistant, here to help you learn and integrate with this API.\n" +
|
|
12
|
+
"\n" +
|
|
13
|
+
"Ask me anything about this API or try one of these example prompts:\n" +
|
|
14
|
+
"\n" +
|
|
15
|
+
"- `What authentication methods does this API support?`\n" +
|
|
16
|
+
"- `What is this API about?`\n";
|
|
11
17
|
export class CopilotAction {
|
|
12
18
|
constructor(configDir, commandMetadata, authKey = null) {
|
|
13
19
|
this.apiService = new ApiService();
|
|
@@ -20,8 +26,8 @@ export class CopilotAction {
|
|
|
20
26
|
this.prompts.srcDirectoryEmpty(buildDirectory);
|
|
21
27
|
return ActionResult.failed();
|
|
22
28
|
}
|
|
23
|
-
const
|
|
24
|
-
if (!force &&
|
|
29
|
+
const buildConfig = await buildContext.getBuildFileContents();
|
|
30
|
+
if (!force && buildConfig.hasApiCopilot() && !(await this.prompts.confirmOverwrite())) {
|
|
25
31
|
this.prompts.cancelled();
|
|
26
32
|
return ActionResult.cancelled();
|
|
27
33
|
}
|
|
@@ -37,12 +43,12 @@ export class CopilotAction {
|
|
|
37
43
|
return ActionResult.failed();
|
|
38
44
|
}
|
|
39
45
|
const welcomeMessage = await this.prepareWelcomeMessage();
|
|
40
|
-
|
|
46
|
+
const updatedBuildConfig = buildConfig.withApiCopilotConfig({
|
|
41
47
|
isEnabled: enable,
|
|
42
48
|
key: apiCopilotKeyResult.value,
|
|
43
49
|
welcomeMessage: welcomeMessage
|
|
44
|
-
};
|
|
45
|
-
await buildContext.updateBuildFileContents(
|
|
50
|
+
});
|
|
51
|
+
await buildContext.updateBuildFileContents(updatedBuildConfig);
|
|
46
52
|
this.prompts.copilotConfigured(enable, apiCopilotKeyResult.value);
|
|
47
53
|
return ActionResult.success();
|
|
48
54
|
};
|
|
@@ -72,13 +78,7 @@ export class CopilotAction {
|
|
|
72
78
|
async prepareWelcomeMessage() {
|
|
73
79
|
return await withDirPath(async (tempDir) => {
|
|
74
80
|
const tempFile = new FilePath(tempDir, new FileName("welcome-message.md"));
|
|
75
|
-
|
|
76
|
-
"\n" +
|
|
77
|
-
"Ask me anything about this API or try one of these example prompts:\n" +
|
|
78
|
-
"\n" +
|
|
79
|
-
"- `What authentication methods does this API support?`\n" +
|
|
80
|
-
"- `[Enter another prompt here]`";
|
|
81
|
-
await this.fileService.writeContents(tempFile, defaultContent);
|
|
81
|
+
await this.fileService.writeContents(tempFile, DEFAULT_COPILOT_WELCOME_MESSAGE);
|
|
82
82
|
this.prompts.openWelcomeMessageEditor();
|
|
83
83
|
await this.launcherService.openInEditor(tempFile);
|
|
84
84
|
const welcomeMessage = await this.fileService.getContents(tempFile);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"copilot.js","sourceRoot":"","sources":["../../../src/actions/portal/copilot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,8CAA8C,CAAC;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAEvE,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,wCAAwC,CAAC;AACrE,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAE3E,OAAO,EAAE,GAAG,EAAE,EAAE,EAAU,MAAM,YAAY,CAAC;AAK7C,MAAM,OAAO,aAAa;IASxB,YAAY,SAAwB,EAAE,eAAgC,EAAE,UAAyB,IAAI;QARpF,eAAU,GAAG,IAAI,UAAU,EAAE,CAAC;QAC9B,gBAAW,GAAG,IAAI,WAAW,EAAE,CAAC;QAChC,oBAAe,GAAG,IAAI,eAAe,EAAE,CAAC;QACxC,YAAO,GAAG,IAAI,oBAAoB,EAAE,CAAC;QAWtC,YAAO,GAAG,KAAK,EAC7B,cAA6B,EAC7B,KAAc,EACd,MAAe,EACQ,EAAE;YACzB,MAAM,YAAY,GAAG,IAAI,YAAY,CAAC,cAAc,CAAC,CAAC;YAEtD,IAAI,CAAC,CAAC,MAAM,YAAY,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC;gBACrC,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;gBAC/C,OAAO,YAAY,CAAC,MAAM,EAAE,CAAC;YAC/B,CAAC;YAED,MAAM,
|
|
1
|
+
{"version":3,"file":"copilot.js","sourceRoot":"","sources":["../../../src/actions/portal/copilot.ts"],"names":[],"mappings":"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"}
|
|
@@ -34,7 +34,13 @@ export class GenerateAction {
|
|
|
34
34
|
if (response.isErr()) {
|
|
35
35
|
const error = response.error;
|
|
36
36
|
if (error instanceof ServiceError) {
|
|
37
|
-
|
|
37
|
+
const sdkMergeFailedErrors = error.getError("sdkMergeFailed");
|
|
38
|
+
if (sdkMergeFailedErrors) {
|
|
39
|
+
this.prompts.portalGenerationSdkMergeFailed(sdkMergeFailedErrors);
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
this.prompts.portalGenerationError(error.errorMessage);
|
|
43
|
+
}
|
|
38
44
|
}
|
|
39
45
|
else if (typeof error === "string") {
|
|
40
46
|
this.prompts.portalGenerationError(error);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../src/actions/portal/generate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,iDAAiD,CAAC;AAEhF,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,wCAAwC,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAC3E,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAE1D,OAAO,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AAErE,MAAM,OAAO,cAAc;IAQzB,YAAY,SAAwB,EAAE,eAAgC,EAAE,UAAyB,IAAI;QAPpF,YAAO,GAA0B,IAAI,qBAAqB,EAAE,CAAC;QAC7D,oBAAe,GAAoB,IAAI,eAAe,EAAE,CAAC;QACzD,kBAAa,GAAkB,IAAI,aAAa,EAAE,CAAC;QAWpD,YAAO,GAAG,KAAK,EAC7B,cAA6B,EAC7B,eAA8B,EAC9B,KAAc,EACd,SAAkB,EAClB,kBAA2B,IAAI,EACR,EAAE;YACzB,IAAI,cAAc,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC;gBAC5C,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,eAAe,CAAC,CAAC;gBACpD,OAAO,YAAY,CAAC,MAAM,EAAE,CAAC;YAC/B,CAAC;YAED,MAAM,YAAY,GAAG,IAAI,YAAY,CAAC,cAAc,CAAC,CAAC;YACtD,IAAI,CAAC,CAAC,MAAM,YAAY,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC;gBACrC,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;gBAC/C,OAAO,YAAY,CAAC,MAAM,EAAE,CAAC;YAC/B,CAAC;YAED,MAAM,aAAa,GAAG,IAAI,aAAa,CAAC,eAAe,CAAC,CAAC;YACzD,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,aAAa,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC;gBACvG,IAAI,CAAC,OAAO,CAAC,uBAAuB,EAAE,CAAC;gBACvC,OAAO,YAAY,CAAC,SAAS,EAAE,CAAC;YAClC,CAAC;YAED,OAAO,MAAM,WAAW,CAAC,KAAK,EAAE,aAAa,EAAE,EAAE;gBAC/C,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,aAAa,CAAC,CAAC;gBACnD,MAAM,YAAY,GAAG,MAAM,WAAW,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;gBAE3D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,CAChD,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,OAAO,CAAC,CACpG,CAAC;gBAEF,IAAI,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC;oBACrB,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;oBAC7B,IAAI,KAAK,YAAY,YAAY,EAAE,CAAC;wBAClC,IAAI,CAAC,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../src/actions/portal/generate.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,7 @@ export declare class PortalQuickstartAction {
|
|
|
8
8
|
private readonly configDir;
|
|
9
9
|
private readonly commandMetadata;
|
|
10
10
|
private readonly fileDownloadService;
|
|
11
|
+
private readonly apiService;
|
|
11
12
|
private readonly buildFileUrl;
|
|
12
13
|
private readonly defaultSpecUrl;
|
|
13
14
|
private readonly repositoryFolderName;
|
|
@@ -11,17 +11,21 @@ import { ValidateAction } from '../api/validate.js';
|
|
|
11
11
|
import { BuildContext } from '../../types/build-context.js';
|
|
12
12
|
import { TempContext } from '../../types/temp-context.js';
|
|
13
13
|
import { FileDownloadService } from '../../infrastructure/services/file-download-service.js';
|
|
14
|
-
import { getLanguagesConfig } from '../../types/build/build.js';
|
|
15
14
|
import { SpecContext } from '../../types/spec-context.js';
|
|
16
15
|
import { ValidationService } from '../../infrastructure/services/validation-service.js';
|
|
17
16
|
import { FileName } from '../../types/file/fileName.js';
|
|
18
|
-
|
|
17
|
+
import { ApiService } from '../../infrastructure/services/api-service.js';
|
|
18
|
+
import { DEFAULT_COPILOT_WELCOME_MESSAGE } from './copilot.js';
|
|
19
|
+
import { mapLanguages } from '../../types/sdk/generate.js';
|
|
20
|
+
const defaultPort = 23513;
|
|
21
|
+
const defaultBaseUrl = new UrlPath(`http://localhost:${defaultPort}`);
|
|
19
22
|
export class PortalQuickstartAction {
|
|
20
23
|
constructor(configDir, commandMetadata) {
|
|
21
24
|
this.prompts = new PortalQuickstartPrompts();
|
|
22
25
|
this.zipService = new ZipService();
|
|
23
26
|
this.fileService = new FileService();
|
|
24
27
|
this.fileDownloadService = new FileDownloadService();
|
|
28
|
+
this.apiService = new ApiService();
|
|
25
29
|
this.buildFileUrl = new UrlPath(`https://github.com/apimatic/sample-docs-as-code-portal/archive/refs/heads/master.zip`);
|
|
26
30
|
this.defaultSpecUrl = new UrlPath(`https://raw.githubusercontent.com/apimatic/sample-docs-as-code-portal/refs/heads/master/src/spec/openapi.json`);
|
|
27
31
|
this.repositoryFolderName = 'sample-docs-as-code-portal-master/src';
|
|
@@ -34,7 +38,22 @@ export class PortalQuickstartAction {
|
|
|
34
38
|
}
|
|
35
39
|
}
|
|
36
40
|
return await withDirPath(async (tempDirectory) => {
|
|
37
|
-
var _a;
|
|
41
|
+
var _a, _b;
|
|
42
|
+
// Fetch account info before anything else so the plan is known up front: it
|
|
43
|
+
// gates the on-prem generation exit below, feeds the language step the allowed
|
|
44
|
+
// SDK languages, and resolves the API Copilot key later. A lookup failure is fatal.
|
|
45
|
+
const accountInfo = await this.apiService.getAccountInfo(this.configDir, this.commandMetadata.shell, null);
|
|
46
|
+
if (accountInfo.isErr()) {
|
|
47
|
+
this.prompts.accountInfoFetchFailed(accountInfo.error);
|
|
48
|
+
return ActionResult.failed();
|
|
49
|
+
}
|
|
50
|
+
// Quickstart generates the portal locally (on-prem); a plan that doesn't allow
|
|
51
|
+
// on-prem generation can't run it, so stop before importing or pruning a spec.
|
|
52
|
+
if (!accountInfo.value.isOnPremGenerationAllowed) {
|
|
53
|
+
this.prompts.onPremGenerationNotAllowedOnPlan();
|
|
54
|
+
return ActionResult.cancelled();
|
|
55
|
+
}
|
|
56
|
+
const allowedLanguages = mapLanguages(accountInfo.value.allowedLanguages);
|
|
38
57
|
// Step 1/4
|
|
39
58
|
this.prompts.importSpecStep();
|
|
40
59
|
let specPath;
|
|
@@ -104,10 +123,20 @@ export class PortalQuickstartAction {
|
|
|
104
123
|
}
|
|
105
124
|
// Step 3/4
|
|
106
125
|
this.prompts.selectLanguagesStep();
|
|
107
|
-
|
|
108
|
-
if (
|
|
109
|
-
|
|
110
|
-
|
|
126
|
+
let languages;
|
|
127
|
+
if (allowedLanguages.length === 0) {
|
|
128
|
+
// With no SDK languages on the plan there's nothing to select, so skip the
|
|
129
|
+
// menu and build the portal with HTTP documentation only.
|
|
130
|
+
this.prompts.httpOnlyPortalOnPlan();
|
|
131
|
+
languages = ['http'];
|
|
132
|
+
}
|
|
133
|
+
else {
|
|
134
|
+
const selectedLanguages = await this.prompts.selectLanguagesPrompt(allowedLanguages);
|
|
135
|
+
if (!selectedLanguages) {
|
|
136
|
+
this.prompts.noLanguagesSelected();
|
|
137
|
+
return ActionResult.cancelled();
|
|
138
|
+
}
|
|
139
|
+
languages = selectedLanguages;
|
|
111
140
|
}
|
|
112
141
|
// Step 4/4
|
|
113
142
|
this.prompts.selectInputDirectoryStep();
|
|
@@ -129,6 +158,23 @@ export class PortalQuickstartAction {
|
|
|
129
158
|
}
|
|
130
159
|
break;
|
|
131
160
|
}
|
|
161
|
+
// Resolve the API Copilot key to enable, if any, before setting up the source
|
|
162
|
+
// directory. An account with no key continues silently (no Copilot); cancelling
|
|
163
|
+
// the multi-key selection aborts quickstart. (Account info was already fetched
|
|
164
|
+
// above for the language step.) Whether Copilot is actually on the plan is only
|
|
165
|
+
// known after the prune below, so the "enabled" caution is deferred until then.
|
|
166
|
+
let copilotKey;
|
|
167
|
+
const copilotKeys = (_b = accountInfo.value.ApiCopilotKeys) !== null && _b !== void 0 ? _b : [];
|
|
168
|
+
if (copilotKeys.length === 1) {
|
|
169
|
+
copilotKey = copilotKeys[0];
|
|
170
|
+
}
|
|
171
|
+
else if (copilotKeys.length > 1) {
|
|
172
|
+
copilotKey = await this.prompts.selectCopilotKey(copilotKeys);
|
|
173
|
+
if (!copilotKey) {
|
|
174
|
+
this.prompts.noCopilotKeySelected();
|
|
175
|
+
return ActionResult.cancelled();
|
|
176
|
+
}
|
|
177
|
+
}
|
|
132
178
|
const masterBuildFile = await this.prompts.downloadBuildDirectory(this.fileDownloadService.downloadFile(this.buildFileUrl));
|
|
133
179
|
if (masterBuildFile.isErr()) {
|
|
134
180
|
this.prompts.serviceError(masterBuildFile.error);
|
|
@@ -138,13 +184,36 @@ export class PortalQuickstartAction {
|
|
|
138
184
|
const masterBuildFilePath = await tempContext.save(masterBuildFile.value.stream);
|
|
139
185
|
await this.zipService.unArchive(masterBuildFilePath, tempDirectory);
|
|
140
186
|
const extractedFolder = tempDirectory.join(this.repositoryFolderName);
|
|
187
|
+
// Clean up the workflow dir from the template before copying
|
|
141
188
|
const tempBuildContext = new BuildContext(extractedFolder);
|
|
142
189
|
await tempBuildContext.deleteWorkflowDir();
|
|
143
|
-
|
|
144
|
-
buildFile.generatePortal.languageConfig = getLanguagesConfig(languages);
|
|
145
|
-
await tempBuildContext.updateBuildFileContents(buildFile);
|
|
190
|
+
// Copy the template into the final destination
|
|
146
191
|
const sourceDirectory = inputDirectory.join('src');
|
|
147
192
|
await this.fileService.copyDirectoryContents(extractedFolder, sourceDirectory);
|
|
193
|
+
// Update the build file in its final location via BuildContext,
|
|
194
|
+
// mirroring exactly how CopilotAction reads and writes the build file
|
|
195
|
+
const buildContext = new BuildContext(sourceDirectory);
|
|
196
|
+
const baseConfig = (await buildContext.getBuildFileContents()).withPortalLanguages(languages);
|
|
197
|
+
const buildConfig = copilotKey
|
|
198
|
+
? baseConfig.withApiCopilotForPortal(copilotKey, DEFAULT_COPILOT_WELCOME_MESSAGE, defaultBaseUrl)
|
|
199
|
+
: baseConfig;
|
|
200
|
+
await buildContext.updateBuildFileContents(buildConfig);
|
|
201
|
+
// Prune the build file to what the plan allows (SDK languages + AI features)
|
|
202
|
+
// before serving. Fail closed: a prune failure aborts rather than serving a
|
|
203
|
+
// build the plan can't generate.
|
|
204
|
+
const pruneResult = await this.validationService.pruneBuildFile(buildContext.buildConfigFilePath());
|
|
205
|
+
if (pruneResult.isErr()) {
|
|
206
|
+
this.prompts.serviceError(pruneResult.error);
|
|
207
|
+
return ActionResult.failed();
|
|
208
|
+
}
|
|
209
|
+
const { buildFile: prunedConfig, report } = pruneResult.value;
|
|
210
|
+
await buildContext.updateBuildFileContents(prunedConfig);
|
|
211
|
+
this.prompts.buildFilePruned(report);
|
|
212
|
+
// Only surface the Copilot caution if Copilot survived the prune — i.e. it's
|
|
213
|
+
// actually on the plan. If it was stripped, buildFilePruned already reported it.
|
|
214
|
+
if (prunedConfig.hasApiCopilot() && copilotKey) {
|
|
215
|
+
this.prompts.copilotEnabled(copilotKey);
|
|
216
|
+
}
|
|
148
217
|
const specDirectory = sourceDirectory.join('spec');
|
|
149
218
|
const specContext = new SpecContext(specDirectory);
|
|
150
219
|
await specContext.replaceDefaultSpec(specPath);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quickstart.js","sourceRoot":"","sources":["../../../src/actions/portal/quickstart.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,wCAAwC,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC;AACjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAE7E,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE/C,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,wDAAwD,CAAC;
|
|
1
|
+
{"version":3,"file":"quickstart.js","sourceRoot":"","sources":["../../../src/actions/portal/quickstart.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,5 +11,6 @@ export declare class PortalServeAction {
|
|
|
11
11
|
private readonly authKey;
|
|
12
12
|
constructor(configDir: DirectoryPath, commandMetadata: CommandMetadata, authKey?: string | null);
|
|
13
13
|
execute(buildDirectory: DirectoryPath, portalDirectory: DirectoryPath, port: number, openInBrowser: boolean, hotReload: boolean, onAfterServe?: () => void): Promise<ActionResult>;
|
|
14
|
+
private waitForServerListening;
|
|
14
15
|
private clearStandardInput;
|
|
15
16
|
}
|