Skip to content

Commit 4dc77e3

Browse files
authored
Merge pull request #1342 from finos/emsdk-npm-fix
Replace `emsdk-npm` with simple script
2 parents 283fd5c + 062dc9d commit 4dc77e3

File tree

6 files changed

+52
-13
lines changed

6 files changed

+52
-13
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -176,3 +176,4 @@ rust/perspective-vieux/pkg
176176

177177
rust/perspective-vieux/target
178178
rust/perspective-vieux/target2
179+
.emsdk

cpp/perspective/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,10 @@
1010
"dist/cjs/**/*"
1111
],
1212
"scripts": {
13-
"build": "yarn emsdk-run node ./build.js",
13+
"build": "node ../../scripts/run_emsdk.js node ./build.js",
1414
"clean": "rimraf dist/cpp/build",
1515
"test": ":",
1616
"test:run": ":",
1717
"test:build": ":"
1818
}
19-
}
19+
}

package.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,6 @@
4949
"cssnano": "^4.1.10",
5050
"cssnano-preset-lite": "^1.0.1",
5151
"dotenv": "^8.1.0",
52-
"emsdk-npm": "https://github.com/texodus/emsdk-npm.git#bash-sub-fix",
5352
"eslint": "^6.6.0",
5453
"eslint-config-prettier": "^3.0.1",
5554
"eslint-plugin-markdown": "^1.0.2",

scripts/install_emsdk.js

Lines changed: 28 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,23 +9,45 @@
99

1010
require("dotenv").config({path: "./.perspectiverc"});
1111

12-
const {execute, execute_throw} = require("./script_utils.js");
12+
const {execute_throw} = require("./script_utils.js");
1313
const {emscripten} = require("../package.json");
14+
const path = require("path");
15+
const os = require("os");
16+
const fs = require("fs");
17+
18+
function base() {
19+
return path.join(__dirname, "..", ".emsdk");
20+
}
21+
22+
function emsdk_checkout() {
23+
function git(args) {
24+
execute_throw`git ${args.join(" ")}`;
25+
}
26+
27+
git(["clone", "https://github.com/emscripten-core/emsdk.git", base()]);
28+
}
29+
30+
function emsdk(...args) {
31+
const basedir = base();
32+
const suffix = os.type() == "Windows_NT" ? ".bat" : "";
33+
const emsdk = path.join(basedir, "emsdk" + suffix);
34+
execute_throw`${emsdk} ${args.join(" ")}`;
35+
}
1436

1537
function upgrade() {
1638
console.log(`-- Emscripten not found, installing ${emscripten}`);
17-
execute`yarn emsdk-checkout`;
18-
execute`yarn emsdk install ${emscripten}`;
19-
execute`yarn emsdk activate ${emscripten}`;
39+
emsdk_checkout();
40+
emsdk("install", emscripten);
41+
emsdk("activate", emscripten);
2042
console.log(`-- Emscripten ${emscripten} installed`);
2143
}
2244

2345
function check() {
2446
try {
25-
execute_throw`yarn emsdk-run command -v emcc`;
47+
execute_throw`emcc --version`;
2648
return true;
2749
} catch (e) {
28-
return false;
50+
return fs.existsSync(path.join(__dirname, "..", ".emsdk"));
2951
}
3052
}
3153

scripts/run_emsdk.js

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
/******************************************************************************
2+
*
3+
* Copyright (c) 2017, the Perspective Authors.
4+
*
5+
* This file is part of the Perspective library, distributed under the terms of
6+
* the Apache License 2.0. The full license can be found in the LICENSE file.
7+
*
8+
*/
9+
10+
const {execute_throw} = require("./script_utils.js");
11+
const path = require("path");
12+
13+
try {
14+
const cwd = process.cwd();
15+
const cmd = process.argv.slice(2).join(" ");
16+
const emsdkdir = path.join(__dirname, "..", ".emsdk");
17+
execute_throw`cd ${emsdkdir} && . ./emsdk_env.sh && cd ${cwd} && ${cmd}`;
18+
} catch (e) {
19+
console.log(e.message);
20+
process.exit(1);
21+
}

yarn.lock

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7105,10 +7105,6 @@ emojis-list@^3.0.0:
71057105
resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78"
71067106
integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==
71077107

7108-
"emsdk-npm@https://github.com/texodus/emsdk-npm.git#bash-sub-fix":
7109-
version "0.2.2"
7110-
resolved "https://github.com/texodus/emsdk-npm.git#19ecbaa3fb2572bd00a87173273815cf5e382fef"
7111-
71127108
encodeurl@~1.0.2:
71137109
version "1.0.2"
71147110
resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59"

0 commit comments

Comments
 (0)