Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
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"));
)
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 => {
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);
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);
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,
) {
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 => {
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`
);