An NPM wrapper for the Emscripten SDK.
This package installs the Emscripten compiler and provides a command line and a JS interface to use in your build scripts.
You may install one of these two packages:
- emscripten-sdk -- Control the SDK version via the NPM package version. Recommended.
- emscripten-sdk-npm -- Control the SDK version via CLI/API parameters. For advanced use.
npx emsdk-checkout
# To update SDK tags, run both `npx emsdk-pull` and `npx emsdk update-tags`
npx emsdk install <version>
npx emsdk activate <version>
npx emsdk-run emcc test/test.c -o test/test.htmlThe version parameter is not required when using the emscripten-sdk package.
const emsdk = require('emsdk-npm');
emsdk.checkout()
.then(() => emsdk.update())
.then(() => emsdk.install(version))
.then(() => emsdk.activate(version))
.then(() => emsdk.run(
'emcc',
[
// Arguments
'test/test.c', '-o', 'test/test.html'
],
{
// child_process.spawn options, e.g., cwd
}
))
.catch((err) => {
// handle err...
});The JS interface will skip installing the SDK and version if they already exist.
The version parameter is not required when using the emscripten-sdk package.
npm install --save-dev emscripten-sdkBefore you install this package, you must install Python 3.6+ on your system. You may download it at python.org or your OS's package manager.
By default, the SDK is installed into your node_modules tree. You may specify a custom path by
modifying your NPM config via one of the commands below. Do this before you install the package:
| Action | Command |
|---|---|
Save the path to your project .npmrc |
npm config --userconfig "/your/project/root/.npmrc" set emsdk "/your/absolute/custom/path" |
Save the path to your user .npmrc |
npm config set emsdk "/your/absolute/custom/path" |
| Set an environment variable | set NPM_CONFIG_EMSDK=/your/absolute/custom/path |
| Use a config argument to NPM temporarily | npm [command] --emsdk="/your/absolute/custom/path" |
If you install the emscripten-sdk package, then the Emscripten version is selected via the NPM
package version. Change the version you need by editing your package.json.
For example, to force version 1.40.1, you specify the NPM tag as sdk-1.40.1. On the command line:
npm install --save-dev emscripten-sdk@sdk-1.40.1You may only specify single versions this way. You may not specify version ranges. If you do not specify a version, then the latest version will be selected.
If you install the emscripten-sdk-npm package, then you will specify the version parameter in the command line and JS API. To force version 1.40.1, you specify 1.40.1. To select the most recent version, you specify latest.
If you install the emscripten-sdk package, then you are locked into your selected SDK version unless
you opt-in to a newer version. If you selected latest, then you are locked into the most recent
version at the time of installation.
To upgrade, enter this command once a new version is published:
npm install --save-dev emscripten-sdk@latestIf you install the emscripten-sdk-npm package, then you will receive updates so long as you update
the SDK store via npx emsdk-pull or the API emscripten.update(), then install the latest SDK version.
MIT License.