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/main.js
CHANGED
|
@@ -10,7 +10,8 @@
|
|
|
10
10
|
********************************************************************************/
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
const commander = require("commander");
|
|
13
|
-
const
|
|
13
|
+
const fs_1 = require("fs");
|
|
14
|
+
const path_1 = require("path");
|
|
14
15
|
const create_namespace_1 = require("./create-namespace");
|
|
15
16
|
const verify_pat_1 = require("./verify-pat");
|
|
16
17
|
const publish_1 = require("./publish");
|
|
@@ -24,27 +25,29 @@ const verify_1 = require("./verify");
|
|
|
24
25
|
const verify_signature_1 = require("./verify-signature");
|
|
25
26
|
const login_1 = require("./login");
|
|
26
27
|
const logout_1 = require("./logout");
|
|
27
|
-
|
|
28
|
+
// Resolves from both src/ (tests) and lib/ (published build); npm always ships package.json.
|
|
29
|
+
const LIB_VERSION = JSON.parse((0, fs_1.readFileSync)((0, path_1.join)(__dirname, '..', 'package.json'), 'utf8')).version;
|
|
28
30
|
module.exports = function (argv) {
|
|
29
31
|
const program = new commander.Command();
|
|
32
|
+
program.nameFromFilename(argv[1]);
|
|
30
33
|
program.usage('<command> [options]')
|
|
31
34
|
.option('-r, --registryUrl <url>', 'Use the registry API at this base URL.')
|
|
32
35
|
.option('-p, --pat <token>', 'Personal access token.')
|
|
33
36
|
.option('--debug', 'Include debug information on error')
|
|
34
|
-
.version(
|
|
37
|
+
.version(LIB_VERSION, '-V, --version', 'Print the Eclipse Open VSX CLI version');
|
|
35
38
|
const createNamespaceCmd = program.command('create-namespace <name>');
|
|
36
39
|
createNamespaceCmd.description('Create a new namespace')
|
|
37
40
|
.action((name) => {
|
|
38
|
-
const { registryUrl, pat } = program.opts();
|
|
41
|
+
const { registryUrl, pat, debug } = program.opts();
|
|
39
42
|
(0, create_namespace_1.createNamespace)({ name, registryUrl, pat })
|
|
40
|
-
.catch((0, util_1.handleError)(
|
|
43
|
+
.catch((0, util_1.handleError)(debug));
|
|
41
44
|
});
|
|
42
45
|
const verifyTokenCmd = program.command('verify-pat [namespace]');
|
|
43
46
|
verifyTokenCmd.description('Verify that a personal access token can publish to a namespace')
|
|
44
47
|
.action((namespace) => {
|
|
45
|
-
const { registryUrl, pat } = program.opts();
|
|
48
|
+
const { registryUrl, pat, debug } = program.opts();
|
|
46
49
|
(0, verify_pat_1.verifyPat)({ namespace, registryUrl, pat })
|
|
47
|
-
.catch((0, util_1.handleError)(
|
|
50
|
+
.catch((0, util_1.handleError)(debug));
|
|
48
51
|
});
|
|
49
52
|
const publishCmd = program.command('publish [extension.vsix]');
|
|
50
53
|
publishCmd.description('Publish an extension, packaging it first if necessary.')
|
|
@@ -62,42 +65,28 @@ module.exports = function (argv) {
|
|
|
62
65
|
.option('--trusted-publishing', 'Exchange an OIDC ID token for a short-lived publishing token. Enabled automatically when a CI system provides an ID token and no access token is given.')
|
|
63
66
|
.option('--idToken <token>', 'The OIDC ID token to exchange. Only needed on CI systems that provide the token directly, e.g. GitLab CI.')
|
|
64
67
|
.option('--oidcAudience <audience>', 'Audience to request for the OIDC ID token. Defaults to the registry URL.')
|
|
65
|
-
.
|
|
68
|
+
.option('--registrationCode <code>', 'The registration code of a pending trusted publisher (a private repository); completes its registration on the first publish.')
|
|
69
|
+
.action((extensionFile, { target, packagePath, baseContentUrl, baseImagesUrl, yarn, followSymlinks, preRelease, allowMissingRepository, dependencies, skipDuplicate, packageVersion, trustedPublishing, idToken, oidcAudience, registrationCode }) => {
|
|
66
70
|
if (extensionFile !== undefined && packagePath !== undefined) {
|
|
67
71
|
console.error('\u274c Please specify either a package file or a package path, but not both.\n');
|
|
68
72
|
publishCmd.help();
|
|
69
73
|
}
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
target = undefined;
|
|
73
|
-
}
|
|
74
|
-
if (extensionFile !== undefined && baseContentUrl !== undefined)
|
|
75
|
-
console.warn("Ignoring option '--baseContentUrl' for prepackaged extension.");
|
|
76
|
-
if (extensionFile !== undefined && baseImagesUrl !== undefined)
|
|
77
|
-
console.warn("Ignoring option '--baseImagesUrl' for prepackaged extension.");
|
|
78
|
-
if (extensionFile !== undefined && yarn !== undefined)
|
|
79
|
-
console.warn("Ignoring option '--yarn' for prepackaged extension.");
|
|
80
|
-
if (extensionFile !== undefined && followSymlinks !== undefined)
|
|
81
|
-
console.warn("Ignoring option '--follow-symlinks' for prepackaged extension.");
|
|
82
|
-
if (extensionFile !== undefined && packageVersion !== undefined)
|
|
83
|
-
console.warn("Ignoring option '--packageVersion' for prepackaged extension.");
|
|
84
|
-
if (extensionFile !== undefined && allowMissingRepository !== undefined)
|
|
85
|
-
console.warn("Ignoring option '--allow-missing-repository' for prepackaged extension.");
|
|
86
|
-
const { registryUrl, pat } = program.opts();
|
|
87
|
-
(0, publish_1.publish)({ extensionFile, registryUrl, pat, targets: typeof target === 'string' ? [target] : target, packagePath: typeof packagePath === 'string' ? [packagePath] : packagePath, baseContentUrl, baseImagesUrl, yarn, followSymlinks, preRelease, allowMissingRepository, dependencies, skipDuplicate, packageVersion, trustedPublishing, idToken, oidcAudience })
|
|
74
|
+
const { registryUrl, pat, debug } = program.opts();
|
|
75
|
+
(0, publish_1.publish)({ extensionFile, registryUrl, pat, targets: typeof target === 'string' ? [target] : target, packagePath: typeof packagePath === 'string' ? [packagePath] : packagePath, baseContentUrl, baseImagesUrl, yarn, followSymlinks, preRelease, allowMissingRepository, dependencies, skipDuplicate, packageVersion, trustedPublishing, idToken, oidcAudience, registrationCode })
|
|
88
76
|
.then(results => {
|
|
89
77
|
const reasons = results.filter(result => result.status === 'rejected')
|
|
90
78
|
.map(rejectedResult => rejectedResult.reason);
|
|
91
79
|
if (reasons.length > 0) {
|
|
92
80
|
const message = 'See the documentation for more information:\n'
|
|
93
81
|
+ 'https://github.com/eclipse/openvsx/wiki/Publishing-Extensions';
|
|
94
|
-
const errorHandler = (0, util_1.handleError)(
|
|
82
|
+
const errorHandler = (0, util_1.handleError)(debug, message, false);
|
|
95
83
|
for (const reason of reasons) {
|
|
96
84
|
errorHandler(reason);
|
|
97
85
|
}
|
|
98
86
|
process.exit(1);
|
|
99
87
|
}
|
|
100
|
-
})
|
|
88
|
+
})
|
|
89
|
+
.catch((0, util_1.handleError)(debug));
|
|
101
90
|
});
|
|
102
91
|
const unpublishCmd = program.command('unpublish [namespace.extension]');
|
|
103
92
|
unpublishCmd.description('Delete an extension or some of its versions from the registry.')
|
|
@@ -105,7 +94,7 @@ module.exports = function (argv) {
|
|
|
105
94
|
.option('-t, --target <targets...>', 'Only delete the given target architectures of the given versions.')
|
|
106
95
|
.option('-f, --force', 'Skip the confirmation prompt.')
|
|
107
96
|
.action((extensionId, { versions, target, force }) => {
|
|
108
|
-
const { registryUrl, pat } = program.opts();
|
|
97
|
+
const { registryUrl, pat, debug } = program.opts();
|
|
109
98
|
(0, unpublish_1.unpublish)({
|
|
110
99
|
extensionId,
|
|
111
100
|
versions: typeof versions === 'string' ? [versions] : versions,
|
|
@@ -113,7 +102,7 @@ module.exports = function (argv) {
|
|
|
113
102
|
force,
|
|
114
103
|
registryUrl,
|
|
115
104
|
pat
|
|
116
|
-
}).catch((0, util_1.handleError)(
|
|
105
|
+
}).catch((0, util_1.handleError)(debug));
|
|
117
106
|
});
|
|
118
107
|
const searchCmd = program.command('search [text]');
|
|
119
108
|
searchCmd.description('Search the registry for extensions.')
|
|
@@ -125,16 +114,16 @@ module.exports = function (argv) {
|
|
|
125
114
|
.option('--sort-order <order>', `Sort order: ${search_1.SORT_ORDERS.join(', ')}.`)
|
|
126
115
|
.option('--json', 'Print the raw results as JSON.')
|
|
127
116
|
.action((text, { category, target, size, offset, sortBy, sortOrder, json }) => {
|
|
128
|
-
const { registryUrl } = program.opts();
|
|
117
|
+
const { registryUrl, debug } = program.opts();
|
|
129
118
|
(0, search_1.search)({ text, category, target, size, offset, sortBy, sortOrder, json, registryUrl })
|
|
130
|
-
.catch((0, util_1.handleError)(
|
|
119
|
+
.catch((0, util_1.handleError)(debug));
|
|
131
120
|
});
|
|
132
121
|
const listCmd = program.command('list <namespace>');
|
|
133
122
|
listCmd.description('List the extensions published in a namespace.')
|
|
134
123
|
.option('--json', 'Print the raw namespace metadata as JSON.')
|
|
135
124
|
.action((namespace, { json }) => {
|
|
136
|
-
const { registryUrl } = program.opts();
|
|
137
|
-
(0, list_1.list)({ namespace, json, registryUrl }).catch((0, util_1.handleError)(
|
|
125
|
+
const { registryUrl, debug } = program.opts();
|
|
126
|
+
(0, list_1.list)({ namespace, json, registryUrl }).catch((0, util_1.handleError)(debug));
|
|
138
127
|
});
|
|
139
128
|
const showCmd = program.command('show <namespace.extension[@version]>');
|
|
140
129
|
showCmd.description('Show an extension\'s metadata.')
|
|
@@ -142,8 +131,8 @@ module.exports = function (argv) {
|
|
|
142
131
|
.option('--all-versions', 'List every published version instead of the most recent few.')
|
|
143
132
|
.option('--json', 'Print the raw metadata as JSON.')
|
|
144
133
|
.action((extensionId, { target, allVersions, json }) => {
|
|
145
|
-
const { registryUrl } = program.opts();
|
|
146
|
-
(0, show_1.show)({ extensionId, target, allVersions, json, registryUrl }).catch((0, util_1.handleError)(
|
|
134
|
+
const { registryUrl, debug } = program.opts();
|
|
135
|
+
(0, show_1.show)({ extensionId, target, allVersions, json, registryUrl }).catch((0, util_1.handleError)(debug));
|
|
147
136
|
});
|
|
148
137
|
const getCmd = program.command('get <namespace.extension>');
|
|
149
138
|
getCmd.description('Download an extension or its metadata.')
|
|
@@ -152,17 +141,17 @@ module.exports = function (argv) {
|
|
|
152
141
|
.option('-o, --output <path>', 'Save the output in the specified file or directory.')
|
|
153
142
|
.option('--metadata', 'Print the extension\'s metadata instead of downloading it.')
|
|
154
143
|
.action((extensionId, { target, versionRange, output, metadata }) => {
|
|
155
|
-
const { registryUrl } = program.opts();
|
|
144
|
+
const { registryUrl, debug } = program.opts();
|
|
156
145
|
(0, get_1.getExtension)({ extensionId, target: target, version: versionRange, registryUrl, output, metadata })
|
|
157
|
-
.catch((0, util_1.handleError)(
|
|
146
|
+
.catch((0, util_1.handleError)(debug));
|
|
158
147
|
});
|
|
159
148
|
const verifyCmd = program.command('verify <extension.vsix>');
|
|
160
149
|
verifyCmd.description('Verify a downloaded package\'s signature against the registry\'s public key.')
|
|
161
150
|
.option('-t, --target <target>', 'Target architecture')
|
|
162
151
|
.action((packagePath, { target }) => {
|
|
163
|
-
const { registryUrl } = program.opts();
|
|
152
|
+
const { registryUrl, debug } = program.opts();
|
|
164
153
|
(0, verify_1.verify)({ packagePath, target, registryUrl })
|
|
165
|
-
.catch((0, util_1.handleError)(
|
|
154
|
+
.catch((0, util_1.handleError)(debug));
|
|
166
155
|
});
|
|
167
156
|
const verifySignatureCmd = program.command('verify-signature');
|
|
168
157
|
verifySignatureCmd.description('Verify a signature file against a package and manifest, entirely offline - like `vsce verify-signature`.')
|
|
@@ -171,40 +160,40 @@ module.exports = function (argv) {
|
|
|
171
160
|
.requiredOption('-s, --signaturePath <path>', 'Path to the signature file.')
|
|
172
161
|
.requiredOption('-k, --publicKeyPath <path>', 'Path to the registry\'s public key file.')
|
|
173
162
|
.action(({ packagePath, manifestPath, signaturePath, publicKeyPath }) => {
|
|
163
|
+
const { debug } = program.opts();
|
|
174
164
|
(0, verify_signature_1.verifySignature)({ packagePath, manifestPath, signaturePath, publicKeyPath })
|
|
175
|
-
.catch((0, util_1.handleError)(
|
|
165
|
+
.catch((0, util_1.handleError)(debug));
|
|
176
166
|
});
|
|
177
167
|
const loginCmd = program.command('login <namespace>');
|
|
178
168
|
loginCmd.description('Adds a namespace to the list of known namespaces')
|
|
179
169
|
.action((namespace) => {
|
|
180
|
-
const { registryUrl, pat } = program.opts();
|
|
181
|
-
(0, login_1.default)({ namespace, registryUrl, pat }).catch((0, util_1.handleError)(
|
|
170
|
+
const { registryUrl, pat, debug } = program.opts();
|
|
171
|
+
(0, login_1.default)({ namespace, registryUrl, pat }).catch((0, util_1.handleError)(debug));
|
|
182
172
|
});
|
|
183
173
|
const logoutCmd = program.command('logout <namespace>');
|
|
184
174
|
logoutCmd.description('Removes a namespace from the list of known namespaces')
|
|
185
175
|
.action((namespace) => {
|
|
186
|
-
|
|
176
|
+
const { debug } = program.opts();
|
|
177
|
+
(0, logout_1.default)(namespace).catch((0, util_1.handleError)(debug));
|
|
187
178
|
});
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
const
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
else {
|
|
201
|
-
console.error('Unknown command.');
|
|
202
|
-
}
|
|
179
|
+
// 'command:*' is deprecated in favor of catching the commander.unknownCommand error, but that
|
|
180
|
+
// error is reported (message written, process exited) by commander itself before a catch runs,
|
|
181
|
+
// so it can't reproduce this suggestion wording. Still supported for backwards compatibility.
|
|
182
|
+
program.on('command:*', (operands) => {
|
|
183
|
+
const availableCommands = program.commands.map(c => c.name());
|
|
184
|
+
const actualCommand = operands[0];
|
|
185
|
+
const suggestion = availableCommands.find(c => (0, util_1.levenshtein)(c, actualCommand) < c.length * 0.4);
|
|
186
|
+
if (suggestion)
|
|
187
|
+
console.error(`Unknown command '${actualCommand}', did you mean '${suggestion}'?\n`);
|
|
188
|
+
else
|
|
189
|
+
console.error(`Unknown command '${actualCommand}'.\n`);
|
|
190
|
+
process.exitCode = 1;
|
|
203
191
|
program.help();
|
|
204
192
|
});
|
|
205
|
-
|
|
206
|
-
|
|
193
|
+
if (argv.length <= 2) {
|
|
194
|
+
// Commander 14 would otherwise print this to stderr and exit 1 during program.parse(argv) below.
|
|
207
195
|
program.help();
|
|
208
196
|
}
|
|
197
|
+
program.parse(argv);
|
|
209
198
|
};
|
|
210
199
|
//# sourceMappingURL=main.js.map
|
package/lib/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":";AAAA;;;;;;;;kFAQkF;;AAElF,uCAAuC;AACvC,+
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
|
package/lib/oidc.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oidc.d.ts","sourceRoot":"","sources":["../src/oidc.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;+EAW+E;
|
|
1
|
+
{"version":3,"file":"oidc.d.ts","sourceRoot":"","sources":["../src/oidc.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;+EAW+E;AAG/E,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AAGxE;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAE3E;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,MAAM,CAAC,CAYrG"}
|
package/lib/oidc.js
CHANGED
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
exports.hasIdTokenSource = hasIdTokenSource;
|
|
16
16
|
exports.getIdToken = getIdToken;
|
|
17
|
-
const
|
|
17
|
+
const http_1 = require("./http");
|
|
18
18
|
const util_1 = require("./util");
|
|
19
19
|
/**
|
|
20
20
|
* Whether an OIDC ID token can be obtained without user interaction.
|
|
@@ -45,57 +45,15 @@ async function getGitHubActionsIdToken(audience) {
|
|
|
45
45
|
// the request URL already carries an api-version query parameter, so keep its query intact
|
|
46
46
|
const url = new URL(process.env.ACTIONS_ID_TOKEN_REQUEST_URL);
|
|
47
47
|
url.searchParams.set('audience', audience);
|
|
48
|
-
|
|
48
|
+
// Sent with only these headers, so none of the registry's credentials reach the CI system's
|
|
49
|
+
// token service. OVSX_TIMEOUT still applies, as there are no registry options to read it from.
|
|
50
|
+
const response = await (0, http_1.getJson)(url, {
|
|
49
51
|
'Authorization': `Bearer ${process.env.ACTIONS_ID_TOKEN_REQUEST_TOKEN}`,
|
|
50
52
|
'Accept': 'application/json'
|
|
51
|
-
});
|
|
53
|
+
}, (0, util_1.configuredTimeout)());
|
|
52
54
|
if (!response.value) {
|
|
53
55
|
throw new Error('GitHub Actions did not return an OIDC ID token.');
|
|
54
56
|
}
|
|
55
57
|
return response.value;
|
|
56
58
|
}
|
|
57
|
-
/**
|
|
58
|
-
* Minimal JSON GET that is not bound to the registry: the request must not carry any registry
|
|
59
|
-
* credentials, as it is sent to the CI system's token service.
|
|
60
|
-
*/
|
|
61
|
-
function getJson(url, headers) {
|
|
62
|
-
return new Promise((resolve, reject) => {
|
|
63
|
-
const protocol = url.protocol === 'https:' ? followRedirects.https : followRedirects.http;
|
|
64
|
-
// OVSX_TIMEOUT covers this request too. Read here rather than taken from the registry's
|
|
65
|
-
// options, since this one carries none of the registry's configuration - only the clock is
|
|
66
|
-
// shared, and having two of those to explain would be worse.
|
|
67
|
-
const timeout = (0, util_1.configuredTimeout)();
|
|
68
|
-
const request = protocol.request(url, { method: 'GET', headers, timeout }, response => {
|
|
69
|
-
response.setEncoding('utf-8');
|
|
70
|
-
let json = '';
|
|
71
|
-
// See Registry.getJsonResponse: a connection lost mid-body never fires 'end', so the
|
|
72
|
-
// response's own error has to be what settles the promise.
|
|
73
|
-
response.on('error', reject);
|
|
74
|
-
response.on('data', chunk => json += chunk);
|
|
75
|
-
response.on('end', () => {
|
|
76
|
-
if (response.statusCode !== undefined && (response.statusCode < 200 || response.statusCode > 299)) {
|
|
77
|
-
reject((0, util_1.statusError)(response));
|
|
78
|
-
}
|
|
79
|
-
else {
|
|
80
|
-
try {
|
|
81
|
-
resolve(JSON.parse(json));
|
|
82
|
-
}
|
|
83
|
-
catch (err) {
|
|
84
|
-
reject(err);
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
});
|
|
88
|
-
});
|
|
89
|
-
request.on('error', reject);
|
|
90
|
-
// The timeout option only raises an event, so the request has to be destroyed for it to mean
|
|
91
|
-
// anything; the error then arrives at the handler above.
|
|
92
|
-
request.on('timeout', () => {
|
|
93
|
-
// Rejected before the teardown, so the timeout is what the caller sees rather than
|
|
94
|
-
// whichever error destroying the request happens to raise first.
|
|
95
|
-
reject(new Error(`No response from ${(0, util_1.redactUrl)(url)} for ${timeout} ms.`));
|
|
96
|
-
request.destroy();
|
|
97
|
-
});
|
|
98
|
-
request.end();
|
|
99
|
-
});
|
|
100
|
-
}
|
|
101
59
|
//# sourceMappingURL=oidc.js.map
|
package/lib/oidc.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oidc.js","sourceRoot":"","sources":["../src/oidc.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;+EAW+E;;
|
|
1
|
+
{"version":3,"file":"oidc.js","sourceRoot":"","sources":["../src/oidc.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;+EAW+E;;AAS/E,4CAEC;AAKD,gCAYC;AA1BD,iCAAiC;AAEjC,iCAA2C;AAE3C;;GAEG;AACH,SAAgB,gBAAgB,CAAC,OAAiC;IAC9D,OAAO,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,+BAA+B,EAAE,CAAC;AACzE,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,UAAU,CAAC,QAAgB,EAAE,OAAiC;IAChF,wFAAwF;IACxF,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QAClB,OAAO,OAAO,CAAC,OAAO,CAAC;IAC3B,CAAC;IACD,IAAI,+BAA+B,EAAE,EAAE,CAAC;QACpC,OAAO,uBAAuB,CAAC,QAAQ,CAAC,CAAC;IAC7C,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,sDAAsD;UAChE,sEAAsE;UACtE,oEAAoE;UACpE,4CAA4C,CAAC,CAAC;AACxD,CAAC;AAED,SAAS,+BAA+B;IACpC,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,4BAA4B,IAAI,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;AAC3G,CAAC;AAED,KAAK,UAAU,uBAAuB,CAAC,QAAgB;IACnD,2FAA2F;IAC3F,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,4BAA6B,CAAC,CAAC;IAC/D,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAC3C,4FAA4F;IAC5F,+FAA+F;IAC/F,MAAM,QAAQ,GAAG,MAAM,IAAA,cAAO,EAAwB,GAAG,EAAE;QACvD,eAAe,EAAE,UAAU,OAAO,CAAC,GAAG,CAAC,8BAA8B,EAAE;QACvE,QAAQ,EAAE,kBAAkB;KAC/B,EAAE,IAAA,wBAAiB,GAAE,CAAC,CAAC;IACxB,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;IACvE,CAAC;IACD,OAAO,QAAQ,CAAC,KAAK,CAAC;AAC1B,CAAC"}
|
package/lib/pat.d.ts
CHANGED
|
@@ -3,5 +3,10 @@ import { PublishOptions } from './publish-options';
|
|
|
3
3
|
import { VerifyPatOptions } from './verify-pat-options';
|
|
4
4
|
export declare function doVerifyPat(options: VerifyPatOptions): Promise<void>;
|
|
5
5
|
export declare function requestPAT(namespace: string, options: CreateNamespaceOptions | PublishOptions | VerifyPatOptions, verify?: boolean): Promise<string>;
|
|
6
|
-
export
|
|
6
|
+
export interface ResolvedPAT {
|
|
7
|
+
pat: string;
|
|
8
|
+
/** Stores a prompted token, warning instead of throwing; call it only once the registry has accepted the token. */
|
|
9
|
+
save(): Promise<void>;
|
|
10
|
+
}
|
|
11
|
+
export declare function getPAT(namespace: string, options: CreateNamespaceOptions | PublishOptions | VerifyPatOptions, verify?: boolean): Promise<ResolvedPAT>;
|
|
7
12
|
//# sourceMappingURL=pat.d.ts.map
|
package/lib/pat.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pat.d.ts","sourceRoot":"","sources":["../src/pat.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAIxD,wBAAsB,WAAW,CAAC,OAAO,EAAE,gBAAgB,iBAS1D;AAED,wBAAsB,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,sBAAsB,GAAG,cAAc,GAAG,gBAAgB,EAAE,MAAM,GAAE,OAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAWhK;AAED,wBAAsB,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,sBAAsB,GAAG,cAAc,GAAG,gBAAgB,EAAE,MAAM,GAAE,OAAc,GAAG,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"pat.d.ts","sourceRoot":"","sources":["../src/pat.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAIxD,wBAAsB,WAAW,CAAC,OAAO,EAAE,gBAAgB,iBAS1D;AAED,wBAAsB,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,sBAAsB,GAAG,cAAc,GAAG,gBAAgB,EAAE,MAAM,GAAE,OAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAWhK;AAED,MAAM,WAAW,WAAW;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,mHAAmH;IACnH,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACzB;AAED,wBAAsB,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,sBAAsB,GAAG,cAAc,GAAG,gBAAgB,EAAE,MAAM,GAAE,OAAc,GAAG,OAAO,CAAC,WAAW,CAAC,CAsBjK"}
|
package/lib/pat.js
CHANGED
|
@@ -37,16 +37,25 @@ async function requestPAT(namespace, options, verify = true) {
|
|
|
37
37
|
return pat;
|
|
38
38
|
}
|
|
39
39
|
async function getPAT(namespace, options, verify = true) {
|
|
40
|
+
const nothingToSave = async () => undefined;
|
|
40
41
|
if (options?.pat) {
|
|
41
|
-
return options.pat;
|
|
42
|
+
return { pat: options.pat, save: nothingToSave };
|
|
42
43
|
}
|
|
43
44
|
const store = await (0, store_1.openDefaultStore)();
|
|
44
|
-
|
|
45
|
-
if (
|
|
46
|
-
return pat;
|
|
45
|
+
const stored = await store.get(namespace);
|
|
46
|
+
if (stored) {
|
|
47
|
+
return { pat: stored, save: nothingToSave };
|
|
47
48
|
}
|
|
48
|
-
pat = await requestPAT(namespace, options, verify);
|
|
49
|
-
|
|
50
|
-
|
|
49
|
+
const pat = await requestPAT(namespace, options, verify);
|
|
50
|
+
// a storage failure must not turn a completed registry operation into a reported failure
|
|
51
|
+
const save = async () => {
|
|
52
|
+
try {
|
|
53
|
+
await store.add(namespace, pat);
|
|
54
|
+
}
|
|
55
|
+
catch (e) {
|
|
56
|
+
console.warn(`Could not store the token: ${e instanceof Error ? e.message : e}`);
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
return { pat, save };
|
|
51
60
|
}
|
|
52
61
|
//# sourceMappingURL=pat.js.map
|
package/lib/pat.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pat.js","sourceRoot":"","sources":["../src/pat.ts"],"names":[],"mappings":";;AAgBA,kCASC;AAED,gCAWC;
|
|
1
|
+
{"version":3,"file":"pat.js","sourceRoot":"","sources":["../src/pat.ts"],"names":[],"mappings":";;AAgBA,kCASC;AAED,gCAWC;AAQD,wBAsBC;AApED;;;;;;;;oFAQoF;AACpF,+CAA6C;AAI7C,yCAAsC;AACtC,mCAA2C;AAEpC,KAAK,UAAU,WAAW,CAAC,OAAyB;IACvD,MAAM,QAAQ,GAAG,IAAI,mBAAQ,CAAC,OAAO,CAAC,CAAC;IACvC,MAAM,SAAS,GAAG,OAAO,CAAC,SAAmB,CAAC;IAC9C,MAAM,GAAG,GAAG,OAAO,CAAC,GAAa,CAAC;IAClC,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,SAAS,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IACxD,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,yCAAyC,SAAS,EAAE,CAAC,CAAC;AACtE,CAAC;AAEM,KAAK,UAAU,UAAU,CAAC,SAAiB,EAAE,OAAmE,EAAE,SAAkB,IAAI;IAC3I,MAAM,GAAG,GAAG,MAAM,IAAA,kBAAQ,EAAC;QACvB,OAAO,EAAE,wCAAwC,SAAS,IAAI;QAC9D,IAAI,EAAE,IAAI;QACV,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,IAAI,sCAAsC;KACvF,CAAC,CAAC;IACH,IAAI,MAAM,EAAE,CAAC;QACT,MAAM,WAAW,CAAC,EAAE,GAAG,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;IACtD,CAAC;IAED,OAAO,GAAG,CAAC;AACf,CAAC;AAQM,KAAK,UAAU,MAAM,CAAC,SAAiB,EAAE,OAAmE,EAAE,SAAkB,IAAI;IACvI,MAAM,aAAa,GAAG,KAAK,IAAI,EAAE,CAAC,SAAS,CAAC;IAC5C,IAAI,OAAO,EAAE,GAAG,EAAE,CAAC;QACf,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;IACrD,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,IAAA,wBAAgB,GAAE,CAAC;IACvC,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC1C,IAAI,MAAM,EAAE,CAAC;QACT,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;IAChD,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IACzD,yFAAyF;IACzF,MAAM,IAAI,GAAG,KAAK,IAAI,EAAE;QACpB,IAAI,CAAC;YACD,MAAM,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QACpC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,OAAO,CAAC,IAAI,CAAC,8BAA8B,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACrF,CAAC;IACL,CAAC,CAAC;IACF,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;AACzB,CAAC"}
|
package/lib/publish.d.ts
CHANGED
|
@@ -3,4 +3,10 @@ import { PublishOptions } from './publish-options';
|
|
|
3
3
|
* Publishes an extension.
|
|
4
4
|
*/
|
|
5
5
|
export declare function publish(options?: PublishOptions): Promise<PromiseSettledResult<void>[]>;
|
|
6
|
+
/**
|
|
7
|
+
* Options that only affect packaging, with the CLI flag that sets each, in the order they are reported
|
|
8
|
+
* as ignored for a prepackaged extension. `--no-dependencies` is left out: the CLI always sets
|
|
9
|
+
* `dependencies`, so whether it was given cannot be told apart.
|
|
10
|
+
*/
|
|
11
|
+
export declare const PACKAGING_OPTIONS: ReadonlyArray<readonly [string, keyof PublishOptions]>;
|
|
6
12
|
//# sourceMappingURL=publish.d.ts.map
|
package/lib/publish.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"publish.d.ts","sourceRoot":"","sources":["../src/publish.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"publish.d.ts","sourceRoot":"","sources":["../src/publish.ts"],"names":[],"mappings":"AAwBA,OAAO,EAAE,cAAc,EAAwB,MAAM,mBAAmB,CAAC;AAMzE;;GAEG;AACH,wBAAsB,OAAO,CAAC,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,CAAC,CA+BjG;AAmBD;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,EAAE,aAAa,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,cAAc,CAAC,CASpF,CAAC"}
|