| 'use strict'; |
| |
| const pa = require('path'); |
| |
| const {NodeVM, VMError} = require('../'); |
| |
| if (process.argv[2]) { |
| const path = pa.resolve(process.argv[2]); |
| |
| console.log(`\x1B[90m[vm] creating VM for ${path}\x1B[39m`); |
| const started = Date.now(); |
| |
| try { |
| NodeVM.file(path, { |
| verbose: true, |
| require: { |
| external: true |
| } |
| }); |
| |
| console.log(`\x1B[90m[vm] VM completed in ${Date.now() - started}ms\x1B[39m`); |
| } catch (ex) { |
| if (ex instanceof VMError) { |
| console.error(`\x1B[31m[vm:error] ${ex.message}\x1B[39m`); |
| } else { |
| const {stack} = ex; |
| |
| if (stack) { |
| console.error(`\x1B[31m[vm:error] ${stack}\x1B[39m`); |
| } else { |
| console.error(`\x1B[31m[vm:error] ${ex}\x1B[39m`); |
| } |
| } |
| } |
| } |