bingo 0.8.2 → 0.9.1

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 (239) hide show
  1. package/lib/cli/createTrackingBranches.d.ts +4 -0
  2. package/lib/cli/createTrackingBranches.d.ts.map +1 -0
  3. package/lib/cli/createTrackingBranches.js +7 -0
  4. package/lib/cli/createTrackingBranches.js.map +1 -0
  5. package/lib/cli/createTrackingBranches.test.d.ts +2 -0
  6. package/lib/cli/createTrackingBranches.test.d.ts.map +1 -0
  7. package/lib/cli/createTrackingBranches.test.js +19 -0
  8. package/lib/cli/createTrackingBranches.test.js.map +1 -0
  9. package/lib/cli/display/runSpinnerTask.d.ts +1 -1
  10. package/lib/cli/getGitRepositoryType.d.ts +8 -0
  11. package/lib/cli/getGitRepositoryType.d.ts.map +1 -0
  12. package/lib/cli/getGitRepositoryType.js +18 -0
  13. package/lib/cli/getGitRepositoryType.js.map +1 -0
  14. package/lib/cli/getGitRepositoryType.test.d.ts +2 -0
  15. package/lib/cli/getGitRepositoryType.test.d.ts.map +1 -0
  16. package/lib/cli/getGitRepositoryType.test.js +33 -0
  17. package/lib/cli/getGitRepositoryType.test.js.map +1 -0
  18. package/lib/cli/isInGitRepository.test.js +1 -1
  19. package/lib/cli/isInGitRepository.test.js.map +1 -1
  20. package/lib/cli/isInGitRepositoryRoot.d.ts +3 -0
  21. package/lib/cli/isInGitRepositoryRoot.d.ts.map +1 -0
  22. package/lib/cli/isInGitRepositoryRoot.js +7 -0
  23. package/lib/cli/isInGitRepositoryRoot.js.map +1 -0
  24. package/lib/cli/isInGitRepositoryRoot.test.d.ts +2 -0
  25. package/lib/cli/isInGitRepositoryRoot.test.d.ts.map +1 -0
  26. package/lib/cli/isInGitRepositoryRoot.test.js +26 -0
  27. package/lib/cli/isInGitRepositoryRoot.test.js.map +1 -0
  28. package/lib/cli/parseProcessArgv.d.ts +1 -0
  29. package/lib/cli/parseProcessArgv.d.ts.map +1 -1
  30. package/lib/cli/parseProcessArgv.js +3 -0
  31. package/lib/cli/parseProcessArgv.js.map +1 -1
  32. package/lib/cli/prepareGitRepository.d.ts +4 -0
  33. package/lib/cli/prepareGitRepository.d.ts.map +1 -0
  34. package/lib/cli/prepareGitRepository.js +9 -0
  35. package/lib/cli/prepareGitRepository.js.map +1 -0
  36. package/lib/cli/remotes/createRemoteRepository.d.ts +6 -0
  37. package/lib/cli/remotes/createRemoteRepository.d.ts.map +1 -0
  38. package/lib/cli/remotes/createRemoteRepository.js +25 -0
  39. package/lib/cli/remotes/createRemoteRepository.js.map +1 -0
  40. package/lib/cli/remotes/createRemoteRepository.test.d.ts +2 -0
  41. package/lib/cli/remotes/createRemoteRepository.test.d.ts.map +1 -0
  42. package/lib/cli/remotes/createRemoteRepository.test.js +54 -0
  43. package/lib/cli/remotes/createRemoteRepository.test.js.map +1 -0
  44. package/lib/cli/remotes/createTrackingBranches.d.ts +4 -0
  45. package/lib/cli/remotes/createTrackingBranches.d.ts.map +1 -0
  46. package/lib/cli/remotes/createTrackingBranches.js +7 -0
  47. package/lib/cli/remotes/createTrackingBranches.js.map +1 -0
  48. package/lib/cli/remotes/createTrackingBranches.test.d.ts +2 -0
  49. package/lib/cli/remotes/createTrackingBranches.test.d.ts.map +1 -0
  50. package/lib/cli/remotes/createTrackingBranches.test.js +19 -0
  51. package/lib/cli/remotes/createTrackingBranches.test.js.map +1 -0
  52. package/lib/cli/remotes/resolveRemoteRepository.d.ts +19 -0
  53. package/lib/cli/remotes/resolveRemoteRepository.d.ts.map +1 -0
  54. package/lib/cli/remotes/resolveRemoteRepository.js +58 -0
  55. package/lib/cli/remotes/resolveRemoteRepository.js.map +1 -0
  56. package/lib/cli/remotes/resolveRemoteRepository.test.d.ts +2 -0
  57. package/lib/cli/remotes/resolveRemoteRepository.test.d.ts.map +1 -0
  58. package/lib/cli/remotes/resolveRemoteRepository.test.js +148 -0
  59. package/lib/cli/remotes/resolveRemoteRepository.test.js.map +1 -0
  60. package/lib/cli/remotes/resolveRemoteRepositoryFromOrigin.d.ts +4 -0
  61. package/lib/cli/remotes/resolveRemoteRepositoryFromOrigin.d.ts.map +1 -0
  62. package/lib/cli/remotes/resolveRemoteRepositoryFromOrigin.js +14 -0
  63. package/lib/cli/remotes/resolveRemoteRepositoryFromOrigin.js.map +1 -0
  64. package/lib/cli/remotes/resolveRemoteRepositoryFromOrigin.test.d.ts +2 -0
  65. package/lib/cli/remotes/resolveRemoteRepositoryFromOrigin.test.d.ts.map +1 -0
  66. package/lib/cli/remotes/resolveRemoteRepositoryFromOrigin.test.js +23 -0
  67. package/lib/cli/remotes/resolveRemoteRepositoryFromOrigin.test.js.map +1 -0
  68. package/lib/cli/remotes/resolveRemoteRepositoryToCreate.d.ts +5 -0
  69. package/lib/cli/remotes/resolveRemoteRepositoryToCreate.d.ts.map +1 -0
  70. package/lib/cli/remotes/resolveRemoteRepositoryToCreate.js +26 -0
  71. package/lib/cli/remotes/resolveRemoteRepositoryToCreate.js.map +1 -0
  72. package/lib/cli/remotes/resolveRemoteRepositoryToCreate.test.d.ts +2 -0
  73. package/lib/cli/remotes/resolveRemoteRepositoryToCreate.test.d.ts.map +1 -0
  74. package/lib/cli/remotes/resolveRemoteRepositoryToCreate.test.js +82 -0
  75. package/lib/cli/remotes/resolveRemoteRepositoryToCreate.test.js.map +1 -0
  76. package/lib/cli/remotes/resolveRepository.d.ts +19 -0
  77. package/lib/cli/remotes/resolveRepository.d.ts.map +1 -0
  78. package/lib/cli/remotes/resolveRepository.js +58 -0
  79. package/lib/cli/remotes/resolveRepository.js.map +1 -0
  80. package/lib/cli/remotes/resolveRepository.test.d.ts +2 -0
  81. package/lib/cli/remotes/resolveRepository.test.d.ts.map +1 -0
  82. package/lib/cli/remotes/resolveRepository.test.js +148 -0
  83. package/lib/cli/remotes/resolveRepository.test.js.map +1 -0
  84. package/lib/cli/remotes/types.d.ts +5 -0
  85. package/lib/cli/remotes/types.d.ts.map +1 -0
  86. package/lib/cli/remotes/types.js +2 -0
  87. package/lib/cli/remotes/types.js.map +1 -0
  88. package/lib/cli/repository/clearLocalGitTags.d.ts +3 -0
  89. package/lib/cli/repository/clearLocalGitTags.d.ts.map +1 -0
  90. package/lib/cli/repository/clearLocalGitTags.js +7 -0
  91. package/lib/cli/repository/clearLocalGitTags.js.map +1 -0
  92. package/lib/cli/repository/clearLocalGitTags.test.d.ts +2 -0
  93. package/lib/cli/repository/clearLocalGitTags.test.d.ts.map +1 -0
  94. package/lib/cli/repository/clearLocalGitTags.test.js +16 -0
  95. package/lib/cli/repository/clearLocalGitTags.test.js.map +1 -0
  96. package/lib/cli/repository/createInitialCommit.d.ts +7 -0
  97. package/lib/cli/repository/createInitialCommit.d.ts.map +1 -0
  98. package/lib/cli/repository/createInitialCommit.js +10 -0
  99. package/lib/cli/repository/createInitialCommit.js.map +1 -0
  100. package/lib/cli/repository/createInitialCommit.test.d.ts +2 -0
  101. package/lib/cli/repository/createInitialCommit.test.d.ts.map +1 -0
  102. package/lib/cli/repository/createInitialCommit.test.js +50 -0
  103. package/lib/cli/repository/createInitialCommit.test.js.map +1 -0
  104. package/lib/cli/repository/createTrackingBranches.d.ts +4 -0
  105. package/lib/cli/repository/createTrackingBranches.d.ts.map +1 -0
  106. package/lib/cli/repository/createTrackingBranches.js +7 -0
  107. package/lib/cli/repository/createTrackingBranches.js.map +1 -0
  108. package/lib/cli/repository/createTrackingBranches.test.d.ts +2 -0
  109. package/lib/cli/repository/createTrackingBranches.test.d.ts.map +1 -0
  110. package/lib/cli/repository/createTrackingBranches.test.js +19 -0
  111. package/lib/cli/repository/createTrackingBranches.test.js.map +1 -0
  112. package/lib/cli/repository/prepareGitRepository.d.ts +4 -0
  113. package/lib/cli/repository/prepareGitRepository.d.ts.map +1 -0
  114. package/lib/cli/repository/prepareGitRepository.js +9 -0
  115. package/lib/cli/repository/prepareGitRepository.js.map +1 -0
  116. package/lib/cli/repository/prepareGitRepository.test.d.ts +2 -0
  117. package/lib/cli/repository/prepareGitRepository.test.d.ts.map +1 -0
  118. package/lib/cli/repository/prepareGitRepository.test.js +32 -0
  119. package/lib/cli/repository/prepareGitRepository.test.js.map +1 -0
  120. package/lib/cli/repository/resolveLocalRepository.d.ts +21 -0
  121. package/lib/cli/repository/resolveLocalRepository.d.ts.map +1 -0
  122. package/lib/cli/repository/resolveLocalRepository.js +57 -0
  123. package/lib/cli/repository/resolveLocalRepository.js.map +1 -0
  124. package/lib/cli/repository/resolveLocalRepository.test.d.ts +2 -0
  125. package/lib/cli/repository/resolveLocalRepository.test.d.ts.map +1 -0
  126. package/lib/cli/repository/resolveLocalRepository.test.js +167 -0
  127. package/lib/cli/repository/resolveLocalRepository.test.js.map +1 -0
  128. package/lib/cli/repository/resolveRepository.d.ts +21 -0
  129. package/lib/cli/repository/resolveRepository.d.ts.map +1 -0
  130. package/lib/cli/repository/resolveRepository.js +57 -0
  131. package/lib/cli/repository/resolveRepository.js.map +1 -0
  132. package/lib/cli/repository/resolveRepository.test.d.ts +2 -0
  133. package/lib/cli/repository/resolveRepository.test.d.ts.map +1 -0
  134. package/lib/cli/repository/resolveRepository.test.js +148 -0
  135. package/lib/cli/repository/resolveRepository.test.js.map +1 -0
  136. package/lib/cli/runCLI.d.ts +3 -4
  137. package/lib/cli/runCLI.d.ts.map +1 -1
  138. package/lib/cli/runCLI.js +2 -0
  139. package/lib/cli/runCLI.js.map +1 -1
  140. package/lib/cli/runTemplateCLI.d.ts +1 -4
  141. package/lib/cli/runTemplateCLI.d.ts.map +1 -1
  142. package/lib/cli/runTemplateCLI.js +0 -2
  143. package/lib/cli/runTemplateCLI.js.map +1 -1
  144. package/lib/cli/setup/createRepositoryOnGitHub.d.ts +0 -1
  145. package/lib/cli/setup/createRepositoryOnGitHub.d.ts.map +1 -1
  146. package/lib/cli/setup/createRepositoryOnGitHub.js.map +1 -1
  147. package/lib/cli/setup/createTrackingBranches.d.ts +1 -1
  148. package/lib/cli/setup/createTrackingBranches.d.ts.map +1 -1
  149. package/lib/cli/setup/createTrackingBranches.js.map +1 -1
  150. package/lib/cli/setup/getRemoteRepository.d.ts +2 -0
  151. package/lib/cli/setup/getRemoteRepository.d.ts.map +1 -0
  152. package/lib/cli/setup/getRemoteRepository.js +2 -0
  153. package/lib/cli/setup/getRemoteRepository.js.map +1 -0
  154. package/lib/cli/setup/remotes/checkTemplateRemoteSupport.d.ts +4 -0
  155. package/lib/cli/setup/remotes/checkTemplateRemoteSupport.d.ts.map +1 -0
  156. package/lib/cli/setup/remotes/checkTemplateRemoteSupport.js +15 -0
  157. package/lib/cli/setup/remotes/checkTemplateRemoteSupport.js.map +1 -0
  158. package/lib/cli/setup/remotes/createRemoteRepository.d.ts +5 -0
  159. package/lib/cli/setup/remotes/createRemoteRepository.d.ts.map +1 -0
  160. package/lib/cli/setup/remotes/createRemoteRepository.js +16 -0
  161. package/lib/cli/setup/remotes/createRemoteRepository.js.map +1 -0
  162. package/lib/cli/setup/remotes/createRepositoryOnGitHub.d.ts +6 -0
  163. package/lib/cli/setup/remotes/createRepositoryOnGitHub.d.ts.map +1 -0
  164. package/lib/cli/setup/remotes/createRepositoryOnGitHub.js +36 -0
  165. package/lib/cli/setup/remotes/createRepositoryOnGitHub.js.map +1 -0
  166. package/lib/cli/setup/remotes/createRepositoryOnGitHub.test.d.ts +2 -0
  167. package/lib/cli/setup/remotes/createRepositoryOnGitHub.test.d.ts.map +1 -0
  168. package/lib/cli/setup/remotes/createRepositoryOnGitHub.test.js +157 -0
  169. package/lib/cli/setup/remotes/createRepositoryOnGitHub.test.js.map +1 -0
  170. package/lib/cli/setup/remotes/resolveExistingRemoteRepository.d.ts +4 -0
  171. package/lib/cli/setup/remotes/resolveExistingRemoteRepository.d.ts.map +1 -0
  172. package/lib/cli/setup/remotes/resolveExistingRemoteRepository.js +14 -0
  173. package/lib/cli/setup/remotes/resolveExistingRemoteRepository.js.map +1 -0
  174. package/lib/cli/setup/remotes/resolveExistingRemoteRepository.test.d.ts +2 -0
  175. package/lib/cli/setup/remotes/resolveExistingRemoteRepository.test.d.ts.map +1 -0
  176. package/lib/cli/setup/remotes/resolveExistingRemoteRepository.test.js +23 -0
  177. package/lib/cli/setup/remotes/resolveExistingRemoteRepository.test.js.map +1 -0
  178. package/lib/cli/setup/remotes/resolveRemoteRepository.d.ts +18 -0
  179. package/lib/cli/setup/remotes/resolveRemoteRepository.d.ts.map +1 -0
  180. package/lib/cli/setup/remotes/resolveRemoteRepository.js +47 -0
  181. package/lib/cli/setup/remotes/resolveRemoteRepository.js.map +1 -0
  182. package/lib/cli/setup/remotes/resolveRemoteRepository.test.d.ts +2 -0
  183. package/lib/cli/setup/remotes/resolveRemoteRepository.test.d.ts.map +1 -0
  184. package/lib/cli/setup/remotes/resolveRemoteRepository.test.js +103 -0
  185. package/lib/cli/setup/remotes/resolveRemoteRepository.test.js.map +1 -0
  186. package/lib/cli/setup/remotes/resolveRemoteRepositoryFromOrigin.d.ts +4 -0
  187. package/lib/cli/setup/remotes/resolveRemoteRepositoryFromOrigin.d.ts.map +1 -0
  188. package/lib/cli/setup/remotes/resolveRemoteRepositoryFromOrigin.js +14 -0
  189. package/lib/cli/setup/remotes/resolveRemoteRepositoryFromOrigin.js.map +1 -0
  190. package/lib/cli/setup/remotes/resolveRemoteRepositoryFromOrigin.test.d.ts +2 -0
  191. package/lib/cli/setup/remotes/resolveRemoteRepositoryFromOrigin.test.d.ts.map +1 -0
  192. package/lib/cli/setup/remotes/resolveRemoteRepositoryFromOrigin.test.js +23 -0
  193. package/lib/cli/setup/remotes/resolveRemoteRepositoryFromOrigin.test.js.map +1 -0
  194. package/lib/cli/setup/remotes/resolveRemoteRepositoryToCreate.d.ts +5 -0
  195. package/lib/cli/setup/remotes/resolveRemoteRepositoryToCreate.d.ts.map +1 -0
  196. package/lib/cli/setup/remotes/resolveRemoteRepositoryToCreate.js +26 -0
  197. package/lib/cli/setup/remotes/resolveRemoteRepositoryToCreate.js.map +1 -0
  198. package/lib/cli/setup/remotes/resolveRemoteRepositoryToCreate.test.d.ts +2 -0
  199. package/lib/cli/setup/remotes/resolveRemoteRepositoryToCreate.test.d.ts.map +1 -0
  200. package/lib/cli/setup/remotes/resolveRemoteRepositoryToCreate.test.js +82 -0
  201. package/lib/cli/setup/remotes/resolveRemoteRepositoryToCreate.test.js.map +1 -0
  202. package/lib/cli/setup/remotes/templateSupportsRemoteCreation.d.ts +3 -0
  203. package/lib/cli/setup/remotes/templateSupportsRemoteCreation.d.ts.map +1 -0
  204. package/lib/cli/setup/remotes/templateSupportsRemoteCreation.js +9 -0
  205. package/lib/cli/setup/remotes/templateSupportsRemoteCreation.js.map +1 -0
  206. package/lib/cli/setup/remotes/types.d.ts +5 -0
  207. package/lib/cli/setup/remotes/types.d.ts.map +1 -0
  208. package/lib/cli/setup/remotes/types.js +2 -0
  209. package/lib/cli/setup/remotes/types.js.map +1 -0
  210. package/lib/cli/setup/resolveExistingRemote.d.ts +2 -0
  211. package/lib/cli/setup/resolveExistingRemote.d.ts.map +1 -0
  212. package/lib/cli/setup/resolveExistingRemote.js +2 -0
  213. package/lib/cli/setup/resolveExistingRemote.js.map +1 -0
  214. package/lib/cli/setup/resolveRemoteRepository.d.ts +26 -0
  215. package/lib/cli/setup/resolveRemoteRepository.d.ts.map +1 -0
  216. package/lib/cli/setup/resolveRemoteRepository.js +49 -0
  217. package/lib/cli/setup/resolveRemoteRepository.js.map +1 -0
  218. package/lib/cli/setup/runModeSetup.d.ts +4 -4
  219. package/lib/cli/setup/runModeSetup.d.ts.map +1 -1
  220. package/lib/cli/setup/runModeSetup.js +24 -39
  221. package/lib/cli/setup/runModeSetup.js.map +1 -1
  222. package/lib/cli/setup/runModeSetup.test.js +128 -68
  223. package/lib/cli/setup/runModeSetup.test.js.map +1 -1
  224. package/lib/cli/transition/runModeTransition.d.ts +4 -4
  225. package/lib/cli/transition/runModeTransition.d.ts.map +1 -1
  226. package/lib/cli/transition/runModeTransition.js +26 -18
  227. package/lib/cli/transition/runModeTransition.js.map +1 -1
  228. package/lib/cli/transition/runModeTransition.test.js +105 -16
  229. package/lib/cli/transition/runModeTransition.test.js.map +1 -1
  230. package/lib/predicates/isTemplate.d.ts +1 -2
  231. package/lib/predicates/isTemplate.d.ts.map +1 -1
  232. package/lib/predicates/isTemplate.js.map +1 -1
  233. package/lib/types/templates.d.ts +2 -1
  234. package/lib/types/templates.d.ts.map +1 -1
  235. package/lib/utils/tryCatch.d.ts +2 -1
  236. package/lib/utils/tryCatch.d.ts.map +1 -1
  237. package/lib/utils/tryCatch.js +8 -0
  238. package/lib/utils/tryCatch.js.map +1 -1
  239. package/package.json +4 -4
