How to use the assemblyscript/cli/asc.main function in assemblyscript

To help you get started, we’ve selected a few assemblyscript examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github pikapkg / builders / packages / plugin-wasm-assemblyscript / pkg / dist-src / index.js View on Github external
await new Promise((resolve, reject) => {
    asc.main(["src/index.ts", "--binaryFile", relativeOutWasm, "-d", relativeOutTypes, "--optimize", "--sourceMap", // Optional:
    "--use", " Math=JSMath", "-O3", "--importMemory", ...(options.args || [])], {
      stdout: reporter.stdout,
      stderr: reporter.stderr
    }, err => {
      if (err) {
        reject(err);
        return;
      }

      resolve();
    });
  });
  reporter.created(path.join(out, "assets/index.wasm"));
github graphprotocol / graph-cli / src / compiler.js View on Github external
)

      let outputFile = path.relative(baseDir, outFile)

      // Create output directory
      try {
        fs.mkdirsSync(path.dirname(outputFile))
      } catch (e) {
        throw e
      }

      let libs = path.join(baseDir, 'node_modules')
      let global = path.join(libs, '@graphprotocol', 'graph-ts', 'global', 'global.ts')
      global = path.relative(baseDir, global)

      asc.main(
        [
          inputFile,
          global,
          '--baseDir',
          baseDir,
          '--lib',
          libs,
          '--outFile',
          outputFile,
          '--optimize',
        ],
        {
          stdout: process.stdout,
          stderr: process.stdout,
        },
        e => {
github SinaMFE / assemblyscript-typescript-loader / src / index.js View on Github external
targetPath = path.join(
        buildTempPath,
        path.parse(this.resourcePath).name + ".wasm"
    );
    mkDirsSync(buildTempPath);
    let params = [
        path.relative(process.cwd(), this.resourcePath),
        "-o",
        path.relative(process.cwd(), targetPath)
        // ,
        // "--optimize",
        // "--validate",
        // "--sourceMap"
    ];
    optionUtils(params,options);
    asc.main(
        params,
        function(err) {
            if (err) throw err;
            var distStates = fs.statSync(targetPath);
            var distFile = fs.readFileSync(targetPath);
            // Options `dataUrlLimit` is backward compatibility with first loader versions
            var limit =
                options.limit ||
                (me.options && me.options.url && me.options.url.dataUrlLimit);
            if (limit) {
                limit = parseInt(limit, 10);
            }
            // var mimetype = options.mimetype || options.minetype || mime.lookup(this.resourcePath)
            if (!limit || distStates.size < limit) {
                me.addDependency(wasmFooterPath);
                var jsModule = transpile2Js(source);
github AssemblyScript / node / tests / node.js View on Github external
const ext = path.extname(name);
    if (ext === ".wasm") optimizedBinaryMap.set(name, contents);
    if (ext === ".wat") optimizedWatMap.set(name, contents);
  }
};

const errors = [];

for (const file of files) {
  const ext = path.extname(file);
  const wasmFileName = path.join(path.dirname(file), path.basename(file, ext)) + ".wasm";
  const watFileName = path.join(path.dirname(file), path.basename(file, ext)) + ".wat";
  const cliOptions = ascOptions.concat([file, "--binaryFile", wasmFileName, "--textFile", watFileName]);

  process.stdout.write("Test File : " + file + " (untouched)\n");
  main(cliOptions, untouchedAscOptions, (err) => {
    if (err) {
      console.error(err);
      errors.push(err);
    } else {
      const binary = untouchedBinaryMap.get(wasmFileName);
      const wat = untouchedWatMap.get(watFileName);
      runTest(file, "untouched", binary, wat);
    }
  });

  process.stdout.write("\n");
  process.stdout.write("Test File : " + file + " (optimized)\n");
  main(cliOptions.concat(["-O3"]), optimizedAscOptions, (err) => {
    if (err) {
      console.error(err);
      errors.push(err);
github AssemblyScript / node / tests / node.js View on Github external
process.stdout.write("Test File : " + file + " (untouched)\n");
  main(cliOptions, untouchedAscOptions, (err) => {
    if (err) {
      console.error(err);
      errors.push(err);
    } else {
      const binary = untouchedBinaryMap.get(wasmFileName);
      const wat = untouchedWatMap.get(watFileName);
      runTest(file, "untouched", binary, wat);
    }
  });

  process.stdout.write("\n");
  process.stdout.write("Test File : " + file + " (optimized)\n");
  main(cliOptions.concat(["-O3"]), optimizedAscOptions, (err) => {
    if (err) {
      console.error(err);
      errors.push(err);
    } else {
      const binary = optimizedBinaryMap.get(wasmFileName);
      const wat = optimizedWatMap.get(watFileName);
      runTest(file, "optimized", binary, wat);
    }
  });

  process.stdout.write("\n");
}

function runTest(file, type, binary, wat) {
  const context = new TestContext({
    fileName: file,
github graphprotocol / graph-cli / src / compiler.js View on Github external
) {
        if (fs.existsSync(path.join(dir, 'node_modules'))) {
          libs = path.join(dir, 'node_modules')
        }
      }

      if (libs === undefined) {
        throw Error(
          `could not locate \`node_modules\` in parent directories of subgraph manifest`,
        )
      }

      let global = path.join(libs, '@graphprotocol', 'graph-ts', 'global', 'global.ts')
      global = path.relative(baseDir, global)

      asc.main(
        [
          inputFile,
          global,
          '--baseDir',
          baseDir,
          '--lib',
          libs,
          '--outFile',
          outputFile,
          '--optimize',
        ],
        {
          stdout: process.stdout,
          stderr: process.stdout,
        },
        e => {
github xtuc / webassemblyjs / packages / proposal-sign-extension-ops / src / polyfills.js View on Github external
instructions.forEach(instr => {
    asc.main(
      [
        `./packages/proposal-sign-extension-ops/src/polyfills/${instr}.ts`,
        "--binaryFile",
        `./packages/proposal-sign-extension-ops/src/polyfills/${instr}.wasm`,
        "--optimize"
      ],
      {
        stdout: process.stdout,
        stderr: process.stderr
      },
      function(err) {
        if (err) throw err;

        const wasmFile = readFileSync(
          `./packages/proposal-sign-extension-ops/src/polyfills/${instr}.wasm`
        );