ovsx 0.9.4 → 0.10.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/CHANGELOG.md +28 -0
- package/README.md +14 -0
- package/lib/create-namespace.d.ts.map +1 -1
- package/lib/create-namespace.js +1 -3
- package/lib/create-namespace.js.map +1 -1
- package/lib/login.d.ts +9 -0
- package/lib/login.d.ts.map +1 -0
- package/lib/login.js +23 -0
- package/lib/login.js.map +1 -0
- package/lib/logout.d.ts +2 -0
- package/lib/logout.d.ts.map +1 -0
- package/lib/logout.js +16 -0
- package/lib/logout.js.map +1 -0
- package/lib/main.js +18 -2
- package/lib/main.js.map +1 -1
- package/lib/ovsx +2 -2
- package/lib/publish.d.ts +4 -0
- package/lib/publish.d.ts.map +1 -1
- package/lib/publish.js +7 -4
- package/lib/publish.js.map +1 -1
- package/lib/store.d.ts +39 -0
- package/lib/store.d.ts.map +1 -0
- package/lib/store.js +115 -0
- package/lib/store.js.map +1 -0
- package/lib/util.d.ts +5 -0
- package/lib/util.d.ts.map +1 -1
- package/lib/util.js +25 -1
- package/lib/util.js.map +1 -1
- package/lib/verify-pat.d.ts +1 -0
- package/lib/verify-pat.d.ts.map +1 -1
- package/lib/verify-pat.js +11 -7
- package/lib/verify-pat.js.map +1 -1
- package/lib/zip.d.ts +5 -0
- package/lib/zip.d.ts.map +1 -0
- package/lib/zip.js +49 -0
- package/lib/zip.js.map +1 -0
- package/package.json +9 -7
- package/src/create-namespace.ts +3 -4
- package/src/login.ts +41 -0
- package/src/logout.ts +15 -0
- package/src/main.ts +21 -3
- package/src/ovsx +2 -2
- package/src/publish.ts +23 -16
- package/src/store.ts +142 -0
- package/src/util.ts +30 -0
- package/src/verify-pat.ts +22 -19
- package/src/zip.ts +55 -0
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,34 @@
|
|
|
2
2
|
|
|
3
3
|
This change log covers only the command line interface (CLI) of Open VSX.
|
|
4
4
|
|
|
5
|
+
### v0.10.0 (Oct. 2024)
|
|
6
|
+
|
|
7
|
+
#### New Features
|
|
8
|
+
|
|
9
|
+
- Added `login` command to add a namespace to the list of known namespaces ([#1012](https://github.com/eclipse/openvsx/pull/1012))
|
|
10
|
+
- Added `logout` command to remove a namespace from the list of known namespaces ([#1012](https://github.com/eclipse/openvsx/pull/1012))
|
|
11
|
+
- Added CLI parameter `--packageVersion` to set the version of the provided VSIX packages ([#1013](https://github.com/eclipse/openvsx/pull/1013))
|
|
12
|
+
|
|
13
|
+
#### Dependencies
|
|
14
|
+
|
|
15
|
+
- Added dependency to `yauzl` ([#1012](https://github.com/eclipse/openvsx/pull/1012))
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
### v0.9.5 (Sep. 2024)
|
|
20
|
+
|
|
21
|
+
#### Breaking Changes
|
|
22
|
+
|
|
23
|
+
- The minimum version of Node.js required is now `20` because of the newer `@vscode/vsce`
|
|
24
|
+
|
|
25
|
+
#### Dependencies
|
|
26
|
+
|
|
27
|
+
- Upgrade `@vscode/vsce` from `2.25.0` to `3.1.0` ([#994](https://github.com/eclipse/openvsx/pull/994))
|
|
28
|
+
- Upgrade `commander` from `6.1.0` to `6.2.1` ([#994](https://github.com/eclipse/openvsx/pull/994))
|
|
29
|
+
- Upgrade `tmp` from `0.2.1` to `0.2.3` ([#994](https://github.com/eclipse/openvsx/pull/994))
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
5
33
|
### v0.9.4 (Sep. 2024)
|
|
6
34
|
|
|
7
35
|
#### Dependencies
|
package/README.md
CHANGED
|
@@ -46,3 +46,17 @@ Variants:
|
|
|
46
46
|
downloads the JSON metadata of an extension and prints it to the standard output.
|
|
47
47
|
* `ovsx get <extension> --metadata -o <path>`
|
|
48
48
|
downloads the JSON metadata of an extension and saves it in the specified file or directory.
|
|
49
|
+
|
|
50
|
+
### Store Access Tokens
|
|
51
|
+
|
|
52
|
+
The `login` command lets you store an access token for a namespace.
|
|
53
|
+
|
|
54
|
+
* `ovsx login <name>`
|
|
55
|
+
the name must correspond to the `publisher` of your extension. `ovsx` will ask you to provide an access token.
|
|
56
|
+
|
|
57
|
+
The `logout` command lets you remove a stored access token.
|
|
58
|
+
|
|
59
|
+
* `ovsx logout <name>`
|
|
60
|
+
the name must correspond to the `publisher` of your extension.
|
|
61
|
+
|
|
62
|
+
By default `ovsx` will try to use a `keytar` store with a plaintext file store as fallback. You can specify the environment variable `OVSX_STORE=file` to use the file store.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-namespace.d.ts","sourceRoot":"","sources":["../src/create-namespace.ts"],"names":[],"mappings":"AAAA;;;;;;;;kFAQkF;AAElF,OAAO,EAAY,eAAe,EAAE,MAAM,YAAY,CAAC;AAGvD;;GAEG;AACH,wBAAsB,eAAe,CAAC,OAAO,GAAE,sBAA2B,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"create-namespace.d.ts","sourceRoot":"","sources":["../src/create-namespace.ts"],"names":[],"mappings":"AAAA;;;;;;;;kFAQkF;AAElF,OAAO,EAAY,eAAe,EAAE,MAAM,YAAY,CAAC;AAGvD;;GAEG;AACH,wBAAsB,eAAe,CAAC,OAAO,GAAE,sBAA2B,GAAG,OAAO,CAAC,IAAI,CAAC,CAczF;AAED,MAAM,WAAW,sBAAuB,SAAQ,eAAe;IAC3D;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;CAChB"}
|
package/lib/create-namespace.js
CHANGED
|
@@ -20,9 +20,7 @@ async function createNamespace(options = {}) {
|
|
|
20
20
|
if (!options.name) {
|
|
21
21
|
throw new Error('The namespace name is mandatory.');
|
|
22
22
|
}
|
|
23
|
-
|
|
24
|
-
throw new Error("A personal access token must be given with the option '--pat'.");
|
|
25
|
-
}
|
|
23
|
+
options.pat = await (0, util_1.getPAT)(options.name, options, false);
|
|
26
24
|
const registry = new registry_1.Registry(options);
|
|
27
25
|
const result = await registry.createNamespace(options.name, options.pat);
|
|
28
26
|
if (result.error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-namespace.js","sourceRoot":"","sources":["../src/create-namespace.ts"],"names":[],"mappings":";AAAA;;;;;;;;kFAQkF;;;AAElF,yCAAuD;AACvD,
|
|
1
|
+
{"version":3,"file":"create-namespace.js","sourceRoot":"","sources":["../src/create-namespace.ts"],"names":[],"mappings":";AAAA;;;;;;;;kFAQkF;;;AAElF,yCAAuD;AACvD,iCAA+C;AAE/C;;GAEG;AACI,KAAK,UAAU,eAAe,CAAC,UAAkC,EAAE;IACtE,IAAA,oBAAa,EAAC,OAAO,CAAC,CAAC;IACvB,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;QACf,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;KACvD;IAED,OAAO,CAAC,GAAG,GAAG,MAAM,IAAA,aAAM,EAAC,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;IAEzD,MAAM,QAAQ,GAAG,IAAI,mBAAQ,CAAC,OAAO,CAAC,CAAC;IACvC,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;IACzE,IAAI,MAAM,CAAC,KAAK,EAAE;QACd,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;KACjC;IACD,OAAO,CAAC,GAAG,CAAC,mCAAmC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;AACnE,CAAC;AAdD,0CAcC"}
|
package/lib/login.d.ts
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { RegistryOptions } from './registry';
|
|
2
|
+
export default function login(options: LoginOptions): Promise<void>;
|
|
3
|
+
export interface LoginOptions extends RegistryOptions {
|
|
4
|
+
/**
|
|
5
|
+
* Name of the namespace.
|
|
6
|
+
*/
|
|
7
|
+
namespace?: string;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=login.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../src/login.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C,wBAA8B,KAAK,CAAC,OAAO,EAAE,YAAY,iBAmBxD;AAED,MAAM,WAAW,YAAa,SAAQ,eAAe;IACjD;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;CACrB"}
|
package/lib/login.js
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const util_1 = require("./util");
|
|
4
|
+
const store_1 = require("./store");
|
|
5
|
+
async function login(options) {
|
|
6
|
+
(0, util_1.addEnvOptions)(options);
|
|
7
|
+
if (!options.namespace) {
|
|
8
|
+
throw new Error('Missing namespace name.');
|
|
9
|
+
}
|
|
10
|
+
const store = await (0, store_1.openDefaultStore)();
|
|
11
|
+
let pat = store.get(options.namespace);
|
|
12
|
+
if (pat) {
|
|
13
|
+
console.log(`Namespace '${options.namespace}' is already known.`);
|
|
14
|
+
const answer = await (0, util_1.getUserInput)('Do you want to overwrite its PAT? [y/N] ');
|
|
15
|
+
if (!/^y$/i.test(answer)) {
|
|
16
|
+
throw new Error('Aborted.');
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
pat = await (0, util_1.requestPAT)(options.namespace, options);
|
|
20
|
+
await store.add(options.namespace, pat);
|
|
21
|
+
}
|
|
22
|
+
exports.default = login;
|
|
23
|
+
//# sourceMappingURL=login.js.map
|
package/lib/login.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"login.js","sourceRoot":"","sources":["../src/login.ts"],"names":[],"mappings":";;AAUA,iCAAiE;AACjE,mCAA2C;AAG5B,KAAK,UAAU,KAAK,CAAC,OAAqB;IACxD,IAAA,oBAAa,EAAC,OAAO,CAAC,CAAC;IACvB,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE;QACjB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;KAC9C;IAEJ,MAAM,KAAK,GAAG,MAAM,IAAA,wBAAgB,GAAE,CAAC;IACvC,IAAI,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACvC,IAAI,GAAG,EAAE;QACR,OAAO,CAAC,GAAG,CAAC,cAAc,OAAO,CAAC,SAAS,qBAAqB,CAAC,CAAC;QAClE,MAAM,MAAM,GAAG,MAAM,IAAA,mBAAY,EAAC,0CAA0C,CAAC,CAAC;QAE9E,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;YACzB,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC;SAC5B;KACD;IAED,GAAG,GAAG,MAAM,IAAA,iBAAU,EAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACnD,MAAM,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;AACzC,CAAC;AAnBD,wBAmBC"}
|
package/lib/logout.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logout.d.ts","sourceRoot":"","sources":["../src/logout.ts"],"names":[],"mappings":"AAEA,wBAA8B,MAAM,CAAC,aAAa,EAAE,MAAM,iBAYzD"}
|
package/lib/logout.js
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const store_1 = require("./store");
|
|
4
|
+
async function logout(namespaceName) {
|
|
5
|
+
if (!namespaceName) {
|
|
6
|
+
throw new Error('Missing namespace name.');
|
|
7
|
+
}
|
|
8
|
+
const store = await (0, store_1.openDefaultStore)();
|
|
9
|
+
if (!store.get(namespaceName)) {
|
|
10
|
+
throw new Error(`Unknown namespace '${namespaceName}'.`);
|
|
11
|
+
}
|
|
12
|
+
await store.delete(namespaceName);
|
|
13
|
+
console.log(`\ud83d\ude80 ${namespaceName} removed from the list of known namespaces`);
|
|
14
|
+
}
|
|
15
|
+
exports.default = logout;
|
|
16
|
+
//# sourceMappingURL=logout.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logout.js","sourceRoot":"","sources":["../src/logout.ts"],"names":[],"mappings":";;AAAA,mCAA2C;AAE5B,KAAK,UAAU,MAAM,CAAC,aAAqB;IACzD,IAAI,CAAC,aAAa,EAAE;QACb,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;KAC9C;IAEJ,MAAM,KAAK,GAAG,MAAM,IAAA,wBAAgB,GAAE,CAAC;IACvC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE;QAC9B,MAAM,IAAI,KAAK,CAAC,sBAAsB,aAAa,IAAI,CAAC,CAAC;KACzD;IAED,MAAM,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IAC/B,OAAO,CAAC,GAAG,CAAC,iBAAiB,aAAa,4CAA4C,CAAC,CAAC;AAC5F,CAAC;AAZD,yBAYC"}
|
package/lib/main.js
CHANGED
|
@@ -16,6 +16,8 @@ const verify_pat_1 = require("./verify-pat");
|
|
|
16
16
|
const publish_1 = require("./publish");
|
|
17
17
|
const util_1 = require("./util");
|
|
18
18
|
const get_1 = require("./get");
|
|
19
|
+
const login_1 = require("./login");
|
|
20
|
+
const logout_1 = require("./logout");
|
|
19
21
|
const pkg = require('../package.json');
|
|
20
22
|
module.exports = function (argv) {
|
|
21
23
|
const program = new commander.Command();
|
|
@@ -48,7 +50,8 @@ module.exports = function (argv) {
|
|
|
48
50
|
.option('--pre-release', 'Mark this package as a pre-release')
|
|
49
51
|
.option('--no-dependencies', 'Disable dependency detection via npm or yarn')
|
|
50
52
|
.option('--skip-duplicate', 'Fail silently if version already exists on the marketplace')
|
|
51
|
-
.
|
|
53
|
+
.option('--packageVersion <version>', 'Version of the provided VSIX packages.')
|
|
54
|
+
.action((extensionFile, { target, packagePath, baseContentUrl, baseImagesUrl, yarn, preRelease, dependencies, skipDuplicate, packageVersion }) => {
|
|
52
55
|
if (extensionFile !== undefined && packagePath !== undefined) {
|
|
53
56
|
console.error('\u274c Please specify either a package file or a package path, but not both.\n');
|
|
54
57
|
publishCmd.help();
|
|
@@ -63,8 +66,10 @@ module.exports = function (argv) {
|
|
|
63
66
|
console.warn("Ignoring option '--baseImagesUrl' for prepackaged extension.");
|
|
64
67
|
if (extensionFile !== undefined && yarn !== undefined)
|
|
65
68
|
console.warn("Ignoring option '--yarn' for prepackaged extension.");
|
|
69
|
+
if (extensionFile !== undefined && packageVersion !== undefined)
|
|
70
|
+
console.warn("Ignoring option '--packageVersion' for prepackaged extension.");
|
|
66
71
|
const { registryUrl, pat } = program.opts();
|
|
67
|
-
(0, publish_1.publish)({ extensionFile, registryUrl, pat, targets: typeof target === 'string' ? [target] : target, packagePath: typeof packagePath === 'string' ? [packagePath] : packagePath, baseContentUrl, baseImagesUrl, yarn, preRelease, dependencies, skipDuplicate })
|
|
72
|
+
(0, publish_1.publish)({ extensionFile, registryUrl, pat, targets: typeof target === 'string' ? [target] : target, packagePath: typeof packagePath === 'string' ? [packagePath] : packagePath, baseContentUrl, baseImagesUrl, yarn, preRelease, dependencies, skipDuplicate, packageVersion })
|
|
68
73
|
.then(results => {
|
|
69
74
|
const reasons = results.filter(result => result.status === 'rejected')
|
|
70
75
|
.map(result => result)
|
|
@@ -91,6 +96,17 @@ module.exports = function (argv) {
|
|
|
91
96
|
(0, get_1.getExtension)({ extensionId, target: target, version: versionRange, registryUrl, output, metadata })
|
|
92
97
|
.catch((0, util_1.handleError)(program.debug));
|
|
93
98
|
});
|
|
99
|
+
const loginCmd = program.command('login <namespace>');
|
|
100
|
+
loginCmd.description('Adds a namespace to the list of known namespaces')
|
|
101
|
+
.action((namespace) => {
|
|
102
|
+
const { registryUrl, pat } = program.opts();
|
|
103
|
+
(0, login_1.default)({ namespace, registryUrl, pat }).catch((0, util_1.handleError)(program.debug));
|
|
104
|
+
});
|
|
105
|
+
const logoutCmd = program.command('logout <namespace>');
|
|
106
|
+
logoutCmd.description('Removes a namespace from the list of known namespaces')
|
|
107
|
+
.action((namespace) => {
|
|
108
|
+
(0, logout_1.default)(namespace).catch((0, util_1.handleError)(program.debug));
|
|
109
|
+
});
|
|
94
110
|
program
|
|
95
111
|
.command('*', '', { noHelp: true })
|
|
96
112
|
.action((cmd) => {
|
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,+BAA+B;AAC/B,yDAAqD;AACrD,6CAAyC;AACzC,uCAAoC;AACpC,iCAAqC;AACrC,+BAAqC;
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
|
package/lib/ovsx
CHANGED
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
const semver = require('semver');
|
|
4
4
|
|
|
5
|
-
if (semver.lt(process.versions.node, '
|
|
6
|
-
console.error('ovsx requires at least NodeJS version
|
|
5
|
+
if (semver.lt(process.versions.node, '20.0.0')) {
|
|
6
|
+
console.error('ovsx requires at least NodeJS version 20. Check your installed version with `node --version`.');
|
|
7
7
|
process.exit(1);
|
|
8
8
|
}
|
|
9
9
|
|
package/lib/publish.d.ts
CHANGED
|
@@ -28,6 +28,10 @@ interface PublishCommonOptions extends RegistryOptions {
|
|
|
28
28
|
* Whether to fail silently if version already exists on the marketplace
|
|
29
29
|
*/
|
|
30
30
|
skipDuplicate?: boolean;
|
|
31
|
+
/**
|
|
32
|
+
* Extension version. Only valid with `packagePath`.
|
|
33
|
+
*/
|
|
34
|
+
packageVersion?: string;
|
|
31
35
|
}
|
|
32
36
|
export interface PublishOptions extends PublishCommonOptions {
|
|
33
37
|
/**
|
package/lib/publish.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"publish.d.ts","sourceRoot":"","sources":["../src/publish.ts"],"names":[],"mappings":"AAWA,OAAO,EAAuB,eAAe,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"publish.d.ts","sourceRoot":"","sources":["../src/publish.ts"],"names":[],"mappings":"AAWA,OAAO,EAAuB,eAAe,EAAE,MAAM,YAAY,CAAC;AAIlE;;GAEG;AACH,wBAAsB,OAAO,CAAC,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,CAAC,CAYjG;AAiDD,UAAU,oBAAqB,SAAQ,eAAe;IAClD;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;OAEG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CAC3B;AAGD,MAAM,WAAW,cAAe,SAAQ,oBAAoB;IAExD;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAEnB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IAEvB;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;CAC1B"}
|
package/lib/publish.js
CHANGED
|
@@ -14,6 +14,7 @@ const vsce_1 = require("@vscode/vsce");
|
|
|
14
14
|
const util_1 = require("./util");
|
|
15
15
|
const registry_1 = require("./registry");
|
|
16
16
|
const check_license_1 = require("./check-license");
|
|
17
|
+
const zip_1 = require("./zip");
|
|
17
18
|
/**
|
|
18
19
|
* Publishes an extension.
|
|
19
20
|
*/
|
|
@@ -31,9 +32,6 @@ async function publish(options = {}) {
|
|
|
31
32
|
}
|
|
32
33
|
exports.publish = publish;
|
|
33
34
|
async function doPublish(options = {}) {
|
|
34
|
-
if (!options.pat) {
|
|
35
|
-
throw new Error("A personal access token must be given with the option '--pat'.");
|
|
36
|
-
}
|
|
37
35
|
// if the packagePath is a link to a vsix, don't need to package it
|
|
38
36
|
if (options.packagePath?.endsWith('.vsix')) {
|
|
39
37
|
options.extensionFile = options.packagePath;
|
|
@@ -48,6 +46,10 @@ async function doPublish(options = {}) {
|
|
|
48
46
|
else if (options.preRelease) {
|
|
49
47
|
console.warn("Ignoring option '--pre-release' for prepackaged extension.");
|
|
50
48
|
}
|
|
49
|
+
if (!options.pat) {
|
|
50
|
+
const namespace = (await (0, zip_1.readVSIXPackage)(options.extensionFile)).publisher;
|
|
51
|
+
options.pat = await (0, util_1.getPAT)(namespace, options);
|
|
52
|
+
}
|
|
51
53
|
let extension;
|
|
52
54
|
try {
|
|
53
55
|
extension = await registry.publish(options.extensionFile, options.pat);
|
|
@@ -87,7 +89,8 @@ async function packageExtension(options, registry) {
|
|
|
87
89
|
baseImagesUrl: options.baseImagesUrl,
|
|
88
90
|
useYarn: options.yarn,
|
|
89
91
|
dependencies: options.dependencies,
|
|
90
|
-
preRelease: options.preRelease
|
|
92
|
+
preRelease: options.preRelease,
|
|
93
|
+
version: options.packageVersion
|
|
91
94
|
};
|
|
92
95
|
await (0, vsce_1.createVSIX)(packageOptions);
|
|
93
96
|
}
|
package/lib/publish.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"publish.js","sourceRoot":"","sources":["../src/publish.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;kFAQkF;AAClF,uCAA2D;AAC3D,
|
|
1
|
+
{"version":3,"file":"publish.js","sourceRoot":"","sources":["../src/publish.ts"],"names":[],"mappings":"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"}
|
package/lib/store.d.ts
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
interface StoreEntry {
|
|
2
|
+
name: string;
|
|
3
|
+
value: string;
|
|
4
|
+
}
|
|
5
|
+
export interface Store extends Iterable<StoreEntry> {
|
|
6
|
+
readonly size: number;
|
|
7
|
+
get(name: string): string | undefined;
|
|
8
|
+
add(name: string, value: string): Promise<void>;
|
|
9
|
+
delete(name: string): Promise<void>;
|
|
10
|
+
}
|
|
11
|
+
export declare class FileStore implements Store {
|
|
12
|
+
readonly path: string;
|
|
13
|
+
private entries;
|
|
14
|
+
private static readonly DefaultPath;
|
|
15
|
+
static open(path?: string): Promise<FileStore>;
|
|
16
|
+
get size(): number;
|
|
17
|
+
private constructor();
|
|
18
|
+
private save;
|
|
19
|
+
deleteStore(): Promise<void>;
|
|
20
|
+
get(name: string): string | undefined;
|
|
21
|
+
add(name: string, value: string): Promise<void>;
|
|
22
|
+
delete(name: string): Promise<void>;
|
|
23
|
+
[Symbol.iterator](): IterableIterator<StoreEntry>;
|
|
24
|
+
}
|
|
25
|
+
export declare class KeytarStore implements Store {
|
|
26
|
+
private readonly keytar;
|
|
27
|
+
private readonly serviceName;
|
|
28
|
+
private entries;
|
|
29
|
+
static open(serviceName?: string): Promise<KeytarStore>;
|
|
30
|
+
get size(): number;
|
|
31
|
+
private constructor();
|
|
32
|
+
get(name: string): string | undefined;
|
|
33
|
+
add(name: string, value: string): Promise<void>;
|
|
34
|
+
delete(name: string): Promise<void>;
|
|
35
|
+
[Symbol.iterator](): Iterator<StoreEntry, any, undefined>;
|
|
36
|
+
}
|
|
37
|
+
export declare function openDefaultStore(): Promise<Store>;
|
|
38
|
+
export {};
|
|
39
|
+
//# sourceMappingURL=store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"AAIA,UAAU,UAAU;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,KAAM,SAAQ,QAAQ,CAAC,UAAU,CAAC;IAClD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IACtC,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACpC;AAED,qBAAa,SAAU,YAAW,KAAK;IAsBlB,QAAQ,CAAC,IAAI,EAAE,MAAM;IAAE,OAAO,CAAC,OAAO;IArB1D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAiC;WAEvD,IAAI,CAAC,IAAI,GAAE,MAA8B,GAAG,OAAO,CAAC,SAAS,CAAC;IAe3E,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,OAAO;YAEO,IAAI;IAIZ,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAQlC,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAI/B,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAM/C,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKzC,CAAC,MAAM,CAAC,QAAQ,CAAC;CAGjB;AAED,qBAAa,WAAY,YAAW,KAAK;IAiBvC,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,OAAO;WAlBH,IAAI,CAAC,WAAW,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC;IAW7D,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,OAAO;IAMP,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAI/B,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAM/C,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKzC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE,SAAS,CAAC;CAGzD;AAED,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,KAAK,CAAC,CA2BvD"}
|
package/lib/store.js
ADDED
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.openDefaultStore = exports.KeytarStore = exports.FileStore = void 0;
|
|
4
|
+
const fs = require("fs");
|
|
5
|
+
const path = require("path");
|
|
6
|
+
const os_1 = require("os");
|
|
7
|
+
class FileStore {
|
|
8
|
+
static async open(path = FileStore.DefaultPath) {
|
|
9
|
+
try {
|
|
10
|
+
const rawStore = await fs.promises.readFile(path, 'utf8');
|
|
11
|
+
return new FileStore(path, JSON.parse(rawStore).entries);
|
|
12
|
+
}
|
|
13
|
+
catch (err) {
|
|
14
|
+
if (err.code === 'ENOENT') {
|
|
15
|
+
return new FileStore(path, []);
|
|
16
|
+
}
|
|
17
|
+
else if (/SyntaxError/.test(err)) {
|
|
18
|
+
throw new Error(`Error parsing file store: ${path}.`);
|
|
19
|
+
}
|
|
20
|
+
throw err;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
get size() {
|
|
24
|
+
return this.entries.length;
|
|
25
|
+
}
|
|
26
|
+
constructor(path, entries) {
|
|
27
|
+
this.path = path;
|
|
28
|
+
this.entries = entries;
|
|
29
|
+
}
|
|
30
|
+
async save() {
|
|
31
|
+
await fs.promises.writeFile(this.path, JSON.stringify({ entries: this.entries }), { mode: '0600' });
|
|
32
|
+
}
|
|
33
|
+
async deleteStore() {
|
|
34
|
+
try {
|
|
35
|
+
await fs.promises.unlink(this.path);
|
|
36
|
+
}
|
|
37
|
+
catch {
|
|
38
|
+
// noop
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
get(name) {
|
|
42
|
+
return this.entries.find(p => p.name === name)?.value;
|
|
43
|
+
}
|
|
44
|
+
async add(name, value) {
|
|
45
|
+
const newEntry = { name, value };
|
|
46
|
+
this.entries = [...this.entries.filter(p => p.name !== name), newEntry];
|
|
47
|
+
await this.save();
|
|
48
|
+
}
|
|
49
|
+
async delete(name) {
|
|
50
|
+
this.entries = this.entries.filter(p => p.name !== name);
|
|
51
|
+
await this.save();
|
|
52
|
+
}
|
|
53
|
+
[Symbol.iterator]() {
|
|
54
|
+
return this.entries[Symbol.iterator]();
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
exports.FileStore = FileStore;
|
|
58
|
+
FileStore.DefaultPath = path.join((0, os_1.homedir)(), '.ovsx');
|
|
59
|
+
class KeytarStore {
|
|
60
|
+
static async open(serviceName = 'ovsx') {
|
|
61
|
+
const keytar = await Promise.resolve().then(() => require('keytar'));
|
|
62
|
+
const creds = await keytar.findCredentials(serviceName);
|
|
63
|
+
return new KeytarStore(keytar, serviceName, creds.map(({ account, password }) => ({ name: account, value: password })));
|
|
64
|
+
}
|
|
65
|
+
get size() {
|
|
66
|
+
return this.entries.length;
|
|
67
|
+
}
|
|
68
|
+
constructor(keytar, serviceName, entries) {
|
|
69
|
+
this.keytar = keytar;
|
|
70
|
+
this.serviceName = serviceName;
|
|
71
|
+
this.entries = entries;
|
|
72
|
+
}
|
|
73
|
+
get(name) {
|
|
74
|
+
return this.entries.find(p => p.name === name)?.value;
|
|
75
|
+
}
|
|
76
|
+
async add(name, value) {
|
|
77
|
+
const newEntry = { name, value };
|
|
78
|
+
this.entries = [...this.entries.filter(p => p.name !== name), newEntry];
|
|
79
|
+
await this.keytar.setPassword(this.serviceName, name, value);
|
|
80
|
+
}
|
|
81
|
+
async delete(name) {
|
|
82
|
+
this.entries = this.entries.filter(p => p.name !== name);
|
|
83
|
+
await this.keytar.deletePassword(this.serviceName, name);
|
|
84
|
+
}
|
|
85
|
+
[Symbol.iterator]() {
|
|
86
|
+
return this.entries[Symbol.iterator]();
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
exports.KeytarStore = KeytarStore;
|
|
90
|
+
async function openDefaultStore() {
|
|
91
|
+
if (/^file$/i.test(process.env['OVSX_STORE'] ?? '')) {
|
|
92
|
+
return await FileStore.open();
|
|
93
|
+
}
|
|
94
|
+
let keytarStore;
|
|
95
|
+
try {
|
|
96
|
+
keytarStore = await KeytarStore.open();
|
|
97
|
+
}
|
|
98
|
+
catch (err) {
|
|
99
|
+
const store = await FileStore.open();
|
|
100
|
+
console.warn(`Failed to open credential store. Falling back to storing secrets clear-text in: ${store.path}.`);
|
|
101
|
+
return store;
|
|
102
|
+
}
|
|
103
|
+
const fileStore = await FileStore.open();
|
|
104
|
+
// migrate from file store
|
|
105
|
+
if (fileStore.size) {
|
|
106
|
+
for (const { name, value } of fileStore) {
|
|
107
|
+
await keytarStore.add(name, value);
|
|
108
|
+
}
|
|
109
|
+
await fileStore.deleteStore();
|
|
110
|
+
console.info(`Migrated ${fileStore.size} publishers to system credential manager. Deleted local store '${fileStore.path}'.`);
|
|
111
|
+
}
|
|
112
|
+
return keytarStore;
|
|
113
|
+
}
|
|
114
|
+
exports.openDefaultStore = openDefaultStore;
|
|
115
|
+
//# sourceMappingURL=store.js.map
|
package/lib/store.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store.js","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
|
package/lib/util.d.ts
CHANGED
|
@@ -14,6 +14,9 @@ import * as fs from 'fs';
|
|
|
14
14
|
import * as tmp from 'tmp';
|
|
15
15
|
import * as http from 'http';
|
|
16
16
|
import { RegistryOptions } from './registry';
|
|
17
|
+
import { VerifyPatOptions } from './verify-pat';
|
|
18
|
+
import { PublishOptions } from './publish';
|
|
19
|
+
import { CreateNamespaceOptions } from './create-namespace';
|
|
17
20
|
export { promisify } from 'util';
|
|
18
21
|
export declare function addEnvOptions(options: RegistryOptions): void;
|
|
19
22
|
export declare function matchExtensionId(id: string): RegExpExecArray | null;
|
|
@@ -35,4 +38,6 @@ export interface Manifest {
|
|
|
35
38
|
}
|
|
36
39
|
export declare function getUserInput(text: string): Promise<string>;
|
|
37
40
|
export declare function getUserChoice<R extends string>(text: string, values: R[], defaultValue: R, lowerCase?: boolean): Promise<R>;
|
|
41
|
+
export declare function requestPAT(namespace: string, options: CreateNamespaceOptions | PublishOptions | VerifyPatOptions, verify?: boolean): Promise<string>;
|
|
42
|
+
export declare function getPAT(namespace: string, options: CreateNamespaceOptions | PublishOptions | VerifyPatOptions, verify?: boolean): Promise<string>;
|
|
38
43
|
//# sourceMappingURL=util.d.ts.map
|
package/lib/util.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"AAAA;;;;;;;;kFAQkF;;;;AAElF,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AAEzB,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAC3B,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"AAAA;;;;;;;;kFAQkF;;;;AAElF,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AAEzB,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAC3B,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAe,MAAM,cAAc,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAE3C,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAE5D,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAEjC,wBAAgB,aAAa,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI,CAa5D;AAED,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CAEnE;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,GAAG,OAAO,CAAC,EAAE,CAAC,KAAK,GAAG,SAAS,CAAC,CAI7E;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAazD;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,GAAG,CAAC,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAS3E;AAED,wBAAgB,WAAW,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,iBAAiB,CAAC,EAAE,MAAM,EAAE,IAAI,GAAE,OAAc,GAAG,CAAC,MAAM,EAAE,GAAG,KAAK,IAAI,CAmBpH;AAED,wBAAgB,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,eAAe,GAAG,KAAK,CAKjE;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,QAAQ,GAAE,cAAwB,GAAG,OAAO,CAAC,MAAM,CAAC,CAchH;AAED,wBAAsB,YAAY,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAG1E;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAUzD;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,QAAQ,GAAE,cAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CAehI;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,QAAQ,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAGrF;AAED,MAAM,WAAW,QAAQ;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAQ1D;AAED,wBAAsB,aAAa,CAAC,CAAC,SAAS,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,EACvE,YAAY,EAAE,CAAC,EAAE,SAAS,UAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAarD;AAED,wBAAsB,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,sBAAsB,GAAG,cAAc,GAAG,gBAAgB,EAAE,MAAM,GAAE,OAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAOhK;AAED,wBAAsB,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,sBAAsB,GAAG,cAAc,GAAG,gBAAgB,EAAE,MAAM,GAAE,OAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAe5J"}
|
package/lib/util.js
CHANGED
|
@@ -9,11 +9,13 @@
|
|
|
9
9
|
* SPDX-License-Identifier: EPL-2.0
|
|
10
10
|
********************************************************************************/
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.getUserChoice = exports.getUserInput = exports.writeManifest = exports.writeFile = exports.validateManifest = exports.readManifest = exports.readFile = exports.statusError = exports.handleError = exports.createTempFile = exports.makeDirs = exports.optionalStat = exports.matchExtensionId = exports.addEnvOptions = exports.promisify = void 0;
|
|
12
|
+
exports.getPAT = exports.requestPAT = exports.getUserChoice = exports.getUserInput = exports.writeManifest = exports.writeFile = exports.validateManifest = exports.readManifest = exports.readFile = exports.statusError = exports.handleError = exports.createTempFile = exports.makeDirs = exports.optionalStat = exports.matchExtensionId = exports.addEnvOptions = exports.promisify = void 0;
|
|
13
13
|
const fs = require("fs");
|
|
14
14
|
const path = require("path");
|
|
15
15
|
const tmp = require("tmp");
|
|
16
16
|
const readline = require("readline");
|
|
17
|
+
const verify_pat_1 = require("./verify-pat");
|
|
18
|
+
const store_1 = require("./store");
|
|
17
19
|
var util_1 = require("util");
|
|
18
20
|
Object.defineProperty(exports, "promisify", { enumerable: true, get: function () { return util_1.promisify; } });
|
|
19
21
|
function addEnvOptions(options) {
|
|
@@ -171,4 +173,26 @@ async function getUserChoice(text, values, defaultValue, lowerCase = true) {
|
|
|
171
173
|
return defaultValue;
|
|
172
174
|
}
|
|
173
175
|
exports.getUserChoice = getUserChoice;
|
|
176
|
+
async function requestPAT(namespace, options, verify = true) {
|
|
177
|
+
const pat = await getUserInput(`Personal Access Token for namespace '${namespace}':`);
|
|
178
|
+
if (verify) {
|
|
179
|
+
await (0, verify_pat_1.doVerifyPat)({ ...options, namespace, pat });
|
|
180
|
+
}
|
|
181
|
+
return pat;
|
|
182
|
+
}
|
|
183
|
+
exports.requestPAT = requestPAT;
|
|
184
|
+
async function getPAT(namespace, options, verify = true) {
|
|
185
|
+
if (options?.pat) {
|
|
186
|
+
return options.pat;
|
|
187
|
+
}
|
|
188
|
+
const store = await (0, store_1.openDefaultStore)();
|
|
189
|
+
let pat = store.get(namespace);
|
|
190
|
+
if (pat) {
|
|
191
|
+
return pat;
|
|
192
|
+
}
|
|
193
|
+
pat = await requestPAT(namespace, options, verify);
|
|
194
|
+
await store.add(namespace, pat);
|
|
195
|
+
return pat;
|
|
196
|
+
}
|
|
197
|
+
exports.getPAT = getPAT;
|
|
174
198
|
//# sourceMappingURL=util.js.map
|
package/lib/util.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":";AAAA;;;;;;;;kFAQkF;;;AAElF,yBAAyB;AACzB,6BAA6B;AAC7B,2BAA2B;AAE3B,qCAAqC;
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"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"}
|
package/lib/verify-pat.d.ts
CHANGED
|
@@ -12,6 +12,7 @@ import { RegistryOptions } from './registry';
|
|
|
12
12
|
* Validates that a Personal Access Token can publish to a namespace.
|
|
13
13
|
*/
|
|
14
14
|
export declare function verifyPat(options: VerifyPatOptions): Promise<void>;
|
|
15
|
+
export declare function doVerifyPat(options: VerifyPatOptions): Promise<void>;
|
|
15
16
|
export interface VerifyPatOptions extends RegistryOptions {
|
|
16
17
|
/**
|
|
17
18
|
* Name of the namespace.
|
package/lib/verify-pat.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verify-pat.d.ts","sourceRoot":"","sources":["../src/verify-pat.ts"],"names":[],"mappings":"AAAA;;;;;;;;kFAQkF;AAElF,OAAO,EAAY,eAAe,EAAE,MAAM,YAAY,CAAC;AAGvD;;GAEG;AACH,wBAAsB,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"verify-pat.d.ts","sourceRoot":"","sources":["../src/verify-pat.ts"],"names":[],"mappings":"AAAA;;;;;;;;kFAQkF;AAElF,OAAO,EAAY,eAAe,EAAE,MAAM,YAAY,CAAC;AAGvD;;GAEG;AACH,wBAAsB,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAoBxE;AAED,wBAAsB,WAAW,CAAC,OAAO,EAAE,gBAAgB,iBAS1D;AAED,MAAM,WAAW,gBAAiB,SAAQ,eAAe;IACrD;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;CACrB"}
|