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 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 in a file as specified in its download URL (usually in the format `namespace.extension-version.vsix`) in the current working directory.
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,CAwBrE;AA2DD,MAAM,WAAW,UAAW,SAAQ,eAAe;IAC/C;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB"}
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
- console.log(`Downloading ${extension.namespace}.${extension.name} v${extension.version} to ${filePath}`);
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":"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"}
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":"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"}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
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`.
@@ -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,CAQzE;AA2BD,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;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B"}
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
- 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 }));
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
- console.log(`\ud83d\ude80 Published ${extension.namespace}.${extension.name} v${extension.version}`);
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,
@@ -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,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;aAAM,IAAI,OAAO,CAAC,UAAU,EAAE;YAC3B,OAAO,CAAC,IAAI,CAAC,4DAA4D,CAAC,CAAC;SAC9E;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;AA+CD,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;YACrB,UAAU,EAAE,OAAO,CAAC,UAAU;SACjC,CAAC;QACF,MAAM,iBAAU,CAAC,iBAAiB,CAAC,CAAC;IACxC,CAAC;CAAA"}
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: {
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"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"}
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
- const path = `api/${encodeURIComponent(namespace)}/${encodeURIComponent(extension)}`;
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) {
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"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"}
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.4.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.13.2",
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.0",
47
+ "@types/follow-redirects": "^1.13.1",
48
48
  "@types/is-ci": "^2.0.0",
49
- "@types/node": "^10.14.18",
50
- "@types/semver": "^7.1.0",
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.6.1",
53
- "@typescript-eslint/parser": "^3.6.1",
54
- "eslint": "^7.4.0",
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
- const registry = new Registry(options);
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
- console.log(`Downloading ${extension.namespace}.${extension.name} v${extension.version} to ${filePath}`);
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
- if (options.packagePath) {
21
- // call the publish command for every package path
22
- await Promise.all(options.packagePath.map(path => doPublish({ ...options, packagePath: path })));
23
- } else {
24
- return doPublish({ ... options, packagePath: undefined });
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
- console.log(`\ud83d\ude80 Published ${extension.namespace}.${extension.name} v${extension.version}`);
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
- const path = `api/${encodeURIComponent(namespace)}/${encodeURIComponent(extension)}`;
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