ovsx 0.4.0 → 0.5.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 +6 -0
- package/README.md +1 -1
- package/lib/get.d.ts +4 -0
- package/lib/get.d.ts.map +1 -1
- package/lib/get.js +11 -4
- package/lib/get.js.map +1 -1
- package/lib/main.js +10 -4
- package/lib/main.js.map +1 -1
- package/lib/publish.d.ts +4 -0
- package/lib/publish.d.ts.map +1 -1
- package/lib/publish.js +19 -7
- package/lib/publish.js.map +1 -1
- package/lib/registry.d.ts +3 -1
- package/lib/registry.d.ts.map +1 -1
- package/lib/registry.js +5 -2
- package/lib/registry.js.map +1 -1
- package/package.json +8 -8
- package/src/get.ts +17 -5
- package/src/main.ts +10 -4
- package/src/publish.ts +32 -6
- package/src/registry.ts +7 -2
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
This change log covers only the command line interface (CLI) of Open VSX.
|
|
4
4
|
|
|
5
|
+
### v0.5.0 (Mar. 2022)
|
|
6
|
+
|
|
7
|
+
#### New Features
|
|
8
|
+
|
|
9
|
+
- Added CLI parameter `--target` to support target platforms ([#406](https://github.com/eclipse/openvsx/pull/406))
|
|
10
|
+
|
|
5
11
|
### v0.4.0 (Feb. 2022)
|
|
6
12
|
|
|
7
13
|
#### New Features
|
package/README.md
CHANGED
|
@@ -39,7 +39,7 @@ You can use `ovsx` for downloading extensions from an Open VSX instance. Extensi
|
|
|
39
39
|
|
|
40
40
|
Variants:
|
|
41
41
|
* `ovsx get <extension>`
|
|
42
|
-
downloads an extension and saves it
|
|
42
|
+
downloads an extension and saves it to a file as specified in its download URL in the current working directory. This is usually in the format `namespace.extension-version.vsix`. For [target platform specific extensions](https://code.visualstudio.com/api/working-with-extensions/publishing-extension#platformspecific-extensions) (e.g. `linux-x64`) the format is `namespace.extension-version@target.vsix`.
|
|
43
43
|
* `ovsx get <extension> -o <path>`
|
|
44
44
|
downloads an extension and saves it in the specified file or directory.
|
|
45
45
|
* `ovsx get <extension> --metadata`
|
package/lib/get.d.ts
CHANGED
|
@@ -17,6 +17,10 @@ export interface GetOptions extends RegistryOptions {
|
|
|
17
17
|
* Identifier in the form `namespace.extension` or `namespace/extension`.
|
|
18
18
|
*/
|
|
19
19
|
extensionId: string;
|
|
20
|
+
/**
|
|
21
|
+
* Target platform.
|
|
22
|
+
*/
|
|
23
|
+
target?: string;
|
|
20
24
|
/**
|
|
21
25
|
* An exact version or version range.
|
|
22
26
|
*/
|
package/lib/get.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../src/get.ts"],"names":[],"mappings":"AAAA;;;;;;;;kFAQkF;AAKlF,OAAO,EAAuB,eAAe,EAAE,MAAM,YAAY,CAAC;AAGlE;;GAEG;AACH,wBAAsB,YAAY,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../src/get.ts"],"names":[],"mappings":"AAAA;;;;;;;;kFAQkF;AAKlF,OAAO,EAAuB,eAAe,EAAE,MAAM,YAAY,CAAC;AAGlE;;GAEG;AACH,wBAAsB,YAAY,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CA2BrE;AAgED,MAAM,WAAW,UAAW,SAAQ,eAAe;IAC/C;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB"}
|
package/lib/get.js
CHANGED
|
@@ -29,12 +29,15 @@ const util_1 = require("./util");
|
|
|
29
29
|
function getExtension(options) {
|
|
30
30
|
return __awaiter(this, void 0, void 0, function* () {
|
|
31
31
|
util_1.addEnvOptions(options);
|
|
32
|
+
if (!options.target) {
|
|
33
|
+
options.target = 'universal';
|
|
34
|
+
}
|
|
32
35
|
const registry = new registry_1.Registry(options);
|
|
33
36
|
const match = util_1.matchExtensionId(options.extensionId);
|
|
34
37
|
if (!match) {
|
|
35
38
|
throw new Error('The extension identifier must have the form `namespace.extension`.');
|
|
36
39
|
}
|
|
37
|
-
const extension = yield registry.getMetadata(match[1], match[2]);
|
|
40
|
+
const extension = yield registry.getMetadata(match[1], match[2], options.target);
|
|
38
41
|
if (extension.error) {
|
|
39
42
|
throw new Error(extension.error);
|
|
40
43
|
}
|
|
@@ -56,7 +59,7 @@ function findMatchingVersion(registry, extension, constraint) {
|
|
|
56
59
|
return Promise.resolve(extension);
|
|
57
60
|
}
|
|
58
61
|
for (const version of Object.keys(extension.allVersions)) {
|
|
59
|
-
if (semver.satisfies(version, constraint)) {
|
|
62
|
+
if (!isAlias(extension, version) && semver.satisfies(version, constraint)) {
|
|
60
63
|
try {
|
|
61
64
|
return registry.getJson(new URL(extension.allVersions[version]));
|
|
62
65
|
}
|
|
@@ -67,6 +70,9 @@ function findMatchingVersion(registry, extension, constraint) {
|
|
|
67
70
|
}
|
|
68
71
|
return Promise.reject(`Extension ${extension.namespace}.${extension.name} has no published version matching '${constraint}'`);
|
|
69
72
|
}
|
|
73
|
+
function isAlias(extension, version) {
|
|
74
|
+
return extension.versionAlias.includes(version);
|
|
75
|
+
}
|
|
70
76
|
function printMetadata(registry, extension, output) {
|
|
71
77
|
return __awaiter(this, void 0, void 0, function* () {
|
|
72
78
|
const metadata = JSON.stringify(extension, null, 4);
|
|
@@ -94,7 +100,7 @@ function download(registry, extension, output) {
|
|
|
94
100
|
throw new Error(`Extension ${extension.namespace}.${extension.name} does not provide a download URL.`);
|
|
95
101
|
}
|
|
96
102
|
const fileNameIndex = downloadUrl.lastIndexOf('/');
|
|
97
|
-
const fileName = downloadUrl.substring(fileNameIndex + 1);
|
|
103
|
+
const fileName = decodeURIComponent(downloadUrl.substring(fileNameIndex + 1));
|
|
98
104
|
let filePath;
|
|
99
105
|
if (output) {
|
|
100
106
|
const stats = yield util_1.optionalStat(output);
|
|
@@ -109,7 +115,8 @@ function download(registry, extension, output) {
|
|
|
109
115
|
filePath = path.resolve(process.cwd(), fileName);
|
|
110
116
|
}
|
|
111
117
|
yield util_1.makeDirs(path.dirname(filePath));
|
|
112
|
-
|
|
118
|
+
const target = extension.targetPlatform !== 'universal' ? '@' + extension.targetPlatform : '';
|
|
119
|
+
console.log(`Downloading ${extension.namespace}.${extension.name}-${extension.version}${target} to ${filePath}`);
|
|
113
120
|
yield registry.download(filePath, new URL(downloadUrl));
|
|
114
121
|
});
|
|
115
122
|
}
|
package/lib/get.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get.js","sourceRoot":"","sources":["../src/get.ts"],"names":[],"mappings":";AAAA;;;;;;;;kFAQkF;;;;;;;;;;;AAElF,yBAAyB;AACzB,6BAA6B;AAC7B,iCAAiC;AACjC,yCAAkE;AAClE,iCAA4F;AAE5F;;GAEG;AACH,SAAsB,YAAY,CAAC,OAAmB;;QAClD,oBAAa,CAAC,OAAO,CAAC,CAAC;QACvB,MAAM,QAAQ,GAAG,IAAI,mBAAQ,CAAC,OAAO,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"get.js","sourceRoot":"","sources":["../src/get.ts"],"names":[],"mappings":"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"}
|
package/lib/main.js
CHANGED
|
@@ -32,16 +32,21 @@ module.exports = function (argv) {
|
|
|
32
32
|
});
|
|
33
33
|
const publishCmd = program.command('publish [extension.vsix]');
|
|
34
34
|
publishCmd.description('Publish an extension, packaging it first if necessary.')
|
|
35
|
+
.option('-t, --target <targets...>', 'Target architectures')
|
|
35
36
|
.option('-i, --packagePath <paths...>', 'Publish the provided VSIX packages.')
|
|
36
37
|
.option('--baseContentUrl <url>', 'Prepend all relative links in README.md with this URL.')
|
|
37
38
|
.option('--baseImagesUrl <url>', 'Prepend all relative image links in README.md with this URL.')
|
|
38
39
|
.option('--yarn', 'Use yarn instead of npm while packing extension files.')
|
|
39
40
|
.option('--pre-release', 'Mark this package as a pre-release')
|
|
40
|
-
.action((extensionFile, { packagePath, baseContentUrl, baseImagesUrl, yarn, preRelease }) => {
|
|
41
|
+
.action((extensionFile, { target, packagePath, baseContentUrl, baseImagesUrl, yarn, preRelease }) => {
|
|
41
42
|
if (extensionFile !== undefined && packagePath !== undefined) {
|
|
42
43
|
console.error('\u274c Please specify either a package file or a package path, but not both.\n');
|
|
43
44
|
publishCmd.help();
|
|
44
45
|
}
|
|
46
|
+
if (extensionFile !== undefined && target !== undefined) {
|
|
47
|
+
console.warn("Ignoring option '--target' for prepackaged extension.");
|
|
48
|
+
target = undefined;
|
|
49
|
+
}
|
|
45
50
|
if (extensionFile !== undefined && baseContentUrl !== undefined)
|
|
46
51
|
console.warn("Ignoring option '--baseContentUrl' for prepackaged extension.");
|
|
47
52
|
if (extensionFile !== undefined && baseImagesUrl !== undefined)
|
|
@@ -49,18 +54,19 @@ module.exports = function (argv) {
|
|
|
49
54
|
if (extensionFile !== undefined && yarn !== undefined)
|
|
50
55
|
console.warn("Ignoring option '--yarn' for prepackaged extension.");
|
|
51
56
|
const { registryUrl, pat } = program.opts();
|
|
52
|
-
publish_1.publish({ extensionFile, registryUrl, pat, packagePath: typeof packagePath === 'string' ? [packagePath] : packagePath, baseContentUrl, baseImagesUrl, yarn, preRelease })
|
|
57
|
+
publish_1.publish({ extensionFile, registryUrl, pat, targets: typeof target === 'string' ? [target] : target, packagePath: typeof packagePath === 'string' ? [packagePath] : packagePath, baseContentUrl, baseImagesUrl, yarn, preRelease })
|
|
53
58
|
.catch(util_1.handleError(program.debug, 'See the documentation for more information:\n'
|
|
54
59
|
+ 'https://github.com/eclipse/openvsx/wiki/Publishing-Extensions'));
|
|
55
60
|
});
|
|
56
61
|
const getCmd = program.command('get <namespace.extension>');
|
|
57
62
|
getCmd.description('Download an extension or its metadata.')
|
|
63
|
+
.option('-t, --target <target>', 'Target architecture')
|
|
58
64
|
.option('-v, --versionRange <version>', 'Specify an exact version or a version range.')
|
|
59
65
|
.option('-o, --output <path>', 'Save the output in the specified file or directory.')
|
|
60
66
|
.option('--metadata', 'Print the extension\'s metadata instead of downloading it.')
|
|
61
|
-
.action((extensionId, { versionRange, output, metadata }) => {
|
|
67
|
+
.action((extensionId, { target, versionRange, output, metadata }) => {
|
|
62
68
|
const { registryUrl } = program.opts();
|
|
63
|
-
get_1.getExtension({ extensionId, version: versionRange, registryUrl, output, metadata })
|
|
69
|
+
get_1.getExtension({ extensionId, target: target, version: versionRange, registryUrl, output, metadata })
|
|
64
70
|
.catch(util_1.handleError(program.debug));
|
|
65
71
|
});
|
|
66
72
|
program
|
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,uCAAoC;AACpC,iCAAqC;AACrC,+BAAqC;AAErC,MAAM,GAAG,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAEvC,MAAM,CAAC,OAAO,GAAG,UAAU,IAAc;IACrC,MAAM,OAAO,GAAG,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;IACxC,OAAO,CAAC,KAAK,CAAC,qBAAqB,CAAC;SAC/B,MAAM,CAAC,yBAAyB,EAAE,wCAAwC,CAAC;SAC3E,MAAM,CAAC,mBAAmB,EAAE,wBAAwB,CAAC;SACrD,MAAM,CAAC,SAAS,EAAE,oCAAoC,CAAC;SACvD,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,eAAe,EAAE,wCAAwC,CAAC,CAAC;IAErF,MAAM,kBAAkB,GAAG,OAAO,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;IACtE,kBAAkB,CAAC,WAAW,CAAC,wBAAwB,CAAC;SACnD,MAAM,CAAC,CAAC,IAAY,EAAE,EAAE;QACrB,MAAM,EAAE,WAAW,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;QAC5C,kCAAe,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC;aACtC,KAAK,CAAC,kBAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEP,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC;IAC/D,UAAU,CAAC,WAAW,CAAC,wDAAwD,CAAC;SAC3E,MAAM,CAAC,8BAA8B,EAAE,qCAAqC,CAAC;SAC7E,MAAM,CAAC,wBAAwB,EAAE,wDAAwD,CAAC;SAC1F,MAAM,CAAC,uBAAuB,EAAE,8DAA8D,CAAC;SAC/F,MAAM,CAAC,QAAQ,EAAE,wDAAwD,CAAC;SAC1E,MAAM,CAAC,eAAe,EAAE,oCAAoC,CAAC;SAC7D,MAAM,CAAC,CAAC,aAAqB,EAAE,EAAE,WAAW,EAAE,cAAc,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":";AAAA;;;;;;;;kFAQkF;;AAElF,uCAAuC;AACvC,+BAA+B;AAC/B,yDAAqD;AACrD,uCAAoC;AACpC,iCAAqC;AACrC,+BAAqC;AAErC,MAAM,GAAG,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAEvC,MAAM,CAAC,OAAO,GAAG,UAAU,IAAc;IACrC,MAAM,OAAO,GAAG,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;IACxC,OAAO,CAAC,KAAK,CAAC,qBAAqB,CAAC;SAC/B,MAAM,CAAC,yBAAyB,EAAE,wCAAwC,CAAC;SAC3E,MAAM,CAAC,mBAAmB,EAAE,wBAAwB,CAAC;SACrD,MAAM,CAAC,SAAS,EAAE,oCAAoC,CAAC;SACvD,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,eAAe,EAAE,wCAAwC,CAAC,CAAC;IAErF,MAAM,kBAAkB,GAAG,OAAO,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;IACtE,kBAAkB,CAAC,WAAW,CAAC,wBAAwB,CAAC;SACnD,MAAM,CAAC,CAAC,IAAY,EAAE,EAAE;QACrB,MAAM,EAAE,WAAW,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;QAC5C,kCAAe,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC;aACtC,KAAK,CAAC,kBAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEP,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC;IAC/D,UAAU,CAAC,WAAW,CAAC,wDAAwD,CAAC;SAC3E,MAAM,CAAC,2BAA2B,EAAE,sBAAsB,CAAC;SAC3D,MAAM,CAAC,8BAA8B,EAAE,qCAAqC,CAAC;SAC7E,MAAM,CAAC,wBAAwB,EAAE,wDAAwD,CAAC;SAC1F,MAAM,CAAC,uBAAuB,EAAE,8DAA8D,CAAC;SAC/F,MAAM,CAAC,QAAQ,EAAE,wDAAwD,CAAC;SAC1E,MAAM,CAAC,eAAe,EAAE,oCAAoC,CAAC;SAC7D,MAAM,CAAC,CAAC,aAAqB,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE;QACxG,IAAI,aAAa,KAAK,SAAS,IAAI,WAAW,KAAK,SAAS,EAAE;YAC1D,OAAO,CAAC,KAAK,CAAC,iFAAiF,CAAC,CAAC;YACjG,UAAU,CAAC,IAAI,EAAE,CAAC;SACrB;QACD,IAAI,aAAa,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS,EAAE;YACrD,OAAO,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAC;YACtE,MAAM,GAAG,SAAS,CAAC;SACtB;QACD,IAAI,aAAa,KAAK,SAAS,IAAI,cAAc,KAAK,SAAS;YAC3D,OAAO,CAAC,IAAI,CAAC,+DAA+D,CAAC,CAAC;QAClF,IAAI,aAAa,KAAK,SAAS,IAAI,aAAa,KAAK,SAAS;YAC1D,OAAO,CAAC,IAAI,CAAC,8DAA8D,CAAC,CAAC;QACjF,IAAI,aAAa,KAAK,SAAS,IAAI,IAAI,KAAK,SAAS;YACjD,OAAO,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;QACxE,MAAM,EAAE,WAAW,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;QAC5C,iBAAO,CAAC,EAAE,aAAa,EAAE,WAAW,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,cAAc,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;aAC7N,KAAK,CAAC,kBAAW,CAAC,OAAO,CAAC,KAAK,EAC5B,+CAA+C;cAC7C,+DAA+D,CACpE,CAAC,CAAC;IACX,CAAC,CAAC,CAAC;IAEP,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC;IAC5D,MAAM,CAAC,WAAW,CAAC,wCAAwC,CAAC;SACvD,MAAM,CAAC,uBAAuB,EAAE,qBAAqB,CAAC;SACtD,MAAM,CAAC,8BAA8B,EAAE,8CAA8C,CAAC;SACtF,MAAM,CAAC,qBAAqB,EAAE,qDAAqD,CAAC;SACpF,MAAM,CAAC,YAAY,EAAE,4DAA4D,CAAC;SAClF,MAAM,CAAC,CAAC,WAAmB,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE;QACxE,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;QACvC,kBAAY,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;aAC9F,KAAK,CAAC,kBAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEP,OAAO;SACF,OAAO,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;SAClC,MAAM,CAAC,CAAC,GAAsB,EAAE,EAAE;QAC/B,MAAM,iBAAiB,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAa,CAAC;QAChF,MAAM,aAAa,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClC,IAAI,aAAa,EAAE;YACf,MAAM,UAAU,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC;YACzF,IAAI,UAAU;gBACV,OAAO,CAAC,KAAK,CAAC,oBAAoB,aAAa,oBAAoB,UAAU,MAAM,CAAC,CAAC;;gBAErF,OAAO,CAAC,KAAK,CAAC,oBAAoB,aAAa,MAAM,CAAC,CAAC;SAC9D;aAAM;YACH,OAAO,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;SACrC;QACD,OAAO,CAAC,IAAI,EAAE,CAAC;IACnB,CAAC,CAAC,CAAC;IAEP,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAEpB,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE;QAC1B,OAAO,CAAC,IAAI,EAAE,CAAC;KAClB;AACL,CAAC,CAAC"}
|
package/lib/publish.d.ts
CHANGED
|
@@ -26,6 +26,10 @@ interface PublishCommonOptions extends RegistryOptions {
|
|
|
26
26
|
preRelease?: boolean;
|
|
27
27
|
}
|
|
28
28
|
export interface PublishOptions extends PublishCommonOptions {
|
|
29
|
+
/**
|
|
30
|
+
* Target architectures.
|
|
31
|
+
*/
|
|
32
|
+
targets?: string[];
|
|
29
33
|
/**
|
|
30
34
|
* Paths to the extension to be packaged and published. Cannot be used together
|
|
31
35
|
* with `extensionFile`.
|
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,EAAY,eAAe,EAAE,MAAM,YAAY,CAAC;AAGvD;;GAEG;AACH,wBAAsB,OAAO,CAAC,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"publish.d.ts","sourceRoot":"","sources":["../src/publish.ts"],"names":[],"mappings":"AAWA,OAAO,EAAY,eAAe,EAAE,MAAM,YAAY,CAAC;AAGvD;;GAEG;AACH,wBAAsB,OAAO,CAAC,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAWzE;AAsCD,UAAU,oBAAqB,SAAQ,eAAe;IAClD;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;OAEA;IACA,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;OAEA;IACA,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;OAEA;IACA,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACxB;AAGD,MAAM,WAAW,cAAe,SAAQ,oBAAoB;IAExD;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAEnB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B"}
|
package/lib/publish.js
CHANGED
|
@@ -28,13 +28,15 @@ const check_license_1 = require("./check-license");
|
|
|
28
28
|
function publish(options = {}) {
|
|
29
29
|
return __awaiter(this, void 0, void 0, function* () {
|
|
30
30
|
util_1.addEnvOptions(options);
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
31
|
+
const internalPublishOptions = [];
|
|
32
|
+
const packagePaths = options.packagePath || [undefined];
|
|
33
|
+
const targets = options.targets || [undefined];
|
|
34
|
+
for (const packagePath of packagePaths) {
|
|
35
|
+
for (const target of targets) {
|
|
36
|
+
internalPublishOptions.push(Object.assign(Object.assign({}, options), { packagePath: packagePath, target: target }));
|
|
37
|
+
}
|
|
37
38
|
}
|
|
39
|
+
yield Promise.all(internalPublishOptions.map(publishOptions => doPublish(publishOptions)));
|
|
38
40
|
});
|
|
39
41
|
}
|
|
40
42
|
exports.publish = publish;
|
|
@@ -47,6 +49,7 @@ function doPublish(options = {}) {
|
|
|
47
49
|
if (options.packagePath && options.packagePath.endsWith('.vsix')) {
|
|
48
50
|
options.extensionFile = options.packagePath;
|
|
49
51
|
delete options.packagePath;
|
|
52
|
+
delete options.target;
|
|
50
53
|
}
|
|
51
54
|
const registry = new registry_1.Registry(options);
|
|
52
55
|
if (!options.extensionFile) {
|
|
@@ -60,7 +63,15 @@ function doPublish(options = {}) {
|
|
|
60
63
|
if (extension.error) {
|
|
61
64
|
throw new Error(extension.error);
|
|
62
65
|
}
|
|
63
|
-
|
|
66
|
+
const name = `${extension.namespace}.${extension.name}`;
|
|
67
|
+
let description = `${name} v${extension.version}`;
|
|
68
|
+
if (options.target) {
|
|
69
|
+
description += `@${options.target}`;
|
|
70
|
+
}
|
|
71
|
+
console.log(`\ud83d\ude80 Published ${description}`);
|
|
72
|
+
if (extension.warning) {
|
|
73
|
+
console.log(`\n!! ${extension.warning}`);
|
|
74
|
+
}
|
|
64
75
|
});
|
|
65
76
|
}
|
|
66
77
|
function packageExtension(options, registry) {
|
|
@@ -70,6 +81,7 @@ function packageExtension(options, registry) {
|
|
|
70
81
|
}
|
|
71
82
|
options.extensionFile = yield util_1.createTempFile({ postfix: '.vsix' });
|
|
72
83
|
const createVSIXOptions = {
|
|
84
|
+
target: options.target,
|
|
73
85
|
cwd: options.packagePath,
|
|
74
86
|
packagePath: options.extensionFile,
|
|
75
87
|
baseContentUrl: options.baseContentUrl,
|
package/lib/publish.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"publish.js","sourceRoot":"","sources":["../src/publish.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA;;;;;;;;kFAQkF;AAClF,+BAAsD;AACtD,iCAAuD;AACvD,yCAAuD;AACvD,mDAA+C;AAE/C;;GAEG;AACH,SAAsB,OAAO,CAAC,UAA0B,EAAE;;QAClD,oBAAa,CAAC,OAAO,CAAC,CAAC;QACvB,
|
|
1
|
+
{"version":3,"file":"publish.js","sourceRoot":"","sources":["../src/publish.ts"],"names":[],"mappings":"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"}
|
package/lib/registry.d.ts
CHANGED
|
@@ -22,7 +22,7 @@ export declare class Registry {
|
|
|
22
22
|
get requiresLicense(): boolean;
|
|
23
23
|
createNamespace(name: string, pat: string): Promise<Response>;
|
|
24
24
|
publish(file: string, pat: string): Promise<Extension>;
|
|
25
|
-
getMetadata(namespace: string, extension: string): Promise<Extension>;
|
|
25
|
+
getMetadata(namespace: string, extension: string, target?: string): Promise<Extension>;
|
|
26
26
|
download(file: string, url: URL): Promise<void>;
|
|
27
27
|
getJson<T extends Response>(url: URL): Promise<T>;
|
|
28
28
|
post<T extends Response>(content: string | Buffer | Uint8Array, url: URL, headers?: http.OutgoingHttpHeaders, maxBodyLength?: number): Promise<T>;
|
|
@@ -60,6 +60,7 @@ export interface RegistryOptions {
|
|
|
60
60
|
}
|
|
61
61
|
export interface Response {
|
|
62
62
|
success?: string;
|
|
63
|
+
warning?: string;
|
|
63
64
|
error?: string;
|
|
64
65
|
}
|
|
65
66
|
export interface Extension extends Response {
|
|
@@ -71,6 +72,7 @@ export interface Extension extends Response {
|
|
|
71
72
|
name: string;
|
|
72
73
|
namespace: string;
|
|
73
74
|
version: string;
|
|
75
|
+
targetPlatform: string;
|
|
74
76
|
publishedBy: UserData;
|
|
75
77
|
verified: boolean;
|
|
76
78
|
allVersions: {
|
package/lib/registry.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;kFAQkF;;AAElF,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAO7B,eAAO,MAAM,WAAW,yBAAyB,CAAC;AAClD,eAAO,MAAM,sBAAsB,OAAO,CAAC;AAC3C,eAAO,MAAM,oBAAoB,QAAoB,CAAC;AAEtD,qBAAa,QAAQ;IAEjB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;gBAEf,OAAO,GAAE,eAAoB;IAazC,IAAI,eAAe,IAAI,OAAO,CAG7B;IAED,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAa7D,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IAYtD,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"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"}
|
package/lib/registry.js
CHANGED
|
@@ -58,9 +58,12 @@ class Registry {
|
|
|
58
58
|
return Promise.reject(err);
|
|
59
59
|
}
|
|
60
60
|
}
|
|
61
|
-
getMetadata(namespace, extension) {
|
|
61
|
+
getMetadata(namespace, extension, target) {
|
|
62
62
|
try {
|
|
63
|
-
|
|
63
|
+
let path = `api/${encodeURIComponent(namespace)}/${encodeURIComponent(extension)}`;
|
|
64
|
+
if (target) {
|
|
65
|
+
path += `/${encodeURIComponent(target)}`;
|
|
66
|
+
}
|
|
64
67
|
return this.getJson(this.getUrl(path));
|
|
65
68
|
}
|
|
66
69
|
catch (err) {
|
package/lib/registry.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":";AAAA;;;;;;;;kFAQkF;;AAIlF,yBAAyB;AACzB,2CAA2C;AAC3C,oDAAoD;AACpD,iCAAqC;AAExB,QAAA,WAAW,GAAG,sBAAsB,CAAC;AACrC,QAAA,sBAAsB,GAAG,IAAI,CAAC;AAC9B,QAAA,oBAAoB,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC;AAEtD,MAAa,QAAQ;IAQjB,YAAY,UAA2B,EAAE;QACrC,IAAI,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC;YACxD,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;aAC3E,IAAI,OAAO,CAAC,WAAW;YACxB,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,WAAW,CAAC;;YAE/B,IAAI,CAAC,GAAG,GAAG,mBAAW,CAAC;QAC3B,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,IAAI,8BAAsB,CAAC;QAC3E,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,4BAAoB,CAAC;QACrE,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IACrC,CAAC;IAED,IAAI,eAAe;QACf,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC9B,OAAO,GAAG,CAAC,QAAQ,KAAK,cAAc,IAAI,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;IACrF,CAAC;IAED,eAAe,CAAC,IAAY,EAAE,GAAW;QACrC,IAAI;YACA,MAAM,KAAK,GAA8B,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;YACxD,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;YACzD,MAAM,SAAS,GAAG,EAAE,IAAI,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE;gBAC7C,cAAc,EAAE,kBAAkB;aACrC,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;SAC7B;QAAC,OAAO,GAAG,EAAE;YACV,OAAO,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;SAC9B;IACL,CAAC;IAED,OAAO,CAAC,IAAY,EAAE,GAAW;QAC7B,IAAI;YACA,MAAM,KAAK,GAA8B,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;YACxD,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;YAChD,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE;gBAC5B,cAAc,EAAE,0BAA0B;aAC7C,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;SAC3B;QAAC,OAAO,GAAG,EAAE;YACV,OAAO,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;SAC9B;IACL,CAAC;IAED,WAAW,CAAC,SAAiB,EAAE,SAAiB;
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ovsx",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.0",
|
|
4
4
|
"description": "Command line interface for Eclipse Open VSX",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"cli",
|
|
@@ -37,21 +37,21 @@
|
|
|
37
37
|
},
|
|
38
38
|
"dependencies": {
|
|
39
39
|
"commander": "^6.1.0",
|
|
40
|
-
"follow-redirects": "^1.
|
|
40
|
+
"follow-redirects": "^1.14.6",
|
|
41
41
|
"is-ci": "^2.0.0",
|
|
42
42
|
"leven": "^3.1.0",
|
|
43
43
|
"tmp": "^0.2.1",
|
|
44
44
|
"vsce": "^2.6.3"
|
|
45
45
|
},
|
|
46
46
|
"devDependencies": {
|
|
47
|
-
"@types/follow-redirects": "^1.13.
|
|
47
|
+
"@types/follow-redirects": "^1.13.1",
|
|
48
48
|
"@types/is-ci": "^2.0.0",
|
|
49
|
-
"@types/node": "^10.
|
|
50
|
-
"@types/semver": "^7.
|
|
49
|
+
"@types/node": "^10.17.60",
|
|
50
|
+
"@types/semver": "^7.3.9",
|
|
51
51
|
"@types/tmp": "^0.1.0",
|
|
52
|
-
"@typescript-eslint/eslint-plugin": "^3.
|
|
53
|
-
"@typescript-eslint/parser": "^3.
|
|
54
|
-
"eslint": "^7.
|
|
52
|
+
"@typescript-eslint/eslint-plugin": "^3.10.1",
|
|
53
|
+
"@typescript-eslint/parser": "^3.10.1",
|
|
54
|
+
"eslint": "^7.32.0",
|
|
55
55
|
"rimraf": "^3.0.2",
|
|
56
56
|
"typescript": "3.8.3"
|
|
57
57
|
},
|
package/src/get.ts
CHANGED
|
@@ -19,14 +19,17 @@ import { promisify, matchExtensionId, optionalStat, makeDirs, addEnvOptions } fr
|
|
|
19
19
|
*/
|
|
20
20
|
export async function getExtension(options: GetOptions): Promise<void> {
|
|
21
21
|
addEnvOptions(options);
|
|
22
|
-
|
|
22
|
+
if (!options.target) {
|
|
23
|
+
options.target = 'universal';
|
|
24
|
+
}
|
|
23
25
|
|
|
26
|
+
const registry = new Registry(options);
|
|
24
27
|
const match = matchExtensionId(options.extensionId);
|
|
25
28
|
if (!match) {
|
|
26
29
|
throw new Error('The extension identifier must have the form `namespace.extension`.');
|
|
27
30
|
}
|
|
28
31
|
|
|
29
|
-
const extension = await registry.getMetadata(match[1], match[2]);
|
|
32
|
+
const extension = await registry.getMetadata(match[1], match[2], options.target);
|
|
30
33
|
if (extension.error) {
|
|
31
34
|
throw new Error(extension.error);
|
|
32
35
|
}
|
|
@@ -48,7 +51,7 @@ function findMatchingVersion(registry: Registry, extension: Extension, constrain
|
|
|
48
51
|
return Promise.resolve(extension);
|
|
49
52
|
}
|
|
50
53
|
for (const version of Object.keys(extension.allVersions)) {
|
|
51
|
-
if (semver.satisfies(version, constraint)) {
|
|
54
|
+
if (!isAlias(extension, version) && semver.satisfies(version, constraint)) {
|
|
52
55
|
try {
|
|
53
56
|
return registry.getJson(new URL(extension.allVersions[version]));
|
|
54
57
|
} catch (err) {
|
|
@@ -59,6 +62,10 @@ function findMatchingVersion(registry: Registry, extension: Extension, constrain
|
|
|
59
62
|
return Promise.reject(`Extension ${extension.namespace}.${extension.name} has no published version matching '${constraint}'`);
|
|
60
63
|
}
|
|
61
64
|
|
|
65
|
+
function isAlias(extension: Extension, version: string): boolean {
|
|
66
|
+
return extension.versionAlias.includes(version);
|
|
67
|
+
}
|
|
68
|
+
|
|
62
69
|
async function printMetadata(registry: Registry, extension: Extension, output?: string): Promise<void> {
|
|
63
70
|
const metadata = JSON.stringify(extension, null, 4);
|
|
64
71
|
if (!output) {
|
|
@@ -83,7 +90,7 @@ async function download(registry: Registry, extension: Extension, output?: strin
|
|
|
83
90
|
throw new Error(`Extension ${extension.namespace}.${extension.name} does not provide a download URL.`);
|
|
84
91
|
}
|
|
85
92
|
const fileNameIndex = downloadUrl.lastIndexOf('/');
|
|
86
|
-
const fileName = downloadUrl.substring(fileNameIndex + 1);
|
|
93
|
+
const fileName = decodeURIComponent(downloadUrl.substring(fileNameIndex + 1));
|
|
87
94
|
let filePath: string | undefined;
|
|
88
95
|
if (output) {
|
|
89
96
|
const stats = await optionalStat(output);
|
|
@@ -96,7 +103,8 @@ async function download(registry: Registry, extension: Extension, output?: strin
|
|
|
96
103
|
filePath = path.resolve(process.cwd(), fileName);
|
|
97
104
|
}
|
|
98
105
|
await makeDirs(path.dirname(filePath));
|
|
99
|
-
|
|
106
|
+
const target = extension.targetPlatform !== 'universal' ? '@' + extension.targetPlatform : '';
|
|
107
|
+
console.log(`Downloading ${extension.namespace}.${extension.name}-${extension.version}${target} to ${filePath}`);
|
|
100
108
|
await registry.download(filePath, new URL(downloadUrl));
|
|
101
109
|
}
|
|
102
110
|
|
|
@@ -105,6 +113,10 @@ export interface GetOptions extends RegistryOptions {
|
|
|
105
113
|
* Identifier in the form `namespace.extension` or `namespace/extension`.
|
|
106
114
|
*/
|
|
107
115
|
extensionId: string;
|
|
116
|
+
/**
|
|
117
|
+
* Target platform.
|
|
118
|
+
*/
|
|
119
|
+
target?: string;
|
|
108
120
|
/**
|
|
109
121
|
* An exact version or version range.
|
|
110
122
|
*/
|
package/src/main.ts
CHANGED
|
@@ -35,16 +35,21 @@ module.exports = function (argv: string[]): void {
|
|
|
35
35
|
|
|
36
36
|
const publishCmd = program.command('publish [extension.vsix]');
|
|
37
37
|
publishCmd.description('Publish an extension, packaging it first if necessary.')
|
|
38
|
+
.option('-t, --target <targets...>', 'Target architectures')
|
|
38
39
|
.option('-i, --packagePath <paths...>', 'Publish the provided VSIX packages.')
|
|
39
40
|
.option('--baseContentUrl <url>', 'Prepend all relative links in README.md with this URL.')
|
|
40
41
|
.option('--baseImagesUrl <url>', 'Prepend all relative image links in README.md with this URL.')
|
|
41
42
|
.option('--yarn', 'Use yarn instead of npm while packing extension files.')
|
|
42
43
|
.option('--pre-release', 'Mark this package as a pre-release')
|
|
43
|
-
.action((extensionFile: string, { packagePath, baseContentUrl, baseImagesUrl, yarn, preRelease }) => {
|
|
44
|
+
.action((extensionFile: string, { target, packagePath, baseContentUrl, baseImagesUrl, yarn, preRelease }) => {
|
|
44
45
|
if (extensionFile !== undefined && packagePath !== undefined) {
|
|
45
46
|
console.error('\u274c Please specify either a package file or a package path, but not both.\n');
|
|
46
47
|
publishCmd.help();
|
|
47
48
|
}
|
|
49
|
+
if (extensionFile !== undefined && target !== undefined) {
|
|
50
|
+
console.warn("Ignoring option '--target' for prepackaged extension.");
|
|
51
|
+
target = undefined;
|
|
52
|
+
}
|
|
48
53
|
if (extensionFile !== undefined && baseContentUrl !== undefined)
|
|
49
54
|
console.warn("Ignoring option '--baseContentUrl' for prepackaged extension.");
|
|
50
55
|
if (extensionFile !== undefined && baseImagesUrl !== undefined)
|
|
@@ -52,7 +57,7 @@ module.exports = function (argv: string[]): void {
|
|
|
52
57
|
if (extensionFile !== undefined && yarn !== undefined)
|
|
53
58
|
console.warn("Ignoring option '--yarn' for prepackaged extension.");
|
|
54
59
|
const { registryUrl, pat } = program.opts();
|
|
55
|
-
publish({ extensionFile, registryUrl, pat, packagePath: typeof packagePath === 'string' ? [packagePath] : packagePath, baseContentUrl, baseImagesUrl, yarn, preRelease })
|
|
60
|
+
publish({ extensionFile, registryUrl, pat, targets: typeof target === 'string' ? [target] : target, packagePath: typeof packagePath === 'string' ? [packagePath] : packagePath, baseContentUrl, baseImagesUrl, yarn, preRelease })
|
|
56
61
|
.catch(handleError(program.debug,
|
|
57
62
|
'See the documentation for more information:\n'
|
|
58
63
|
+ 'https://github.com/eclipse/openvsx/wiki/Publishing-Extensions'
|
|
@@ -61,12 +66,13 @@ module.exports = function (argv: string[]): void {
|
|
|
61
66
|
|
|
62
67
|
const getCmd = program.command('get <namespace.extension>');
|
|
63
68
|
getCmd.description('Download an extension or its metadata.')
|
|
69
|
+
.option('-t, --target <target>', 'Target architecture')
|
|
64
70
|
.option('-v, --versionRange <version>', 'Specify an exact version or a version range.')
|
|
65
71
|
.option('-o, --output <path>', 'Save the output in the specified file or directory.')
|
|
66
72
|
.option('--metadata', 'Print the extension\'s metadata instead of downloading it.')
|
|
67
|
-
.action((extensionId: string, { versionRange, output, metadata }) => {
|
|
73
|
+
.action((extensionId: string, { target, versionRange, output, metadata }) => {
|
|
68
74
|
const { registryUrl } = program.opts();
|
|
69
|
-
getExtension({ extensionId, version: versionRange, registryUrl, output, metadata })
|
|
75
|
+
getExtension({ extensionId, target: target, version: versionRange, registryUrl, output, metadata })
|
|
70
76
|
.catch(handleError(program.debug));
|
|
71
77
|
});
|
|
72
78
|
|
package/src/publish.ts
CHANGED
|
@@ -17,12 +17,15 @@ import { checkLicense } from './check-license';
|
|
|
17
17
|
*/
|
|
18
18
|
export async function publish(options: PublishOptions = {}): Promise<void> {
|
|
19
19
|
addEnvOptions(options);
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
20
|
+
const internalPublishOptions = [];
|
|
21
|
+
const packagePaths = options.packagePath || [undefined];
|
|
22
|
+
const targets = options.targets || [undefined];
|
|
23
|
+
for (const packagePath of packagePaths) {
|
|
24
|
+
for (const target of targets) {
|
|
25
|
+
internalPublishOptions.push({ ... options, packagePath: packagePath, target: target });
|
|
26
|
+
}
|
|
25
27
|
}
|
|
28
|
+
await Promise.all(internalPublishOptions.map(publishOptions => doPublish(publishOptions)));
|
|
26
29
|
}
|
|
27
30
|
|
|
28
31
|
async function doPublish(options: InternalPublishOptions = {}): Promise<void> {
|
|
@@ -34,6 +37,7 @@ async function doPublish(options: InternalPublishOptions = {}): Promise<void> {
|
|
|
34
37
|
if (options.packagePath && options.packagePath.endsWith('.vsix')) {
|
|
35
38
|
options.extensionFile = options.packagePath;
|
|
36
39
|
delete options.packagePath;
|
|
40
|
+
delete options.target;
|
|
37
41
|
}
|
|
38
42
|
const registry = new Registry(options);
|
|
39
43
|
if (!options.extensionFile) {
|
|
@@ -47,7 +51,17 @@ async function doPublish(options: InternalPublishOptions = {}): Promise<void> {
|
|
|
47
51
|
if (extension.error) {
|
|
48
52
|
throw new Error(extension.error);
|
|
49
53
|
}
|
|
50
|
-
|
|
54
|
+
|
|
55
|
+
const name = `${extension.namespace}.${extension.name}`;
|
|
56
|
+
let description = `${name} v${extension.version}`;
|
|
57
|
+
if (options.target) {
|
|
58
|
+
description += `@${options.target}`;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
console.log(`\ud83d\ude80 Published ${description}`);
|
|
62
|
+
if (extension.warning) {
|
|
63
|
+
console.log(`\n!! ${extension.warning}`);
|
|
64
|
+
}
|
|
51
65
|
}
|
|
52
66
|
|
|
53
67
|
interface PublishCommonOptions extends RegistryOptions {
|
|
@@ -77,6 +91,11 @@ interface PublishCommonOptions extends RegistryOptions {
|
|
|
77
91
|
// Interface used by top level CLI
|
|
78
92
|
export interface PublishOptions extends PublishCommonOptions {
|
|
79
93
|
|
|
94
|
+
/**
|
|
95
|
+
* Target architectures.
|
|
96
|
+
*/
|
|
97
|
+
targets?: string[];
|
|
98
|
+
|
|
80
99
|
/**
|
|
81
100
|
* Paths to the extension to be packaged and published. Cannot be used together
|
|
82
101
|
* with `extensionFile`.
|
|
@@ -87,6 +106,12 @@ export interface PublishOptions extends PublishCommonOptions {
|
|
|
87
106
|
// Interface used internally by the doPublish method
|
|
88
107
|
interface InternalPublishOptions extends PublishCommonOptions {
|
|
89
108
|
|
|
109
|
+
/**
|
|
110
|
+
* Only one target for our internal command.
|
|
111
|
+
* Target architecture.
|
|
112
|
+
*/
|
|
113
|
+
target?: string;
|
|
114
|
+
|
|
90
115
|
/**
|
|
91
116
|
* Only one path for our internal command.
|
|
92
117
|
* Path to the extension to be packaged and published. Cannot be used together
|
|
@@ -102,6 +127,7 @@ async function packageExtension(options: InternalPublishOptions, registry: Regis
|
|
|
102
127
|
|
|
103
128
|
options.extensionFile = await createTempFile({ postfix: '.vsix' });
|
|
104
129
|
const createVSIXOptions: ICreateVSIXOptions = {
|
|
130
|
+
target: options.target,
|
|
105
131
|
cwd: options.packagePath,
|
|
106
132
|
packagePath: options.extensionFile,
|
|
107
133
|
baseContentUrl: options.baseContentUrl,
|
package/src/registry.ts
CHANGED
|
@@ -70,9 +70,12 @@ export class Registry {
|
|
|
70
70
|
}
|
|
71
71
|
}
|
|
72
72
|
|
|
73
|
-
getMetadata(namespace: string, extension: string): Promise<Extension> {
|
|
73
|
+
getMetadata(namespace: string, extension: string, target?: string): Promise<Extension> {
|
|
74
74
|
try {
|
|
75
|
-
|
|
75
|
+
let path = `api/${encodeURIComponent(namespace)}/${encodeURIComponent(extension)}`;
|
|
76
|
+
if (target) {
|
|
77
|
+
path += `/${encodeURIComponent(target)}`;
|
|
78
|
+
}
|
|
76
79
|
return this.getJson(this.getUrl(path));
|
|
77
80
|
} catch (err) {
|
|
78
81
|
return Promise.reject(err);
|
|
@@ -240,6 +243,7 @@ export interface RegistryOptions {
|
|
|
240
243
|
|
|
241
244
|
export interface Response {
|
|
242
245
|
success?: string;
|
|
246
|
+
warning?: string;
|
|
243
247
|
error?: string;
|
|
244
248
|
}
|
|
245
249
|
|
|
@@ -252,6 +256,7 @@ export interface Extension extends Response {
|
|
|
252
256
|
name: string;
|
|
253
257
|
namespace: string;
|
|
254
258
|
version: string;
|
|
259
|
+
targetPlatform: string;
|
|
255
260
|
publishedBy: UserData;
|
|
256
261
|
verified: boolean;
|
|
257
262
|
// key: version, value: url
|