xs-dev 0.15.0 → 0.17.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/bin/xs-dev +3 -4
- package/build/commands/build.js +30 -0
- package/build/commands/include.js +9 -7
- package/build/commands/remove.js +5 -5
- package/build/commands/run.js +15 -124
- package/build/commands/setup.js +3 -3
- package/build/commands/update.js +3 -3
- package/build/extensions/build-extension.js +7 -0
- package/build/toolbox/build/index.js +145 -0
- package/build/toolbox/setup/fontbm.js +7 -3
- package/build/toolbox/setup/linux.js +45 -7
- package/build/toolbox/setup/mac.js +51 -12
- package/build/toolbox/setup/moddable.js +35 -2
- package/build/toolbox/setup/types.js +3 -0
- package/build/toolbox/setup/windows.js +2 -2
- package/build/toolbox/update/esp32.js +3 -3
- package/build/toolbox/update/linux.js +92 -31
- package/build/toolbox/update/mac.js +80 -26
- package/build/types/commands/build.d.ts +4 -0
- package/build/types/extensions/build-extension.d.ts +3 -0
- package/build/types/toolbox/build/index.d.ts +13 -0
- package/build/types/toolbox/setup/linux.d.ts +2 -1
- package/build/types/toolbox/setup/mac.d.ts +2 -1
- package/build/types/toolbox/setup/moddable.d.ts +11 -0
- package/build/types/toolbox/setup/types.d.ts +3 -0
- package/build/types/toolbox/setup/windows.d.ts +2 -1
- package/build/types/toolbox/update/linux.d.ts +2 -1
- package/build/types/toolbox/update/mac.d.ts +2 -1
- package/build/types/types.d.ts +5 -2
- package/docs/public/make-scrollable-code-focusable.js +2 -2
- package/docs/public/run-hello-world.png +0 -0
- package/docs/src/components/HeadCommon.astro +0 -9
- package/docs/src/components/HeadSEO.astro +2 -8
- package/docs/src/components/Header/Header.astro +1 -1
- package/docs/src/components/LeftSidebar/LeftSidebar.astro +1 -1
- package/docs/src/config.ts +3 -0
- package/docs/src/languages.ts +6 -6
- package/docs/src/layouts/MainLayout.astro +1 -1
- package/docs/src/pages/en/features/run.md +29 -2
- package/docs/src/pages/en/features/setup.md +13 -1
- package/docs/src/pages/en/features/update.md +16 -0
- package/docs/src/pages/en/guide/00-prepare.md +50 -0
- package/docs/src/pages/en/guide/01-hello-console.md +62 -0
- package/docs/tsconfig.json +1 -0
- package/package.json +13 -9
|
@@ -3,13 +3,20 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const os_1 = __importDefault(require("os"));
|
|
7
|
+
const util_1 = require("util");
|
|
8
|
+
const fs_1 = require("fs");
|
|
6
9
|
const gluegun_1 = require("gluegun");
|
|
7
10
|
const constants_1 = require("./constants");
|
|
8
11
|
const upsert_1 = __importDefault(require("../patching/upsert"));
|
|
9
12
|
const exec_1 = require("../system/exec");
|
|
10
|
-
|
|
13
|
+
const moddable_1 = require("./moddable");
|
|
14
|
+
const chmodPromise = (0, util_1.promisify)(fs_1.chmod);
|
|
15
|
+
async function default_1({ targetBranch }) {
|
|
16
|
+
var _a;
|
|
11
17
|
gluegun_1.print.info('Setting up Linux tools!');
|
|
12
18
|
const BIN_PATH = gluegun_1.filesystem.resolve(constants_1.INSTALL_PATH, 'build', 'bin', 'lin', 'release');
|
|
19
|
+
const DEBUG_BIN_PATH = gluegun_1.filesystem.resolve(constants_1.INSTALL_PATH, 'build', 'bin', 'lin', 'debug');
|
|
13
20
|
const BUILD_DIR = gluegun_1.filesystem.resolve(constants_1.INSTALL_PATH, 'build', 'makefiles', 'lin');
|
|
14
21
|
const PROFILE_PATH = (0, constants_1.getProfilePath)();
|
|
15
22
|
const spinner = gluegun_1.print.spin();
|
|
@@ -32,8 +39,32 @@ async function default_1() {
|
|
|
32
39
|
spinner.info('Moddable repo already installed');
|
|
33
40
|
}
|
|
34
41
|
else {
|
|
35
|
-
|
|
36
|
-
|
|
42
|
+
if (targetBranch === 'latest-release') {
|
|
43
|
+
spinner.start('Getting latest Moddable-OpenSource/moddable release');
|
|
44
|
+
const release = await (0, moddable_1.fetchLatestRelease)();
|
|
45
|
+
await gluegun_1.system.spawn(`git clone ${constants_1.MODDABLE_REPO} ${constants_1.INSTALL_PATH} --depth 1 --branch ${release.tag_name} --single-branch`);
|
|
46
|
+
gluegun_1.filesystem.dir(BIN_PATH);
|
|
47
|
+
gluegun_1.filesystem.dir(DEBUG_BIN_PATH);
|
|
48
|
+
const isArm = os_1.default.arch() === 'arm64';
|
|
49
|
+
const assetName = isArm
|
|
50
|
+
? 'moddable-tools-lin64arm.zip'
|
|
51
|
+
: 'moddable-tools-lin64.zip';
|
|
52
|
+
spinner.info('Downloading release tools');
|
|
53
|
+
await (0, moddable_1.downloadReleaseTools)({
|
|
54
|
+
writePath: BIN_PATH,
|
|
55
|
+
assetName,
|
|
56
|
+
release,
|
|
57
|
+
});
|
|
58
|
+
const tools = (_a = gluegun_1.filesystem.list(BIN_PATH)) !== null && _a !== void 0 ? _a : [];
|
|
59
|
+
await Promise.all(tools.map(async (tool) => {
|
|
60
|
+
await chmodPromise(gluegun_1.filesystem.resolve(BIN_PATH, tool), 0o751);
|
|
61
|
+
await gluegun_1.filesystem.copyAsync(gluegun_1.filesystem.resolve(BIN_PATH, tool), gluegun_1.filesystem.resolve(DEBUG_BIN_PATH, tool));
|
|
62
|
+
}));
|
|
63
|
+
}
|
|
64
|
+
if (targetBranch === 'public') {
|
|
65
|
+
spinner.start('Cloning Moddable-OpenSource/moddable repo');
|
|
66
|
+
await gluegun_1.system.spawn(`git clone ${constants_1.MODDABLE_REPO} ${constants_1.INSTALL_PATH} --depth 1 --branch ${targetBranch} --single-branch`);
|
|
67
|
+
}
|
|
37
68
|
spinner.succeed();
|
|
38
69
|
}
|
|
39
70
|
// 4. Setup the MODDABLE environment variable
|
|
@@ -43,11 +74,18 @@ async function default_1() {
|
|
|
43
74
|
await (0, upsert_1.default)(constants_1.EXPORTS_FILE_PATH, `export MODDABLE=${process.env.MODDABLE}`);
|
|
44
75
|
await (0, upsert_1.default)(constants_1.EXPORTS_FILE_PATH, `export PATH="${BIN_PATH}:$PATH"`);
|
|
45
76
|
// 5. Build the Moddable command line tools, simulator, and debugger from the command line:
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
77
|
+
if (targetBranch === 'public') {
|
|
78
|
+
spinner.start('Building platform tooling');
|
|
79
|
+
await gluegun_1.system.exec('make', { cwd: BUILD_DIR, stdout: process.stdout });
|
|
80
|
+
spinner.succeed();
|
|
81
|
+
}
|
|
49
82
|
// 6. Install the desktop simulator and xsbug debugger applications
|
|
50
83
|
spinner.start('Installing simulator');
|
|
84
|
+
if (targetBranch === 'latest-release') {
|
|
85
|
+
gluegun_1.filesystem.dir(gluegun_1.filesystem.resolve(BUILD_DIR, '..', '..', 'tmp', 'lin', 'debug', 'simulator'));
|
|
86
|
+
await gluegun_1.system.exec(`mcconfig -m -p x-lin ${gluegun_1.filesystem.resolve(constants_1.INSTALL_PATH, 'tools', 'xsbug', 'manifest.json')}`, { process });
|
|
87
|
+
await gluegun_1.system.exec(`mcconfig -m -p x-lin ${gluegun_1.filesystem.resolve(constants_1.INSTALL_PATH, 'tools', 'mcsim', 'manifest.json')}`, { process });
|
|
88
|
+
}
|
|
51
89
|
await (0, exec_1.execWithSudo)('make install', {
|
|
52
90
|
cwd: BUILD_DIR,
|
|
53
91
|
stdout: process.stdout,
|
|
@@ -57,4 +95,4 @@ async function default_1() {
|
|
|
57
95
|
gluegun_1.print.success('Moddable SDK successfully set up! Start a new terminal session and run the "helloworld example": xs-dev run --example helloworld');
|
|
58
96
|
}
|
|
59
97
|
exports.default = default_1;
|
|
60
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
98
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGludXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdG9vbGJveC9zZXR1cC9saW51eC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDRDQUFtQjtBQUNuQiwrQkFBZ0M7QUFDaEMsMkJBQTBCO0FBQzFCLHFDQUFtRDtBQUNuRCwyQ0FNb0I7QUFDcEIsZ0VBQXVDO0FBQ3ZDLHlDQUE2QztBQUU3Qyx5Q0FBcUU7QUFFckUsTUFBTSxZQUFZLEdBQUcsSUFBQSxnQkFBUyxFQUFDLFVBQUssQ0FBQyxDQUFBO0FBRXRCLEtBQUssb0JBQVcsRUFBRSxZQUFZLEVBQWE7O0lBQ3hELGVBQUssQ0FBQyxJQUFJLENBQUMseUJBQXlCLENBQUMsQ0FBQTtJQUVyQyxNQUFNLFFBQVEsR0FBRyxvQkFBVSxDQUFDLE9BQU8sQ0FDakMsd0JBQVksRUFDWixPQUFPLEVBQ1AsS0FBSyxFQUNMLEtBQUssRUFDTCxTQUFTLENBQ1YsQ0FBQTtJQUNELE1BQU0sY0FBYyxHQUFHLG9CQUFVLENBQUMsT0FBTyxDQUN2Qyx3QkFBWSxFQUNaLE9BQU8sRUFDUCxLQUFLLEVBQ0wsS0FBSyxFQUNMLE9BQU8sQ0FDUixDQUFBO0lBQ0QsTUFBTSxTQUFTLEdBQUcsb0JBQVUsQ0FBQyxPQUFPLENBQ2xDLHdCQUFZLEVBQ1osT0FBTyxFQUNQLFdBQVcsRUFDWCxLQUFLLENBQ04sQ0FBQTtJQUNELE1BQU0sWUFBWSxHQUFHLElBQUEsMEJBQWMsR0FBRSxDQUFBO0lBRXJDLE1BQU0sT0FBTyxHQUFHLGVBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQTtJQUM1QixPQUFPLENBQUMsS0FBSyxDQUFDLG9CQUFvQixDQUFDLENBQUE7SUFFbkMsK0VBQStFO0lBQy9FLG9CQUFVLENBQUMsR0FBRyxDQUFDLHVCQUFXLENBQUMsQ0FBQTtJQUUzQixNQUFNLElBQUEsZ0JBQU0sRUFBQyw2QkFBaUIsRUFBRSwyQkFBMkIsQ0FBQyxDQUFBO0lBRTVELHlEQUF5RDtJQUN6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
|
|
@@ -4,11 +4,18 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const gluegun_1 = require("gluegun");
|
|
7
|
+
const os_1 = __importDefault(require("os"));
|
|
8
|
+
const util_1 = require("util");
|
|
9
|
+
const fs_1 = require("fs");
|
|
7
10
|
const constants_1 = require("./constants");
|
|
8
11
|
const upsert_1 = __importDefault(require("../patching/upsert"));
|
|
9
|
-
|
|
12
|
+
const moddable_1 = require("./moddable");
|
|
13
|
+
const chmodPromise = (0, util_1.promisify)(fs_1.chmod);
|
|
14
|
+
async function default_1({ targetBranch }) {
|
|
15
|
+
var _a;
|
|
10
16
|
gluegun_1.print.info('Setting up the mac tools!');
|
|
11
17
|
const BIN_PATH = gluegun_1.filesystem.resolve(constants_1.INSTALL_PATH, 'build', 'bin', 'mac', 'release');
|
|
18
|
+
const DEBUG_BIN_PATH = gluegun_1.filesystem.resolve(constants_1.INSTALL_PATH, 'build', 'bin', 'mac', 'debug');
|
|
12
19
|
const BUILD_DIR = gluegun_1.filesystem.resolve(constants_1.INSTALL_PATH, 'build', 'makefiles', 'mac');
|
|
13
20
|
const PROFILE_PATH = (0, constants_1.getProfilePath)();
|
|
14
21
|
// 0. ensure xcode command line tools are available (?)
|
|
@@ -35,8 +42,38 @@ async function default_1() {
|
|
|
35
42
|
}
|
|
36
43
|
else {
|
|
37
44
|
try {
|
|
38
|
-
|
|
39
|
-
|
|
45
|
+
if (targetBranch === 'latest-release') {
|
|
46
|
+
spinner.start('Getting latest Moddable-OpenSource/moddable release');
|
|
47
|
+
const release = await (0, moddable_1.fetchLatestRelease)();
|
|
48
|
+
await gluegun_1.system.spawn(`git clone ${constants_1.MODDABLE_REPO} ${constants_1.INSTALL_PATH} --depth 1 --branch ${release.tag_name} --single-branch`);
|
|
49
|
+
gluegun_1.filesystem.dir(BIN_PATH);
|
|
50
|
+
gluegun_1.filesystem.dir(DEBUG_BIN_PATH);
|
|
51
|
+
const isArm = os_1.default.arch() === 'arm64';
|
|
52
|
+
const assetName = isArm
|
|
53
|
+
? 'moddable-tools-mac64arm.zip'
|
|
54
|
+
: 'moddable-tools-mac64.zip';
|
|
55
|
+
spinner.info('Downloading release tools');
|
|
56
|
+
await (0, moddable_1.downloadReleaseTools)({
|
|
57
|
+
writePath: BIN_PATH,
|
|
58
|
+
assetName,
|
|
59
|
+
release,
|
|
60
|
+
});
|
|
61
|
+
const tools = (_a = gluegun_1.filesystem.list(BIN_PATH)) !== null && _a !== void 0 ? _a : [];
|
|
62
|
+
await Promise.all(tools.map(async (tool) => {
|
|
63
|
+
if (tool.endsWith('.app')) {
|
|
64
|
+
const mainPath = gluegun_1.filesystem.resolve(BIN_PATH, tool, 'Contents', 'MacOS', 'main');
|
|
65
|
+
await chmodPromise(mainPath, 0o751);
|
|
66
|
+
}
|
|
67
|
+
else {
|
|
68
|
+
await chmodPromise(gluegun_1.filesystem.resolve(BIN_PATH, tool), 0o751);
|
|
69
|
+
}
|
|
70
|
+
await gluegun_1.filesystem.copyAsync(gluegun_1.filesystem.resolve(BIN_PATH, tool), gluegun_1.filesystem.resolve(DEBUG_BIN_PATH, tool));
|
|
71
|
+
}));
|
|
72
|
+
}
|
|
73
|
+
if (targetBranch === 'public') {
|
|
74
|
+
spinner.start('Cloning Moddable-OpenSource/moddable repo');
|
|
75
|
+
await gluegun_1.system.spawn(`git clone ${constants_1.MODDABLE_REPO} ${constants_1.INSTALL_PATH} --depth 1 --branch ${targetBranch} --single-branch`);
|
|
76
|
+
}
|
|
40
77
|
spinner.succeed();
|
|
41
78
|
}
|
|
42
79
|
catch (error) {
|
|
@@ -51,14 +88,16 @@ async function default_1() {
|
|
|
51
88
|
await (0, upsert_1.default)(constants_1.EXPORTS_FILE_PATH, `export MODDABLE=${process.env.MODDABLE}`);
|
|
52
89
|
await (0, upsert_1.default)(constants_1.EXPORTS_FILE_PATH, `export PATH="${BIN_PATH}:$PATH"`);
|
|
53
90
|
// 3. cd into makefiles dir for platform, run `make`
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
91
|
+
if (targetBranch === 'public') {
|
|
92
|
+
try {
|
|
93
|
+
spinner.start('Building platform tooling');
|
|
94
|
+
await gluegun_1.system.exec('make', { cwd: BUILD_DIR, stdout: process.stdout });
|
|
95
|
+
spinner.succeed();
|
|
96
|
+
}
|
|
97
|
+
catch (error) {
|
|
98
|
+
spinner.fail(`Error building mac tooling: ${String(error)}`);
|
|
99
|
+
process.exit(1);
|
|
100
|
+
}
|
|
62
101
|
}
|
|
63
102
|
// 4. symlink xsbug.app into user applications directory
|
|
64
103
|
try {
|
|
@@ -76,4 +115,4 @@ async function default_1() {
|
|
|
76
115
|
spinner.succeed('Moddable SDK successfully set up! Start a new terminal session and run the "helloworld example": xs-dev run --example helloworld');
|
|
77
116
|
}
|
|
78
117
|
exports.default = default_1;
|
|
79
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
118
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFjLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3Rvb2xib3gvc2V0dXAvbWFjLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEscUNBQW1EO0FBQ25ELDRDQUFtQjtBQUNuQiwrQkFBZ0M7QUFDaEMsMkJBQTBCO0FBQzFCLDJDQU1vQjtBQUNwQixnRUFBdUM7QUFDdkMseUNBQXFFO0FBR3JFLE1BQU0sWUFBWSxHQUFHLElBQUEsZ0JBQVMsRUFBQyxVQUFLLENBQUMsQ0FBQTtBQUV0QixLQUFLLG9CQUFXLEVBQUUsWUFBWSxFQUFhOztJQUN4RCxlQUFLLENBQUMsSUFBSSxDQUFDLDJCQUEyQixDQUFDLENBQUE7SUFFdkMsTUFBTSxRQUFRLEdBQUcsb0JBQVUsQ0FBQyxPQUFPLENBQ2pDLHdCQUFZLEVBQ1osT0FBTyxFQUNQLEtBQUssRUFDTCxLQUFLLEVBQ0wsU0FBUyxDQUNWLENBQUE7SUFDRCxNQUFNLGNBQWMsR0FBRyxvQkFBVSxDQUFDLE9BQU8sQ0FDdkMsd0JBQVksRUFDWixPQUFPLEVBQ1AsS0FBSyxFQUNMLEtBQUssRUFDTCxPQUFPLENBQ1IsQ0FBQTtJQUNELE1BQU0sU0FBUyxHQUFHLG9CQUFVLENBQUMsT0FBTyxDQUNsQyx3QkFBWSxFQUNaLE9BQU8sRUFDUCxXQUFXLEVBQ1gsS0FBSyxDQUNOLENBQUE7SUFFRCxNQUFNLFlBQVksR0FBRyxJQUFBLDBCQUFjLEdBQUUsQ0FBQTtJQUVyQyx1REFBdUQ7SUFDdkQsSUFBSTtRQUNGLE1BQU0sZ0JBQU0sQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQTtLQUNyQztJQUFDLE9BQU8sS0FBSyxFQUFFO1FBQ2QsZUFBSyxDQUFDLEtBQUssQ0FDVCw0RkFBNEYsQ0FDN0YsQ0FBQTtRQUNELE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUE7S0FDaEI7SUFFRCxNQUFNLE9BQU8sR0FBRyxlQUFLLENBQUMsSUFBSSxFQUFFLENBQUE7SUFD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
|
|
@@ -1,10 +1,43 @@
|
|
|
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
|
-
exports.moddableExists = void 0;
|
|
6
|
+
exports.downloadReleaseTools = exports.fetchLatestRelease = exports.moddableExists = void 0;
|
|
7
|
+
const stream_1 = require("stream");
|
|
8
|
+
const util_1 = require("util");
|
|
4
9
|
const gluegun_1 = require("gluegun");
|
|
10
|
+
const rest_1 = require("@octokit/rest");
|
|
11
|
+
const unzip_stream_1 = require("unzip-stream");
|
|
12
|
+
const axios_1 = __importDefault(require("axios"));
|
|
13
|
+
const finishedPromise = (0, util_1.promisify)(stream_1.finished);
|
|
5
14
|
function moddableExists() {
|
|
6
15
|
return (process.env.MODDABLE !== undefined &&
|
|
7
16
|
gluegun_1.filesystem.exists(process.env.MODDABLE) === 'dir');
|
|
8
17
|
}
|
|
9
18
|
exports.moddableExists = moddableExists;
|
|
10
|
-
|
|
19
|
+
async function fetchLatestRelease() {
|
|
20
|
+
const octokit = new rest_1.Octokit();
|
|
21
|
+
const { data: latestRelease } = await octokit.rest.repos.getLatestRelease({
|
|
22
|
+
owner: 'Moddable-OpenSource',
|
|
23
|
+
repo: 'moddable',
|
|
24
|
+
});
|
|
25
|
+
return latestRelease;
|
|
26
|
+
}
|
|
27
|
+
exports.fetchLatestRelease = fetchLatestRelease;
|
|
28
|
+
async function downloadReleaseTools({ writePath, assetName, release, }) {
|
|
29
|
+
const moddableTools = release.assets.find(({ name }) => name === assetName);
|
|
30
|
+
if (moddableTools === undefined) {
|
|
31
|
+
throw new Error(`Unable to find release asset matching ${assetName}`);
|
|
32
|
+
}
|
|
33
|
+
const zipWriter = (0, unzip_stream_1.Extract)({
|
|
34
|
+
path: writePath,
|
|
35
|
+
});
|
|
36
|
+
const response = await axios_1.default.get(moddableTools.browser_download_url, {
|
|
37
|
+
responseType: 'stream',
|
|
38
|
+
});
|
|
39
|
+
response.data.pipe(zipWriter);
|
|
40
|
+
await finishedPromise(zipWriter);
|
|
41
|
+
}
|
|
42
|
+
exports.downloadReleaseTools = downloadReleaseTools;
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZGFibGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdG9vbGJveC9zZXR1cC9tb2RkYWJsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxtQ0FBaUM7QUFDakMsK0JBQWdDO0FBQ2hDLHFDQUFvQztBQUNwQyx3Q0FBZ0U7QUFDaEUsK0NBQW9EO0FBQ3BELGtEQUF5QjtBQUV6QixNQUFNLGVBQWUsR0FBRyxJQUFBLGdCQUFTLEVBQUMsaUJBQVEsQ0FBQyxDQUFBO0FBRTNDLFNBQWdCLGNBQWM7SUFDNUIsT0FBTyxDQUNMLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxLQUFLLFNBQVM7UUFDbEMsb0JBQVUsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsS0FBSyxLQUFLLENBQ2xELENBQUE7QUFDSCxDQUFDO0FBTEQsd0NBS0M7QUFXTSxLQUFLLFVBQVUsa0JBQWtCO0lBQ3RDLE1BQU0sT0FBTyxHQUFHLElBQUksY0FBTyxFQUFFLENBQUE7SUFDN0IsTUFBTSxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUsR0FBRyxNQUFNLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDO1FBQ3hFLEtBQUssRUFBRSxxQkFBcUI7UUFDNUIsSUFBSSxFQUFFLFVBQVU7S0FDakIsQ0FBQyxDQUFBO0lBQ0YsT0FBTyxhQUFhLENBQUE7QUFDdEIsQ0FBQztBQVBELGdEQU9DO0FBUU0sS0FBSyxVQUFVLG9CQUFvQixDQUFDLEVBQ3pDLFNBQVMsRUFDVCxTQUFTLEVBQ1QsT0FBTyxHQUNXO0lBQ2xCLE1BQU0sYUFBYSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUMsSUFBSSxLQUFLLFNBQVMsQ0FBQyxDQUFBO0lBRTNFLElBQUksYUFBYSxLQUFLLFNBQVMsRUFBRTtRQUMvQixNQUFNLElBQUksS0FBSyxDQUFDLHlDQUF5QyxTQUFTLEVBQUUsQ0FBQyxDQUFBO0tBQ3RFO0lBRUQsTUFBTSxTQUFTLEdBQUcsSUFBQSxzQkFBVSxFQUFDO1FBQzNCLElBQUksRUFBRSxTQUFTO0tBQ2hCLENBQUMsQ0FBQTtJQUNGLE1BQU0sUUFBUSxHQUFHLE1BQU0sZUFBSyxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsb0JBQW9CLEVBQUU7UUFDbkUsWUFBWSxFQUFFLFFBQVE7S0FDdkIsQ0FBQyxDQUFBO0lBQ0YsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUE7SUFDN0IsTUFBTSxlQUFlLENBQUMsU0FBUyxDQUFDLENBQUE7QUFDbEMsQ0FBQztBQW5CRCxvREFtQkMifQ==
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdG9vbGJveC9zZXR1cC90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIn0=
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const gluegun_1 = require("gluegun");
|
|
4
|
-
async function default_1() {
|
|
4
|
+
async function default_1(_args) {
|
|
5
5
|
gluegun_1.print.warning('Windows setup is not currently supported');
|
|
6
6
|
}
|
|
7
7
|
exports.default = default_1;
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2luZG93cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90b29sYm94L3NldHVwL3dpbmRvd3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxxQ0FBK0I7QUFHaEIsS0FBSyxvQkFBVyxLQUFnQjtJQUM3QyxlQUFLLENBQUMsT0FBTyxDQUFDLDBDQUEwQyxDQUFDLENBQUE7QUFDM0QsQ0FBQztBQUZELDRCQUVDIn0=
|
|
@@ -56,7 +56,7 @@ async function default_1() {
|
|
|
56
56
|
}
|
|
57
57
|
// remove sourced IDF_PATH/export settings before install
|
|
58
58
|
// https://github.com/espressif/esp-idf/issues/8314#issuecomment-1024881587
|
|
59
|
-
await gluegun_1.patching.replace(constants_1.EXPORTS_FILE_PATH, `source $IDF_PATH/export.sh\n`, '');
|
|
59
|
+
await gluegun_1.patching.replace(constants_1.EXPORTS_FILE_PATH, `source $IDF_PATH/export.sh 1> /dev/null\n`, '');
|
|
60
60
|
await gluegun_1.system.exec(`source ${constants_1.EXPORTS_FILE_PATH}`, {
|
|
61
61
|
shell: process.env.SHELL,
|
|
62
62
|
});
|
|
@@ -70,7 +70,7 @@ async function default_1() {
|
|
|
70
70
|
spinner.succeed();
|
|
71
71
|
// 6. append 'source $IDF_PATH/export.sh' to shell profile
|
|
72
72
|
spinner.info('Sourcing esp-idf environment');
|
|
73
|
-
await (0, upsert_1.default)(constants_1.EXPORTS_FILE_PATH, `source $IDF_PATH/export.sh`);
|
|
73
|
+
await (0, upsert_1.default)(constants_1.EXPORTS_FILE_PATH, `source $IDF_PATH/export.sh 1> /dev/null\n`);
|
|
74
74
|
await gluegun_1.system.exec('source $IDF_PATH/export.sh', {
|
|
75
75
|
shell: process.env.SHELL,
|
|
76
76
|
});
|
|
@@ -86,4 +86,4 @@ async function default_1() {
|
|
|
86
86
|
`);
|
|
87
87
|
}
|
|
88
88
|
exports.default = default_1;
|
|
89
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
89
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNwMzIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdG9vbGJveC91cGRhdGUvZXNwMzIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxxQ0FBNkQ7QUFDN0QsMkJBQXlDO0FBQ3pDLGtEQUFtRTtBQUNuRSxnREFBa0Q7QUFDbEQsZ0VBQXVDO0FBQ3ZDLDRDQUFrRTtBQUNsRSxnREFBc0U7QUFFdkQsS0FBSzs7SUFDbEIsTUFBTSxFQUFFLEdBQUcsSUFBQSxTQUFZLEdBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQTtJQUN2QyxNQUFNLFVBQVUsR0FBRyxRQUFRLENBQUE7SUFDM0IsTUFBTSxTQUFTLEdBQUcsb0JBQVUsQ0FBQyxPQUFPLENBQUMsdUJBQVcsRUFBRSxPQUFPLENBQUMsQ0FBQTtJQUMxRCxNQUFNLFFBQVEsR0FBRyxvQkFBVSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDLENBQUE7SUFFekQsTUFBTSxPQUFPLEdBQUcsZUFBSyxDQUFDLElBQUksRUFBRSxDQUFBO0lBQzVCLE9BQU8sQ0FBQyxLQUFLLENBQUMseUJBQXlCLENBQUMsQ0FBQTtJQUV4Qyw0QkFBNEI7SUFDNUIsSUFBSSxDQUFDLElBQUEseUJBQWMsR0FBRSxFQUFFO1FBQ3JCLE9BQU8sQ0FBQyxJQUFJLENBQ1Ysb0VBQW9FLENBQ3JFLENBQUE7UUFDRCxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFBO0tBQ2hCO0lBRUQsMkNBQTJDO0lBQzNDLE9BQU8sQ0FBQyxJQUFJLENBQUMsa0NBQWtDLENBQUMsQ0FBQTtJQUNoRCxJQUNFLG9CQUFVLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEtBQUs7UUFDdEMsb0JBQVUsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUssS0FBSyxFQUNyQztRQUNBLE9BQU8sQ0FBQyxJQUFJLENBQ1YsZ0ZBQWdGLENBQ2pGLENBQUE7UUFDRCxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFBO0tBQ2hCO0lBRUQsK0JBQStCO0lBQy9CLElBQUksb0JBQVUsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUssS0FBSyxFQUFFO1FBQ3pDLE9BQU8sQ0FBQyxLQUFLLENBQUMsdUJBQXVCLENBQUMsQ0FBQTtRQUN0QyxNQUFNLGdCQUFNLENBQUMsS0FBSyxDQUFDLHdCQUF3QixFQUFFLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUE7UUFDL0QsTUFBTSxnQkFBTSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsVUFBVSxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQTtRQUNuRSxNQUFNLGdCQUFNLENBQUMsS0FBSyxDQUFDLHlDQUF5QyxFQUFFO1lBQzVELEdBQUcsRUFBRSxRQUFRO1NBQ2QsQ0FBQyxDQUFBO1FBQ0YsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFBO0tBQ2xCO0lBRUQsd0NBQXdDO0lBQ3hDLE9BQU8sQ0FBQyxLQUFLLENBQUMsK0JBQStCLENBQUMsQ0FBQTtJQUU5QyxJQUFJLEVBQUUsS0FBSyxRQUFRLEVBQUU7UUFDbkIsTUFBTSxJQUFBLGlCQUFjLEVBQUMsT0FBTyxDQUFDLENBQUE7S0FDOUI7SUFFRCxJQUFJLEVBQUUsS0FBSyxPQUFPLEVBQUU7UUFDbEIsTUFBTSxJQUFBLG1CQUFnQixFQUFDLE9BQU8sQ0FBQyxDQUFBO0tBQ2hDO0lBRUQsaURBQWlEO0lBQ2pELElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEtBQUssU0FBUyxFQUFFO1FBQ3RDLE9BQU8sQ0FBQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsQ0FBQTtRQUNyQyxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUE7UUFDL0IsTUFBTSxJQUFBLGdCQUFNLEVBQUMsNkJBQWlCLEVBQUUsbUJBQW1CLFFBQVEsRUFBRSxDQUFDLENBQUE7S0FDL0Q7SUFFRCx5REFBeUQ7SUFDekQsMkVBQTJFO0lBQzNFLE1BQU0sa0JBQVEsQ0FBQyxPQUFPLENBQ3BCLDZCQUFpQixFQUNqQiwyQ0FBMkMsRUFDM0MsRUFBRSxDQUNILENBQUE7SUFDRCxNQUFNLGdCQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsNkJBQWlCLEVBQUUsRUFBRTtRQUMvQyxLQUFLLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLO0tBQ3pCLENBQUMsQ0FBQTtJQUVGLG9DQUFvQztJQUNwQyxPQUFPLENBQUMsS0FBSyxDQUFDLDRCQUE0QixDQUFDLENBQUE7SUFDM0MsTUFBTSxnQkFBTSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUU7UUFDaEMsR0FBRyxFQUFFLFFBQVE7UUFDYixLQUFLLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLO1FBQ3hCLE1BQU0sRUFBRSxPQUFPLENBQUMsTUFBTTtLQUN2QixDQUFDLENBQUE7SUFDRixPQUFPLENBQUMsT0FBTyxFQUFFLENBQUE7SUFFakIsMERBQTBEO0lBQzFELE9BQU8sQ0FBQyxJQUFJLENBQUMsOEJBQThCLENBQUMsQ0FBQTtJQUM1QyxNQUFNLElBQUEsZ0JBQU0sRUFBQyw2QkFBaUIsRUFBRSwyQ0FBMkMsQ0FBQyxDQUFBO0lBQzVFLE1BQU0sZ0JBQU0sQ0FBQyxJQUFJLENBQUMsNEJBQTRCLEVBQUU7UUFDOUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSztLQUN6QixDQUFDLENBQUE7SUFFRiw4Q0FBOEM7SUFDOUMsTUFBTSxTQUFTLEdBQUcsb0JBQVUsQ0FBQyxPQUFPLENBQ2xDLE1BQUEsT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLG1DQUFJLEVBQUUsRUFDMUIsT0FBTyxFQUNQLEtBQUssRUFDTCxPQUFPLENBQ1IsQ0FBQTtJQUNELE1BQU0sT0FBTyxHQUFHLG9CQUFVLENBQUMsT0FBTyxDQUNoQyxNQUFBLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxtQ0FBSSxFQUFFLEVBQzFCLE9BQU8sRUFDUCxLQUFLLEVBQ0wsT0FBTyxDQUNSLENBQUE7SUFDRCxvQkFBVSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQTtJQUM1QixvQkFBVSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQTtJQUUxQixPQUFPLENBQUMsT0FBTyxDQUFDOzs7O0dBSWYsQ0FBQyxDQUFBO0FBQ0osQ0FBQztBQTFHRCw0QkEwR0MifQ==
|
|
@@ -1,39 +1,100 @@
|
|
|
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 });
|
|
6
|
+
const os_1 = __importDefault(require("os"));
|
|
7
|
+
const util_1 = require("util");
|
|
8
|
+
const fs_1 = require("fs");
|
|
3
9
|
const gluegun_1 = require("gluegun");
|
|
4
10
|
const constants_1 = require("../setup/constants");
|
|
5
|
-
|
|
11
|
+
const moddable_1 = require("../setup/moddable");
|
|
12
|
+
const exec_1 = require("../system/exec");
|
|
13
|
+
const chmodPromise = (0, util_1.promisify)(fs_1.chmod);
|
|
14
|
+
async function default_1({ targetBranch }) {
|
|
15
|
+
var _a;
|
|
16
|
+
// 0. ensure Moddable exists
|
|
17
|
+
if (!(0, moddable_1.moddableExists)()) {
|
|
18
|
+
gluegun_1.print.error('Moddable tooling required. Run `xs-dev setup` before trying again.');
|
|
19
|
+
process.exit(1);
|
|
20
|
+
}
|
|
6
21
|
gluegun_1.print.info('Checking for SDK changes');
|
|
7
|
-
const BUILD_DIR = gluegun_1.filesystem.resolve(constants_1.INSTALL_PATH, 'build', 'makefiles', '
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
22
|
+
const BUILD_DIR = gluegun_1.filesystem.resolve(constants_1.INSTALL_PATH, 'build', 'makefiles', 'lin');
|
|
23
|
+
if (targetBranch === 'latest-release') {
|
|
24
|
+
// get tag for current repo
|
|
25
|
+
const currentTag = await gluegun_1.system.exec('git tag', {
|
|
26
|
+
cwd: process.env.MODDABLE,
|
|
27
|
+
});
|
|
28
|
+
// get latest release tag
|
|
29
|
+
const latestRelease = await (0, moddable_1.fetchLatestRelease)();
|
|
30
|
+
if (currentTag.trim() === latestRelease.tag_name) {
|
|
31
|
+
gluegun_1.print.success('Moddable SDK already up to date!');
|
|
32
|
+
process.exit(0);
|
|
33
|
+
}
|
|
34
|
+
const spinner = gluegun_1.print.spin();
|
|
35
|
+
spinner.start('Updating Moddable SDK!');
|
|
36
|
+
const BIN_PATH = gluegun_1.filesystem.resolve(constants_1.INSTALL_PATH, 'build', 'bin', 'lin', 'release');
|
|
37
|
+
const DEBUG_BIN_PATH = gluegun_1.filesystem.resolve(constants_1.INSTALL_PATH, 'build', 'bin', 'lin', 'debug');
|
|
38
|
+
gluegun_1.filesystem.remove(process.env.MODDABLE);
|
|
39
|
+
await gluegun_1.system.spawn(`git clone ${constants_1.MODDABLE_REPO} ${constants_1.INSTALL_PATH} --depth 1 --branch ${latestRelease.tag_name} --single-branch`);
|
|
40
|
+
gluegun_1.filesystem.dir(BIN_PATH);
|
|
41
|
+
gluegun_1.filesystem.dir(DEBUG_BIN_PATH);
|
|
42
|
+
const isArm = os_1.default.arch() === 'arm64';
|
|
43
|
+
const assetName = isArm
|
|
44
|
+
? 'moddable-tools-lin64arm.zip'
|
|
45
|
+
: 'moddable-tools-lin64.zip';
|
|
46
|
+
spinner.info('Downloading release tools');
|
|
47
|
+
await (0, moddable_1.downloadReleaseTools)({
|
|
48
|
+
writePath: BIN_PATH,
|
|
49
|
+
assetName,
|
|
50
|
+
release: latestRelease,
|
|
51
|
+
});
|
|
52
|
+
spinner.info('Updating tool permissions');
|
|
53
|
+
const tools = (_a = gluegun_1.filesystem.list(BIN_PATH)) !== null && _a !== void 0 ? _a : [];
|
|
54
|
+
await Promise.all(tools.map(async (tool) => {
|
|
55
|
+
await chmodPromise(gluegun_1.filesystem.resolve(BIN_PATH, tool), 0o751);
|
|
56
|
+
await gluegun_1.filesystem.copyAsync(gluegun_1.filesystem.resolve(BIN_PATH, tool), gluegun_1.filesystem.resolve(DEBUG_BIN_PATH, tool));
|
|
57
|
+
}));
|
|
58
|
+
spinner.info('Reinstalling simulator');
|
|
59
|
+
gluegun_1.filesystem.dir(gluegun_1.filesystem.resolve(BUILD_DIR, '..', '..', 'tmp', 'lin', 'debug', 'simulator'));
|
|
60
|
+
await gluegun_1.system.exec(`mcconfig -m -p x-lin ${gluegun_1.filesystem.resolve(constants_1.INSTALL_PATH, 'tools', 'xsbug', 'manifest.json')}`, { process });
|
|
61
|
+
await gluegun_1.system.exec(`mcconfig -m -p x-lin ${gluegun_1.filesystem.resolve(constants_1.INSTALL_PATH, 'tools', 'mcsim', 'manifest.json')}`, { process });
|
|
62
|
+
await (0, exec_1.execWithSudo)('make install', {
|
|
63
|
+
cwd: BUILD_DIR,
|
|
64
|
+
stdout: process.stdout,
|
|
65
|
+
});
|
|
66
|
+
spinner.succeed('Moddable SDK successfully updated! Start the xsbug.app and run the "helloworld example": xs-dev run --example helloworld');
|
|
67
|
+
}
|
|
68
|
+
if (targetBranch === 'public') {
|
|
69
|
+
const currentRev = await gluegun_1.system.exec('git rev-parse public', {
|
|
70
|
+
cwd: process.env.MODDABLE,
|
|
71
|
+
});
|
|
72
|
+
const remoteRev = await gluegun_1.system.exec('git ls-remote origin refs/heads/public', { cwd: process.env.MODDABLE });
|
|
73
|
+
if (remoteRev.split('\t').shift() === currentRev.trim()) {
|
|
74
|
+
gluegun_1.print.success('Moddable SDK already up to date!');
|
|
75
|
+
process.exit(0);
|
|
76
|
+
}
|
|
77
|
+
const spinner = gluegun_1.print.spin();
|
|
78
|
+
spinner.start('Updating Moddable SDK!');
|
|
79
|
+
spinner.start('Stashing any unsaved changes before committing');
|
|
80
|
+
await gluegun_1.system.exec('git stash', { cwd: process.env.MODDABLE });
|
|
81
|
+
await gluegun_1.system.exec('git pull origin public', { cwd: process.env.MODDABLE });
|
|
82
|
+
await gluegun_1.system.exec('rm -rf build/{tmp,bin}', { cwd: process.env.MODDABLE });
|
|
83
|
+
spinner.succeed();
|
|
84
|
+
spinner.start('Rebuilding platform tools');
|
|
85
|
+
await gluegun_1.system.exec('make', {
|
|
86
|
+
cwd: BUILD_DIR,
|
|
87
|
+
stdout: process.stdout,
|
|
88
|
+
});
|
|
89
|
+
spinner.succeed();
|
|
90
|
+
spinner.start('Reinstalling simulator');
|
|
91
|
+
await (0, exec_1.execWithSudo)('make install', {
|
|
92
|
+
cwd: BUILD_DIR,
|
|
93
|
+
stdout: process.stdout,
|
|
94
|
+
});
|
|
95
|
+
spinner.succeed();
|
|
96
|
+
gluegun_1.print.success('Moddable SDK successfully updated! Start the xsbug.app and run the "helloworld example": xs-dev run --example helloworld');
|
|
15
97
|
}
|
|
16
|
-
const spinner = gluegun_1.print.spin();
|
|
17
|
-
spinner.start('Updating Moddable SDK!');
|
|
18
|
-
spinner.start('Stashing any unsaved changes before committing');
|
|
19
|
-
await gluegun_1.system.exec('git stash', { cwd: process.env.MODDABLE });
|
|
20
|
-
await gluegun_1.system.exec('git pull origin public', { cwd: process.env.MODDABLE });
|
|
21
|
-
await gluegun_1.system.exec('rm -rf build/{tmp,bin}', { cwd: process.env.MODDABLE });
|
|
22
|
-
spinner.succeed();
|
|
23
|
-
spinner.start('Rebuilding platform tools');
|
|
24
|
-
await gluegun_1.system.exec('make', {
|
|
25
|
-
cwd: BUILD_DIR,
|
|
26
|
-
stdout: process.stdout,
|
|
27
|
-
});
|
|
28
|
-
spinner.succeed();
|
|
29
|
-
spinner.start('Reinstalling simulator');
|
|
30
|
-
await gluegun_1.system.exec('make install', {
|
|
31
|
-
cwd: BUILD_DIR,
|
|
32
|
-
stdout: process.stdout,
|
|
33
|
-
stdin: process.stdin,
|
|
34
|
-
});
|
|
35
|
-
spinner.succeed();
|
|
36
|
-
gluegun_1.print.success('Moddable SDK successfully updated! Start the xsbug.app and run the "helloworld example": xs-dev run --example helloworld');
|
|
37
98
|
}
|
|
38
99
|
exports.default = default_1;
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
100
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGludXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdG9vbGJveC91cGRhdGUvbGludXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw0Q0FBbUI7QUFDbkIsK0JBQWdDO0FBQ2hDLDJCQUEwQjtBQUMxQixxQ0FBbUQ7QUFDbkQsa0RBQWdFO0FBRWhFLGdEQUkwQjtBQUMxQix5Q0FBNkM7QUFFN0MsTUFBTSxZQUFZLEdBQUcsSUFBQSxnQkFBUyxFQUFDLFVBQUssQ0FBQyxDQUFBO0FBRXRCLEtBQUssb0JBQVcsRUFBRSxZQUFZLEVBQWE7O0lBQ3hELDRCQUE0QjtJQUM1QixJQUFJLENBQUMsSUFBQSx5QkFBYyxHQUFFLEVBQUU7UUFDckIsZUFBSyxDQUFDLEtBQUssQ0FDVCxvRUFBb0UsQ0FDckUsQ0FBQTtRQUNELE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUE7S0FDaEI7SUFFRCxlQUFLLENBQUMsSUFBSSxDQUFDLDBCQUEwQixDQUFDLENBQUE7SUFFdEMsTUFBTSxTQUFTLEdBQUcsb0JBQVUsQ0FBQyxPQUFPLENBQ2xDLHdCQUFZLEVBQ1osT0FBTyxFQUNQLFdBQVcsRUFDWCxLQUFLLENBQ04sQ0FBQTtJQUVELElBQUksWUFBWSxLQUFLLGdCQUFnQixFQUFFO1FBQ3JDLDJCQUEyQjtRQUMzQixNQUFNLFVBQVUsR0FBVyxNQUFNLGdCQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUN0RCxHQUFHLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRO1NBQzFCLENBQUMsQ0FBQTtRQUNGLHlCQUF5QjtRQUN6QixNQUFNLGFBQWEsR0FBRyxNQUFNLElBQUEsNkJBQWtCLEdBQUUsQ0FBQTtRQUVoRCxJQUFJLFVBQVUsQ0FBQyxJQUFJLEVBQUUsS0FBSyxhQUFhLENBQUMsUUFBUSxFQUFFO1lBQ2hELGVBQUssQ0FBQyxPQUFPLENBQUMsa0NBQWtDLENBQUMsQ0FBQTtZQUNqRCxPQUFP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
|
|
@@ -1,39 +1,93 @@
|
|
|
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 });
|
|
6
|
+
const os_1 = __importDefault(require("os"));
|
|
7
|
+
const util_1 = require("util");
|
|
8
|
+
const fs_1 = require("fs");
|
|
3
9
|
const gluegun_1 = require("gluegun");
|
|
10
|
+
const constants_1 = require("../setup/constants");
|
|
4
11
|
const moddable_1 = require("../setup/moddable");
|
|
5
|
-
|
|
6
|
-
|
|
12
|
+
const chmodPromise = (0, util_1.promisify)(fs_1.chmod);
|
|
13
|
+
async function default_1({ targetBranch }) {
|
|
14
|
+
var _a, _b, _c;
|
|
7
15
|
gluegun_1.print.info('Checking for SDK changes');
|
|
8
16
|
// 0. ensure Moddable exists
|
|
9
17
|
if (!(0, moddable_1.moddableExists)()) {
|
|
10
18
|
gluegun_1.print.error('Moddable tooling required. Run `xs-dev setup` before trying again.');
|
|
11
19
|
process.exit(1);
|
|
12
20
|
}
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
21
|
+
if (targetBranch === 'latest-release') {
|
|
22
|
+
// get tag for current repo
|
|
23
|
+
const currentTag = await gluegun_1.system.exec('git tag', {
|
|
24
|
+
cwd: process.env.MODDABLE,
|
|
25
|
+
});
|
|
26
|
+
// get latest release tag
|
|
27
|
+
const latestRelease = await (0, moddable_1.fetchLatestRelease)();
|
|
28
|
+
if (currentTag.trim() === latestRelease.tag_name) {
|
|
29
|
+
gluegun_1.print.success('Moddable SDK already up to date!');
|
|
30
|
+
process.exit(0);
|
|
31
|
+
}
|
|
32
|
+
const spinner = gluegun_1.print.spin();
|
|
33
|
+
spinner.start('Updating Moddable SDK!');
|
|
34
|
+
const BIN_PATH = gluegun_1.filesystem.resolve(constants_1.INSTALL_PATH, 'build', 'bin', 'mac', 'release');
|
|
35
|
+
const DEBUG_BIN_PATH = gluegun_1.filesystem.resolve(constants_1.INSTALL_PATH, 'build', 'bin', 'mac', 'debug');
|
|
36
|
+
gluegun_1.filesystem.remove(process.env.MODDABLE);
|
|
37
|
+
await gluegun_1.system.spawn(`git clone ${constants_1.MODDABLE_REPO} ${constants_1.INSTALL_PATH} --depth 1 --branch ${latestRelease.tag_name} --single-branch`);
|
|
38
|
+
gluegun_1.filesystem.dir(BIN_PATH);
|
|
39
|
+
gluegun_1.filesystem.dir(DEBUG_BIN_PATH);
|
|
40
|
+
const isArm = os_1.default.arch() === 'arm64';
|
|
41
|
+
const assetName = isArm
|
|
42
|
+
? 'moddable-tools-mac64arm.zip'
|
|
43
|
+
: 'moddable-tools-mac64.zip';
|
|
44
|
+
spinner.info('Downloading release tools');
|
|
45
|
+
await (0, moddable_1.downloadReleaseTools)({
|
|
46
|
+
writePath: BIN_PATH,
|
|
47
|
+
assetName,
|
|
48
|
+
release: latestRelease,
|
|
49
|
+
});
|
|
50
|
+
spinner.info('Updating tool permissions');
|
|
51
|
+
const tools = (_a = gluegun_1.filesystem.list(BIN_PATH)) !== null && _a !== void 0 ? _a : [];
|
|
52
|
+
await Promise.all(tools.map(async (tool) => {
|
|
53
|
+
if (tool.endsWith('.app')) {
|
|
54
|
+
const mainPath = gluegun_1.filesystem.resolve(BIN_PATH, tool, 'Contents', 'MacOS', 'main');
|
|
55
|
+
await chmodPromise(mainPath, 0o751);
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
await chmodPromise(gluegun_1.filesystem.resolve(BIN_PATH, tool), 0o751);
|
|
59
|
+
}
|
|
60
|
+
await gluegun_1.filesystem.copyAsync(gluegun_1.filesystem.resolve(BIN_PATH, tool), gluegun_1.filesystem.resolve(DEBUG_BIN_PATH, tool));
|
|
61
|
+
}));
|
|
62
|
+
spinner.succeed('Moddable SDK successfully updated! Start the xsbug.app and run the "helloworld example": xs-dev run --example helloworld');
|
|
63
|
+
}
|
|
64
|
+
if (targetBranch === 'public') {
|
|
65
|
+
const currentRev = await gluegun_1.system.exec('git rev-parse public', {
|
|
66
|
+
cwd: process.env.MODDABLE,
|
|
67
|
+
});
|
|
68
|
+
const remoteRev = await gluegun_1.system.exec('git ls-remote origin refs/heads/public', { cwd: process.env.MODDABLE });
|
|
69
|
+
if (remoteRev.split('\t').shift() === currentRev.trim()) {
|
|
70
|
+
gluegun_1.print.success('Moddable SDK already up to date!');
|
|
71
|
+
process.exit(0);
|
|
72
|
+
}
|
|
73
|
+
const spinner = gluegun_1.print.spin();
|
|
74
|
+
spinner.start('Updating Moddable SDK!');
|
|
75
|
+
spinner.start('Stashing any unsaved changes before committing');
|
|
76
|
+
await gluegun_1.system.exec('git stash', { cwd: process.env.MODDABLE });
|
|
77
|
+
await gluegun_1.system.exec('git pull origin public', { cwd: process.env.MODDABLE });
|
|
78
|
+
const BUILD_DIR = gluegun_1.filesystem.resolve((_b = process.env.MODDABLE) !== null && _b !== void 0 ? _b : '', 'build', 'bin');
|
|
79
|
+
const TMP_DIR = gluegun_1.filesystem.resolve((_c = process.env.MODDABLE) !== null && _c !== void 0 ? _c : '', 'build', 'tmp');
|
|
80
|
+
gluegun_1.filesystem.remove(BUILD_DIR);
|
|
81
|
+
gluegun_1.filesystem.remove(TMP_DIR);
|
|
82
|
+
spinner.succeed();
|
|
83
|
+
spinner.start('Rebuilding platform tools');
|
|
84
|
+
// install release assets or build
|
|
85
|
+
await gluegun_1.system.exec('make', {
|
|
86
|
+
cwd: gluegun_1.filesystem.resolve(String(process.env.MODDABLE), 'build', 'makefiles', 'mac'),
|
|
87
|
+
stdout: process.stdout,
|
|
88
|
+
});
|
|
89
|
+
spinner.succeed('Moddable SDK successfully updated! Start the xsbug.app and run the "helloworld example": xs-dev run --example helloworld');
|
|
20
90
|
}
|
|
21
|
-
const spinner = gluegun_1.print.spin();
|
|
22
|
-
spinner.start('Updating Moddable SDK!');
|
|
23
|
-
spinner.start('Stashing any unsaved changes before committing');
|
|
24
|
-
await gluegun_1.system.exec('git stash', { cwd: process.env.MODDABLE });
|
|
25
|
-
await gluegun_1.system.exec('git pull origin public', { cwd: process.env.MODDABLE });
|
|
26
|
-
const BUILD_DIR = gluegun_1.filesystem.resolve((_a = process.env.MODDABLE) !== null && _a !== void 0 ? _a : '', 'build', 'bin');
|
|
27
|
-
const TMP_DIR = gluegun_1.filesystem.resolve((_b = process.env.MODDABLE) !== null && _b !== void 0 ? _b : '', 'build', 'tmp');
|
|
28
|
-
gluegun_1.filesystem.remove(BUILD_DIR);
|
|
29
|
-
gluegun_1.filesystem.remove(TMP_DIR);
|
|
30
|
-
spinner.succeed();
|
|
31
|
-
spinner.start('Rebuilding platform tools');
|
|
32
|
-
await gluegun_1.system.exec('make', {
|
|
33
|
-
cwd: gluegun_1.filesystem.resolve(String(process.env.MODDABLE), 'build', 'makefiles', 'mac'),
|
|
34
|
-
stdout: process.stdout,
|
|
35
|
-
});
|
|
36
|
-
spinner.succeed('Moddable SDK successfully updated! Start the xsbug.app and run the "helloworld example": xs-dev run --example helloworld');
|
|
37
91
|
}
|
|
38
92
|
exports.default = default_1;
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
93
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFjLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3Rvb2xib3gvdXBkYXRlL21hYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDRDQUFtQjtBQUNuQiwrQkFBZ0M7QUFDaEMsMkJBQTBCO0FBQzFCLHFDQUFtRDtBQUNuRCxrREFBZ0U7QUFDaEUsZ0RBSTBCO0FBRzFCLE1BQU0sWUFBWSxHQUFHLElBQUEsZ0JBQVMsRUFBQyxVQUFLLENBQUMsQ0FBQTtBQUV0QixLQUFLLG9CQUFXLEVBQUUsWUFBWSxFQUFhOztJQUN4RCxlQUFLLENBQUMsSUFBSSxDQUFDLDBCQUEwQixDQUFDLENBQUE7SUFFdEMsNEJBQTRCO0lBQzVCLElBQUksQ0FBQyxJQUFBLHlCQUFjLEdBQUUsRUFBRTtRQUNyQixlQUFLLENBQUMsS0FBSyxDQUNULG9FQUFvRSxDQUNyRSxDQUFBO1FBQ0QsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQTtLQUNoQjtJQUVELElBQUksWUFBWSxLQUFLLGdCQUFnQixFQUFFO1FBQ3JDLDJCQUEyQjtRQUMzQixNQUFNLFVBQVUsR0FBVyxNQUFNLGdCQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUN0RCxHQUFHLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRO1NBQzFCLENBQUMsQ0FBQTtRQUNGLHlCQUF5QjtRQUN6QixNQUFNLGFBQWEsR0FBRyxNQUFNLElBQUEsNkJBQWtCLEdBQUUsQ0FBQTtRQUVoRCxJQUFJLFVBQVUsQ0FBQyxJQUFJLEVBQUUsS0FBSyxhQUFhLENBQUMsUUFBUSxFQUFFO1lBQ2hELGVBQUssQ0FBQyxPQUFPLENBQUMsa0NBQWtDLENBQUMsQ0FBQTtZQUNqRCxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFBO1NBQ2hCO1FBRUQsTUFBTSxPQUFPLEdBQUcsZUFBSyxDQUFDLElBQUksRUFBRSxDQUFBO1FBQzVCLE9BQU8sQ0FBQyxLQUFLLENB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
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export declare type DeployStatus = 'none' | 'run' | 'push';
|
|
2
|
+
export interface BuildArgs {
|
|
3
|
+
port?: string;
|
|
4
|
+
example?: string;
|
|
5
|
+
listExamples: boolean;
|
|
6
|
+
listDevices: boolean;
|
|
7
|
+
projectPath: string;
|
|
8
|
+
targetPlatform: string;
|
|
9
|
+
mode: 'development' | 'production';
|
|
10
|
+
deployStatus: DeployStatus;
|
|
11
|
+
outputDir: string;
|
|
12
|
+
}
|
|
13
|
+
export declare function build({ listDevices, port, example, listExamples, projectPath, targetPlatform, mode, deployStatus, outputDir, }: BuildArgs): Promise<void>;
|