ovsx 0.3.0 → 0.5.1

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,17 +2,61 @@
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
+
11
+ ### v0.4.0 (Feb. 2022)
12
+
13
+ #### New Features
14
+
15
+ - Added CLI parameter `--pre-release` to support pre-releases ([#410](https://github.com/eclipse/openvsx/pull/410))
16
+
17
+ ### v0.3.0 (Jan. 2022)
18
+
19
+ #### Breaking Changes
20
+
21
+ - The minimum version of Node.js required is now `14` because of the newer `vsce`
22
+
23
+ #### Dependencies
24
+
25
+ - Upgrade `vsce` from `1.97.0` to `2.6.3` ([#403](https://github.com/eclipse/openvsx/pull/403))
26
+ - Upgrade `follow-redirects`
27
+ - Upgrade `nth-check`
28
+
29
+ ---
30
+
31
+ ### v0.2.1 (Sep. 2021)
32
+
33
+ #### New Features
34
+
35
+ - Also accept `LICENCE` files (alternative spelling to `LICENSE`) ([#307](https://github.com/eclipse/openvsx/pull/307))
36
+ - Remove `--web` option (it will now be inferred from the `package.json` file)
37
+
38
+ #### Dependencies
39
+
40
+ - Upgrade `vsce` from `1.93.0` to `1.97.0`
41
+
42
+ ---
43
+
5
44
  ### v0.2.0 (Jun. 2021)
6
45
 
7
- New features:
8
- * Added CLI parameter `--web` for web extensions ([#262](https://github.com/eclipse/openvsx/pull/262))
46
+ #### New Features
47
+
48
+ - Added CLI parameter `--web` for web extensions ([#262](https://github.com/eclipse/openvsx/pull/262))
49
+
50
+ #### Bug Fixes
51
+
52
+ - Fixed handling of unknown commands ([#302](https://github.com/eclipse/openvsx/issues/302))
53
+
54
+ #### Dependencies
9
55
 
10
- Fixed issues:
11
- * Updated the `vsce` dependency from 1.84.0 to 1.93.0 ([#300](https://github.com/eclipse/openvsx/issues/300))
12
- * Added explicit dependency to `tmp` ([#254](https://github.com/eclipse/openvsx/issues/254))
13
- * Fixed handling of unknown commands ([#302](https://github.com/eclipse/openvsx/issues/302))
56
+ - Updated the `vsce` dependency from 1.84.0 to 1.93.0 ([#300](https://github.com/eclipse/openvsx/issues/300))
57
+ - Added explicit dependency to `tmp` ([#254](https://github.com/eclipse/openvsx/issues/254))
14
58
 
15
- -----
59
+ ---
16
60
 
17
61
  ### v0.1.0 (Apr. 2021)
18
62
 
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,15 +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
- .action((extensionFile, { packagePath, baseContentUrl, baseImagesUrl, yarn }) => {
40
+ .option('--pre-release', 'Mark this package as a pre-release')
41
+ .action((extensionFile, { target, packagePath, baseContentUrl, baseImagesUrl, yarn, preRelease }) => {
40
42
  if (extensionFile !== undefined && packagePath !== undefined) {
41
43
  console.error('\u274c Please specify either a package file or a package path, but not both.\n');
42
44
  publishCmd.help();
43
45
  }
46
+ if (extensionFile !== undefined && target !== undefined) {
47
+ console.warn("Ignoring option '--target' for prepackaged extension.");
48
+ target = undefined;
49
+ }
44
50
  if (extensionFile !== undefined && baseContentUrl !== undefined)
45
51
  console.warn("Ignoring option '--baseContentUrl' for prepackaged extension.");
46
52
  if (extensionFile !== undefined && baseImagesUrl !== undefined)
@@ -48,18 +54,19 @@ module.exports = function (argv) {
48
54
  if (extensionFile !== undefined && yarn !== undefined)
49
55
  console.warn("Ignoring option '--yarn' for prepackaged extension.");
50
56
  const { registryUrl, pat } = program.opts();
51
- publish_1.publish({ extensionFile, registryUrl, pat, packagePath: typeof packagePath === 'string' ? [packagePath] : packagePath, baseContentUrl, baseImagesUrl, yarn })
57
+ publish_1.publish({ extensionFile, registryUrl, pat, targets: typeof target === 'string' ? [target] : target, packagePath: typeof packagePath === 'string' ? [packagePath] : packagePath, baseContentUrl, baseImagesUrl, yarn, preRelease })
52
58
  .catch(util_1.handleError(program.debug, 'See the documentation for more information:\n'
53
59
  + 'https://github.com/eclipse/openvsx/wiki/Publishing-Extensions'));
54
60
  });
55
61
  const getCmd = program.command('get <namespace.extension>');
56
62
  getCmd.description('Download an extension or its metadata.')
63
+ .option('-t, --target <target>', 'Target architecture')
57
64
  .option('-v, --versionRange <version>', 'Specify an exact version or a version range.')
58
65
  .option('-o, --output <path>', 'Save the output in the specified file or directory.')
59
66
  .option('--metadata', 'Print the extension\'s metadata instead of downloading it.')
60
- .action((extensionId, { versionRange, output, metadata }) => {
67
+ .action((extensionId, { target, versionRange, output, metadata }) => {
61
68
  const { registryUrl } = program.opts();
62
- get_1.getExtension({ extensionId, version: versionRange, registryUrl, output, metadata })
69
+ get_1.getExtension({ extensionId, target: target, version: versionRange, registryUrl, output, metadata })
63
70
  .catch(util_1.handleError(program.debug));
64
71
  });
65
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":";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
@@ -1,12 +1,3 @@
1
- /********************************************************************************
2
- * Copyright (c) 2019 TypeFox and others
3
- *
4
- * This program and the accompanying materials are made available under the
5
- * terms of the Eclipse Public License v. 2.0 which is available at
6
- * http://www.eclipse.org/legal/epl-2.0.
7
- *
8
- * SPDX-License-Identifier: EPL-2.0
9
- ********************************************************************************/
10
1
  import { RegistryOptions } from './registry';
11
2
  /**
12
3
  * Publishes an extension.
@@ -29,8 +20,16 @@ interface PublishCommonOptions extends RegistryOptions {
29
20
  * Should use `yarn` instead of `npm`. Only valid with `packagePath`.
30
21
  */
31
22
  yarn?: boolean;
23
+ /**
24
+ * Mark this package as a pre-release. Only valid with `packagePath`.
25
+ */
26
+ preRelease?: boolean;
32
27
  }
33
28
  export interface PublishOptions extends PublishCommonOptions {
29
+ /**
30
+ * Target architectures.
31
+ */
32
+ targets?: string[];
34
33
  /**
35
34
  * Paths to the extension to be packaged and published. Cannot be used together
36
35
  * with `extensionFile`.
@@ -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,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"}
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
@@ -1,13 +1,4 @@
1
1
  "use strict";
2
- /********************************************************************************
3
- * Copyright (c) 2019 TypeFox and others
4
- *
5
- * This program and the accompanying materials are made available under the
6
- * terms of the Eclipse Public License v. 2.0 which is available at
7
- * http://www.eclipse.org/legal/epl-2.0.
8
- *
9
- * SPDX-License-Identifier: EPL-2.0
10
- ********************************************************************************/
11
2
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
12
3
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
13
4
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -18,6 +9,15 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
18
9
  });
19
10
  };
20
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
+ /********************************************************************************
13
+ * Copyright (c) 2019 TypeFox and others
14
+ *
15
+ * This program and the accompanying materials are made available under the
16
+ * terms of the Eclipse Public License v. 2.0 which is available at
17
+ * http://www.eclipse.org/legal/epl-2.0.
18
+ *
19
+ * SPDX-License-Identifier: EPL-2.0
20
+ ********************************************************************************/
21
21
  const vsce_1 = require("vsce");
22
22
  const util_1 = require("./util");
23
23
  const registry_1 = require("./registry");
@@ -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,17 +49,29 @@ 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) {
53
56
  yield packageExtension(options, registry);
54
57
  console.log(); // new line
55
58
  }
59
+ else if (options.preRelease) {
60
+ console.warn("Ignoring option '--pre-release' for prepackaged extension.");
61
+ }
56
62
  const extension = yield registry.publish(options.extensionFile, options.pat);
57
63
  if (extension.error) {
58
64
  throw new Error(extension.error);
59
65
  }
60
- 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
+ }
61
75
  });
62
76
  }
63
77
  function packageExtension(options, registry) {
@@ -67,11 +81,13 @@ function packageExtension(options, registry) {
67
81
  }
68
82
  options.extensionFile = yield util_1.createTempFile({ postfix: '.vsix' });
69
83
  const createVSIXOptions = {
84
+ target: options.target,
70
85
  cwd: options.packagePath,
71
86
  packagePath: options.extensionFile,
72
87
  baseContentUrl: options.baseContentUrl,
73
88
  baseImagesUrl: options.baseImagesUrl,
74
- useYarn: options.yarn
89
+ useYarn: options.yarn,
90
+ preRelease: options.preRelease
75
91
  };
76
92
  yield vsce_1.createVSIX(createVSIXOptions);
77
93
  });
@@ -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;;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"}
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,MAAM,sBAAsB,GAAG,EAAE,CAAC;QAClC,MAAM,YAAY,GAAG,OAAO,CAAC,WAAW,IAAI,CAAC,SAAS,CAAC,CAAC;QACxD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC;QAC/C,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE;YACpC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;gBAC1B,sBAAsB,CAAC,IAAI,iCAAO,OAAO,KAAE,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,IAAG,CAAC;aAC1F;SACJ;QACD,MAAM,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IACnG,CAAC;CAAA;AAXD,0BAWC;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;YAC3B,OAAO,OAAO,CAAC,MAAM,CAAC;SACzB;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;QAED,MAAM,IAAI,GAAG,GAAG,SAAS,CAAC,SAAS,IAAI,SAAS,CAAC,IAAI,EAAE,CAAC;QAC3D,IAAI,WAAW,GAAG,GAAG,IAAI,KAAK,SAAS,CAAC,OAAO,EAAE,CAAC;QAC/C,IAAI,OAAO,CAAC,MAAM,EAAE;YAChB,WAAW,IAAI,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;SACvC;QAED,OAAO,CAAC,GAAG,CAAC,2BAA2B,WAAW,EAAE,CAAC,CAAC;QACtD,IAAI,SAAS,CAAC,OAAO,EAAE;YACnB,OAAO,CAAC,GAAG,CAAC,SAAS,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC;SAC7C;IACL,CAAC;CAAA;AA0DD,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,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,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"}
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":";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;QAC5C,IAAI;YACA,MAAM,IAAI,GAAG,OAAO,kBAAkB,CAAC,SAAS,CAAC,IAAI,kBAAkB,CAAC,SAAS,CAAC,EAAE,CAAC;YACrF,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;SAC1C;QAAC,OAAO,GAAG,EAAE;YACV,OAAO,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;SAC9B;IACL,CAAC;IAED,QAAQ,CAAC,IAAY,EAAE,GAAQ;QAC3B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACnC,MAAM,MAAM,GAAG,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;YAC1C,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAChD,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;iBAChB,OAAO,CAAC,GAAG,EAAE,cAAc,EAAE,QAAQ,CAAC,EAAE;gBACzD,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;oBACpB,IAAI,QAAQ,CAAC,UAAU,KAAK,SAAS,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,GAAG,IAAI,QAAQ,CAAC,UAAU,GAAG,GAAG,CAAC,EAAE;wBAC/F,MAAM,CAAC,kBAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;qBACjC;yBAAM;wBACH,OAAO,EAAE,CAAC;qBACb;gBACL,CAAC,CAAC,CAAC;gBACH,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC1B,CAAC,CAAC,CAAC;YACH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE;gBACrB,OAAO,CAAC,KAAK,EAAE,CAAC;gBAChB,MAAM,CAAC,GAAG,CAAC,CAAC;YAChB,CAAC,CAAC,CAAC;YACH,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE;gBACtB,MAAM,CAAC,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,GAAG,CAAC,CAAC;YAChB,CAAC,CAAC,CAAC;YACH,OAAO,CAAC,GAAG,EAAE,CAAC;QAClB,CAAC,CAAC,CAAC;IACP,CAAC;IAED,OAAO,CAAqB,GAAQ;QAChC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACnC,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAChD,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;iBAChB,OAAO,CAAC,GAAG,EAAE,cAAc,EAAE,IAAI,CAAC,eAAe,CAAI,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;YAC5F,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAC5B,OAAO,CAAC,GAAG,EAAE,CAAC;QAClB,CAAC,CAAC,CAAC;IACP,CAAC;IAED,IAAI,CAAqB,OAAqC,EAAE,GAAQ,EAAE,OAAkC,EAAE,aAAsB;QAChI,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACnC,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;YAC9E,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;iBAChB,OAAO,CAAC,GAAG,EAAE,cAAc,EAAE,IAAI,CAAC,eAAe,CAAI,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;YAC5F,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAC5B,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACvB,OAAO,CAAC,GAAG,EAAE,CAAC;QAClB,CAAC,CAAC,CAAC;IACP,CAAC;IAED,QAAQ,CAAqB,IAAY,EAAE,GAAQ,EAAE,OAAkC,EAAE,aAAsB;QAC3G,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACnC,MAAM,MAAM,GAAG,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;YACzC,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;YAC9E,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;iBAChB,OAAO,CAAC,GAAG,EAAE,cAAc,EAAE,IAAI,CAAC,eAAe,CAAI,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;YAC5F,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE;gBACrB,OAAO,CAAC,KAAK,EAAE,CAAC;gBAChB,MAAM,CAAC,GAAG,CAAC,CAAC;YAChB,CAAC,CAAC,CAAC;YACH,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE;gBACtB,MAAM,CAAC,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,GAAG,CAAC,CAAC;YAChB,CAAC,CAAC,CAAC;YACH,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;IACP,CAAC;IAEO,MAAM,CAAC,IAAY,EAAE,KAAiC;QAC1D,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC9B,GAAG,CAAC,QAAQ,IAAI,IAAI,CAAC;QACrB,IAAI,KAAK,EAAE;YACP,GAAG,CAAC,MAAM,GAAG,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;SAC7C;QACD,OAAO,GAAG,CAAC;IACf,CAAC;IAEO,WAAW,CAAC,GAAQ;QACxB,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ;YACzB,OAAO,eAAe,CAAC,KAAqB,CAAC;;YAE7C,OAAO,eAAe,CAAC,IAAmB,CAAC;IACnD,CAAC;IAEO,iBAAiB,CAAC,MAAe,EAAE,OAAkC,EAAE,aAAsB;QACjG,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,EAAE;YAChC,IAAI,CAAC,OAAO,EAAE;gBACV,OAAO,GAAG,EAAE,CAAC;aAChB;YACD,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACxF,OAAO,CAAC,eAAe,CAAC,GAAG,QAAQ,GAAG,WAAW,CAAC;SACrD;QACD,OAAO;YACH,MAAM;YACN,OAAO;YACP,aAAa;SACO,CAAC;IAC7B,CAAC;IAEO,eAAe,CAAqB,OAA2B,EAAE,MAA6B;QAClG,OAAO,QAAQ,CAAC,EAAE;YACd,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YAC9B,IAAI,IAAI,GAAG,EAAE,CAAC;YACd,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC;YAC5C,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;gBACpB,IAAI,QAAQ,CAAC,UAAU,KAAK,SAAS,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,GAAG,IAAI,QAAQ,CAAC,UAAU,GAAG,GAAG,CAAC,EAAE;oBAC/F,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;wBACtB,IAAI;4BACA,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAkB,CAAC;4BACjD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC;4BAC/C,IAAI,OAAO,EAAE;gCACT,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;gCAC3B,OAAO;6BACV;yBACJ;wBAAC,OAAO,GAAG,EAAE;4BACV,mDAAmD;yBACtD;qBACJ;oBACD,MAAM,CAAC,kBAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;iBACjC;qBAAM,IAAI,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE;oBAC3C,MAAM,CAAC,IAAI,CAAC,CAAC;iBAChB;qBAAM;oBACH,IAAI;wBACA,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;qBAC7B;oBAAC,OAAO,GAAG,EAAE;wBACV,MAAM,CAAC,GAAG,CAAC,CAAC;qBACf;iBACJ;YACL,CAAC,CAAC,CAAC;QACP,CAAC,CAAC;IACN,CAAC;CAEJ;AA9LD,4BA8LC"}
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.0",
3
+ "version": "0.5.1",
4
4
  "description": "Command line interface for Eclipse Open VSX",
5
5
  "keywords": [
6
6
  "cli",
@@ -12,7 +12,7 @@
12
12
  "homepage": "https://open-vsx.org",
13
13
  "repository": {
14
14
  "type": "git",
15
- "url": "ssh://git@github.com:eclipse/openvsx.git",
15
+ "url": "https://github.com/eclipse/openvsx.git",
16
16
  "directory": "cli"
17
17
  },
18
18
  "bugs": "https://github.com/eclipse/openvsx/issues",
@@ -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,15 +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
- .action((extensionFile: string, { packagePath, baseContentUrl, baseImagesUrl, yarn }) => {
43
+ .option('--pre-release', 'Mark this package as a pre-release')
44
+ .action((extensionFile: string, { target, packagePath, baseContentUrl, baseImagesUrl, yarn, preRelease }) => {
43
45
  if (extensionFile !== undefined && packagePath !== undefined) {
44
46
  console.error('\u274c Please specify either a package file or a package path, but not both.\n');
45
47
  publishCmd.help();
46
48
  }
49
+ if (extensionFile !== undefined && target !== undefined) {
50
+ console.warn("Ignoring option '--target' for prepackaged extension.");
51
+ target = undefined;
52
+ }
47
53
  if (extensionFile !== undefined && baseContentUrl !== undefined)
48
54
  console.warn("Ignoring option '--baseContentUrl' for prepackaged extension.");
49
55
  if (extensionFile !== undefined && baseImagesUrl !== undefined)
@@ -51,7 +57,7 @@ module.exports = function (argv: string[]): void {
51
57
  if (extensionFile !== undefined && yarn !== undefined)
52
58
  console.warn("Ignoring option '--yarn' for prepackaged extension.");
53
59
  const { registryUrl, pat } = program.opts();
54
- publish({ extensionFile, registryUrl, pat, packagePath: typeof packagePath === 'string' ? [packagePath] : packagePath, baseContentUrl, baseImagesUrl, yarn })
60
+ publish({ extensionFile, registryUrl, pat, targets: typeof target === 'string' ? [target] : target, packagePath: typeof packagePath === 'string' ? [packagePath] : packagePath, baseContentUrl, baseImagesUrl, yarn, preRelease })
55
61
  .catch(handleError(program.debug,
56
62
  'See the documentation for more information:\n'
57
63
  + 'https://github.com/eclipse/openvsx/wiki/Publishing-Extensions'
@@ -60,12 +66,13 @@ module.exports = function (argv: string[]): void {
60
66
 
61
67
  const getCmd = program.command('get <namespace.extension>');
62
68
  getCmd.description('Download an extension or its metadata.')
69
+ .option('-t, --target <target>', 'Target architecture')
63
70
  .option('-v, --versionRange <version>', 'Specify an exact version or a version range.')
64
71
  .option('-o, --output <path>', 'Save the output in the specified file or directory.')
65
72
  .option('--metadata', 'Print the extension\'s metadata instead of downloading it.')
66
- .action((extensionId: string, { versionRange, output, metadata }) => {
73
+ .action((extensionId: string, { target, versionRange, output, metadata }) => {
67
74
  const { registryUrl } = program.opts();
68
- getExtension({ extensionId, version: versionRange, registryUrl, output, metadata })
75
+ getExtension({ extensionId, target: target, version: versionRange, registryUrl, output, metadata })
69
76
  .catch(handleError(program.debug));
70
77
  });
71
78
 
package/src/publish.ts CHANGED
@@ -7,7 +7,6 @@
7
7
  *
8
8
  * SPDX-License-Identifier: EPL-2.0
9
9
  ********************************************************************************/
10
-
11
10
  import { createVSIX, ICreateVSIXOptions } from 'vsce';
12
11
  import { createTempFile, addEnvOptions } from './util';
13
12
  import { Registry, RegistryOptions } from './registry';
@@ -18,12 +17,15 @@ import { checkLicense } from './check-license';
18
17
  */
19
18
  export async function publish(options: PublishOptions = {}): Promise<void> {
20
19
  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 });
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
+ }
26
27
  }
28
+ await Promise.all(internalPublishOptions.map(publishOptions => doPublish(publishOptions)));
27
29
  }
28
30
 
29
31
  async function doPublish(options: InternalPublishOptions = {}): Promise<void> {
@@ -35,18 +37,31 @@ async function doPublish(options: InternalPublishOptions = {}): Promise<void> {
35
37
  if (options.packagePath && options.packagePath.endsWith('.vsix')) {
36
38
  options.extensionFile = options.packagePath;
37
39
  delete options.packagePath;
40
+ delete options.target;
38
41
  }
39
42
  const registry = new Registry(options);
40
43
  if (!options.extensionFile) {
41
44
  await packageExtension(options, registry);
42
45
  console.log(); // new line
46
+ } else if (options.preRelease) {
47
+ console.warn("Ignoring option '--pre-release' for prepackaged extension.");
43
48
  }
44
49
 
45
50
  const extension = await registry.publish(options.extensionFile!, options.pat);
46
51
  if (extension.error) {
47
52
  throw new Error(extension.error);
48
53
  }
49
- 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
+ }
50
65
  }
51
66
 
52
67
  interface PublishCommonOptions extends RegistryOptions {
@@ -67,11 +82,20 @@ interface PublishCommonOptions extends RegistryOptions {
67
82
  * Should use `yarn` instead of `npm`. Only valid with `packagePath`.
68
83
  */
69
84
  yarn?: boolean;
85
+ /**
86
+ * Mark this package as a pre-release. Only valid with `packagePath`.
87
+ */
88
+ preRelease?: boolean;
70
89
  }
71
90
 
72
91
  // Interface used by top level CLI
73
92
  export interface PublishOptions extends PublishCommonOptions {
74
93
 
94
+ /**
95
+ * Target architectures.
96
+ */
97
+ targets?: string[];
98
+
75
99
  /**
76
100
  * Paths to the extension to be packaged and published. Cannot be used together
77
101
  * with `extensionFile`.
@@ -82,6 +106,12 @@ export interface PublishOptions extends PublishCommonOptions {
82
106
  // Interface used internally by the doPublish method
83
107
  interface InternalPublishOptions extends PublishCommonOptions {
84
108
 
109
+ /**
110
+ * Only one target for our internal command.
111
+ * Target architecture.
112
+ */
113
+ target?: string;
114
+
85
115
  /**
86
116
  * Only one path for our internal command.
87
117
  * Path to the extension to be packaged and published. Cannot be used together
@@ -97,11 +127,13 @@ async function packageExtension(options: InternalPublishOptions, registry: Regis
97
127
 
98
128
  options.extensionFile = await createTempFile({ postfix: '.vsix' });
99
129
  const createVSIXOptions: ICreateVSIXOptions = {
130
+ target: options.target,
100
131
  cwd: options.packagePath,
101
132
  packagePath: options.extensionFile,
102
133
  baseContentUrl: options.baseContentUrl,
103
134
  baseImagesUrl: options.baseImagesUrl,
104
- useYarn: options.yarn
135
+ useYarn: options.yarn,
136
+ preRelease: options.preRelease
105
137
  };
106
138
  await createVSIX(createVSIXOptions);
107
139
  }
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