mirror of
https://github.com/pezkuwichain/revive.git
synced 2026-04-22 21:58:01 +00:00
e07d0f0cb7
- Move npm package from paritytech/js-revive - Rename package to `@parity/resolc`
33 lines
813 B
JavaScript
33 lines
813 B
JavaScript
const soljson = require("solc/soljson");
|
|
const createRevive = require("./resolc.js");
|
|
|
|
async function compile(standardJsonInput) {
|
|
if (!standardJsonInput) {
|
|
throw new Error("Input JSON for the Solidity compiler is required.");
|
|
}
|
|
|
|
// Initialize the compiler
|
|
const compiler = createRevive();
|
|
compiler.soljson = soljson;
|
|
|
|
// Provide input to the compiler
|
|
compiler.writeToStdin(JSON.stringify(standardJsonInput));
|
|
|
|
// Run the compiler
|
|
compiler.callMain(["--standard-json"]);
|
|
|
|
// Collect output
|
|
const stdout = compiler.readFromStdout();
|
|
const stderr = compiler.readFromStderr();
|
|
|
|
// Check for errors and throw if stderr exists
|
|
if (stderr) {
|
|
throw new Error(`Compilation failed: ${stderr}`);
|
|
}
|
|
|
|
// Return the output if no errors
|
|
return stdout;
|
|
}
|
|
|
|
module.exports = { compile };
|