@@ -2,15 +2,21 @@ import chalk from "chalk";
2
2
  import { describe, expect, it, vi } from "vitest";
3
3
  import { z } from "zod";
4
4
  import { createTemplate } from "../../creators/createTemplate.js";
5
+ import { GitRepositoryType } from "../getGitRepositoryType.js";
6
+ import { CLIMessage } from "../messages.js";
5
7
  import { CLIStatus } from "../status.js";
6
8
  import { runModeSetup } from "./runModeSetup.js";
7
9
  const mockCancel = Symbol("cancel");
10
+ const mockLog = {
11
+ error: vi.fn(),
12
+ info: vi.fn(),
13
+ message: vi.fn(),
14
+ warn: vi.fn(),
15
+ };
8
16
  vi.mock("@clack/prompts", () => ({
9
17
  isCancel: (value) => value === mockCancel,
10
- log: {
11
- error: vi.fn(),
12
- message: vi.fn(),
13
- warn: vi.fn(),
18
+ get log() {
19
+ return mockLog;
14
20
  },
15
21
  }));
16
22
  const mockSystem = {
@@ -24,6 +30,7 @@ vi.mock("../../contexts/createSystemContextWithAuth.js", () => ({
24
30
  return vi.fn().mockResolvedValue(mockSystem);
25
31
  },
26
32
  }));
33
+ vi.mock("../loggers/logRerunSuggestion.js");
27
34
  const mockLogStartText = vi.fn();
28
35
  vi.mock("../loggers/logStartText", () => ({
29
36
  get logStartText() {
@@ -36,28 +43,16 @@ vi.mock("../../preparation/prepareOptions.js", () => ({
36
43
  return mockPrepareOptions;
37
44
  },
38
45
  }));
39
- const mockClearLocalGitTags = vi.fn();
40
- vi.mock("../clearLocalGitTags.js", () => ({
41
- get clearLocalGitTags() {
42
- return mockClearLocalGitTags;
43
- },
44
- }));
45
- const mockCreateInitialCommit = vi.fn();
46
- vi.mock("../createInitialCommit.js", () => ({
47
- get createInitialCommit() {
48
- return mockCreateInitialCommit;
46
+ const mockPrepareGitRepository = vi.fn();
47
+ vi.mock("../repository/prepareGitRepository.js", () => ({
48
+ get prepareGitRepository() {
49
+ return mockPrepareGitRepository;
49
50
  },
50
51
  }));
51
- const mockCreateTrackingBranches = vi.fn();
52
- vi.mock("./createTrackingBranches.js", () => ({
53
- get createTrackingBranches() {
54
- return mockCreateTrackingBranches;
55
- },
56
- }));
57
- const mockIsInGitRepository = vi.fn();
58
- vi.mock("../isInGitRepository.js", () => ({
59
- get isInGitRepository() {
60
- return mockIsInGitRepository;
52
+ const mockResolveLocalRepository = vi.fn();
53
+ vi.mock("../repository/resolveLocalRepository.js", () => ({
54
+ get resolveLocalRepository() {
55
+ return mockResolveLocalRepository;
61
56
  },
62
57
  }));
63
58
  const mockPromptForDirectory = vi.fn();
@@ -78,12 +73,6 @@ vi.mock("../../runners/runTemplate.js", () => ({
78
73
  return mockRunTemplate;
79
74
  },
80
75
  }));
81
- const mockCreateRepositoryOnGitHub = vi.fn();
82
- vi.mock("./createRepositoryOnGitHub", () => ({
83
- get createRepositoryOnGitHub() {
84
- return mockCreateRepositoryOnGitHub;
85
- },
86
- }));
87
76
  const argv = ["npx", "bingo-my-app"];
88
77
  const from = "create-example";
89
78
  const display = {
@@ -145,74 +134,148 @@ describe("runModeSetup", () => {
145
134
  status: CLIStatus.Cancelled,
146
135
  });
147
136
  });
148
- it("does not create a repository on GitHub when offline is requested", async () => {
137
+ it("returns the error when resolving a remote repository results in an error", async () => {
138
+ const remote = new Error("Remote error.");
149
139
  mockPromptForDirectory.mockResolvedValueOnce("test-directory");
150
140
  mockPromptForOptionSchemas.mockResolvedValueOnce({
141
+ cancelled: false,
151
142
  prompted: {},
152
143
  });
153
- mockRunTemplate.mockResolvedValueOnce({});
154
- mockIsInGitRepository.mockResolvedValueOnce(false);
144
+ mockResolveLocalRepository.mockResolvedValueOnce({ remote });
155
145
  const actual = await runModeSetup({
156
146
  argv,
157
147
  display,
158
148
  from,
159
- offline: true,
160
149
  template,
161
150
  });
162
- expect(mockCreateRepositoryOnGitHub).not.toHaveBeenCalled();
163
151
  expect(actual).toEqual({
164
- outro: `Thanks for using ${chalk.bgGreenBright.black(from)}! 💝`,
165
- status: CLIStatus.Success,
166
- suggestions: undefined,
152
+ error: remote,
153
+ status: CLIStatus.Error,
167
154
  });
168
155
  });
169
- it("does not create a repository on GitHub when skips.requests is true", async () => {
156
+ it("returns the error when creating a remote repository results in an error", async () => {
157
+ const remoteText = "To create remote.";
170
158
  mockPromptForDirectory.mockResolvedValueOnce("test-directory");
171
159
  mockPromptForOptionSchemas.mockResolvedValueOnce({
160
+ cancelled: false,
172
161
  prompted: {},
173
162
  });
174
- mockRunTemplate.mockResolvedValueOnce({});
175
- mockIsInGitRepository.mockResolvedValueOnce(false);
163
+ mockResolveLocalRepository.mockResolvedValueOnce({
164
+ message: {
165
+ level: "message",
166
+ text: remoteText,
167
+ },
168
+ remote: { owner: "user", repository: "repo" },
169
+ });
170
+ mockRunTemplate.mockResolvedValueOnce(new Error("Creation error."));
176
171
  const actual = await runModeSetup({
177
172
  argv,
178
173
  display,
179
174
  from,
180
- skips: { requests: true },
181
175
  template,
182
176
  });
183
- expect(mockCreateRepositoryOnGitHub).not.toHaveBeenCalled();
177
+ expect(mockLog.message).toHaveBeenCalledWith(remoteText);
184
178
  expect(actual).toEqual({
185
- outro: `Thanks for using ${chalk.bgGreenBright.black(from)}! 💝`,
186
- status: CLIStatus.Success,
187
- suggestions: undefined,
179
+ outro: CLIMessage.Leaving,
180
+ status: CLIStatus.Error,
188
181
  });
189
182
  });
190
- it("returns an error status when online and creating a repository errors", async () => {
183
+ it("skips requests in runTemplate when skips.requests is true and there is a remote", async () => {
191
184
  mockPromptForDirectory.mockResolvedValueOnce("test-directory");
192
185
  mockPromptForOptionSchemas.mockResolvedValueOnce({
186
+ cancelled: false,
193
187
  prompted: {},
194
188
  });
195
- const error = new Error("Oh no!");
196
- mockCreateRepositoryOnGitHub.mockResolvedValueOnce({ remote: error });
197
- const actual = await runModeSetup({
189
+ mockResolveLocalRepository.mockResolvedValueOnce({
190
+ remote: { owner: "user", repository: "repo" },
191
+ });
192
+ mockRunTemplate.mockResolvedValueOnce({ creation: {} });
193
+ await runModeSetup({
198
194
  argv,
199
195
  display,
200
196
  from,
197
+ skips: { requests: true },
201
198
  template,
202
199
  });
203
- expect(actual).toEqual({
204
- error,
205
- status: CLIStatus.Error,
200
+ expect(mockRunTemplate).toHaveBeenCalledWith(template, expect.objectContaining({
201
+ skips: {
202
+ requests: true,
203
+ },
204
+ }));
205
+ });
206
+ it("skips requests in runTemplate when skips.requests is false and there is no remote", async () => {
207
+ mockPromptForDirectory.mockResolvedValueOnce("test-directory");
208
+ mockPromptForOptionSchemas.mockResolvedValueOnce({
209
+ cancelled: false,
210
+ prompted: {},
211
+ });
212
+ mockResolveLocalRepository.mockResolvedValueOnce({});
213
+ mockRunTemplate.mockResolvedValueOnce({ creation: {} });
214
+ await runModeSetup({
215
+ argv,
216
+ display,
217
+ from,
218
+ template,
219
+ });
220
+ expect(mockRunTemplate).toHaveBeenCalledWith(template, expect.objectContaining({
221
+ skips: {
222
+ requests: true,
223
+ },
224
+ }));
225
+ });
226
+ it("calls prepareGitRepository when the repository type is None", async () => {
227
+ const remote = { owner: "user", repository: "repo" };
228
+ mockPromptForDirectory.mockResolvedValueOnce("test-directory");
229
+ mockPromptForOptionSchemas.mockResolvedValueOnce({
230
+ cancelled: false,
231
+ prompted: {},
232
+ });
233
+ mockResolveLocalRepository.mockResolvedValueOnce({
234
+ remote,
235
+ repositoryType: GitRepositoryType.None,
236
+ });
237
+ mockRunTemplate.mockResolvedValueOnce({ creation: {} });
238
+ await runModeSetup({
239
+ argv,
240
+ display,
241
+ from,
242
+ template,
243
+ });
244
+ expect(mockPrepareGitRepository).toHaveBeenCalledWith(remote, mockSystem.runner);
245
+ });
246
+ it("skips calling prepareGitRepository when the repository type is Subdirectory", async () => {
247
+ const remote = { owner: "user", repository: "repo" };
248
+ mockPromptForDirectory.mockResolvedValueOnce("test-directory");
249
+ mockPromptForOptionSchemas.mockResolvedValueOnce({
250
+ cancelled: false,
251
+ prompted: {},
252
+ });
253
+ mockResolveLocalRepository.mockResolvedValueOnce({
254
+ remote,
255
+ repositoryType: GitRepositoryType.Subdirectory,
256
+ });
257
+ mockRunTemplate.mockResolvedValueOnce({ creation: {} });
258
+ await runModeSetup({
259
+ argv,
260
+ display,
261
+ from,
262
+ template,
206
263
  });
264
+ expect(mockPrepareGitRepository).not.toHaveBeenCalled();
207
265
  });
208
- it("returns a success status when options and repository preparation succeed", async () => {
266
+ it("reports the error when prepareGitRepository rejects", async () => {
267
+ const preparationError = new Error("Preparation error.");
209
268
  mockPromptForDirectory.mockResolvedValueOnce("test-directory");
210
269
  mockPromptForOptionSchemas.mockResolvedValueOnce({
270
+ cancelled: false,
211
271
  prompted: {},
212
272
  });
213
- mockCreateRepositoryOnGitHub.mockResolvedValueOnce({});
214
- mockRunTemplate.mockResolvedValueOnce({});
215
- mockIsInGitRepository.mockResolvedValueOnce(false);
273
+ mockResolveLocalRepository.mockResolvedValueOnce({
274
+ remote: { owner: "user", repository: "repo" },
275
+ repositoryType: GitRepositoryType.None,
276
+ });
277
+ mockRunTemplate.mockResolvedValueOnce({ creation: {} });
278
+ mockPrepareGitRepository.mockRejectedValueOnce(preparationError);
216
279
  const actual = await runModeSetup({
217
280
  argv,
218
281
  display,
@@ -220,32 +283,29 @@ describe("runModeSetup", () => {
220
283
  template,
221
284
  });
222
285
  expect(actual).toEqual({
223
- outro: `Thanks for using ${chalk.bgGreenBright.black(from)}! 💝`,
224
- status: CLIStatus.Success,
225
- suggestions: undefined,
286
+ outro: CLIMessage.Leaving,
287
+ status: CLIStatus.Error,
226
288
  });
227
289
  });
228
- it("skips git initialization when already in a git repository", async () => {
290
+ it("logs a success outro and suggestions when everything succeeds", async () => {
291
+ const suggestions = ["Suggestion."];
229
292
  mockPromptForDirectory.mockResolvedValueOnce("test-directory");
230
293
  mockPromptForOptionSchemas.mockResolvedValueOnce({
294
+ cancelled: false,
231
295
  prompted: {},
232
296
  });
233
- mockCreateRepositoryOnGitHub.mockResolvedValueOnce({});
234
- mockRunTemplate.mockResolvedValueOnce({});
235
- mockIsInGitRepository.mockResolvedValueOnce(true);
297
+ mockResolveLocalRepository.mockResolvedValueOnce({});
298
+ mockRunTemplate.mockResolvedValueOnce({ creation: {}, suggestions });
236
299
  const actual = await runModeSetup({
237
300
  argv,
238
301
  display,
239
302
  from,
240
303
  template,
241
304
  });
242
- expect(mockCreateTrackingBranches).not.toHaveBeenCalled();
243
- expect(mockCreateInitialCommit).not.toHaveBeenCalled();
244
- expect(mockClearLocalGitTags).not.toHaveBeenCalled();
245
305
  expect(actual).toEqual({
246
306
  outro: `Thanks for using ${chalk.bgGreenBright.black(from)}! 💝`,
247
307
  status: CLIStatus.Success,
248
- suggestions: undefined,
308
+ suggestions,
249
309
  });
250
310
  });
251
311
  });
@@ -1 +1 @@
1
- {"version":3,"file":"runModeSetup.test.js","sourceRoot":"","sources":["../../../src/cli/setup/runModeSetup.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runModeSetup.test.js","sourceRoot":"","sources":["../../../src/cli/setup/runModeSetup.test.ts"],"names":[],"mappings":"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"}
@@ -1,17 +1,17 @@
1
- import { AnyShape } from "../../types/shapes.js";
2
1
  import { RequestedSkips } from "../../types/skips.js";
3
2
  import { Template } from "../../types/templates.js";
4
3
  import { ClackDisplay } from "../display/createClackDisplay.js";
5
4
  import { ModeResults } from "../types.js";
6
- export interface RunModeTransitionSettings<OptionsShape extends AnyShape, Refinements> {
5
+ export interface RunModeTransitionSettings {
7
6
  argv: string[];
8
7
  configFile: string | undefined;
9
8
  directory?: string;
10
9
  display: ClackDisplay;
11
10
  from: string;
12
11
  offline?: boolean;
12
+ remote?: boolean;
13
13
  skips?: RequestedSkips;
14
- template: Template<OptionsShape, Refinements>;
14
+ template: Template;
15
15
  }
16
- export declare function runModeTransition<OptionsShape extends AnyShape, Refinements>({ argv, configFile, directory, display, from, offline, skips, template, }: RunModeTransitionSettings<OptionsShape, Refinements>): Promise<ModeResults>;
16
+ export declare function runModeTransition({ argv, configFile, directory, display, from, offline, remote: requestedRemote, skips, template, }: RunModeTransitionSettings): Promise<ModeResults>;
17
17
  //# sourceMappingURL=runModeTransition.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"runModeTransition.d.ts","sourceRoot":"","sources":["../../../src/cli/transition/runModeTransition.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAGpD,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAQhE,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAK1C,MAAM,WAAW,yBAAyB,CACzC,YAAY,SAAS,QAAQ,EAC7B,WAAW;IAEX,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,YAAY,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,QAAQ,EAAE,QAAQ,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;CAC9C;AAED,wBAAsB,iBAAiB,CACtC,YAAY,SAAS,QAAQ,EAC7B,WAAW,EACV,EACD,IAAI,EACJ,UAAU,EACV,SAAe,EACf,OAAO,EACP,IAAI,EACJ,OAAe,EACf,KAAU,EACV,QAAQ,GACR,EAAE,yBAAyB,CAAC,YAAY,EAAE,WAAW,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,CAgI7E"}
1
+ {"version":3,"file":"runModeTransition.d.ts","sourceRoot":"","sources":["../../../src/cli/transition/runModeTransition.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAWhE,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAK1C,MAAM,WAAW,yBAAyB;IACzC,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,YAAY,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,QAAQ,EAAE,QAAQ,CAAC;CACnB;AAED,wBAAsB,iBAAiB,CAAC,EACvC,IAAI,EACJ,UAAU,EACV,SAAe,EACf,OAAO,EACP,IAAI,EACJ,OAAe,EACf,MAAM,EAAE,eAAe,EACvB,KAAU,EACV,QAAQ,GACR,EAAE,yBAAyB,GAAG,OAAO,CAAC,WAAW,CAAC,CA+IlD"}
@@ -1,20 +1,22 @@
1
+ import * as prompts from "@clack/prompts";
1
2
  import { intakeDirectory } from "bingo-fs";
2
3
  import { createSystemContextWithAuth } from "../../contexts/createSystemContextWithAuth.js";
3
4
  import { prepareOptions } from "../../preparation/prepareOptions.js";
4
5
  import { runTemplate } from "../../runners/runTemplate.js";
5
- import { clearLocalGitTags } from "../clearLocalGitTags.js";
6
- import { createInitialCommit } from "../createInitialCommit.js";
7
6
  import { runSpinnerTask } from "../display/runSpinnerTask.js";
8
7
  import { logRerunSuggestion } from "../loggers/logRerunSuggestion.js";
9
8
  import { logStartText } from "../loggers/logStartText.js";
10
9
  import { CLIMessage } from "../messages.js";
11
10
  import { parseZodArgs } from "../parsers/parseZodArgs.js";
12
11
  import { promptForOptionSchemas } from "../prompts/promptForOptionSchemas.js";
12
+ import { clearLocalGitTags } from "../repository/clearLocalGitTags.js";
13
+ import { createInitialCommit } from "../repository/createInitialCommit.js";
14
+ import { resolveLocalRepository } from "../repository/resolveLocalRepository.js";
13
15
  import { CLIStatus } from "../status.js";
14
16
  import { clearTemplateFiles } from "./clearTemplateFiles.js";
15
17
  import { getForkedRepositoryLocator } from "./getForkedRepositoryLocator.js";
16
18
  import { readConfigSettings } from "./readConfigSettings.js";
17
- export async function runModeTransition({ argv, configFile, directory = ".", display, from, offline = false, skips = {}, template, }) {
19
+ export async function runModeTransition({ argv, configFile, directory = ".", display, from, offline = false, remote: requestedRemote, skips = {}, template, }) {
18
20
  logStartText("transition", offline);
19
21
  const system = await createSystemContextWithAuth({
20
22
  directory,
@@ -59,6 +61,14 @@ export async function runModeTransition({ argv, configFile, directory = ".", dis
59
61
  logRerunSuggestion(argv, baseOptions.prompted);
60
62
  return { status: CLIStatus.Cancelled };
61
63
  }
64
+ const { message, remote } = await resolveLocalRepository(display, { repository: directory, ...baseOptions.completed }, { offline, remote: requestedRemote }, system, template);
65
+ if (remote instanceof Error) {
66
+ logRerunSuggestion(argv, baseOptions.prompted);
67
+ return { error: remote, status: CLIStatus.Error };
68
+ }
69
+ if (message) {
70
+ prompts.log[message.level](message.text);
71
+ }
62
72
  const files = await intakeDirectory(directory, {
63
73
  exclude: /node_modules|^\.git$/,
64
74
  });
@@ -70,7 +80,10 @@ export async function runModeTransition({ argv, configFile, directory = ".", dis
70
80
  offline,
71
81
  options: baseOptions.completed,
72
82
  refinements: loadedConfig?.refinements,
73
- skips,
83
+ skips: {
84
+ ...skips,
85
+ requests: skips.requests ?? !remote,
86
+ },
74
87
  }));
75
88
  if (creation instanceof Error) {
76
89
  logRerunSuggestion(argv, baseOptions.prompted);
@@ -79,19 +92,14 @@ export async function runModeTransition({ argv, configFile, directory = ".", dis
79
92
  status: CLIStatus.Error,
80
93
  };
81
94
  }
82
- if (!repositoryLocator) {
83
- logRerunSuggestion(argv, baseOptions.prompted);
84
- return {
85
- outro: CLIMessage.Done,
86
- status: CLIStatus.Success,
87
- };
88
- }
89
- const commit = await runSpinnerTask(display, "Creating initial commit", "Created initial commit", async () => {
90
- await createInitialCommit(system.runner, {
91
- amend: true,
92
- push: !offline,
93
- });
94
- });
95
+ const commit = repositoryLocator || requestedRemote
96
+ ? await runSpinnerTask(display, "Creating initial commit", "Created initial commit", async () => {
97
+ await createInitialCommit(system.runner, {
98
+ amend: true,
99
+ push: !offline,
100
+ });
101
+ })
102
+ : undefined;
95
103
  logRerunSuggestion(argv, baseOptions.prompted);
96
104
  return commit instanceof Error
97
105
  ? {
@@ -99,7 +107,7 @@ export async function runModeTransition({ argv, configFile, directory = ".", dis
99
107
  status: CLIStatus.Error,
100
108
  }
101
109
  : {
102
- outro: CLIMessage.New,
110
+ outro: repositoryLocator ? CLIMessage.New : CLIMessage.Done,
103
111
  status: CLIStatus.Success,
104
112
  };
105
113
  }
@@ -1 +1 @@
1
- {"version":3,"file":"runModeTransition.js","sourceRoot":"","sources":["../../../src/cli/transition/runModeTransition.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runModeTransition.js","sourceRoot":"","sources":["../../../src/cli/transition/runModeTransition.ts"],"names":[],"mappings":"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"}