Skip to content

Commit 8d7c059

Browse files
committed
Fix resolve legacy requires
Closes #191
1 parent 7fbd8a7 commit 8d7c059

File tree

2 files changed

+15
-9
lines changed

2 files changed

+15
-9
lines changed

lib/mocha.js

+14-3
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
const Mocha = require('mocha')
44
const errors = require('mocha/lib/errors')
55
const { resolve } = require('path')
6+
const { existsSync } = require('fs')
67

78
const {
89
handleRequires,
@@ -16,15 +17,24 @@ const {
1617
ONE_AND_DONES
1718
} = require('mocha/lib/cli/one-and-dones')
1819

20+
const cwd = process.cwd()
21+
22+
const handleLegacyRequires = async (mods) => {
23+
for (let mod of mods) {
24+
if (existsSync(mod, { cwd }) || existsSync(`${mod}.js`, { cwd })) {
25+
mod = resolve(mod)
26+
}
27+
require(mod)
28+
}
29+
}
30+
1931
const runMocha = async (argv, done) => {
2032
Error.stackTraceLimit = Infinity
2133

2234
if (process.type === 'renderer') {
2335
// Node.js ESM loader is not available in Electron Renderer
2436
// so we require dependencies explicitly here.
25-
for (const mod of argv.require) {
26-
require(resolve(mod))
27-
}
37+
await handleLegacyRequires(argv.require)
2838
} else {
2939
await handleRequires(argv.require)
3040
}
@@ -50,6 +60,7 @@ module.exports = {
5060
errors,
5161
helpers: {
5262
handleRequires,
63+
handleLegacyRequires,
5364
runMocha
5465
}
5566
}

lib/run.js

+1-6
Original file line numberDiff line numberDiff line change
@@ -130,9 +130,6 @@ exports.builder = yargs => {
130130
argv.inspect = true
131131
}
132132

133-
if (argv['require-main']) {
134-
argv['require-main'] = argv['require-main'].map(script => resolve(script))
135-
}
136133
if (argv.script) {
137134
argv.script = argv.script.map(script => resolve(script))
138135
}
@@ -152,9 +149,7 @@ exports.builder = yargs => {
152149
exports.handler = async argv => {
153150
try {
154151
if (argv['require-main']) {
155-
for (const mod of argv['require-main']) {
156-
require(mod)
157-
}
152+
await helpers.handleLegacyRequires(argv['require-main'])
158153
}
159154

160155
await app.whenReady()

0 commit comments

Comments
 (0)