@microsoft/managed-apps-cli 0.7.0 → 0.9.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 +42 -6
- package/dist/ArgumentProvider.d.ts +11 -0
- package/dist/ArgumentProvider.d.ts.map +1 -1
- package/dist/ArgumentProvider.js +61 -19
- package/dist/ArgumentProvider.js.map +1 -1
- package/dist/Authentication/NodeMsalAuthenticationProvider.d.ts +16 -0
- package/dist/Authentication/NodeMsalAuthenticationProvider.d.ts.map +1 -1
- package/dist/Authentication/NodeMsalAuthenticationProvider.js +58 -6
- package/dist/Authentication/NodeMsalAuthenticationProvider.js.map +1 -1
- package/dist/Cli.d.ts.map +1 -1
- package/dist/Cli.js +23 -7
- package/dist/Cli.js.map +1 -1
- package/dist/CliSettings.d.ts +2 -2
- package/dist/CliSettings.d.ts.map +1 -1
- package/dist/CliSettings.js +3 -4
- package/dist/CliSettings.js.map +1 -1
- package/dist/CliUtils.d.ts +25 -8
- package/dist/CliUtils.d.ts.map +1 -1
- package/dist/CliUtils.js +19 -23
- package/dist/CliUtils.js.map +1 -1
- package/dist/Constants/CommandRegistry.d.ts.map +1 -1
- package/dist/Constants/CommandRegistry.js +28 -1
- package/dist/Constants/CommandRegistry.js.map +1 -1
- package/dist/Constants/HelpStrings.d.ts +55 -5
- package/dist/Constants/HelpStrings.d.ts.map +1 -1
- package/dist/Constants/HelpStrings.js +113 -42
- package/dist/Constants/HelpStrings.js.map +1 -1
- package/dist/Constants.d.ts +1 -1
- package/dist/Constants.d.ts.map +1 -1
- package/dist/Constants.js +5 -2
- package/dist/Constants.js.map +1 -1
- package/dist/Errors/GitHubErrorMap.d.ts.map +1 -1
- package/dist/Errors/GitHubErrorMap.js +18 -11
- package/dist/Errors/GitHubErrorMap.js.map +1 -1
- package/dist/FS/CliFs.d.ts.map +1 -1
- package/dist/FS/CliFs.js.map +1 -1
- package/dist/HttpClient/CliHttpClient.d.ts +30 -0
- package/dist/HttpClient/CliHttpClient.d.ts.map +1 -1
- package/dist/HttpClient/CliHttpClient.js +136 -1
- package/dist/HttpClient/CliHttpClient.js.map +1 -1
- package/dist/Logger/CliLogger.d.ts +50 -8
- package/dist/Logger/CliLogger.d.ts.map +1 -1
- package/dist/Logger/CliLogger.js +92 -37
- package/dist/Logger/CliLogger.js.map +1 -1
- package/dist/Logger/ConsoleWriter.d.ts +5 -0
- package/dist/Logger/ConsoleWriter.d.ts.map +1 -1
- package/dist/Logger/ConsoleWriter.js +22 -14
- package/dist/Logger/ConsoleWriter.js.map +1 -1
- package/dist/Middletier/FunctionsBundler.js +5 -1
- package/dist/Middletier/FunctionsBundler.js.map +1 -1
- package/dist/Middletier/PackFunctions.d.ts +5 -4
- package/dist/Middletier/PackFunctions.d.ts.map +1 -1
- package/dist/Middletier/PackFunctions.js +8 -7
- package/dist/Middletier/PackFunctions.js.map +1 -1
- package/dist/Types/Cli.types.d.ts +1 -1
- package/dist/Types/Cli.types.d.ts.map +1 -1
- package/dist/Types/Command.types.d.ts +14 -3
- package/dist/Types/Command.types.d.ts.map +1 -1
- package/dist/Types/Command.types.js +4 -0
- package/dist/Types/Command.types.js.map +1 -1
- package/dist/Utils/BuildPolling.d.ts +18 -0
- package/dist/Utils/BuildPolling.d.ts.map +1 -0
- package/dist/Utils/BuildPolling.js +63 -0
- package/dist/Utils/BuildPolling.js.map +1 -0
- package/dist/Utils/BuildVerbDescriptionTable.d.ts +11 -1
- package/dist/Utils/BuildVerbDescriptionTable.d.ts.map +1 -1
- package/dist/Utils/BuildVerbDescriptionTable.js +73 -17
- package/dist/Utils/BuildVerbDescriptionTable.js.map +1 -1
- package/dist/Utils/DcfRecovery.d.ts +84 -0
- package/dist/Utils/DcfRecovery.d.ts.map +1 -0
- package/dist/Utils/DcfRecovery.js +266 -0
- package/dist/Utils/DcfRecovery.js.map +1 -0
- package/dist/Utils/EnhanceNetworkError.d.ts.map +1 -1
- package/dist/Utils/EnhanceNetworkError.js +2 -0
- package/dist/Utils/EnhanceNetworkError.js.map +1 -1
- package/dist/Utils/EnvVars.d.ts +1 -1
- package/dist/Utils/EnvVars.d.ts.map +1 -1
- package/dist/Utils/EnvVars.js.map +1 -1
- package/dist/Utils/RepoUrl.d.ts +11 -6
- package/dist/Utils/RepoUrl.d.ts.map +1 -1
- package/dist/Utils/RepoUrl.js +1 -1
- package/dist/Utils/RepoUrl.js.map +1 -1
- package/dist/Utils/ResolveCommand.d.ts +37 -1
- package/dist/Utils/ResolveCommand.d.ts.map +1 -1
- package/dist/Utils/ResolveCommand.js +97 -20
- package/dist/Utils/ResolveCommand.js.map +1 -1
- package/dist/Verbs/AddConnector.d.ts.map +1 -1
- package/dist/Verbs/AddConnector.js.map +1 -1
- package/dist/Verbs/AddConnectorFlows.d.ts.map +1 -1
- package/dist/Verbs/AddConnectorFlows.js +2 -2
- package/dist/Verbs/AddConnectorFlows.js.map +1 -1
- package/dist/Verbs/BuildMaafApp.d.ts.map +1 -1
- package/dist/Verbs/BuildMaafApp.js +98 -22
- package/dist/Verbs/BuildMaafApp.js.map +1 -1
- package/dist/Verbs/ConnectorHelpers.d.ts.map +1 -1
- package/dist/Verbs/ConnectorHelpers.js.map +1 -1
- package/dist/Verbs/CreateMaafApp.d.ts +54 -5
- package/dist/Verbs/CreateMaafApp.d.ts.map +1 -1
- package/dist/Verbs/CreateMaafApp.js +238 -238
- package/dist/Verbs/CreateMaafApp.js.map +1 -1
- package/dist/Verbs/DeployMaafApp.d.ts.map +1 -1
- package/dist/Verbs/DeployMaafApp.js +48 -20
- package/dist/Verbs/DeployMaafApp.js.map +1 -1
- package/dist/Verbs/GetMaafBuildStatus.d.ts.map +1 -1
- package/dist/Verbs/GetMaafBuildStatus.js +66 -17
- package/dist/Verbs/GetMaafBuildStatus.js.map +1 -1
- package/dist/Verbs/GetSettings.d.ts.map +1 -1
- package/dist/Verbs/GetSettings.js +9 -18
- package/dist/Verbs/GetSettings.js.map +1 -1
- package/dist/Verbs/Init.d.ts.map +1 -1
- package/dist/Verbs/Init.js +63 -46
- package/dist/Verbs/Init.js.map +1 -1
- package/dist/Verbs/ListFlows.d.ts.map +1 -1
- package/dist/Verbs/ListFlows.js +1 -2
- package/dist/Verbs/ListFlows.js.map +1 -1
- package/dist/Verbs/MaafAppPermissions.d.ts +12 -6
- package/dist/Verbs/MaafAppPermissions.d.ts.map +1 -1
- package/dist/Verbs/MaafAppPermissions.js +208 -66
- package/dist/Verbs/MaafAppPermissions.js.map +1 -1
- package/dist/Verbs/PlayMaafApp.d.ts +22 -0
- package/dist/Verbs/PlayMaafApp.d.ts.map +1 -0
- package/dist/Verbs/PlayMaafApp.js +147 -0
- package/dist/Verbs/PlayMaafApp.js.map +1 -0
- package/dist/Verbs/RefreshDataSource.d.ts.map +1 -1
- package/dist/Verbs/RefreshDataSource.js.map +1 -1
- package/dist/Verbs/RefreshGitAuth.d.ts.map +1 -1
- package/dist/Verbs/RefreshGitAuth.js +31 -16
- package/dist/Verbs/RefreshGitAuth.js.map +1 -1
- package/dist/Verbs/SetSetting.d.ts.map +1 -1
- package/dist/Verbs/SetSetting.js +39 -49
- package/dist/Verbs/SetSetting.js.map +1 -1
- package/dist/Verbs/ShareLinkCreate.d.ts +23 -0
- package/dist/Verbs/ShareLinkCreate.d.ts.map +1 -0
- package/dist/Verbs/ShareLinkCreate.js +73 -0
- package/dist/Verbs/ShareLinkCreate.js.map +1 -0
- package/dist/Verbs/ShareLinkList.d.ts +16 -0
- package/dist/Verbs/ShareLinkList.d.ts.map +1 -0
- package/dist/Verbs/ShareLinkList.js +84 -0
- package/dist/Verbs/ShareLinkList.js.map +1 -0
- package/dist/Verbs/ShareLinkRevoke.d.ts +22 -0
- package/dist/Verbs/ShareLinkRevoke.d.ts.map +1 -0
- package/dist/Verbs/ShareLinkRevoke.js +137 -0
- package/dist/Verbs/ShareLinkRevoke.js.map +1 -0
- package/dist/Verbs/VerbConstants.d.ts +113 -16
- package/dist/Verbs/VerbConstants.d.ts.map +1 -1
- package/dist/Verbs/VerbConstants.js +102 -24
- package/dist/Verbs/VerbConstants.js.map +1 -1
- package/dist/Verbs/index.d.ts +4 -0
- package/dist/Verbs/index.d.ts.map +1 -1
- package/dist/Verbs/index.js +4 -0
- package/dist/Verbs/index.js.map +1 -1
- package/package.json +5 -5
package/README.md
CHANGED
|
@@ -26,10 +26,12 @@ You can pass options on the command line, set them via environment variables (se
|
|
|
26
26
|
|
|
27
27
|
### `app create`
|
|
28
28
|
|
|
29
|
-
Create a new Managed App in the environment. Initializes a local git repo and scaffolds the app into `apps/<server-app-guid>`.
|
|
29
|
+
Create a new Managed App in the environment. Initializes a local git repo and scaffolds the app into `apps/<server-app-guid>`. By default, picks the user's personal development environment; pass `--environment-id` to target a specific environment instead.
|
|
30
30
|
|
|
31
31
|
```bash
|
|
32
32
|
npx ms app create --display-name "My App" --repository-id <id>
|
|
33
|
+
# Target a specific environment:
|
|
34
|
+
npx ms app create --display-name "My App" --environment-id <id>
|
|
33
35
|
```
|
|
34
36
|
|
|
35
37
|
### `app init`
|
|
@@ -38,6 +40,10 @@ Initialize a `ms.config.json` for an existing app.
|
|
|
38
40
|
|
|
39
41
|
```bash
|
|
40
42
|
npx ms app init --display-name "My App" --environment-id <id>
|
|
43
|
+
# If the project's git remote is a supported GitHub repo (*.ghe.com or github.com),
|
|
44
|
+
# --use-existing-git-repo binds the app to it. Inline DCF re-auth fires automatically if the Entra↔GitHub
|
|
45
|
+
# mapping is missing or expired; pass --open-browser to launch the system browser.
|
|
46
|
+
npx ms app init --display-name "My App" --use-existing-git-repo --open-browser
|
|
41
47
|
```
|
|
42
48
|
|
|
43
49
|
### `app list`
|
|
@@ -72,7 +78,7 @@ Initiate a cloud build for a Managed App and poll its status.
|
|
|
72
78
|
|
|
73
79
|
```bash
|
|
74
80
|
npx ms app build --app my-app --commit abc1234
|
|
75
|
-
npx ms app build-status --app my-app --
|
|
81
|
+
npx ms app build-status --app my-app --commit abc1234
|
|
76
82
|
```
|
|
77
83
|
|
|
78
84
|
### `app deploy`
|
|
@@ -136,10 +142,14 @@ In interactive mode the verb prompts for confirmation before deleting. `--force`
|
|
|
136
142
|
Share or unshare a Managed App with users and groups. Each invocation targets a single access level via `--access`:
|
|
137
143
|
|
|
138
144
|
- **`--access play`** (default) — grants/revokes the ability to run the app (the `MicrosoftAppReader` role at the app scope).
|
|
139
|
-
- **`--access edit`** — grants/revokes the ability to modify the app
|
|
145
|
+
- **`--access edit`** — grants/revokes the ability to modify the app. The concrete role and scope depend on the app's `repoType` (set at `app init`):
|
|
146
|
+
- `native` (platform-managed repo): the `RepositoryContributor` role on the underlying git repository via GRS.
|
|
147
|
+
- `none` or `github`: there is no platform-managed repository, so the `MicrosoftAppContributor` role at the app scope instead. A one-line info message announces the scope change.
|
|
140
148
|
|
|
141
149
|
Each invocation only touches the requested access level, so `unshare --access edit` leaves play access intact (and vice-versa). Both verbs take a comma-separated positional list of principals — each entry is either a Microsoft Entra object ID (GUID) or an email address. Emails are resolved against your tenant via Microsoft Graph (`User.ReadBasic.All` and `Group.Read.All`).
|
|
142
150
|
|
|
151
|
+
> If `ms.config.json` is missing the `repoType` field but has a `repositoryId` set (an older config written before `repoType` was persisted), `--access edit` refuses to guess and asks the user to re-run `ms app init` to migrate the config.
|
|
152
|
+
|
|
143
153
|
```bash
|
|
144
154
|
# Share play access by email (default — resolved via Graph)
|
|
145
155
|
npx ms app share alice@contoso.com,bob@contoso.com
|
|
@@ -188,6 +198,32 @@ In `--json` mode the output is an envelope so automation can detect partial succ
|
|
|
188
198
|
|
|
189
199
|
`warnings` is always present (empty array on full success). The `revokedCount` / `revokedPrincipalCount` / `notFound` / `skipped` keys appear on `unshare` only — `revokedCount` is the number of role assignments deleted on the wire, while `revokedPrincipalCount` is the number of distinct principals whose access was revoked (typically equal, but `revokedCount` can be higher when a principal had multiple stale assignments at the same scope).
|
|
190
200
|
|
|
201
|
+
### `app share link create` / `app share link list` / `app share link revoke`
|
|
202
|
+
|
|
203
|
+
Manage tenant-wide share links for a MAAF app. A share link is a JIT-redemption URL: the first time a recipient opens it, they are granted the `Microsoft App Reader` role at the app scope. Links can be listed and revoked at any time.
|
|
204
|
+
|
|
205
|
+
```bash
|
|
206
|
+
# Create a share link for the current app (URL is printed on a dedicated line for easy copy)
|
|
207
|
+
npx ms app share link create
|
|
208
|
+
|
|
209
|
+
# List every link issued for the app
|
|
210
|
+
npx ms app share link list
|
|
211
|
+
|
|
212
|
+
# Revoke a link by id (4-char hex returned at creation)
|
|
213
|
+
npx ms app share link revoke --link-id a3f1
|
|
214
|
+
|
|
215
|
+
# Skip the confirmation prompt
|
|
216
|
+
npx ms app share link revoke --link-id a3f1 --force
|
|
217
|
+
|
|
218
|
+
# JSON output
|
|
219
|
+
npx ms app share link create --json
|
|
220
|
+
npx ms app share link list --json
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
`share link revoke` is idempotent in spirit: revoking a link that does not exist exits cleanly with a warning (`--json` returns `existed: false`), mirroring `ms app delete`.
|
|
224
|
+
|
|
225
|
+
Only the `Microsoft App Reader` role is supported today, so no `--role` flag is exposed yet — the role enum is open server-side for future expansion.
|
|
226
|
+
|
|
191
227
|
### `app refresh`
|
|
192
228
|
|
|
193
229
|
Refresh data sources in the current app.
|
|
@@ -271,11 +307,11 @@ npx ms auth logout --json
|
|
|
271
307
|
|
|
272
308
|
### `git auth refresh`
|
|
273
309
|
|
|
274
|
-
Refresh (or establish) the mapping between your Microsoft Entra identity and a GitHub user with access to the specified
|
|
310
|
+
Refresh (or establish) the mapping between your Microsoft Entra identity and a GitHub user with access to the specified external GitHub (`*.ghe.com` or `github.com`) repo, via the Managed Apps GitHub App's Device Code Flow. By default the CLI prints a verification URL and user code for you to open manually; pass `--open-browser` to best-effort launch the system browser instead. On success prints `Authenticated as <github-login> for <owner>/<repo>.` followed by `Mapping established; expires around <timestamp>.`.
|
|
275
311
|
|
|
276
312
|
```bash
|
|
277
|
-
npx ms git auth refresh --repo contoso.ghe.com/contoso/my-app
|
|
278
|
-
npx ms git auth refresh -r contoso.ghe.com/contoso/my-app --open-browser --json
|
|
313
|
+
npx ms git auth refresh --repo https://contoso.ghe.com/contoso/my-app
|
|
314
|
+
npx ms git auth refresh -r https://contoso.ghe.com/contoso/my-app --open-browser --json
|
|
279
315
|
```
|
|
280
316
|
|
|
281
317
|
### `telemetry enable` / `telemetry disable` / `telemetry status`
|
|
@@ -70,6 +70,17 @@ export declare class ArgumentProvider implements IArgumentProvider {
|
|
|
70
70
|
addOptions(cliOptions: CliOption[]): void;
|
|
71
71
|
runVerb(): Promise<void>;
|
|
72
72
|
handleGlobalHelpOrFlagsAndExit(): void;
|
|
73
|
+
/**
|
|
74
|
+
* Detects `--help` requests on nested typed-verb paths the resolver can't
|
|
75
|
+
* leaf-match (e.g. `ms app share link --help` — `link` is a nested typed
|
|
76
|
+
* verb with no handler of its own) and prints the typed verb's flattened
|
|
77
|
+
* subcommand list. Returns true if it handled the request.
|
|
78
|
+
*
|
|
79
|
+
* Skips when the user is asking for help on a path the resolver already
|
|
80
|
+
* fully matched (those paths route through Commander's normal `--help`
|
|
81
|
+
* handling at the leaf level).
|
|
82
|
+
*/
|
|
83
|
+
private _tryPrintDeepTypedHelp;
|
|
73
84
|
getVerb(): string;
|
|
74
85
|
getResolvedCommand(): ResolvedCommand | null;
|
|
75
86
|
getOption<T>(key: string, ignorePrompt?: boolean): Promise<T>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ArgumentProvider.d.ts","sourceRoot":"","sources":["../src/ArgumentProvider.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ArgumentProvider.d.ts","sourceRoot":"","sources":["../src/ArgumentProvider.ts"],"names":[],"mappings":"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"}
|
package/dist/ArgumentProvider.js
CHANGED
|
@@ -11,10 +11,10 @@ import { CLI_BINARY_NAME } from './Constants/CliConstants.js';
|
|
|
11
11
|
import { COMMAND_TREE } from './Constants/CommandRegistry.js';
|
|
12
12
|
import { HelpStrings } from './Constants/HelpStrings.js';
|
|
13
13
|
import { UsageError } from './Errors/CliError.js';
|
|
14
|
-
import { buildNounHelpText,
|
|
14
|
+
import { buildNounHelpText, buildPathTypedHelpText, buildVerbDescriptionTable, } from './Utils/BuildVerbDescriptionTable.js';
|
|
15
15
|
import { printInfo } from './Utils/ConsoleOutput.js';
|
|
16
16
|
import { cliEnvVarFullName, getCliEnvVar } from './Utils/EnvVars.js';
|
|
17
|
-
import {
|
|
17
|
+
import { findIncompleteTypedPath, isKnownNoun, resolveCommand } from './Utils/ResolveCommand.js';
|
|
18
18
|
import { GlobalArguments } from './Verbs/VerbConstants.js';
|
|
19
19
|
export class ArgumentProvider {
|
|
20
20
|
_httpClient;
|
|
@@ -79,7 +79,7 @@ export class ArgumentProvider {
|
|
|
79
79
|
const debugEnvironmentId = getCliEnvVar('MAAF_DEBUG_ENVIRONMENT_ID');
|
|
80
80
|
if (!this._environmentId && debugEnvironmentId) {
|
|
81
81
|
this._environmentId = debugEnvironmentId;
|
|
82
|
-
printInfo(`[debug] ${cliEnvVarFullName('MAAF_DEBUG_ENVIRONMENT_ID')} is set
|
|
82
|
+
printInfo(`[debug] ${cliEnvVarFullName('MAAF_DEBUG_ENVIRONMENT_ID')} is set to '${this._environmentId}'.`);
|
|
83
83
|
}
|
|
84
84
|
const configCloud = settings.appConfig?.cloud;
|
|
85
85
|
if (configCloud) {
|
|
@@ -164,7 +164,11 @@ export class ArgumentProvider {
|
|
|
164
164
|
throw new UsageError(`Region is not set. Use --cloud or set the ${cliEnvVarFullName('CLOUD_INSTANCE')} environment variable.`);
|
|
165
165
|
}
|
|
166
166
|
await this._authenticationProvider.initAsync(this._region);
|
|
167
|
-
|
|
167
|
+
// If the user is already signed in, run the telemetry upgrade now so the first
|
|
168
|
+
// event lands on the authenticated writer (with `tenantId` and EU routing where
|
|
169
|
+
// applicable). For not-signed-in users this is a cheap no-op and the upgrade
|
|
170
|
+
// fires later via `CliHttpClient.onFirstAuth` if the verb triggers a sign-in.
|
|
171
|
+
await this._logger.tryEagerUpgradeAsync(this._authenticationProvider);
|
|
168
172
|
this._logger.trackActivityEvent('Initialize', {
|
|
169
173
|
verb: this._verb,
|
|
170
174
|
});
|
|
@@ -182,25 +186,35 @@ export class ArgumentProvider {
|
|
|
182
186
|
this._isParsed = true;
|
|
183
187
|
return;
|
|
184
188
|
}
|
|
185
|
-
//
|
|
189
|
+
// Deep typed-verb help: when the user has drilled past the resolver's leaf
|
|
190
|
+
// match (e.g. `ms app share link --help` resolves to the `share` hybrid
|
|
191
|
+
// parent + extra positional args), surface the deeper typed verb's
|
|
192
|
+
// subcommand list rather than letting Commander print the parent's help.
|
|
193
|
+
if (this._tryPrintDeepTypedHelp()) {
|
|
194
|
+
process.exit(0);
|
|
195
|
+
}
|
|
196
|
+
// If no command resolved, surface the most contextual help/error possible.
|
|
186
197
|
if (!this._resolvedCommand) {
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
//
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
198
|
+
// Walk the typed-verb tree along the argv path. This handles every
|
|
199
|
+
// arbitrarily-deep "incomplete typed group" case in one place — e.g.
|
|
200
|
+
// `ms app add` (group help), `ms app add bogus` (Unknown type error),
|
|
201
|
+
// `ms app share link` (deeper group help), `ms app share link bogus`
|
|
202
|
+
// (Unknown type error).
|
|
203
|
+
const incomplete = findIncompleteTypedPath(process.argv, COMMAND_TREE);
|
|
204
|
+
if (incomplete) {
|
|
205
|
+
if (incomplete.unknownToken !== undefined) {
|
|
206
|
+
throw new UsageError(`Unknown type '${incomplete.unknownToken}' for '${CLI_BINARY_NAME} ${incomplete.pathTokens.join(' ')}'. Run "${CLI_BINARY_NAME} ${incomplete.pathTokens.join(' ')} --help" for available types.`);
|
|
207
|
+
}
|
|
208
|
+
const helpText = buildPathTypedHelpText(incomplete.pathTokens);
|
|
209
|
+
if (helpText) {
|
|
210
|
+
printInfo(helpText);
|
|
211
|
+
process.exit(0);
|
|
197
212
|
}
|
|
198
|
-
printInfo(buildTypedSubcommandHelpText(firstToken, secondToken));
|
|
199
|
-
process.exit(0);
|
|
200
213
|
}
|
|
201
|
-
//
|
|
214
|
+
// Noun-level fallbacks: noun-only (show noun help) and unknown verb
|
|
215
|
+
// under a known noun (Unknown command error).
|
|
202
216
|
if (isKnownNoun(firstToken, COMMAND_TREE)) {
|
|
203
|
-
|
|
217
|
+
const secondToken = process.argv[3];
|
|
204
218
|
if (secondToken && !secondToken.startsWith('-')) {
|
|
205
219
|
throw new UsageError(`Unknown command '${secondToken}' under '${CLI_BINARY_NAME} ${firstToken}'. Run "${CLI_BINARY_NAME} ${firstToken} --help" for available commands.`);
|
|
206
220
|
}
|
|
@@ -211,6 +225,34 @@ export class ArgumentProvider {
|
|
|
211
225
|
throw new UsageError(`Unknown command '${firstToken}'. Run "${CLI_BINARY_NAME} --help" for available commands.`);
|
|
212
226
|
}
|
|
213
227
|
}
|
|
228
|
+
/**
|
|
229
|
+
* Detects `--help` requests on nested typed-verb paths the resolver can't
|
|
230
|
+
* leaf-match (e.g. `ms app share link --help` — `link` is a nested typed
|
|
231
|
+
* verb with no handler of its own) and prints the typed verb's flattened
|
|
232
|
+
* subcommand list. Returns true if it handled the request.
|
|
233
|
+
*
|
|
234
|
+
* Skips when the user is asking for help on a path the resolver already
|
|
235
|
+
* fully matched (those paths route through Commander's normal `--help`
|
|
236
|
+
* handling at the leaf level).
|
|
237
|
+
*/
|
|
238
|
+
_tryPrintDeepTypedHelp() {
|
|
239
|
+
const argv = process.argv.slice(2);
|
|
240
|
+
const helpIdx = argv.findIndex((t) => t === '--help' || t === '-h');
|
|
241
|
+
if (helpIdx === -1)
|
|
242
|
+
return false;
|
|
243
|
+
const pathTokens = argv.slice(0, helpIdx).filter((t) => !t.startsWith('-'));
|
|
244
|
+
// Bail when the resolver consumed every non-flag path token already —
|
|
245
|
+
// those are leaf matches (or noun-only / typed-parent help, both of
|
|
246
|
+
// which are handled by the existing branches below).
|
|
247
|
+
if (this._resolvedCommand && pathTokens.length <= this._resolvedCommand.tokensConsumed) {
|
|
248
|
+
return false;
|
|
249
|
+
}
|
|
250
|
+
const helpText = buildPathTypedHelpText(pathTokens);
|
|
251
|
+
if (!helpText)
|
|
252
|
+
return false;
|
|
253
|
+
printInfo(helpText);
|
|
254
|
+
return true;
|
|
255
|
+
}
|
|
214
256
|
getVerb() {
|
|
215
257
|
if (!this._resolvedCommand) {
|
|
216
258
|
throw new UsageError(`No command specified. Run "${CLI_BINARY_NAME} --help" for available commands.`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ArgumentProvider.js","sourceRoot":"","sources":["../src/ArgumentProvider.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ArgumentProvider.js","sourceRoot":"","sources":["../src/ArgumentProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,6 +15,7 @@ export declare class NodeMsalAuthenticationProvider implements IAuthenticationPr
|
|
|
15
15
|
private _region;
|
|
16
16
|
private readonly _activeStore;
|
|
17
17
|
private readonly _cacheDirectory;
|
|
18
|
+
private _isJsonMode;
|
|
18
19
|
/**
|
|
19
20
|
* `cacheDirectory` defaults to the production auth cache (`~/.ms-cli/cache/auth/`).
|
|
20
21
|
* Tests pass a tmpdir so they can verify cache-write/clear behavior without touching
|
|
@@ -22,6 +23,13 @@ export declare class NodeMsalAuthenticationProvider implements IAuthenticationPr
|
|
|
22
23
|
*/
|
|
23
24
|
constructor(cacheDirectory?: string);
|
|
24
25
|
initAsync(region: Region): Promise<void>;
|
|
26
|
+
/**
|
|
27
|
+
* Injects the CLI's authoritative JSON-mode check (`ArgumentProvider.isJsonMode`), used only
|
|
28
|
+
* to suppress the interactive sign-in spinner so it never corrupts a `--json` stdout
|
|
29
|
+
* envelope. Wired from `Cli.ts` once the `ArgumentProvider` exists; until then the
|
|
30
|
+
* conservative argv-peek default is used (e.g. unit tests that construct the provider directly).
|
|
31
|
+
*/
|
|
32
|
+
setJsonModeResolver(isJsonMode: () => boolean): void;
|
|
25
33
|
getAccessTokenForResource(resource: string, loginHint?: string): Promise<string>;
|
|
26
34
|
getUserTenantId(): string | undefined;
|
|
27
35
|
getCachedAccountAsync(): Promise<string | undefined>;
|
|
@@ -53,6 +61,14 @@ export declare class NodeMsalAuthenticationProvider implements IAuthenticationPr
|
|
|
53
61
|
*/
|
|
54
62
|
private _ensureActivePointer;
|
|
55
63
|
private _acquireTokenInternal;
|
|
64
|
+
/**
|
|
65
|
+
* Guards the interactive sign-in entry points. Interactive sign-in opens a browser, which
|
|
66
|
+
* must never happen in non-interactive mode (CI, piped output, `--non-interactive`) — there
|
|
67
|
+
* the silent paths (zero cached accounts, or an expired/invalid refresh token that MSAL
|
|
68
|
+
* reports as `InteractionRequiredAuthError`) must fail fast with an actionable error rather
|
|
69
|
+
* than hijack the terminal with a browser window that no one is watching.
|
|
70
|
+
*/
|
|
71
|
+
private _ensureInteractiveSignInAllowed;
|
|
56
72
|
/**
|
|
57
73
|
* Single code path for every interactive sign-in: `auth login`, the 0-accounts fresh-login
|
|
58
74
|
* branch, and the `InteractionRequiredAuthError` fallback all route through here. Keeps
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeMsalAuthenticationProvider.d.ts","sourceRoot":"","sources":["../../src/Authentication/NodeMsalAuthenticationProvider.ts"],"names":[],"mappings":"AAAA;;GAEG;AAWH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yCAAyC,CAAC;AAQtE,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"NodeMsalAuthenticationProvider.d.ts","sourceRoot":"","sources":["../../src/Authentication/NodeMsalAuthenticationProvider.ts"],"names":[],"mappings":"AAAA;;GAEG;AAWH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yCAAyC,CAAC;AAQtE,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAKlG;;;;;GAKG;AACH,qBAAa,8BAA+B,YAAW,uBAAuB,EAAE,eAAe;IAC7F,OAAO,CAAC,WAAW,CAAsC;IACzD,OAAO,CAAC,SAAS,CAAqB;IACtC,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqB;IAClD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;IAKzC,OAAO,CAAC,WAAW,CAAwD;IAE3E;;;;OAIG;gBACgB,cAAc,GAAE,MAA6B;IAKnD,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA4BrD;;;;;OAKG;IACI,mBAAmB,CAAC,UAAU,EAAE,MAAM,OAAO,GAAG,IAAI;IAM9C,yBAAyB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAMtF,eAAe,IAAI,MAAM,GAAG,SAAS;IAI/B,qBAAqB,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAOpD,uBAAuB,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;IAWnD,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAYjE,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAyBnF,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC;YAUlC,YAAY;IAkB1B;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IAQpB;;;;;;OAMG;IACH,OAAO,CAAC,kBAAkB;IAQ1B;;;;;OAKG;IACH,OAAO,CAAC,oBAAoB;YASd,qBAAqB;IA2CnC;;;;;;OAMG;IACH,OAAO,CAAC,+BAA+B;IAYvC;;;;;;;;;;;;OAYG;YACW,4BAA4B;IAiC1C,OAAO,CAAC,2BAA2B;CAsBpC"}
|
|
@@ -10,6 +10,7 @@ import { AUTH_CACHE_DIRECTORY, CLI_CLIENT_ID } from '../Constants.js';
|
|
|
10
10
|
import { CLI_BINARY_NAME } from '../Constants/CliConstants.js';
|
|
11
11
|
import { UsageError } from '../Errors/CliError.js';
|
|
12
12
|
import { printError, printWarning } from '../Utils/ConsoleOutput.js';
|
|
13
|
+
import { CliSpinner } from '../Utils/Spinner.js';
|
|
13
14
|
import { ActiveAccountStore } from './ActiveAccountStore.js';
|
|
14
15
|
/**
|
|
15
16
|
* Interactive MSAL provider. Implements both the token surface (`IAuthenticationProvider`)
|
|
@@ -23,6 +24,11 @@ export class NodeMsalAuthenticationProvider {
|
|
|
23
24
|
_region;
|
|
24
25
|
_activeStore;
|
|
25
26
|
_cacheDirectory;
|
|
27
|
+
// Resolves whether the CLI is emitting a JSON envelope — used only to suppress the
|
|
28
|
+
// interactive sign-in spinner so it can't corrupt stdout. Defaults to a conservative argv
|
|
29
|
+
// peek for direct/test construction; `Cli.ts` wires the authoritative
|
|
30
|
+
// `ArgumentProvider.isJsonMode()` via `setJsonModeResolver()` once that exists.
|
|
31
|
+
_isJsonMode = () => process.argv.includes('--json');
|
|
26
32
|
/**
|
|
27
33
|
* `cacheDirectory` defaults to the production auth cache (`~/.ms-cli/cache/auth/`).
|
|
28
34
|
* Tests pass a tmpdir so they can verify cache-write/clear behavior without touching
|
|
@@ -55,6 +61,15 @@ export class NodeMsalAuthenticationProvider {
|
|
|
55
61
|
};
|
|
56
62
|
this._msalClient = new PublicClientApplication(authConfig);
|
|
57
63
|
}
|
|
64
|
+
/**
|
|
65
|
+
* Injects the CLI's authoritative JSON-mode check (`ArgumentProvider.isJsonMode`), used only
|
|
66
|
+
* to suppress the interactive sign-in spinner so it never corrupts a `--json` stdout
|
|
67
|
+
* envelope. Wired from `Cli.ts` once the `ArgumentProvider` exists; until then the
|
|
68
|
+
* conservative argv-peek default is used (e.g. unit tests that construct the provider directly).
|
|
69
|
+
*/
|
|
70
|
+
setJsonModeResolver(isJsonMode) {
|
|
71
|
+
this._isJsonMode = isJsonMode;
|
|
72
|
+
}
|
|
58
73
|
// ─── IAuthenticationProvider ─────────────────────────────────────────────────
|
|
59
74
|
async getAccessTokenForResource(resource, loginHint) {
|
|
60
75
|
const result = await this._acquireTokenInternal(resource + '/.default', loginHint);
|
|
@@ -186,6 +201,7 @@ export class NodeMsalAuthenticationProvider {
|
|
|
186
201
|
}
|
|
187
202
|
const accounts = await this._getAccounts();
|
|
188
203
|
if (accounts.length === 0) {
|
|
204
|
+
this._ensureInteractiveSignInAllowed('no-account');
|
|
189
205
|
return this._signInInteractiveAndPersist(resource, loginHint);
|
|
190
206
|
}
|
|
191
207
|
const active = this._pickActiveAccount(accounts);
|
|
@@ -207,11 +223,28 @@ export class NodeMsalAuthenticationProvider {
|
|
|
207
223
|
}
|
|
208
224
|
catch (error) {
|
|
209
225
|
if (error instanceof InteractionRequiredAuthError) {
|
|
226
|
+
this._ensureInteractiveSignInAllowed('expired');
|
|
210
227
|
return this._signInInteractiveAndPersist(resource, loginHint ?? active.username);
|
|
211
228
|
}
|
|
212
229
|
throw error;
|
|
213
230
|
}
|
|
214
231
|
}
|
|
232
|
+
/**
|
|
233
|
+
* Guards the interactive sign-in entry points. Interactive sign-in opens a browser, which
|
|
234
|
+
* must never happen in non-interactive mode (CI, piped output, `--non-interactive`) — there
|
|
235
|
+
* the silent paths (zero cached accounts, or an expired/invalid refresh token that MSAL
|
|
236
|
+
* reports as `InteractionRequiredAuthError`) must fail fast with an actionable error rather
|
|
237
|
+
* than hijack the terminal with a browser window that no one is watching.
|
|
238
|
+
*/
|
|
239
|
+
_ensureInteractiveSignInAllowed(reason) {
|
|
240
|
+
if (getSettings().interactive)
|
|
241
|
+
return;
|
|
242
|
+
const cause = reason === 'no-account'
|
|
243
|
+
? 'You are not signed in'
|
|
244
|
+
: 'Your sign-in session has expired and could not be renewed silently';
|
|
245
|
+
throw new UsageError(`${cause}. Interactive sign-in is required, but the CLI is running in non-interactive mode. ` +
|
|
246
|
+
`Run \`${CLI_BINARY_NAME} auth login\` to sign in, then retry.`);
|
|
247
|
+
}
|
|
215
248
|
/**
|
|
216
249
|
* Single code path for every interactive sign-in: `auth login`, the 0-accounts fresh-login
|
|
217
250
|
* branch, and the `InteractionRequiredAuthError` fallback all route through here. Keeps
|
|
@@ -233,11 +266,26 @@ export class NodeMsalAuthenticationProvider {
|
|
|
233
266
|
if (options?.prompt) {
|
|
234
267
|
request.prompt = options.prompt;
|
|
235
268
|
}
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
269
|
+
// `acquireTokenInteractive` blocks until the browser round-trip completes, which can take
|
|
270
|
+
// many seconds while the user signs in. Without an indicator the command looks hung, so
|
|
271
|
+
// show a spinner that names exactly what we're waiting on. Only animate when stdout is a
|
|
272
|
+
// real terminal (skip piped/redirected/CI) and not in JSON mode, since the spinner writes
|
|
273
|
+
// to stdout and would corrupt a `--json` envelope. JSON detection is delegated to the
|
|
274
|
+
// CLI's authoritative `ArgumentProvider.isJsonMode()` (wired via `setJsonModeResolver`) so
|
|
275
|
+
// it stays consistent with every other JSON-gated surface instead of re-sniffing argv here.
|
|
276
|
+
const spinner = process.stdout.isTTY && !this._isJsonMode() ? new CliSpinner() : null;
|
|
277
|
+
spinner?.start('Opening your browser to sign in — complete the sign-in there to continue...');
|
|
278
|
+
try {
|
|
279
|
+
const result = await this._msalClient.acquireTokenInteractive(request);
|
|
280
|
+
this._tenantId = result.tenantId;
|
|
281
|
+
if (result.account)
|
|
282
|
+
this._ensureActivePointer(result.account);
|
|
283
|
+
return result;
|
|
284
|
+
}
|
|
285
|
+
finally {
|
|
286
|
+
// Always clear the spinner line, even if acquisition throws, so it never leaks.
|
|
287
|
+
spinner?.stop();
|
|
288
|
+
}
|
|
241
289
|
}
|
|
242
290
|
_getInteractiveLoginRequest(resource, loginHint) {
|
|
243
291
|
const openBrowser = async (url) => {
|
|
@@ -245,7 +293,11 @@ export class NodeMsalAuthenticationProvider {
|
|
|
245
293
|
await open(url, { wait: false });
|
|
246
294
|
}
|
|
247
295
|
catch (error) {
|
|
248
|
-
|
|
296
|
+
// Auto-open can fail on headless/remote machines or when no default browser is set.
|
|
297
|
+
// Surface the URL (on stderr) so the user can finish sign-in manually — the interactive
|
|
298
|
+
// call keeps waiting for the redirect, so a manual open still completes the flow.
|
|
299
|
+
printError(`Couldn't open a browser automatically (${String(error)}).\n` +
|
|
300
|
+
`Open this URL to finish signing in:\n${url}`);
|
|
249
301
|
}
|
|
250
302
|
};
|
|
251
303
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeMsalAuthenticationProvider.js","sourceRoot":"","sources":["../../src/Authentication/NodeMsalAuthenticationProvider.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAQ9B,OAAO,EAAE,4BAA4B,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAEzF,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhD,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D;;;;;GAKG;AACH,MAAM,OAAO,8BAA8B;IACjC,WAAW,CAAsC;IACjD,SAAS,CAAqB;IAC9B,OAAO,CAAqB;IACnB,YAAY,CAAqB;IACjC,eAAe,CAAS;
|
|
1
|
+
{"version":3,"file":"NodeMsalAuthenticationProvider.js","sourceRoot":"","sources":["../../src/Authentication/NodeMsalAuthenticationProvider.ts"],"names":[],"mappings":"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"}
|
package/dist/Cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Cli.d.ts","sourceRoot":"","sources":["../src/Cli.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Cli.d.ts","sourceRoot":"","sources":["../src/Cli.ts"],"names":[],"mappings":"AA8CA,wBAAsB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAsI1C"}
|
package/dist/Cli.js
CHANGED
|
@@ -46,9 +46,9 @@ export async function boot() {
|
|
|
46
46
|
}
|
|
47
47
|
const isTestRun = getSystemEnvVar('CI') === 'true';
|
|
48
48
|
const hasNonInteractiveFlag = process.argv.includes('--non-interactive');
|
|
49
|
-
const
|
|
49
|
+
const origin = getCliEnvVar('ORIGIN')?.trim() || 'managed-apps-cli';
|
|
50
50
|
const interactive = !isTestRun && !hasNonInteractiveFlag && process.stdin.isTTY === true;
|
|
51
|
-
const cliSettings = await initializeCliSettings({
|
|
51
|
+
const cliSettings = await initializeCliSettings({ origin, interactive });
|
|
52
52
|
// Wire the GRS endpoint override (dev-only) into the actions package via
|
|
53
53
|
// config injection. The actions package is CLI-agnostic and does not read
|
|
54
54
|
// MS_CLI_* env vars directly; the CLI host is responsible for this hookup.
|
|
@@ -62,6 +62,8 @@ export async function boot() {
|
|
|
62
62
|
let authenticationProvider;
|
|
63
63
|
let forwardUrl;
|
|
64
64
|
let accountManager;
|
|
65
|
+
// Held so we can wire the JSON-mode resolver after the ArgumentProvider exists (below).
|
|
66
|
+
let msalProvider;
|
|
65
67
|
if (getCliEnvVarBool('USE_HTTP_FORWARD')) {
|
|
66
68
|
forwardUrl = getCliEnvVar('HTTP_FORWARD_URL');
|
|
67
69
|
if (!forwardUrl) {
|
|
@@ -77,23 +79,37 @@ export async function boot() {
|
|
|
77
79
|
else {
|
|
78
80
|
// Dynamically import NodeMsalAuthenticationProvider only when needed
|
|
79
81
|
const { NodeMsalAuthenticationProvider } = await import('./Authentication/NodeMsalAuthenticationProvider.js');
|
|
80
|
-
|
|
82
|
+
msalProvider = new NodeMsalAuthenticationProvider();
|
|
81
83
|
authenticationProvider = msalProvider;
|
|
82
84
|
// Only the interactive MSAL provider implements account management; SP and HTTP
|
|
83
85
|
// forward modes have no concept of a "cached signed-in account."
|
|
84
86
|
accountManager = msalProvider;
|
|
85
87
|
}
|
|
86
88
|
const httpClient = new CliHttpClient(authenticationProvider, forwardUrl);
|
|
87
|
-
//
|
|
88
|
-
//
|
|
89
|
-
|
|
89
|
+
// CliLogger pushes its unauthenticated OneDS writer here and registers the upgrade
|
|
90
|
+
// callbacks on the http client. The eager upgrade (for already-signed-in users) runs
|
|
91
|
+
// later inside `runVerb` once MSAL is initialized.
|
|
92
|
+
logger = await CliLogger.create(cliSettings, httpClient, authenticationProvider);
|
|
90
93
|
setCliLogger(logger);
|
|
94
|
+
httpClient.setLogger(logger);
|
|
91
95
|
argumentProvider = new ArgumentProvider(httpClient, logger, authenticationProvider, accountManager);
|
|
96
|
+
// Give the interactive provider the CLI's authoritative JSON-mode check so it can suppress
|
|
97
|
+
// the sign-in spinner under `--json` consistently with every other JSON-gated surface.
|
|
98
|
+
msalProvider?.setJsonModeResolver(() => argumentProvider?.isJsonMode() ?? false);
|
|
92
99
|
argumentProvider.handleGlobalHelpOrFlagsAndExit();
|
|
93
100
|
// Dispatch via the resolved command from the registry
|
|
94
101
|
const resolved = argumentProvider.getResolvedCommand();
|
|
95
102
|
if (resolved) {
|
|
96
|
-
|
|
103
|
+
const scenarioName = `Verb.${resolved.path.join('.')}`;
|
|
104
|
+
const scenario = logger.trackScenario(scenarioName);
|
|
105
|
+
try {
|
|
106
|
+
await resolved.handler(argumentProvider);
|
|
107
|
+
scenario.complete();
|
|
108
|
+
}
|
|
109
|
+
catch (error) {
|
|
110
|
+
scenario.failure(error);
|
|
111
|
+
throw error;
|
|
112
|
+
}
|
|
97
113
|
}
|
|
98
114
|
else {
|
|
99
115
|
// Fallback: getVerb() will throw a UsageError for unknown commands
|
package/dist/Cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Cli.js","sourceRoot":"","sources":["../src/Cli.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAEtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"Cli.js","sourceRoot":"","sources":["../src/Cli.ts"],"names":[],"mappings":"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"}
|