bingo 0.5.16 → 0.6.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 (105) hide show
  1. package/README.md +4 -5
  2. package/lib/cli/display/createClackDisplay.js +1 -1
  3. package/lib/cli/display/createClackDisplay.js.map +1 -1
  4. package/lib/cli/loggers/logHelpOptions.js +1 -1
  5. package/lib/cli/loggers/logHelpOptions.js.map +1 -1
  6. package/lib/cli/loggers/logHelpText.test.d.ts +2 -0
  7. package/lib/cli/loggers/logHelpText.test.d.ts.map +1 -0
  8. package/lib/cli/loggers/logHelpText.test.js +103 -0
  9. package/lib/cli/loggers/logHelpText.test.js.map +1 -0
  10. package/lib/cli/loggers/logSchemasHelpOptions.js +1 -1
  11. package/lib/cli/loggers/logSchemasHelpOptions.js.map +1 -1
  12. package/lib/cli/parseProcessArgv.d.ts +8 -0
  13. package/lib/cli/parseProcessArgv.d.ts.map +1 -1
  14. package/lib/cli/parseProcessArgv.js +12 -0
  15. package/lib/cli/parseProcessArgv.js.map +1 -1
  16. package/lib/cli/parsers/parseZodArgs.js +1 -1
  17. package/lib/cli/parsers/parseZodArgs.js.map +1 -1
  18. package/lib/cli/prompts/promptForOptionSchema.js +1 -1
  19. package/lib/cli/prompts/promptForOptionSchema.js.map +1 -1
  20. package/lib/cli/prompts/validators.d.ts +1 -1
  21. package/lib/cli/runCLI.d.ts +1 -1
  22. package/lib/cli/runCLI.d.ts.map +1 -1
  23. package/lib/cli/runCLI.js +14 -0
  24. package/lib/cli/runCLI.js.map +1 -1
  25. package/lib/cli/runCli.test.js +99 -0
  26. package/lib/cli/runCli.test.js.map +1 -1
  27. package/lib/cli/setup/getRepositoryLocator.d.ts +9 -0
  28. package/lib/cli/setup/getRepositoryLocator.d.ts.map +1 -0
  29. package/lib/cli/setup/getRepositoryLocator.js +16 -0
  30. package/lib/cli/setup/getRepositoryLocator.js.map +1 -0
  31. package/lib/cli/setup/getRepositoryLocator.test.d.ts +2 -0
  32. package/lib/cli/setup/getRepositoryLocator.test.d.ts.map +1 -0
  33. package/lib/cli/setup/getRepositoryLocator.test.js +42 -0
  34. package/lib/cli/setup/getRepositoryLocator.test.js.map +1 -0
  35. package/lib/cli/setup/runModeSetup.d.ts +3 -2
  36. package/lib/cli/setup/runModeSetup.d.ts.map +1 -1
  37. package/lib/cli/setup/runModeSetup.js +3 -9
  38. package/lib/cli/setup/runModeSetup.js.map +1 -1
  39. package/lib/cli/setup/runModeSetup.test.d.ts +2 -0
  40. package/lib/cli/setup/runModeSetup.test.d.ts.map +1 -0
  41. package/lib/cli/setup/runModeSetup.test.js +180 -0
  42. package/lib/cli/setup/runModeSetup.test.js.map +1 -0
  43. package/lib/cli/setup/skips.d.ts +6 -0
  44. package/lib/cli/setup/skips.d.ts.map +1 -0
  45. package/lib/cli/setup/skips.js +2 -0
  46. package/lib/cli/setup/skips.js.map +1 -0
  47. package/lib/cli/transition/parseTransitionSource.d.ts +13 -0
  48. package/lib/cli/transition/parseTransitionSource.d.ts.map +1 -0
  49. package/lib/cli/transition/parseTransitionSource.js +26 -0
  50. package/lib/cli/transition/parseTransitionSource.js.map +1 -0
  51. package/lib/cli/transition/parseTransitionSource.test.d.ts +2 -0
  52. package/lib/cli/transition/parseTransitionSource.test.d.ts.map +1 -0
  53. package/lib/cli/transition/parseTransitionSource.test.js +74 -0
  54. package/lib/cli/transition/parseTransitionSource.test.js.map +1 -0
  55. package/lib/cli/transition/runModeTransition.d.ts +3 -2
  56. package/lib/cli/transition/runModeTransition.d.ts.map +1 -1
  57. package/lib/cli/transition/runModeTransition.js +15 -17
  58. package/lib/cli/transition/runModeTransition.js.map +1 -1
  59. package/lib/cli/transition/runModeTransition.test.js +5 -20
  60. package/lib/cli/transition/runModeTransition.test.js.map +1 -1
  61. package/lib/config/tryImportConfigTemplate.d.ts +2 -0
  62. package/lib/config/tryImportConfigTemplate.d.ts.map +1 -0
  63. package/lib/config/tryImportConfigTemplate.js +6 -0
  64. package/lib/config/tryImportConfigTemplate.js.map +1 -0
  65. package/lib/predicates/isCreatedConfig.d.ts +4 -0
  66. package/lib/predicates/isCreatedConfig.d.ts.map +1 -0
  67. package/lib/predicates/isCreatedConfig.js +8 -0
  68. package/lib/predicates/isCreatedConfig.js.map +1 -0
  69. package/lib/predicates/isCreatedConfig.test.d.ts +2 -0
  70. package/lib/predicates/isCreatedConfig.test.d.ts.map +1 -0
  71. package/lib/predicates/isCreatedConfig.test.js +32 -0
  72. package/lib/predicates/isCreatedConfig.test.js.map +1 -0
  73. package/lib/runners/getRequestSender.js +1 -1
  74. package/lib/runners/getRequestSender.js.map +1 -1
  75. package/lib/runners/runCreation.d.ts +3 -1
  76. package/lib/runners/runCreation.d.ts.map +1 -1
  77. package/lib/runners/runCreation.js +6 -3
  78. package/lib/runners/runCreation.js.map +1 -1
  79. package/lib/runners/runCreation.test.d.ts +2 -0
  80. package/lib/runners/runCreation.test.d.ts.map +1 -0
  81. package/lib/runners/runCreation.test.js +128 -0
  82. package/lib/runners/runCreation.test.js.map +1 -0
  83. package/lib/runners/runTemplate.d.ts +5 -0
  84. package/lib/runners/runTemplate.d.ts.map +1 -1
  85. package/lib/runners/runTemplate.js +5 -3
  86. package/lib/runners/runTemplate.js.map +1 -1
  87. package/lib/types/shapes.d.ts.map +1 -1
  88. package/lib/types/shapes.js +0 -2
  89. package/lib/types/shapes.js.map +1 -1
  90. package/lib/types/skips.d.ts +22 -0
  91. package/lib/types/skips.d.ts.map +1 -0
  92. package/lib/types/skips.js +2 -0
  93. package/lib/types/skips.js.map +1 -0
  94. package/lib/utils/awaitLazyProperties.d.ts +6 -0
  95. package/lib/utils/awaitLazyProperties.d.ts.map +1 -0
  96. package/lib/utils/awaitLazyProperties.js +24 -0
  97. package/lib/utils/awaitLazyProperties.js.map +1 -0
  98. package/lib/utils/awaitLazyProperties.test.d.ts +2 -0
  99. package/lib/utils/awaitLazyProperties.test.d.ts.map +1 -0
  100. package/lib/utils/awaitLazyProperties.test.js +33 -0
  101. package/lib/utils/awaitLazyProperties.test.js.map +1 -0
  102. package/lib/utils/getSchemaTypeName.js +2 -2
  103. package/lib/utils/getSchemaTypeName.js.map +1 -1
  104. package/package.json +55 -55
  105. package/LICENSE.md +0 -20
