Package Exports
- wasm-check
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (wasm-check) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
TypeScript / JavaScript library for detect WebAssembly post-MVP features in node.js & browser
About post-MVP WebAssembly features
https://github.com/WebAssembly/design/blob/master/FutureFeatures.md#tracking-issues
Tests on Canary with flags:
Enable some experimental features for Chrome Canary (Mac):
/Applications/Google\ Chrome\ Canary.app/Contents/MacOS/Google\ Chrome\ Canary --js-flags="--experimental-wasm-eh"More experimental js-flags for v8:
--experimental-wasm-eh
--experimental-wasm-mv
--experimental-wasm-sat-f2i-conversions
--experimental-wasm-se
--experimental-wasm-threads
--experimental-wasm-simd
--experimental-wasm-anyref
--experimental-wasm-bulk-memoryInstall
yarn add wasm-checkor
npm install wasm-checkUsage
Check supported WebAssembly version
import check from 'wasm-check';
// for node.js:
// const check = require('wasm-check').default;
console.log(check.support()); // default MVP
console.log(check.support(1)); // same
console.log(check.support(2)); // version 2 (for future)Check supporting streaming compilation
import check from 'wasm-check';
console.log(check.supportStreaming);Get all post-MVP WebAssembly features
import check from 'wasm-check';
const features = { ...check.feature };
console.log(features);Output:
{ bigInt: false,
bulk: false,
exceptions: false,
mutableGlobals: true,
multiValues: false,
saturateConversions: false,
signExtensions: true,
tailCalls: false,
threads: false,
simd: false,
references: false }Or check concrete feature
import check from 'wasm-check';
console.log(check.feature.simd); // has SIMD support?
console.log(check.feature.tailCalls); // has tail call optimization support?TODO
- GC integration feature check
- funcref/closure feature check
- host binding feature check (?)