@microsoft/managed-apps-cli 0.10.0 → 0.12.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.
Files changed (139) hide show
  1. package/README.md +4 -308
  2. package/dist/ArgumentProvider.d.ts.map +1 -1
  3. package/dist/ArgumentProvider.js +5 -1
  4. package/dist/ArgumentProvider.js.map +1 -1
  5. package/dist/Cli.d.ts.map +1 -1
  6. package/dist/Cli.js +6 -2
  7. package/dist/Cli.js.map +1 -1
  8. package/dist/Constants/CommandRegistry.d.ts +1 -2
  9. package/dist/Constants/CommandRegistry.d.ts.map +1 -1
  10. package/dist/Constants/CommandRegistry.js +27 -27
  11. package/dist/Constants/CommandRegistry.js.map +1 -1
  12. package/dist/Constants/HelpStrings.d.ts +5 -2
  13. package/dist/Constants/HelpStrings.d.ts.map +1 -1
  14. package/dist/Constants/HelpStrings.js +25 -12
  15. package/dist/Constants/HelpStrings.js.map +1 -1
  16. package/dist/Constants.d.ts +1 -1
  17. package/dist/Constants.d.ts.map +1 -1
  18. package/dist/Constants.js +9 -4
  19. package/dist/Constants.js.map +1 -1
  20. package/dist/Errors/GitHubErrorMap.d.ts.map +1 -1
  21. package/dist/Errors/GitHubErrorMap.js +1 -0
  22. package/dist/Errors/GitHubErrorMap.js.map +1 -1
  23. package/dist/HttpClient/CliHttpClient.d.ts +12 -15
  24. package/dist/HttpClient/CliHttpClient.d.ts.map +1 -1
  25. package/dist/HttpClient/CliHttpClient.js +131 -49
  26. package/dist/HttpClient/CliHttpClient.js.map +1 -1
  27. package/dist/Logger/CliLogger.d.ts +1 -0
  28. package/dist/Logger/CliLogger.d.ts.map +1 -1
  29. package/dist/Logger/CliLogger.js +7 -0
  30. package/dist/Logger/CliLogger.js.map +1 -1
  31. package/dist/Logger/ConsoleWriter.d.ts +2 -0
  32. package/dist/Logger/ConsoleWriter.d.ts.map +1 -1
  33. package/dist/Logger/ConsoleWriter.js +17 -7
  34. package/dist/Logger/ConsoleWriter.js.map +1 -1
  35. package/dist/Types/Command.types.d.ts +6 -0
  36. package/dist/Types/Command.types.d.ts.map +1 -1
  37. package/dist/Types/Command.types.js +8 -0
  38. package/dist/Types/Command.types.js.map +1 -1
  39. package/dist/Utils/BuildVerbDescriptionTable.d.ts.map +1 -1
  40. package/dist/Utils/BuildVerbDescriptionTable.js +6 -2
  41. package/dist/Utils/BuildVerbDescriptionTable.js.map +1 -1
  42. package/dist/Utils/ConnectorIds.d.ts +12 -0
  43. package/dist/Utils/ConnectorIds.d.ts.map +1 -0
  44. package/dist/Utils/ConnectorIds.js +20 -0
  45. package/dist/Utils/ConnectorIds.js.map +1 -0
  46. package/dist/Utils/DownloadTemplate.d.ts.map +1 -1
  47. package/dist/Utils/DownloadTemplate.js +7 -5
  48. package/dist/Utils/DownloadTemplate.js.map +1 -1
  49. package/dist/Utils/EnvVars.d.ts +1 -1
  50. package/dist/Utils/EnvVars.d.ts.map +1 -1
  51. package/dist/Utils/EnvVars.js.map +1 -1
  52. package/dist/Utils/EnvironmentRoutingUtils.d.ts +20 -1
  53. package/dist/Utils/EnvironmentRoutingUtils.d.ts.map +1 -1
  54. package/dist/Utils/EnvironmentRoutingUtils.js +78 -3
  55. package/dist/Utils/EnvironmentRoutingUtils.js.map +1 -1
  56. package/dist/Utils/GitErrorClassifier.d.ts +40 -0
  57. package/dist/Utils/GitErrorClassifier.d.ts.map +1 -0
  58. package/dist/Utils/GitErrorClassifier.js +120 -0
  59. package/dist/Utils/GitErrorClassifier.js.map +1 -0
  60. package/dist/Utils/GitRunner.d.ts +107 -0
  61. package/dist/Utils/GitRunner.d.ts.map +1 -0
  62. package/dist/Utils/GitRunner.js +89 -0
  63. package/dist/Utils/GitRunner.js.map +1 -0
  64. package/dist/Utils/GitUtils.d.ts +12 -0
  65. package/dist/Utils/GitUtils.d.ts.map +1 -1
  66. package/dist/Utils/GitUtils.js +83 -20
  67. package/dist/Utils/GitUtils.js.map +1 -1
  68. package/dist/Utils/GitVersionChecker.d.ts.map +1 -1
  69. package/dist/Utils/GitVersionChecker.js +11 -8
  70. package/dist/Utils/GitVersionChecker.js.map +1 -1
  71. package/dist/Utils/Paging.d.ts +1 -0
  72. package/dist/Utils/Paging.d.ts.map +1 -1
  73. package/dist/Utils/Paging.js +7 -1
  74. package/dist/Utils/Paging.js.map +1 -1
  75. package/dist/Utils/RepoDetails.d.ts +29 -0
  76. package/dist/Utils/RepoDetails.d.ts.map +1 -0
  77. package/dist/Utils/RepoDetails.js +37 -0
  78. package/dist/Utils/RepoDetails.js.map +1 -0
  79. package/dist/Utils/ResolveCommand.d.ts.map +1 -1
  80. package/dist/Utils/ResolveCommand.js +6 -4
  81. package/dist/Utils/ResolveCommand.js.map +1 -1
  82. package/dist/Verbs/AddConnector.d.ts +1 -1
  83. package/dist/Verbs/AddConnector.d.ts.map +1 -1
  84. package/dist/Verbs/AddConnector.js +13 -7
  85. package/dist/Verbs/AddConnector.js.map +1 -1
  86. package/dist/Verbs/AddConnectorFlows.d.ts +2 -2
  87. package/dist/Verbs/AddConnectorFlows.d.ts.map +1 -1
  88. package/dist/Verbs/AddConnectorFlows.js +11 -13
  89. package/dist/Verbs/AddConnectorFlows.js.map +1 -1
  90. package/dist/Verbs/AddDataSource.js +1 -1
  91. package/dist/Verbs/AddDataSource.js.map +1 -1
  92. package/dist/Verbs/AddTable.js +1 -1
  93. package/dist/Verbs/AddTable.js.map +1 -1
  94. package/dist/Verbs/ConnectorHelpers.d.ts +2 -0
  95. package/dist/Verbs/ConnectorHelpers.d.ts.map +1 -1
  96. package/dist/Verbs/ConnectorHelpers.js +7 -1
  97. package/dist/Verbs/ConnectorHelpers.js.map +1 -1
  98. package/dist/Verbs/CreateMaafApp.d.ts +25 -13
  99. package/dist/Verbs/CreateMaafApp.d.ts.map +1 -1
  100. package/dist/Verbs/CreateMaafApp.js +265 -116
  101. package/dist/Verbs/CreateMaafApp.js.map +1 -1
  102. package/dist/Verbs/Dev.js +2 -0
  103. package/dist/Verbs/Dev.js.map +1 -1
  104. package/dist/Verbs/GetMaafApp.d.ts.map +1 -1
  105. package/dist/Verbs/GetMaafApp.js +10 -0
  106. package/dist/Verbs/GetMaafApp.js.map +1 -1
  107. package/dist/Verbs/Init.d.ts.map +1 -1
  108. package/dist/Verbs/Init.js +36 -21
  109. package/dist/Verbs/Init.js.map +1 -1
  110. package/dist/Verbs/ListConnectors.d.ts.map +1 -1
  111. package/dist/Verbs/ListConnectors.js +1 -0
  112. package/dist/Verbs/ListConnectors.js.map +1 -1
  113. package/dist/Verbs/MaafAppPermissions.d.ts.map +1 -1
  114. package/dist/Verbs/MaafAppPermissions.js +87 -15
  115. package/dist/Verbs/MaafAppPermissions.js.map +1 -1
  116. package/dist/Verbs/Pack.d.ts +1 -1
  117. package/dist/Verbs/RefreshDataSource.js +1 -1
  118. package/dist/Verbs/RefreshDataSource.js.map +1 -1
  119. package/dist/Verbs/{DeleteDataSource.d.ts → RemoveDataSource.d.ts} +2 -2
  120. package/dist/Verbs/RemoveDataSource.d.ts.map +1 -0
  121. package/dist/Verbs/RemoveDataSource.js +158 -0
  122. package/dist/Verbs/RemoveDataSource.js.map +1 -0
  123. package/dist/Verbs/ShareLinkList.js +1 -1
  124. package/dist/Verbs/ShareLinkList.js.map +1 -1
  125. package/dist/Verbs/ShowMaafApp.d.ts +6 -0
  126. package/dist/Verbs/ShowMaafApp.d.ts.map +1 -1
  127. package/dist/Verbs/ShowMaafApp.js +8 -0
  128. package/dist/Verbs/ShowMaafApp.js.map +1 -1
  129. package/dist/Verbs/VerbConstants.d.ts +1 -1
  130. package/dist/Verbs/VerbConstants.js +1 -1
  131. package/dist/Verbs/VerbConstants.js.map +1 -1
  132. package/dist/Verbs/index.d.ts +1 -1
  133. package/dist/Verbs/index.d.ts.map +1 -1
  134. package/dist/Verbs/index.js +1 -1
  135. package/dist/Verbs/index.js.map +1 -1
  136. package/package.json +5 -5
  137. package/dist/Verbs/DeleteDataSource.d.ts.map +0 -1
  138. package/dist/Verbs/DeleteDataSource.js +0 -105
  139. package/dist/Verbs/DeleteDataSource.js.map +0 -1
