lucid-package 0.0.1 → 0.0.2
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/package.json +1 -1
- package/src/editorextension.d.ts +1 -0
- package/src/editorextension.js +7 -3
- package/src/index.js +12 -1
- package/src/package.d.ts +2 -0
- package/src/package.js +16 -2
package/package.json
CHANGED
package/src/editorextension.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
export declare function createEditorExtension(name: string, isInternalTesting: boolean): Promise<void>;
|
|
2
2
|
export declare function buildEditorExtension(name: string): Promise<void>;
|
|
3
|
+
export declare function updateExtensionSDK(name: string): Promise<void>;
|
|
3
4
|
export declare function debugEditorExtension(name: string): Promise<void>;
|
package/src/editorextension.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.debugEditorExtension = exports.buildEditorExtension = exports.createEditorExtension = void 0;
|
|
3
|
+
exports.debugEditorExtension = exports.updateExtensionSDK = exports.buildEditorExtension = exports.createEditorExtension = void 0;
|
|
4
4
|
const fs = require("fs/promises");
|
|
5
5
|
const filesystemutil_1 = require("./filesystemutil");
|
|
6
6
|
const package_1 = require("./package");
|
|
@@ -35,10 +35,14 @@ async function createEditorExtension(name, isInternalTesting) {
|
|
|
35
35
|
exports.createEditorExtension = createEditorExtension;
|
|
36
36
|
async function buildEditorExtension(name) {
|
|
37
37
|
process.chdir('editorextensions/' + name);
|
|
38
|
-
const cli = new WebPackCLI();
|
|
39
|
-
await cli.run(['node', 'webpack', '--mode', 'production']);
|
|
40
38
|
}
|
|
41
39
|
exports.buildEditorExtension = buildEditorExtension;
|
|
40
|
+
async function updateExtensionSDK(name) {
|
|
41
|
+
process.chdir('editorextensions/' + name);
|
|
42
|
+
console.log('Installing latest SDK in extension ' + name);
|
|
43
|
+
console.log(child_process.execSync('npm install lucid-extension-sdk@latest').toString());
|
|
44
|
+
}
|
|
45
|
+
exports.updateExtensionSDK = updateExtensionSDK;
|
|
42
46
|
async function debugEditorExtension(name) {
|
|
43
47
|
process.chdir('editorextensions/' + name);
|
|
44
48
|
const cli = new WebPackCLI();
|
package/src/index.js
CHANGED
|
@@ -13,7 +13,7 @@ class LucidSuiteExtensionCLI {
|
|
|
13
13
|
//When running with bazel, specifies a project name inside the chdir. Otherwise, directly specifies a directory to chdir to.
|
|
14
14
|
parser.add_argument('--project', '-p', {
|
|
15
15
|
type: 'str',
|
|
16
|
-
help:
|
|
16
|
+
help: argparse_1.SUPPRESS,
|
|
17
17
|
});
|
|
18
18
|
const subparsers = parser.add_subparsers({ dest: 'command' });
|
|
19
19
|
const createParser = subparsers.add_parser('create', {
|
|
@@ -23,6 +23,9 @@ class LucidSuiteExtensionCLI {
|
|
|
23
23
|
const packageParser = subparsers.add_parser('package', {
|
|
24
24
|
help: 'Prepare the current package for upload to the developer dashboard',
|
|
25
25
|
});
|
|
26
|
+
const updateSDKParser = subparsers.add_parser('update-sdk', {
|
|
27
|
+
help: 'Update the editor extension SDK to the latest published version for all editor extensions in this package',
|
|
28
|
+
});
|
|
26
29
|
const createExtensionParser = subparsers.add_parser('create-editor-extension', {
|
|
27
30
|
help: 'Create a new editor extension as part of the current package',
|
|
28
31
|
});
|
|
@@ -61,6 +64,14 @@ class LucidSuiteExtensionCLI {
|
|
|
61
64
|
console.error('Not currently in a Lucid extensibility package folder');
|
|
62
65
|
}
|
|
63
66
|
break;
|
|
67
|
+
case 'update-sdk':
|
|
68
|
+
if ((0, package_1.currentlyInPackage)()) {
|
|
69
|
+
(0, package_1.updateAllExtensionSDK)();
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
console.error('Not currently in a Lucid extensibility package folder');
|
|
73
|
+
}
|
|
74
|
+
break;
|
|
64
75
|
case 'create-editor-extension':
|
|
65
76
|
if ((0, package_1.currentlyInPackage)()) {
|
|
66
77
|
(0, editorextension_1.createEditorExtension)(parsed['name'], isInternalTesting);
|
package/src/package.d.ts
CHANGED
|
@@ -9,6 +9,8 @@ declare type PackageManifest = {
|
|
|
9
9
|
scopes: string[];
|
|
10
10
|
}[];
|
|
11
11
|
};
|
|
12
|
+
export declare function readManifest(): Promise<PackageManifest>;
|
|
12
13
|
export declare function modifyManifest(callback: (manifest: PackageManifest) => void | Promise<void>): Promise<void>;
|
|
14
|
+
export declare function updateAllExtensionSDK(): Promise<void>;
|
|
13
15
|
export declare function writePackage(): Promise<void>;
|
|
14
16
|
export {};
|
package/src/package.js
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.writePackage = exports.modifyManifest = exports.currentlyInPackage = exports.createEmptyPackage = void 0;
|
|
3
|
+
exports.writePackage = exports.updateAllExtensionSDK = exports.modifyManifest = exports.readManifest = exports.currentlyInPackage = exports.createEmptyPackage = void 0;
|
|
4
4
|
const fs = require("fs/promises");
|
|
5
5
|
const fsOld = require("fs");
|
|
6
6
|
const filesystemutil_1 = require("./filesystemutil");
|
|
7
|
+
const editorextension_1 = require("./editorextension");
|
|
7
8
|
const child_process = require("child_process");
|
|
8
9
|
const JSZip = require("jszip");
|
|
9
10
|
async function createEmptyPackage(root) {
|
|
@@ -16,12 +17,25 @@ function currentlyInPackage() {
|
|
|
16
17
|
}
|
|
17
18
|
exports.currentlyInPackage = currentlyInPackage;
|
|
18
19
|
const allScopes = new Set(['DOWNLOAD', 'NETWORK', 'READ', 'SHOW_MODAL', 'WRITE']);
|
|
20
|
+
async function readManifest() {
|
|
21
|
+
return JSON.parse((await fs.readFile('manifest.json')).toString());
|
|
22
|
+
}
|
|
23
|
+
exports.readManifest = readManifest;
|
|
19
24
|
async function modifyManifest(callback) {
|
|
20
|
-
const manifest =
|
|
25
|
+
const manifest = await readManifest();
|
|
21
26
|
await callback(manifest);
|
|
22
27
|
await fs.writeFile('manifest.json', JSON.stringify(manifest, undefined, 2));
|
|
23
28
|
}
|
|
24
29
|
exports.modifyManifest = modifyManifest;
|
|
30
|
+
async function updateAllExtensionSDK() {
|
|
31
|
+
for (const extension of (await readManifest()).extensions) {
|
|
32
|
+
const parts = extension.codePath.split('/');
|
|
33
|
+
if (parts[0] === 'editorextensions') {
|
|
34
|
+
await (0, editorextension_1.updateExtensionSDK)(parts[1]);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
exports.updateAllExtensionSDK = updateAllExtensionSDK;
|
|
25
39
|
async function writePackage() {
|
|
26
40
|
const zip = new JSZip();
|
|
27
41
|
//Increment the patch number automatically on each build
|