bingo 0.5.7 → 0.5.8

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 (130) hide show
  1. package/lib/cli/display/runInsideClackDisplay.js +1 -1
  2. package/lib/cli/display/runInsideClackDisplay.js.map +1 -1
  3. package/lib/cli/loggers/logRerunSuggestion.d.ts +1 -1
  4. package/lib/cli/loggers/logRerunSuggestion.d.ts.map +1 -1
  5. package/lib/cli/loggers/logRerunSuggestion.js +3 -3
  6. package/lib/cli/loggers/logRerunSuggestion.js.map +1 -1
  7. package/lib/cli/loggers/logRerunSuggestion.test.js +7 -5
  8. package/lib/cli/loggers/logRerunSuggestion.test.js.map +1 -1
  9. package/lib/cli/messages.d.ts +3 -0
  10. package/lib/cli/messages.d.ts.map +1 -1
  11. package/lib/cli/messages.js +3 -0
  12. package/lib/cli/messages.js.map +1 -1
  13. package/lib/cli/parseProcessArgv.d.ts +1 -1
  14. package/lib/cli/parseProcessArgv.d.ts.map +1 -1
  15. package/lib/cli/parseProcessArgv.js +2 -3
  16. package/lib/cli/parseProcessArgv.js.map +1 -1
  17. package/lib/cli/prompts/promptForOptionSchema.d.ts.map +1 -1
  18. package/lib/cli/prompts/promptForOptionSchema.js +16 -9
  19. package/lib/cli/prompts/promptForOptionSchema.js.map +1 -1
  20. package/lib/cli/runBingoCLI.js +2 -2
  21. package/lib/cli/runCLI.d.ts +2 -2
  22. package/lib/cli/runCLI.js +2 -2
  23. package/lib/cli/runCli.test.js +4 -3
  24. package/lib/cli/runCli.test.js.map +1 -1
  25. package/lib/cli/runTemplateCLI.js +2 -2
  26. package/lib/cli/schemas/defaults.d.ts +3 -0
  27. package/lib/cli/schemas/defaults.d.ts.map +1 -0
  28. package/lib/cli/schemas/defaults.js +7 -0
  29. package/lib/cli/schemas/defaults.js.map +1 -0
  30. package/lib/cli/schemas/isStringLikeOption.d.ts +3 -0
  31. package/lib/cli/schemas/isStringLikeOption.d.ts.map +1 -0
  32. package/lib/cli/schemas/isStringLikeOption.js +19 -0
  33. package/lib/cli/schemas/isStringLikeOption.js.map +1 -0
  34. package/lib/cli/schemas/isStringLikeOption.test.d.ts +2 -0
  35. package/lib/cli/schemas/isStringLikeOption.test.d.ts.map +1 -0
  36. package/lib/cli/schemas/isStringLikeOption.test.js +63 -0
  37. package/lib/cli/schemas/isStringLikeOption.test.js.map +1 -0
  38. package/lib/cli/schemas/isStringLikeSchema.d.ts +3 -0
  39. package/lib/cli/schemas/isStringLikeSchema.d.ts.map +1 -0
  40. package/lib/cli/schemas/isStringLikeSchema.js +20 -0
  41. package/lib/cli/schemas/isStringLikeSchema.js.map +1 -0
  42. package/lib/cli/schemas/isStringLikeSchema.test.d.ts +2 -0
  43. package/lib/cli/schemas/isStringLikeSchema.test.d.ts.map +1 -0
  44. package/lib/cli/schemas/isStringLikeSchema.test.js +85 -0
  45. package/lib/cli/schemas/isStringLikeSchema.test.js.map +1 -0
  46. package/lib/cli/schemas/isZodDefaultDef.d.ts +3 -0
  47. package/lib/cli/schemas/isZodDefaultDef.d.ts.map +1 -0
  48. package/lib/cli/schemas/isZodDefaultDef.js +7 -0
  49. package/lib/cli/schemas/isZodDefaultDef.js.map +1 -0
  50. package/lib/cli/schemas/isZodDefaultDef.test.d.ts +2 -0
  51. package/lib/cli/schemas/isZodDefaultDef.test.d.ts.map +1 -0
  52. package/lib/cli/schemas/isZodDefaultDef.test.js +40 -0
  53. package/lib/cli/schemas/isZodDefaultDef.test.js.map +1 -0
  54. package/lib/cli/schemas/predicates.d.ts +3 -0
  55. package/lib/cli/schemas/predicates.d.ts.map +1 -0
  56. package/lib/cli/schemas/predicates.js +7 -0
  57. package/lib/cli/schemas/predicates.js.map +1 -0
  58. package/lib/cli/schemas/strings.d.ts +3 -0
  59. package/lib/cli/schemas/strings.d.ts.map +1 -0
  60. package/lib/cli/schemas/strings.js +15 -0
  61. package/lib/cli/schemas/strings.js.map +1 -0
  62. package/lib/cli/schemas/types.d.ts +13 -0
  63. package/lib/cli/schemas/types.d.ts.map +1 -0
  64. package/lib/cli/schemas/types.js +2 -0
  65. package/lib/cli/schemas/types.js.map +1 -0
  66. package/lib/cli/schemas/unions.d.ts +2 -0
  67. package/lib/cli/schemas/unions.d.ts.map +1 -0
  68. package/lib/cli/schemas/unions.js +2 -0
  69. package/lib/cli/schemas/unions.js.map +1 -0
  70. package/lib/cli/setup/createRepositoryOnGitHub.d.ts +3 -1
  71. package/lib/cli/setup/createRepositoryOnGitHub.d.ts.map +1 -1
  72. package/lib/cli/setup/createRepositoryOnGitHub.js +27 -13
  73. package/lib/cli/setup/createRepositoryOnGitHub.js.map +1 -1
  74. package/lib/cli/setup/createRepositoryOnGitHub.test.js +65 -20
  75. package/lib/cli/setup/createRepositoryOnGitHub.test.js.map +1 -1
  76. package/lib/cli/setup/runModeSetup.d.ts +2 -2
  77. package/lib/cli/setup/runModeSetup.d.ts.map +1 -1
  78. package/lib/cli/setup/runModeSetup.js +20 -14
  79. package/lib/cli/setup/runModeSetup.js.map +1 -1
  80. package/lib/cli/transition/runModeTransition.d.ts +2 -2
  81. package/lib/cli/transition/runModeTransition.d.ts.map +1 -1
  82. package/lib/cli/transition/runModeTransition.js +28 -23
  83. package/lib/cli/transition/runModeTransition.js.map +1 -1
  84. package/lib/cli/transition/runModeTransition.test.js +17 -21
  85. package/lib/cli/transition/runModeTransition.test.js.map +1 -1
  86. package/lib/cli/types.d.ts +1 -1
  87. package/lib/cli/types.d.ts.map +1 -1
  88. package/lib/mergers/mergeFetchRequests.d.ts +3 -0
  89. package/lib/mergers/mergeFetchRequests.d.ts.map +1 -0
  90. package/lib/mergers/mergeFetchRequests.js +22 -0
  91. package/lib/mergers/mergeFetchRequests.js.map +1 -0
  92. package/lib/mergers/mergeFetchRequests.test.d.ts +2 -0
  93. package/lib/mergers/mergeFetchRequests.test.d.ts.map +1 -0
  94. package/lib/mergers/mergeFetchRequests.test.js +58 -0
  95. package/lib/mergers/mergeFetchRequests.test.js.map +1 -0
  96. package/lib/mergers/mergeOctokitRequests.d.ts +3 -0
  97. package/lib/mergers/mergeOctokitRequests.d.ts.map +1 -0
  98. package/lib/mergers/mergeOctokitRequests.js +20 -0
  99. package/lib/mergers/mergeOctokitRequests.js.map +1 -0
  100. package/lib/mergers/mergeOctokitRequests.test copy.d.ts +2 -0
  101. package/lib/mergers/mergeOctokitRequests.test copy.d.ts.map +1 -0
  102. package/lib/mergers/mergeOctokitRequests.test copy.js +71 -0
  103. package/lib/mergers/mergeOctokitRequests.test copy.js.map +1 -0
  104. package/lib/mergers/mergeOctokitRequests.test.d.ts +2 -0
  105. package/lib/mergers/mergeOctokitRequests.test.d.ts.map +1 -0
  106. package/lib/mergers/mergeOctokitRequests.test.js +71 -0
  107. package/lib/mergers/mergeOctokitRequests.test.js.map +1 -0
  108. package/lib/mergers/mergeRequests.d.ts +1 -1
  109. package/lib/mergers/mergeRequests.d.ts.map +1 -1
  110. package/lib/mergers/mergeRequests.js +14 -4
  111. package/lib/mergers/mergeRequests.js.map +1 -1
  112. package/lib/mergers/mergeRequests.test.js +17 -13
  113. package/lib/mergers/mergeRequests.test.js.map +1 -1
  114. package/lib/runners/applyRequestsToSystem.d.ts +2 -2
  115. package/lib/runners/applyRequestsToSystem.d.ts.map +1 -1
  116. package/lib/runners/applyRequestsToSystem.js +6 -4
  117. package/lib/runners/applyRequestsToSystem.js.map +1 -1
  118. package/lib/runners/applyRequestsToSystem.test.js +29 -2
  119. package/lib/runners/applyRequestsToSystem.test.js.map +1 -1
  120. package/lib/runners/getRequestSender.d.ts +8 -0
  121. package/lib/runners/getRequestSender.d.ts.map +1 -0
  122. package/lib/runners/getRequestSender.js +22 -0
  123. package/lib/runners/getRequestSender.js.map +1 -0
  124. package/lib/runners/getRequestSender.test.d.ts +2 -0
  125. package/lib/runners/getRequestSender.test.d.ts.map +1 -0
  126. package/lib/runners/getRequestSender.test.js +83 -0
  127. package/lib/runners/getRequestSender.test.js.map +1 -0
  128. package/lib/types/creations.d.ts +1 -9
  129. package/lib/types/creations.d.ts.map +1 -1
  130. package/package.json +2 -1