@@ -4,7 +4,6 @@
4
4
  import { createAsync, getPlayerServiceConfig, updateEnvironmentName, writeRepoConfig, } from '@microsoft/managed-apps-actions';
5
5
  import { AppConfigFileName } from '@microsoft/managed-apps-common/config';
6
6
  import { regionToCloudSafe } from '@microsoft/managed-apps-common/services';
7
- import { execFileSync } from 'child_process';
8
7
  import * as fs from 'fs';
9
8
  import * as os from 'os';
10
9
  import * as path from 'path';
@@ -13,11 +12,12 @@ import { createDefaultStringOption, resolveEnvironmentId } from '../CliUtils.js'
13
12
  import { CLI_BINARY_NAME } from '../Constants/CliConstants.js';
14
13
  import { HelpStrings } from '../Constants/HelpStrings.js';
15
14
  import { AppError, ConfigurationError, UsageError } from '../Errors/CliError.js';
16
- import { printError, printInfo, printJsonLine, printJsonSuccess, printSuccess, printWarning, } from '../Utils/ConsoleOutput.js';
15
+ import { printInfo, printJsonLine, printJsonSuccess, printSuccess, printWarning, } from '../Utils/ConsoleOutput.js';
17
16
  import { withGitHubDcfRecoveryAsync } from '../Utils/DcfRecovery.js';
