xs-dev 0.28.1 → 0.30.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.
|
@@ -19,7 +19,7 @@ async function default_1() {
|
|
|
19
19
|
const isWindows = OS === 'windows_nt';
|
|
20
20
|
const ESP_IDF_REPO = 'https://github.com/espressif/esp-idf.git';
|
|
21
21
|
const ESP_BRANCH_V4 = 'v4.4.3';
|
|
22
|
-
const ESP_BRANCH_V5 = 'v5.1.
|
|
22
|
+
const ESP_BRANCH_V5 = 'v5.1.2';
|
|
23
23
|
const ESP32_DIR = gluegun_1.filesystem.resolve(constants_1.INSTALL_DIR, 'esp32');
|
|
24
24
|
const IDF_PATH = gluegun_1.filesystem.resolve(ESP32_DIR, 'esp-idf');
|
|
25
25
|
await (0, exec_1.sourceEnvironment)();
|
|
@@ -9,18 +9,24 @@ async function installDeps(spinner) {
|
|
|
9
9
|
}
|
|
10
10
|
catch (error) {
|
|
11
11
|
if (error instanceof Error) {
|
|
12
|
-
gluegun_1.print.info(`${error.message} arm-
|
|
12
|
+
gluegun_1.print.info(`${error.message} gcc-arm-embedded, libusb, pkg-config`);
|
|
13
13
|
process.exit(1);
|
|
14
14
|
}
|
|
15
15
|
}
|
|
16
|
-
|
|
17
|
-
|
|
16
|
+
if (gluegun_1.system.which('arm-none-eabi-gcc') !== null) {
|
|
17
|
+
spinner.start('Removing outdated arm gcc dependency');
|
|
18
|
+
await gluegun_1.system.exec('brew untap ArmMbed/homebrew-formulae');
|
|
19
|
+
await gluegun_1.system.exec('brew uninstall arm-none-eabi-gcc');
|
|
20
|
+
spinner.succeed();
|
|
21
|
+
}
|
|
22
|
+
spinner.start('Installing pico tools dependencies');
|
|
23
|
+
await gluegun_1.system.exec(`brew install libusb pkg-config`, {
|
|
18
24
|
shell: process.env.SHELL,
|
|
19
25
|
});
|
|
20
|
-
await gluegun_1.system.exec(`brew install arm-
|
|
26
|
+
await gluegun_1.system.exec(`brew install --cask gcc-arm-embedded`, {
|
|
21
27
|
shell: process.env.SHELL,
|
|
22
28
|
});
|
|
23
29
|
spinner.succeed();
|
|
24
30
|
}
|
|
25
31
|
exports.installDeps = installDeps;
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFjLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3Rvb2xib3gvc2V0dXAvcGljby9tYWMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUNBQXFEO0FBQ3JELDBDQUE0QztBQUVyQyxLQUFLLFVBQVUsV0FBVyxDQUMvQixPQUF5QztJQUV6QyxJQUFJO1FBQ0YsTUFBTSxJQUFBLHlCQUFjLEdBQUUsQ0FBQTtLQUN2QjtJQUFDLE9BQU8sS0FBYyxFQUFFO1FBQ3ZCLElBQUksS0FBSyxZQUFZLEtBQUssRUFBRTtZQUMxQixlQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsS0FBSyxDQUFDLE9BQU8sdUNBQXVDLENBQUMsQ0FBQTtZQUNuRSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFBO1NBQ2hCO0tBQ0Y7SUFFRCxJQUFJLGdCQUFNLENBQUMsS0FBSyxDQUFDLG1CQUFtQixDQUFDLEtBQUssSUFBSSxFQUFFO1FBQzlDLE9BQU8sQ0FBQyxLQUFLLENBQUMsc0NBQXNDLENBQUMsQ0FBQTtRQUNyRCxNQUFNLGdCQUFNLENBQUMsSUFBSSxDQUFDLHNDQUFzQyxDQUFDLENBQUE7UUFDekQsTUFBTSxnQkFBTSxDQUFDLElBQUksQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFBO1FBQ3JELE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQTtLQUNsQjtJQUVELE9BQU8sQ0FBQyxLQUFLLENBQUMsb0NBQW9DLENBQUMsQ0FBQTtJQUNuRCxNQUFNLGdCQUFNLENBQUMsSUFBSSxDQUFDLGdDQUFnQyxFQUFFO1FBQ2xELEtBQUssRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUs7S0FDekIsQ0FBQyxDQUFBO0lBQ0YsTUFBTSxnQkFBTSxDQUFDLElBQUksQ0FBQyxzQ0FBc0MsRUFBRTtRQUN4RCxLQUFLLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLO0tBQ3pCLENBQUMsQ0FBQTtJQUNGLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQTtBQUNuQixDQUFDO0FBM0JELGtDQTJCQyJ9
|
|
@@ -15,7 +15,7 @@ async function default_1() {
|
|
|
15
15
|
var _a, _b, _c;
|
|
16
16
|
const OS = (0, os_1.type)().toLowerCase();
|
|
17
17
|
const ESP_BRANCH_V4 = 'v4.4.3';
|
|
18
|
-
const ESP_BRANCH_V5 = 'v5.1.
|
|
18
|
+
const ESP_BRANCH_V5 = 'v5.1.2';
|
|
19
19
|
const ESP32_DIR = gluegun_1.filesystem.resolve(constants_1.INSTALL_DIR, 'esp32');
|
|
20
20
|
const IDF_PATH = gluegun_1.filesystem.resolve(ESP32_DIR, 'esp-idf');
|
|
21
21
|
await (0, exec_1.sourceEnvironment)();
|
|
@@ -41,6 +41,11 @@ async function default_1() {
|
|
|
41
41
|
gluegun_1.semver.satisfies(moddableVersion !== null && moddableVersion !== void 0 ? moddableVersion : '', '>= 4.2.x')
|
|
42
42
|
? ESP_BRANCH_V5
|
|
43
43
|
: ESP_BRANCH_V4;
|
|
44
|
+
if (branch === ESP_BRANCH_V5 &&
|
|
45
|
+
!gluegun_1.semver.satisfies(moddableVersion !== null && moddableVersion !== void 0 ? moddableVersion : '', '>= 4.3.8')) {
|
|
46
|
+
spinner.fail('Latest Moddable SDK is required before updating ESP-IDF. Run `xs-dev update` before trying again.');
|
|
47
|
+
process.exit(1);
|
|
48
|
+
}
|
|
44
49
|
await gluegun_1.system.spawn(`git fetch --all --tags`, { cwd: IDF_PATH });
|
|
45
50
|
await gluegun_1.system.spawn(`git checkout ${branch}`, { cwd: IDF_PATH });
|
|
46
51
|
await gluegun_1.system.spawn(`git submodule update --init --recursive`, {
|
|
@@ -94,4 +99,4 @@ async function default_1() {
|
|
|
94
99
|
`);
|
|
95
100
|
}
|
|
96
101
|
exports.default = default_1;
|
|
97
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
102
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNwMzIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdG9vbGJveC91cGRhdGUvZXNwMzIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxxQ0FBcUU7QUFDckUsMkJBQXlDO0FBQ3pDLGtEQUFtRTtBQUNuRSxnREFBc0U7QUFDdEUsZ0VBQXVDO0FBQ3ZDLDRDQUFrRTtBQUNsRSxnREFBc0U7QUFDdEUseUNBQWtEO0FBRW5DLEtBQUs7O0lBQ2xCLE1BQU0sRUFBRSxHQUFHLElBQUEsU0FBWSxHQUFFLENBQUMsV0FBVyxFQUFFLENBQUE7SUFDdkMsTUFBTSxhQUFhLEdBQUcsUUFBUSxDQUFBO0lBQzlCLE1BQU0sYUFBYSxHQUFHLFFBQVEsQ0FBQTtJQUM5QixNQUFNLFNBQVMsR0FBRyxvQkFBVSxDQUFDLE9BQU8sQ0FBQyx1QkFBVyxFQUFFLE9BQU8sQ0FBQyxDQUFBO0lBQzFELE1BQU0sUUFBUSxHQUFHLG9CQUFVLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUMsQ0FBQTtJQUV6RCxNQUFNLElBQUEsd0JBQWlCLEdBQUUsQ0FBQTtJQUV6QixNQUFNLE9BQU8sR0FBRyxlQUFLLENBQUMsSUFBSSxFQUFFLENBQUE7SUFDNUIsT0FBTyxDQUFDLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxDQUFBO0lBRXhDLDRCQUE0QjtJQUM1QixJQUFJLENBQUMsSUFBQSx5QkFBYyxHQUFFLEVBQUU7UUFDckIsT0FBTyxDQUFDLElBQUksQ0FDVixvRUFBb0UsQ0FDckUsQ0FBQTtRQUNELE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUE7S0FDaEI7SUFFRCwyQ0FBMkM7SUFDM0MsT0FBTyxDQUFDLElBQUksQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFBO0lBQ2hELElBQ0Usb0JBQVUsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEtBQUssS0FBSztRQUN0QyxvQkFBVSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMs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
|
|
@@ -1,8 +1,133 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
6
|
const gluegun_1 = require("gluegun");
|
|
7
|
+
const os_1 = require("os");
|
|
8
|
+
const constants_1 = require("../setup/constants");
|
|
9
|
+
const upsert_1 = __importDefault(require("../patching/upsert"));
|
|
10
|
+
const mac_1 = require("../setup/pico/mac");
|
|
11
|
+
const linux_1 = require("../setup/pico/linux");
|
|
12
|
+
const moddable_1 = require("../setup/moddable");
|
|
13
|
+
const exec_1 = require("../system/exec");
|
|
4
14
|
async function default_1() {
|
|
5
|
-
|
|
15
|
+
var _a;
|
|
16
|
+
const OS = (0, os_1.type)().toLowerCase();
|
|
17
|
+
const PICO_BRANCH = '1.5.0';
|
|
18
|
+
const PICO_EXTRAS_REPO = 'https://github.com/raspberrypi/pico-extras';
|
|
19
|
+
const PICO_ROOT = (_a = process.env.PICO_ROOT) !== null && _a !== void 0 ? _a : gluegun_1.filesystem.resolve(constants_1.INSTALL_DIR, 'pico');
|
|
20
|
+
const PICO_SDK_DIR = gluegun_1.filesystem.resolve(PICO_ROOT, 'pico-sdk');
|
|
21
|
+
const PICO_EXTRAS_DIR = gluegun_1.filesystem.resolve(PICO_ROOT, 'pico-extras');
|
|
22
|
+
const PICO_EXAMPLES_PATH = gluegun_1.filesystem.resolve(PICO_ROOT, 'pico-examples');
|
|
23
|
+
const PICOTOOL_PATH = gluegun_1.filesystem.resolve(PICO_ROOT, 'picotool');
|
|
24
|
+
const PICOTOOL_BUILD_DIR = gluegun_1.filesystem.resolve(PICOTOOL_PATH, 'build');
|
|
25
|
+
const PICO_SDK_BUILD_DIR = gluegun_1.filesystem.resolve(PICO_SDK_DIR, 'build');
|
|
26
|
+
await (0, exec_1.sourceEnvironment)();
|
|
27
|
+
const spinner = gluegun_1.print.spin();
|
|
28
|
+
spinner.start('Starting pico tooling update');
|
|
29
|
+
// 0. ensure pico instal directory and Moddable exists
|
|
30
|
+
if (!(0, moddable_1.moddableExists)()) {
|
|
31
|
+
spinner.fail('Moddable platform tooling required. Run `xs-dev setup` before trying again.');
|
|
32
|
+
process.exit(1);
|
|
33
|
+
}
|
|
34
|
+
spinner.info('Ensuring pico directory');
|
|
35
|
+
if (gluegun_1.filesystem.exists(PICO_ROOT) === false ||
|
|
36
|
+
gluegun_1.filesystem.exists(PICO_SDK_DIR) === false ||
|
|
37
|
+
gluegun_1.filesystem.exists(PICO_EXTRAS_DIR) === false ||
|
|
38
|
+
gluegun_1.filesystem.exists(PICO_EXAMPLES_PATH) === false ||
|
|
39
|
+
gluegun_1.filesystem.exists(PICOTOOL_PATH) === false) {
|
|
40
|
+
spinner.fail('Pico tooling required. Run `xs-dev setup --device pico` before trying again.');
|
|
41
|
+
process.exit(1);
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
spinner.succeed('Found existing pico tooling!');
|
|
45
|
+
}
|
|
46
|
+
// 1. Install required components
|
|
47
|
+
if (OS === 'darwin') {
|
|
48
|
+
if (gluegun_1.system.which('cmake') === null) {
|
|
49
|
+
spinner.start('Cmake required, installing with Homebrew');
|
|
50
|
+
await gluegun_1.system.exec('brew install cmake');
|
|
51
|
+
spinner.succeed();
|
|
52
|
+
}
|
|
53
|
+
await (0, mac_1.installDeps)(spinner);
|
|
54
|
+
const brewPrefix = await gluegun_1.system.run('brew --prefix');
|
|
55
|
+
process.env.PICO_GCC_ROOT = brewPrefix;
|
|
56
|
+
await (0, upsert_1.default)(constants_1.EXPORTS_FILE_PATH, `export PICO_GCC_ROOT=${brewPrefix}`);
|
|
57
|
+
}
|
|
58
|
+
if (OS === 'linux') {
|
|
59
|
+
spinner.start('Installing build dependencies with apt');
|
|
60
|
+
await (0, linux_1.installDeps)(spinner);
|
|
61
|
+
process.env.PICO_GCC_ROOT = '/usr';
|
|
62
|
+
await (0, upsert_1.default)(constants_1.EXPORTS_FILE_PATH, `export PICO_GCC_ROOT=/usr`);
|
|
63
|
+
}
|
|
64
|
+
spinner.succeed();
|
|
65
|
+
// 2. Update the pico sdk, extras, examples, and picotool:
|
|
66
|
+
if (gluegun_1.filesystem.exists(PICO_SDK_DIR) === 'dir') {
|
|
67
|
+
spinner.start('Updating pico-sdk repo');
|
|
68
|
+
await gluegun_1.system.spawn(`git fetch --all --tags`, { cwd: PICO_SDK_DIR });
|
|
69
|
+
await gluegun_1.system.spawn(`git checkout ${PICO_BRANCH}`, { cwd: PICO_SDK_DIR });
|
|
70
|
+
await gluegun_1.system.spawn(`git submodule update --init --recursive`, {
|
|
71
|
+
cwd: PICO_SDK_DIR,
|
|
72
|
+
});
|
|
73
|
+
spinner.succeed();
|
|
74
|
+
}
|
|
75
|
+
if (gluegun_1.filesystem.exists(PICO_EXTRAS_DIR) === 'dir') {
|
|
76
|
+
spinner.start('Updating pico-extras repo');
|
|
77
|
+
await gluegun_1.system.exec(`git clone --depth 1 --single-branch -b sdk-${PICO_BRANCH} ${PICO_EXTRAS_REPO} ${PICO_EXTRAS_DIR}`, { stdout: process.stdout });
|
|
78
|
+
await gluegun_1.system.spawn(`git fetch --all --tags`, { cwd: PICO_EXTRAS_DIR });
|
|
79
|
+
await gluegun_1.system.spawn(`git checkout sdk-${PICO_BRANCH}`, {
|
|
80
|
+
cwd: PICO_EXTRAS_DIR,
|
|
81
|
+
});
|
|
82
|
+
spinner.succeed();
|
|
83
|
+
}
|
|
84
|
+
if (gluegun_1.filesystem.exists(PICO_EXAMPLES_PATH) === 'dir') {
|
|
85
|
+
spinner.start('Updating pico-examples repo');
|
|
86
|
+
await gluegun_1.system.spawn(`git fetch --all --tags`, { cwd: PICO_EXAMPLES_PATH });
|
|
87
|
+
await gluegun_1.system.spawn(`git checkout sdk-${PICO_BRANCH}`, {
|
|
88
|
+
cwd: PICO_EXAMPLES_PATH,
|
|
89
|
+
});
|
|
90
|
+
spinner.succeed();
|
|
91
|
+
}
|
|
92
|
+
if (gluegun_1.filesystem.exists(PICOTOOL_PATH) === 'dir') {
|
|
93
|
+
spinner.start('Updating picotool repo');
|
|
94
|
+
await gluegun_1.system.spawn(`git fetch --all --tags`, { cwd: PICOTOOL_PATH });
|
|
95
|
+
await gluegun_1.system.spawn(`git checkout master`, { cwd: PICOTOOL_PATH });
|
|
96
|
+
spinner.succeed();
|
|
97
|
+
}
|
|
98
|
+
// 4. Build some pico tools:
|
|
99
|
+
spinner.start('Build some pico tools');
|
|
100
|
+
gluegun_1.filesystem.dir(PICO_SDK_BUILD_DIR);
|
|
101
|
+
await gluegun_1.system.exec('cmake ..', {
|
|
102
|
+
shell: process.env.SHELL,
|
|
103
|
+
stdout: process.stdout,
|
|
104
|
+
cwd: PICO_SDK_BUILD_DIR,
|
|
105
|
+
});
|
|
106
|
+
await gluegun_1.system.exec('make', {
|
|
107
|
+
shell: process.env.SHELL,
|
|
108
|
+
stdout: process.stdout,
|
|
109
|
+
cwd: PICO_SDK_BUILD_DIR,
|
|
110
|
+
});
|
|
111
|
+
spinner.succeed();
|
|
112
|
+
// 5. Build _the_ picotool
|
|
113
|
+
spinner.start('Build the picotool CLI');
|
|
114
|
+
gluegun_1.filesystem.dir(PICOTOOL_BUILD_DIR);
|
|
115
|
+
await gluegun_1.system.exec('cmake ..', {
|
|
116
|
+
shell: process.env.SHELL,
|
|
117
|
+
stdout: process.stdout,
|
|
118
|
+
cwd: PICOTOOL_BUILD_DIR,
|
|
119
|
+
});
|
|
120
|
+
await gluegun_1.system.exec('make', {
|
|
121
|
+
shell: process.env.SHELL,
|
|
122
|
+
stdout: process.stdout,
|
|
123
|
+
cwd: PICOTOOL_BUILD_DIR,
|
|
124
|
+
});
|
|
125
|
+
spinner.succeed();
|
|
126
|
+
spinner.succeed(`
|
|
127
|
+
Successfully updated pico platform support for Moddable!
|
|
128
|
+
Test out the update by starting a new terminal session and putting the device into programming mode by holding the BOOTSEL button when powering on the Pico
|
|
129
|
+
Then run: xs-dev run --example helloworld --device pico
|
|
130
|
+
`);
|
|
6
131
|
}
|
|
7
132
|
exports.default = default_1;
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
133
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGljby5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90b29sYm94L3VwZGF0ZS9waWNvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEscUNBQW1EO0FBQ25ELDJCQUF5QztBQUN6QyxrREFBbUU7QUFDbkUsZ0VBQXVDO0FBQ3ZDLDJDQUFpRTtBQUNqRSwrQ0FBcUU7QUFDckUsZ0RBQWtEO0FBQ2xELHlDQUFrRDtBQUVuQyxLQUFLOztJQUNsQixNQUFNLEVBQUUsR0FBRyxJQUFBLFNBQVksR0FBRSxDQUFDLFdBQVcsRUFBRSxDQUFBO0lBQ3ZDLE1BQU0sV0FBVyxHQUFHLE9BQU8sQ0FBQTtJQUMzQixNQUFNLGdCQUFnQixHQUFHLDRDQUE0QyxDQUFBO0lBQ3JFLE1BQU0sU0FBUyxHQUNiLE1BQUEsT0FBTyxDQUFDLEdBQUcsQ0FBQyxTQUFTLG1DQUFJLG9CQUFVLENBQUMsT0FBTyxDQUFDLHVCQUFXLEVBQUUsTUFBTSxDQUFDLENBQUE7SUFDbEUsTUFBTSxZQUFZLEdBQUcsb0JBQVUsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLFVBQVUsQ0FBQyxDQUFBO0lBQzlELE1BQU0sZUFBZSxHQUFHLG9CQUFVLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxhQUFhLENBQUMsQ0FBQTtJQUNwRSxNQUFNLGtCQUFrQixHQUFHLG9CQUFVLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxlQUFlLENBQUMsQ0FBQTtJQUN6RSxNQUFNLGFBQWEsR0FBRyxvQkFBVSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsVUFBVSxDQUFDLENBQUE7SUFDL0QsTUFBTSxrQkFBa0IsR0FBRyxvQkFBVSxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsT0FBTyxDQUFDLENBQUE7SUFDckUsTUFBTSxrQkFBa0IsR0FBRyxvQkFBVSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsT0FBTyxDQUFDLENBQUE7SUFFcEUsTUFBTSxJQUFBLHdCQUFpQixHQUFF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
|