@@ -16,7 +16,7 @@ export async function runInsideClackDisplay({ name, version }, runner) {
16
16
  if (typeof results === "number") {
17
17
  return results;
18
18
  }
19
- if (results.status === CLIStatus.Error) {
19
+ if (results.status === CLIStatus.Error && results.error) {
20
20
  prompts.log.error(chalk.red(`Error: ${results.error.message}`));
21
21
  }
22
22
  logOutro(results.outro ?? chalk.yellow(`Operation cancelled. ${CLIMessage.Exiting}`), { items: display.dumpItems(), suggestions: results.suggestions });
@@ -1 +1 @@
1
- {"version":3,"file":"runInsideClackDisplay.js","sourceRoot":"","sources":["../../../src/cli/display/runInsideClackDisplay.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,OAAO,EAAgB,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAO3E,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAC1C,EAAE,IAAI,EAAE,OAAO,EAAsB,EACrC,MAAmE;IAEnE,MAAM,OAAO,GAAG,kBAAkB,EAAE,CAAC;IAErC,OAAO,CAAC,KAAK,CACZ;QACC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC;QACtB,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC;QAC/B,KAAK,CAAC,IAAI,CAAC,IAAI,OAAO,EAAE,CAAC;QACzB,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC;KACtB,CAAC,IAAI,CAAC,EAAE,CAAC,CACV,CAAC;IAEF,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC;IAEtC,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QACjC,OAAO,OAAO,CAAC;IAChB,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,KAAK,EAAE,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IACjE,CAAC;IAED,QAAQ,CACP,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,CAAC,wBAAwB,UAAU,CAAC,OAAO,EAAE,CAAC,EAC3E,EAAE,KAAK,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAChE,CAAC;IAEF,OAAO,OAAO,CAAC,MAAM,CAAC;AACvB,CAAC"}
1
+ {"version":3,"file":"runInsideClackDisplay.js","sourceRoot":"","sources":["../../../src/cli/display/runInsideClackDisplay.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,OAAO,EAAgB,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAO3E,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAC1C,EAAE,IAAI,EAAE,OAAO,EAAsB,EACrC,MAAmE;IAEnE,MAAM,OAAO,GAAG,kBAAkB,EAAE,CAAC;IAErC,OAAO,CAAC,KAAK,CACZ;QACC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC;QACtB,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC;QAC/B,KAAK,CAAC,IAAI,CAAC,IAAI,OAAO,EAAE,CAAC;QACzB,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC;KACtB,CAAC,IAAI,CAAC,EAAE,CAAC,CACV,CAAC;IAEF,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC;IAEtC,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QACjC,OAAO,OAAO,CAAC;IAChB,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QACzD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IACjE,CAAC;IAED,QAAQ,CACP,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,CAAC,wBAAwB,UAAU,CAAC,OAAO,EAAE,CAAC,EAC3E,EAAE,KAAK,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAChE,CAAC;IAEF,OAAO,OAAO,CAAC,MAAM,CAAC;AACvB,CAAC"}
@@ -1,2 +1,2 @@
1
- export declare function logRerunSuggestion(args: string[], prompted: object): void;
1
+ export declare function logRerunSuggestion(argv: string[], prompted: object): void;
2
2
  //# sourceMappingURL=logRerunSuggestion.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"logRerunSuggestion.d.ts","sourceRoot":"","sources":["../../../src/cli/loggers/logRerunSuggestion.ts"],"names":[],"mappings":"AAGA,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,QAqBlE"}
1
+ {"version":3,"file":"logRerunSuggestion.d.ts","sourceRoot":"","sources":["../../../src/cli/loggers/logRerunSuggestion.ts"],"names":[],"mappings":"AAGA,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,QAoBlE"}
@@ -1,6 +1,6 @@
1
1
  import * as prompts from "@clack/prompts";
2
2
  import chalk from "chalk";
3
- export function logRerunSuggestion(args, prompted) {
3
+ export function logRerunSuggestion(argv, prompted) {
4
4
  const promptedEntries = Object.entries(prompted);
5
5
  if (!promptedEntries.length) {
6
6
  return;
@@ -8,8 +8,8 @@ export function logRerunSuggestion(args, prompted) {
8
8
  prompts.log.info([
9
9
  chalk.italic(`Tip: to run again with the same input values, use:`),
10
10
  chalk.blue([
11
- `npx bingo`,
12
- ...args,
11
+ "npx",
12
+ argv[1].split(/[/\\]/).at(-1),
13
13
  promptedEntries
14
14
  .map(([key, value]) => stringifyPair(key, value))
15
15
  .join(" "),
@@ -1 +1 @@
1
- {"version":3,"file":"logRerunSuggestion.js","sourceRoot":"","sources":["../../../src/cli/loggers/logRerunSuggestion.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,UAAU,kBAAkB,CAAC,IAAc,EAAE,QAAgB;IAClE,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACjD,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC;QAC7B,OAAO;IACR,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,IAAI,CACf;QACC,KAAK,CAAC,MAAM,CAAC,oDAAoD,CAAC;QAClE,KAAK,CAAC,IAAI,CACT;YACC,WAAW;YACX,GAAG,IAAI;YACP,eAAe;iBAEb,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;iBAChD,IAAI,CAAC,GAAG,CAAC;SACX,CAAC,IAAI,CAAC,GAAG,CAAC,CACX;KACD,CAAC,IAAI,CAAC,GAAG,CAAC,CACX,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,GAAW,EAAE,KAAc;IACjD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,aAAa,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACtE,CAAC;IAED,MAAM,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;IAExB,IAAI,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,EAAE,CAAC;QACzC,OAAO,IAAI,CAAC;IACb,CAAC;IAED,MAAM,gBAAgB,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAEvC,OAAO,gBAAgB,CAAC,QAAQ,CAAC,GAAG,CAAC;QACpC,CAAC,CAAC,GAAG,IAAI,KAAK,gBAAgB,GAAG;QACjC,CAAC,CAAC,GAAG,IAAI,IAAI,gBAAgB,EAAE,CAAC;AAClC,CAAC"}
1
+ {"version":3,"file":"logRerunSuggestion.js","sourceRoot":"","sources":["../../../src/cli/loggers/logRerunSuggestion.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,UAAU,kBAAkB,CAAC,IAAc,EAAE,QAAgB;IAClE,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACjD,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC;QAC7B,OAAO;IACR,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,IAAI,CACf;QACC,KAAK,CAAC,MAAM,CAAC,oDAAoD,CAAC;QAClE,KAAK,CAAC,IAAI,CACT;YACC,KAAK;YACL,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAC7B,eAAe;iBACb,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;iBAChD,IAAI,CAAC,GAAG,CAAC;SACX,CAAC,IAAI,CAAC,GAAG,CAAC,CACX;KACD,CAAC,IAAI,CAAC,GAAG,CAAC,CACX,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,GAAW,EAAE,KAAc;IACjD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,aAAa,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACtE,CAAC;IAED,MAAM,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;IAExB,IAAI,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,EAAE,CAAC;QACzC,OAAO,IAAI,CAAC;IACb,CAAC;IAED,MAAM,gBAAgB,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAEvC,OAAO,gBAAgB,CAAC,QAAQ,CAAC,GAAG,CAAC;QACpC,CAAC,CAAC,GAAG,IAAI,KAAK,gBAAgB,GAAG;QACjC,CAAC,CAAC,GAAG,IAAI,IAAI,gBAAgB,EAAE,CAAC;AAClC,CAAC"}
@@ -10,15 +10,17 @@ vi.mock("@clack/prompts", () => ({
10
10
  }));
11
11
  describe("logRerunSuggestion", () => {
12
12
  it("does not log when there are no prompted entries", () => {
13
- logRerunSuggestion(["my-app"], {});
13
+ logRerunSuggestion([".../node", ".../my-app"], {});
14
14
  expect(mockLog.info).not.toHaveBeenCalled();
15
15
  });
16
- it("logs when there are no prompted entries", () => {
17
- logRerunSuggestion(["my-app"], { abc: "def" });
16
+ it("logs when there are prompted entries", () => {
17
+ logRerunSuggestion([".../node", ".../my-app"], {
18
+ abc: "def",
19
+ });
18
20
  expect(mockLog.info).toHaveBeenCalled();
19
21
  });
20
22
  test("value stringification", () => {
21
- logRerunSuggestion(["my-app"], {
23
+ logRerunSuggestion([".../node", ".../my-app"], {
22
24
  "is-false": false,
23
25
  "is-true": true,
24
26
  multiple: ["def", 456],
@@ -29,7 +31,7 @@ describe("logRerunSuggestion", () => {
29
31
  expect(mockLog.info.mock.calls).toMatchInlineSnapshot(`
30
32
  [
31
33
  [
32
- "Tip: to run again with the same input values, use: npx bingo my-app --is-false false --is-true --multiple def --multiple 456 --numeric 123 --spaced "a bb ccc" --stringy abc",
34
+ "Tip: to run again with the same input values, use: npx my-app --is-false false --is-true --multiple def --multiple 456 --numeric 123 --spaced "a bb ccc" --stringy abc",
33
35
  ],
34
36
  ]
35
37
  `);
@@ -1 +1 @@
1
- {"version":3,"file":"logRerunSuggestion.test.js","sourceRoot":"","sources":["../../../src/cli/loggers/logRerunSuggestion.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAExD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,MAAM,OAAO,GAAG;IACf,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE;CACb,CAAC;AAEF,EAAE,CAAC,IAAI,CAAC,gBAAgB,EAAE,GAAG,EAAE,CAAC,CAAC;IAChC,IAAI,GAAG;QACN,OAAO,OAAO,CAAC;IAChB,CAAC;CACD,CAAC,CAAC,CAAC;AAEJ,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IACnC,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;QAC1D,kBAAkB,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC;QAEnC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;QAClD,kBAAkB,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;QAE/C,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,gBAAgB,EAAE,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,uBAAuB,EAAE,GAAG,EAAE;QAClC,kBAAkB,CAAC,CAAC,QAAQ,CAAC,EAAE;YAC9B,UAAU,EAAE,KAAK;YACjB,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE,CAAC,KAAK,EAAE,GAAG,CAAC;YACtB,OAAO,EAAE,GAAG;YACZ,MAAM,EAAE,UAAU;YAClB,OAAO,EAAE,KAAK;SACd,CAAC,CAAC;QAEH,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,qBAAqB,CAAC;;;;;;GAMrD,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"logRerunSuggestion.test.js","sourceRoot":"","sources":["../../../src/cli/loggers/logRerunSuggestion.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAExD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,MAAM,OAAO,GAAG;IACf,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE;CACb,CAAC;AAEF,EAAE,CAAC,IAAI,CAAC,gBAAgB,EAAE,GAAG,EAAE,CAAC,CAAC;IAChC,IAAI,GAAG;QACN,OAAO,OAAO,CAAC;IAChB,CAAC;CACD,CAAC,CAAC,CAAC;AAEJ,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IACnC,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;QAC1D,kBAAkB,CAAC,CAAC,UAAU,EAAE,YAAY,CAAC,EAAE,EAAE,CAAC,CAAC;QAEnD,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAC/C,kBAAkB,CAAC,CAAC,UAAU,EAAE,YAAY,CAAC,EAAE;YAC9C,GAAG,EAAE,KAAK;SACV,CAAC,CAAC;QAEH,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,gBAAgB,EAAE,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,uBAAuB,EAAE,GAAG,EAAE;QAClC,kBAAkB,CAAC,CAAC,UAAU,EAAE,YAAY,CAAC,EAAE;YAC9C,UAAU,EAAE,KAAK;YACjB,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE,CAAC,KAAK,EAAE,GAAG,CAAC;YACtB,OAAO,EAAE,GAAG;YACZ,MAAM,EAAE,UAAU;YAClB,OAAO,EAAE,KAAK;SACd,CAAC,CAAC;QAEH,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,qBAAqB,CAAC;;;;;;GAMrD,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -1,5 +1,8 @@
1
1
  export declare enum CLIMessage {
2
+ Done = "Done. Enjoy your updated repository! \uD83D\uDC9D",
2
3
  Exiting = "Exiting - maybe another time? \uD83D\uDC4B",
4
+ Leaving = "Leaving changes to the local directory on disk. \uD83D\uDC4B",
5
+ New = "Done. Enjoy your new repository! \uD83D\uDC9D",
3
6
  Ok = "Cheers! \uD83D\uDC9D"
4
7
  }
5
8
  //# sourceMappingURL=messages.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../src/cli/messages.ts"],"names":[],"mappings":"AAAA,oBAAY,UAAU;IACrB,OAAO,+CAAqC;IAC5C,EAAE,yBAAe;CACjB"}
1
+ {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../src/cli/messages.ts"],"names":[],"mappings":"AAAA,oBAAY,UAAU;IACrB,IAAI,sDAA4C;IAChD,OAAO,+CAAqC;IAC5C,OAAO,iEAAuD;IAC9D,GAAG,kDAAwC;IAC3C,EAAE,yBAAe;CACjB"}
@@ -1,6 +1,9 @@
1
1
  export var CLIMessage;
2
2
  (function (CLIMessage) {
3
+ CLIMessage["Done"] = "Done. Enjoy your updated repository! \uD83D\uDC9D";
3
4
  CLIMessage["Exiting"] = "Exiting - maybe another time? \uD83D\uDC4B";
5
+ CLIMessage["Leaving"] = "Leaving changes to the local directory on disk. \uD83D\uDC4B";
6
+ CLIMessage["New"] = "Done. Enjoy your new repository! \uD83D\uDC9D";
4
7
  CLIMessage["Ok"] = "Cheers! \uD83D\uDC9D";
5
8
  })(CLIMessage || (CLIMessage = {}));
6
9
  //# sourceMappingURL=messages.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"messages.js","sourceRoot":"","sources":["../../src/cli/messages.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,UAGX;AAHD,WAAY,UAAU;IACrB,oEAA4C,CAAA;IAC5C,yCAAiB,CAAA;AAClB,CAAC,EAHW,UAAU,KAAV,UAAU,QAGrB"}
1
+ {"version":3,"file":"messages.js","sourceRoot":"","sources":["../../src/cli/messages.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,UAMX;AAND,WAAY,UAAU;IACrB,wEAAgD,CAAA;IAChD,oEAA4C,CAAA;IAC5C,sFAA8D,CAAA;IAC9D,mEAA2C,CAAA;IAC3C,yCAAiB,CAAA;AAClB,CAAC,EANW,UAAU,KAAV,UAAU,QAMrB"}
@@ -20,6 +20,6 @@ export declare function parseProcessArgv(): {
20
20
  version?: string | boolean | undefined;
21
21
  };
22
22
  positionals: string[];
23
- args: string[];
23
+ argv: string[];
24
24
  };
25
25
  //# sourceMappingURL=parseProcessArgv.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"parseProcessArgv.d.ts","sourceRoot":"","sources":["../../src/cli/parseProcessArgv.ts"],"names":[],"mappings":"AA8BA,MAAM,WAAW,eAAe;IAC/B,SAAS,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC;IACzC,IAAI,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC;IACpC,IAAI,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC;IACpC,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC;IACvC,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC;IACrC,UAAU,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC;IAC1C,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC;CACvC;AAED,wBAAgB,gBAAgB;;;;;;;;;;;;;;EAU/B"}
1
+ {"version":3,"file":"parseProcessArgv.d.ts","sourceRoot":"","sources":["../../src/cli/parseProcessArgv.ts"],"names":[],"mappings":"AA8BA,MAAM,WAAW,eAAe;IAC/B,SAAS,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC;IACzC,IAAI,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC;IACpC,IAAI,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC;IACpC,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC;IACvC,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC;IACrC,UAAU,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC;IAC1C,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC;CACvC;AAED,wBAAgB,gBAAgB;;;;;;;;;;;;;;EAS/B"}
@@ -23,11 +23,10 @@ const cliArgsOptions = {
23
23
  },
24
24
  };
25
25
  export function parseProcessArgv() {
26
- const args = process.argv.slice(2);
27
26
  return {
28
- args,
27
+ argv: process.argv,
29
28
  ...parseArgs({
30
- args,
29
+ args: process.argv.slice(2),
31
30
  options: cliArgsOptions,
32
31
  strict: false,
33
32
  }),
@@ -1 +1 @@
1
- {"version":3,"file":"parseProcessArgv.js","sourceRoot":"","sources":["../../src/cli/parseProcessArgv.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAmB,MAAM,WAAW,CAAC;AAMvD,MAAM,cAAc,GAAG;IACtB,SAAS,EAAE;QACV,IAAI,EAAE,QAAQ;KACd;IACD,IAAI,EAAE;QACL,IAAI,EAAE,SAAS;KACf;IACD,IAAI,EAAE;QACL,IAAI,EAAE,QAAQ;KACd;IACD,OAAO,EAAE;QACR,IAAI,EAAE,SAAS;KACf;IACD,KAAK,EAAE;QACN,IAAI,EAAE,QAAQ;KACd;IACD,UAAU,EAAE;QACX,IAAI,EAAE,QAAQ;KACd;IACD,OAAO,EAAE;QACR,IAAI,EAAE,SAAS;KACf;CACgC,CAAC;AAYnC,MAAM,UAAU,gBAAgB;IAC/B,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACnC,OAAO;QACN,IAAI;QACJ,GAAG,SAAS,CAAC;YACZ,IAAI;YACJ,OAAO,EAAE,cAAc;YACvB,MAAM,EAAE,KAAK;SACb,CAAC;KACF,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"parseProcessArgv.js","sourceRoot":"","sources":["../../src/cli/parseProcessArgv.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAmB,MAAM,WAAW,CAAC;AAMvD,MAAM,cAAc,GAAG;IACtB,SAAS,EAAE;QACV,IAAI,EAAE,QAAQ;KACd;IACD,IAAI,EAAE;QACL,IAAI,EAAE,SAAS;KACf;IACD,IAAI,EAAE;QACL,IAAI,EAAE,QAAQ;KACd;IACD,OAAO,EAAE;QACR,IAAI,EAAE,SAAS;KACf;IACD,KAAK,EAAE;QACN,IAAI,EAAE,QAAQ;KACd;IACD,UAAU,EAAE;QACX,IAAI,EAAE,QAAQ;KACd;IACD,OAAO,EAAE;QACR,IAAI,EAAE,SAAS;KACf;CACgC,CAAC;AAYnC,MAAM,UAAU,gBAAgB;IAC/B,OAAO;QACN,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,GAAG,SAAS,CAAC;YACZ,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YAC3B,OAAO,EAAE,cAAc;YACvB,MAAM,EAAE,KAAK;SACb,CAAC;KACF,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"promptForOptionSchema.d.ts","sourceRoot":"","sources":["../../../src/cli/prompts/promptForOptionSchema.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAezB,wBAAsB,qBAAqB,CAC1C,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,CAAC,CAAC,UAAU,EACpB,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,YAAY,EAAE,OAAO,oBAwErB"}
1
+ {"version":3,"file":"promptForOptionSchema.d.ts","sourceRoot":"","sources":["../../../src/cli/prompts/promptForOptionSchema.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAMzB,wBAAsB,qBAAqB,CAC1C,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,CAAC,CAAC,UAAU,EACpB,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,YAAY,EAAE,OAAO,oBA4ErB"}
@@ -1,9 +1,10 @@
1
1
  import * as prompts from "@clack/prompts";
2
2
  import * as z from "zod";
3
+ import { isZodDefaultDef } from "../schemas/isZodDefaultDef.js";
3
4
  import { validateNumber, validatorFromSchema } from "./validators.js";
4
5
  export async function promptForOptionSchema(key, schema, description, defaultValue) {
5
6
  const def = schema._def;
6
- if (def.typeName === z.ZodFirstPartyTypeKind.ZodDefault) {
7
+ if (isZodDefaultDef(def)) {
7
8
  return await promptForOptionSchema(key, def.innerType, def.innerType.description, defaultValue);
8
9
  }
9
10
  const message = description
@@ -19,6 +20,15 @@ export async function promptForOptionSchema(key, schema, description, defaultVal
19
20
  });
20
21
  break;
21
22
  }
23
+ case z.ZodFirstPartyTypeKind.ZodEnum: {
24
+ const options = def.values.map((value) => ({ value }));
25
+ const text = await prompts.select({
26
+ initialValue: defaultValue,
27
+ message,
28
+ options,
29
+ });
30
+ return cancelOrParse(schema, text);
31
+ }
22
32
  case z.ZodFirstPartyTypeKind.ZodNumber:
23
33
  value = Number(await prompts.text({
24
34
  message,
@@ -37,10 +47,7 @@ export async function promptForOptionSchema(key, schema, description, defaultVal
37
47
  message,
38
48
  options,
39
49
  });
40
- if (prompts.isCancel(text)) {
41
- return text;
42
- }
43
- return schema.parse(text);
50
+ return cancelOrParse(schema, text);
44
51
  }
45
52
  default: {
46
53
  const text = await prompts.text({
@@ -48,13 +55,13 @@ export async function promptForOptionSchema(key, schema, description, defaultVal
48
55
  placeholder: defaultValue,
49
56
  validate: validatorFromSchema(schema),
50
57
  });
51
- if (prompts.isCancel(text)) {
52
- return text;
53
- }
54
- return schema.parse(text);
58
+ return cancelOrParse(schema, text);
55
59
  }
56
60
  }
57
61
  }
58
62
  return value;
59
63
  }
64
+ function cancelOrParse(schema, text) {
65
+ return prompts.isCancel(text) ? text : schema.parse(text);
66
+ }
60
67
  //# sourceMappingURL=promptForOptionSchema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"promptForOptionSchema.js","sourceRoot":"","sources":["../../../src/cli/prompts/promptForOptionSchema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAEzB,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAatE,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAC1C,GAAW,EACX,MAAoB,EACpB,WAA+B,EAC/B,YAAqB;IAErB,MAAM,GAAG,GAAG,MAAM,CAAC,IAAc,CAAC;IAClC,IAAI,GAAG,CAAC,QAAQ,KAAK,CAAC,CAAC,qBAAqB,CAAC,UAAU,EAAE,CAAC;QACzD,OAAO,MAAM,qBAAqB,CACjC,GAAG,EACH,GAAG,CAAC,SAAS,EACb,GAAG,CAAC,SAAS,CAAC,WAAW,EACzB,YAAY,CACZ,CAAC;IACH,CAAC;IACD,MAAM,OAAO,GAAG,WAAW;QAC1B,CAAC,CAAC,iBAAiB,WAAW,WAAW,GAAG,GAAG;QAC/C,CAAC,CAAC,mBAAmB,GAAG,MAAM,CAAC;IAChC,IAAI,KAAc,CAAC;IAEnB,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;QAC5C,QAAQ,GAAG,CAAC,QAAQ,EAAE,CAAC;YACtB,KAAK,CAAC,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC,CAAC;gBACzC,KAAK,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC;oBAC7B,YAAY,EAAE,YAAuB;oBACrC,OAAO;iBACP,CAAC,CAAC;gBACH,MAAM;YACP,CAAC;YAED,KAAK,CAAC,CAAC,qBAAqB,CAAC,SAAS;gBACrC,KAAK,GAAG,MAAM,CACb,MAAM,OAAO,CAAC,IAAI,CAAC;oBAClB,OAAO;oBACP,WAAW,EAAE,YAAsB;oBACnC,QAAQ,EAAE,cAAc;iBACxB,CAAC,CACF,CAAC;gBACF,MAAM;YAEP,KAAK,CAAC,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACvC,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;oBAC5C,iDAAiD;oBACjD,4EAA4E;oBAC5E,KAAK,EAAE,GAAI,MAAM,CAAC,IAAmC,CAAC,KAAK,EAAE;iBAC7D,CAAC,CAAC,CAAC;gBACJ,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC;oBACjC,YAAY,EAAE,YAAsB;oBACpC,OAAO;oBACP,OAAO;iBACP,CAAC,CAAC;gBAEH,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC5B,OAAO,IAAI,CAAC;gBACb,CAAC;gBAED,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,CAAY,CAAC;YACtC,CAAC;YAED,OAAO,CAAC,CAAC,CAAC;gBACT,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;oBAC/B,OAAO;oBACP,WAAW,EAAE,YAAsB;oBACnC,QAAQ,EAAE,mBAAmB,CAAC,MAAM,CAAC;iBACrC,CAAC,CAAC;gBAEH,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC5B,OAAO,IAAI,CAAC;gBACb,CAAC;gBAED,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,CAAY,CAAC;YACtC,CAAC;QACF,CAAC;IACF,CAAC;IAED,OAAO,KAAK,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"promptForOptionSchema.js","sourceRoot":"","sources":["../../../src/cli/prompts/promptForOptionSchema.ts"],"names":[],"mappings":"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"}
@@ -12,7 +12,7 @@ import { makeRelative } from "./utils.js";
12
12
  * @returns CLI status to assign to `process.exitCode`.
13
13
  */
14
14
  export async function runBingoCLI() {
15
- const { args, positionals, values } = parseProcessArgv();
15
+ const { argv, positionals, values } = parseProcessArgv();
16
16
  if (values.version) {
17
17
  console.log(packageData.version);
18
18
  return CLIStatus.Success;
@@ -29,7 +29,7 @@ export async function runBingoCLI() {
29
29
  return CLIStatus.Error;
30
30
  }
31
31
  const result = await runCLI({
32
- args,
32
+ argv,
33
33
  display,
34
34
  from: `bingo ${from}`,
35
35
  template,
@@ -4,11 +4,11 @@ import { ClackDisplay } from "./display/createClackDisplay.js";
4
4
  import { RunCLIRawValues } from "./parseProcessArgv.js";
5
5
  import { CLIStatus } from "./status.js";
6
6
  export interface RunCLISettings<OptionsShape extends AnyShape, Refinements> {
7
- args: string[];
7
+ argv: string[];
8
8
  display: ClackDisplay;
9
9
  from: string;
10
10
  template: Template<OptionsShape, Refinements>;
11
11
  values: RunCLIRawValues;
12
12
  }
13
- export declare function runCLI<OptionsShape extends AnyShape, Refinements>({ args, display, from, template, values, }: RunCLISettings<OptionsShape, Refinements>): Promise<import("./types.js").ModeResults | CLIStatus.Error>;
13
+ export declare function runCLI<OptionsShape extends AnyShape, Refinements>({ argv, display, from, template, values, }: RunCLISettings<OptionsShape, Refinements>): Promise<import("./types.js").ModeResults | CLIStatus.Error>;
14
14
  //# sourceMappingURL=runCLI.d.ts.map
package/lib/cli/runCLI.js CHANGED
@@ -13,7 +13,7 @@ const valuesSchema = z.object({
13
13
  owner: z.string().optional(),
14
14
  repository: z.string().optional(),
15
15
  });
16
- export async function runCLI({ args, display, from, template, values, }) {
16
+ export async function runCLI({ argv, display, from, template, values, }) {
17
17
  const validatedValues = valuesSchema.parse(values);
18
18
  const productionSettings = await readProductionSettings({
19
19
  from,
@@ -25,7 +25,7 @@ export async function runCLI({ args, display, from, template, values, }) {
25
25
  }
26
26
  const sharedSettings = {
27
27
  ...validatedValues,
28
- args,
28
+ argv,
29
29
  display,
30
30
  from,
31
31
  template,
@@ -31,12 +31,13 @@ vi.mock("./transition/runModeTransition.js", () => ({
31
31
  const template = createTemplate({
32
32
  produce: vi.fn(),
33
33
  });
34
+ const argv = ["npx", "bingo-example"];
34
35
  describe("runCli", () => {
35
36
  it("logs the error when readProductionSettings resolves an error", async () => {
36
37
  const error = new Error("Oh no!");
37
38
  mockReadProductionSettings.mockResolvedValueOnce(error);
38
39
  const actual = await runCLI({
39
- args: [],
40
+ argv,
40
41
  display: createClackDisplay(),
41
42
  from: "",
42
43
  template,
@@ -50,7 +51,7 @@ describe("runCli", () => {
50
51
  mode: "setup",
51
52
  });
52
53
  await runCLI({
53
- args: [],
54
+ argv,
54
55
  display: createClackDisplay(),
55
56
  from: "",
56
57
  template,
@@ -65,7 +66,7 @@ describe("runCli", () => {
65
66
  mode: "transition",
66
67
  });
67
68
  await runCLI({
68
- args: [],
69
+ argv,
69
70
  display: createClackDisplay(),
70
71
  from: "",
71
72
  template,
@@ -1 +1 @@
1
- {"version":3,"file":"runCli.test.js","sourceRoot":"","sources":["../../src/cli/runCli.test.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAElD,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,MAAM,YAAY,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;AAE7B,EAAE,CAAC,IAAI,CAAC,uBAAuB,EAAE,GAAG,EAAE,CAAC,CAAC;IACvC,IAAI,QAAQ;QACX,OAAO,YAAY,CAAC;IACrB,CAAC;CACD,CAAC,CAAC,CAAC;AAEJ,MAAM,0BAA0B,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;AAE3C,EAAE,CAAC,IAAI,CAAC,6BAA6B,EAAE,GAAG,EAAE,CAAC,CAAC;IAC7C,IAAI,sBAAsB;QACzB,OAAO,0BAA0B,CAAC;IACnC,CAAC;CACD,CAAC,CAAC,CAAC;AAEJ,MAAM,gBAAgB,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;AAEjC,EAAE,CAAC,IAAI,CAAC,yBAAyB,EAAE,GAAG,EAAE,CAAC,CAAC;IACzC,IAAI,YAAY;QACf,OAAO,gBAAgB,CAAC;IACzB,CAAC;CACD,CAAC,CAAC,CAAC;AAEJ,MAAM,qBAAqB,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;AAEtC,EAAE,CAAC,IAAI,CAAC,mCAAmC,EAAE,GAAG,EAAE,CAAC,CAAC;IACnD,IAAI,iBAAiB;QACpB,OAAO,qBAAqB,CAAC;IAC9B,CAAC;CACD,CAAC,CAAC,CAAC;AAEJ,MAAM,QAAQ,GAAG,cAAc,CAAC;IAC/B,OAAO,EAAE,EAAE,CAAC,EAAE,EAAE;CAChB,CAAC,CAAC;AAEH,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;IACvB,EAAE,CAAC,8DAA8D,EAAE,KAAK,IAAI,EAAE;QAC7E,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC;QAClC,0BAA0B,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAExD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC;YAC3B,IAAI,EAAE,EAAE;YACR,OAAO,EAAE,kBAAkB,EAAE;YAC7B,IAAI,EAAE,EAAE;YACR,QAAQ;YACR,MAAM,EAAE,EAAE;SACV,CAAC,CAAC;QAEH,MAAM,CAAC,YAAY,CAAC,CAAC,oBAAoB,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QACpE,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yDAAyD,EAAE,KAAK,IAAI,EAAE;QACxE,0BAA0B,CAAC,qBAAqB,CAAC;YAChD,IAAI,EAAE,OAAO;SACb,CAAC,CAAC;QAEH,MAAM,MAAM,CAAC;YACZ,IAAI,EAAE,EAAE;YACR,OAAO,EAAE,kBAAkB,EAAE;YAC7B,IAAI,EAAE,EAAE;YACR,QAAQ;YACR,MAAM,EAAE,EAAE;SACV,CAAC,CAAC;QAEH,MAAM,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAC5C,MAAM,CAAC,gBAAgB,CAAC,CAAC,gBAAgB,EAAE,CAAC;QAC5C,MAAM,CAAC,qBAAqB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mEAAmE,EAAE,KAAK,IAAI,EAAE;QAClF,0BAA0B,CAAC,qBAAqB,CAAC;YAChD,IAAI,EAAE,YAAY;SAClB,CAAC,CAAC;QAEH,MAAM,MAAM,CAAC;YACZ,IAAI,EAAE,EAAE;YACR,OAAO,EAAE,kBAAkB,EAAE;YAC7B,IAAI,EAAE,EAAE;YACR,QAAQ;YACR,MAAM,EAAE,EAAE;SACV,CAAC,CAAC;QAEH,MAAM,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAC5C,MAAM,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAChD,MAAM,CAAC,qBAAqB,CAAC,CAAC,gBAAgB,EAAE,CAAC;IAClD,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"runCli.test.js","sourceRoot":"","sources":["../../src/cli/runCli.test.ts"],"names":[],"mappings":"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"}
@@ -18,7 +18,7 @@ export async function runTemplateCLI(template, providedTemplatePackageData) {
18
18
  console.error(templatePackageData);
19
19
  return CLIStatus.Error;
20
20
  }
21
- const { args, values } = parseProcessArgv();
21
+ const { argv, values } = parseProcessArgv();
22
22
  if (values.version) {
23
23
  console.log(`${packageData.name}@${packageData.version}`);
24
24
  console.log(`${templatePackageData.name}@${templatePackageData.version}`);
@@ -29,7 +29,7 @@ export async function runTemplateCLI(template, providedTemplatePackageData) {
29
29
  prompts.log.info(`Learn more on:\n ${chalk.blue(`https://github.com/${template.about.repository.owner}/${template.about.repository.repository}`)}`);
30
30
  }
31
31
  return await runCLI({
32
- args,
32
+ argv,
33
33
  display,
34
34
  from: templatePackageData.name,
35
35
  template,
@@ -0,0 +1,3 @@
1
+ import { ZodDefaultDefWithType } from "./types.js";
2
+ export declare function isZodDefaultDef(def: any): def is ZodDefaultDefWithType;
3
+ //# sourceMappingURL=defaults.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../../src/cli/schemas/defaults.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAEnD,wBAAgB,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,qBAAqB,CAEtE"}
@@ -0,0 +1,7 @@
1
+ // eslint-disable-next-line @eslint-community/eslint-comments/disable-enable-pair
2
+ /* eslint-disable @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-member-access */
3
+ import { z } from "zod";
4
+ export function isZodDefaultDef(def) {
5
+ return def.typeName === z.ZodFirstPartyTypeKind.ZodDefault;
6
+ }
7
+ //# sourceMappingURL=defaults.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../../src/cli/schemas/defaults.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,mGAAmG;AACnG,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,MAAM,UAAU,eAAe,CAAC,GAAQ;IACvC,OAAO,GAAG,CAAC,QAAQ,KAAK,CAAC,CAAC,qBAAqB,CAAC,UAAU,CAAC;AAC5D,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { z } from "zod";
2
+ export declare function isStringLikeSchema(schema: z.ZodTypeAny): boolean;
3
+ //# sourceMappingURL=isStringLikeOption.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isStringLikeOption.d.ts","sourceRoot":"","sources":["../../../src/cli/schemas/isStringLikeOption.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,CAAC,CAAC,UAAU,GAAG,OAAO,CAoBhE"}
@@ -0,0 +1,19 @@
1
+ import { z } from "zod";
2
+ export function isStringLikeSchema(schema) {
3
+ const def = schema._def;
4
+ switch (def.typeName) {
5
+ case z.ZodFirstPartyTypeKind.ZodBoolean:
6
+ case z.ZodFirstPartyTypeKind.ZodLiteral:
7
+ case z.ZodFirstPartyTypeKind.ZodNumber:
8
+ case z.ZodFirstPartyTypeKind.ZodString:
9
+ return true;
10
+ case z.ZodFirstPartyTypeKind.ZodDefault:
11
+ case z.ZodFirstPartyTypeKind.ZodOptional:
12
+ return isStringLikeSchema(def.innerType);
13
+ case z.ZodFirstPartyTypeKind.ZodUnion:
14
+ return def.options.every((option) => isStringLikeSchema(option));
15
+ default:
16
+ return false;
17
+ }
18
+ }
19
+ //# sourceMappingURL=isStringLikeOption.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isStringLikeOption.js","sourceRoot":"","sources":["../../../src/cli/schemas/isStringLikeOption.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,MAAM,UAAU,kBAAkB,CAAC,MAAoB;IACtD,MAAM,GAAG,GAAG,MAAM,CAAC,IAA4B,CAAC;IAEhD,QAAQ,GAAG,CAAC,QAAQ,EAAE,CAAC;QACtB,KAAK,CAAC,CAAC,qBAAqB,CAAC,UAAU,CAAC;QACxC,KAAK,CAAC,CAAC,qBAAqB,CAAC,UAAU,CAAC;QACxC,KAAK,CAAC,CAAC,qBAAqB,CAAC,SAAS,CAAC;QACvC,KAAK,CAAC,CAAC,qBAAqB,CAAC,SAAS;YACrC,OAAO,IAAI,CAAC;QAEb,KAAK,CAAC,CAAC,qBAAqB,CAAC,UAAU,CAAC;QACxC,KAAK,CAAC,CAAC,qBAAqB,CAAC,WAAW;YACvC,OAAO,kBAAkB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAE1C,KAAK,CAAC,CAAC,qBAAqB,CAAC,QAAQ;YACpC,OAAO,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;QAElE;YACC,OAAO,KAAK,CAAC;IACf,CAAC;AACF,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=isStringLikeOption.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isStringLikeOption.test.d.ts","sourceRoot":"","sources":["../../../src/cli/schemas/isStringLikeOption.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,63 @@
1
+ import { describe, expect, test } from "vitest";
2
+ import { z } from "zod";
3
+ import { isStringLikeSchema } from "./isStringLikeSchema.js";
4
+ describe("isStringLikeOption", () => {
5
+ test.each([
6
+ ["boolean", z.boolean(), true],
7
+ ["boolean literal", z.literal(false), true],
8
+ ["number", z.number(), true],
9
+ ["number literal", z.literal(0), true],
10
+ ["string", z.string(), true],
11
+ ["string literal", z.literal(""), true],
12
+ [
13
+ "union of string-likes",
14
+ z.union([z.boolean(), z.number(), z.string()]),
15
+ true,
16
+ ],
17
+ ["default boolean", z.boolean().default(false), true],
18
+ ["default boolean literal", z.literal(false).default(false), true],
19
+ ["default number", z.number().default(0), true],
20
+ ["default number literal", z.literal(0).default(0), true],
21
+ ["default string", z.string().default(""), true],
22
+ ["default string literal", z.literal("").default(""), true],
23
+ [
24
+ "default union of string-likes",
25
+ z.union([z.boolean(), z.number(), z.string()]).default(""),
26
+ true,
27
+ ],
28
+ ["optional boolean", z.boolean().optional(), true],
29
+ ["optional boolean literal", z.literal(false).optional(), true],
30
+ ["optional number", z.number().optional(), true],
31
+ ["optional number literal", z.literal(0).optional(), true],
32
+ ["optional string", z.string().optional(), true],
33
+ ["optional string literal", z.literal("").optional(), true],
34
+ [
35
+ "optional union of string-likes",
36
+ z.union([z.boolean(), z.number(), z.string()]).optional(),
37
+ true,
38
+ ],
39
+ ["default optional boolean", z.boolean().default(false).optional(), true],
40
+ ["default optional number", z.number().default(0).optional(), true],
41
+ ["default optional string", z.string().default("").optional(), true],
42
+ [
43
+ "default optional union of string-likes",
44
+ z.union([z.boolean(), z.number(), z.string()]).default("").optional(),
45
+ true,
46
+ ],
47
+ ["optional default boolean", z.boolean().optional().default(false), true],
48
+ ["optional default number", z.number().optional().default(0), true],
49
+ ["optional default string", z.string().optional().default(""), true],
50
+ [
51
+ "optional default union of string-likes",
52
+ z
53
+ .union([z.boolean(), z.number(), z.string()])
54
+ .default("")
55
+ .optional()
56
+ .default(""),
57
+ true,
58
+ ],
59
+ ])("%s", (_, schema, expected) => {
60
+ expect(isStringLikeSchema(schema)).toBe(expected);
61
+ });
62
+ });
63
+ //# sourceMappingURL=isStringLikeOption.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isStringLikeOption.test.js","sourceRoot":"","sources":["../../../src/cli/schemas/isStringLikeOption.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { z } from "zod";
2
+ export declare function isStringLikeSchema(schema: z.ZodTypeAny): boolean;
3
+ //# sourceMappingURL=isStringLikeSchema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isStringLikeSchema.d.ts","sourceRoot":"","sources":["../../../src/cli/schemas/isStringLikeSchema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,CAAC,CAAC,UAAU,GAAG,OAAO,CAqBhE"}
@@ -0,0 +1,20 @@
1
+ import { z } from "zod";
2
+ export function isStringLikeSchema(schema) {
3
+ const def = schema._def;
4
+ switch (def.typeName) {
5
+ case z.ZodFirstPartyTypeKind.ZodBoolean:
6
+ case z.ZodFirstPartyTypeKind.ZodEnum:
7
+ case z.ZodFirstPartyTypeKind.ZodLiteral:
8
+ case z.ZodFirstPartyTypeKind.ZodNumber:
9
+ case z.ZodFirstPartyTypeKind.ZodString:
10
+ return true;
11
+ case z.ZodFirstPartyTypeKind.ZodDefault:
12
+ case z.ZodFirstPartyTypeKind.ZodOptional:
13
+ return isStringLikeSchema(def.innerType);
14
+ case z.ZodFirstPartyTypeKind.ZodUnion:
15
+ return def.options.every((option) => isStringLikeSchema(option));
16
+ default:
17
+ return false;
18
+ }
19
+ }
20
+ //# sourceMappingURL=isStringLikeSchema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isStringLikeSchema.js","sourceRoot":"","sources":["../../../src/cli/schemas/isStringLikeSchema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,MAAM,UAAU,kBAAkB,CAAC,MAAoB;IACtD,MAAM,GAAG,GAAG,MAAM,CAAC,IAA4B,CAAC;IAEhD,QAAQ,GAAG,CAAC,QAAQ,EAAE,CAAC;QACtB,KAAK,CAAC,CAAC,qBAAqB,CAAC,UAAU,CAAC;QACxC,KAAK,CAAC,CAAC,qBAAqB,CAAC,OAAO,CAAC;QACrC,KAAK,CAAC,CAAC,qBAAqB,CAAC,UAAU,CAAC;QACxC,KAAK,CAAC,CAAC,qBAAqB,CAAC,SAAS,CAAC;QACvC,KAAK,CAAC,CAAC,qBAAqB,CAAC,SAAS;YACrC,OAAO,IAAI,CAAC;QAEb,KAAK,CAAC,CAAC,qBAAqB,CAAC,UAAU,CAAC;QACxC,KAAK,CAAC,CAAC,qBAAqB,CAAC,WAAW;YACvC,OAAO,kBAAkB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAE1C,KAAK,CAAC,CAAC,qBAAqB,CAAC,QAAQ;YACpC,OAAO,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;QAElE;YACC,OAAO,KAAK,CAAC;IACf,CAAC;AACF,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=isStringLikeSchema.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isStringLikeSchema.test.d.ts","sourceRoot":"","sources":["../../../src/cli/schemas/isStringLikeSchema.test.ts"],"names":[],"mappings":""}