bingo 0.8.2 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cli/createTrackingBranches.d.ts +4 -0
- package/lib/cli/createTrackingBranches.d.ts.map +1 -0
- package/lib/cli/createTrackingBranches.js +7 -0
- package/lib/cli/createTrackingBranches.js.map +1 -0
- package/lib/cli/createTrackingBranches.test.d.ts +2 -0
- package/lib/cli/createTrackingBranches.test.d.ts.map +1 -0
- package/lib/cli/createTrackingBranches.test.js +19 -0
- package/lib/cli/createTrackingBranches.test.js.map +1 -0
- package/lib/cli/display/runSpinnerTask.d.ts +1 -1
- package/lib/cli/getGitRepositoryType.d.ts +8 -0
- package/lib/cli/getGitRepositoryType.d.ts.map +1 -0
- package/lib/cli/getGitRepositoryType.js +18 -0
- package/lib/cli/getGitRepositoryType.js.map +1 -0
- package/lib/cli/getGitRepositoryType.test.d.ts +2 -0
- package/lib/cli/getGitRepositoryType.test.d.ts.map +1 -0
- package/lib/cli/getGitRepositoryType.test.js +33 -0
- package/lib/cli/getGitRepositoryType.test.js.map +1 -0
- package/lib/cli/isInGitRepository.test.js +1 -1
- package/lib/cli/isInGitRepository.test.js.map +1 -1
- package/lib/cli/isInGitRepositoryRoot.d.ts +3 -0
- package/lib/cli/isInGitRepositoryRoot.d.ts.map +1 -0
- package/lib/cli/isInGitRepositoryRoot.js +7 -0
- package/lib/cli/isInGitRepositoryRoot.js.map +1 -0
- package/lib/cli/isInGitRepositoryRoot.test.d.ts +2 -0
- package/lib/cli/isInGitRepositoryRoot.test.d.ts.map +1 -0
- package/lib/cli/isInGitRepositoryRoot.test.js +26 -0
- package/lib/cli/isInGitRepositoryRoot.test.js.map +1 -0
- package/lib/cli/parseProcessArgv.d.ts +1 -0
- package/lib/cli/parseProcessArgv.d.ts.map +1 -1
- package/lib/cli/parseProcessArgv.js +3 -0
- package/lib/cli/parseProcessArgv.js.map +1 -1
- package/lib/cli/prepareGitRepository.d.ts +4 -0
- package/lib/cli/prepareGitRepository.d.ts.map +1 -0
- package/lib/cli/prepareGitRepository.js +9 -0
- package/lib/cli/prepareGitRepository.js.map +1 -0
- package/lib/cli/remotes/createRemoteRepository.d.ts +6 -0
- package/lib/cli/remotes/createRemoteRepository.d.ts.map +1 -0
- package/lib/cli/remotes/createRemoteRepository.js +25 -0
- package/lib/cli/remotes/createRemoteRepository.js.map +1 -0
- package/lib/cli/remotes/createRemoteRepository.test.d.ts +2 -0
- package/lib/cli/remotes/createRemoteRepository.test.d.ts.map +1 -0
- package/lib/cli/remotes/createRemoteRepository.test.js +54 -0
- package/lib/cli/remotes/createRemoteRepository.test.js.map +1 -0
- package/lib/cli/remotes/createTrackingBranches.d.ts +4 -0
- package/lib/cli/remotes/createTrackingBranches.d.ts.map +1 -0
- package/lib/cli/remotes/createTrackingBranches.js +7 -0
- package/lib/cli/remotes/createTrackingBranches.js.map +1 -0
- package/lib/cli/remotes/createTrackingBranches.test.d.ts +2 -0
- package/lib/cli/remotes/createTrackingBranches.test.d.ts.map +1 -0
- package/lib/cli/remotes/createTrackingBranches.test.js +19 -0
- package/lib/cli/remotes/createTrackingBranches.test.js.map +1 -0
- package/lib/cli/remotes/resolveRemoteRepository.d.ts +19 -0
- package/lib/cli/remotes/resolveRemoteRepository.d.ts.map +1 -0
- package/lib/cli/remotes/resolveRemoteRepository.js +58 -0
- package/lib/cli/remotes/resolveRemoteRepository.js.map +1 -0
- package/lib/cli/remotes/resolveRemoteRepository.test.d.ts +2 -0
- package/lib/cli/remotes/resolveRemoteRepository.test.d.ts.map +1 -0
- package/lib/cli/remotes/resolveRemoteRepository.test.js +148 -0
- package/lib/cli/remotes/resolveRemoteRepository.test.js.map +1 -0
- package/lib/cli/remotes/resolveRemoteRepositoryFromOrigin.d.ts +4 -0
- package/lib/cli/remotes/resolveRemoteRepositoryFromOrigin.d.ts.map +1 -0
- package/lib/cli/remotes/resolveRemoteRepositoryFromOrigin.js +14 -0
- package/lib/cli/remotes/resolveRemoteRepositoryFromOrigin.js.map +1 -0
- package/lib/cli/remotes/resolveRemoteRepositoryFromOrigin.test.d.ts +2 -0
- package/lib/cli/remotes/resolveRemoteRepositoryFromOrigin.test.d.ts.map +1 -0
- package/lib/cli/remotes/resolveRemoteRepositoryFromOrigin.test.js +23 -0
- package/lib/cli/remotes/resolveRemoteRepositoryFromOrigin.test.js.map +1 -0
- package/lib/cli/remotes/resolveRemoteRepositoryToCreate.d.ts +5 -0
- package/lib/cli/remotes/resolveRemoteRepositoryToCreate.d.ts.map +1 -0
- package/lib/cli/remotes/resolveRemoteRepositoryToCreate.js +26 -0
- package/lib/cli/remotes/resolveRemoteRepositoryToCreate.js.map +1 -0
- package/lib/cli/remotes/resolveRemoteRepositoryToCreate.test.d.ts +2 -0
- package/lib/cli/remotes/resolveRemoteRepositoryToCreate.test.d.ts.map +1 -0
- package/lib/cli/remotes/resolveRemoteRepositoryToCreate.test.js +82 -0
- package/lib/cli/remotes/resolveRemoteRepositoryToCreate.test.js.map +1 -0
- package/lib/cli/remotes/resolveRepository.d.ts +19 -0
- package/lib/cli/remotes/resolveRepository.d.ts.map +1 -0
- package/lib/cli/remotes/resolveRepository.js +58 -0
- package/lib/cli/remotes/resolveRepository.js.map +1 -0
- package/lib/cli/remotes/resolveRepository.test.d.ts +2 -0
- package/lib/cli/remotes/resolveRepository.test.d.ts.map +1 -0
- package/lib/cli/remotes/resolveRepository.test.js +148 -0
- package/lib/cli/remotes/resolveRepository.test.js.map +1 -0
- package/lib/cli/remotes/types.d.ts +5 -0
- package/lib/cli/remotes/types.d.ts.map +1 -0
- package/lib/cli/remotes/types.js +2 -0
- package/lib/cli/remotes/types.js.map +1 -0
- package/lib/cli/repository/clearLocalGitTags.d.ts +3 -0
- package/lib/cli/repository/clearLocalGitTags.d.ts.map +1 -0
- package/lib/cli/repository/clearLocalGitTags.js +7 -0
- package/lib/cli/repository/clearLocalGitTags.js.map +1 -0
- package/lib/cli/repository/clearLocalGitTags.test.d.ts +2 -0
- package/lib/cli/repository/clearLocalGitTags.test.d.ts.map +1 -0
- package/lib/cli/repository/clearLocalGitTags.test.js +16 -0
- package/lib/cli/repository/clearLocalGitTags.test.js.map +1 -0
- package/lib/cli/repository/createInitialCommit.d.ts +7 -0
- package/lib/cli/repository/createInitialCommit.d.ts.map +1 -0
- package/lib/cli/repository/createInitialCommit.js +10 -0
- package/lib/cli/repository/createInitialCommit.js.map +1 -0
- package/lib/cli/repository/createInitialCommit.test.d.ts +2 -0
- package/lib/cli/repository/createInitialCommit.test.d.ts.map +1 -0
- package/lib/cli/repository/createInitialCommit.test.js +50 -0
- package/lib/cli/repository/createInitialCommit.test.js.map +1 -0
- package/lib/cli/repository/createTrackingBranches.d.ts +4 -0
- package/lib/cli/repository/createTrackingBranches.d.ts.map +1 -0
- package/lib/cli/repository/createTrackingBranches.js +7 -0
- package/lib/cli/repository/createTrackingBranches.js.map +1 -0
- package/lib/cli/repository/createTrackingBranches.test.d.ts +2 -0
- package/lib/cli/repository/createTrackingBranches.test.d.ts.map +1 -0
- package/lib/cli/repository/createTrackingBranches.test.js +19 -0
- package/lib/cli/repository/createTrackingBranches.test.js.map +1 -0
- package/lib/cli/repository/prepareGitRepository.d.ts +4 -0
- package/lib/cli/repository/prepareGitRepository.d.ts.map +1 -0
- package/lib/cli/repository/prepareGitRepository.js +9 -0
- package/lib/cli/repository/prepareGitRepository.js.map +1 -0
- package/lib/cli/repository/prepareGitRepository.test.d.ts +2 -0
- package/lib/cli/repository/prepareGitRepository.test.d.ts.map +1 -0
- package/lib/cli/repository/prepareGitRepository.test.js +32 -0
- package/lib/cli/repository/prepareGitRepository.test.js.map +1 -0
- package/lib/cli/repository/resolveLocalRepository.d.ts +21 -0
- package/lib/cli/repository/resolveLocalRepository.d.ts.map +1 -0
- package/lib/cli/repository/resolveLocalRepository.js +57 -0
- package/lib/cli/repository/resolveLocalRepository.js.map +1 -0
- package/lib/cli/repository/resolveLocalRepository.test.d.ts +2 -0
- package/lib/cli/repository/resolveLocalRepository.test.d.ts.map +1 -0
- package/lib/cli/repository/resolveLocalRepository.test.js +167 -0
- package/lib/cli/repository/resolveLocalRepository.test.js.map +1 -0
- package/lib/cli/repository/resolveRepository.d.ts +21 -0
- package/lib/cli/repository/resolveRepository.d.ts.map +1 -0
- package/lib/cli/repository/resolveRepository.js +57 -0
- package/lib/cli/repository/resolveRepository.js.map +1 -0
- package/lib/cli/repository/resolveRepository.test.d.ts +2 -0
- package/lib/cli/repository/resolveRepository.test.d.ts.map +1 -0
- package/lib/cli/repository/resolveRepository.test.js +148 -0
- package/lib/cli/repository/resolveRepository.test.js.map +1 -0
- package/lib/cli/runCLI.d.ts +3 -4
- package/lib/cli/runCLI.d.ts.map +1 -1
- package/lib/cli/runCLI.js +2 -0
- package/lib/cli/runCLI.js.map +1 -1
- package/lib/cli/runTemplateCLI.d.ts +1 -4
- package/lib/cli/runTemplateCLI.d.ts.map +1 -1
- package/lib/cli/runTemplateCLI.js +0 -2
- package/lib/cli/runTemplateCLI.js.map +1 -1
- package/lib/cli/setup/createRepositoryOnGitHub.d.ts +0 -1
- package/lib/cli/setup/createRepositoryOnGitHub.d.ts.map +1 -1
- package/lib/cli/setup/createRepositoryOnGitHub.js.map +1 -1
- package/lib/cli/setup/createTrackingBranches.d.ts +1 -1
- package/lib/cli/setup/createTrackingBranches.d.ts.map +1 -1
- package/lib/cli/setup/createTrackingBranches.js.map +1 -1
- package/lib/cli/setup/getRemoteRepository.d.ts +2 -0
- package/lib/cli/setup/getRemoteRepository.d.ts.map +1 -0
- package/lib/cli/setup/getRemoteRepository.js +2 -0
- package/lib/cli/setup/getRemoteRepository.js.map +1 -0
- package/lib/cli/setup/remotes/checkTemplateRemoteSupport.d.ts +4 -0
- package/lib/cli/setup/remotes/checkTemplateRemoteSupport.d.ts.map +1 -0
- package/lib/cli/setup/remotes/checkTemplateRemoteSupport.js +15 -0
- package/lib/cli/setup/remotes/checkTemplateRemoteSupport.js.map +1 -0
- package/lib/cli/setup/remotes/createRemoteRepository.d.ts +5 -0
- package/lib/cli/setup/remotes/createRemoteRepository.d.ts.map +1 -0
- package/lib/cli/setup/remotes/createRemoteRepository.js +16 -0
- package/lib/cli/setup/remotes/createRemoteRepository.js.map +1 -0
- package/lib/cli/setup/remotes/createRepositoryOnGitHub.d.ts +6 -0
- package/lib/cli/setup/remotes/createRepositoryOnGitHub.d.ts.map +1 -0
- package/lib/cli/setup/remotes/createRepositoryOnGitHub.js +36 -0
- package/lib/cli/setup/remotes/createRepositoryOnGitHub.js.map +1 -0
- package/lib/cli/setup/remotes/createRepositoryOnGitHub.test.d.ts +2 -0
- package/lib/cli/setup/remotes/createRepositoryOnGitHub.test.d.ts.map +1 -0
- package/lib/cli/setup/remotes/createRepositoryOnGitHub.test.js +157 -0
- package/lib/cli/setup/remotes/createRepositoryOnGitHub.test.js.map +1 -0
- package/lib/cli/setup/remotes/resolveExistingRemoteRepository.d.ts +4 -0
- package/lib/cli/setup/remotes/resolveExistingRemoteRepository.d.ts.map +1 -0
- package/lib/cli/setup/remotes/resolveExistingRemoteRepository.js +14 -0
- package/lib/cli/setup/remotes/resolveExistingRemoteRepository.js.map +1 -0
- package/lib/cli/setup/remotes/resolveExistingRemoteRepository.test.d.ts +2 -0
- package/lib/cli/setup/remotes/resolveExistingRemoteRepository.test.d.ts.map +1 -0
- package/lib/cli/setup/remotes/resolveExistingRemoteRepository.test.js +23 -0
- package/lib/cli/setup/remotes/resolveExistingRemoteRepository.test.js.map +1 -0
- package/lib/cli/setup/remotes/resolveRemoteRepository.d.ts +18 -0
- package/lib/cli/setup/remotes/resolveRemoteRepository.d.ts.map +1 -0
- package/lib/cli/setup/remotes/resolveRemoteRepository.js +47 -0
- package/lib/cli/setup/remotes/resolveRemoteRepository.js.map +1 -0
- package/lib/cli/setup/remotes/resolveRemoteRepository.test.d.ts +2 -0
- package/lib/cli/setup/remotes/resolveRemoteRepository.test.d.ts.map +1 -0
- package/lib/cli/setup/remotes/resolveRemoteRepository.test.js +103 -0
- package/lib/cli/setup/remotes/resolveRemoteRepository.test.js.map +1 -0
- package/lib/cli/setup/remotes/resolveRemoteRepositoryFromOrigin.d.ts +4 -0
- package/lib/cli/setup/remotes/resolveRemoteRepositoryFromOrigin.d.ts.map +1 -0
- package/lib/cli/setup/remotes/resolveRemoteRepositoryFromOrigin.js +14 -0
- package/lib/cli/setup/remotes/resolveRemoteRepositoryFromOrigin.js.map +1 -0
- package/lib/cli/setup/remotes/resolveRemoteRepositoryFromOrigin.test.d.ts +2 -0
- package/lib/cli/setup/remotes/resolveRemoteRepositoryFromOrigin.test.d.ts.map +1 -0
- package/lib/cli/setup/remotes/resolveRemoteRepositoryFromOrigin.test.js +23 -0
- package/lib/cli/setup/remotes/resolveRemoteRepositoryFromOrigin.test.js.map +1 -0
- package/lib/cli/setup/remotes/resolveRemoteRepositoryToCreate.d.ts +5 -0
- package/lib/cli/setup/remotes/resolveRemoteRepositoryToCreate.d.ts.map +1 -0
- package/lib/cli/setup/remotes/resolveRemoteRepositoryToCreate.js +26 -0
- package/lib/cli/setup/remotes/resolveRemoteRepositoryToCreate.js.map +1 -0
- package/lib/cli/setup/remotes/resolveRemoteRepositoryToCreate.test.d.ts +2 -0
- package/lib/cli/setup/remotes/resolveRemoteRepositoryToCreate.test.d.ts.map +1 -0
- package/lib/cli/setup/remotes/resolveRemoteRepositoryToCreate.test.js +82 -0
- package/lib/cli/setup/remotes/resolveRemoteRepositoryToCreate.test.js.map +1 -0
- package/lib/cli/setup/remotes/templateSupportsRemoteCreation.d.ts +3 -0
- package/lib/cli/setup/remotes/templateSupportsRemoteCreation.d.ts.map +1 -0
- package/lib/cli/setup/remotes/templateSupportsRemoteCreation.js +9 -0
- package/lib/cli/setup/remotes/templateSupportsRemoteCreation.js.map +1 -0
- package/lib/cli/setup/remotes/types.d.ts +5 -0
- package/lib/cli/setup/remotes/types.d.ts.map +1 -0
- package/lib/cli/setup/remotes/types.js +2 -0
- package/lib/cli/setup/remotes/types.js.map +1 -0
- package/lib/cli/setup/resolveExistingRemote.d.ts +2 -0
- package/lib/cli/setup/resolveExistingRemote.d.ts.map +1 -0
- package/lib/cli/setup/resolveExistingRemote.js +2 -0
- package/lib/cli/setup/resolveExistingRemote.js.map +1 -0
- package/lib/cli/setup/resolveRemoteRepository.d.ts +26 -0
- package/lib/cli/setup/resolveRemoteRepository.d.ts.map +1 -0
- package/lib/cli/setup/resolveRemoteRepository.js +49 -0
- package/lib/cli/setup/resolveRemoteRepository.js.map +1 -0
- package/lib/cli/setup/runModeSetup.d.ts +4 -4
- package/lib/cli/setup/runModeSetup.d.ts.map +1 -1
- package/lib/cli/setup/runModeSetup.js +24 -39
- package/lib/cli/setup/runModeSetup.js.map +1 -1
- package/lib/cli/setup/runModeSetup.test.js +128 -68
- package/lib/cli/setup/runModeSetup.test.js.map +1 -1
- package/lib/cli/transition/runModeTransition.d.ts +4 -4
- package/lib/cli/transition/runModeTransition.d.ts.map +1 -1
- package/lib/cli/transition/runModeTransition.js +17 -4
- package/lib/cli/transition/runModeTransition.js.map +1 -1
- package/lib/cli/transition/runModeTransition.test.js +43 -12
- package/lib/cli/transition/runModeTransition.test.js.map +1 -1
- package/lib/predicates/isTemplate.d.ts +1 -2
- package/lib/predicates/isTemplate.d.ts.map +1 -1
- package/lib/predicates/isTemplate.js.map +1 -1
- package/lib/types/templates.d.ts +2 -1
- package/lib/types/templates.d.ts.map +1 -1
- package/lib/utils/tryCatch.d.ts +2 -1
- package/lib/utils/tryCatch.d.ts.map +1 -1
- package/lib/utils/tryCatch.js +8 -0
- package/lib/utils/tryCatch.js.map +1 -1
- package/package.json +4 -4
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { describe, expect, it, vi } from "vitest";
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
import { createTemplate } from "../../../creators/createTemplate.js";
|
|
4
|
+
import { resolveRemoteRepositoryToCreate } from "./resolveRemoteRepositoryToCreate.js";
|
|
5
|
+
const mockPromptForOptionSchema = vi.fn();
|
|
6
|
+
vi.mock("../../prompts/promptForOptionSchema.js", () => ({
|
|
7
|
+
get promptForOptionSchema() {
|
|
8
|
+
return mockPromptForOptionSchema;
|
|
9
|
+
},
|
|
10
|
+
}));
|
|
11
|
+
const stubOwner = "stub-owner";
|
|
12
|
+
const stubRepository = "stub-repo";
|
|
13
|
+
const mockSystem = {
|
|
14
|
+
fetchers: {
|
|
15
|
+
fetch: vi.fn(),
|
|
16
|
+
octokit: {},
|
|
17
|
+
},
|
|
18
|
+
fs: {},
|
|
19
|
+
runner: vi.fn(),
|
|
20
|
+
};
|
|
21
|
+
describe(resolveRemoteRepositoryToCreate, () => {
|
|
22
|
+
it("returns the locator if locator.owner is provided", async () => {
|
|
23
|
+
const locator = { owner: stubOwner, repository: stubRepository };
|
|
24
|
+
const result = await resolveRemoteRepositoryToCreate(locator, mockSystem, createTemplate({ produce: vi.fn() }));
|
|
25
|
+
expect(result).toEqual(locator);
|
|
26
|
+
});
|
|
27
|
+
it("returns the username as owner if gh config get user resolves one", async () => {
|
|
28
|
+
const result = await resolveRemoteRepositoryToCreate({ repository: stubRepository }, {
|
|
29
|
+
...mockSystem,
|
|
30
|
+
runner: vi.fn().mockResolvedValueOnce({
|
|
31
|
+
stdout: stubOwner,
|
|
32
|
+
}),
|
|
33
|
+
}, createTemplate({ produce: vi.fn() }));
|
|
34
|
+
expect(result).toEqual({ owner: stubOwner, repository: stubRepository });
|
|
35
|
+
});
|
|
36
|
+
it("returns an error if an owner cannot be inferred and the template doesn't have a string owner option", async () => {
|
|
37
|
+
const result = await resolveRemoteRepositoryToCreate({ repository: stubRepository }, {
|
|
38
|
+
...mockSystem,
|
|
39
|
+
runner: vi.fn().mockResolvedValueOnce({}),
|
|
40
|
+
}, createTemplate({ produce: vi.fn() }));
|
|
41
|
+
expect(result).toEqual(new Error("--remote requested, but could not infer an owner because this template lacks an 'owner' option."));
|
|
42
|
+
});
|
|
43
|
+
it("returns an error if an owner cannot be inferred and the template's owner option is not a string-like", async () => {
|
|
44
|
+
const result = await resolveRemoteRepositoryToCreate({ repository: stubRepository }, {
|
|
45
|
+
...mockSystem,
|
|
46
|
+
runner: vi.fn().mockResolvedValueOnce({}),
|
|
47
|
+
}, createTemplate({
|
|
48
|
+
options: {
|
|
49
|
+
owner: z.object({ value: z.number() }),
|
|
50
|
+
},
|
|
51
|
+
produce: vi.fn(),
|
|
52
|
+
}));
|
|
53
|
+
expect(result).toEqual(new Error("--remote requested, but could not infer an owner because this template's owner option is not a string-like."));
|
|
54
|
+
});
|
|
55
|
+
it("returns the prompted owner when prompting succeeds", async () => {
|
|
56
|
+
mockPromptForOptionSchema.mockResolvedValueOnce(stubOwner);
|
|
57
|
+
const actual = await resolveRemoteRepositoryToCreate({ repository: stubRepository }, {
|
|
58
|
+
...mockSystem,
|
|
59
|
+
runner: vi.fn().mockResolvedValueOnce({}),
|
|
60
|
+
}, createTemplate({
|
|
61
|
+
options: {
|
|
62
|
+
owner: z.string(),
|
|
63
|
+
},
|
|
64
|
+
produce: vi.fn(),
|
|
65
|
+
}));
|
|
66
|
+
expect(actual).toEqual({ owner: stubOwner, repository: stubRepository });
|
|
67
|
+
});
|
|
68
|
+
it("returns an error when prompting fails", async () => {
|
|
69
|
+
mockPromptForOptionSchema.mockResolvedValueOnce(new Error("Cancelled."));
|
|
70
|
+
const actual = await resolveRemoteRepositoryToCreate({ repository: stubRepository }, {
|
|
71
|
+
...mockSystem,
|
|
72
|
+
runner: vi.fn().mockResolvedValueOnce({}),
|
|
73
|
+
}, createTemplate({
|
|
74
|
+
options: {
|
|
75
|
+
owner: z.string(),
|
|
76
|
+
},
|
|
77
|
+
produce: vi.fn(),
|
|
78
|
+
}));
|
|
79
|
+
expect(actual).toEqual(new Error("--remote requested, but no owner was provided."));
|
|
80
|
+
});
|
|
81
|
+
});
|
|
82
|
+
//# sourceMappingURL=resolveRemoteRepositoryToCreate.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolveRemoteRepositoryToCreate.test.js","sourceRoot":"","sources":["../../../../src/cli/setup/remotes/resolveRemoteRepositoryToCreate.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"templateSupportsRemoteCreation.d.ts","sourceRoot":"","sources":["../../../../src/cli/setup/remotes/templateSupportsRemoteCreation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAGpD,wBAAgB,8BAA8B,CAAC,OAAO,EAAE,QAAQ,WAK/D"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { isStringLikeSchema } from "../../schemas/isStringLikeSchema.js";
|
|
2
|
+
export function templateSupportsRemoteCreation(options) {
|
|
3
|
+
return (hasStringLikeOption(options, "owner") &&
|
|
4
|
+
hasStringLikeOption(options, "repository"));
|
|
5
|
+
}
|
|
6
|
+
function hasStringLikeOption(options, key) {
|
|
7
|
+
return key in options && isStringLikeSchema(options[key]);
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=templateSupportsRemoteCreation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"templateSupportsRemoteCreation.js","sourceRoot":"","sources":["../../../../src/cli/setup/remotes/templateSupportsRemoteCreation.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAEzE,MAAM,UAAU,8BAA8B,CAAC,OAAiB;IAC/D,OAAO,CACN,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC;QACrC,mBAAmB,CAAC,OAAO,EAAE,YAAY,CAAC,CAC1C,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,OAAiB,EAAE,GAAW;IAC1D,OAAO,GAAG,IAAI,OAAO,IAAI,kBAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;AAC3D,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/cli/setup/remotes/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,wBAAwB;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACnB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/cli/setup/remotes/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolveExistingRemote.d.ts","sourceRoot":"","sources":["../../../src/cli/setup/resolveExistingRemote.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolveExistingRemote.js","sourceRoot":"","sources":["../../../src/cli/setup/resolveExistingRemote.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { BingoSystem } from "bingo-systems";
|
|
2
|
+
import { RepositoryLocator } from "new-github-repository";
|
|
3
|
+
import { AnyShape } from "../../types/shapes.js";
|
|
4
|
+
import { RequestedSkips } from "../../types/skips.js";
|
|
5
|
+
import { Template } from "../../types/templates.js";
|
|
6
|
+
import { ClackDisplay } from "../display/createClackDisplay.js";
|
|
7
|
+
import { PartialRepositoryLocator } from "./createRepositoryOnGitHub.js";
|
|
8
|
+
export interface RemoteRepositoryRequest {
|
|
9
|
+
offline?: boolean | undefined;
|
|
10
|
+
/**
|
|
11
|
+
* Whether to create or sync with a remote repository on GitHub.
|
|
12
|
+
* If true, defaults to the running user and repository title.
|
|
13
|
+
* If a string, that's used as the remote.
|
|
14
|
+
*/
|
|
15
|
+
remote?: boolean | string | undefined;
|
|
16
|
+
}
|
|
17
|
+
export interface ResolvedRemoteMessage {
|
|
18
|
+
level: "info" | "warn";
|
|
19
|
+
text: string;
|
|
20
|
+
}
|
|
21
|
+
export interface ResolvedRemoteRepository {
|
|
22
|
+
message?: ResolvedRemoteMessage | undefined;
|
|
23
|
+
remote: Error | RepositoryLocator | undefined;
|
|
24
|
+
}
|
|
25
|
+
export declare function resolveRemoteRepository<OptionsShape extends AnyShape, Refinements>(display: ClackDisplay, locator: PartialRepositoryLocator, request: RemoteRepositoryRequest, skips: RequestedSkips, system: BingoSystem, template: Template<OptionsShape, Refinements>): Promise<ResolvedRemoteRepository>;
|
|
26
|
+
//# sourceMappingURL=resolveRemoteRepository.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolveRemoteRepository.d.ts","sourceRoot":"","sources":["../../../src/cli/setup/resolveRemoteRepository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE1D,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAChE,OAAO,EAEN,wBAAwB,EACxB,MAAM,+BAA+B,CAAC;AAEvC,MAAM,WAAW,uBAAuB;IACvC,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAE9B;;;;OAIG;IACH,MAAM,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC;CACtC;AAED,MAAM,WAAW,qBAAqB;IACrC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,wBAAwB;IACxC,OAAO,CAAC,EAAE,qBAAqB,GAAG,SAAS,CAAC;IAC5C,MAAM,EAAE,KAAK,GAAG,iBAAiB,GAAG,SAAS,CAAC;CAC9C;AAED,wBAAsB,uBAAuB,CAC5C,YAAY,SAAS,QAAQ,EAC7B,WAAW,EAEX,OAAO,EAAE,YAAY,EACrB,OAAO,EAAE,wBAAwB,EACjC,OAAO,EAAE,uBAAuB,EAChC,KAAK,EAAE,cAAc,EACrB,MAAM,EAAE,WAAW,EACnB,QAAQ,EAAE,QAAQ,CAAC,YAAY,EAAE,WAAW,CAAC,GAC3C,OAAO,CAAC,wBAAwB,CAAC,CA8DnC"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { createRepositoryOnGitHub, } from "./createRepositoryOnGitHub.js";
|
|
2
|
+
export async function resolveRemoteRepository(display, locator, request, skips, system, template) {
|
|
3
|
+
if (request.offline) {
|
|
4
|
+
return {
|
|
5
|
+
message: {
|
|
6
|
+
level: "info",
|
|
7
|
+
text: "Running in --offline mode, which skips network requests and remote repository syncing.",
|
|
8
|
+
},
|
|
9
|
+
remote: undefined,
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
if (!system.fetchers.octokit) {
|
|
13
|
+
return {
|
|
14
|
+
message: {
|
|
15
|
+
level: "info",
|
|
16
|
+
text: "No GitHub credentials found. Running without syncing to a remote GitHub repository.",
|
|
17
|
+
},
|
|
18
|
+
remote: undefined,
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
if (skips.requests) {
|
|
22
|
+
return {
|
|
23
|
+
message: {
|
|
24
|
+
level: "info",
|
|
25
|
+
text: "Running without syncing to a remote GitHub repository due to --skip-requests.",
|
|
26
|
+
},
|
|
27
|
+
remote: undefined,
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
const existingRemote = await resolveExistingRemote(request.remote, system.runner);
|
|
31
|
+
if (existingRemote) {
|
|
32
|
+
return {
|
|
33
|
+
message: {
|
|
34
|
+
level: "info",
|
|
35
|
+
text: `Synchronizing repository with remote on GitHub: ${existingRemote}.`,
|
|
36
|
+
},
|
|
37
|
+
remote: existingRemote,
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
const createdRemote = await createRepositoryOnGitHub(display, locator, request.offline, system.fetchers.octokit, system.runner, template);
|
|
41
|
+
return {
|
|
42
|
+
message: {
|
|
43
|
+
level: "info",
|
|
44
|
+
text: `Created new remote repository on GitHub: ${createdRemote}.`,
|
|
45
|
+
},
|
|
46
|
+
remote: createdRemote,
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=resolveRemoteRepository.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolveRemoteRepository.js","sourceRoot":"","sources":["../../../src/cli/setup/resolveRemoteRepository.ts"],"names":[],"mappings":"AAOA,OAAO,EACN,wBAAwB,GAExB,MAAM,+BAA+B,CAAC;AAuBvC,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAI5C,OAAqB,EACrB,OAAiC,EACjC,OAAgC,EAChC,KAAqB,EACrB,MAAmB,EACnB,QAA6C;IAE7C,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACrB,OAAO;YACN,OAAO,EAAE;gBACR,KAAK,EAAE,MAAM;gBACb,IAAI,EAAE,wFAAwF;aAC9F;YACD,MAAM,EAAE,SAAS;SACjB,CAAC;IACH,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QAC9B,OAAO;YACN,OAAO,EAAE;gBACR,KAAK,EAAE,MAAM;gBACb,IAAI,EAAE,qFAAqF;aAC3F;YACD,MAAM,EAAE,SAAS;SACjB,CAAC;IACH,CAAC;IAED,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QACpB,OAAO;YACN,OAAO,EAAE;gBACR,KAAK,EAAE,MAAM;gBACb,IAAI,EAAE,+EAA+E;aACrF;YACD,MAAM,EAAE,SAAS;SACjB,CAAC;IACH,CAAC;IAED,MAAM,cAAc,GAAG,MAAM,qBAAqB,CACjD,OAAO,CAAC,MAAM,EACd,MAAM,CAAC,MAAM,CACb,CAAC;IAEF,IAAI,cAAc,EAAE,CAAC;QACpB,OAAO;YACN,OAAO,EAAE;gBACR,KAAK,EAAE,MAAM;gBACb,IAAI,EAAE,mDAAmD,cAAc,GAAG;aAC1E;YACD,MAAM,EAAE,cAAc;SACtB,CAAC;IACH,CAAC;IAED,MAAM,aAAa,GAAG,MAAM,wBAAwB,CACnD,OAAO,EACP,OAAO,EACP,OAAO,CAAC,OAAO,EACf,MAAM,CAAC,QAAQ,CAAC,OAAO,EACvB,MAAM,CAAC,MAAM,EACb,QAAQ,CACR,CAAC;IAEF,OAAO;QACN,OAAO,EAAE;YACR,KAAK,EAAE,MAAM;YACb,IAAI,EAAE,4CAA4C,aAAa,GAAG;SAClE;QACD,MAAM,EAAE,aAAa;KACrB,CAAC;AACH,CAAC"}
|
|
@@ -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 RunModeSetupSettings
|
|
5
|
+
export interface RunModeSetupSettings {
|
|
7
6
|
argv: string[];
|
|
8
7
|
directory?: string;
|
|
9
8
|
display: ClackDisplay;
|
|
10
9
|
from: string;
|
|
11
10
|
offline?: boolean;
|
|
11
|
+
remote?: boolean;
|
|
12
12
|
repository?: string;
|
|
13
13
|
skips?: RequestedSkips;
|
|
14
|
-
template: Template
|
|
14
|
+
template: Template;
|
|
15
15
|
}
|
|
16
|
-
export declare function runModeSetup
|
|
16
|
+
export declare function runModeSetup({ argv, repository: requestedRepository, directory: requestedDirectory, display, from, offline, remote: requestedRemote, skips, template, }: RunModeSetupSettings): Promise<ModeResults>;
|
|
17
17
|
//# sourceMappingURL=runModeSetup.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runModeSetup.d.ts","sourceRoot":"","sources":["../../../src/cli/setup/runModeSetup.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"runModeSetup.d.ts","sourceRoot":"","sources":["../../../src/cli/setup/runModeSetup.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAYhE,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG1C,MAAM,WAAW,oBAAoB;IACpC,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,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,QAAQ,EAAE,QAAQ,CAAC;CACnB;AAED,wBAAsB,YAAY,CAAC,EAClC,IAAI,EACJ,UAAU,EAAE,mBAAmB,EAC/B,SAAS,EAAE,kBAAwC,EACnD,OAAO,EACP,IAAI,EACJ,OAAe,EACf,MAAM,EAAE,eAAe,EACvB,KAAU,EACV,QAAQ,GACR,EAAE,oBAAoB,GAAG,OAAO,CAAC,WAAW,CAAC,CAuI7C"}
|
|
@@ -4,22 +4,20 @@ import { z } from "zod";
|
|
|
4
4
|
import { createSystemContextWithAuth } from "../../contexts/createSystemContextWithAuth.js";
|
|
5
5
|
import { prepareOptions } from "../../preparation/prepareOptions.js";
|
|
6
6
|
import { runTemplate } from "../../runners/runTemplate.js";
|
|
7
|
-
import { clearLocalGitTags } from "../clearLocalGitTags.js";
|
|
8
|
-
import { createInitialCommit } from "../createInitialCommit.js";
|
|
9
7
|
import { runSpinnerTask } from "../display/runSpinnerTask.js";
|
|
10
|
-
import {
|
|
8
|
+
import { GitRepositoryType } from "../getGitRepositoryType.js";
|
|
11
9
|
import { logRerunSuggestion } from "../loggers/logRerunSuggestion.js";
|
|
12
10
|
import { logStartText } from "../loggers/logStartText.js";
|
|
13
11
|
import { CLIMessage } from "../messages.js";
|
|
14
12
|
import { parseZodArgs } from "../parsers/parseZodArgs.js";
|
|
15
13
|
import { promptForDirectory } from "../prompts/promptForDirectory.js";
|
|
16
14
|
import { promptForOptionSchemas } from "../prompts/promptForOptionSchemas.js";
|
|
15
|
+
import { prepareGitRepository } from "../repository/prepareGitRepository.js";
|
|
16
|
+
import { resolveLocalRepository } from "../repository/resolveLocalRepository.js";
|
|
17
17
|
import { CLIStatus } from "../status.js";
|
|
18
18
|
import { makeRelative } from "../utils.js";
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
export async function runModeSetup({ argv, repository: requestedRepository, directory: requestedDirectory = requestedRepository, display, from, offline: requestedOffline = false, skips = {}, template, }) {
|
|
22
|
-
logStartText("setup", requestedOffline);
|
|
19
|
+
export async function runModeSetup({ argv, repository: requestedRepository, directory: requestedDirectory = requestedRepository, display, from, offline = false, remote: requestedRemote, skips = {}, template, }) {
|
|
20
|
+
logStartText("setup", offline);
|
|
23
21
|
const directory = await promptForDirectory({
|
|
24
22
|
requestedDirectory,
|
|
25
23
|
requestedRepository,
|
|
@@ -31,7 +29,7 @@ export async function runModeSetup({ argv, repository: requestedRepository, dire
|
|
|
31
29
|
const system = await createSystemContextWithAuth({
|
|
32
30
|
directory,
|
|
33
31
|
display,
|
|
34
|
-
offline
|
|
32
|
+
offline,
|
|
35
33
|
});
|
|
36
34
|
const providedOptions = parseZodArgs(argv, {
|
|
37
35
|
directory: z.string().optional(),
|
|
@@ -43,7 +41,7 @@ export async function runModeSetup({ argv, repository: requestedRepository, dire
|
|
|
43
41
|
return await prepareOptions(template, {
|
|
44
42
|
...system,
|
|
45
43
|
existing: { ...providedOptions, directory },
|
|
46
|
-
offline
|
|
44
|
+
offline,
|
|
47
45
|
});
|
|
48
46
|
});
|
|
49
47
|
if (preparedOptions instanceof Error) {
|
|
@@ -64,21 +62,13 @@ export async function runModeSetup({ argv, repository: requestedRepository, dire
|
|
|
64
62
|
logRerunSuggestion(argv, baseOptions.prompted);
|
|
65
63
|
return { status: CLIStatus.Cancelled };
|
|
66
64
|
}
|
|
67
|
-
const {
|
|
68
|
-
? { offline: true, remote: undefined }
|
|
69
|
-
: skips.requests
|
|
70
|
-
? {
|
|
71
|
-
offline: false,
|
|
72
|
-
remote: undefined,
|
|
73
|
-
warning: "Running without creating a repository on GitHub due to --skip-requests.",
|
|
74
|
-
}
|
|
75
|
-
: await createRepositoryOnGitHub(display, { repository, ...baseOptions.completed }, requestedOffline, system.fetchers.octokit, system.runner, template);
|
|
65
|
+
const { message, remote, repositoryType } = await resolveLocalRepository(display, { repository, ...baseOptions.completed }, { offline, remote: requestedRemote }, system, template);
|
|
76
66
|
if (remote instanceof Error) {
|
|
77
67
|
logRerunSuggestion(argv, baseOptions.prompted);
|
|
78
68
|
return { error: remote, status: CLIStatus.Error };
|
|
79
69
|
}
|
|
80
|
-
if (
|
|
81
|
-
prompts.log.
|
|
70
|
+
if (message) {
|
|
71
|
+
prompts.log[message.level](message.text);
|
|
82
72
|
}
|
|
83
73
|
const descriptor = template.about?.name ?? from;
|
|
84
74
|
const creation = await runSpinnerTask(display, `Running the ${descriptor} template`, `Ran the ${descriptor} template`, async () => await runTemplate(template, {
|
|
@@ -87,7 +77,10 @@ export async function runModeSetup({ argv, repository: requestedRepository, dire
|
|
|
87
77
|
mode: "setup",
|
|
88
78
|
offline,
|
|
89
79
|
options: baseOptions.completed,
|
|
90
|
-
skips
|
|
80
|
+
skips: {
|
|
81
|
+
...skips,
|
|
82
|
+
requests: skips.requests ?? !remote,
|
|
83
|
+
},
|
|
91
84
|
}));
|
|
92
85
|
if (creation instanceof Error) {
|
|
93
86
|
logRerunSuggestion(argv, baseOptions.prompted);
|
|
@@ -96,24 +89,16 @@ export async function runModeSetup({ argv, repository: requestedRepository, dire
|
|
|
96
89
|
status: CLIStatus.Error,
|
|
97
90
|
};
|
|
98
91
|
}
|
|
99
|
-
const preparationError =
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
"
|
|
108
|
-
|
|
109
|
-
...(remote
|
|
110
|
-
? [
|
|
111
|
-
"",
|
|
112
|
-
"It's also pushed to GitHub on:",
|
|
113
|
-
` ${chalk.green(`https://github.com/${remote.owner}/${remote.repository}`)}`,
|
|
114
|
-
]
|
|
115
|
-
: []),
|
|
116
|
-
].join("\n"));
|
|
92
|
+
const preparationError = repositoryType !== GitRepositoryType.Subdirectory &&
|
|
93
|
+
(await runSpinnerTask(display, "Preparing local Git repository", "Prepared local Git repository", async () => {
|
|
94
|
+
await prepareGitRepository(remote, system.runner);
|
|
95
|
+
}));
|
|
96
|
+
if (!remote && repositoryType !== GitRepositoryType.Subdirectory) {
|
|
97
|
+
prompts.log.info([
|
|
98
|
+
`Run ${chalk.blue(`${argv[1]} --remote`)} in ${chalk.green(makeRelative(directory))}`,
|
|
99
|
+
`to create and sync a remote repository on GitHub.`,
|
|
100
|
+
].join("\n"));
|
|
101
|
+
}
|
|
117
102
|
logRerunSuggestion(argv, baseOptions.prompted);
|
|
118
103
|
if (preparationError) {
|
|
119
104
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runModeSetup.js","sourceRoot":"","sources":["../../../src/cli/setup/runModeSetup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,2BAA2B,EAAE,MAAM,+CAA+C,CAAC;AAC5F,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAI3D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"runModeSetup.js","sourceRoot":"","sources":["../../../src/cli/setup/runModeSetup.ts"],"names":[],"mappings":"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"}
|