@truffle/compile-solidity
Version:
Compiler helper and artifact manager for Solidity files
41 lines • 1.52 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.NoPathError = exports.Local = void 0;
const path_1 = __importDefault(require("path"));
const original_require_1 = __importDefault(require("original-require"));
const wrapper_1 = __importDefault(require("solc/wrapper"));
const observeListeners_1 = require("../observeListeners");
class Local {
load(localPath) {
const listeners = (0, observeListeners_1.observeListeners)();
try {
const compilerPath = path_1.default.isAbsolute(localPath)
? localPath
: path_1.default.resolve(process.cwd(), localPath);
let soljson;
try {
soljson = (0, original_require_1.default)(compilerPath);
}
catch (error) {
throw new NoPathError(localPath, error);
}
//HACK: if it has a compile function, assume it's already wrapped
return soljson.compile ? soljson : (0, wrapper_1.default)(soljson);
}
finally {
listeners.cleanup();
}
}
}
exports.Local = Local;
class NoPathError extends Error {
constructor(input, error) {
const message = `Could not find compiler at: ${input}\n\n` + error;
super(message);
}
}
exports.NoPathError = NoPathError;
//# sourceMappingURL=Local.js.map