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 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 <path>', 'Package and publish the extension at the specified path.')
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":"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"}
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
- if (global.URL === undefined) {
4
- console.error('ovsx requires at least NodeJS version 10. Check your installed version with `node --version`.');
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
- export interface PublishOptions extends RegistryOptions {
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
@@ -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,CAiBzE;AAED,MAAM,WAAW,cAAe,SAAQ,eAAe;IACnD;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEA;IACA,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;OAEA;IACA,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;OAEA;IACA,IAAI,CAAC,EAAE,OAAO,CAAC;CAClB"}
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) {
@@ -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;;QACtD,oBAAa,CAAC,OAAO,CAAC,CAAC;QACvB,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE;YACd,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;SACrF;QAED,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;AAjBD,0BAiBC;AA0BD,SAAe,gBAAgB,CAAC,OAAuB,EAAE,QAAkB;;QACvE,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"}
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.2.1",
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": ">= 10"
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": "~1.97.0"
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 <path>', 'Package and publish the extension at the specified path.')
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
- if (global.URL === undefined) {
4
- console.error('ovsx requires at least NodeJS version 10. Check your installed version with `node --version`.');
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
- addEnvOptions(options);
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
- export interface PublishOptions extends RegistryOptions {
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
- async function packageExtension(options: PublishOptions, registry: Registry): Promise<void> {
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
  }