18
17
  import { downloadTemplate, parseGithubTemplate } from '../Utils/DownloadTemplate.js';
19
- import { startPdeRoutingAsync } from '../Utils/EnvironmentRoutingUtils.js';
18
+ import { awaitRoutingEnvironmentAsync, startPdeRoutingAsync, } from '../Utils/EnvironmentRoutingUtils.js';
20
19
  import { buildGcmConfig } from '../Utils/GitCredentialConfig.js';
20
+ import { runGit } from '../Utils/GitRunner.js';
21
21
  import { ensureGitInstalled } from '../Utils/GitVersionChecker.js';
22
22
  import { buildMaafAppConfig } from '../Utils/MaafAppConfig.js';
23
23
  import { pinCliIntoAppPackageJson } from '../Utils/PinCli.js';
@@ -178,25 +178,10 @@ export async function createMaafAppAsync(argumentProvider) {
178
178
  /* ignorePrompt */ true);
179
179
  const buildEntryPoint = await argumentProvider.getOption('buildEntryPoint',
180
180
  /* ignorePrompt */ true);
181
- // Explicit branch keeps the non-null read of routingEnvPromise reachable only when
182
- // preResolvedEnvironmentId is undefined i.e. exactly when routingEnvPromise is defined.
183
- let environmentId = preResolvedEnvironmentId ?? '';
184
- try {
185
- if (!preResolvedEnvironmentId) {
186
- environmentId = await routingEnvPromise;
187
- }
188
- }
189
- catch (error) {
190
- if (error instanceof AppError) {
191
- throw error;
192
- }
193
- const detail = error instanceof Error ? error.message : String(error);
194
- printError(`Failed to resolve a developer environment.\n\n` +
195
- ` ${detail}\n\n` +
196
- `To retry, run the same command again. ` +
197
- `Alternatively, pass --environment-id <id> to use a known environment.`);
198
- throw error;
199
- }
181
+ // Shared environment-routing logic between CreateMaafApp and Init.
182
+ // `awaitRoutingEnvironmentAsync` prints a `--environment-id` hint on any
183
+ // failure HTTP error codes, `operationSuccess: false`, and exceptions.
184
+ const environmentId = await awaitRoutingEnvironmentAsync(preResolvedEnvironmentId, routingEnvPromise);
200
185
  updateEnvironmentName(environmentId);
201
186
  // Re-check the directory invariant right before the server call. The same
202
187
  // check ran in preflight, but the routing-env resolution between then and
@@ -361,7 +346,17 @@ export async function createMaafAppAsync(argumentProvider) {
361
346
  // has no remote, so it's skipped. Push failure is non-fatal — see the warning
362
347
  // path in commitAndPushScaffoldAsync.
363
348
  if (repoType !== 'none') {
364
- pushOutcome = await commitAndPushScaffoldAsync(appDir, jsonMode);
349
+ // Classify the push only for the native (GRS) flow: we own its GCM browser
350
+ // OAuth credentials, so we can label an auth/network failure correctly. The
351
+ // github flow uses the developer's own credentials (gh / SSH / PAT) we don't
352
+ // control, so it's left unclassified. Unlike fetch, push is non-fatal: the
353
+ // classified error is caught and turned into a PushOutcome, so its exit code
354
+ // never propagates. Classification only relabels the cause-specific message —
355
+ // surfaced as the human-mode warning and carried in the --json error payload.
356
+ const pushClassify = repoType === 'native' && cloneUrl
357
+ ? { action: `pushing to ${gitHostLabel(cloneUrl)}` }
358
+ : undefined;
359
+ pushOutcome = await commitAndPushScaffoldAsync(appDir, jsonMode, pushClassify);
365
360
  }
366
361
  }
