fcs
2025-04-10 0163870d662dc5b7d69ceff977490ede594f7d82
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
'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`);
            }
        }
    }
}