ovsx 1.2.0 → 1.4.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/README.md +7 -1
- package/lib/check-license.d.ts.map +1 -1
- package/lib/check-license.js +5 -4
- package/lib/check-license.js.map +1 -1
- package/lib/create-namespace.d.ts.map +1 -1
- package/lib/create-namespace.js +3 -1
- package/lib/create-namespace.js.map +1 -1
- package/lib/get.js +5 -5
- package/lib/get.js.map +1 -1
- package/lib/http.d.ts +32 -0
- package/lib/http.d.ts.map +1 -0
- package/lib/http.js +170 -0
- package/lib/http.js.map +1 -0
- package/lib/index.d.ts +0 -3
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +0 -3
- package/lib/index.js.map +1 -1
- package/lib/main.js +50 -61
- package/lib/main.js.map +1 -1
- package/lib/oidc.d.ts.map +1 -1
- package/lib/oidc.js +5 -47
- package/lib/oidc.js.map +1 -1
- package/lib/pat.d.ts +6 -1
- package/lib/pat.d.ts.map +1 -1
- package/lib/pat.js +16 -7
- package/lib/pat.js.map +1 -1
- package/lib/publish.d.ts +6 -0
- package/lib/publish.d.ts.map +1 -1
- package/lib/publish.js +147 -40
- package/lib/publish.js.map +1 -1
- package/lib/registry.d.ts +50 -12
- package/lib/registry.d.ts.map +1 -1
- package/lib/registry.js +131 -126
- package/lib/registry.js.map +1 -1
- package/lib/trusted-publishing-options.d.ts +5 -0
- package/lib/trusted-publishing-options.d.ts.map +1 -1
- package/lib/trusted-publishing.js +28 -4
- package/lib/trusted-publishing.js.map +1 -1
- package/lib/unpublish.d.ts.map +1 -1
- package/lib/unpublish.js +5 -8
- package/lib/unpublish.js.map +1 -1
- package/lib/util.d.ts +19 -15
- package/lib/util.d.ts.map +1 -1
- package/lib/util.js +51 -71
- package/lib/util.js.map +1 -1
- package/lib/verify-pat.d.ts.map +1 -1
- package/lib/verify-pat.js +3 -1
- package/lib/verify-pat.js.map +1 -1
- package/lib/verify.js +2 -2
- package/lib/verify.js.map +1 -1
- package/lib/zip.d.ts.map +1 -1
- package/lib/zip.js +2 -10
- package/lib/zip.js.map +1 -1
- package/package.json +19 -14
- package/src/check-license.ts +5 -4
- package/src/create-namespace.ts +3 -1
- package/src/get.ts +6 -6
- package/src/http.ts +176 -0
- package/src/index.ts +0 -3
- package/src/main.ts +54 -63
- package/src/oidc.ts +5 -47
- package/src/pat.ts +22 -9
- package/src/publish.ts +187 -44
- package/src/registry.ts +153 -126
- package/src/trusted-publishing-options.ts +5 -0
- package/src/trusted-publishing.ts +33 -5
- package/src/unpublish.ts +4 -7
- package/src/util.ts +47 -73
- package/src/verify-pat.ts +3 -1
- package/src/verify.ts +3 -3
- package/src/zip.ts +2 -12
- package/lib/version.d.ts +0 -2
- package/lib/version.d.ts.map +0 -1
- package/lib/version.js +0 -5
- package/lib/version.js.map +0 -1
- package/src/version.ts +0 -1
package/lib/registry.js
CHANGED
|
@@ -9,10 +9,11 @@
|
|
|
9
9
|
* SPDX-License-Identifier: EPL-2.0
|
|
10
10
|
********************************************************************************/
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.Registry = exports.DEFAULT_DELETE_SIZE = exports.DEFAULT_TOKEN_REQUEST_SIZE = exports.DEFAULT_TIMEOUT = exports.DEFAULT_PUBLISH_SIZE = exports.DEFAULT_NAMESPACE_SIZE = exports.DEFAULT_URL = void 0;
|
|
12
|
+
exports.Registry = exports.MIN_TOKEN_HEADER_REGISTRY_VERSION = exports.DEFAULT_DELETE_SIZE = exports.DEFAULT_TOKEN_REQUEST_SIZE = exports.DEFAULT_TIMEOUT = exports.DEFAULT_PUBLISH_SIZE = exports.DEFAULT_NAMESPACE_SIZE = exports.DEFAULT_URL = void 0;
|
|
13
13
|
const fs = require("fs");
|
|
14
|
+
const semver = require("semver");
|
|
14
15
|
const stream_1 = require("stream");
|
|
15
|
-
const
|
|
16
|
+
const http_1 = require("./http");
|
|
16
17
|
const util_1 = require("./util");
|
|
17
18
|
Object.defineProperty(exports, "DEFAULT_TIMEOUT", { enumerable: true, get: function () { return util_1.DEFAULT_TIMEOUT; } });
|
|
18
19
|
exports.DEFAULT_URL = 'https://open-vsx.org';
|
|
@@ -20,6 +21,16 @@ exports.DEFAULT_NAMESPACE_SIZE = 1024;
|
|
|
20
21
|
exports.DEFAULT_PUBLISH_SIZE = 512 * 1024 * 1024;
|
|
21
22
|
exports.DEFAULT_TOKEN_REQUEST_SIZE = 8 * 1024;
|
|
22
23
|
exports.DEFAULT_DELETE_SIZE = 64 * 1024;
|
|
24
|
+
// Fallback only, for when Authorization is already claimed by Basic auth to a fronting proxy (see
|
|
25
|
+
// tokenHeaders/getRequestOptions).
|
|
26
|
+
// Must stay in the credential headers http.ts drops on a cross-origin redirect.
|
|
27
|
+
const TOKEN_HEADER = 'X-OpenVSX-Token';
|
|
28
|
+
/**
|
|
29
|
+
* Oldest registry version that resolves the personal access token from a header (see #1344).
|
|
30
|
+
* Registries older than this only look at the `token` query parameter, so `tokenQuery` keeps
|
|
31
|
+
* sending it to anything below this version.
|
|
32
|
+
*/
|
|
33
|
+
exports.MIN_TOKEN_HEADER_REGISTRY_VERSION = '1.3.0';
|
|
23
34
|
class Registry {
|
|
24
35
|
constructor(options = {}) {
|
|
25
36
|
if (options.registryUrl?.endsWith('/'))
|
|
@@ -29,6 +40,7 @@ class Registry {
|
|
|
29
40
|
else
|
|
30
41
|
this.url = exports.DEFAULT_URL;
|
|
31
42
|
this.maxNamespaceSize = options.maxNamespaceSize ?? exports.DEFAULT_NAMESPACE_SIZE;
|
|
43
|
+
this.publishSizePinned = options.maxPublishSize !== undefined;
|
|
32
44
|
this.maxPublishSize = options.maxPublishSize ?? exports.DEFAULT_PUBLISH_SIZE;
|
|
33
45
|
this.timeout = options.timeout ?? util_1.DEFAULT_TIMEOUT;
|
|
34
46
|
this.username = options.username;
|
|
@@ -38,49 +50,95 @@ class Registry {
|
|
|
38
50
|
const url = new URL(this.url);
|
|
39
51
|
return url.hostname === 'open-vsx.org' || url.hostname.endsWith('.open-vsx.org');
|
|
40
52
|
}
|
|
41
|
-
createNamespace(name, pat) {
|
|
53
|
+
async createNamespace(name, pat) {
|
|
42
54
|
try {
|
|
43
|
-
const url = this.getUrl(['api', '-', 'namespace', 'create'],
|
|
55
|
+
const url = this.getUrl(['api', '-', 'namespace', 'create'], await this.tokenQuery(pat));
|
|
44
56
|
const namespace = { name };
|
|
45
|
-
return this.post(JSON.stringify(namespace), url, {
|
|
46
|
-
'Content-Type': 'application/json'
|
|
57
|
+
return await this.post(JSON.stringify(namespace), url, {
|
|
58
|
+
'Content-Type': 'application/json',
|
|
59
|
+
...this.tokenHeaders(pat)
|
|
47
60
|
}, this.maxNamespaceSize);
|
|
48
61
|
}
|
|
49
62
|
catch (err) {
|
|
50
63
|
return (0, util_1.rejectError)(err);
|
|
51
64
|
}
|
|
52
65
|
}
|
|
53
|
-
verifyPat(namespace, pat) {
|
|
66
|
+
async verifyPat(namespace, pat) {
|
|
67
|
+
try {
|
|
68
|
+
const url = this.getUrl(['api', namespace, 'verify-pat'], await this.tokenQuery(pat));
|
|
69
|
+
return await this.getJson(url, this.tokenHeaders(pat));
|
|
70
|
+
}
|
|
71
|
+
catch (err) {
|
|
72
|
+
return (0, util_1.rejectError)(err);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* The size limit that applies to this namespace/extension, which a size override can raise above
|
|
77
|
+
* the registry default. Neither needs to exist yet - a first publish asks about both before
|
|
78
|
+
* creating either.
|
|
79
|
+
*/
|
|
80
|
+
async getSizeLimit(namespace, extension, pat) {
|
|
54
81
|
try {
|
|
55
|
-
|
|
82
|
+
const query = { namespace, extension, ...(await this.tokenQuery(pat)) };
|
|
83
|
+
const url = this.getUrl(['api', '-', 'size-limit'], query);
|
|
84
|
+
return await this.getJson(url, this.tokenHeaders(pat));
|
|
56
85
|
}
|
|
57
86
|
catch (err) {
|
|
58
87
|
return (0, util_1.rejectError)(err);
|
|
59
88
|
}
|
|
60
89
|
}
|
|
90
|
+
/**
|
|
91
|
+
* Cached per `Registry` instance once it has succeeded - callers like `tokenQuery` and `unpublish`'s own version check
|
|
92
|
+
* would otherwise each fetch it separately, doubling the round trip for a single command.
|
|
93
|
+
*/
|
|
61
94
|
getRegistryVersion() {
|
|
62
95
|
try {
|
|
63
|
-
|
|
96
|
+
if (this.registryVersion) {
|
|
97
|
+
return this.registryVersion;
|
|
98
|
+
}
|
|
99
|
+
const pending = this.getJson(this.getUrl(['api', 'version']));
|
|
100
|
+
this.registryVersion = pending;
|
|
101
|
+
// A failure is not remembered, so a later caller asks again rather than inheriting it.
|
|
102
|
+
pending.catch(() => {
|
|
103
|
+
if (this.registryVersion === pending) {
|
|
104
|
+
this.registryVersion = undefined;
|
|
105
|
+
}
|
|
106
|
+
});
|
|
107
|
+
return pending;
|
|
64
108
|
}
|
|
65
109
|
catch (err) {
|
|
66
110
|
return (0, util_1.rejectError)(err);
|
|
67
111
|
}
|
|
68
112
|
}
|
|
69
|
-
|
|
113
|
+
/**
|
|
114
|
+
* `sizeLimit` is the limit the registry reports for this package, when it could report one. The
|
|
115
|
+
* transport body cap is raised to it, because a namespace granted more than the default would
|
|
116
|
+
* otherwise have its upload refused here - by the body size check, before anything reached the
|
|
117
|
+
* registry that allowed it.
|
|
118
|
+
*/
|
|
119
|
+
async publish(file, pat, sizeLimit) {
|
|
70
120
|
try {
|
|
71
|
-
const url = this.getUrl(['api', '-', 'publish'],
|
|
72
|
-
return this.postFile(file, url, {
|
|
73
|
-
'Content-Type': 'application/octet-stream'
|
|
74
|
-
|
|
121
|
+
const url = this.getUrl(['api', '-', 'publish'], await this.tokenQuery(pat));
|
|
122
|
+
return await this.postFile(file, url, {
|
|
123
|
+
'Content-Type': 'application/octet-stream',
|
|
124
|
+
...this.tokenHeaders(pat)
|
|
125
|
+
}, this.publishBodyLimit(sizeLimit));
|
|
75
126
|
}
|
|
76
127
|
catch (err) {
|
|
77
128
|
return (0, util_1.rejectError)(err);
|
|
78
129
|
}
|
|
79
130
|
}
|
|
80
|
-
|
|
131
|
+
/** The body cap for a publish. A pinned `maxPublishSize` wins; otherwise it never sits below the registry's own limit. */
|
|
132
|
+
publishBodyLimit(sizeLimit) {
|
|
133
|
+
if (this.publishSizePinned || sizeLimit === undefined) {
|
|
134
|
+
return this.maxPublishSize;
|
|
135
|
+
}
|
|
136
|
+
return Math.max(this.maxPublishSize, sizeLimit);
|
|
137
|
+
}
|
|
138
|
+
requestTrustedPublishingToken(namespace, extension, idToken, registrationCode) {
|
|
81
139
|
try {
|
|
82
140
|
const url = this.getUrl(['api', '-', 'trusted-publishing', 'token']);
|
|
83
|
-
const request = { namespace, extension, token: idToken };
|
|
141
|
+
const request = { namespace, extension, token: idToken, registrationCode };
|
|
84
142
|
return this.post(JSON.stringify(request), url, {
|
|
85
143
|
'Content-Type': 'application/json'
|
|
86
144
|
}, exports.DEFAULT_TOKEN_REQUEST_SIZE);
|
|
@@ -93,15 +151,17 @@ class Registry {
|
|
|
93
151
|
* Deletes extension versions. Omitting `targetVersions` deletes the extension as a whole,
|
|
94
152
|
* i.e. all versions the personal access token's user is allowed to delete.
|
|
95
153
|
*/
|
|
96
|
-
deleteExtension(namespace, extension, targetVersions, pat) {
|
|
154
|
+
async deleteExtension(namespace, extension, targetVersions, pat) {
|
|
97
155
|
try {
|
|
98
156
|
if (!targetVersions) {
|
|
99
|
-
const
|
|
100
|
-
|
|
157
|
+
const query = { ...await this.tokenQuery(pat), allVersions: 'true' };
|
|
158
|
+
const url = this.getUrl(['api', namespace, extension, 'delete'], query);
|
|
159
|
+
return await this.post('', url, this.tokenHeaders(pat), exports.DEFAULT_DELETE_SIZE);
|
|
101
160
|
}
|
|
102
|
-
const url = this.getUrl(['api', namespace, extension, 'delete'],
|
|
103
|
-
return this.post(JSON.stringify(targetVersions), url, {
|
|
104
|
-
'Content-Type': 'application/json'
|
|
161
|
+
const url = this.getUrl(['api', namespace, extension, 'delete'], await this.tokenQuery(pat));
|
|
162
|
+
return await this.post(JSON.stringify(targetVersions), url, {
|
|
163
|
+
'Content-Type': 'application/json',
|
|
164
|
+
...this.tokenHeaders(pat)
|
|
105
165
|
}, exports.DEFAULT_DELETE_SIZE);
|
|
106
166
|
}
|
|
107
167
|
catch (err) {
|
|
@@ -205,11 +265,12 @@ class Registry {
|
|
|
205
265
|
stream?.destroy();
|
|
206
266
|
fs.rm(partial, { force: true }, () => reject(err));
|
|
207
267
|
};
|
|
208
|
-
|
|
209
|
-
const request = this.getProtocol(url)
|
|
210
|
-
.request(url, requestOptions, response => {
|
|
268
|
+
(0, http_1.send)(url, this.getRequestOptions(), undefined, response => {
|
|
211
269
|
if (response.statusCode !== undefined && (response.statusCode < 200 || response.statusCode > 299)) {
|
|
212
270
|
response.resume();
|
|
271
|
+
// Claimed here so a timeout or reset while the error body drains does not run fail().
|
|
272
|
+
// Nothing was written yet, so there is nothing to clean up.
|
|
273
|
+
failed = true;
|
|
213
274
|
reject((0, util_1.statusError)(response));
|
|
214
275
|
return;
|
|
215
276
|
}
|
|
@@ -234,51 +295,56 @@ class Registry {
|
|
|
234
295
|
fs.rename(partial, file, renameErr => renameErr ? fail(renameErr) : resolve());
|
|
235
296
|
}
|
|
236
297
|
});
|
|
237
|
-
});
|
|
238
|
-
request.on('error', (err) => fail(err));
|
|
239
|
-
this.failOnTimeout(request, url, fail);
|
|
240
|
-
request.end();
|
|
298
|
+
}, fail);
|
|
241
299
|
});
|
|
242
300
|
}
|
|
243
|
-
getJson(url) {
|
|
301
|
+
getJson(url, headers) {
|
|
244
302
|
return new Promise((resolve, reject) => {
|
|
245
|
-
|
|
246
|
-
const request = this.getProtocol(url)
|
|
247
|
-
.request(url, requestOptions, this.getJsonResponse(resolve, reject));
|
|
248
|
-
request.on('error', reject);
|
|
249
|
-
this.failOnTimeout(request, url, reject);
|
|
250
|
-
request.end();
|
|
303
|
+
(0, http_1.send)(url, this.getRequestOptions('GET', headers), undefined, (0, http_1.jsonResponse)(resolve, reject), reject);
|
|
251
304
|
});
|
|
252
305
|
}
|
|
253
306
|
post(content, url, headers, maxBodyLength) {
|
|
254
307
|
return new Promise((resolve, reject) => {
|
|
255
|
-
const
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
request.on('error', reject);
|
|
259
|
-
this.failOnTimeout(request, url, reject);
|
|
260
|
-
request.write(content);
|
|
261
|
-
request.end();
|
|
308
|
+
const size = typeof content === 'string' ? Buffer.byteLength(content) : content.byteLength;
|
|
309
|
+
checkBodySize(size, maxBodyLength);
|
|
310
|
+
(0, http_1.send)(url, this.getRequestOptions('POST', headers), () => content, (0, http_1.jsonResponse)(resolve, reject), reject);
|
|
262
311
|
});
|
|
263
312
|
}
|
|
264
|
-
postFile(file, url, headers, maxBodyLength) {
|
|
313
|
+
async postFile(file, url, headers, maxBodyLength) {
|
|
314
|
+
checkBodySize((await fs.promises.stat(file)).size, maxBodyLength);
|
|
265
315
|
return new Promise((resolve, reject) => {
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
const request = this.getProtocol(url)
|
|
269
|
-
.request(url, requestOptions, this.getJsonResponse(resolve, reject));
|
|
270
|
-
stream.on('error', (err) => {
|
|
271
|
-
request.destroy();
|
|
272
|
-
reject(err);
|
|
273
|
-
});
|
|
274
|
-
request.on('error', (err) => {
|
|
275
|
-
stream.close();
|
|
276
|
-
reject(err);
|
|
277
|
-
});
|
|
278
|
-
this.failOnTimeout(request, url, reject);
|
|
279
|
-
stream.on('open', () => stream.pipe(request));
|
|
316
|
+
// a stream can be read once, so each redirect hop opens the file again
|
|
317
|
+
(0, http_1.send)(url, this.getRequestOptions('POST', headers), () => fs.createReadStream(file), (0, http_1.jsonResponse)(resolve, reject), reject);
|
|
280
318
|
});
|
|
281
319
|
}
|
|
320
|
+
/**
|
|
321
|
+
* The header a personal access token travels in. `Authorization: Bearer` is standard and what
|
|
322
|
+
* log/proxy redaction and secret scanners already expect, so it's preferred - except when
|
|
323
|
+
* `username`/`password` are set, where `Authorization` is already claimed by Basic auth to a
|
|
324
|
+
* fronting reverse proxy (see `getRequestOptions`) and the token falls back to `TOKEN_HEADER`.
|
|
325
|
+
*/
|
|
326
|
+
tokenHeaders(pat) {
|
|
327
|
+
return (this.username && this.password)
|
|
328
|
+
? { [TOKEN_HEADER]: pat }
|
|
329
|
+
: { Authorization: `Bearer ${pat}` };
|
|
330
|
+
}
|
|
331
|
+
/**
|
|
332
|
+
* The `token` query parameter to add alongside the header, for registries that predate header
|
|
333
|
+
* support (see #1344) - empty once the registry is known to be new enough to not need it.
|
|
334
|
+
*
|
|
335
|
+
* Best-effort and cached per `Registry` instance: a registry that doesn't expose `/api/version`,
|
|
336
|
+
* or reports a version that doesn't parse as semver, is assumed too old to know about the header,
|
|
337
|
+
* same as before this method existed - the query parameter is kept rather than risking a request
|
|
338
|
+
* that only carries a header such a registry never looks at.
|
|
339
|
+
*/
|
|
340
|
+
tokenQuery(pat) {
|
|
341
|
+
return (this.tokenHeaderSupport ?? (this.tokenHeaderSupport = this.getRegistryVersion()
|
|
342
|
+
.then(({ version }) => {
|
|
343
|
+
const parsed = semver.coerce(version);
|
|
344
|
+
return !!parsed && semver.gte(parsed, exports.MIN_TOKEN_HEADER_REGISTRY_VERSION);
|
|
345
|
+
})
|
|
346
|
+
.catch(() => false))).then(supported => supported ? {} : { token: pat });
|
|
347
|
+
}
|
|
282
348
|
getUrl(segments, query) {
|
|
283
349
|
const url = new URL(this.url);
|
|
284
350
|
const basePath = url.pathname.replace(/\/+$/, '');
|
|
@@ -289,31 +355,7 @@ class Registry {
|
|
|
289
355
|
}
|
|
290
356
|
return url;
|
|
291
357
|
}
|
|
292
|
-
|
|
293
|
-
return url.protocol === 'https:' ? followRedirects.https : followRedirects.http;
|
|
294
|
-
}
|
|
295
|
-
/**
|
|
296
|
-
* Node's `timeout` option only raises an event - the request stays open, which is why a server
|
|
297
|
-
* that accepts a connection and then says nothing used to hold a command open indefinitely.
|
|
298
|
-
* Destroying the request with an error routes through the error handling each caller already
|
|
299
|
-
* has, so a stalled request rejects the way any other failure does. With a timeout of zero the
|
|
300
|
-
* event never fires and this does nothing.
|
|
301
|
-
*/
|
|
302
|
-
// Typed on Writable because both http.ClientRequest and follow-redirects' wrapper are ones, and
|
|
303
|
-
// all this needs is the timeout event and destroy.
|
|
304
|
-
failOnTimeout(request, url, fail) {
|
|
305
|
-
request.on('timeout', () => {
|
|
306
|
-
// Reported before the request is torn down, rather than by destroying it with the error.
|
|
307
|
-
// Destroying raises errors of its own - ECONNRESET on the response, a premature close
|
|
308
|
-
// from pipeline - and node guarantees no order between those and the request's own. In
|
|
309
|
-
// practice the request's arrives first, so this is belt and braces rather than the thing
|
|
310
|
-
// that stops the wrong error being reported; that is the caller claiming the failure
|
|
311
|
-
// before it does any asynchronous cleanup.
|
|
312
|
-
fail(new Error(`No response from ${(0, util_1.redactUrl)(url)} for ${this.timeout} ms.`));
|
|
313
|
-
request.destroy();
|
|
314
|
-
});
|
|
315
|
-
}
|
|
316
|
-
getRequestOptions(method, headers, maxBodyLength) {
|
|
358
|
+
getRequestOptions(method, headers) {
|
|
317
359
|
if (this.username && this.password) {
|
|
318
360
|
headers ?? (headers = {});
|
|
319
361
|
const credentials = Buffer.from(this.username + ':' + this.password).toString('base64');
|
|
@@ -322,52 +364,15 @@ class Registry {
|
|
|
322
364
|
return {
|
|
323
365
|
method,
|
|
324
366
|
headers,
|
|
325
|
-
maxBodyLength,
|
|
326
367
|
timeout: this.timeout
|
|
327
368
|
};
|
|
328
369
|
}
|
|
329
|
-
getJsonResponse(resolve, reject) {
|
|
330
|
-
return response => {
|
|
331
|
-
response.setEncoding('utf-8');
|
|
332
|
-
let json = '';
|
|
333
|
-
// A connection lost after the headers have arrived ends the response without 'end' ever
|
|
334
|
-
// firing, so without this the promise is never settled and the command waits on a body
|
|
335
|
-
// that is not coming. The configured timeout would eventually rescue it, but rejecting
|
|
336
|
-
// here reports what actually happened instead of thirty seconds of silence.
|
|
337
|
-
response.on('error', reject);
|
|
338
|
-
response.on('data', chunk => json += chunk);
|
|
339
|
-
response.on('end', () => {
|
|
340
|
-
if (response.statusCode !== undefined && (response.statusCode < 200 || response.statusCode > 299)) {
|
|
341
|
-
if (json.startsWith('{')) {
|
|
342
|
-
try {
|
|
343
|
-
const parsed = JSON.parse(json);
|
|
344
|
-
const message = parsed.message || parsed.error;
|
|
345
|
-
if (message) {
|
|
346
|
-
// keep the status: the message alone cannot say whether retrying is worth it
|
|
347
|
-
reject((0, util_1.withStatus)(new Error(message), response.statusCode));
|
|
348
|
-
return;
|
|
349
|
-
}
|
|
350
|
-
}
|
|
351
|
-
catch (err) {
|
|
352
|
-
// Ignore the error and reject with response status
|
|
353
|
-
}
|
|
354
|
-
}
|
|
355
|
-
reject((0, util_1.statusError)(response));
|
|
356
|
-
}
|
|
357
|
-
else if (json.startsWith('<!DOCTYPE html>')) {
|
|
358
|
-
reject(json);
|
|
359
|
-
}
|
|
360
|
-
else {
|
|
361
|
-
try {
|
|
362
|
-
resolve(JSON.parse(json));
|
|
363
|
-
}
|
|
364
|
-
catch (err) {
|
|
365
|
-
reject(err);
|
|
366
|
-
}
|
|
367
|
-
}
|
|
368
|
-
});
|
|
369
|
-
};
|
|
370
|
-
}
|
|
371
370
|
}
|
|
372
371
|
exports.Registry = Registry;
|
|
372
|
+
/** Refuses a request body larger than `maxBodyLength` before anything is sent. */
|
|
373
|
+
function checkBodySize(size, maxBodyLength) {
|
|
374
|
+
if (maxBodyLength !== undefined && size > maxBodyLength) {
|
|
375
|
+
throw new Error(`The request body of ${size} bytes is larger than the limit of ${maxBodyLength} bytes.`);
|
|
376
|
+
}
|
|
377
|
+
}
|
|
373
378
|
//# sourceMappingURL=registry.js.map
|
package/lib/registry.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -26,5 +26,10 @@ export interface TrustedPublishingOptions {
|
|
|
26
26
|
* the audience the registry expects.
|
|
27
27
|
*/
|
|
28
28
|
oidcAudience?: string;
|
|
29
|
+
/**
|
|
30
|
+
* The registration code shown when the trusted publisher of a private repository was registered.
|
|
31
|
+
* Only the first publish needs it: it completes the registration, and the code is used up.
|
|
32
|
+
*/
|
|
33
|
+
registrationCode?: string;
|
|
29
34
|
}
|
|
30
35
|
//# sourceMappingURL=trusted-publishing-options.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trusted-publishing-options.d.ts","sourceRoot":"","sources":["../src/trusted-publishing-options.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;+EAW+E;AAE/E,MAAM,WAAW,wBAAwB;IACrC;;;OAGG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"trusted-publishing-options.d.ts","sourceRoot":"","sources":["../src/trusted-publishing-options.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;+EAW+E;AAE/E,MAAM,WAAW,wBAAwB;IACrC;;;OAGG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC7B"}
|
|
@@ -16,6 +16,7 @@ exports.useTrustedPublishing = useTrustedPublishing;
|
|
|
16
16
|
exports.getTrustedPublishingToken = getTrustedPublishingToken;
|
|
17
17
|
exports.refreshTrustedPublishingToken = refreshTrustedPublishingToken;
|
|
18
18
|
const oidc_1 = require("./oidc");
|
|
19
|
+
const util_1 = require("./util");
|
|
19
20
|
const tokens = new Map();
|
|
20
21
|
// The value each cached exchange resolved to, so a token a publish was refused with can be told from one
|
|
21
22
|
// another publish has already replaced. Cleared while an exchange is in flight.
|
|
@@ -70,11 +71,12 @@ function exchange(key, registry, namespace, extension, options) {
|
|
|
70
71
|
const RETRYABLE_STATUS = [502, 503, 504];
|
|
71
72
|
const RETRY_DELAYS_MS = [1000, 4000];
|
|
72
73
|
async function requestToken(registry, namespace, extension, options) {
|
|
73
|
-
|
|
74
|
+
requireSecureRegistry(registry);
|
|
75
|
+
const audience = options.oidcAudience ?? await expectedAudience(registry);
|
|
74
76
|
const idToken = await (0, oidc_1.getIdToken)(audience, options);
|
|
75
77
|
let result;
|
|
76
78
|
try {
|
|
77
|
-
result = await exchangeWithRetry(registry, namespace, extension, idToken);
|
|
79
|
+
result = await exchangeWithRetry(registry, namespace, extension, idToken, options.registrationCode);
|
|
78
80
|
}
|
|
79
81
|
catch (err) {
|
|
80
82
|
throw new Error(`${err.message}\n${registrationHint(registry, namespace, extension)}`);
|
|
@@ -89,10 +91,10 @@ async function requestToken(registry, namespace, extension, options) {
|
|
|
89
91
|
console.log(`\ud83d\udd10 Trusted publishing token issued for ${namespace}.${extension}${expires}`);
|
|
90
92
|
return result.value;
|
|
91
93
|
}
|
|
92
|
-
async function exchangeWithRetry(registry, namespace, extension, idToken) {
|
|
94
|
+
async function exchangeWithRetry(registry, namespace, extension, idToken, registrationCode) {
|
|
93
95
|
for (let attempt = 0;; attempt++) {
|
|
94
96
|
try {
|
|
95
|
-
return await registry.requestTrustedPublishingToken(namespace, extension, idToken);
|
|
97
|
+
return await registry.requestTrustedPublishingToken(namespace, extension, idToken, registrationCode);
|
|
96
98
|
}
|
|
97
99
|
catch (err) {
|
|
98
100
|
const status = err?.status;
|
|
@@ -105,6 +107,28 @@ async function exchangeWithRetry(registry, namespace, extension, idToken) {
|
|
|
105
107
|
}
|
|
106
108
|
}
|
|
107
109
|
}
|
|
110
|
+
/**
|
|
111
|
+
* The ID token is a bearer credential for publishing, and the registry also chooses the audience it
|
|
112
|
+
* is minted for, so both only travel over https. A loopback registry is exempt, as for a browser's
|
|
113
|
+
* secure contexts: nothing leaves the machine.
|
|
114
|
+
*/
|
|
115
|
+
function requireSecureRegistry(registry) {
|
|
116
|
+
const { protocol, hostname } = new URL(registry.url);
|
|
117
|
+
if (protocol === 'https:' || hostname === 'localhost' || hostname === '[::1]' || /^127\./.test(hostname)) {
|
|
118
|
+
return;
|
|
119
|
+
}
|
|
120
|
+
throw new Error(`Trusted publishing sends an ID token to the registry, so the registry URL must use https, `
|
|
121
|
+
+ `but it is ${(0, util_1.redactUrl)(registry.url)}. Use an https URL, or publish with an access token.`);
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* The audience a registry validates is its own configuration, defaulting to the URL of its web UI
|
|
125
|
+
* rather than the API URL this CLI talks to, so it is read from where the registry publishes it.
|
|
126
|
+
* A registry that reports nothing there is asked for the registry URL.
|
|
127
|
+
*/
|
|
128
|
+
async function expectedAudience(registry) {
|
|
129
|
+
const reported = await registry.getRegistryVersion().catch(() => undefined);
|
|
130
|
+
return reported?.trustedPublishingAudience ?? registry.url;
|
|
131
|
+
}
|
|
108
132
|
function registrationHint(registry, namespace, extension) {
|
|
109
133
|
return `Check the trusted publishers registered for '${namespace}.${extension}' at `
|
|
110
134
|
+ `${registry.url}/user-settings/trusted-publishers.`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trusted-publishing.js","sourceRoot":"","sources":["../src/trusted-publishing.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;+EAW+E;;AAiB/E,oDAEC;AAMD,8DASC;AAWD,sEAcC;AAzDD,iCAAsD;
|
|
1
|
+
{"version":3,"file":"trusted-publishing.js","sourceRoot":"","sources":["../src/trusted-publishing.ts"],"names":[],"mappings":"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"}
|
package/lib/unpublish.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unpublish.d.ts","sourceRoot":"","sources":["../src/unpublish.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;+EAW+E;
|
|
1
|
+
{"version":3,"file":"unpublish.d.ts","sourceRoot":"","sources":["../src/unpublish.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;+EAW+E;AAO/E,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAGvD;;GAEG;AACH,eAAO,MAAM,8BAA8B,UAAU,CAAC;AAEtD;;GAEG;AACH,wBAAsB,SAAS,CAAC,OAAO,GAAE,gBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CA6B7E"}
|
package/lib/unpublish.js
CHANGED
|
@@ -15,12 +15,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
15
15
|
exports.MIN_UNPUBLISH_REGISTRY_VERSION = void 0;
|
|
16
16
|
exports.unpublish = unpublish;
|
|
17
17
|
const prompts_1 = require("@inquirer/prompts");
|
|
18
|
-
|
|
19
|
-
// exports whenever the importer applies ES module interop (e.g. a bundler, or vitest's own
|
|
20
|
-
// transform), making the truthiness check below always true. `import = require` always binds
|
|
21
|
-
// directly to the exported value, regardless of how the importing tool handles interop.
|
|
22
|
-
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
23
|
-
const isCI = require("is-ci");
|
|
18
|
+
const ci_info_1 = require("ci-info");
|
|
24
19
|
const semver = require("semver");
|
|
25
20
|
const pat_1 = require("./pat");
|
|
26
21
|
const registry_1 = require("./registry");
|
|
@@ -45,13 +40,15 @@ async function unpublish(options = {}) {
|
|
|
45
40
|
const [, namespace, extension] = match;
|
|
46
41
|
const registry = new registry_1.Registry(options);
|
|
47
42
|
await ensureUnpublishSupported(registry);
|
|
48
|
-
|
|
43
|
+
const { pat, save } = await (0, pat_1.getPAT)(namespace, { ...options, namespace }, false);
|
|
44
|
+
options.pat = pat;
|
|
49
45
|
const targetVersions = getTargetVersions(options);
|
|
50
46
|
await confirmUnpublish(`${namespace}.${extension}`, targetVersions, registry.url, options.force);
|
|
51
47
|
const result = await registry.deleteExtension(namespace, extension, targetVersions, options.pat);
|
|
52
48
|
if (result.error) {
|
|
53
49
|
throw new Error(result.error);
|
|
54
50
|
}
|
|
51
|
+
await save();
|
|
55
52
|
// the registry reports one line per deleted version, and nothing at all if there was nothing to delete
|
|
56
53
|
console.log(`🗑 ${result.success || `Nothing to delete for ${namespace}.${extension}`}`);
|
|
57
54
|
}
|
|
@@ -116,7 +113,7 @@ async function confirmUnpublish(extensionId, targetVersions, registryUrl, force)
|
|
|
116
113
|
if (force) {
|
|
117
114
|
return;
|
|
118
115
|
}
|
|
119
|
-
if (isCI || !process.stdin.isTTY) {
|
|
116
|
+
if (ci_info_1.isCI || !process.stdin.isTTY) {
|
|
120
117
|
throw new Error("Aborted. Use '--force' to delete without confirmation.");
|
|
121
118
|
}
|
|
122
119
|
const what = targetVersions
|
package/lib/unpublish.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unpublish.js","sourceRoot":"","sources":["../src/unpublish.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;+EAW+E;;;
|
|
1
|
+
{"version":3,"file":"unpublish.js","sourceRoot":"","sources":["../src/unpublish.ts"],"names":[],"mappings":"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"}
|