as-loader
AssemblyScript loader for webpack
Installation
This loader requires minimum Node.js 8 and webpack 4
npm install --save-dev as-loader
yarn add --dev as-loader
The minimal webpack config:
module.exports = {
entry: "src/index.ts",
resolve: {
extensions: [".ts", ".js"],
},
module: {
rules: [
{
test: /\.ts$/,
include: path.resolve(__dirname, "src/assembly"),
use: [
{
loader: "file-loader",
options: {
name: "[path][name].wasm",
esModule: false,
},
},
"as-loader",
],
},
{
test: /\.ts$/,
exclude: path.resolve(__dirname, "src/assembly"),
loader: "ts-loader",
},
],
},
};
Usage
import * as myModule from "./assembly/myModule";
import { instantiateStreaming } from "@assemblyscript/loader";
async function loadAndRun() {
const module = await instantiateStreaming<typeof myModule>(
fetch((myModule as unknown) as string)
);
module.exports.myFunction(100);
}
loadAndRun();