@slicemachine/init 1.0.2-alpha.15 → 1.0.2-alpha.16
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.
|
@@ -26,6 +26,7 @@ exports.maybeExistingRepo = exports.sortReposForPrompt = exports.maybeStickTheRe
|
|
|
26
26
|
const inquirer = __importStar(require("inquirer"));
|
|
27
27
|
const separator_1 = __importDefault(require("inquirer/lib/objects/separator"));
|
|
28
28
|
const core_1 = require("@slicemachine/core");
|
|
29
|
+
const cookie_1 = require("@slicemachine/core/build/src/utils/cookie");
|
|
29
30
|
exports.CREATE_REPO = "$_CREATE_REPO";
|
|
30
31
|
const DEFAULT_BASE = core_1.Utils.CONSTS.DEFAULT_BASE;
|
|
31
32
|
function prettyRepoName(address, value) {
|
|
@@ -54,20 +55,19 @@ async function promptForRepoName(base) {
|
|
|
54
55
|
}
|
|
55
56
|
exports.promptForRepoName = promptForRepoName;
|
|
56
57
|
function makeReposPretty(base) {
|
|
57
|
-
return function (
|
|
58
|
-
const [repoName, { role }] = arg;
|
|
58
|
+
return function ({ name, domain, role }) {
|
|
59
59
|
const address = new URL(base);
|
|
60
|
-
address.hostname = `${
|
|
60
|
+
address.hostname = `${domain}.${address.hostname}`;
|
|
61
61
|
if (core_1.Utils.roles.canUpdateCustomTypes(role) === false) {
|
|
62
62
|
return {
|
|
63
|
-
name: `${core_1.Utils.purple.dim("Use")} ${core_1.Utils.bold.dim(
|
|
64
|
-
value:
|
|
63
|
+
name: `${core_1.Utils.purple.dim("Use")} ${core_1.Utils.bold.dim(name)} ${core_1.Utils.purple.dim(`"${address.hostname}"`)}`,
|
|
64
|
+
value: domain,
|
|
65
65
|
disabled: "Unauthorized",
|
|
66
66
|
};
|
|
67
67
|
}
|
|
68
68
|
return {
|
|
69
|
-
name: `${core_1.Utils.purple("Use")} ${core_1.Utils.bold(
|
|
70
|
-
value:
|
|
69
|
+
name: `${core_1.Utils.purple("Use")} ${core_1.Utils.bold(name)} ${core_1.Utils.purple(`"${address.hostname}"`)}`,
|
|
70
|
+
value: name,
|
|
71
71
|
};
|
|
72
72
|
};
|
|
73
73
|
}
|
|
@@ -103,7 +103,7 @@ function sortReposForPrompt(repos, base, cwd) {
|
|
|
103
103
|
value: exports.CREATE_REPO,
|
|
104
104
|
};
|
|
105
105
|
const maybeConfiguredRepoName = core_1.FileSystem.maybeRepoNameFromSMFile(cwd, base);
|
|
106
|
-
return
|
|
106
|
+
return repos
|
|
107
107
|
.reverse()
|
|
108
108
|
.map(makeReposPretty(base))
|
|
109
109
|
.reduce(maybeStickTheRepoToTheTopOfTheList(maybeConfiguredRepoName), [
|
|
@@ -112,9 +112,10 @@ function sortReposForPrompt(repos, base, cwd) {
|
|
|
112
112
|
.sort(orderPrompts(maybeConfiguredRepoName));
|
|
113
113
|
}
|
|
114
114
|
exports.sortReposForPrompt = sortReposForPrompt;
|
|
115
|
-
async function maybeExistingRepo(
|
|
116
|
-
const
|
|
117
|
-
|
|
115
|
+
async function maybeExistingRepo(cookies, cwd, base = DEFAULT_BASE) {
|
|
116
|
+
const token = (0, cookie_1.parsePrismicAuthToken)(cookies);
|
|
117
|
+
const repos = await core_1.Communication.listRepositories(token);
|
|
118
|
+
if (repos.length === 0) {
|
|
118
119
|
const name = await promptForRepoName(base);
|
|
119
120
|
return { existing: false, name };
|
|
120
121
|
}
|
|
@@ -142,4 +143,4 @@ async function maybeExistingRepo(cookie, cwd, base = DEFAULT_BASE) {
|
|
|
142
143
|
return { existing: true, name: res.repoName };
|
|
143
144
|
}
|
|
144
145
|
exports.maybeExistingRepo = maybeExistingRepo;
|
|
145
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
146
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF5YmUtZXhpc3RpbmctcmVwby5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdGVwcy9tYXliZS1leGlzdGluZy1yZXBvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxtREFBcUM7QUFDckMsK0VBQXVEO0FBQ3ZELDZDQUFzRTtBQUd0RSxzRUFBa0Y7QUFFckUsUUFBQSxXQUFXLEdBQUcsZUFBZSxDQUFDO0FBQzNDLE1BQU0sWUFBWSxHQUFHLFlBQUssQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDO0FBRS9DLFNBQWdCLGNBQWMsQ0FBQyxPQUFZLEVBQUUsS0FBYztJQUN6RCxNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLFlBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3pFLE9BQU8sR0FBRyxZQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxRQUFRLElBQUksQ0FBQyxHQUFHLFFBQVEsR0FBRyxZQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FDM0UsSUFBSSxPQUFPLENBQUMsUUFBUSxFQUFFLENBQ3ZCLEVBQUUsQ0FBQztBQUNOLENBQUM7QUFMRCx3Q0FLQztBQUVNLEtBQUssVUFBVSxpQkFBaUIsQ0FBQyxJQUFZO0lBQ2xELE1BQU0sT0FBTyxHQUFHLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRTlCLFlBQUssQ0FBQyxTQUFTLENBQ2IsMkZBQTJGLENBQzVGLENBQUM7SUFFRixPQUFPLFFBQVE7U0FDWixNQUFNLENBQXlCO1FBQzlCO1lBQ0UsSUFBSSxFQUFFLFVBQVU7WUFDaEIsT0FBTyxFQUFFLDhCQUE4QjtZQUN2QyxJQUFJLEVBQUUsT0FBTztZQUNiLFFBQVEsRUFBRSxJQUFJO1lBQ2Qs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
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@slicemachine/init",
|
|
3
|
-
"version": "1.0.2-alpha.
|
|
3
|
+
"version": "1.0.2-alpha.16",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "The easiest way to add Slice Machine to your project",
|
|
6
6
|
"bin": {
|
|
@@ -42,10 +42,10 @@
|
|
|
42
42
|
"typescript": "^4.4.3"
|
|
43
43
|
},
|
|
44
44
|
"dependencies": {
|
|
45
|
-
"@slicemachine/core": "1.0.2-alpha.
|
|
45
|
+
"@slicemachine/core": "1.0.2-alpha.16",
|
|
46
46
|
"fp-ts": "^2.11.5",
|
|
47
47
|
"inquirer": "^8.2.0",
|
|
48
48
|
"io-ts": "^2.2.16"
|
|
49
49
|
},
|
|
50
|
-
"gitHead": "
|
|
50
|
+
"gitHead": "993f03aed40d0738174a30320dc78d3773de2f42"
|
|
51
51
|
}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import * as inquirer from "inquirer";
|
|
2
2
|
import Separator from "inquirer/lib/objects/separator";
|
|
3
3
|
import { Communication, Utils, FileSystem } from "@slicemachine/core";
|
|
4
|
-
import {
|
|
4
|
+
import { Repositories } from "@slicemachine/core/src/models/Repositories";
|
|
5
|
+
import { Repository } from "@slicemachine/core/src/models/Repository";
|
|
6
|
+
import { parsePrismicAuthToken } from "@slicemachine/core/build/src/utils/cookie";
|
|
5
7
|
|
|
6
8
|
export const CREATE_REPO = "$_CREATE_REPO"; // not a valid domain name
|
|
7
9
|
const DEFAULT_BASE = Utils.CONSTS.DEFAULT_BASE;
|
|
@@ -48,30 +50,24 @@ export type PromptOrSeparator = RepoPrompt | Separator;
|
|
|
48
50
|
export type RepoPrompts = Array<PromptOrSeparator>;
|
|
49
51
|
|
|
50
52
|
export function makeReposPretty(base: string) {
|
|
51
|
-
return function (
|
|
52
|
-
arg: [
|
|
53
|
-
string,
|
|
54
|
-
{ role: Utils.roles.Roles | Record<string, Utils.roles.Roles> }
|
|
55
|
-
]
|
|
56
|
-
): RepoPrompt {
|
|
57
|
-
const [repoName, { role }] = arg;
|
|
53
|
+
return function ({ name, domain, role }: Repository): RepoPrompt {
|
|
58
54
|
const address = new URL(base);
|
|
59
|
-
address.hostname = `${
|
|
55
|
+
address.hostname = `${domain}.${address.hostname}`;
|
|
60
56
|
if (Utils.roles.canUpdateCustomTypes(role) === false) {
|
|
61
57
|
return {
|
|
62
58
|
name: `${Utils.purple.dim("Use")} ${Utils.bold.dim(
|
|
63
|
-
|
|
59
|
+
name
|
|
64
60
|
)} ${Utils.purple.dim(`"${address.hostname}"`)}`,
|
|
65
|
-
value:
|
|
61
|
+
value: domain,
|
|
66
62
|
disabled: "Unauthorized",
|
|
67
63
|
};
|
|
68
64
|
}
|
|
69
65
|
|
|
70
66
|
return {
|
|
71
|
-
name: `${Utils.purple("Use")} ${Utils.bold(
|
|
67
|
+
name: `${Utils.purple("Use")} ${Utils.bold(name)} ${Utils.purple(
|
|
72
68
|
`"${address.hostname}"`
|
|
73
69
|
)}`,
|
|
74
|
-
value:
|
|
70
|
+
value: name,
|
|
75
71
|
};
|
|
76
72
|
};
|
|
77
73
|
}
|
|
@@ -97,7 +93,7 @@ export function maybeStickTheRepoToTheTopOfTheList(repoName?: string | null) {
|
|
|
97
93
|
}
|
|
98
94
|
|
|
99
95
|
export function sortReposForPrompt(
|
|
100
|
-
repos:
|
|
96
|
+
repos: Repositories,
|
|
101
97
|
base: string,
|
|
102
98
|
cwd: string
|
|
103
99
|
): RepoPrompts {
|
|
@@ -110,7 +106,7 @@ export function sortReposForPrompt(
|
|
|
110
106
|
|
|
111
107
|
const maybeConfiguredRepoName = FileSystem.maybeRepoNameFromSMFile(cwd, base);
|
|
112
108
|
|
|
113
|
-
return
|
|
109
|
+
return repos
|
|
114
110
|
.reverse()
|
|
115
111
|
.map(makeReposPretty(base))
|
|
116
112
|
.reduce(maybeStickTheRepoToTheTopOfTheList(maybeConfiguredRepoName), [
|
|
@@ -120,13 +116,14 @@ export function sortReposForPrompt(
|
|
|
120
116
|
}
|
|
121
117
|
|
|
122
118
|
export async function maybeExistingRepo(
|
|
123
|
-
|
|
119
|
+
cookies: string,
|
|
124
120
|
cwd: string,
|
|
125
121
|
base = DEFAULT_BASE
|
|
126
122
|
): Promise<{ name: string; existing: boolean }> {
|
|
127
|
-
const
|
|
123
|
+
const token = parsePrismicAuthToken(cookies);
|
|
124
|
+
const repos = await Communication.listRepositories(token);
|
|
128
125
|
|
|
129
|
-
if (
|
|
126
|
+
if (repos.length === 0) {
|
|
130
127
|
const name = await promptForRepoName(base);
|
|
131
128
|
return { existing: false, name };
|
|
132
129
|
}
|