xs-dev 0.25.13 → 0.27.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/README.md +16 -1
- package/build/commands/setup.js +9 -4
- package/build/commands/teardown.js +8 -1
- package/build/extensions/setup-extension.js +3 -1
- package/build/extensions/update-extension.js +3 -1
- package/build/toolbox/build/index.js +37 -11
- package/build/toolbox/prompt/devices.js +2 -1
- package/build/toolbox/setup/ejectfix.js +62 -0
- package/build/toolbox/setup/nrf52/windows.js +27 -0
- package/build/toolbox/setup/nrf52.js +125 -0
- package/build/toolbox/setup/windows.js +39 -14
- package/build/toolbox/update/nrf52.js +8 -0
- package/build/types/toolbox/setup/ejectfix.d.ts +1 -0
- package/build/types/toolbox/setup/nrf52/windows.d.ts +2 -0
- package/build/types/toolbox/setup/nrf52.d.ts +1 -0
- package/build/types/toolbox/setup/windows.d.ts +1 -1
- package/build/types/toolbox/update/nrf52.d.ts +1 -0
- package/build/types/types.d.ts +1 -1
- package/docs/src/content/docs/features/setup.md +12 -0
- package/docs/src/content/docs/guide/00-prepare.md +1 -1
- package/package.json +7 -3
package/README.md
CHANGED
|
@@ -14,9 +14,24 @@ The Moddable SDK and associated dev board tooling is incredibly empowering for e
|
|
|
14
14
|
|
|
15
15
|
_If you've never installed Node.js before, check out the [getting started guide for xs-dev](https://hipsterbrown.github.io/xs-dev/guide/00-prepare#nodejs-package-manager-optional)._
|
|
16
16
|
|
|
17
|
+
[XZ utils](https://tukaani.org/xz/) are required to install the CLI due to a dependency for decompressing the ARM toolchain used for nrf52 development.
|
|
18
|
+
|
|
19
|
+
It can be installed with Homebrew on MacOS:
|
|
20
|
+
|
|
21
|
+
```
|
|
22
|
+
brew install xz
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
Or as `xz-utils` on Linux distributions like [Ubunutu](https://packages.ubuntu.com/search?keywords=xz-utils):
|
|
26
|
+
|
|
27
|
+
```
|
|
28
|
+
apt-get install xz-utils
|
|
29
|
+
```
|
|
30
|
+
|
|
17
31
|
**On Linux:**
|
|
18
32
|
|
|
19
|
-
Setup commands rely on [`ssh-askpass`](https://packages.ubuntu.com/
|
|
33
|
+
Setup commands rely on [`ssh-askpass`](https://packages.ubuntu.com/focal/ssh-askpass) to prompt for permission when installing other tools and dependencies.
|
|
34
|
+
|
|
20
35
|
|
|
21
36
|
## Install
|
|
22
37
|
|
package/build/commands/setup.js
CHANGED
|
@@ -5,6 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const os_1 = require("os");
|
|
7
7
|
const fontbm_1 = __importDefault(require("../toolbox/setup/fontbm"));
|
|
8
|
+
const ejectfix_1 = __importDefault(require("../toolbox/setup/ejectfix"));
|
|
8
9
|
const devices_1 = require("../toolbox/prompt/devices");
|
|
9
10
|
const constants_1 = require("../toolbox/setup/constants");
|
|
10
11
|
const command = {
|
|
@@ -20,6 +21,7 @@ const command = {
|
|
|
20
21
|
'esp32',
|
|
21
22
|
'pico',
|
|
22
23
|
'wasm',
|
|
24
|
+
'nrf52',
|
|
23
25
|
devices_1.DEVICE_ALIAS[currentPlatform],
|
|
24
26
|
];
|
|
25
27
|
const { device: selectedDevice } = await prompt.ask([
|
|
@@ -39,11 +41,14 @@ const command = {
|
|
|
39
41
|
}
|
|
40
42
|
}
|
|
41
43
|
if (tool !== undefined) {
|
|
42
|
-
if (
|
|
44
|
+
if (!['fontbm', 'ejectfix'].includes(tool)) {
|
|
43
45
|
print.warning(`Unknown tool ${tool}`);
|
|
44
|
-
process.exit(
|
|
46
|
+
process.exit(1);
|
|
45
47
|
}
|
|
46
|
-
|
|
48
|
+
if (tool === 'fontbm')
|
|
49
|
+
await (0, fontbm_1.default)();
|
|
50
|
+
if (tool === 'ejectfix')
|
|
51
|
+
await (0, ejectfix_1.default)();
|
|
47
52
|
return;
|
|
48
53
|
}
|
|
49
54
|
const platformDevices = [
|
|
@@ -63,4 +68,4 @@ const command = {
|
|
|
63
68
|
},
|
|
64
69
|
};
|
|
65
70
|
exports.default = command;
|
|
66
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tbWFuZHMvc2V0dXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFDQSwyQkFBeUM7QUFFekMscUVBQWlEO0FBQ2pELHlFQUFxRDtBQUNyRCx1REFBd0Q7QUFDeEQsMERBQTBEO0FBVzFELE1BQU0sT0FBTyxHQUFpQztJQUM1QyxJQUFJLEVBQUUsT0FBTztJQUNiLFdBQVcsRUFDVCxrRUFBa0U7SUFDcEUsR0FBRyxFQUFFLEtBQUssRUFBRSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUU7UUFDbEQsTUFBTSxlQUFlLEdBQVcsSUFBQSxTQUFZLEdBQUUsQ0FBQyxXQUFXLEVBQVksQ0FBQTtRQUN0RSxNQUFNLEVBQ0osTUFBTSxFQUNOLFdBQVcsR0FBRyxLQUFLLEVBQ25CLElBQUksRUFDSixZQUFZLEdBQUcsZ0JBQWdCLEVBQy9CLFVBQVUsR0FBRyx5QkFBYSxHQUMzQixHQUFpQixVQUFVLENBQUMsT0FBTyxDQUFBO1FBQ3BDLElBQUksTUFBTSxHQUFXLE1BQU0sYUFBTixNQUFNLGNBQU4sTUFBTSxHQUFJLGVBQWUsQ0FBQTtRQUU5QyxJQUFJLE1BQU0sS0FBSyxTQUFTLElBQUksV0FBVyxFQUFFO1lBQ3ZDLE1BQU0sT0FBTyxHQUFHO2dCQUNkLFNBQVM7Z0JBQ1QsT0FBTztnQkFDUCxNQUFNO2dCQUNOLE1BQU07Z0JBQ04sT0FBTztnQkFDUCxzQkFBWSxDQUFDLGVBQWUsQ0FBQzthQUM5QixDQUFBO1lBQ0QsTUFBTSxFQUFFLE1BQU0sRUFBRSxjQUFjLEVBQUUsR0FBRyxNQUFNLE1BQU0sQ0FBQyxHQUFHLENBQUM7Z0JBQ2xEO29CQUNFLElBQUksRUFBRSxjQUFjO29CQUNwQixJQUFJLEVBQUUsUUFBUTtvQkFDZCxPQUFPLEVBQUUsd0NBQXdDO29CQUNqRCxPQUFPO2lCQUNSO2FBQ0YsQ0FBQyxDQUFBO1lBRUYsSUFBSSxjQUFjLEtBQUssRUFBRSxJQUFJLGNBQWMsS0FBSyxTQUFTLEVBQUU7Z0JBQ3pELE1BQU0sR0FBRyxjQUF3QixDQUFBO2FBQ2xDO2lCQUFNO2dCQUNMLEtBQUssQ0FBQyxPQUFPLENBQUMsc0NBQXNDLENBQUMsQ0FBQTtnQkFDckQsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQTthQUNoQjtTQUNGO1FBRUQsSUFBSSxJQUFJLEtBQUssU0FBUyxFQUFFO1lBQ3RCLElBQUksQ0FBQyxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUU7Z0JBQzFDLEtBQUssQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLElBQUksRUFBRSxDQUFDLENBQUE7Z0JBQ3JDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUE7YUFDaEI7WUFDRCxJQUFJLElBQUksS0FBSyxRQUFRO2dCQUFFLE1BQU0sSUFBQSxnQkFBVyxHQUFFLENBQUE7WUFDMUMsSUFBSSxJQUFJLEtBQUssVUFBVTtnQkFBRSxNQUFNLElBQUEsa0JBQWEsR0FBRSxDQUFBO1lBQzlDLE9BQU07U0FDUDtRQUNELE1BQU0sZUFBZSxHQUFhO1lBQ2hDLEtBQUs7WUFDTCxRQUFRO1lBQ1IsWUFBWTtZQUNaLEtBQUs7WUFDTCxLQUFLO1lBQ0wsT0FBTztTQUNSLENBQUE7UUFDRCxJQUFJLGVBQWUsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDcEMsTUFBTSxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQTtTQUNsRDthQUFNO1lBQ0wsTUFBTSxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFBO1NBQ3RDO0lBQ0gsQ0FBQztDQUNGLENBQUE7QUFFRCxrQkFBZSxPQUFPLENBQUEifQ==
|
|
@@ -6,6 +6,7 @@ const command = {
|
|
|
6
6
|
name: 'teardown',
|
|
7
7
|
description: 'Remove all installed git repos and toolchains, unset environment changes',
|
|
8
8
|
run: async ({ print, filesystem, patching }) => {
|
|
9
|
+
var _a;
|
|
9
10
|
const PROFILE_PATH = (0, constants_1.getProfilePath)();
|
|
10
11
|
const spinner = print.spin();
|
|
11
12
|
spinner.start('Tearing down Moddable tools and platform dependencies');
|
|
@@ -16,7 +17,13 @@ const command = {
|
|
|
16
17
|
filesystem.remove(filesystem.resolve(constants_1.INSTALL_DIR, 'esp'));
|
|
17
18
|
filesystem.remove(filesystem.resolve(constants_1.INSTALL_DIR, 'pico'));
|
|
18
19
|
filesystem.remove(filesystem.resolve(constants_1.INSTALL_DIR, 'fontbm'));
|
|
20
|
+
filesystem.remove(filesystem.resolve(constants_1.INSTALL_DIR, 'nrf52'));
|
|
19
21
|
if ((0, os_1.type)() === 'Darwin') {
|
|
22
|
+
const NC_PREFS_BACKUP = filesystem.resolve(constants_1.INSTALL_DIR, 'ejectfix', 'com.apple.ncprefs.plist');
|
|
23
|
+
if (filesystem.exists(NC_PREFS_BACKUP) === 'file') {
|
|
24
|
+
filesystem.copy(NC_PREFS_BACKUP, filesystem.resolve((_a = process.env.HOME) !== null && _a !== void 0 ? _a : '~', 'Library', 'Preferences', 'com.apple.ncprefs.plist'), { overwrite: true });
|
|
25
|
+
}
|
|
26
|
+
filesystem.remove(filesystem.resolve(constants_1.INSTALL_DIR, 'ejectfix'));
|
|
20
27
|
filesystem.remove('/Applications/xsbug.app');
|
|
21
28
|
}
|
|
22
29
|
await patching.patch(PROFILE_PATH, {
|
|
@@ -26,4 +33,4 @@ const command = {
|
|
|
26
33
|
},
|
|
27
34
|
};
|
|
28
35
|
exports.default = command;
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVhcmRvd24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tbWFuZHMvdGVhcmRvd24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSwyQkFBeUM7QUFFekMsMERBSW1DO0FBRW5DLE1BQU0sT0FBTyxHQUFtQjtJQUM5QixJQUFJLEVBQUUsVUFBVTtJQUNoQixXQUFXLEVBQ1QsMEVBQTBFO0lBQzVFLEdBQUcsRUFBRSxLQUFLLEVBQUUsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUU7O1FBQzdDLE1BQU0sWUFBWSxHQUFHLElBQUEsMEJBQWMsR0FBRSxDQUFBO1FBQ3JDLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQTtRQUM1QixPQUFPLENBQUMsS0FBSyxDQUFDLHVEQUF1RCxDQUFDLENBQUE7UUFFdEUsVUFBVSxDQUFDLE1BQU0sQ0FBQyw2QkFBaUIsQ0FBQyxDQUFBO1FBQ3BDLFVBQVUsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyx1QkFBVyxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUE7UUFDOUQsVUFBVSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLHVCQUFXLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQTtRQUMxRCxVQUFVLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsdUJBQVcsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFBO1FBQzNELFVBQVUsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyx1QkFBVyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUE7UUFDekQsVUFBVSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLHVCQUFXLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQTtRQUMxRCxVQUFVLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsdUJBQVcsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFBO1FBQzVELFVBQVUsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyx1QkFBVyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUE7UUFFM0QsSUFBSSxJQUFBLFNBQVksR0FBRSxLQUFLLFFBQVEsRUFBRTtZQUMvQixNQUFNLGVBQWUsR0FBRyxVQUFVLENBQUMsT0FBTyxDQUN4Qyx1QkFBVyxFQUNYLFVBQVUsRUFDVix5QkFBeUIsQ0FDMUIsQ0FBQTtZQUNELElBQUksVUFBVSxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsS0FBSyxNQUFNLEVBQUU7Z0JBQ2pELFVBQVUsQ0FBQyxJQUFJLENBQ2IsZUFBZSxFQUNmLFVBQVUsQ0FBQyxPQUFPLENBQ2hCLE1BQUEsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLG1DQUFJLEdBQUcsRUFDdkIsU0FBUyxFQUNULGFBQWEsRUFDYix5QkFBeUIsQ0FDMUIsRUFDRCxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsQ0FDcEIsQ0FBQTthQUNGO1lBQ0QsVUFBVSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLHVCQUFXLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQTtZQUM5RCxVQUFVLENBQUMsTUFBTSxDQUFDLHlCQUF5QixDQUFDLENBQUE7U0FDN0M7UUFFRCxNQUFNLFFBQVEsQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUFFO1lBQ2pDLE1BQU0sRUFBRSxVQUFVLDZCQUFpQixFQUFFO1NBQ3RDLENBQUMsQ0FBQTtRQUVGLE9BQU8sQ0FBQyxPQUFPLENBQUMsb0JBQW9CLENBQUMsQ0FBQTtJQUN2QyxDQUFDO0NBQ0YsQ0FBQTtBQUVELGtCQUFlLE9BQU8sQ0FBQSJ9
|
|
@@ -10,6 +10,7 @@ const esp8266_1 = __importDefault(require("../toolbox/setup/esp8266"));
|
|
|
10
10
|
const esp32_1 = __importDefault(require("../toolbox/setup/esp32"));
|
|
11
11
|
const wasm_1 = __importDefault(require("../toolbox/setup/wasm"));
|
|
12
12
|
const pico_1 = __importDefault(require("../toolbox/setup/pico"));
|
|
13
|
+
const nrf52_1 = __importDefault(require("../toolbox/setup/nrf52"));
|
|
13
14
|
exports.default = async (toolbox) => {
|
|
14
15
|
toolbox.setup = {
|
|
15
16
|
darwin: mac_1.default,
|
|
@@ -23,6 +24,7 @@ exports.default = async (toolbox) => {
|
|
|
23
24
|
esp32: esp32_1.default,
|
|
24
25
|
wasm: wasm_1.default,
|
|
25
26
|
pico: pico_1.default,
|
|
27
|
+
nrf52: nrf52_1.default,
|
|
26
28
|
};
|
|
27
29
|
};
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dXAtZXh0ZW5zaW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2V4dGVuc2lvbnMvc2V0dXAtZXh0ZW5zaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQ0EsK0RBQTJDO0FBQzNDLG1FQUErQztBQUMvQyx1RUFBbUQ7QUFDbkQsdUVBQW1EO0FBQ25ELG1FQUErQztBQUMvQyxpRUFBNkM7QUFDN0MsaUVBQTZDO0FBQzdDLG1FQUErQztBQUUvQyxrQkFBZSxLQUFLLEVBQUUsT0FBcUIsRUFBaUIsRUFBRTtJQUM1RCxPQUFPLENBQUMsS0FBSyxHQUFHO1FBQ2QsTUFBTSxFQUFFLGFBQVE7UUFDaEIsR0FBRyxFQUFFLGFBQVE7UUFDYixLQUFLLEVBQUUsZUFBVTtRQUNqQixHQUFHLEVBQUUsZUFBVTtRQUNmLFVBQVUsRUFBRSxpQkFBWTtRQUN4QixHQUFHLEVBQUUsaUJBQVk7UUFDakIsR0FBRyxFQUFFLGlCQUFZO1FBQ2pCLE9BQU8sRUFBRSxpQkFBWTtRQUNyQixLQUFLLEVBQUUsZUFBVTtRQUNqQixJQUFJLEVBQUUsY0FBUztRQUNmLElBQUksRUFBRSxjQUFTO1FBQ2YsS0FBSyxFQUFFLGVBQVU7S0FDbEIsQ0FBQTtBQUNILENBQUMsQ0FBQSJ9
|
|
@@ -10,6 +10,7 @@ const esp8266_1 = __importDefault(require("../toolbox/update/esp8266"));
|
|
|
10
10
|
const esp32_1 = __importDefault(require("../toolbox/update/esp32"));
|
|
11
11
|
const wasm_1 = __importDefault(require("../toolbox/update/wasm"));
|
|
12
12
|
const pico_1 = __importDefault(require("../toolbox/update/pico"));
|
|
13
|
+
const nrf52_1 = __importDefault(require("../toolbox/update/nrf52"));
|
|
13
14
|
exports.default = async (toolbox) => {
|
|
14
15
|
toolbox.update = {
|
|
15
16
|
darwin: mac_1.default,
|
|
@@ -23,6 +24,7 @@ exports.default = async (toolbox) => {
|
|
|
23
24
|
esp32: esp32_1.default,
|
|
24
25
|
wasm: wasm_1.default,
|
|
25
26
|
pico: pico_1.default,
|
|
27
|
+
nrf52: nrf52_1.default,
|
|
26
28
|
};
|
|
27
29
|
};
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLWV4dGVuc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9leHRlbnNpb25zL3VwZGF0ZS1leHRlbnNpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFDQSxnRUFBNkM7QUFDN0Msb0VBQWlEO0FBQ2pELHdFQUFxRDtBQUNyRCx3RUFBcUQ7QUFDckQsb0VBQWlEO0FBQ2pELGtFQUErQztBQUMvQyxrRUFBK0M7QUFDL0Msb0VBQWlEO0FBRWpELGtCQUFlLEtBQUssRUFBRSxPQUFxQixFQUFpQixFQUFFO0lBQzVELE9BQU8sQ0FBQyxNQUFNLEdBQUc7UUFDZixNQUFNLEVBQUUsYUFBUztRQUNqQixHQUFHLEVBQUUsYUFBUztRQUNkLEtBQUssRUFBRSxlQUFXO1FBQ2xCLEdBQUcsRUFBRSxlQUFXO1FBQ2hCLFVBQVUsRUFBRSxpQkFBYTtRQUN6QixHQUFHLEVBQUUsaUJBQWE7UUFDbEIsR0FBRyxFQUFFLGlCQUFhO1FBQ2xCLE9BQU8sRUFBRSxpQkFBYTtRQUN0QixLQUFLLEVBQUUsZUFBVztRQUNsQixJQUFJLEVBQUUsY0FBVTtRQUNoQixJQUFJLEVBQUUsY0FBVTtRQUNoQixLQUFLLEVBQUUsZUFBVztLQUNuQixDQUFBO0FBQ0gsQ0FBQyxDQUFBIn0=
|
|
@@ -14,7 +14,7 @@ const moddable_1 = require("../setup/moddable");
|
|
|
14
14
|
const devices_1 = require("../prompt/devices");
|
|
15
15
|
const exec_1 = require("../system/exec");
|
|
16
16
|
async function build({ listDevices, port, example, listExamples, log = false, projectPath, targetPlatform, mode, deployStatus, outputDir, config = {}, }) {
|
|
17
|
-
var _a, _b, _c, _d, _e, _f;
|
|
17
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
18
18
|
const OS = (0, node_os_1.type)().toLowerCase();
|
|
19
19
|
await (0, exec_1.sourceEnvironment)();
|
|
20
20
|
if (!(0, moddable_1.moddableExists)()) {
|
|
@@ -68,9 +68,16 @@ async function build({ listDevices, port, example, listExamples, log = false, pr
|
|
|
68
68
|
'pico/tiny2040',
|
|
69
69
|
'pico/xiao_rp2040',
|
|
70
70
|
'pico/pro_micro',
|
|
71
|
+
'nrf52/moddable_four',
|
|
72
|
+
'nrf52/dk',
|
|
73
|
+
'nrf52/sparkfun',
|
|
74
|
+
'nrf52/makerdiary',
|
|
75
|
+
'nrf52/xiao',
|
|
76
|
+
'nrf52/itsybitsy',
|
|
71
77
|
'simulator/moddable_one',
|
|
72
78
|
'simulator/moddable_two',
|
|
73
79
|
'simulator/moddable_three',
|
|
80
|
+
'simulator/moddable_four',
|
|
74
81
|
'simulator/m5stickc',
|
|
75
82
|
'simulator/m5paper',
|
|
76
83
|
'simulator/nodemcu',
|
|
@@ -129,10 +136,14 @@ async function build({ listDevices, port, example, listExamples, log = false, pr
|
|
|
129
136
|
}
|
|
130
137
|
if (listExamples) {
|
|
131
138
|
const exampleProjectPath = gluegun_1.filesystem.resolve(String(process.env.MODDABLE), 'examples');
|
|
139
|
+
const contributedProjectPath = gluegun_1.filesystem.resolve(String(process.env.MODDABLE), 'contributed');
|
|
132
140
|
const examples = (_f = gluegun_1.filesystem.inspectTree(exampleProjectPath)) === null || _f === void 0 ? void 0 : _f.children;
|
|
141
|
+
const contributed = (_g = gluegun_1.filesystem.inspectTree(contributedProjectPath)) === null || _g === void 0 ? void 0 : _g.children;
|
|
133
142
|
const choices = examples !== undefined
|
|
134
143
|
? examples.map((example) => (0, choices_1.collectChoicesFromTree)(example)).flat()
|
|
135
144
|
: [];
|
|
145
|
+
if (contributed !== undefined)
|
|
146
|
+
choices.push(...contributed.map((project) => (0, choices_1.collectChoicesFromTree)(project)).flat());
|
|
136
147
|
const { example: selectedExample } = await gluegun_1.prompt.ask([
|
|
137
148
|
{
|
|
138
149
|
type: 'autocomplete',
|
|
@@ -152,23 +163,29 @@ async function build({ listDevices, port, example, listExamples, log = false, pr
|
|
|
152
163
|
}
|
|
153
164
|
if (example !== undefined) {
|
|
154
165
|
const exampleProjectPath = gluegun_1.filesystem.resolve(String(process.env.MODDABLE), 'examples', example);
|
|
155
|
-
|
|
166
|
+
const contributedProjectPath = gluegun_1.filesystem.resolve(String(process.env.MODDABLE), 'contributed', example);
|
|
167
|
+
if (gluegun_1.filesystem.exists(exampleProjectPath) === false &&
|
|
168
|
+
gluegun_1.filesystem.exists(contributedProjectPath) === false) {
|
|
156
169
|
gluegun_1.print.error('Example project does not exist.');
|
|
157
170
|
gluegun_1.print.info(`Lookup the available examples: xs-dev run --list-examples`);
|
|
158
171
|
process.exit(1);
|
|
159
172
|
}
|
|
160
|
-
if (gluegun_1.filesystem.exists(gluegun_1.filesystem.resolve(exampleProjectPath, 'manifest.json')) === false
|
|
173
|
+
if (gluegun_1.filesystem.exists(gluegun_1.filesystem.resolve(exampleProjectPath, 'manifest.json')) === false &&
|
|
174
|
+
gluegun_1.filesystem.exists(gluegun_1.filesystem.resolve(contributedProjectPath, 'manifest.json')) === false) {
|
|
161
175
|
gluegun_1.print.error('Example project must contain a manifest.json.');
|
|
162
176
|
gluegun_1.print.info(`Lookup the available examples: xs-dev run --list-examples`);
|
|
163
177
|
process.exit(1);
|
|
164
178
|
}
|
|
165
|
-
projectPath =
|
|
179
|
+
projectPath =
|
|
180
|
+
gluegun_1.filesystem.exists(exampleProjectPath) === 'dir'
|
|
181
|
+
? exampleProjectPath
|
|
182
|
+
: contributedProjectPath;
|
|
166
183
|
}
|
|
167
184
|
if (port !== undefined) {
|
|
168
185
|
process.env.UPLOAD_PORT = port;
|
|
169
186
|
}
|
|
170
187
|
const spinner = gluegun_1.print.spin();
|
|
171
|
-
spinner.start(`Building${deployStatus !== 'none' ? ' and deploying project' : ''} ${projectPath} on ${targetPlatform}`);
|
|
188
|
+
spinner.start(`Building${deployStatus !== 'none' ? ' and deploying project' : ''} ${projectPath} on ${targetPlatform}\n`);
|
|
172
189
|
const configArgs = [
|
|
173
190
|
'-m',
|
|
174
191
|
`-p ${targetPlatform}`,
|
|
@@ -197,12 +214,21 @@ async function build({ listDevices, port, example, listExamples, log = false, pr
|
|
|
197
214
|
});
|
|
198
215
|
}
|
|
199
216
|
else {
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
stdout: process.stdout,
|
|
203
|
-
stdin: process.stdin,
|
|
204
|
-
shell: true,
|
|
217
|
+
process.on('SIGINT', () => {
|
|
218
|
+
void gluegun_1.system.exec(`pkill serial2xsbug`);
|
|
205
219
|
});
|
|
220
|
+
try {
|
|
221
|
+
await gluegun_1.system.exec(`mcconfig ${configArgs.join(' ')}`, {
|
|
222
|
+
cwd: projectPath,
|
|
223
|
+
stdio: 'inherit',
|
|
224
|
+
shell: true,
|
|
225
|
+
});
|
|
226
|
+
}
|
|
227
|
+
catch (error) {
|
|
228
|
+
if (error instanceof Error && !error.message.includes('exit code 2')) {
|
|
229
|
+
gluegun_1.print.error(error);
|
|
230
|
+
}
|
|
231
|
+
}
|
|
206
232
|
if (deployStatus === 'push') {
|
|
207
233
|
await gluegun_1.system.exec(`mcconfig -t deploy -p ${targetPlatform} -o ${outputDir}`, {
|
|
208
234
|
cwd: projectPath,
|
|
@@ -225,4 +251,4 @@ async function build({ listDevices, port, example, listExamples, log = false, pr
|
|
|
225
251
|
}
|
|
226
252
|
}
|
|
227
253
|
exports.build = build;
|
|
228
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdG9vbGJveC9idWlsZC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSwyREFBMEM7QUFDMUMscUNBQThDO0FBQzlDLGtFQUFtQztBQUNuQywrQkFBbUM7QUFDbkMscUNBQTJEO0FBQzNELCtDQUEwRDtBQUMxRCxnREFBa0Q7QUFDbEQsK0NBQWdEO0FBRWhELHlDQUFrRDtBQWtCM0MsS0FBSyxVQUFVLEtBQUssQ0FBQyxFQUMxQixXQUFXLEVBQ1gsSUFBSSxFQUNKLE9BQU8sRUFDUCxZQUFZLEVBQ1osR0FBRyxHQUFHLEtBQUssRUFDWCxXQUFXLEVBQ1gsY0FBYyxFQUNkLElBQUksRUFDSixZQUFZLEVBQ1osU0FBUyxFQUNULE1BQU0sR0FBRyxFQUFFLEdBQ0Q7O0lBQ1YsTUFBTSxFQUFFLEdBQUcsSUFBQSxjQUFZLEdBQUUsQ0FBQyxXQUFXLEVBQVksQ0FBQTtJQUVqRCxNQUFNLElBQUEsd0JBQWlCLEdBQUUsQ0FBQTtJQUV6QixJQUFJLENBQUMsSUFBQSx5QkFBYyxHQUFFLEVBQUU7UUFDckIsZUFBSyxDQUFDLEtBQUssQ0FDVCx5REFBeUQsc0JBQVksQ0FBQyxFQUFFLENBQUMsd0JBQXdCLENBQ2xHLENBQUE7UUFDRCxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFBO0tBQ2hCO0lBRUQsU0FBUyxhQUFULFNBQVMsY0FBVCxTQUFTLElBQVQsU0FBUyxHQUFLLG9CQUFVLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxFQUFBO0lBRXZFLElBQUksV0FBVyxFQUFFO1FBQ2YsTUFBTSxPQUFPLEdBQUc7WUFDZCxLQUFLO1lBQ0wsbUJBQW1CO1lBQ25CLGtCQUFrQjtZQUNsQixvQkFBb0I7WUFDcEIsYUFBYTtZQUNiLE9BQU87WUFDUCxvQkFBb0I7WUFD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
|
|
254
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdG9vbGJveC9idWlsZC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSwyREFBMEM7QUFDMUMscUNBQThDO0FBQzlDLGtFQUFtQztBQUNuQywrQkFBbUM7QUFDbkMscUNBQTJEO0FBQzNELCtDQUEwRDtBQUMxRCxnREFBa0Q7QUFDbEQsK0NBQWdEO0FBRWhELHlDQUFrRDtBQWtCM0MsS0FBSyxVQUFVLEtBQUssQ0FBQyxFQUMxQixXQUFXLEVBQ1gsSUFBSSxFQUNKLE9BQU8sRUFDUCxZQUFZLEVBQ1osR0FBRyxHQUFHLEtBQUssRUFDWCxXQUFXLEVBQ1gsY0FBYyxFQUNkLElBQUksRUFDSixZQUFZLEVBQ1osU0FBUyxFQUNULE1BQU0sR0FBRyxFQUFFLEdBQ0Q7O0lBQ1YsTUFBTSxFQUFFLEdBQUcsSUFBQSxjQUFZLEdBQUUsQ0FBQyxXQUFXLEVBQVksQ0FBQTtJQUVqRCxNQUFNLElBQUEsd0JBQWlCLEdBQUUsQ0FBQTtJQUV6QixJQUFJLENBQUMsSUFBQSx5QkFBYyxHQUFFLEVBQUU7UUFDckIsZUFBSyxDQUFDLEtBQUssQ0FDVCx5REFBeUQsc0JBQVksQ0FBQyxFQUFFLENBQUMsd0JBQXdCLENBQ2xHLENBQUE7UUFDRCxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFBO0tBQ2hCO0lBRUQsU0FBUyxhQUFULFNBQVMsY0FBVCxTQUFTLElBQVQsU0FBUyxHQUFLLG9CQUFVLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxFQUFBO0lBRXZFLElBQUksV0FBVyxFQUFFO1FBQ2YsTUFBTSxPQUFPLEdBQUc7WUFDZCxLQUFLO1lBQ0wsbUJBQW1CO1lBQ25CLGtCQUFrQjtZQUNsQixvQkFBb0I7WUFDcEIsYUFBYTtZQUNiLE9BQU87WUFDUCxvQkFBb0I7WUFD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
|
|
@@ -13,5 +13,6 @@ exports.DEVICE_ALIAS = Object.freeze({
|
|
|
13
13
|
esp32: 'esp32',
|
|
14
14
|
wasm: 'wasm',
|
|
15
15
|
pico: 'pico',
|
|
16
|
+
nrf52: 'nrf52',
|
|
16
17
|
});
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV2aWNlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90b29sYm94L3Byb21wdC9kZXZpY2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVhLFFBQUEsWUFBWSxHQUF1QyxNQUFNLENBQUMsTUFBTSxDQUFDO0lBQzVFLE9BQU8sRUFBRSxLQUFLO0lBQ2QsTUFBTSxFQUFFLEtBQUs7SUFDYixHQUFHLEVBQUUsS0FBSztJQUNWLFVBQVUsRUFBRSxLQUFLO0lBQ2pCLEdBQUcsRUFBRSxLQUFLO0lBQ1YsS0FBSyxFQUFFLEtBQUs7SUFDWixHQUFHLEVBQUUsS0FBSztJQUNWLEdBQUcsRUFBRSxLQUFLO0lBQ1YsS0FBSyxFQUFFLE9BQU87SUFDZCxJQUFJLEVBQUUsTUFBTTtJQUNaLElBQUksRUFBRSxNQUFNO0lBQ1osS0FBSyxFQUFFLE9BQU87Q0FDZixDQUFDLENBQUEifQ==
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const gluegun_1 = require("gluegun");
|
|
7
|
+
const constants_1 = require("./constants");
|
|
8
|
+
const os_1 = require("os");
|
|
9
|
+
const simple_plist_1 = __importDefault(require("simple-plist"));
|
|
10
|
+
const NC_PREFS_PLIST = 'com.apple.ncprefs.plist';
|
|
11
|
+
const DISK_AGENT_NC_PREF_ID = '_SYSTEM_CENTER_:com.apple.DiskArbitration.DiskArbitrationAgent';
|
|
12
|
+
async function default_1() {
|
|
13
|
+
var _a;
|
|
14
|
+
const spinner = gluegun_1.print.spin();
|
|
15
|
+
spinner.start('Beginning setup...');
|
|
16
|
+
const OS = (0, os_1.type)().toLowerCase();
|
|
17
|
+
if (OS !== 'darwin') {
|
|
18
|
+
gluegun_1.print.error(`OS "${OS}" not supported`);
|
|
19
|
+
process.exit(1);
|
|
20
|
+
}
|
|
21
|
+
const PREFS_DIR = gluegun_1.filesystem.resolve((_a = process.env.HOME) !== null && _a !== void 0 ? _a : '~', 'Library', 'Preferences');
|
|
22
|
+
const PREFS_BACKUP_DIR = gluegun_1.filesystem.resolve(constants_1.INSTALL_DIR, 'ejectfix');
|
|
23
|
+
const NC_PREFS_PATH = gluegun_1.filesystem.resolve(PREFS_DIR, NC_PREFS_PLIST);
|
|
24
|
+
gluegun_1.filesystem.dir(PREFS_BACKUP_DIR);
|
|
25
|
+
if (gluegun_1.filesystem.exists(gluegun_1.filesystem.resolve(PREFS_BACKUP_DIR, NC_PREFS_PLIST)) !==
|
|
26
|
+
false) {
|
|
27
|
+
spinner.info('A backup of your notification preferences already exists.');
|
|
28
|
+
const shouldContinue = await gluegun_1.prompt.confirm('Would you like to override this backup and continue?');
|
|
29
|
+
if (!shouldContinue) {
|
|
30
|
+
gluegun_1.print.info('Cancelling ejectfix setup.');
|
|
31
|
+
process.exit(0);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
if (gluegun_1.filesystem.exists(NC_PREFS_PATH) === false) {
|
|
35
|
+
spinner.fail(`Cannot find notification preferences file: ${NC_PREFS_PATH}`);
|
|
36
|
+
process.exit(1);
|
|
37
|
+
}
|
|
38
|
+
try {
|
|
39
|
+
gluegun_1.filesystem.copy(NC_PREFS_PATH, gluegun_1.filesystem.resolve(PREFS_BACKUP_DIR, NC_PREFS_PLIST), { overwrite: true });
|
|
40
|
+
}
|
|
41
|
+
catch (error) {
|
|
42
|
+
spinner.fail(`Error copying notification preferences: ${String(error)}`);
|
|
43
|
+
process.exit(1);
|
|
44
|
+
}
|
|
45
|
+
try {
|
|
46
|
+
const prefs = simple_plist_1.default.readFileSync(NC_PREFS_PATH);
|
|
47
|
+
for (const app of prefs.apps) {
|
|
48
|
+
if (app['bundle-id'] === DISK_AGENT_NC_PREF_ID) {
|
|
49
|
+
app.flags = (Number(app.flags) & ~0b00010000) | 0b01001000;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
simple_plist_1.default.writeBinaryFileSync(NC_PREFS_PATH, prefs);
|
|
53
|
+
}
|
|
54
|
+
catch (error) {
|
|
55
|
+
spinner.fail(`Unable to update notification preferences: ${String(error)}`);
|
|
56
|
+
process.exit(1);
|
|
57
|
+
}
|
|
58
|
+
await gluegun_1.system.exec('killall usernoted cfprefsd');
|
|
59
|
+
spinner.succeed('Successfully updated notification preferences for `DISK NOT EJECTED PROPERLY` warning!');
|
|
60
|
+
}
|
|
61
|
+
exports.default = default_1;
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWplY3RmaXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdG9vbGJveC9zZXR1cC9lamVjdGZpeC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLHFDQUEyRDtBQUMzRCwyQ0FBeUM7QUFDekMsMkJBQXlDO0FBQ3pDLGdFQUFnQztBQUVoQyxNQUFNLGNBQWMsR0FBRyx5QkFBeUIsQ0FBQTtBQUNoRCxNQUFNLHFCQUFxQixHQUN6QixnRUFBZ0UsQ0FBQTtBQUVuRCxLQUFLOztJQUNsQixNQUFNLE9BQU8sR0FBRyxlQUFLLENBQUMsSUFBSSxFQUFFLENBQUE7SUFDNUIsT0FBTyxDQUFDLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxDQUFBO0lBRW5DLE1BQU0sRUFBRSxHQUFHLElBQUEsU0FBWSxHQUFFLENBQUMsV0FBVyxFQUFFLENBQUE7SUFDdkMsSUFBSSxFQUFFLEtBQUssUUFBUSxFQUFFO1FBQ25CLGVBQUssQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLGlCQUFpQixDQUFDLENBQUE7UUFDdkMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQTtLQUNoQjtJQUVELE1BQU0sU0FBUyxHQUFHLG9CQUFVLENBQUMsT0FBTyxDQUNsQyxNQUFBLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxtQ0FBSSxHQUFHLEVBQ3ZCLFNBQVMsRUFDVCxhQUFhLENBQ2QsQ0FBQTtJQUNELE1BQU0sZ0JBQWdCLEdBQUcsb0JBQVUsQ0FBQyxPQUFPLENBQUMsdUJBQVcsRUFBRSxVQUFVLENBQUMsQ0FBQTtJQUNwRSxNQUFNLGFBQWEsR0FBRyxvQkFBVSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsY0FBYyxDQUFDLENBQUE7SUFFbkUsb0JBQVUsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQTtJQUVoQyxJQUNFLG9CQUFVLENBQUMsTUFBTSxDQUFDLG9CQUFVLENBQUMsT0FBTyxDQUFDLGdCQUFnQixFQUFFLGNBQWMsQ0FBQyxDQUFDO1FBQ3ZFLEtBQUssRUFDTDtRQUNBLE9BQU8sQ0FBQyxJQUFJLENBQUMsMkRBQTJELENBQUMsQ0FBQTtRQUN6RSxNQUFNLGNBQWMsR0FBRyxNQUFNLGdCQUFNLENBQUMsT0FBTyxDQUN6QyxzREFBc0QsQ0FDdkQsQ0FBQTtRQUNELElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDbkIsZUFBSyxDQUFDLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxDQUFBO1lBQ3hDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUE7U0FDaEI7S0FDRjtJQUNELElBQUksb0JBQVUsQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLEtBQUssS0FBSyxFQUFFO1FBQzlDLE9BQU8sQ0FBQyxJQUFJLENBQUMsOENBQThDLGFBQWEsRUFBRSxDQUFDLENBQUE7UUFDM0UsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQTtLQUNoQjtJQUVELElBQUk7UUFDRixvQkFBVSxDQUFDLElBQUksQ0FDYixhQUFhLEVBQ2Isb0JBQVUsQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLEVBQUUsY0FBYyxDQUFDLEVBQ3BELEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxDQUNwQixDQUFBO0tBQ0Y7SUFBQyxPQUFPLEtBQUssRUFBRTtRQUNkLE9BQU8sQ0FBQyxJQUFJLENBQUMsMkNBQTJDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUE7UUFDeEUsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQTtLQUNoQjtJQUVELElBQUk7UUFDRixNQUFNLEtBQUssR0FDVCxzQkFBSyxDQUFDLFlBQVksQ0FFZixhQUFhLENBQUMsQ0FBQTtRQUNuQixLQUFLLE1BQU0sR0FBRyxJQUFJLEtBQUssQ0FBQyxJQUFJLEVBQUU7WUFDNUIsSUFBSSxHQUFHLENBQUMsV0FBVyxDQUFDLEtBQUsscUJBQXFCLEVBQUU7Z0JBQzlDLEdBQUcsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEdBQUcsVUFBVSxDQUFBO2FBQzNEO1NBQ0Y7UUFDRCxzQkFBSyxDQUFDLG1CQUFtQixDQUFDLGFBQWEsRUFBRSxLQUFLLENBQUMsQ0FBQTtLQUNoRDtJQUFDLE9BQU8sS0FBSyxFQUFFO1FBQ2QsT0FBTyxDQUFDLElBQUksQ0FBQyw4Q0FBOEMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQTtRQUMzRSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFBO0tBQ2hCO0lBRUQsTUFBTSxnQkFBTSxDQUFDLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxDQUFBO0lBQy9DLE9BQU8sQ0FBQyxPQUFPLENBQ2Isd0ZBQXdGLENBQ3pGLENBQUE7QUFDSCxDQUFDO0FBckVELDRCQXFFQyJ9
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.installPython = void 0;
|
|
4
|
+
const gluegun_1 = require("gluegun");
|
|
5
|
+
async function installPython(spinner) {
|
|
6
|
+
if (gluegun_1.system.which('python') === null) {
|
|
7
|
+
// For some reason, system.which does not work with winget. This is a workaround for now.
|
|
8
|
+
try {
|
|
9
|
+
await gluegun_1.system.exec('where winget');
|
|
10
|
+
}
|
|
11
|
+
catch (error) {
|
|
12
|
+
gluegun_1.print.error('Python 2.7 is required.');
|
|
13
|
+
gluegun_1.print.info('You can download and install Python from python.org/downloads');
|
|
14
|
+
gluegun_1.print.info('Or xs-dev can manage installing Python and other dependencies using the Windows Package Manager Client (winget).');
|
|
15
|
+
gluegun_1.print.info('You can install winget via the App Installer package in the Microsoft Store.');
|
|
16
|
+
gluegun_1.print.info('Please install either Python or winget, then launch a new Command Prompt and re-run this setup.');
|
|
17
|
+
throw new Error('Python is required');
|
|
18
|
+
}
|
|
19
|
+
spinner.start('Installing python from winget');
|
|
20
|
+
await gluegun_1.system.exec('winget install -e --id Python.Python.2 --silent');
|
|
21
|
+
spinner.succeed();
|
|
22
|
+
gluegun_1.print.info('Python successfully installed. Please close this window and launch a new Moddable Command Prompt to refresh environment variables, then re-run this setup.');
|
|
23
|
+
throw new Error('Command Prompt restart needed');
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
exports.installPython = installPython;
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2luZG93cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy90b29sYm94L3NldHVwL25yZjUyL3dpbmRvd3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUNBQXFEO0FBRTlDLEtBQUssVUFBVSxhQUFhLENBQ2pDLE9BQXlDO0lBRXpDLElBQUksZ0JBQU0sQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLEtBQUssSUFBSSxFQUFFO1FBQ25DLHlGQUF5RjtRQUN6RixJQUFJO1lBQ0YsTUFBTSxnQkFBTSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQTtTQUNsQztRQUFDLE9BQU8sS0FBSyxFQUFFO1lBQ2QsZUFBSyxDQUFDLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxDQUFBO1lBQ3RDLGVBQUssQ0FBQyxJQUFJLENBQ1IsK0RBQStELENBQ2hFLENBQUE7WUFDRCxlQUFLLENBQUMsSUFBSSxDQUNSLGtIQUFrSCxDQUNuSCxDQUFBO1lBQ0QsZUFBSyxDQUFDLElBQUksQ0FDUiw4RUFBOEUsQ0FDL0UsQ0FBQTtZQUNELGVBQUssQ0FBQyxJQUFJLENBQ1IsaUdBQWlHLENBQ2xHLENBQUE7WUFDRCxNQUFNLElBQUksS0FBSyxDQUFDLG9CQUFvQixDQUFDLENBQUE7U0FDdEM7UUFFRCxPQUFPLENBQUMsS0FBSyxDQUFDLCtCQUErQixDQUFDLENBQUE7UUFDOUMsTUFBTSxnQkFBTSxDQUFDLElBQUksQ0FBQyxpREFBaUQsQ0FBQyxDQUFBO1FBQ3BFLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQTtRQUNqQixlQUFLLENBQUMsSUFBSSxDQUNSLDRKQUE0SixDQUM3SixDQUFBO1FBQ0QsTUFBTSxJQUFJLEtBQUssQ0FBQywrQkFBK0IsQ0FBQyxDQUFBO0tBQ2pEO0FBQ0gsQ0FBQztBQWhDRCxzQ0FnQ0MifQ==
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const axios_1 = __importDefault(require("axios"));
|
|
7
|
+
const fs_1 = require("fs");
|
|
8
|
+
const gluegun_1 = require("gluegun");
|
|
9
|
+
const os_1 = require("os");
|
|
10
|
+
const stream_1 = require("stream");
|
|
11
|
+
const tar_fs_1 = require("tar-fs");
|
|
12
|
+
const util_1 = require("util");
|
|
13
|
+
const unzip_stream_1 = require("unzip-stream");
|
|
14
|
+
// eslint-disable-next-line @typescript-eslint/prefer-ts-expect-error
|
|
15
|
+
// @ts-ignore
|
|
16
|
+
const node_liblzma_1 = require("node-liblzma");
|
|
17
|
+
const devices_1 = require("../prompt/devices");
|
|
18
|
+
const exec_1 = require("../system/exec");
|
|
19
|
+
const constants_1 = require("./constants");
|
|
20
|
+
const moddable_1 = require("./moddable");
|
|
21
|
+
const windows_1 = require("./windows");
|
|
22
|
+
const upsert_1 = __importDefault(require("../patching/upsert"));
|
|
23
|
+
const windows_2 = require("./nrf52/windows");
|
|
24
|
+
const finishedPromise = (0, util_1.promisify)(stream_1.finished);
|
|
25
|
+
const ARCH_ALIAS = {
|
|
26
|
+
darwin_arm64: 'darwin-arm64',
|
|
27
|
+
darwin_x64: 'darwin-x86_64',
|
|
28
|
+
linux_x64: 'x86_64',
|
|
29
|
+
windows_nt_x64: 'mingw-w64-i686',
|
|
30
|
+
};
|
|
31
|
+
async function default_1() {
|
|
32
|
+
const OS = (0, os_1.type)().toLowerCase();
|
|
33
|
+
const isWindows = OS === 'windows_nt';
|
|
34
|
+
const TOOLCHAIN = `arm-gnu-toolchain-12.2.rel1-${ARCH_ALIAS[`${OS}_${(0, os_1.arch)()}`]}-arm-none-eabi`;
|
|
35
|
+
const TOOLCHAIN_DOWNLOAD = `https://developer.arm.com/-/media/Files/downloads/gnu/12.2.rel1/binrel/${TOOLCHAIN}.${isWindows ? 'zip' : 'tar.xz'}`;
|
|
36
|
+
const ADAFRUIT_NRF52_BOOTLOADER_UF2CONV_DOWNLOAD = 'https://github.com/Moddable-OpenSource/tools/releases/download/v1.0.0/uf2conv.py';
|
|
37
|
+
const NRF5_SDK = 'nRF5_SDK_17.0.2_d674dde';
|
|
38
|
+
const NRF5_SDK_DOWNLOAD = `https://github.com/Moddable-OpenSource/tools/releases/download/v1.0.0/${NRF5_SDK}-mod.zip`;
|
|
39
|
+
const NRF52_DIR = gluegun_1.filesystem.resolve(constants_1.INSTALL_DIR, 'nrf52');
|
|
40
|
+
const TOOLCHAIN_PATH = gluegun_1.filesystem.resolve(NRF52_DIR, TOOLCHAIN);
|
|
41
|
+
const UF2CONV_PATH = gluegun_1.filesystem.resolve(NRF52_DIR, 'uf2conv.py');
|
|
42
|
+
const NRF5_SDK_PATH = gluegun_1.filesystem.resolve(NRF52_DIR, NRF5_SDK);
|
|
43
|
+
await (0, exec_1.sourceEnvironment)();
|
|
44
|
+
const spinner = gluegun_1.print.spin();
|
|
45
|
+
spinner.start('Setting up nrf52 tools');
|
|
46
|
+
if (!(0, moddable_1.moddableExists)()) {
|
|
47
|
+
spinner.fail(`Moddable tooling required. Run 'xs-dev setup --device ${devices_1.DEVICE_ALIAS[OS]}' before trying again.`);
|
|
48
|
+
process.exit(1);
|
|
49
|
+
}
|
|
50
|
+
if (isWindows) {
|
|
51
|
+
await (0, windows_1.ensureModdableCommandPrompt)(spinner);
|
|
52
|
+
}
|
|
53
|
+
spinner.info('Ensuring nrf52 directory');
|
|
54
|
+
gluegun_1.filesystem.dir(NRF52_DIR);
|
|
55
|
+
if (gluegun_1.filesystem.exists(TOOLCHAIN_PATH) === false) {
|
|
56
|
+
spinner.start('Downloading GNU Arm Embedded Toolchain');
|
|
57
|
+
const writer = isWindows
|
|
58
|
+
? (0, unzip_stream_1.Extract)({ path: NRF52_DIR })
|
|
59
|
+
: (0, tar_fs_1.extract)(NRF52_DIR, { readable: true });
|
|
60
|
+
const unxz = (0, node_liblzma_1.createUnxz)();
|
|
61
|
+
const response = await axios_1.default.get(TOOLCHAIN_DOWNLOAD, {
|
|
62
|
+
responseType: 'stream',
|
|
63
|
+
});
|
|
64
|
+
const stream = isWindows ? response.data : response.data.pipe(unxz);
|
|
65
|
+
stream.pipe(writer);
|
|
66
|
+
await finishedPromise(writer);
|
|
67
|
+
spinner.succeed();
|
|
68
|
+
}
|
|
69
|
+
if (gluegun_1.filesystem.exists(UF2CONV_PATH) === false) {
|
|
70
|
+
spinner.start('Downloading Adafruit nRF52 Bootloader');
|
|
71
|
+
const writer = (0, fs_1.createWriteStream)(UF2CONV_PATH, { mode: 0o755 });
|
|
72
|
+
const response = await axios_1.default.get(ADAFRUIT_NRF52_BOOTLOADER_UF2CONV_DOWNLOAD, {
|
|
73
|
+
responseType: 'stream',
|
|
74
|
+
});
|
|
75
|
+
response.data.pipe(writer);
|
|
76
|
+
await finishedPromise(writer);
|
|
77
|
+
spinner.succeed();
|
|
78
|
+
}
|
|
79
|
+
if (gluegun_1.filesystem.exists(NRF5_SDK_PATH) === false) {
|
|
80
|
+
spinner.start('Downloading nRF5 SDK');
|
|
81
|
+
const writer = (0, unzip_stream_1.Extract)({ path: NRF52_DIR });
|
|
82
|
+
const response = await axios_1.default.get(NRF5_SDK_DOWNLOAD, {
|
|
83
|
+
responseType: 'stream',
|
|
84
|
+
});
|
|
85
|
+
response.data.pipe(writer);
|
|
86
|
+
await finishedPromise(writer);
|
|
87
|
+
spinner.succeed();
|
|
88
|
+
}
|
|
89
|
+
if (OS === 'darwin' || OS === 'linux') {
|
|
90
|
+
if (process.env.NRF_ROOT === undefined ||
|
|
91
|
+
process.env.NRF_SDK_DIR === undefined) {
|
|
92
|
+
spinner.info('Configuring $NRF_ROOT and $NRF_SDK_DIR');
|
|
93
|
+
process.env.NRF_ROOT = NRF52_DIR;
|
|
94
|
+
process.env.NRF_SDK_DIR = NRF5_SDK_PATH;
|
|
95
|
+
await (0, upsert_1.default)(constants_1.EXPORTS_FILE_PATH, `export NRF_ROOT=${process.env.NRF_ROOT}\nexport NRF_SDK_DIR=${process.env.NRF_SDK_DIR}`);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
else {
|
|
99
|
+
process.env.NRF_ROOT = NRF52_DIR;
|
|
100
|
+
process.env.NRF52_SDK_PATH = NRF5_SDK_PATH;
|
|
101
|
+
await (0, windows_1.setEnv)('NRF_ROOT', NRF52_DIR);
|
|
102
|
+
await (0, windows_1.setEnv)('NRF52_SDK_PATH', NRF5_SDK_PATH);
|
|
103
|
+
try {
|
|
104
|
+
await (0, windows_2.installPython)(spinner);
|
|
105
|
+
}
|
|
106
|
+
catch (error) {
|
|
107
|
+
// Command Prompt restart needed
|
|
108
|
+
process.exit(1);
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
if (OS === 'linux') {
|
|
112
|
+
try {
|
|
113
|
+
await (0, exec_1.execWithSudo)('adduser $USER dialout', { process });
|
|
114
|
+
}
|
|
115
|
+
catch (_error) {
|
|
116
|
+
gluegun_1.print.warning(`Unable to provide ttyUSB0 permission to the current user. Please run "sudo adduser <username> dialout" before trying to attempting to build projects for your nrf52 device.`);
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
spinner.succeed(`
|
|
120
|
+
Successfully set up nrf52 platform support for Moddable!
|
|
121
|
+
Test out the setup by starting a new ${isWindows ? 'Moddable Command Prompt' : 'terminal session'}, plugging in your device, and running: xs-dev run --example helloworld --device nrf52
|
|
122
|
+
`);
|
|
123
|
+
}
|
|
124
|
+
exports.default = default_1;
|
|
125
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnJmNTIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdG9vbGJveC9zZXR1cC9ucmY1Mi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGtEQUF5QjtBQUN6QiwyQkFBc0M7QUFDdEMscUNBQTJDO0FBQzNDLDJCQUErQztBQUMvQyxtQ0FBaUM7QUFDakMsbUNBQWdDO0FBQ2hDLCtCQUFnQztBQUNoQywrQ0FBb0Q7QUFDcEQscUVBQXFFO0FBQ3JFLGFBQWE7QUFDYiwrQ0FBeUM7QUFFekMsK0NBQWdEO0FBQ2hELHlDQUFnRTtBQUNoRSwyQ0FBNEQ7QUFDNUQseUNBQTJDO0FBQzNDLHVDQUErRDtBQUMvRCxnRUFBdUM7QUFDdkMsNkNBQStDO0FBRS9DLE1BQU0sZUFBZSxHQUFHLElBQUEsZ0JBQVMsRUFBQyxpQkFBUSxDQUFDLENBQUE7QUFFM0MsTUFBTSxVQUFVLEdBQTJCO0lBQ3pDLFlBQVksRUFBRSxjQUFjO0lBQzVCLFVBQVUsRUFBRSxlQUFlO0lBQzNCLFNBQVMsRUFBRSxRQUFRO0lBQ25CLGNBQWMsRUFBRSxnQkFBZ0I7Q0FDakMsQ0FBQTtBQUNjLEtBQUs7SUFDbEIsTUFBTSxFQUFFLEdBQUcsSUFBQSxTQUFZLEdBQUUsQ0FBQyxXQUFXLEVBQVksQ0FBQTtJQUNqRCxNQUFNLFNBQVMsR0FBRyxFQUFFLEtBQUssWUFBWSxDQUFBO0lBQ3JDLE1BQU0sU0FBUyxHQUFHLCtCQUNoQixVQUFVLENBQUMsR0FBRyxFQUFFLElBQUksSUFBQSxTQUFJLEdBQUUsRUFBRSxDQUM5QixnQkFBZ0IsQ0FBQTtJQUNoQixNQUFNLGtCQUFrQixHQUFHLDBFQUEwRSxTQUFTLElBQzVHLFNBQVMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxRQUN0QixFQUFFLENBQUE7SUFDRixNQUFNLDBDQUEwQyxHQUM5QyxrRkFBa0YsQ0FBQTtJQUNwRixNQUFNLFFBQVEsR0FBRyx5QkFBeUIsQ0FBQTtJQUMxQyxNQUFN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
|
|
@@ -9,6 +9,7 @@ const constants_1 = require("./constants");
|
|
|
9
9
|
const upsert_1 = __importDefault(require("../patching/upsert"));
|
|
10
10
|
const windows_shortcuts_1 = __importDefault(require("windows-shortcuts"));
|
|
11
11
|
const util_1 = require("util");
|
|
12
|
+
const moddable_1 = require("./moddable");
|
|
12
13
|
const wsPromise = (0, util_1.promisify)(windows_shortcuts_1.default.create);
|
|
13
14
|
const SHORTCUT = gluegun_1.filesystem.resolve(constants_1.INSTALL_DIR, 'Moddable Command Prompt.lnk');
|
|
14
15
|
async function setEnv(name, permanentValue, envValue) {
|
|
@@ -41,8 +42,10 @@ async function ensureModdableCommandPrompt(spinner) {
|
|
|
41
42
|
}
|
|
42
43
|
}
|
|
43
44
|
exports.ensureModdableCommandPrompt = ensureModdableCommandPrompt;
|
|
44
|
-
async function default_1({ sourceRepo, }) {
|
|
45
|
+
async function default_1({ sourceRepo, targetBranch, }) {
|
|
46
|
+
var _a;
|
|
45
47
|
const BIN_PATH = gluegun_1.filesystem.resolve(constants_1.INSTALL_PATH, 'build', 'bin', 'win', 'release');
|
|
48
|
+
const DEBUG_BIN_PATH = gluegun_1.filesystem.resolve(constants_1.INSTALL_PATH, 'build', 'bin', 'win', 'debug');
|
|
46
49
|
const BUILD_DIR = gluegun_1.filesystem.resolve(constants_1.INSTALL_PATH, 'build', 'makefiles', 'win');
|
|
47
50
|
gluegun_1.print.info(`Setting up Windows tools at ${constants_1.INSTALL_PATH}`);
|
|
48
51
|
// 0. Check for Visual Studio CMD tools & Git
|
|
@@ -125,9 +128,29 @@ async function default_1({ sourceRepo, }) {
|
|
|
125
128
|
}
|
|
126
129
|
else {
|
|
127
130
|
try {
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
+
if (targetBranch === 'latest-release') {
|
|
132
|
+
spinner.start(`Getting latest Moddable-OpenSource/moddable release`);
|
|
133
|
+
const release = await (0, moddable_1.fetchLatestRelease)();
|
|
134
|
+
await gluegun_1.system.spawn(`git clone ${sourceRepo} ${constants_1.INSTALL_PATH} --depth 1 --branch ${release.tag_name} --single-branch`);
|
|
135
|
+
gluegun_1.filesystem.dir(BIN_PATH);
|
|
136
|
+
gluegun_1.filesystem.dir(DEBUG_BIN_PATH);
|
|
137
|
+
spinner.info('Downloading release tools');
|
|
138
|
+
const assetName = `moddable-tools-win64.zip`;
|
|
139
|
+
await (0, moddable_1.downloadReleaseTools)({
|
|
140
|
+
writePath: BIN_PATH,
|
|
141
|
+
assetName,
|
|
142
|
+
release,
|
|
143
|
+
});
|
|
144
|
+
const tools = (_a = gluegun_1.filesystem.list(BIN_PATH)) !== null && _a !== void 0 ? _a : [];
|
|
145
|
+
await Promise.all(tools.map(async (tool) => {
|
|
146
|
+
await gluegun_1.filesystem.copyAsync(gluegun_1.filesystem.resolve(BIN_PATH, tool), gluegun_1.filesystem.resolve(DEBUG_BIN_PATH, tool));
|
|
147
|
+
}));
|
|
148
|
+
spinner.succeed();
|
|
149
|
+
}
|
|
150
|
+
else {
|
|
151
|
+
spinner.start(`Cloning ${sourceRepo} repo`);
|
|
152
|
+
await gluegun_1.system.spawn(`git clone ${sourceRepo} ${constants_1.INSTALL_PATH} --depth 1 --branch ${targetBranch} --single-branch`);
|
|
153
|
+
}
|
|
131
154
|
}
|
|
132
155
|
catch (error) {
|
|
133
156
|
spinner.fail(`Error cloning moddable repo: ${String(error)}`);
|
|
@@ -145,15 +168,17 @@ async function default_1({ sourceRepo, }) {
|
|
|
145
168
|
catch (error) {
|
|
146
169
|
spinner.fail(error.toString());
|
|
147
170
|
}
|
|
148
|
-
// 3. build tools
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
171
|
+
// 3. build tools if needed
|
|
172
|
+
if (targetBranch !== 'latest-release') {
|
|
173
|
+
try {
|
|
174
|
+
spinner.start(`Building Moddable SDK tools`);
|
|
175
|
+
await gluegun_1.system.exec(`build.bat`, { cwd: BUILD_DIR, stdout: process.stdout });
|
|
176
|
+
spinner.succeed();
|
|
177
|
+
}
|
|
178
|
+
catch (error) {
|
|
179
|
+
spinner.fail(`Error building Moddable SDK tools: ${String(error)}`);
|
|
180
|
+
process.exit(1);
|
|
181
|
+
}
|
|
157
182
|
}
|
|
158
183
|
// 4. create Windows shortcut
|
|
159
184
|
try {
|
|
@@ -182,4 +207,4 @@ async function default_1({ sourceRepo, }) {
|
|
|
182
207
|
await openModdableCommandPrompt();
|
|
183
208
|
}
|
|
184
209
|
exports.default = default_1;
|
|
185
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
210
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2luZG93cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90b29sYm94L3NldHVwL3dpbmRvd3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEscUNBQXlFO0FBQ3pFLDJDQUtvQjtBQUNwQixnRUFBdUM7QUFDdkMsMEVBQWtDO0FBQ2xDLCtCQUFnQztBQUVoQyx5Q0FBcUU7QUFFckUsTUFBTSxTQUFTLEdBQUcsSUFBQSxnQkFBUyxFQUFDLDJCQUFFLENBQUMsTUFBTSxDQUFDLENBQUE7QUFFdEMsTUFBTSxRQUFRLEdBQUcsb0JBQVUsQ0FBQyxPQUFPLENBQUMsdUJBQVcsRUFBRSw2QkFBNkIsQ0FBQyxDQUFBO0FBRXhFLEtBQUssVUFBVSxNQUFNLENBQzFCLElBQVksRUFDWixjQUFzQixFQUN0QixRQUFpQjtJQUVqQixNQUFNLElBQUEsZ0JBQU0sRUFBQyw2QkFBaUIsRUFBRSxRQUFRLElBQUksSUFBSSxjQUFjLEdBQUcsQ0FBQyxDQUFBO0lBQ2xFLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsUUFBUSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUE7QUFDeEUsQ0FBQztBQVBELHdCQU9DO0FBRU0sS0FBSyxVQUFVLFNBQVMsQ0FBQyxJQUFZOztJQUMxQyxNQUFNLE9BQU8sR0FBRyxHQUFHLElBQUksSUFBSSxNQUFBLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxtQ0FBSSxFQUFFLEVBQUUsQ0FBQTtJQUNuRCxNQUFNLE1BQU0sQ0FBQyxNQUFNLEVBQUUsR0FBRyxJQUFJLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQTtBQUNqRCxDQUFDO0FBSEQsOEJBR0M7QUFFTSxLQUFLLFVBQVUseUJBQXlCO0lBQzdDLGVBQUssQ0FBQyxJQUFJLENBQUMscURBQXFELENBQUMsQ0FBQTtJQUNqRSxNQUFNLGdCQUFNLENBQUMsR0FBRyxDQUFDLG9DQUFv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
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const gluegun_1 = require("gluegun");
|
|
4
|
+
async function default_1() {
|
|
5
|
+
gluegun_1.print.warning('nRF52 update is not currently supported');
|
|
6
|
+
}
|
|
7
|
+
exports.default = default_1;
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnJmNTIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdG9vbGJveC91cGRhdGUvbnJmNTIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxxQ0FBK0I7QUFFaEIsS0FBSztJQUNsQixlQUFLLENBQUMsT0FBTyxDQUFDLHlDQUF5QyxDQUFDLENBQUE7QUFDMUQsQ0FBQztBQUZELDRCQUVDIn0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function (): Promise<void>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function (): Promise<void>;
|
|
@@ -4,4 +4,4 @@ export declare function setEnv(name: string, permanentValue: string, envValue?:
|
|
|
4
4
|
export declare function addToPath(path: string): Promise<void>;
|
|
5
5
|
export declare function openModdableCommandPrompt(): Promise<void>;
|
|
6
6
|
export declare function ensureModdableCommandPrompt(spinner: ReturnType<GluegunPrint['spin']>): Promise<void>;
|
|
7
|
-
export default function ({ sourceRepo, }: PlatformSetupArgs): Promise<void>;
|
|
7
|
+
export default function ({ sourceRepo, targetBranch, }: PlatformSetupArgs): Promise<void>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function (): Promise<void>;
|
package/build/types/types.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { GluegunToolbox } from 'gluegun';
|
|
2
2
|
import type { PlatformSetupArgs, SetupArgs } from './toolbox/setup/types';
|
|
3
3
|
import type { BuildArgs } from './toolbox/build/index';
|
|
4
|
-
export declare type Device = 'darwin' | 'mac' | 'linux' | 'lin' | 'windows_nt' | 'win' | 'esp' | 'esp8266' | 'esp32' | 'wasm' | 'pico';
|
|
4
|
+
export declare type Device = 'darwin' | 'mac' | 'linux' | 'lin' | 'windows_nt' | 'win' | 'esp' | 'esp8266' | 'esp32' | 'wasm' | 'pico' | 'nrf52';
|
|
5
5
|
export interface XSDevToolbox extends GluegunToolbox {
|
|
6
6
|
setup: Record<Device, (() => Promise<void>) | ((args: SetupArgs | PlatformSetupArgs) => Promise<void>)>;
|
|
7
7
|
update: Record<Device, (() => Promise<void>) | ((args: SetupArgs) => Promise<void>)>;
|
|
@@ -19,6 +19,12 @@ This process mostly automates the instructions provided by [Moddable's "Getting
|
|
|
19
19
|
|
|
20
20
|
[Homebrew](https://brew.sh/) is assumed to be installed.
|
|
21
21
|
|
|
22
|
+
[XZ utils](https://tukaani.org/xz/) are required to install the CLI due to a dependency for decompressing the ARM toolchain used for nrf52 development. It can be installed with homebrew:
|
|
23
|
+
|
|
24
|
+
```
|
|
25
|
+
brew install xz
|
|
26
|
+
```
|
|
27
|
+
|
|
22
28
|
The [Xcode Command Line tools](https://developer.apple.com/xcode/) are required; `setup` will check for their existence before continuing.
|
|
23
29
|
|
|
24
30
|
A symlink for [`xsbug.app`](https://github.com/Moddable-OpenSource/moddable/blob/public/documentation/xs/xsbug.md) is created in `/Applications` for easy access through Launchpad.
|
|
@@ -74,3 +80,9 @@ There are some utilities that are not included in the Moddable SDK or other plat
|
|
|
74
80
|
```
|
|
75
81
|
xs-dev setup --tool fontbm
|
|
76
82
|
```
|
|
83
|
+
|
|
84
|
+
`ejectfix`: not a downloadable tool, rather a environment preference to disable the `DISK NOT EJECTED PROPERLY` notification while working with the nrf52 on MacOS. This will automate the process described by [the Adafruit blog](https://blog.adafruit.com/2021/05/11/how-to-tone-down-macos-big-surs-circuitpy-eject-notifications/):
|
|
85
|
+
|
|
86
|
+
```
|
|
87
|
+
xs-dev setup --tool ejectfix
|
|
88
|
+
```
|
|
@@ -61,7 +61,7 @@ Check out the [npm docs](https://docs.npmjs.com/resolving-eacces-permissions-err
|
|
|
61
61
|
|
|
62
62
|
## Linux Permissions
|
|
63
63
|
|
|
64
|
-
Setup commands rely on [`ssh-askpass`](https://packages.ubuntu.com/
|
|
64
|
+
Setup commands rely on [`ssh-askpass`](https://packages.ubuntu.com/focal/ssh-askpass) to prompt for permission when installing other tools and dependencies.
|
|
65
65
|
|
|
66
66
|
## Choose your hardware adventure
|
|
67
67
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "xs-dev",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.27.0",
|
|
4
4
|
"description": "CLI for automating the setup and usage of Moddable XS tools",
|
|
5
5
|
"types": "build/types/types.d.ts",
|
|
6
6
|
"bin": {
|
|
@@ -44,9 +44,10 @@
|
|
|
44
44
|
"@octokit/rest": "^19.0.3",
|
|
45
45
|
"axios": "^1.2.1",
|
|
46
46
|
"gluegun": "^5.1.2",
|
|
47
|
+
"node-liblzma": "^1.1.9",
|
|
47
48
|
"serialport": "^10.3.0",
|
|
48
49
|
"serve-handler": "^6.1.3",
|
|
49
|
-
"
|
|
50
|
+
"simple-plist": "^1.3.1",
|
|
50
51
|
"tar-fs": "^2.1.1",
|
|
51
52
|
"unzip-stream": "^0.3.1",
|
|
52
53
|
"usb": "^2.2.0",
|
|
@@ -76,6 +77,7 @@
|
|
|
76
77
|
"prettier": "^2.5.1",
|
|
77
78
|
"release-it": "^15.11.0",
|
|
78
79
|
"rollup": "^2.78.1",
|
|
80
|
+
"solid-js": "^1.4.3",
|
|
79
81
|
"tailwindcss": "^3.0.24",
|
|
80
82
|
"ts-jest": "^27.1.2",
|
|
81
83
|
"ts-node": "^10.9.1",
|
|
@@ -101,7 +103,9 @@
|
|
|
101
103
|
"ansi-regex@>=3.0.0 <3.0.1": ">=3.0.1",
|
|
102
104
|
"ansi-regex@>=4.0.0 <4.1.1": ">=4.1.1",
|
|
103
105
|
"minimatch@<3.0.5": ">=3.0.5",
|
|
104
|
-
"conventional-changelog-conventionalcommits": ">=5.0.0"
|
|
106
|
+
"conventional-changelog-conventionalcommits": ">=5.0.0",
|
|
107
|
+
"string-width": "<5.0.0",
|
|
108
|
+
"ansi-regex": "<6.0.0"
|
|
105
109
|
}
|
|
106
110
|
},
|
|
107
111
|
"release-it": {
|