ovsx 0.2.1 → 0.3.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/lib/main.js +2 -2
- package/lib/main.js.map +1 -1
- package/lib/ovsx +4 -2
- package/lib/publish.d.ts +9 -6
- package/lib/publish.d.ts.map +1 -1
- package/lib/publish.js +17 -1
- package/lib/publish.js.map +1 -1
- package/package.json +3 -3
- package/src/main.ts +2 -2
- package/src/ovsx +4 -2
- package/src/publish.ts +39 -8
package/lib/main.js
CHANGED
|
@@ -32,7 +32,7 @@ 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('--packagePath <
|
|
35
|
+
.option('-i, --packagePath <paths...>', 'Publish the provided VSIX packages.')
|
|
36
36
|
.option('--baseContentUrl <url>', 'Prepend all relative links in README.md with this URL.')
|
|
37
37
|
.option('--baseImagesUrl <url>', 'Prepend all relative image links in README.md with this URL.')
|
|
38
38
|
.option('--yarn', 'Use yarn instead of npm while packing extension files.')
|
|
@@ -48,7 +48,7 @@ module.exports = function (argv) {
|
|
|
48
48
|
if (extensionFile !== undefined && yarn !== undefined)
|
|
49
49
|
console.warn("Ignoring option '--yarn' for prepackaged extension.");
|
|
50
50
|
const { registryUrl, pat } = program.opts();
|
|
51
|
-
publish_1.publish({ extensionFile, registryUrl, pat, packagePath, baseContentUrl, baseImagesUrl, yarn })
|
|
51
|
+
publish_1.publish({ extensionFile, registryUrl, pat, packagePath: typeof packagePath === 'string' ? [packagePath] : packagePath, baseContentUrl, baseImagesUrl, yarn })
|
|
52
52
|
.catch(util_1.handleError(program.debug, 'See the documentation for more information:\n'
|
|
53
53
|
+ 'https://github.com/eclipse/openvsx/wiki/Publishing-Extensions'));
|
|
54
54
|
});
|
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,
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
|
package/lib/ovsx
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
const semver = require('semver');
|
|
4
|
+
|
|
5
|
+
if (semver.lt(process.versions.node, '14.0.0')) {
|
|
6
|
+
console.error('ovsx requires at least NodeJS version 14. Check your installed version with `node --version`.');
|
|
5
7
|
process.exit(1);
|
|
6
8
|
}
|
|
7
9
|
|
package/lib/publish.d.ts
CHANGED
|
@@ -12,16 +12,11 @@ import { RegistryOptions } from './registry';
|
|
|
12
12
|
* Publishes an extension.
|
|
13
13
|
*/
|
|
14
14
|
export declare function publish(options?: PublishOptions): Promise<void>;
|
|
15
|
-
|
|
15
|
+
interface PublishCommonOptions extends RegistryOptions {
|
|
16
16
|
/**
|
|
17
17
|
* Path to the vsix file to be published. Cannot be used together with `packagePath`.
|
|
18
18
|
*/
|
|
19
19
|
extensionFile?: string;
|
|
20
|
-
/**
|
|
21
|
-
* Path to the extension to be packaged and published. Cannot be used together
|
|
22
|
-
* with `extensionFile`.
|
|
23
|
-
*/
|
|
24
|
-
packagePath?: string;
|
|
25
20
|
/**
|
|
26
21
|
* The base URL for links detected in Markdown files. Only valid with `packagePath`.
|
|
27
22
|
*/
|
|
@@ -35,4 +30,12 @@ export interface PublishOptions extends RegistryOptions {
|
|
|
35
30
|
*/
|
|
36
31
|
yarn?: boolean;
|
|
37
32
|
}
|
|
33
|
+
export interface PublishOptions extends PublishCommonOptions {
|
|
34
|
+
/**
|
|
35
|
+
* Paths to the extension to be packaged and published. Cannot be used together
|
|
36
|
+
* with `extensionFile`.
|
|
37
|
+
*/
|
|
38
|
+
packagePath?: string[];
|
|
39
|
+
}
|
|
40
|
+
export {};
|
|
38
41
|
//# 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":"AAAA;;;;;;;;kFAQkF;AAIlF,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":"AAAA;;;;;;;;kFAQkF;AAIlF,OAAO,EAAY,eAAe,EAAE,MAAM,YAAY,CAAC;AAGvD;;GAEG;AACH,wBAAsB,OAAO,CAAC,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAQzE;AAyBD,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;CAClB;AAGD,MAAM,WAAW,cAAe,SAAQ,oBAAoB;IAExD;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B"}
|
package/lib/publish.js
CHANGED
|
@@ -28,9 +28,26 @@ 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
|
+
if (options.packagePath) {
|
|
32
|
+
// call the publish command for every package path
|
|
33
|
+
yield Promise.all(options.packagePath.map(path => doPublish(Object.assign(Object.assign({}, options), { packagePath: path }))));
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
return doPublish(Object.assign(Object.assign({}, options), { packagePath: undefined }));
|
|
37
|
+
}
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
exports.publish = publish;
|
|
41
|
+
function doPublish(options = {}) {
|
|
42
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
31
43
|
if (!options.pat) {
|
|
32
44
|
throw new Error("A personal access token must be given with the option '--pat'.");
|
|
33
45
|
}
|
|
46
|
+
// if the packagePath is a link to a vsix, don't need to package it
|
|
47
|
+
if (options.packagePath && options.packagePath.endsWith('.vsix')) {
|
|
48
|
+
options.extensionFile = options.packagePath;
|
|
49
|
+
delete options.packagePath;
|
|
50
|
+
}
|
|
34
51
|
const registry = new registry_1.Registry(options);
|
|
35
52
|
if (!options.extensionFile) {
|
|
36
53
|
yield packageExtension(options, registry);
|
|
@@ -43,7 +60,6 @@ function publish(options = {}) {
|
|
|
43
60
|
console.log(`\ud83d\ude80 Published ${extension.namespace}.${extension.name} v${extension.version}`);
|
|
44
61
|
});
|
|
45
62
|
}
|
|
46
|
-
exports.publish = publish;
|
|
47
63
|
function packageExtension(options, registry) {
|
|
48
64
|
return __awaiter(this, void 0, void 0, function* () {
|
|
49
65
|
if (registry.requiresLicense) {
|
package/lib/publish.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"publish.js","sourceRoot":"","sources":["../src/publish.ts"],"names":[],"mappings":";AAAA;;;;;;;;kFAQkF;;;;;;;;;;;AAElF,+BAAsD;AACtD,iCAAuD;AACvD,yCAAuD;AACvD,mDAA+C;AAE/C;;GAEG;AACH,SAAsB,OAAO,CAAC,UAA0B,EAAE;;
|
|
1
|
+
{"version":3,"file":"publish.js","sourceRoot":"","sources":["../src/publish.ts"],"names":[],"mappings":";AAAA;;;;;;;;kFAQkF;;;;;;;;;;;AAElF,+BAAsD;AACtD,iCAAuD;AACvD,yCAAuD;AACvD,mDAA+C;AAE/C;;GAEG;AACH,SAAsB,OAAO,CAAC,UAA0B,EAAE;;QAClD,oBAAa,CAAC,OAAO,CAAC,CAAC;QACvB,IAAI,OAAO,CAAC,WAAW,EAAE;YACrB,kDAAkD;YAClD,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,iCAAM,OAAO,KAAE,WAAW,EAAE,IAAI,IAAG,CAAC,CAAC,CAAC;SACpG;aAAM;YACH,OAAO,SAAS,iCAAO,OAAO,KAAE,WAAW,EAAE,SAAS,IAAG,CAAC;SAC7D;IACT,CAAC;CAAA;AARD,0BAQC;AAED,SAAe,SAAS,CAAC,UAAkC,EAAE;;QACzD,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE;YACd,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;SACrF;QAED,mEAAmE;QACnE,IAAI,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;YAC9D,OAAO,CAAC,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC;YAC5C,OAAO,OAAO,CAAC,WAAW,CAAC;SAC9B;QACD,MAAM,QAAQ,GAAG,IAAI,mBAAQ,CAAC,OAAO,CAAC,CAAC;QACvC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE;YACxB,MAAM,gBAAgB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YAC1C,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,WAAW;SAC7B;QAED,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,aAAc,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;QAC9E,IAAI,SAAS,CAAC,KAAK,EAAE;YACjB,MAAM,IAAI,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;SACpC;QACD,OAAO,CAAC,GAAG,CAAC,2BAA2B,SAAS,CAAC,SAAS,IAAI,SAAS,CAAC,IAAI,KAAK,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC;IAC1G,CAAC;CAAA;AA2CD,SAAe,gBAAgB,CAAC,OAA+B,EAAE,QAAkB;;QAC/E,IAAI,QAAQ,CAAC,eAAe,EAAE;YAC1B,MAAM,4BAAY,CAAC,OAAO,CAAC,WAAY,CAAC,CAAC;SAC5C;QAED,OAAO,CAAC,aAAa,GAAG,MAAM,qBAAc,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;QACnE,MAAM,iBAAiB,GAAuB;YAC1C,GAAG,EAAE,OAAO,CAAC,WAAW;YACxB,WAAW,EAAE,OAAO,CAAC,aAAa;YAClC,cAAc,EAAE,OAAO,CAAC,cAAc;YACtC,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,OAAO,EAAE,OAAO,CAAC,IAAI;SACxB,CAAC;QACF,MAAM,iBAAU,CAAC,iBAAiB,CAAC,CAAC;IACxC,CAAC;CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ovsx",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"description": "Command line interface for Eclipse Open VSX",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"cli",
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
"ovsx": "lib/ovsx"
|
|
34
34
|
},
|
|
35
35
|
"engines": {
|
|
36
|
-
"node": ">=
|
|
36
|
+
"node": ">= 14"
|
|
37
37
|
},
|
|
38
38
|
"dependencies": {
|
|
39
39
|
"commander": "^6.1.0",
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
"is-ci": "^2.0.0",
|
|
42
42
|
"leven": "^3.1.0",
|
|
43
43
|
"tmp": "^0.2.1",
|
|
44
|
-
"vsce": "
|
|
44
|
+
"vsce": "^2.6.3"
|
|
45
45
|
},
|
|
46
46
|
"devDependencies": {
|
|
47
47
|
"@types/follow-redirects": "^1.13.0",
|
package/src/main.ts
CHANGED
|
@@ -35,7 +35,7 @@ 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('--packagePath <
|
|
38
|
+
.option('-i, --packagePath <paths...>', 'Publish the provided VSIX packages.')
|
|
39
39
|
.option('--baseContentUrl <url>', 'Prepend all relative links in README.md with this URL.')
|
|
40
40
|
.option('--baseImagesUrl <url>', 'Prepend all relative image links in README.md with this URL.')
|
|
41
41
|
.option('--yarn', 'Use yarn instead of npm while packing extension files.')
|
|
@@ -51,7 +51,7 @@ module.exports = function (argv: string[]): void {
|
|
|
51
51
|
if (extensionFile !== undefined && yarn !== undefined)
|
|
52
52
|
console.warn("Ignoring option '--yarn' for prepackaged extension.");
|
|
53
53
|
const { registryUrl, pat } = program.opts();
|
|
54
|
-
publish({ extensionFile, registryUrl, pat, packagePath, baseContentUrl, baseImagesUrl, yarn })
|
|
54
|
+
publish({ extensionFile, registryUrl, pat, packagePath: typeof packagePath === 'string' ? [packagePath] : packagePath, baseContentUrl, baseImagesUrl, yarn })
|
|
55
55
|
.catch(handleError(program.debug,
|
|
56
56
|
'See the documentation for more information:\n'
|
|
57
57
|
+ 'https://github.com/eclipse/openvsx/wiki/Publishing-Extensions'
|
package/src/ovsx
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
const semver = require('semver');
|
|
4
|
+
|
|
5
|
+
if (semver.lt(process.versions.node, '14.0.0')) {
|
|
6
|
+
console.error('ovsx requires at least NodeJS version 14. Check your installed version with `node --version`.');
|
|
5
7
|
process.exit(1);
|
|
6
8
|
}
|
|
7
9
|
|
package/src/publish.ts
CHANGED
|
@@ -17,11 +17,25 @@ import { checkLicense } from './check-license';
|
|
|
17
17
|
* Publishes an extension.
|
|
18
18
|
*/
|
|
19
19
|
export async function publish(options: PublishOptions = {}): Promise<void> {
|
|
20
|
-
|
|
20
|
+
addEnvOptions(options);
|
|
21
|
+
if (options.packagePath) {
|
|
22
|
+
// call the publish command for every package path
|
|
23
|
+
await Promise.all(options.packagePath.map(path => doPublish({ ...options, packagePath: path })));
|
|
24
|
+
} else {
|
|
25
|
+
return doPublish({ ... options, packagePath: undefined });
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
async function doPublish(options: InternalPublishOptions = {}): Promise<void> {
|
|
21
30
|
if (!options.pat) {
|
|
22
31
|
throw new Error("A personal access token must be given with the option '--pat'.");
|
|
23
32
|
}
|
|
24
33
|
|
|
34
|
+
// if the packagePath is a link to a vsix, don't need to package it
|
|
35
|
+
if (options.packagePath && options.packagePath.endsWith('.vsix')) {
|
|
36
|
+
options.extensionFile = options.packagePath;
|
|
37
|
+
delete options.packagePath;
|
|
38
|
+
}
|
|
25
39
|
const registry = new Registry(options);
|
|
26
40
|
if (!options.extensionFile) {
|
|
27
41
|
await packageExtension(options, registry);
|
|
@@ -35,16 +49,12 @@ export async function publish(options: PublishOptions = {}): Promise<void> {
|
|
|
35
49
|
console.log(`\ud83d\ude80 Published ${extension.namespace}.${extension.name} v${extension.version}`);
|
|
36
50
|
}
|
|
37
51
|
|
|
38
|
-
|
|
52
|
+
interface PublishCommonOptions extends RegistryOptions {
|
|
39
53
|
/**
|
|
40
54
|
* Path to the vsix file to be published. Cannot be used together with `packagePath`.
|
|
41
55
|
*/
|
|
42
56
|
extensionFile?: string;
|
|
43
|
-
|
|
44
|
-
* Path to the extension to be packaged and published. Cannot be used together
|
|
45
|
-
* with `extensionFile`.
|
|
46
|
-
*/
|
|
47
|
-
packagePath?: string;
|
|
57
|
+
|
|
48
58
|
/**
|
|
49
59
|
* The base URL for links detected in Markdown files. Only valid with `packagePath`.
|
|
50
60
|
*/
|
|
@@ -59,7 +69,28 @@ export interface PublishOptions extends RegistryOptions {
|
|
|
59
69
|
yarn?: boolean;
|
|
60
70
|
}
|
|
61
71
|
|
|
62
|
-
|
|
72
|
+
// Interface used by top level CLI
|
|
73
|
+
export interface PublishOptions extends PublishCommonOptions {
|
|
74
|
+
|
|
75
|
+
/**
|
|
76
|
+
* Paths to the extension to be packaged and published. Cannot be used together
|
|
77
|
+
* with `extensionFile`.
|
|
78
|
+
*/
|
|
79
|
+
packagePath?: string[];
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
// Interface used internally by the doPublish method
|
|
83
|
+
interface InternalPublishOptions extends PublishCommonOptions {
|
|
84
|
+
|
|
85
|
+
/**
|
|
86
|
+
* Only one path for our internal command.
|
|
87
|
+
* Path to the extension to be packaged and published. Cannot be used together
|
|
88
|
+
* with `extensionFile`.
|
|
89
|
+
*/
|
|
90
|
+
packagePath?: string;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
async function packageExtension(options: InternalPublishOptions, registry: Registry): Promise<void> {
|
|
63
94
|
if (registry.requiresLicense) {
|
|
64
95
|
await checkLicense(options.packagePath!);
|
|
65
96
|
}
|