ovsx 0.1.0-next.e000fdb → 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/CHANGELOG.md +19 -0
- package/README.md +1 -1
- package/lib/check-license.d.ts +13 -0
- package/lib/check-license.d.ts.map +1 -0
- package/lib/check-license.js +129 -0
- package/lib/check-license.js.map +1 -0
- package/lib/create-namespace.d.ts +2 -9
- package/lib/create-namespace.d.ts.map +1 -1
- package/lib/create-namespace.js +4 -8
- package/lib/create-namespace.js.map +1 -1
- package/lib/get.d.ts +2 -5
- package/lib/get.d.ts.map +1 -1
- package/lib/get.js +2 -4
- package/lib/get.js.map +1 -1
- package/lib/index.d.ts +2 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +5 -0
- package/lib/index.js.map +1 -1
- package/lib/main.js +28 -25
- package/lib/main.js.map +1 -1
- package/lib/ovsx +4 -2
- package/lib/publish.d.ts +10 -14
- package/lib/publish.d.ts.map +1 -1
- package/lib/publish.js +37 -16
- package/lib/publish.js.map +1 -1
- package/lib/registry.d.ts +27 -3
- package/lib/registry.d.ts.map +1 -1
- package/lib/registry.js +30 -8
- package/lib/registry.js.map +1 -1
- package/lib/util.d.ts +16 -1
- package/lib/util.d.ts.map +1 -1
- package/lib/util.js +107 -1
- package/lib/util.js.map +1 -1
- package/package.json +10 -5
- package/src/check-license.ts +119 -0
- package/src/create-namespace.ts +7 -18
- package/src/get.ts +9 -11
- package/src/index.ts +2 -0
- package/src/main.ts +30 -27
- package/src/ovsx +4 -2
- package/src/publish.ts +64 -34
- package/src/registry.ts +57 -11
- package/src/util.ts +110 -1
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
## Eclipse Open VSX Change Log
|
|
2
|
+
|
|
3
|
+
This change log covers only the command line interface (CLI) of Open VSX.
|
|
4
|
+
|
|
5
|
+
### v0.2.0 (Jun. 2021)
|
|
6
|
+
|
|
7
|
+
New features:
|
|
8
|
+
* Added CLI parameter `--web` for web extensions ([#262](https://github.com/eclipse/openvsx/pull/262))
|
|
9
|
+
|
|
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))
|
|
14
|
+
|
|
15
|
+
-----
|
|
16
|
+
|
|
17
|
+
### v0.1.0 (Apr. 2021)
|
|
18
|
+
|
|
19
|
+
First release of Open VSX with the Eclipse Foundation.
|
package/README.md
CHANGED
|
@@ -35,7 +35,7 @@ Creating a namespace does _not_ automatically give you the exclusive publishing
|
|
|
35
35
|
|
|
36
36
|
### Download Extensions
|
|
37
37
|
|
|
38
|
-
You can use `ovsx` for downloading extensions from an Open VSX instance. Extensions are identified with the format `namespace.extension`, and an exact version or version range can be specified with the `--
|
|
38
|
+
You can use `ovsx` for downloading extensions from an Open VSX instance. Extensions are identified with the format `namespace.extension`, and an exact version or version range can be specified with the `--versionRange` (or `-v`) argument. The namespace corresponds to the `publisher` entry of the package.json file.
|
|
39
39
|
|
|
40
40
|
Variants:
|
|
41
41
|
* `ovsx get <extension>`
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/********************************************************************************
|
|
2
|
+
* Copyright (c) 2020 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
|
+
import { Manifest } from './util';
|
|
11
|
+
export declare function isLicenseOk(packagePath: string, manifest?: Manifest): Promise<boolean>;
|
|
12
|
+
export declare function checkLicense(packagePath: string): Promise<void>;
|
|
13
|
+
//# sourceMappingURL=check-license.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"check-license.d.ts","sourceRoot":"","sources":["../src/check-license.ts"],"names":[],"mappings":"AAAA;;;;;;;;kFAQkF;AAIlF,OAAO,EAC0B,QAAQ,EACxC,MAAM,QAAQ,CAAC;AAgChB,wBAAsB,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,CAiB5F;AAED,wBAAsB,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAKrE"}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/********************************************************************************
|
|
3
|
+
* Copyright (c) 2020 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
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
12
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
13
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
14
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
15
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
16
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
17
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
18
|
+
});
|
|
19
|
+
};
|
|
20
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
|
+
const fs = require("fs");
|
|
22
|
+
const isCI = require("is-ci");
|
|
23
|
+
const util_1 = require("./util");
|
|
24
|
+
function addLicense(packagePath, manifest) {
|
|
25
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
26
|
+
console.log('Extension ' + manifest.publisher + '.' + manifest.name + ' has no license. All Open VSX '
|
|
27
|
+
+ 'Registry Content Offerings must be licensed. You may choose to publish this extension under '
|
|
28
|
+
+ 'the MIT License (https://opensource.org/licenses/MIT). Please note you are responsible to '
|
|
29
|
+
+ 'ensure that you have the necessary rights to permit this extension to be made available under '
|
|
30
|
+
+ 'the MIT license and for compliance with that license.');
|
|
31
|
+
let answer;
|
|
32
|
+
do {
|
|
33
|
+
console.log();
|
|
34
|
+
answer = yield util_1.getUserChoice('Would you like to publish your extension '
|
|
35
|
+
+ manifest.publisher + '.' + manifest.name
|
|
36
|
+
+ ' under the MIT license?', ['yes', 'help', 'no'], 'no');
|
|
37
|
+
switch (answer) {
|
|
38
|
+
case 'yes':
|
|
39
|
+
yield useMITLicense(manifest, packagePath);
|
|
40
|
+
break;
|
|
41
|
+
case 'help':
|
|
42
|
+
console.log('If you select "yes" your extension will be published under the MIT License. '
|
|
43
|
+
+ 'You must enter the Copyright Year and Copyright Holder information. This information '
|
|
44
|
+
+ 'along with the text of the MIT License will be written to a LICENSE file and '
|
|
45
|
+
+ 'packaged with the uploaded extension.\n');
|
|
46
|
+
console.log(MIT_LICENSE_TEXT);
|
|
47
|
+
break;
|
|
48
|
+
case 'no':
|
|
49
|
+
throw new Error('This extension cannot be accepted because it has no license.');
|
|
50
|
+
}
|
|
51
|
+
} while (answer === 'help');
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
function isLicenseOk(packagePath, manifest) {
|
|
55
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
56
|
+
// manifest is optional in order to use isLicenseOk function
|
|
57
|
+
// without need to read and parse manifest by the another step
|
|
58
|
+
manifest = manifest !== null && manifest !== void 0 ? manifest : yield util_1.readManifest(packagePath);
|
|
59
|
+
util_1.validateManifest(manifest);
|
|
60
|
+
if (manifest.license) {
|
|
61
|
+
// The extension has a license identifier or a pointer to an alternative LICENSE file
|
|
62
|
+
return true;
|
|
63
|
+
}
|
|
64
|
+
if (yield hasLicenseFile(packagePath)) {
|
|
65
|
+
// The extension has a LICENSE file that can be packaged
|
|
66
|
+
return true;
|
|
67
|
+
}
|
|
68
|
+
return false;
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
exports.isLicenseOk = isLicenseOk;
|
|
72
|
+
function checkLicense(packagePath) {
|
|
73
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
74
|
+
const manifest = yield util_1.readManifest(packagePath);
|
|
75
|
+
if (!(yield isLicenseOk(packagePath, manifest)) && !isCI) {
|
|
76
|
+
yield addLicense(packagePath, manifest);
|
|
77
|
+
}
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
exports.checkLicense = checkLicense;
|
|
81
|
+
function useMITLicense(manifest, packagePath) {
|
|
82
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
83
|
+
console.log('Please enter a value for Copyright Year and Copyright Holder.\n'
|
|
84
|
+
+ 'Example: "Copyright 2020 John Doe"\n');
|
|
85
|
+
const copyright = yield util_1.getUserInput('Copyright ');
|
|
86
|
+
if (!copyright) {
|
|
87
|
+
throw new Error('A copyright declaration is necessary for the MIT license.');
|
|
88
|
+
}
|
|
89
|
+
manifest.license = 'MIT';
|
|
90
|
+
yield util_1.writeManifest(manifest, packagePath);
|
|
91
|
+
const license = MIT_LICENSE_TEXT.replace('<YEAR> <COPYRIGHT HOLDER>', copyright);
|
|
92
|
+
yield util_1.writeFile('LICENSE', license, packagePath);
|
|
93
|
+
console.log('LICENSE file has been written. Please commit it to the source repository.');
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
const LICENSE_FILE_NAMES = ['license.md', 'license', 'license.txt', 'licence.md', 'licence', 'licence.txt'];
|
|
97
|
+
function hasLicenseFile(packagePath) {
|
|
98
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
99
|
+
const fileNames = yield util_1.promisify(fs.readdir)(packagePath !== null && packagePath !== void 0 ? packagePath : '.');
|
|
100
|
+
for (const fileName of fileNames) {
|
|
101
|
+
for (const licFileName of LICENSE_FILE_NAMES) {
|
|
102
|
+
if (fileName.toLowerCase() === licFileName) {
|
|
103
|
+
return true;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
return false;
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
const MIT_LICENSE_TEXT = `Copyright <YEAR> <COPYRIGHT HOLDER>
|
|
111
|
+
|
|
112
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
113
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
114
|
+
in the Software without restriction, including without limitation the rights
|
|
115
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
116
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
117
|
+
furnished to do so, subject to the following conditions:
|
|
118
|
+
|
|
119
|
+
The above copyright notice and this permission notice shall be included in all
|
|
120
|
+
copies or substantial portions of the Software.
|
|
121
|
+
|
|
122
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
123
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
124
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
125
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
126
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
127
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
128
|
+
SOFTWARE.`;
|
|
129
|
+
//# sourceMappingURL=check-license.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"check-license.js","sourceRoot":"","sources":["../src/check-license.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,19 +7,12 @@
|
|
|
7
7
|
*
|
|
8
8
|
* SPDX-License-Identifier: EPL-2.0
|
|
9
9
|
********************************************************************************/
|
|
10
|
+
import { RegistryOptions } from './registry';
|
|
10
11
|
/**
|
|
11
12
|
* Creates a namespace (corresponds to `publisher` in package.json).
|
|
12
13
|
*/
|
|
13
14
|
export declare function createNamespace(options?: CreateNamespaceOptions): Promise<void>;
|
|
14
|
-
export interface CreateNamespaceOptions {
|
|
15
|
-
/**
|
|
16
|
-
* The base URL of the registry API.
|
|
17
|
-
*/
|
|
18
|
-
registryUrl?: string;
|
|
19
|
-
/**
|
|
20
|
-
* Personal access token.
|
|
21
|
-
*/
|
|
22
|
-
pat?: string;
|
|
15
|
+
export interface CreateNamespaceOptions extends RegistryOptions {
|
|
23
16
|
/**
|
|
24
17
|
* Name of the new namespace.
|
|
25
18
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-namespace.d.ts","sourceRoot":"","sources":["../src/create-namespace.ts"],"names":[],"mappings":"AAAA;;;;;;;;kFAQkF;
|
|
1
|
+
{"version":3,"file":"create-namespace.d.ts","sourceRoot":"","sources":["../src/create-namespace.ts"],"names":[],"mappings":"AAAA;;;;;;;;kFAQkF;AAElF,OAAO,EAAY,eAAe,EAAE,MAAM,YAAY,CAAC;AAGvD;;GAEG;AACH,wBAAsB,eAAe,CAAC,OAAO,GAAE,sBAA2B,GAAG,OAAO,CAAC,IAAI,CAAC,CAezF;AAED,MAAM,WAAW,sBAAuB,SAAQ,eAAe;IAC3D;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;CAChB"}
|
package/lib/create-namespace.js
CHANGED
|
@@ -19,24 +19,20 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
19
19
|
};
|
|
20
20
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
21
|
const registry_1 = require("./registry");
|
|
22
|
+
const util_1 = require("./util");
|
|
22
23
|
/**
|
|
23
24
|
* Creates a namespace (corresponds to `publisher` in package.json).
|
|
24
25
|
*/
|
|
25
26
|
function createNamespace(options = {}) {
|
|
26
27
|
return __awaiter(this, void 0, void 0, function* () {
|
|
27
|
-
|
|
28
|
-
options.registryUrl = process.env.OVSX_REGISTRY_URL;
|
|
29
|
-
}
|
|
28
|
+
util_1.addEnvOptions(options);
|
|
30
29
|
if (!options.name) {
|
|
31
30
|
throw new Error('The namespace name is mandatory.');
|
|
32
31
|
}
|
|
33
32
|
if (!options.pat) {
|
|
34
|
-
|
|
35
|
-
if (!options.pat) {
|
|
36
|
-
throw new Error("A personal access token must be given with the option '--pat'.");
|
|
37
|
-
}
|
|
33
|
+
throw new Error("A personal access token must be given with the option '--pat'.");
|
|
38
34
|
}
|
|
39
|
-
const registry = new registry_1.Registry(
|
|
35
|
+
const registry = new registry_1.Registry(options);
|
|
40
36
|
const result = yield registry.createNamespace(options.name, options.pat);
|
|
41
37
|
if (result.error) {
|
|
42
38
|
throw new Error(result.error);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-namespace.js","sourceRoot":"","sources":["../src/create-namespace.ts"],"names":[],"mappings":";AAAA;;;;;;;;kFAQkF;;;;;;;;;;;AAElF,
|
|
1
|
+
{"version":3,"file":"create-namespace.js","sourceRoot":"","sources":["../src/create-namespace.ts"],"names":[],"mappings":";AAAA;;;;;;;;kFAQkF;;;;;;;;;;;AAElF,yCAAuD;AACvD,iCAAuC;AAEvC;;GAEG;AACH,SAAsB,eAAe,CAAC,UAAkC,EAAE;;QACtE,oBAAa,CAAC,OAAO,CAAC,CAAC;QACvB,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;YACf,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;SACvD;QACD,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,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;QACzE,IAAI,MAAM,CAAC,KAAK,EAAE;YACd,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;SACjC;QACD,OAAO,CAAC,GAAG,CAAC,mCAAmC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IACnE,CAAC;CAAA;AAfD,0CAeC"}
|
package/lib/get.d.ts
CHANGED
|
@@ -7,11 +7,12 @@
|
|
|
7
7
|
*
|
|
8
8
|
* SPDX-License-Identifier: EPL-2.0
|
|
9
9
|
********************************************************************************/
|
|
10
|
+
import { RegistryOptions } from "./registry";
|
|
10
11
|
/**
|
|
11
12
|
* Downloads an extension or its metadata.
|
|
12
13
|
*/
|
|
13
14
|
export declare function getExtension(options: GetOptions): Promise<void>;
|
|
14
|
-
export interface GetOptions {
|
|
15
|
+
export interface GetOptions extends RegistryOptions {
|
|
15
16
|
/**
|
|
16
17
|
* Identifier in the form `namespace.extension` or `namespace/extension`.
|
|
17
18
|
*/
|
|
@@ -20,10 +21,6 @@ export interface GetOptions {
|
|
|
20
21
|
* An exact version or version range.
|
|
21
22
|
*/
|
|
22
23
|
version?: string;
|
|
23
|
-
/**
|
|
24
|
-
* The base URL of the registry API.
|
|
25
|
-
*/
|
|
26
|
-
registryUrl?: string;
|
|
27
24
|
/**
|
|
28
25
|
* Save the output in the specified file or directory.
|
|
29
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;
|
|
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"}
|
package/lib/get.js
CHANGED
|
@@ -28,10 +28,8 @@ const util_1 = require("./util");
|
|
|
28
28
|
*/
|
|
29
29
|
function getExtension(options) {
|
|
30
30
|
return __awaiter(this, void 0, void 0, function* () {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
}
|
|
34
|
-
const registry = new registry_1.Registry({ url: options.registryUrl });
|
|
31
|
+
util_1.addEnvOptions(options);
|
|
32
|
+
const registry = new registry_1.Registry(options);
|
|
35
33
|
const match = util_1.matchExtensionId(options.extensionId);
|
|
36
34
|
if (!match) {
|
|
37
35
|
throw new Error('The extension identifier must have the form `namespace.extension`.');
|
package/lib/get.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get.js","sourceRoot":"","sources":["../src/get.ts"],"names":[],"mappings":";AAAA;;;;;;;;kFAQkF;;;;;;;;;;;AAElF,yBAAyB;AACzB,6BAA6B;AAC7B,iCAAiC;AACjC,
|
|
1
|
+
{"version":3,"file":"get.js","sourceRoot":"","sources":["../src/get.ts"],"names":[],"mappings":"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"}
|
package/lib/index.d.ts
CHANGED
|
@@ -11,4 +11,6 @@ export * from './create-namespace';
|
|
|
11
11
|
export * from './get';
|
|
12
12
|
export * from './publish';
|
|
13
13
|
export * from './registry';
|
|
14
|
+
export { isLicenseOk } from './check-license';
|
|
15
|
+
export { validateManifest, readManifest } from './util';
|
|
14
16
|
//# sourceMappingURL=index.d.ts.map
|
package/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;kFAQkF;AAElF,cAAc,oBAAoB,CAAC;AACnC,cAAc,OAAO,CAAC;AACtB,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;kFAQkF;AAElF,cAAc,oBAAoB,CAAC;AACnC,cAAc,OAAO,CAAC;AACtB,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC"}
|
package/lib/index.js
CHANGED
|
@@ -16,4 +16,9 @@ __export(require("./create-namespace"));
|
|
|
16
16
|
__export(require("./get"));
|
|
17
17
|
__export(require("./publish"));
|
|
18
18
|
__export(require("./registry"));
|
|
19
|
+
var check_license_1 = require("./check-license");
|
|
20
|
+
exports.isLicenseOk = check_license_1.isLicenseOk;
|
|
21
|
+
var util_1 = require("./util");
|
|
22
|
+
exports.validateManifest = util_1.validateManifest;
|
|
23
|
+
exports.readManifest = util_1.readManifest;
|
|
19
24
|
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;kFAQkF;;;;;AAElF,wCAAmC;AACnC,2BAAsB;AACtB,+BAA0B;AAC1B,gCAA2B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;kFAQkF;;;;;AAElF,wCAAmC;AACnC,2BAAsB;AACtB,+BAA0B;AAC1B,gCAA2B;AAC3B,iDAA8C;AAArC,sCAAA,WAAW,CAAA;AACpB,+BAAwD;AAA/C,kCAAA,gBAAgB,CAAA;AAAE,8BAAA,YAAY,CAAA"}
|
package/lib/main.js
CHANGED
|
@@ -18,28 +18,25 @@ const get_1 = require("./get");
|
|
|
18
18
|
const pkg = require('../package.json');
|
|
19
19
|
module.exports = function (argv) {
|
|
20
20
|
const program = new commander.Command();
|
|
21
|
-
program.usage('<command> [options]')
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
.
|
|
21
|
+
program.usage('<command> [options]')
|
|
22
|
+
.option('-r, --registryUrl <url>', 'Use the registry API at this base URL.')
|
|
23
|
+
.option('-p, --pat <token>', 'Personal access token.')
|
|
24
|
+
.option('--debug', 'Include debug information on error')
|
|
25
|
+
.version(pkg.version, '-V, --version', 'Print the Eclipse Open VSX CLI version');
|
|
26
26
|
const createNamespaceCmd = program.command('create-namespace <name>');
|
|
27
27
|
createNamespaceCmd.description('Create a new namespace')
|
|
28
|
-
.
|
|
29
|
-
|
|
30
|
-
.action((name, { registryUrl, pat }) => {
|
|
28
|
+
.action((name) => {
|
|
29
|
+
const { registryUrl, pat } = program.opts();
|
|
31
30
|
create_namespace_1.createNamespace({ name, registryUrl, pat })
|
|
32
31
|
.catch(util_1.handleError(program.debug));
|
|
33
32
|
});
|
|
34
33
|
const publishCmd = program.command('publish [extension.vsix]');
|
|
35
34
|
publishCmd.description('Publish an extension, packaging it first if necessary.')
|
|
36
|
-
.option('-
|
|
37
|
-
.option('-p, --pat <token>', 'Personal access token (required).')
|
|
38
|
-
.option('--packagePath <path>', 'Package and publish the extension at the specified path.')
|
|
35
|
+
.option('-i, --packagePath <paths...>', 'Publish the provided VSIX packages.')
|
|
39
36
|
.option('--baseContentUrl <url>', 'Prepend all relative links in README.md with this URL.')
|
|
40
37
|
.option('--baseImagesUrl <url>', 'Prepend all relative image links in README.md with this URL.')
|
|
41
38
|
.option('--yarn', 'Use yarn instead of npm while packing extension files.')
|
|
42
|
-
.action((extensionFile, {
|
|
39
|
+
.action((extensionFile, { packagePath, baseContentUrl, baseImagesUrl, yarn }) => {
|
|
43
40
|
if (extensionFile !== undefined && packagePath !== undefined) {
|
|
44
41
|
console.error('\u274c Please specify either a package file or a package path, but not both.\n');
|
|
45
42
|
publishCmd.help();
|
|
@@ -50,30 +47,36 @@ module.exports = function (argv) {
|
|
|
50
47
|
console.warn("Ignoring option '--baseImagesUrl' for prepackaged extension.");
|
|
51
48
|
if (extensionFile !== undefined && yarn !== undefined)
|
|
52
49
|
console.warn("Ignoring option '--yarn' for prepackaged extension.");
|
|
53
|
-
|
|
54
|
-
|
|
50
|
+
const { registryUrl, pat } = program.opts();
|
|
51
|
+
publish_1.publish({ extensionFile, registryUrl, pat, packagePath: typeof packagePath === 'string' ? [packagePath] : packagePath, baseContentUrl, baseImagesUrl, yarn })
|
|
52
|
+
.catch(util_1.handleError(program.debug, 'See the documentation for more information:\n'
|
|
53
|
+
+ 'https://github.com/eclipse/openvsx/wiki/Publishing-Extensions'));
|
|
55
54
|
});
|
|
56
55
|
const getCmd = program.command('get <namespace.extension>');
|
|
57
56
|
getCmd.description('Download an extension or its metadata.')
|
|
58
|
-
.option('-v, --
|
|
59
|
-
.option('-r, --registryUrl <url>', 'Use the registry API at this base URL.')
|
|
57
|
+
.option('-v, --versionRange <version>', 'Specify an exact version or a version range.')
|
|
60
58
|
.option('-o, --output <path>', 'Save the output in the specified file or directory.')
|
|
61
59
|
.option('--metadata', 'Print the extension\'s metadata instead of downloading it.')
|
|
62
|
-
.action((extensionId, {
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
get_1.getExtension({ extensionId, version, registryUrl, output, metadata })
|
|
60
|
+
.action((extensionId, { versionRange, output, metadata }) => {
|
|
61
|
+
const { registryUrl } = program.opts();
|
|
62
|
+
get_1.getExtension({ extensionId, version: versionRange, registryUrl, output, metadata })
|
|
66
63
|
.catch(util_1.handleError(program.debug));
|
|
67
64
|
});
|
|
68
65
|
program
|
|
69
66
|
.command('*', '', { noHelp: true })
|
|
70
67
|
.action((cmd) => {
|
|
71
68
|
const availableCommands = program.commands.map((c) => c._name);
|
|
72
|
-
const
|
|
73
|
-
if (
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
69
|
+
const actualCommand = cmd.args[0];
|
|
70
|
+
if (actualCommand) {
|
|
71
|
+
const suggestion = availableCommands.find(c => leven(c, actualCommand) < c.length * 0.4);
|
|
72
|
+
if (suggestion)
|
|
73
|
+
console.error(`Unknown command '${actualCommand}', did you mean '${suggestion}'?\n`);
|
|
74
|
+
else
|
|
75
|
+
console.error(`Unknown command '${actualCommand}'.\n`);
|
|
76
|
+
}
|
|
77
|
+
else {
|
|
78
|
+
console.error('Unknown command.');
|
|
79
|
+
}
|
|
77
80
|
program.help();
|
|
78
81
|
});
|
|
79
82
|
program.parse(argv);
|
package/lib/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":";AAAA;;;;;;;;kFAQkF;;AAElF,uCAAuC;AACvC,+BAA+B;AAC/B,yDAAqD;AACrD,uCAAoC;AACpC,iCAAqC;AACrC,+BAAqC;AAErC,MAAM,GAAG,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAEvC,MAAM,CAAC,OAAO,GAAG,UAAU,IAAc;IACrC,MAAM,OAAO,GAAG,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;IACxC,OAAO,CAAC,KAAK,CAAC,qBAAqB,CAAC
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
|
package/lib/ovsx
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
const semver = require('semver');
|
|
4
|
+
|
|
5
|
+
if (semver.lt(process.versions.node, '14.0.0')) {
|
|
6
|
+
console.error('ovsx requires at least NodeJS version 14. Check your installed version with `node --version`.');
|
|
5
7
|
process.exit(1);
|
|
6
8
|
}
|
|
7
9
|
|
package/lib/publish.d.ts
CHANGED
|
@@ -7,28 +7,16 @@
|
|
|
7
7
|
*
|
|
8
8
|
* SPDX-License-Identifier: EPL-2.0
|
|
9
9
|
********************************************************************************/
|
|
10
|
+
import { RegistryOptions } from './registry';
|
|
10
11
|
/**
|
|
11
12
|
* Publishes an extension.
|
|
12
13
|
*/
|
|
13
14
|
export declare function publish(options?: PublishOptions): Promise<void>;
|
|
14
|
-
|
|
15
|
-
/**
|
|
16
|
-
* The base URL of the registry API.
|
|
17
|
-
*/
|
|
18
|
-
registryUrl?: string;
|
|
19
|
-
/**
|
|
20
|
-
* Personal access token.
|
|
21
|
-
*/
|
|
22
|
-
pat?: string;
|
|
15
|
+
interface PublishCommonOptions extends RegistryOptions {
|
|
23
16
|
/**
|
|
24
17
|
* Path to the vsix file to be published. Cannot be used together with `packagePath`.
|
|
25
18
|
*/
|
|
26
19
|
extensionFile?: string;
|
|
27
|
-
/**
|
|
28
|
-
* Path to the extension to be packaged and published. Cannot be used together
|
|
29
|
-
* with `extensionFile`.
|
|
30
|
-
*/
|
|
31
|
-
packagePath?: string;
|
|
32
20
|
/**
|
|
33
21
|
* The base URL for links detected in Markdown files. Only valid with `packagePath`.
|
|
34
22
|
*/
|
|
@@ -42,4 +30,12 @@ export interface PublishOptions {
|
|
|
42
30
|
*/
|
|
43
31
|
yarn?: boolean;
|
|
44
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 {};
|
|
45
41
|
//# sourceMappingURL=publish.d.ts.map
|
package/lib/publish.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"publish.d.ts","sourceRoot":"","sources":["../src/publish.ts"],"names":[],"mappings":"AAAA;;;;;;;;kFAQkF;
|
|
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
|
@@ -21,32 +21,38 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
21
21
|
const vsce_1 = require("vsce");
|
|
22
22
|
const util_1 = require("./util");
|
|
23
23
|
const registry_1 = require("./registry");
|
|
24
|
+
const check_license_1 = require("./check-license");
|
|
24
25
|
/**
|
|
25
26
|
* Publishes an extension.
|
|
26
27
|
*/
|
|
27
28
|
function publish(options = {}) {
|
|
28
29
|
return __awaiter(this, void 0, void 0, function* () {
|
|
29
|
-
|
|
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 }))));
|
|
31
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* () {
|
|
32
43
|
if (!options.pat) {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
44
|
+
throw new Error("A personal access token must be given with the option '--pat'.");
|
|
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;
|
|
37
50
|
}
|
|
51
|
+
const registry = new registry_1.Registry(options);
|
|
38
52
|
if (!options.extensionFile) {
|
|
39
|
-
|
|
40
|
-
yield vsce_1.createVSIX({
|
|
41
|
-
cwd: options.packagePath,
|
|
42
|
-
packagePath: options.extensionFile,
|
|
43
|
-
baseContentUrl: options.baseContentUrl,
|
|
44
|
-
baseImagesUrl: options.baseImagesUrl,
|
|
45
|
-
useYarn: options.yarn
|
|
46
|
-
});
|
|
53
|
+
yield packageExtension(options, registry);
|
|
47
54
|
console.log(); // new line
|
|
48
55
|
}
|
|
49
|
-
const registry = new registry_1.Registry({ url: options.registryUrl });
|
|
50
56
|
const extension = yield registry.publish(options.extensionFile, options.pat);
|
|
51
57
|
if (extension.error) {
|
|
52
58
|
throw new Error(extension.error);
|
|
@@ -54,5 +60,20 @@ function publish(options = {}) {
|
|
|
54
60
|
console.log(`\ud83d\ude80 Published ${extension.namespace}.${extension.name} v${extension.version}`);
|
|
55
61
|
});
|
|
56
62
|
}
|
|
57
|
-
|
|
63
|
+
function packageExtension(options, registry) {
|
|
64
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
65
|
+
if (registry.requiresLicense) {
|
|
66
|
+
yield check_license_1.checkLicense(options.packagePath);
|
|
67
|
+
}
|
|
68
|
+
options.extensionFile = yield util_1.createTempFile({ postfix: '.vsix' });
|
|
69
|
+
const createVSIXOptions = {
|
|
70
|
+
cwd: options.packagePath,
|
|
71
|
+
packagePath: options.extensionFile,
|
|
72
|
+
baseContentUrl: options.baseContentUrl,
|
|
73
|
+
baseImagesUrl: options.baseImagesUrl,
|
|
74
|
+
useYarn: options.yarn
|
|
75
|
+
};
|
|
76
|
+
yield vsce_1.createVSIX(createVSIXOptions);
|
|
77
|
+
});
|
|
78
|
+
}
|
|
58
79
|
//# sourceMappingURL=publish.js.map
|
package/lib/publish.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"publish.js","sourceRoot":"","sources":["../src/publish.ts"],"names":[],"mappings":";AAAA;;;;;;;;kFAQkF;;;;;;;;;;;AAElF,+
|
|
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"}
|