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`);
 | |
| 			}
 | |
| 		}
 | |
| 	}
 | |
| }
 |