@slicemachine/manager 0.25.2-beta.11 → 0.25.2-beta.13
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/dist/_node_modules/execa/index.cjs +8 -70
- package/dist/_node_modules/execa/index.cjs.map +1 -1
- package/dist/_node_modules/execa/index.js +2 -64
- package/dist/_node_modules/execa/index.js.map +1 -1
- package/dist/_node_modules/execa/lib/stream.cjs +0 -15
- package/dist/_node_modules/execa/lib/stream.cjs.map +1 -1
- package/dist/_node_modules/execa/lib/stream.js +1 -16
- package/dist/_node_modules/execa/lib/stream.js.map +1 -1
- package/dist/client/index.d.ts +0 -1
- package/dist/client.cjs +0 -2
- package/dist/client.cjs.map +1 -1
- package/dist/client.js +0 -2
- package/dist/client.js.map +1 -1
- package/dist/index.d.ts +0 -1
- package/dist/managers/SliceMachineManager.cjs +0 -3
- package/dist/managers/SliceMachineManager.cjs.map +1 -1
- package/dist/managers/SliceMachineManager.d.ts +0 -2
- package/dist/managers/SliceMachineManager.js +0 -3
- package/dist/managers/SliceMachineManager.js.map +1 -1
- package/dist/managers/telemetry/types.cjs.map +1 -1
- package/dist/managers/telemetry/types.d.ts +0 -1
- package/dist/managers/telemetry/types.js.map +1 -1
- package/package.json +2 -2
- package/src/client/index.ts +0 -2
- package/src/index.ts +0 -2
- package/src/managers/SliceMachineManager.ts +0 -4
- package/src/managers/telemetry/types.ts +0 -1
- package/dist/constants/GIT_PROVIDER.cjs +0 -7
- package/dist/constants/GIT_PROVIDER.cjs.map +0 -1
- package/dist/constants/GIT_PROVIDER.d.ts +0 -4
- package/dist/constants/GIT_PROVIDER.js +0 -7
- package/dist/constants/GIT_PROVIDER.js.map +0 -1
- package/dist/constants/GIT_PROVIDER_APP_SLUGS.cjs +0 -26
- package/dist/constants/GIT_PROVIDER_APP_SLUGS.cjs.map +0 -1
- package/dist/constants/GIT_PROVIDER_APP_SLUGS.d.ts +0 -3
- package/dist/constants/GIT_PROVIDER_APP_SLUGS.js +0 -26
- package/dist/constants/GIT_PROVIDER_APP_SLUGS.js.map +0 -1
- package/dist/managers/git/GitManager.cjs +0 -334
- package/dist/managers/git/GitManager.cjs.map +0 -1
- package/dist/managers/git/GitManager.d.ts +0 -89
- package/dist/managers/git/GitManager.js +0 -316
- package/dist/managers/git/GitManager.js.map +0 -1
- package/dist/managers/git/buildGitRepoSpecifier.cjs +0 -7
- package/dist/managers/git/buildGitRepoSpecifier.cjs.map +0 -1
- package/dist/managers/git/buildGitRepoSpecifier.d.ts +0 -19
- package/dist/managers/git/buildGitRepoSpecifier.js +0 -7
- package/dist/managers/git/buildGitRepoSpecifier.js.map +0 -1
- package/dist/managers/git/types.d.ts +0 -20
- package/src/constants/GIT_PROVIDER.ts +0 -5
- package/src/constants/GIT_PROVIDER_APP_SLUGS.ts +0 -28
- package/src/managers/git/GitManager.ts +0 -502
- package/src/managers/git/buildGitRepoSpecifier.ts +0 -24
- package/src/managers/git/types.ts +0 -26
@@ -1,334 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
var __accessCheck = (obj, member, msg) => {
|
3
|
-
if (!member.has(obj))
|
4
|
-
throw TypeError("Cannot " + msg);
|
5
|
-
};
|
6
|
-
var __privateAdd = (obj, member, value) => {
|
7
|
-
if (member.has(obj))
|
8
|
-
throw TypeError("Cannot add the same private member more than once");
|
9
|
-
member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
|
10
|
-
};
|
11
|
-
var __privateMethod = (obj, member, method) => {
|
12
|
-
__accessCheck(obj, member, "access private method");
|
13
|
-
return method;
|
14
|
-
};
|
15
|
-
var _fetch, fetch_fn;
|
16
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
17
|
-
const t = require("io-ts");
|
18
|
-
const tt = require("io-ts-types");
|
19
|
-
const index = require('./../../_node_modules/execa/index.cjs');
|
20
|
-
const fetch = require("../../lib/fetch.cjs");
|
21
|
-
const decode = require("../../lib/decode.cjs");
|
22
|
-
const API_ENDPOINTS = require("../../constants/API_ENDPOINTS.cjs");
|
23
|
-
const GIT_PROVIDER = require("../../constants/GIT_PROVIDER.cjs");
|
24
|
-
const errors = require("../../errors.cjs");
|
25
|
-
const BaseManager = require("../BaseManager.cjs");
|
26
|
-
const buildGitRepoSpecifier = require("./buildGitRepoSpecifier.cjs");
|
27
|
-
const GIT_PROVIDER_APP_SLUGS = require("../../constants/GIT_PROVIDER_APP_SLUGS.cjs");
|
28
|
-
function _interopNamespaceDefault(e) {
|
29
|
-
const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
|
30
|
-
if (e) {
|
31
|
-
for (const k in e) {
|
32
|
-
if (k !== "default") {
|
33
|
-
const d = Object.getOwnPropertyDescriptor(e, k);
|
34
|
-
Object.defineProperty(n, k, d.get ? d : {
|
35
|
-
enumerable: true,
|
36
|
-
get: () => e[k]
|
37
|
-
});
|
38
|
-
}
|
39
|
-
}
|
40
|
-
}
|
41
|
-
n.default = e;
|
42
|
-
return Object.freeze(n);
|
43
|
-
}
|
44
|
-
const t__namespace = /* @__PURE__ */ _interopNamespaceDefault(t);
|
45
|
-
const tt__namespace = /* @__PURE__ */ _interopNamespaceDefault(tt);
|
46
|
-
class GitManager extends BaseManager.BaseManager {
|
47
|
-
constructor() {
|
48
|
-
super(...arguments);
|
49
|
-
__privateAdd(this, _fetch);
|
50
|
-
}
|
51
|
-
async createGitHubAuthState() {
|
52
|
-
const url = new URL("./git/github/create-auth-state", API_ENDPOINTS.API_ENDPOINTS.SliceMachineV1);
|
53
|
-
const res = await __privateMethod(this, _fetch, fetch_fn).call(this, url, { method: "POST" });
|
54
|
-
if (!res.ok) {
|
55
|
-
switch (res.status) {
|
56
|
-
case 401:
|
57
|
-
throw new errors.UnauthorizedError();
|
58
|
-
default:
|
59
|
-
throw new Error("Failed to create GitHub auth state.");
|
60
|
-
}
|
61
|
-
}
|
62
|
-
const json = await res.json();
|
63
|
-
const { value, error } = decode.decode(t__namespace.type({
|
64
|
-
key: t__namespace.string,
|
65
|
-
expiresAt: tt__namespace.DateFromISOString
|
66
|
-
}), json);
|
67
|
-
if (error) {
|
68
|
-
throw new errors.UnexpectedDataError(`Failed to decode GitHub auth state: ${error.errors.join(", ")}`, { cause: error });
|
69
|
-
}
|
70
|
-
return value;
|
71
|
-
}
|
72
|
-
async fetchOwners() {
|
73
|
-
const url = new URL("./git/owners", API_ENDPOINTS.API_ENDPOINTS.SliceMachineV1);
|
74
|
-
const res = await __privateMethod(this, _fetch, fetch_fn).call(this, url);
|
75
|
-
if (!res.ok) {
|
76
|
-
switch (res.status) {
|
77
|
-
case 401:
|
78
|
-
throw new errors.UnauthenticatedError();
|
79
|
-
case 403:
|
80
|
-
throw new errors.UnauthorizedError();
|
81
|
-
default:
|
82
|
-
throw new Error("Failed to fetch owners.");
|
83
|
-
}
|
84
|
-
}
|
85
|
-
const json = await res.json();
|
86
|
-
const { value, error } = decode.decode(t__namespace.type({
|
87
|
-
owners: t__namespace.array(t__namespace.type({
|
88
|
-
provider: t__namespace.literal(GIT_PROVIDER.GIT_PROVIDER.GitHub),
|
89
|
-
id: t__namespace.string,
|
90
|
-
name: t__namespace.string,
|
91
|
-
type: t__namespace.union([t__namespace.literal("user"), t__namespace.literal("team"), t__namespace.null])
|
92
|
-
}))
|
93
|
-
}), json);
|
94
|
-
if (error) {
|
95
|
-
throw new errors.UnexpectedDataError(`Failed to decode owners: ${error.errors.join(", ")}`, { cause: error });
|
96
|
-
}
|
97
|
-
return value.owners;
|
98
|
-
}
|
99
|
-
async fetchRepos(args) {
|
100
|
-
const url = new URL("./git/repos", API_ENDPOINTS.API_ENDPOINTS.SliceMachineV1);
|
101
|
-
url.searchParams.set("provider", args.provider);
|
102
|
-
url.searchParams.set("owner", args.owner);
|
103
|
-
if (args.query) {
|
104
|
-
url.searchParams.set("q", args.query);
|
105
|
-
}
|
106
|
-
if (args.page && args.page > 0) {
|
107
|
-
url.searchParams.set("page", args.page.toString());
|
108
|
-
}
|
109
|
-
const res = await __privateMethod(this, _fetch, fetch_fn).call(this, url);
|
110
|
-
if (!res.ok) {
|
111
|
-
switch (res.status) {
|
112
|
-
case 401:
|
113
|
-
throw new errors.UnauthenticatedError();
|
114
|
-
case 403:
|
115
|
-
throw new errors.UnauthorizedError();
|
116
|
-
default:
|
117
|
-
throw new Error("Failed to fetch repos.");
|
118
|
-
}
|
119
|
-
}
|
120
|
-
const json = await res.json();
|
121
|
-
const { value, error } = decode.decode(t__namespace.type({
|
122
|
-
repos: t__namespace.array(t__namespace.type({
|
123
|
-
provider: t__namespace.literal(GIT_PROVIDER.GIT_PROVIDER.GitHub),
|
124
|
-
id: t__namespace.string,
|
125
|
-
owner: t__namespace.string,
|
126
|
-
name: t__namespace.string,
|
127
|
-
url: t__namespace.string,
|
128
|
-
pushedAt: tt__namespace.DateFromISOString
|
129
|
-
}))
|
130
|
-
}), json);
|
131
|
-
if (error) {
|
132
|
-
throw new errors.UnexpectedDataError(`Failed to decode repos: ${error.errors.join(", ")}`, { cause: error });
|
133
|
-
}
|
134
|
-
return value.repos;
|
135
|
-
}
|
136
|
-
async fetchLinkedRepos(args) {
|
137
|
-
const url = new URL("./git/linked-repos", API_ENDPOINTS.API_ENDPOINTS.SliceMachineV1);
|
138
|
-
url.searchParams.set("repository", args.prismic.domain);
|
139
|
-
const res = await __privateMethod(this, _fetch, fetch_fn).call(this, url);
|
140
|
-
if (!res.ok) {
|
141
|
-
switch (res.status) {
|
142
|
-
case 401:
|
143
|
-
throw new errors.UnauthenticatedError();
|
144
|
-
case 403:
|
145
|
-
throw new errors.UnauthorizedError();
|
146
|
-
default:
|
147
|
-
throw new Error("Failed to fetch linked repos.");
|
148
|
-
}
|
149
|
-
}
|
150
|
-
const json = await res.json();
|
151
|
-
const { value, error } = decode.decode(t__namespace.type({
|
152
|
-
repos: t__namespace.array(t__namespace.type({
|
153
|
-
provider: t__namespace.literal(GIT_PROVIDER.GIT_PROVIDER.GitHub),
|
154
|
-
owner: t__namespace.string,
|
155
|
-
name: t__namespace.string
|
156
|
-
}))
|
157
|
-
}), json);
|
158
|
-
if (error) {
|
159
|
-
throw new errors.UnexpectedDataError(`Failed to decode linked repos: ${error.errors.join(", ")}`, { cause: error });
|
160
|
-
}
|
161
|
-
return value.repos;
|
162
|
-
}
|
163
|
-
async linkRepo(args) {
|
164
|
-
const url = new URL("./git/linked-repos", API_ENDPOINTS.API_ENDPOINTS.SliceMachineV1);
|
165
|
-
const res = await __privateMethod(this, _fetch, fetch_fn).call(this, url, {
|
166
|
-
method: "PUT",
|
167
|
-
body: {
|
168
|
-
prismic: {
|
169
|
-
domain: args.prismic.domain
|
170
|
-
},
|
171
|
-
git: {
|
172
|
-
provider: args.git.provider,
|
173
|
-
owner: args.git.owner,
|
174
|
-
name: args.git.name
|
175
|
-
}
|
176
|
-
}
|
177
|
-
});
|
178
|
-
if (!res.ok) {
|
179
|
-
switch (res.status) {
|
180
|
-
case 401:
|
181
|
-
throw new errors.UnauthenticatedError();
|
182
|
-
case 403:
|
183
|
-
throw new errors.UnauthorizedError();
|
184
|
-
default:
|
185
|
-
throw new Error("Failed to link repos.");
|
186
|
-
}
|
187
|
-
}
|
188
|
-
}
|
189
|
-
async unlinkRepo(args) {
|
190
|
-
const url = new URL("./git/linked-repos", API_ENDPOINTS.API_ENDPOINTS.SliceMachineV1);
|
191
|
-
const res = await __privateMethod(this, _fetch, fetch_fn).call(this, url, {
|
192
|
-
method: "DELETE",
|
193
|
-
body: {
|
194
|
-
prismic: {
|
195
|
-
domain: args.prismic.domain
|
196
|
-
},
|
197
|
-
git: {
|
198
|
-
provider: args.git.provider,
|
199
|
-
owner: args.git.owner,
|
200
|
-
name: args.git.name
|
201
|
-
}
|
202
|
-
}
|
203
|
-
});
|
204
|
-
if (!res.ok) {
|
205
|
-
switch (res.status) {
|
206
|
-
case 401:
|
207
|
-
throw new errors.UnauthenticatedError();
|
208
|
-
case 403:
|
209
|
-
throw new errors.UnauthorizedError();
|
210
|
-
default:
|
211
|
-
throw new Error("Failed to unlink repos.");
|
212
|
-
}
|
213
|
-
}
|
214
|
-
}
|
215
|
-
async checkHasWriteAPIToken(args) {
|
216
|
-
const url = new URL("./git/linked-repos/write-api-token", API_ENDPOINTS.API_ENDPOINTS.SliceMachineV1);
|
217
|
-
url.searchParams.set("repository", args.prismic.domain);
|
218
|
-
url.searchParams.set("git", buildGitRepoSpecifier.buildGitRepoSpecifier({
|
219
|
-
provider: args.git.provider,
|
220
|
-
owner: args.git.owner,
|
221
|
-
name: args.git.name
|
222
|
-
}));
|
223
|
-
const res = await __privateMethod(this, _fetch, fetch_fn).call(this, url);
|
224
|
-
if (!res.ok) {
|
225
|
-
switch (res.status) {
|
226
|
-
case 401:
|
227
|
-
throw new errors.UnauthenticatedError();
|
228
|
-
case 403:
|
229
|
-
throw new errors.UnauthorizedError();
|
230
|
-
default:
|
231
|
-
throw new Error("Failed to check Prismic Write API token.");
|
232
|
-
}
|
233
|
-
}
|
234
|
-
const json = await res.json();
|
235
|
-
const { value, error } = decode.decode(t__namespace.type({
|
236
|
-
hasWriteAPIToken: t__namespace.boolean
|
237
|
-
}), json);
|
238
|
-
if (error) {
|
239
|
-
throw new errors.UnexpectedDataError(`Failed to decode: ${error.errors.join(", ")}`, { cause: error });
|
240
|
-
}
|
241
|
-
return value.hasWriteAPIToken;
|
242
|
-
}
|
243
|
-
async updateWriteAPIToken(args) {
|
244
|
-
const url = new URL("./git/linked-repos/write-api-token", API_ENDPOINTS.API_ENDPOINTS.SliceMachineV1);
|
245
|
-
const res = await __privateMethod(this, _fetch, fetch_fn).call(this, url, {
|
246
|
-
method: "PUT",
|
247
|
-
body: {
|
248
|
-
prismic: {
|
249
|
-
domain: args.prismic.domain
|
250
|
-
},
|
251
|
-
git: {
|
252
|
-
provider: args.git.provider,
|
253
|
-
owner: args.git.owner,
|
254
|
-
name: args.git.name
|
255
|
-
},
|
256
|
-
token: args.token
|
257
|
-
}
|
258
|
-
});
|
259
|
-
if (!res.ok) {
|
260
|
-
switch (res.status) {
|
261
|
-
case 401:
|
262
|
-
throw new errors.UnauthenticatedError();
|
263
|
-
case 403:
|
264
|
-
throw new errors.UnauthorizedError();
|
265
|
-
default:
|
266
|
-
throw new Error("Failed to update Prismic Write API token.");
|
267
|
-
}
|
268
|
-
}
|
269
|
-
}
|
270
|
-
async deleteWriteAPIToken(args) {
|
271
|
-
const url = new URL("./git/linked-repos/write-api-token", API_ENDPOINTS.API_ENDPOINTS.SliceMachineV1);
|
272
|
-
const res = await __privateMethod(this, _fetch, fetch_fn).call(this, url, {
|
273
|
-
method: "DELETE",
|
274
|
-
body: {
|
275
|
-
prismic: {
|
276
|
-
domain: args.prismic.domain
|
277
|
-
},
|
278
|
-
git: {
|
279
|
-
provider: args.git.provider,
|
280
|
-
owner: args.git.owner,
|
281
|
-
name: args.git.name
|
282
|
-
}
|
283
|
-
}
|
284
|
-
});
|
285
|
-
if (!res.ok) {
|
286
|
-
switch (res.status) {
|
287
|
-
case 401:
|
288
|
-
throw new errors.UnauthenticatedError();
|
289
|
-
case 403:
|
290
|
-
throw new errors.UnauthorizedError();
|
291
|
-
default:
|
292
|
-
throw new Error("Failed to delete Prismic Write API token.");
|
293
|
-
}
|
294
|
-
}
|
295
|
-
}
|
296
|
-
async getProviderAppInstallURL(args) {
|
297
|
-
const appSlug = GIT_PROVIDER_APP_SLUGS.GIT_PROVIDER_APP_SLUGS[args.provider];
|
298
|
-
switch (args.provider) {
|
299
|
-
case GIT_PROVIDER.GIT_PROVIDER.GitHub: {
|
300
|
-
const state = await this.createGitHubAuthState();
|
301
|
-
const url = new URL(`https://github.com/apps/${appSlug}/installations/new`);
|
302
|
-
url.searchParams.set("state", state.key);
|
303
|
-
return url.toString();
|
304
|
-
}
|
305
|
-
default: {
|
306
|
-
throw new errors.UnsupportedError(`Git provider not supported: ${args.provider}.`);
|
307
|
-
}
|
308
|
-
}
|
309
|
-
}
|
310
|
-
async detectGitProvider() {
|
311
|
-
try {
|
312
|
-
const remoteUrl = index.execaCommandSync("git remote get-url origin");
|
313
|
-
const domainRegex = /(?:https?:\/\/|git@)([^:/]+)[/:]/i;
|
314
|
-
const match = remoteUrl.stdout.match(domainRegex);
|
315
|
-
const domain = (match == null ? void 0 : match[1]) ?? "";
|
316
|
-
return domain;
|
317
|
-
} catch (error) {
|
318
|
-
return "_unknown";
|
319
|
-
}
|
320
|
-
}
|
321
|
-
}
|
322
|
-
_fetch = new WeakSet();
|
323
|
-
fetch_fn = async function(url, config) {
|
324
|
-
const authenticationToken = await this.user.getAuthenticationToken();
|
325
|
-
return await fetch.default(url, {
|
326
|
-
method: config == null ? void 0 : config.method,
|
327
|
-
body: (config == null ? void 0 : config.body) ? JSON.stringify(config.body) : void 0,
|
328
|
-
headers: {
|
329
|
-
Authorization: `Bearer ${authenticationToken}`
|
330
|
-
}
|
331
|
-
});
|
332
|
-
};
|
333
|
-
exports.GitManager = GitManager;
|
334
|
-
//# sourceMappingURL=GitManager.cjs.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"GitManager.cjs","sources":["../../../../src/managers/git/GitManager.ts"],"sourcesContent":["import * as t from \"io-ts\";\nimport * as tt from \"io-ts-types\";\nimport { execaCommandSync } from \"execa\";\n\nimport fetch from \"../../lib/fetch\";\nimport { decode } from \"../../lib/decode\";\n\nimport { API_ENDPOINTS } from \"../../constants/API_ENDPOINTS\";\nimport { GitProvider, GIT_PROVIDER } from \"../../constants/GIT_PROVIDER\";\n\nimport {\n\tUnauthenticatedError,\n\tUnauthorizedError,\n\tUnexpectedDataError,\n\tUnsupportedError,\n} from \"../../errors\";\n\nimport { BaseManager } from \"../BaseManager\";\n\nimport { GitOwner, GitRepo, GitRepoSpecifier } from \"./types\";\nimport { buildGitRepoSpecifier } from \"./buildGitRepoSpecifier\";\nimport { GIT_PROVIDER_APP_SLUGS } from \"../../constants/GIT_PROVIDER_APP_SLUGS\";\n\ntype GitManagerCreateGitHubAuthStateReturnType = {\n\tkey: string;\n\texpiresAt: Date;\n};\n\ntype GitManagerFetchOwnersReturnType = GitOwner[];\n\ntype GitManagerFetchReposReturnType = GitRepo[];\n\ntype GitManagerFetchReposArgs = {\n\tprovider: GitProvider;\n\towner: string;\n\tquery?: string;\n\tpage?: number;\n};\n\ntype GitManagerFetchLinkedReposArgs = {\n\tprismic: {\n\t\tdomain: string;\n\t};\n};\n\ntype GitManagerFetchLinkedReposReturnType = GitRepoSpecifier[];\n\ntype GitManagerLinkRepoArgs = {\n\tprismic: {\n\t\tdomain: string;\n\t};\n\tgit: {\n\t\tprovider: GitProvider;\n\t\towner: string;\n\t\tname: string;\n\t};\n};\n\ntype GitManagerUnlinkRepoArgs = {\n\tprismic: {\n\t\tdomain: string;\n\t};\n\tgit: {\n\t\tprovider: GitProvider;\n\t\towner: string;\n\t\tname: string;\n\t};\n};\n\ntype CheckHasWriteAPITokenArgs = {\n\tprismic: {\n\t\tdomain: string;\n\t};\n\tgit: {\n\t\tprovider: GitProvider;\n\t\towner: string;\n\t\tname: string;\n\t};\n};\n\ntype UpdateWriteAPITokenArgs = {\n\tprismic: {\n\t\tdomain: string;\n\t};\n\tgit: {\n\t\tprovider: GitProvider;\n\t\towner: string;\n\t\tname: string;\n\t};\n\ttoken: string;\n};\n\ntype DeleteWriteAPITokenArgs = {\n\tprismic: {\n\t\tdomain: string;\n\t};\n\tgit: {\n\t\tprovider: GitProvider;\n\t\towner: string;\n\t\tname: string;\n\t};\n};\n\nexport class GitManager extends BaseManager {\n\tasync createGitHubAuthState(): Promise<GitManagerCreateGitHubAuthStateReturnType> {\n\t\tconst url = new URL(\n\t\t\t\"./git/github/create-auth-state\",\n\t\t\tAPI_ENDPOINTS.SliceMachineV1,\n\t\t);\n\t\tconst res = await this.#fetch(url, { method: \"POST\" });\n\n\t\tif (!res.ok) {\n\t\t\tswitch (res.status) {\n\t\t\t\tcase 401:\n\t\t\t\t\tthrow new UnauthorizedError();\n\t\t\t\tdefault:\n\t\t\t\t\tthrow new Error(\"Failed to create GitHub auth state.\");\n\t\t\t}\n\t\t}\n\n\t\tconst json = await res.json();\n\t\tconst { value, error } = decode(\n\t\t\tt.type({\n\t\t\t\tkey: t.string,\n\t\t\t\texpiresAt: tt.DateFromISOString,\n\t\t\t}),\n\t\t\tjson,\n\t\t);\n\n\t\tif (error) {\n\t\t\tthrow new UnexpectedDataError(\n\t\t\t\t`Failed to decode GitHub auth state: ${error.errors.join(\", \")}`,\n\t\t\t\t{ cause: error },\n\t\t\t);\n\t\t}\n\n\t\treturn value;\n\t}\n\n\tasync fetchOwners(): Promise<GitManagerFetchOwnersReturnType> {\n\t\tconst url = new URL(\"./git/owners\", API_ENDPOINTS.SliceMachineV1);\n\t\tconst res = await this.#fetch(url);\n\n\t\tif (!res.ok) {\n\t\t\tswitch (res.status) {\n\t\t\t\tcase 401:\n\t\t\t\t\tthrow new UnauthenticatedError();\n\t\t\t\tcase 403:\n\t\t\t\t\tthrow new UnauthorizedError();\n\t\t\t\tdefault:\n\t\t\t\t\tthrow new Error(\"Failed to fetch owners.\");\n\t\t\t}\n\t\t}\n\n\t\tconst json = await res.json();\n\t\tconst { value, error } = decode(\n\t\t\tt.type({\n\t\t\t\towners: t.array(\n\t\t\t\t\tt.type({\n\t\t\t\t\t\tprovider: t.literal(GIT_PROVIDER.GitHub),\n\t\t\t\t\t\tid: t.string,\n\t\t\t\t\t\tname: t.string,\n\t\t\t\t\t\ttype: t.union([t.literal(\"user\"), t.literal(\"team\"), t.null]),\n\t\t\t\t\t}),\n\t\t\t\t),\n\t\t\t}),\n\t\t\tjson,\n\t\t);\n\n\t\tif (error) {\n\t\t\tthrow new UnexpectedDataError(\n\t\t\t\t`Failed to decode owners: ${error.errors.join(\", \")}`,\n\t\t\t\t{ cause: error },\n\t\t\t);\n\t\t}\n\n\t\treturn value.owners;\n\t}\n\n\tasync fetchRepos(\n\t\targs: GitManagerFetchReposArgs,\n\t): Promise<GitManagerFetchReposReturnType> {\n\t\tconst url = new URL(\"./git/repos\", API_ENDPOINTS.SliceMachineV1);\n\t\turl.searchParams.set(\"provider\", args.provider);\n\t\turl.searchParams.set(\"owner\", args.owner);\n\t\tif (args.query) {\n\t\t\turl.searchParams.set(\"q\", args.query);\n\t\t}\n\t\tif (args.page && args.page > 0) {\n\t\t\turl.searchParams.set(\"page\", args.page.toString());\n\t\t}\n\n\t\tconst res = await this.#fetch(url);\n\n\t\tif (!res.ok) {\n\t\t\tswitch (res.status) {\n\t\t\t\tcase 401:\n\t\t\t\t\tthrow new UnauthenticatedError();\n\t\t\t\tcase 403:\n\t\t\t\t\tthrow new UnauthorizedError();\n\t\t\t\tdefault:\n\t\t\t\t\tthrow new Error(\"Failed to fetch repos.\");\n\t\t\t}\n\t\t}\n\n\t\tconst json = await res.json();\n\t\tconst { value, error } = decode(\n\t\t\tt.type({\n\t\t\t\trepos: t.array(\n\t\t\t\t\tt.type({\n\t\t\t\t\t\tprovider: t.literal(GIT_PROVIDER.GitHub),\n\t\t\t\t\t\tid: t.string,\n\t\t\t\t\t\towner: t.string,\n\t\t\t\t\t\tname: t.string,\n\t\t\t\t\t\turl: t.string,\n\t\t\t\t\t\tpushedAt: tt.DateFromISOString,\n\t\t\t\t\t}),\n\t\t\t\t),\n\t\t\t}),\n\t\t\tjson,\n\t\t);\n\n\t\tif (error) {\n\t\t\tthrow new UnexpectedDataError(\n\t\t\t\t`Failed to decode repos: ${error.errors.join(\", \")}`,\n\t\t\t\t{ cause: error },\n\t\t\t);\n\t\t}\n\n\t\treturn value.repos;\n\t}\n\n\tasync fetchLinkedRepos(\n\t\targs: GitManagerFetchLinkedReposArgs,\n\t): Promise<GitManagerFetchLinkedReposReturnType> {\n\t\tconst url = new URL(\"./git/linked-repos\", API_ENDPOINTS.SliceMachineV1);\n\t\turl.searchParams.set(\"repository\", args.prismic.domain);\n\n\t\tconst res = await this.#fetch(url);\n\n\t\tif (!res.ok) {\n\t\t\tswitch (res.status) {\n\t\t\t\tcase 401:\n\t\t\t\t\tthrow new UnauthenticatedError();\n\t\t\t\tcase 403:\n\t\t\t\t\tthrow new UnauthorizedError();\n\t\t\t\tdefault:\n\t\t\t\t\tthrow new Error(\"Failed to fetch linked repos.\");\n\t\t\t}\n\t\t}\n\n\t\tconst json = await res.json();\n\t\tconst { value, error } = decode(\n\t\t\tt.type({\n\t\t\t\trepos: t.array(\n\t\t\t\t\tt.type({\n\t\t\t\t\t\tprovider: t.literal(GIT_PROVIDER.GitHub),\n\t\t\t\t\t\towner: t.string,\n\t\t\t\t\t\tname: t.string,\n\t\t\t\t\t}),\n\t\t\t\t),\n\t\t\t}),\n\t\t\tjson,\n\t\t);\n\n\t\tif (error) {\n\t\t\tthrow new UnexpectedDataError(\n\t\t\t\t`Failed to decode linked repos: ${error.errors.join(\", \")}`,\n\t\t\t\t{ cause: error },\n\t\t\t);\n\t\t}\n\n\t\treturn value.repos;\n\t}\n\n\tasync linkRepo(args: GitManagerLinkRepoArgs): Promise<void> {\n\t\tconst url = new URL(\"./git/linked-repos\", API_ENDPOINTS.SliceMachineV1);\n\t\tconst res = await this.#fetch(url, {\n\t\t\tmethod: \"PUT\",\n\t\t\tbody: {\n\t\t\t\tprismic: {\n\t\t\t\t\tdomain: args.prismic.domain,\n\t\t\t\t},\n\t\t\t\tgit: {\n\t\t\t\t\tprovider: args.git.provider,\n\t\t\t\t\towner: args.git.owner,\n\t\t\t\t\tname: args.git.name,\n\t\t\t\t},\n\t\t\t},\n\t\t});\n\n\t\tif (!res.ok) {\n\t\t\tswitch (res.status) {\n\t\t\t\tcase 401:\n\t\t\t\t\tthrow new UnauthenticatedError();\n\t\t\t\tcase 403:\n\t\t\t\t\tthrow new UnauthorizedError();\n\t\t\t\tdefault:\n\t\t\t\t\tthrow new Error(\"Failed to link repos.\");\n\t\t\t}\n\t\t}\n\t}\n\n\tasync unlinkRepo(args: GitManagerUnlinkRepoArgs): Promise<void> {\n\t\tconst url = new URL(\"./git/linked-repos\", API_ENDPOINTS.SliceMachineV1);\n\t\tconst res = await this.#fetch(url, {\n\t\t\tmethod: \"DELETE\",\n\t\t\tbody: {\n\t\t\t\tprismic: {\n\t\t\t\t\tdomain: args.prismic.domain,\n\t\t\t\t},\n\t\t\t\tgit: {\n\t\t\t\t\tprovider: args.git.provider,\n\t\t\t\t\towner: args.git.owner,\n\t\t\t\t\tname: args.git.name,\n\t\t\t\t},\n\t\t\t},\n\t\t});\n\n\t\tif (!res.ok) {\n\t\t\tswitch (res.status) {\n\t\t\t\tcase 401:\n\t\t\t\t\tthrow new UnauthenticatedError();\n\t\t\t\tcase 403:\n\t\t\t\t\tthrow new UnauthorizedError();\n\t\t\t\tdefault:\n\t\t\t\t\tthrow new Error(\"Failed to unlink repos.\");\n\t\t\t}\n\t\t}\n\t}\n\n\tasync checkHasWriteAPIToken(\n\t\targs: CheckHasWriteAPITokenArgs,\n\t): Promise<boolean> {\n\t\tconst url = new URL(\n\t\t\t\"./git/linked-repos/write-api-token\",\n\t\t\tAPI_ENDPOINTS.SliceMachineV1,\n\t\t);\n\t\turl.searchParams.set(\"repository\", args.prismic.domain);\n\t\turl.searchParams.set(\n\t\t\t\"git\",\n\t\t\tbuildGitRepoSpecifier({\n\t\t\t\tprovider: args.git.provider,\n\t\t\t\towner: args.git.owner,\n\t\t\t\tname: args.git.name,\n\t\t\t}),\n\t\t);\n\n\t\tconst res = await this.#fetch(url);\n\n\t\tif (!res.ok) {\n\t\t\tswitch (res.status) {\n\t\t\t\tcase 401:\n\t\t\t\t\tthrow new UnauthenticatedError();\n\t\t\t\tcase 403:\n\t\t\t\t\tthrow new UnauthorizedError();\n\t\t\t\tdefault:\n\t\t\t\t\tthrow new Error(\"Failed to check Prismic Write API token.\");\n\t\t\t}\n\t\t}\n\n\t\tconst json = await res.json();\n\t\tconst { value, error } = decode(\n\t\t\tt.type({\n\t\t\t\thasWriteAPIToken: t.boolean,\n\t\t\t}),\n\t\t\tjson,\n\t\t);\n\n\t\tif (error) {\n\t\t\tthrow new UnexpectedDataError(\n\t\t\t\t`Failed to decode: ${error.errors.join(\", \")}`,\n\t\t\t\t{ cause: error },\n\t\t\t);\n\t\t}\n\n\t\treturn value.hasWriteAPIToken;\n\t}\n\n\tasync updateWriteAPIToken(args: UpdateWriteAPITokenArgs): Promise<void> {\n\t\tconst url = new URL(\n\t\t\t\"./git/linked-repos/write-api-token\",\n\t\t\tAPI_ENDPOINTS.SliceMachineV1,\n\t\t);\n\t\tconst res = await this.#fetch(url, {\n\t\t\tmethod: \"PUT\",\n\t\t\tbody: {\n\t\t\t\tprismic: {\n\t\t\t\t\tdomain: args.prismic.domain,\n\t\t\t\t},\n\t\t\t\tgit: {\n\t\t\t\t\tprovider: args.git.provider,\n\t\t\t\t\towner: args.git.owner,\n\t\t\t\t\tname: args.git.name,\n\t\t\t\t},\n\t\t\t\ttoken: args.token,\n\t\t\t},\n\t\t});\n\n\t\tif (!res.ok) {\n\t\t\tswitch (res.status) {\n\t\t\t\tcase 401:\n\t\t\t\t\tthrow new UnauthenticatedError();\n\t\t\t\tcase 403:\n\t\t\t\t\tthrow new UnauthorizedError();\n\t\t\t\tdefault:\n\t\t\t\t\tthrow new Error(\"Failed to update Prismic Write API token.\");\n\t\t\t}\n\t\t}\n\t}\n\n\tasync deleteWriteAPIToken(args: DeleteWriteAPITokenArgs): Promise<void> {\n\t\tconst url = new URL(\n\t\t\t\"./git/linked-repos/write-api-token\",\n\t\t\tAPI_ENDPOINTS.SliceMachineV1,\n\t\t);\n\t\tconst res = await this.#fetch(url, {\n\t\t\tmethod: \"DELETE\",\n\t\t\tbody: {\n\t\t\t\tprismic: {\n\t\t\t\t\tdomain: args.prismic.domain,\n\t\t\t\t},\n\t\t\t\tgit: {\n\t\t\t\t\tprovider: args.git.provider,\n\t\t\t\t\towner: args.git.owner,\n\t\t\t\t\tname: args.git.name,\n\t\t\t\t},\n\t\t\t},\n\t\t});\n\n\t\tif (!res.ok) {\n\t\t\tswitch (res.status) {\n\t\t\t\tcase 401:\n\t\t\t\t\tthrow new UnauthenticatedError();\n\t\t\t\tcase 403:\n\t\t\t\t\tthrow new UnauthorizedError();\n\t\t\t\tdefault:\n\t\t\t\t\tthrow new Error(\"Failed to delete Prismic Write API token.\");\n\t\t\t}\n\t\t}\n\t}\n\n\tasync getProviderAppInstallURL(args: {\n\t\tprovider: GitProvider;\n\t}): Promise<string> {\n\t\tconst appSlug = GIT_PROVIDER_APP_SLUGS[args.provider];\n\n\t\tswitch (args.provider) {\n\t\t\tcase GIT_PROVIDER.GitHub: {\n\t\t\t\tconst state = await this.createGitHubAuthState();\n\n\t\t\t\tconst url = new URL(\n\t\t\t\t\t`https://github.com/apps/${appSlug}/installations/new`,\n\t\t\t\t);\n\t\t\t\turl.searchParams.set(\"state\", state.key);\n\n\t\t\t\treturn url.toString();\n\t\t\t}\n\n\t\t\tdefault: {\n\t\t\t\tthrow new UnsupportedError(\n\t\t\t\t\t`Git provider not supported: ${args.provider}.`,\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\n\tasync detectGitProvider(): Promise<string> {\n\t\ttry {\n\t\t\tconst remoteUrl = execaCommandSync(\"git remote get-url origin\");\n\t\t\tconst domainRegex = /(?:https?:\\/\\/|git@)([^:/]+)[/:]/i;\n\t\t\tconst match = remoteUrl.stdout.match(domainRegex);\n\t\t\tconst domain = match?.[1] ?? \"\";\n\n\t\t\treturn domain;\n\t\t} catch (error) {\n\t\t\tif (import.meta.env.DEV) {\n\t\t\t\tconsole.error(\"Failed to detect Git provider:\", error);\n\t\t\t}\n\n\t\t\treturn \"_unknown\";\n\t\t}\n\t}\n\n\tasync #fetch(\n\t\turl: URL,\n\t\tconfig?: {\n\t\t\tmethod?: \"POST\" | \"PUT\" | \"DELETE\";\n\t\t\tbody?: unknown;\n\t\t},\n\t) {\n\t\tconst authenticationToken = await this.user.getAuthenticationToken();\n\n\t\treturn await fetch(url, {\n\t\t\tmethod: config?.method,\n\t\t\tbody: config?.body ? JSON.stringify(config.body) : undefined,\n\t\t\theaders: {\n\t\t\t\tAuthorization: `Bearer ${authenticationToken}`,\n\t\t\t},\n\t\t});\n\t}\n}\n"],"names":["BaseManager","API_ENDPOINTS","UnauthorizedError","decode","t","tt","UnexpectedDataError","UnauthenticatedError","GIT_PROVIDER","buildGitRepoSpecifier","GIT_PROVIDER_APP_SLUGS","UnsupportedError","execaCommandSync","fetch"],"mappings":"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"}
|
@@ -1,89 +0,0 @@
|
|
1
|
-
import { GitProvider } from "../../constants/GIT_PROVIDER";
|
2
|
-
import { BaseManager } from "../BaseManager";
|
3
|
-
import { GitOwner, GitRepo, GitRepoSpecifier } from "./types";
|
4
|
-
type GitManagerCreateGitHubAuthStateReturnType = {
|
5
|
-
key: string;
|
6
|
-
expiresAt: Date;
|
7
|
-
};
|
8
|
-
type GitManagerFetchOwnersReturnType = GitOwner[];
|
9
|
-
type GitManagerFetchReposReturnType = GitRepo[];
|
10
|
-
type GitManagerFetchReposArgs = {
|
11
|
-
provider: GitProvider;
|
12
|
-
owner: string;
|
13
|
-
query?: string;
|
14
|
-
page?: number;
|
15
|
-
};
|
16
|
-
type GitManagerFetchLinkedReposArgs = {
|
17
|
-
prismic: {
|
18
|
-
domain: string;
|
19
|
-
};
|
20
|
-
};
|
21
|
-
type GitManagerFetchLinkedReposReturnType = GitRepoSpecifier[];
|
22
|
-
type GitManagerLinkRepoArgs = {
|
23
|
-
prismic: {
|
24
|
-
domain: string;
|
25
|
-
};
|
26
|
-
git: {
|
27
|
-
provider: GitProvider;
|
28
|
-
owner: string;
|
29
|
-
name: string;
|
30
|
-
};
|
31
|
-
};
|
32
|
-
type GitManagerUnlinkRepoArgs = {
|
33
|
-
prismic: {
|
34
|
-
domain: string;
|
35
|
-
};
|
36
|
-
git: {
|
37
|
-
provider: GitProvider;
|
38
|
-
owner: string;
|
39
|
-
name: string;
|
40
|
-
};
|
41
|
-
};
|
42
|
-
type CheckHasWriteAPITokenArgs = {
|
43
|
-
prismic: {
|
44
|
-
domain: string;
|
45
|
-
};
|
46
|
-
git: {
|
47
|
-
provider: GitProvider;
|
48
|
-
owner: string;
|
49
|
-
name: string;
|
50
|
-
};
|
51
|
-
};
|
52
|
-
type UpdateWriteAPITokenArgs = {
|
53
|
-
prismic: {
|
54
|
-
domain: string;
|
55
|
-
};
|
56
|
-
git: {
|
57
|
-
provider: GitProvider;
|
58
|
-
owner: string;
|
59
|
-
name: string;
|
60
|
-
};
|
61
|
-
token: string;
|
62
|
-
};
|
63
|
-
type DeleteWriteAPITokenArgs = {
|
64
|
-
prismic: {
|
65
|
-
domain: string;
|
66
|
-
};
|
67
|
-
git: {
|
68
|
-
provider: GitProvider;
|
69
|
-
owner: string;
|
70
|
-
name: string;
|
71
|
-
};
|
72
|
-
};
|
73
|
-
export declare class GitManager extends BaseManager {
|
74
|
-
#private;
|
75
|
-
createGitHubAuthState(): Promise<GitManagerCreateGitHubAuthStateReturnType>;
|
76
|
-
fetchOwners(): Promise<GitManagerFetchOwnersReturnType>;
|
77
|
-
fetchRepos(args: GitManagerFetchReposArgs): Promise<GitManagerFetchReposReturnType>;
|
78
|
-
fetchLinkedRepos(args: GitManagerFetchLinkedReposArgs): Promise<GitManagerFetchLinkedReposReturnType>;
|
79
|
-
linkRepo(args: GitManagerLinkRepoArgs): Promise<void>;
|
80
|
-
unlinkRepo(args: GitManagerUnlinkRepoArgs): Promise<void>;
|
81
|
-
checkHasWriteAPIToken(args: CheckHasWriteAPITokenArgs): Promise<boolean>;
|
82
|
-
updateWriteAPIToken(args: UpdateWriteAPITokenArgs): Promise<void>;
|
83
|
-
deleteWriteAPIToken(args: DeleteWriteAPITokenArgs): Promise<void>;
|
84
|
-
getProviderAppInstallURL(args: {
|
85
|
-
provider: GitProvider;
|
86
|
-
}): Promise<string>;
|
87
|
-
detectGitProvider(): Promise<string>;
|
88
|
-
}
|
89
|
-
export {};
|