UNPKG

2.72 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3const fs_1 = require("fs");
4const path_1 = require("path");
5function setProcessExitListeners() {
6 process.on('unhandledRejection', (reason) => {
7 const message = reason && 'stack' in reason
8 ? reason.stack
9 : 'Unhandled asynchronous exception';
10 // eslint-disable-next-line no-console
11 console.error(`Unhandled asynchronous exception: ${message}`);
12 process.exit(1);
13 });
14 process.on('uncaughtException', (err) => {
15 // eslint-disable-next-line no-console
16 console.error(`Uncaught exception: ${err.stack}`);
17 process.exit(1);
18 });
19}
20exports.setProcessExitListeners = setProcessExitListeners;
21function applyRequires(requires) {
22 const requiresList = Array.isArray(requires) ? requires : [requires];
23 const output = [];
24 // required file can be in the process CWD
25 const cwd = process.cwd();
26 module.paths.push(cwd, path_1.join(cwd, 'node_modules'));
27 for (const mod of requiresList) {
28 const abs = fs_1.existsSync(mod) || fs_1.existsSync(`${mod}.js`);
29 const requirePath = abs ? path_1.resolve(mod) : mod;
30 require(requirePath);
31 output.push(requirePath);
32 }
33 return output;
34}
35exports.applyRequires = applyRequires;
36function applyCompilers(compilers) {
37 const compilersList = Array.isArray(compilers) ? compilers : [compilers];
38 const output = {
39 compilers: compilersList,
40 extensions: ['js'],
41 };
42 // required compiler can be in the process CWD
43 const cwd = process.cwd();
44 module.paths.push(cwd, path_1.join(cwd, 'node_modules'));
45 for (const compiler of compilersList) {
46 const idx = compiler.indexOf(':');
47 const ext = compiler.slice(0, idx);
48 let mod = compiler.slice(idx + 1);
49 if (mod.startsWith('.')) {
50 mod = path_1.join(process.cwd(), mod);
51 }
52 require(mod);
53 output.extensions.push(ext);
54 }
55 return output;
56}
57exports.applyCompilers = applyCompilers;
58function applyDelay(mocha, delay) {
59 if (delay) {
60 mocha.delay();
61 }
62}
63exports.applyDelay = applyDelay;
64function applyGrepPattern(mocha, stringPattern) {
65 if (stringPattern) {
66 mocha.grep(stringPattern);
67 }
68}
69exports.applyGrepPattern = applyGrepPattern;
70function applyNoTimeouts(mocha, allowTimeouts) {
71 if (allowTimeouts === false) {
72 mocha.enableTimeouts(false);
73 }
74}
75exports.applyNoTimeouts = applyNoTimeouts;
76function applyTimeouts(mocha, timeout) {
77 if (timeout !== undefined) {
78 mocha.suite.timeout(timeout);
79 }
80}
81exports.applyTimeouts = applyTimeouts;
82//# sourceMappingURL=util.js.map
\No newline at end of file