@@ -1 +1 @@
1
- {"version":3,"file":"runModeSetup.d.ts","sourceRoot":"","sources":["../../../src/cli/setup/runModeSetup.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAGpD,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAUhE,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAK1C,MAAM,WAAW,oBAAoB,CACpC,YAAY,SAAS,QAAQ,EAC7B,WAAW;IAEX,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,YAAY,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,QAAQ,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;CAC9C;AAED,wBAAsB,YAAY,CAAC,YAAY,SAAS,QAAQ,EAAE,WAAW,EAAE,EAC9E,IAAI,EACJ,OAAO,EACP,IAAI,EACJ,IAAI,EACJ,OAAO,EAAE,gBAAgB,EACzB,UAAU,EAAE,mBAAmB,EAC/B,QAAQ,EAIR,SAAS,EAAE,kBAAwC,GACnD,EAAE,oBAAoB,CAAC,YAAY,EAAE,WAAW,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,CAgJxE"}
1
+ {"version":3,"file":"runModeSetup.d.ts","sourceRoot":"","sources":["../../../src/cli/setup/runModeSetup.ts"],"names":[],"mappings":"AAOA,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;AAShE,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAK1C,MAAM,WAAW,oBAAoB,CACpC,YAAY,SAAS,QAAQ,EAC7B,WAAW;IAEX,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,YAAY,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,QAAQ,EAAE,QAAQ,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;CAC9C;AAED,wBAAsB,YAAY,CAAC,YAAY,SAAS,QAAQ,EAAE,WAAW,EAAE,EAC9E,IAAI,EACJ,UAAU,EAAE,mBAAmB,EAC/B,SAAS,EAAE,kBAAwC,EACnD,OAAO,EACP,IAAI,EACJ,OAAO,EAAE,gBAAwB,EACjC,KAAU,EACV,QAAQ,GACR,EAAE,oBAAoB,CAAC,YAAY,EAAE,WAAW,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,CA6IxE"}
@@ -7,7 +7,6 @@ import { runTemplate } from "../../runners/runTemplate.js";
7
7
  import { clearLocalGitTags } from "../clearLocalGitTags.js";
8
8
  import { createInitialCommit } from "../createInitialCommit.js";
9
9
  import { runSpinnerTask } from "../display/runSpinnerTask.js";
10
- import { logHelpText } from "../loggers/logHelpText.js";
11
10
  import { logRerunSuggestion } from "../loggers/logRerunSuggestion.js";
12
11
  import { logStartText } from "../loggers/logStartText.js";
13
12
  import { CLIMessage } from "../messages.js";
@@ -18,13 +17,7 @@ import { CLIStatus } from "../status.js";
18
17
  import { makeRelative } from "../utils.js";
19
18
  import { createRepositoryOnGitHub } from "./createRepositoryOnGitHub.js";
20
19
  import { createTrackingBranches } from "./createTrackingBranches.js";
21
- export async function runModeSetup({ argv, display, from, help, offline: requestedOffline, repository: requestedRepository, template,
22
- // TODO: See if this gets fixed in eslint-plugin-perfectionist?
23
- // https://github.com/azat-io/eslint-plugin-perfectionist/issues/491
24
- directory: requestedDirectory = requestedRepository, }) {
25
- if (help) {
26
- return logHelpText("setup", from, template);
27
- }
20
+ export async function runModeSetup({ argv, repository: requestedRepository, directory: requestedDirectory = requestedRepository, display, from, offline: requestedOffline = false, skips = {}, template, }) {
28
21
  logStartText("setup", requestedOffline);
29
22
  const directory = await promptForDirectory({
30
23
  requestedDirectory,
@@ -37,7 +30,7 @@ directory: requestedDirectory = requestedRepository, }) {
37
30
  const system = await createSystemContextWithAuth({
38
31
  directory,
39
32
  display,
40
- offline: requestedOffline,
33
+ offline: requestedOffline || skips.github,
41
34
  });
42
35
  const providedOptions = parseZodArgs(argv, {
43
36
  directory: z.string().optional(),
@@ -87,6 +80,7 @@ directory: requestedDirectory = requestedRepository, }) {
87
80
  mode: "setup",
88
81
  offline,
89
82
  options: baseOptions.completed,
83
+ skips,
90
84
  }));
91
85
  if (creation instanceof Error) {
92
86
  logRerunSuggestion(argv, baseOptions.prompted);
@@ -1 +1 @@
1
- {"version":3,"file":"runModeSetup.js","sourceRoot":"","sources":["../../../src/cli/setup/runModeSetup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runModeSetup.js","sourceRoot":"","sources":["../../../src/cli/setup/runModeSetup.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=runModeSetup.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runModeSetup.test.d.ts","sourceRoot":"","sources":["../../../src/cli/setup/runModeSetup.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,180 @@
1
+ import chalk from "chalk";
2
+ import { describe, expect, it, vi } from "vitest";
3
+ import { z } from "zod";
4
+ import { createTemplate } from "../../creators/createTemplate.js";
5
+ import { CLIStatus } from "../status.js";
6
+ import { runModeSetup } from "./runModeSetup.js";
7
+ const mockCancel = Symbol("cancel");
8
+ vi.mock("@clack/prompts", () => ({
9
+ isCancel: (value) => value === mockCancel,
10
+ log: {
11
+ error: vi.fn(),
12
+ message: vi.fn(),
13
+ warn: vi.fn(),
14
+ },
15
+ }));
16
+ const mockSystem = {
17
+ fetchers: {
18
+ octokit: {},
19
+ },
20
+ runner: vi.fn(),
21
+ };
22
+ vi.mock("../../contexts/createSystemContextWithAuth.js", () => ({
23
+ get createSystemContextWithAuth() {
24
+ return vi.fn().mockResolvedValue(mockSystem);
25
+ },
26
+ }));
27
+ const mockLogStartText = vi.fn();
28
+ vi.mock("../loggers/logStartText", () => ({
29
+ get logStartText() {
30
+ return mockLogStartText;
31
+ },
32
+ }));
33
+ const mockPrepareOptions = vi.fn();
34
+ vi.mock("../../preparation/prepareOptions.js", () => ({
35
+ get prepareOptions() {
36
+ return mockPrepareOptions;
37
+ },
38
+ }));
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;
49
+ },
50
+ }));
51
+ const mockCreateTrackingBranches = vi.fn();
52
+ vi.mock("../createTrackingBranches.js", () => ({
53
+ get createTrackingBranches() {
54
+ return mockCreateTrackingBranches;
55
+ },
56
+ }));
57
+ const mockPromptForDirectory = vi.fn();
58
+ vi.mock("../prompts/promptForDirectory.js", () => ({
59
+ get promptForDirectory() {
60
+ return mockPromptForDirectory;
61
+ },
62
+ }));
63
+ const mockPromptForOptionSchemas = vi.fn();
64
+ vi.mock("../prompts/promptForOptionSchemas.js", () => ({
65
+ get promptForOptionSchemas() {
66
+ return mockPromptForOptionSchemas;
67
+ },
68
+ }));
69
+ const mockRunTemplate = vi.fn();
70
+ vi.mock("../../runners/runTemplate.js", () => ({
71
+ get runTemplate() {
72
+ return mockRunTemplate;
73
+ },
74
+ }));
75
+ const mockCreateRepositoryOnGitHub = vi.fn();
76
+ vi.mock("./createRepositoryOnGitHub", () => ({
77
+ get createRepositoryOnGitHub() {
78
+ return mockCreateRepositoryOnGitHub;
79
+ },
80
+ }));
81
+ const argv = ["npx", "bingo-my-app"];
82
+ const from = "create-example";
83
+ const display = {
84
+ dumpItems: vi.fn(),
85
+ item: vi.fn(),
86
+ log: vi.fn(),
87
+ spinner: {
88
+ message: vi.fn(),
89
+ start: vi.fn(),
90
+ stop: vi.fn(),
91
+ },
92
+ };
93
+ const template = createTemplate({
94
+ about: { name: "Test Template" },
95
+ options: {
96
+ value: z.string().optional(),
97
+ },
98
+ produce: vi.fn(),
99
+ });
100
+ describe("runModeSetup", () => {
101
+ it("returns a cancellation status when the directory prompt is cancelled", async () => {
102
+ mockPromptForDirectory.mockResolvedValueOnce(mockCancel);
103
+ const actual = await runModeSetup({
104
+ argv,
105
+ display,
106
+ from,
107
+ template,
108
+ });
109
+ expect(actual).toEqual({
110
+ status: CLIStatus.Cancelled,
111
+ });
112
+ });
113
+ it("returns an error status when preparing options results in an error", async () => {
114
+ mockPromptForDirectory.mockResolvedValueOnce("test-directory");
115
+ mockPrepareOptions.mockResolvedValueOnce(new Error("Oh no!"));
116
+ const actual = await runModeSetup({
117
+ argv,
118
+ display,
119
+ from,
120
+ template,
121
+ });
122
+ expect(actual).toEqual({
123
+ status: CLIStatus.Error,
124
+ });
125
+ });
126
+ it("returns a cancellation status when prompting for options is cancelled", async () => {
127
+ mockPromptForDirectory.mockResolvedValueOnce("test-directory");
128
+ mockPromptForOptionSchemas.mockResolvedValueOnce({
129
+ cancelled: true,
130
+ prompted: {},
131
+ });
132
+ const actual = await runModeSetup({
133
+ argv,
134
+ display,
135
+ from,
136
+ template,
137
+ });
138
+ expect(actual).toEqual({
139
+ status: CLIStatus.Cancelled,
140
+ });
141
+ });
142
+ it("returns an error status when online and creating a repository errors", async () => {
143
+ mockPromptForDirectory.mockResolvedValueOnce("test-directory");
144
+ mockPromptForOptionSchemas.mockResolvedValueOnce({
145
+ prompted: {},
146
+ });
147
+ const error = new Error("Oh no!");
148
+ mockCreateRepositoryOnGitHub.mockResolvedValueOnce({ remote: error });
149
+ const actual = await runModeSetup({
150
+ argv,
151
+ display,
152
+ from,
153
+ template,
154
+ });
155
+ expect(actual).toEqual({
156
+ error,
157
+ status: CLIStatus.Error,
158
+ });
159
+ });
160
+ it("returns a success status when options and repository preparation succeed", async () => {
161
+ mockPromptForDirectory.mockResolvedValueOnce("test-directory");
162
+ mockPromptForOptionSchemas.mockResolvedValueOnce({
163
+ prompted: {},
164
+ });
165
+ mockCreateRepositoryOnGitHub.mockResolvedValueOnce({});
166
+ mockRunTemplate.mockResolvedValueOnce({});
167
+ const actual = await runModeSetup({
168
+ argv,
169
+ display,
170
+ from,
171
+ template,
172
+ });
173
+ expect(actual).toEqual({
174
+ outro: `Thanks for using ${chalk.bgGreenBright.black(from)}! 💝`,
175
+ status: CLIStatus.Success,
176
+ suggestions: undefined,
177
+ });
178
+ });
179
+ });
180
+ //# sourceMappingURL=runModeSetup.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runModeSetup.test.js","sourceRoot":"","sources":["../../../src/cli/setup/runModeSetup.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export interface RequestedSkips {
2
+ files?: boolean;
3
+ github?: boolean;
4
+ scripts?: boolean;
5
+ }
6
+ //# sourceMappingURL=skips.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skips.d.ts","sourceRoot":"","sources":["../../../src/cli/setup/skips.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC9B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;CAClB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=skips.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skips.js","sourceRoot":"","sources":["../../../src/cli/setup/skips.ts"],"names":[],"mappings":""}
@@ -0,0 +1,13 @@
1
+ import { Template } from "../../types/templates.js";
2
+ export interface RequestedTransitionSource {
3
+ configFile?: string;
4
+ directory: string;
5
+ from?: string;
6
+ }
7
+ export interface TransitionSource {
8
+ descriptor: string;
9
+ load: () => Promise<Error | symbol | Template>;
10
+ type: "config file" | "template";
11
+ }
12
+ export declare function parseTransitionSource({ configFile, directory, from, }: RequestedTransitionSource): Error | TransitionSource;
13
+ //# sourceMappingURL=parseTransitionSource.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseTransitionSource.d.ts","sourceRoot":"","sources":["../../../src/cli/transition/parseTransitionSource.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAGpD,MAAM,WAAW,yBAAyB;IACzC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,gBAAgB;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,OAAO,CAAC,KAAK,GAAG,MAAM,GAAG,QAAQ,CAAC,CAAC;IAC/C,IAAI,EAAE,aAAa,GAAG,UAAU,CAAC;CACjC;AAED,wBAAgB,qBAAqB,CAAC,EACrC,UAAU,EACV,SAAS,EACT,IAAI,GACJ,EAAE,yBAAyB,GAAG,KAAK,GAAG,gBAAgB,CA2BtD"}
@@ -0,0 +1,26 @@
1
+ import chalk from "chalk";
2
+ import path from "node:path";
3
+ import { tryImportConfigTemplate } from "../../config/tryImportConfigTemplate.js";
4
+ import { tryImportTemplate } from "../importers/tryImportTemplate.js";
5
+ export function parseTransitionSource({ configFile, directory, from, }) {
6
+ if (configFile && from) {
7
+ return new Error(`${chalk.green("--mode transition")} cannot combine an existing config file (${chalk.blue(configFile)}) with an explicit ${chalk.blue("--from")} (${chalk.blue(from)}).`);
8
+ }
9
+ if (configFile) {
10
+ const absolutePath = path.join(process.cwd(), directory, configFile);
11
+ return {
12
+ descriptor: path.relative(process.cwd(), absolutePath),
13
+ load: async () => await tryImportConfigTemplate(absolutePath),
14
+ type: "config file",
15
+ };
16
+ }
17
+ if (from) {
18
+ return {
19
+ descriptor: from,
20
+ load: async () => await tryImportTemplate(from),
21
+ type: "template",
22
+ };
23
+ }
24
+ return new Error(`Existing repository detected. To transition an existing repository, either create a create-example.config file or provide the name or path of a template.`);
25
+ }
26
+ //# sourceMappingURL=parseTransitionSource.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseTransitionSource.js","sourceRoot":"","sources":["../../../src/cli/transition/parseTransitionSource.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAC;AAElF,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AActE,MAAM,UAAU,qBAAqB,CAAC,EACrC,UAAU,EACV,SAAS,EACT,IAAI,GACuB;IAC3B,IAAI,UAAU,IAAI,IAAI,EAAE,CAAC;QACxB,OAAO,IAAI,KAAK,CACf,GAAG,KAAK,CAAC,KAAK,CAAC,mBAAmB,CAAC,4CAA4C,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,sBAAsB,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CACxK,CAAC;IACH,CAAC;IAED,IAAI,UAAU,EAAE,CAAC;QAChB,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;QACrE,OAAO;YACN,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,YAAY,CAAC;YACtD,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,uBAAuB,CAAC,YAAY,CAAC;YAC7D,IAAI,EAAE,aAAa;SACnB,CAAC;IACH,CAAC;IAED,IAAI,IAAI,EAAE,CAAC;QACV,OAAO;YACN,UAAU,EAAE,IAAI;YAChB,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,iBAAiB,CAAC,IAAI,CAAC;YAC/C,IAAI,EAAE,UAAU;SAChB,CAAC;IACH,CAAC;IAED,OAAO,IAAI,KAAK,CACf,2JAA2J,CAC3J,CAAC;AACH,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=parseTransitionSource.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseTransitionSource.test.d.ts","sourceRoot":"","sources":["../../../src/cli/transition/parseTransitionSource.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,74 @@
1
+ import { describe, expect, it, vi } from "vitest";
2
+ import { createTemplate } from "../../creators/createTemplate.js";
3
+ import { parseTransitionSource, } from "./parseTransitionSource.js";
4
+ const mockTryImportConfig = vi.fn();
5
+ vi.mock("../../config/tryImportConfig.js", () => ({
6
+ get tryImportConfig() {
7
+ return mockTryImportConfig;
8
+ },
9
+ }));
10
+ vi.mock("../display/createClackDisplay.js", () => ({
11
+ createClackDisplay: () => ({
12
+ spinner: {
13
+ start: vi.fn(),
14
+ stop: vi.fn(),
15
+ },
16
+ }),
17
+ }));
18
+ const mockTryImportTemplate = vi.fn();
19
+ vi.mock("../importers/tryImportTemplate.js", () => ({
20
+ get tryImportTemplate() {
21
+ return mockTryImportTemplate;
22
+ },
23
+ }));
24
+ describe("parseTransitionSource", () => {
25
+ it("returns a CLI error when configFile and from are undefined", () => {
26
+ const actual = parseTransitionSource({
27
+ directory: ".",
28
+ });
29
+ expect(actual).toEqual(new Error("Existing repository detected. To transition an existing repository, either create a create-example.config file or provide the name or path of a template."));
30
+ });
31
+ it("returns a CLI error when configFile and from are both defined", () => {
32
+ const actual = parseTransitionSource({
33
+ configFile: "create-example.config.js",
34
+ directory: ".",
35
+ from: "my-app",
36
+ });
37
+ expect(actual).toEqual(new Error("--mode transition cannot combine an existing config file (create-example.config.js) with an explicit --from (my-app)."));
38
+ });
39
+ it("returns a config loader when only configFile is defined", async () => {
40
+ const template = createTemplate({
41
+ produce: () => ({}),
42
+ });
43
+ mockTryImportConfig.mockResolvedValueOnce({ template });
44
+ const actual = parseTransitionSource({
45
+ configFile: "create-example.config.js",
46
+ directory: ".",
47
+ });
48
+ expect(actual).toEqual({
49
+ descriptor: "create-example.config.js",
50
+ load: expect.any(Function),
51
+ type: "config file",
52
+ });
53
+ const loaded = await actual.load();
54
+ expect(loaded).toBe(template);
55
+ expect(mockTryImportTemplate).not.toHaveBeenCalled();
56
+ });
57
+ it("returns a template loader when only from is defined", async () => {
58
+ const expected = { configFile: true };
59
+ mockTryImportTemplate.mockResolvedValueOnce(expected);
60
+ const actual = parseTransitionSource({
61
+ directory: ".",
62
+ from: "my-app",
63
+ });
64
+ expect(actual).toEqual({
65
+ descriptor: "my-app",
66
+ load: expect.any(Function),
67
+ type: "template",
68
+ });
69
+ const loaded = await actual.load();
70
+ expect(loaded).toBe(expected);
71
+ expect(mockTryImportConfig).not.toHaveBeenCalled();
72
+ });
73
+ });
74
+ //# sourceMappingURL=parseTransitionSource.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseTransitionSource.test.js","sourceRoot":"","sources":["../../../src/cli/transition/parseTransitionSource.test.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { AnyShape } from "../../types/shapes.js";
2
+ import { RequestedSkips } from "../../types/skips.js";
2
3
  import { Template } from "../../types/templates.js";
3
4
  import { ClackDisplay } from "../display/createClackDisplay.js";
4
5
  import { ModeResults } from "../types.js";
@@ -8,9 +9,9 @@ export interface RunModeTransitionSettings<OptionsShape extends AnyShape, Refine
8
9
  directory?: string;
9
10
  display: ClackDisplay;
10
11
  from: string;
11
- help?: boolean;
12
12
  offline?: boolean;
13
+ skips?: RequestedSkips;
13
14
  template: Template<OptionsShape, Refinements>;
14
15
  }
15
- export declare function runModeTransition<OptionsShape extends AnyShape, Refinements>({ argv, configFile, directory, display, from, help, offline, template, }: RunModeTransitionSettings<OptionsShape, Refinements>): Promise<ModeResults>;
16
+ export declare function runModeTransition<OptionsShape extends AnyShape, Refinements>({ argv, configFile, directory, display, from, offline, skips, template, }: RunModeTransitionSettings<OptionsShape, Refinements>): Promise<ModeResults>;
16
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,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAGpD,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAShE,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,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,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,IAAI,EACJ,OAAO,EACP,QAAQ,GACR,EAAE,yBAAyB,CAAC,YAAY,EAAE,WAAW,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,CAiI7E"}
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"}
@@ -5,7 +5,6 @@ import { runTemplate } from "../../runners/runTemplate.js";
5
5
  import { clearLocalGitTags } from "../clearLocalGitTags.js";
6
6
  import { createInitialCommit } from "../createInitialCommit.js";
7
7
  import { runSpinnerTask } from "../display/runSpinnerTask.js";
8
- import { logHelpText } from "../loggers/logHelpText.js";
9
8
  import { logRerunSuggestion } from "../loggers/logRerunSuggestion.js";
10
9
  import { logStartText } from "../loggers/logStartText.js";
11
10
  import { CLIMessage } from "../messages.js";
@@ -15,15 +14,12 @@ import { CLIStatus } from "../status.js";
15
14
  import { clearTemplateFiles } from "./clearTemplateFiles.js";
16
15
  import { getForkedRepositoryLocator } from "./getForkedRepositoryLocator.js";
17
16
  import { readConfigSettings } from "./readConfigSettings.js";
18
- export async function runModeTransition({ argv, configFile, directory = ".", display, from, help, offline, template, }) {
19
- if (help) {
20
- return logHelpText("transition", from, template);
21
- }
17
+ export async function runModeTransition({ argv, configFile, directory = ".", display, from, offline = false, skips = {}, template, }) {
22
18
  logStartText("transition", offline);
23
19
  const system = await createSystemContextWithAuth({
24
20
  directory,
25
21
  display,
26
- offline,
22
+ offline: offline || skips.github,
27
23
  });
28
24
  const repositoryLocator = template.about?.repository &&
29
25
  (await getForkedRepositoryLocator(directory, template.about.repository));
@@ -39,17 +35,18 @@ export async function runModeTransition({ argv, configFile, directory = ".", dis
39
35
  logRerunSuggestion(argv, providedOptions);
40
36
  return { error: loadedConfig, status: CLIStatus.Error };
41
37
  }
42
- const preparedOptions = await runSpinnerTask(display, "Inferring options from existing repository", "Inferred options from existing repository", async () => {
43
- return await prepareOptions(template, {
44
- ...system,
45
- existing: {
46
- ...loadedConfig?.options,
47
- ...providedOptions,
48
- directory,
49
- },
50
- offline,
51
- });
52
- });
38
+ const preparedOptions = Object.keys(template.options).length &&
39
+ (await runSpinnerTask(display, "Inferring options from existing repository", "Inferred options from existing repository", async () => {
40
+ return await prepareOptions(template, {
41
+ ...system,
42
+ existing: {
43
+ ...loadedConfig?.options,
44
+ ...providedOptions,
45
+ directory,
46
+ },
47
+ offline,
48
+ });
49
+ }));
53
50
  if (preparedOptions instanceof Error) {
54
51
  logRerunSuggestion(argv, providedOptions);
55
52
  return { status: CLIStatus.Error };
@@ -73,6 +70,7 @@ export async function runModeTransition({ argv, configFile, directory = ".", dis
73
70
  offline,
74
71
  options: baseOptions.completed,
75
72
  refinements: loadedConfig?.refinements,
73
+ skips,
76
74
  }));
77
75
  if (creation instanceof Error) {
78
76
  logRerunSuggestion(argv, baseOptions.prompted);
@@ -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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"}
@@ -1,4 +1,5 @@
1
1
  import { describe, expect, it, vi } from "vitest";
2
+ import { z } from "zod";
2
3
  import { createTemplate } from "../../creators/createTemplate.js";
3
4
  import { CLIStatus } from "../status.js";
4
5
  import { runModeTransition } from "./runModeTransition.js";
@@ -53,12 +54,6 @@ vi.mock("../createInitialCommit.js", () => ({
53
54
  return mockCreateInitialCommit;
54
55
  },
55
56
  }));
56
- const mockLogHelpText = vi.fn();
57
- vi.mock("../loggers/logHelpText.js", () => ({
58
- get logHelpText() {
59
- return mockLogHelpText;
60
- },
61
- }));
62
57
  const mockLogRerunSuggestion = vi.fn();
63
58
  vi.mock("../loggers/logRerunSuggestion.js", () => ({
64
59
  get logRerunSuggestion() {
@@ -101,7 +96,9 @@ const display = {
101
96
  };
102
97
  const template = createTemplate({
103
98
  about: { name: "Test Template" },
104
- options: {},
99
+ options: {
100
+ value: z.string().optional(),
101
+ },
105
102
  produce: vi.fn(),
106
103
  });
107
104
  const templateWithRepository = createTemplate({
@@ -115,18 +112,6 @@ const promptedOptions = {
115
112
  abc: "def",
116
113
  };
117
114
  describe("runModeTransition", () => {
118
- it("logs help text instead of running when help is true", async () => {
119
- await runModeTransition({
120
- argv,
121
- configFile: undefined,
122
- display,
123
- from,
124
- help: true,
125
- template,
126
- });
127
- expect(mockLogHelpText).toHaveBeenCalledWith("transition", from, template);
128
- expect(mockLogStartText).not.toHaveBeenCalled();
129
- });
130
115
  it("returns the error when readConfigSettings resolves an error", async () => {
131
116
  const error = new Error("Oh no!");
132
117
  mockReadConfigSettings.mockResolvedValueOnce(error);
@@ -230,7 +215,7 @@ describe("runModeTransition", () => {
230
215
  outro: "Done. Enjoy your new repository! 💝",
231
216
  status: CLIStatus.Success,
232
217
  });
233
- expect(mockLogStartText).toHaveBeenCalledWith("transition", undefined);
218
+ expect(mockLogStartText).toHaveBeenCalledWith("transition", false);
234
219
  expect(mockClearTemplateFiles).toHaveBeenCalled();
235
220
  expect(mockClearLocalGitTags).toHaveBeenCalled();
236
221
  expect(mockCreateInitialCommit).toHaveBeenCalledWith(mockSystem.runner, {