367
362
  catch (setupError) {
@@ -371,7 +366,21 @@ export async function createMaafAppAsync(argumentProvider) {
371
366
  if (setupError instanceof UsageError) {
372
367
  throw setupError;
373
368
  }
374
- throw new AppError(`App '${app.displayName}' was created, but local setup failed: ${setupError instanceof Error ? setupError.message : String(setupError)}\n` + buildOrphanedAppRecoveryHint(app.id, app.environmentId));
369
+ const detail = setupError instanceof Error ? setupError.message : String(setupError);
370
+ const message = `App '${app.displayName}' was created, but local setup failed: ${detail}\n` +
371
+ buildOrphanedAppRecoveryHint(app.id, app.environmentId);
372
+ // Re-message a typed AppError in place rather than re-wrapping it, so the
373
+ // failure category survives the orphan-hint prefix intact: a classified
374
+ // AuthenticationError keeps its exit code (3), name, errorData, AND its
375
+ // subclass identity (`instanceof AuthenticationError` still holds for any
376
+ // future handler that branches on the class). Constructing a fresh AppError
377
+ // would downgrade everything to exit 1 and erase the subclass. The original
378
+ // message is preserved as `detail` inside the new message, so nothing is lost.
379
+ if (setupError instanceof AppError) {
380
+ setupError.message = message;
381
+ throw setupError;
382
+ }
383
+ throw new AppError(message);
375
384
  }
376
385
  if (jsonMode) {
377
386
  // `appId` is the bare GUID returned by the server (`MaafAppDefinition.id`) and
@@ -408,17 +417,22 @@ export async function createMaafAppAsync(argumentProvider) {
408
417
  * Failure is non-fatal: prints a warning with the retry command and returns
409
418
  * `{ success: false, ... }`. The server-side app and local scaffold are unchanged.
410
419
  *
411
- * `stdio: ['ignore', 'ignore', 'inherit']`:
412
- * - stdin ignored: child can't prompt for input (would block forever).
413
- * - stdout ignored: discards git's progress prose so pretty output stays clean.
414
- * - stderr inherited: git's actual error messages reach the user's terminal
415
- * so they see git's own context alongside our warning.
420
+ * All three git commands go through {@link runGit}, so stdin is ignored (the
421
+ * child can never block waiting for input) and stdout is discarded (git's
422
+ * progress prose stays out of our pretty output). Stderr handling follows the
423
+ * runGit policy: the un-classified `add`/`commit` steps re-emit git's stderr on
424
+ * failure, and the `push` step either streams stderr live (un-classified github
425
+ * flow, `network: true`) or pipes it for classification (native flow, when a
426
+ * `pushClassify` context is supplied) — either way git's own error context
427
+ * reaches the user alongside our warning. Note that a classified push error is
428
+ * caught here, so (unlike fetch) its exit code never propagates; classification
429
+ * only shapes the warning text and the `--json` error payload.
416
430
  *
417
431
  * Commit identity (user.name / user.email) is read by git itself from
418
432
  * local-then-global config — we pass nothing. Missing identity surfaces as
419
- * git's own descriptive commit error through the inherited stderr.
433
+ * git's own descriptive commit error via runGit's stderr handling.
420
434
  */
421
- export async function commitAndPushScaffoldAsync(appDir, jsonMode) {
435
+ export async function commitAndPushScaffoldAsync(appDir, jsonMode, pushClassify) {
422
436
  // Full add+commit+push sequence: any of the three commands may have been the
423
437
  // one that failed (e.g. `git commit` errors when user.name/user.email aren't
424
438
  // set), so re-running just `git push` wouldn't recover. The sequence is
@@ -427,17 +441,12 @@ export async function commitAndPushScaffoldAsync(appDir, jsonMode) {
427
441
  // `git push` still pushes the existing commit.
428
442
  const retryCommand = `git add . && git commit -m "Initial scaffold from 'ms app create'" && git push -u origin HEAD`;
429
443
  try {
430
- execFileSync('git', ['add', '.'], {
431
- cwd: appDir,
432
- stdio: ['ignore', 'ignore', 'inherit'],
433
- });
434
- execFileSync('git', ['commit', '-m', "Initial scaffold from 'ms app create'"], {
444
+ runGit(['add', '.'], { cwd: appDir });
445
+ runGit(['commit', '-m', "Initial scaffold from 'ms app create'"], { cwd: appDir });
446
+ runGit(['push', '-u', 'origin', 'HEAD'], {
435
447
  cwd: appDir,
436
- stdio: ['ignore', 'ignore', 'inherit'],
437
- });
438
- execFileSync('git', ['push', '-u', 'origin', 'HEAD'], {
439
- cwd: appDir,
440
- stdio: ['ignore', 'ignore', 'inherit'],
448
+ network: true,
449
+ classify: pushClassify,
441
450
  });
442
451
  return { success: true };
443
452
  }
@@ -451,18 +460,88 @@ export async function commitAndPushScaffoldAsync(appDir, jsonMode) {
451
460
  ? { ...err }
452
461
  : { message: String(err) };
453
462
  if (!jsonMode) {
463
+ // A classified native push failure (AuthenticationError / NetworkError)
464
+ // carries the actionable, cause-specific guidance — plus git's own output —
465
+ // in its message, but runGit's classify path throws *before* re-emitting
466
+ // stderr, so without this the human-readable terminal would only see the
467
+ // generic retry hint. (Unclassified add/commit failures and the live-stderr
468
+ // github push already surfaced git's output, so only re-print for the
469
+ // classified case to avoid duplicate noise.)
470
+ if (err instanceof AppError) {
471
+ printWarning(err.message);
472
+ }
454
473
  printWarning(`Could not commit and push the initial scaffold. Your app and local scaffold are ready. ` +
455
474
  `To finish wiring it up, run:\n ${retryCommand}`);
456
475
  }
457
476
  return { success: false, error: errorPayload, retryCommand };
458
477
  }
459
478
  }
479
+ const GIT_CLONE_ACCESS_FAILURE_SIGNATURES = [
480
+ 'repository not found',
481
+ 'fatal: repository',
482
+ 'could not read username',
483
+ 'terminal prompts disabled',
484
+ 'authentication failed',
485
+ 'permission denied',
486
+ '403',
487
+ 'remote: not found',
488
+ ];
489
+ function getCapturedStderr(err) {
490
+ const stderr = err.stderr;
491
+ if (typeof stderr === 'string') {
492
+ return stderr;
493
+ }
494
+ if (Buffer.isBuffer(stderr)) {
495
+ return stderr.toString();
496
+ }
497
+ if (stderr instanceof Uint8Array) {
498
+ return Buffer.from(stderr).toString();
499
+ }
500
+ return '';
501
+ }
502
+ function getUnderlyingCloneError(err, stderr) {
503
+ const message = err instanceof Error ? err.message : String(err);
504
+ const trimmedStderr = stderr.trim();
505
+ if (!trimmedStderr || message.includes(trimmedStderr)) {
506
+ return message;
507
+ }
508
+ return `${message}\n${trimmedStderr}`;
509
+ }
510
+ function isGitCloneAccessFailure(stderr) {
511
+ const normalizedStderr = stderr.toLowerCase();
512
+ return GIT_CLONE_ACCESS_FAILURE_SIGNATURES.some((signature) => normalizedStderr.includes(signature));
513
+ }
514
+ // Shared remediation body for the two access-failure surfaces (the pre-create
515
+ // probe and the post-create clone). Both are LOCAL `git clone` failures. The
516
+ // external-repo clone injects no credentials/config — it relies entirely on the
517
+ // user's own git setup — so the CLI can't meaningfully point at a specific
518
+ // credential mechanism (GCM, gh, SSH, PAT, …); the guidance stays generic.
519
+ // It also deliberately does NOT mention the Microsoft GitHub App or
520
+ // `git auth refresh`, which only affect the server-side Entra↔GitHub mapping.
521
+ // Carries no raw git output either; the raw detail is preserved on the thrown
522
+ // error's `errorData` for telemetry/debug — see the throw sites below.
523
+ function gitHubAccessFailureGuidance() {
524
+ return `Make sure the repository exists and that you have access to it.`;
525
+ }
526
+ function buildGitHubCloneAccessErrorMessage({ directory, repoUrl }) {
527
+ return `Failed to clone '${repoUrl}' into '${directory}'. ` + gitHubAccessFailureGuidance();
528
+ }
529
+ // Pre-create variant: the probe runs BEFORE the server app is created, so the
530
+ // lead makes explicit that nothing was created (no orphan / no recovery hint).
531
+ function buildGitHubAccessPreflightErrorMessage(repoUrl) {
532
+ return (`Cannot access repository '${repoUrl}', so no app was created. ` + gitHubAccessFailureGuidance());
533
+ }
534
+ function buildGenericCloneFailureMessage({ directory, repoUrl }) {
535
+ return `Failed to clone '${repoUrl}' into '${directory}'. See the git output above for details.`;
536
+ }
460
537
  /**
461
538
  * Clones the developer's external GitHub repo (`*.ghe.com` tenant or `github.com`) into `directory`.
462
539
  * Auth flows through the user's existing git credential setup — the CLI does not inject
463
540
  * tokens here. On failure, surfaces a CLI-friendly error pointing the user at the
464
- * GitHub App install prerequisite; git's own stderr is preserved (stdio: inherit) so
465
- * the underlying message appears inline above the wrapper.
541
+ * GitHub App install prerequisite. Git's stderr is captured (via `runGit`, with
542
+ * `emitStderr: false`) so it can be run through the access-failure classification,
543
+ * and is re-emitted on failure so the underlying message still appears inline
544
+ * above the wrapper.
466
545
  *
467
546
  * Targeting rules (mirrors `git clone` semantics):
468
547
  * - directory non-existent → clone creates it
@@ -472,82 +551,137 @@ export async function commitAndPushScaffoldAsync(appDir, jsonMode) {
472
551
  */
473
552
  export function cloneRepo({ directory, repoUrl }) {
474
553
  try {
475
- execFileSync('git', ['clone', repoUrl, directory], {
476
- stdio: ['ignore', 'inherit', 'inherit'],
477
- });
554
+ // Pipe + capture stderr (no `network`, so it is not inherited) so the catch
555
+ // can run it through `isGitCloneAccessFailure`; `emitStderr: false` lets the
556
+ // catch own the single re-emission below instead of runGit double-printing.
557
+ runGit(['clone', repoUrl, directory], { emitStderr: false });
478
558
  }
479
559
  catch (err) {
480
- throw new ConfigurationError(`Failed to clone '${repoUrl}' into '${directory}'. Ensure the Microsoft GitHub App is installed and authorized for this repository, and that your git credentials can access it (gh auth login, GCM, or your configured SSH key/PAT). Underlying error: ${err instanceof Error ? err.message : String(err)}`);
560
+ const stderr = getCapturedStderr(err);
561
+ if (stderr) {
562
+ // Re-emit git's own output live so the raw detail is still visible to the
563
+ // user (and in logs) without polluting the thrown error's message.
564
+ process.stderr.write(stderr);
565
+ }
566
+ const message = isGitCloneAccessFailure(stderr)
567
+ ? buildGitHubCloneAccessErrorMessage({ directory, repoUrl })
568
+ : buildGenericCloneFailureMessage({ directory, repoUrl });
569
+ // Keep the user-facing message clean; preserve the raw git detail on
570
+ // errorData for telemetry/debug rather than embedding it in the message.
571
+ // Clone failures span remote access and local git credential configuration.
572
+ throw new ConfigurationError(message, {
573
+ underlyingError: getUnderlyingCloneError(err, stderr),
574
+ });
481
575
  }
482
576
  }
483
577
  export function initLocalRepo({ directory, gitUrl, loginAuthority, authResource, jsonMode = false, }) {
484
- let gcmConfig;
578
+ const gcmConfig = buildGcmConfigOrThrow({ gitUrl, loginAuthority, authResource });
579
+ gitInit(directory);
580
+ writeGcmConfig(directory, gcmConfig);
581
+ addOrUpdateRemote(directory, gitUrl);
582
+ announceGitAuthentication(gitUrl, jsonMode);
583
+ fetchOrigin(directory, gitUrl);
584
+ checkoutMainIfPresent(directory);
585
+ }
586
+ /**
587
+ * Builds the per-host GCM OAuth config, re-wrapping any URL/protocol validation
588
+ * failure from {@link buildGcmConfig} as a `ConfigurationError` so the verb's
589
+ * error handling treats an invalid clone URL as a user-actionable setup problem.
590
+ */
591
+ function buildGcmConfigOrThrow({ gitUrl, loginAuthority, authResource, }) {
485
592
  try {
486
- gcmConfig = buildGcmConfig({ gitUrl, loginAuthority, authResource });
593
+ return buildGcmConfig({ gitUrl, loginAuthority, authResource });
487
594
  }
488
595
  catch (err) {
489
596
  throw new ConfigurationError(`Git credential helper setup failed: ${err instanceof Error ? err.message : String(err)}`);
490
597
  }
598
+ }
599
+ /** Creates the target directory (idempotent) and initializes an empty git repo. */
600
+ function gitInit(directory) {
491
601
  fs.mkdirSync(directory, { recursive: true });
492
- execFileSync('git', ['init'], { cwd: directory, stdio: ['ignore', 'ignore', 'inherit'] });
493
- // Write GCM config before fetching so the first network call is already authenticated.
602
+ runGit(['init'], { cwd: directory });
603
+ }
604
+ /** Writes GCM config before fetching so the first network call is already authenticated. */
605
+ function writeGcmConfig(directory, gcmConfig) {
494
606
  for (const [key, value] of gcmConfig) {
495
- execFileSync('git', ['config', '--local', key, value], {
496
- cwd: directory,
497
- stdio: ['ignore', 'ignore', 'inherit'],
498
- });
607
+ runGit(['config', '--local', key, value], { cwd: directory });
499
608
  }
500
- // `git remote add` fails if origin already exists. Pipe stderr so we can inspect the
501
- // message and only fall back to `set-url` for that specific case — other failures
502
- // (permissions, corrupt repo) must propagate rather than produce a misleading set-url error.
609
+ }
610
+ /**
611
+ * Adds `origin`, tolerating the already-exists case by falling back to
612
+ * `set-url`. `git remote add` fails if origin already exists. Capture stderr
613
+ * (allowFailure) so we can inspect the message and only fall back to `set-url`
614
+ * for that specific case — other failures (permissions, corrupt repo) must
615
+ * propagate rather than produce a misleading set-url error.
616
+ */
617
+ function addOrUpdateRemote(directory, gitUrl) {
618
+ const addRemote = runGit(['remote', 'add', 'origin', gitUrl], {
619
+ cwd: directory,
620
+ allowFailure: true,
621
+ emitStderr: false,
622
+ });
623
+ if (!addRemote.success) {
624
+ if (!addRemote.stderr.includes('already exists')) {
625
+ process.stderr.write(addRemote.stderr);
626
+ // `runGit` always populates `error` on the failure variant, so no fallback
627
+ // is needed (the GitResult union guarantees it here).
628
+ throw addRemote.error;
629
+ }
630
+ runGit(['remote', 'set-url', 'origin', gitUrl], { cwd: directory });
631
+ }
632
+ }
633
+ /**
634
+ * Best-effort host label for a git remote URL. Returns the URL's host, or — when
635
+ * the string isn't a parseable URL — the original string. Used for human-facing
636
+ * action labels (auth/fetch/push messages) where a malformed URL must not turn a
637
+ * cosmetic label into a thrown `Invalid URL` that masquerades as the real
638
+ * failure. The platform issues these URLs, so the fallback is effectively
639
+ * unreachable, but the guard keeps the label site from becoming a crash site.
640
+ */
641
+ function gitHostLabel(gitUrl) {
503
642
  try {
504
- execFileSync('git', ['remote', 'add', 'origin', gitUrl], {
505
- cwd: directory,
506
- stdio: ['ignore', 'ignore', 'pipe'],
507
- });
643
+ return new URL(gitUrl).host;
508
644
  }
509
- catch (err) {
510
- const stderr = err.stderr?.toString() ?? '';
511
- if (!stderr.includes('already exists')) {
512
- process.stderr.write(stderr);
513
- throw err;
514
- }
515
- execFileSync('git', ['remote', 'set-url', 'origin', gitUrl], {
516
- cwd: directory,
517
- stdio: ['ignore', 'ignore', 'inherit'],
518
- });
645
+ catch {
646
+ return gitUrl;
519
647
  }
520
- // The first `git fetch` triggers GCM's OAuth flow if the user has no cached
521
- // credentials, which can pop a browser without warning. Tell the user up
522
- // front so they don't see the browser as a surprise (and know which host /
523
- // account to authenticate against). Skipped under `--json` so the prose
524
- // doesn't end up interleaved with the JSON envelope on stdout.
648
+ }
649
+ /**
650
+ * Prints the pre-fetch authentication notice. The first `git fetch` triggers
651
+ * GCM's OAuth flow if the user has no cached credentials, which can pop a
652
+ * browser without warning. Tell the user up front so they don't see the browser
653
+ * as a surprise (and know which host / account to authenticate against). Skipped
654
+ * under `--json` so the prose doesn't end up interleaved with the JSON envelope
655
+ * on stdout.
656
+ */
657
+ function announceGitAuthentication(gitUrl, jsonMode) {
525
658
  if (!jsonMode) {
526
- printInfo(`Authenticating to ${new URL(gitUrl).host} for the initial git fetch. ` +
659
+ printInfo(`Authenticating to ${gitHostLabel(gitUrl)} for the initial git fetch. ` +
527
660
  'A browser window may open. Sign in with the account associated with this tenant.');
528
661
  }
529
- execFileSync('git', ['fetch', 'origin'], {
662
+ }
663
+ /** Fetches `origin`, classifying any auth/network failure against the remote host. */
664
+ function fetchOrigin(directory, gitUrl) {
665
+ runGit(['fetch', 'origin'], {
530
666
  cwd: directory,
531
- stdio: ['ignore', 'ignore', 'inherit'],
667
+ network: true,
668
+ classify: { action: `fetching from ${gitHostLabel(gitUrl)}` },
532
669
  });
533
- // Probe for origin/main locally (no network needed after fetch).
534
- // A broad catch here is safe: the only failure mode is "ref doesn't exist".
535
- let hasMain = false;
536
- try {
537
- execFileSync('git', ['rev-parse', '--verify', 'origin/main'], {
538
- cwd: directory,
539
- stdio: ['ignore', 'ignore', 'ignore'],
540
- });
541
- hasMain = true;
542
- }
543
- catch {
544
- // Empty GRS repo — origin/main not yet present.
545
- }
546
- if (hasMain) {
547
- execFileSync('git', ['checkout', '-b', 'main', 'origin/main'], {
548
- cwd: directory,
549
- stdio: ['ignore', 'ignore', 'inherit'],
550
- });
670
+ }
671
+ /**
672
+ * Checks out `main` tracking `origin/main` when that ref exists. Probe for
673
+ * origin/main locally (no network needed after fetch). A failed probe means the
674
+ * ref doesn't exist (empty GRS repo); allowFailure turns that expected case into
675
+ * a `success: false` signal instead of a throw.
676
+ */
677
+ function checkoutMainIfPresent(directory) {
678
+ const mainProbe = runGit(['rev-parse', '--verify', 'origin/main'], {
679
+ cwd: directory,
680
+ allowFailure: true,
681
+ emitStderr: false,
682
+ });
683
+ if (mainProbe.success) {
684
+ runGit(['checkout', '-b', 'main', 'origin/main'], { cwd: directory });
551
685
  }
552
686
  }
553
687
  // ─── Recovery hint for post-create failures ─────────────────────────────────
@@ -611,14 +745,18 @@ export function ensureRepoTargetDirectoryEmpty(appDir) {
611
745
  * bandwidth on the rejection path is tens of KB even for a multi-GB repo. The
612
746
  * temp dir is removed in `finally`.
613
747
  *
614
- * Failure semantics — fail-OPEN:
748
+ * Failure semantics:
615
749
  * - Non-empty tree at HEAD → throws `UsageError` with the "is not empty" /
616
750
  * "ms app init" actionable lead, BEFORE createAsync. No orphan, no leak.
617
751
  * - Empty tree (incl. the cleaned-up-repo edge case: commit1 add, commit2
618
752
  * delete all) → ls-tree returns no lines → returns without throwing.
619
- * - Any error from git itself (auth, network blip, server doesn't support
620
- * --filter, repo doesn't exist, etc.) swallow and return. The subsequent
621
- * cloneRepo will surface a friendlier message for the user-facing failure;
753
+ * - Clone fails with a recognizable access/auth signature (private repo
754
+ * hidden as "not found", missing local credentials, 403, …) throws
755
+ * `ConfigurationError` BEFORE createAsync so we never create a server-side
756
+ * app the user can't clone (fail FAST, no orphan).
757
+ * - Any other git error (network blip, server doesn't support --filter,
758
+ * temp-fs hiccup, …) → swallow and return (fail OPEN). The subsequent
759
+ * cloneRepo surfaces the friendlier message for the user-facing failure;
622
760
  * we don't want this probe to become a parallel error-message surface.
623
761
  */
624
762
  export function ensureExternalRepoIsEmpty(repoUrl) {
@@ -632,27 +770,38 @@ export function ensureExternalRepoIsEmpty(repoUrl) {
632
770
  return;
633
771
  }
634
772
  try {
635
- try {
636
- execFileSync('git', ['clone', '--depth=1', '--filter=blob:none', '--no-checkout', repoUrl, probeDir], { stdio: ['ignore', 'ignore', 'ignore'] });
637
- }
638
- catch {
639
- // Clone itself failed (auth, network, repo not found, server doesn't
640
- // support partial clone, etc.). Fail open: the user-facing error will
641
- // come from the later cloneRepo which has the friendlier messaging.
773
+ const probeClone = runGit(['clone', '--depth=1', '--filter=blob:none', '--no-checkout', repoUrl, probeDir], { allowFailure: true, emitStderr: false });
774
+ if (!probeClone.success) {
775
+ // Clone failed. When git reports a recognizable access/auth failure
776
+ // (a private repo hidden as "not found", missing local credentials, a
777
+ // 403, etc.) fail FAST here before createAsync so we never create a
778
+ // server-side app the user can't clone (no orphan). For ambiguous or
779
+ // transient errors (server doesn't support --filter, network blip, a
780
+ // temp-fs hiccup, …) stay fail-OPEN and let the later cloneRepo surface
781
+ // the friendlier, fuller message.
782
+ const stderr = probeClone.stderr;
783
+ if (isGitCloneAccessFailure(stderr)) {
784
+ // Clean user-facing message; raw git detail kept on errorData for
785
+ // telemetry/debug. The probe clone is silent (stderr piped, not
786
+ // inherited), so we don't echo the confusing internal probe command.
787
+ throw new ConfigurationError(buildGitHubAccessPreflightErrorMessage(repoUrl), {
788
+ underlyingError: getUnderlyingCloneError(probeClone.error, stderr),
789
+ });
790
+ }
642
791
  return;
643
792
  }
644
- let lsTreeOutput;
645
- try {
646
- lsTreeOutput = execFileSync('git', ['-C', probeDir, 'ls-tree', '-r', 'HEAD'], {
647
- stdio: ['ignore', 'pipe', 'ignore'],
648
- }).toString();
649
- }
650
- catch {
793
+ const lsTree = runGit(['-C', probeDir, 'ls-tree', '-r', 'HEAD'], {
794
+ captureStdout: true,
795
+ allowFailure: true,
796
+ emitStderr: false,
797
+ });
798
+ if (!lsTree.success) {
651
799
  // Truly empty repo (no commits, no HEAD): ls-tree errors. Treat as empty
652
800
  // so create proceeds; cloneRepo of a no-commits remote produces an empty
653
801
  // working tree, which is the happy path.
654
802
  return;
655
803
  }
804
+ const lsTreeOutput = lsTree.stdout;
656
805
  if (lsTreeOutput.trim().length > 0) {
657
806
  // `ls-tree -r HEAD` enumerates every tracked path — including hidden
658
807
  // ones (.gitignore, .gitattributes, etc.). Any tracked file at all
@@ -1 +1 @@
1
- {"version":3,"file":"CreateMaafApp.js","sourceRoot":"","sources":["../../src/Verbs/CreateMaafApp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CreateMaafApp.js","sourceRoot":"","sources":["../../src/Verbs/CreateMaafApp.ts"],"names":[],"mappings":"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"}
package/dist/Verbs/Dev.js CHANGED
@@ -149,6 +149,8 @@ async function waitForAppUrl(appUrl, signal, pollInterval = 300, timeout = 10_00
149
149
  while (!combined.aborted) {
150
150
  await delay(pollInterval, undefined, { signal: combined });
151
151
  try {
152
+ // Raw fetch is intentional: this probes the user's local dev server, not a
153
+ // Power Platform endpoint, so it must not be routed through CliHttpClient's forward mode.
152
154
  const response = await fetch(appUrl, { method: 'HEAD' });
153
155
  if (response.ok || response.status < 500)
154
156
  return;