You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							36 lines
						
					
					
						
							718 B
						
					
					
				
			
		
		
	
	
							36 lines
						
					
					
						
							718 B
						
					
					
				'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`);
 | 
						|
			}
 | 
						|
		}
 | 
						|
	}
 | 
						|
}
 |