UNPKG

@neo-one/server-plugin-compiler

Version:

NEO•ONE Server compiler plugin.

35 lines (33 loc) 3.83 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const tslib_1 = require("tslib"); const boa_1 = tslib_1.__importDefault(require("@neo-one/boa")); const server_plugin_1 = require("@neo-one/server-plugin"); const execa_1 = tslib_1.__importDefault(require("execa")); exports.compilePython = ({ vorpal, shutdown, logConfig$ }) => { vorpal.command('compile python <file> <output>', 'Compile Python code into a smart contract. Expects a py file.').action(async (args) => { const { file, output } = args; logConfig$.next({ name: 'compile-python', path: server_plugin_1.paths.log, level: 'info', maxSize: 10 * 1024 * 1024, maxFiles: 5 }); try { await execa_1.default(boa_1.default, [file, output]); } catch (error) { process.stdout.write(error.message); shutdown({ exitCode: 1, error }); return; } shutdown({ exitCode: 0 }); }); }; //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBpbGVQeXRob24udHMiXSwibmFtZXMiOlsiY29tcGlsZVB5dGhvbiIsInZvcnBhbCIsInNodXRkb3duIiwibG9nQ29uZmlnJCIsImNvbW1hbmQiLCJhY3Rpb24iLCJhcmdzIiwiZmlsZSIsIm91dHB1dCIsIm5leHQiLCJuYW1lIiwicGF0aCIsInBhdGhzIiwibG9nIiwibGV2ZWwiLCJtYXhTaXplIiwibWF4RmlsZXMiLCJleGVjYSIsImJvYSIsImVycm9yIiwicHJvY2VzcyIsInN0ZG91dCIsIndyaXRlIiwibWVzc2FnZSIsImV4aXRDb2RlIl0sIm1hcHBpbmdzIjoiOzs7QUFBQSwrREFBQTtBQUNBLDBEQUFBO0FBQ0EsMERBQUE7QUFFYUEsUUFBQUEsYUFBYSxHQUFHLENBQUMsRUFBRUMsTUFBRixFQUFVQyxRQUFWLEVBQW9CQyxVQUFBQSxFQUFyQixFQUFBLEVBQUE7SUFDM0JGLE1BQU0sQ0FDSEcsT0FESCxDQUNXLGdDQURYLEVBQzZDLCtEQUQ3QyxDQUFBLENBRUdDLE1BRkgsQ0FFVSxLQUFBLEVBQU9DLElBQVAsRUFBQSxFQUFBO1FBQ04sTUFBTSxFQUFFQyxJQUFGLEVBQVFDLE1BQUFBLEVBQVIsR0FBbUJGLElBQXpCLENBQUE7UUFFQUgsVUFBVSxDQUFDTSxJQUFYLENBQWdCO1lBQ2RDLElBQUksRUFBRSxnQkFEUTtZQUVkQyxJQUFJLEVBQUVDLHFCQUFLLENBQUNDLEdBRkU7WUFHZEMsS0FBSyxFQUFFLE1BSE87WUFJZEMsT0FBTyxFQUFFLEVBQUEsR0FBSyxJQUFMLEdBQVksSUFKUDtZQUtkQyxRQUFRLEVBQUUsQ0FBQTtTQUxaLENBQUEsQ0FBQTtRQVFBLElBQUk7WUFDRixNQUFNQyxlQUFLLENBQUNDLGFBQUQsRUFBTSxDQUFDWCxJQUFELEVBQU9DLE1BQVAsQ0FBTixDQUFYLENBQUE7U0FERjtRQUVFLE9BQU9XLEtBQVAsRUFBYztZQUNkQyxPQUFPLENBQUNDLE1BQVIsQ0FBZUMsS0FBZixDQUFxQkgsS0FBSyxDQUFDSSxPQUEzQixDQUFBLENBQUE7WUFDQXJCLFFBQVEsQ0FBQztnQkFBRXNCLFFBQVEsRUFBRSxDQUFaO2dCQUFlTCxLQUFBQTthQUFoQixDQUFSLENBQUE7WUFFQSxPQUFBO1NBQ0Q7UUFFRGpCLFFBQVEsQ0FBQztZQUFFc0IsUUFBUSxFQUFFLENBQUE7U0FBYixDQUFSLENBQUE7SUFDRCxDQXZCSCxDQUFBLENBQUE7QUF3QkQsQ0F6Qk0sQ0FBQSIsImZpbGUiOiJuZW8tb25lLXNlcnZlci1wbHVnaW4tY29tcGlsZXIvc3JjL2NvbW1hbmRzL2NvbXBpbGVQeXRob24uanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgYm9hIGZyb20gJ0BuZW8tb25lL2JvYSc7XG5pbXBvcnQgeyBDTElBcmdzLCBwYXRocyB9IGZyb20gJ0BuZW8tb25lL3NlcnZlci1wbHVnaW4nO1xuaW1wb3J0IGV4ZWNhIGZyb20gJ2V4ZWNhJztcblxuZXhwb3J0IGNvbnN0IGNvbXBpbGVQeXRob24gPSAoeyB2b3JwYWwsIHNodXRkb3duLCBsb2dDb25maWckIH06IENMSUFyZ3MpID0+IHtcbiAgdm9ycGFsXG4gICAgLmNvbW1hbmQoJ2NvbXBpbGUgcHl0aG9uIDxmaWxlPiA8b3V0cHV0PicsICdDb21waWxlIFB5dGhvbiBjb2RlIGludG8gYSBzbWFydCBjb250cmFjdC4gRXhwZWN0cyBhIHB5IGZpbGUuJylcbiAgICAuYWN0aW9uKGFzeW5jIChhcmdzKSA9PiB7XG4gICAgICBjb25zdCB7IGZpbGUsIG91dHB1dCB9ID0gYXJncztcblxuICAgICAgbG9nQ29uZmlnJC5uZXh0KHtcbiAgICAgICAgbmFtZTogJ2NvbXBpbGUtcHl0aG9uJyxcbiAgICAgICAgcGF0aDogcGF0aHMubG9nLFxuICAgICAgICBsZXZlbDogJ2luZm8nLFxuICAgICAgICBtYXhTaXplOiAxMCAqIDEwMjQgKiAxMDI0LFxuICAgICAgICBtYXhGaWxlczogNSxcbiAgICAgIH0pO1xuXG4gICAgICB0cnkge1xuICAgICAgICBhd2FpdCBleGVjYShib2EsIFtmaWxlLCBvdXRwdXRdKTtcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIHByb2Nlc3Muc3Rkb3V0LndyaXRlKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICBzaHV0ZG93bih7IGV4aXRDb2RlOiAxLCBlcnJvciB9KTtcblxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHNodXRkb3duKHsgZXhpdENvZGU6IDAgfSk7XG4gICAgfSk7XG59O1xuIl19