nightmare
nightmare copied to clipboard
Cannot find module "\package.json" when using mocha and webpack or mocha-webpack
Here's a trace when attempting to run the config:
MOCHA Testing...
RUNTIME EXCEPTION Exception occurred while loading your tests
Error: Cannot find module 'D:\Projects\JavaScript\JS\MasterClass\node_modules\nightmare\package.json'
at webpackEmptyContext (D:\Projects\JavaScript\JS\MasterClass\public\scripts\bundle.js:35022:10)
at Object.<anonymous> (D:\Projects\JavaScript\JS\MasterClass\public\scripts\bundle.js:29139:45)
at Object.<anonymous> (D:\Projects\JavaScript\JS\MasterClass\public\scripts\bundle.js:29454:30)
at __webpack_require__ (D:\Projects\JavaScript\JS\MasterClass\src\convert\xml.js:16:7)
at Module.<anonymous> (D:\Projects\JavaScript\JS\MasterClass\public\scripts\bundle.js:28795:67)
at __webpack_require__ (D:\Projects\JavaScript\JS\MasterClass\src\convert\xml.js:16:7)
at Suite.<anonymous> (D:\Projects\JavaScript\JS\MasterClass\public\scripts\bundle.js:14499:3)
at Object.create (D:\Projects\JavaScript\JS\MasterClass\node_modules\mocha\lib\interfaces\common.js:112:19)
at context.describe.context.context (D:\Projects\JavaScript\JS\MasterClass\node_modules\mocha\lib\interfaces\bdd.js:40:27)
at Object.<anonymous> (D:\Projects\JavaScript\JS\MasterClass\public\scripts\bundle.js:14498:1)
at __webpack_require__ (D:\Projects\JavaScript\JS\MasterClass\src\convert\xml.js:16:7)
at Suite.<anonymous> (D:\Projects\JavaScript\JS\MasterClass\public\scripts\bundle.js:152:3)
at Object.create (D:\Projects\JavaScript\JS\MasterClass\node_modules\mocha\lib\interfaces\common.js:112:19)
at context.describe.context.context (D:\Projects\JavaScript\JS\MasterClass\node_modules\mocha\lib\interfaces\bdd.js:40:27)
at Object.<anonymous> (D:\Projects\JavaScript\JS\MasterClass\public\scripts\bundle.js:151:1)
at __webpack_require__ (D:\Projects\JavaScript\JS\MasterClass\src\convert\xml.js:16:7)
at run (D:\Projects\JavaScript\JS\MasterClass\public\scripts\bundle.js:93:20)
at Array.forEach (native)
at Object.<anonymous> (D:\Projects\JavaScript\JS\MasterClass\public\scripts\bundle.js:100:24)
at __webpack_require__ (D:\Projects\JavaScript\JS\MasterClass\src\convert\xml.js:16:7)
at ids (D:\Projects\JavaScript\JS\MasterClass\public\scripts\bundle.js:84:18)
at Object.<anonymous> (D:\Projects\JavaScript\JS\MasterClass\public\scripts\bundle.js:87:10)
at Module._compile (module.js:569:30)
at Object._module2.default._extensions.(anonymous function) [as .js] (D:\Projects\JavaScript\JS\MasterClass\node_modules\mocha-webpack\lib\util\registerRequireHook.js:148:12)
at Module.load (module.js:503:32)
at tryModuleLoad (module.js:466:12)
at Function.Module._load (module.js:458:3)
at Module.require (module.js:513:17)
at require (internal/module.js:11:18)
at D:\Projects\JavaScript\JS\MasterClass\node_modules\mocha\lib\mocha.js:250:27
at Array.forEach (native)
at Mocha.loadFiles (D:\Projects\JavaScript\JS\MasterClass\node_modules\mocha\lib\mocha.js:247:14)
at Mocha.run (D:\Projects\JavaScript\JS\MasterClass\node_modules\mocha\lib\mocha.js:576:10)
at D:\Projects\JavaScript\JS\MasterClass\node_modules\mocha-webpack\lib\runner\TestRunner.js:191:27
at D:\Projects\JavaScript\JS\MasterClass\node_modules\mocha-webpack\lib\webpack\compiler\registerReadyCallback.js:26:7
at AsyncSeriesHook.eval [as callAsync] (eval at create (D:\Projects\JavaScript\JS\MasterClass\node_modules\tapable\lib\HookCodeFactory.js:24:12), <anonymous>:27:1)
at AsyncSeriesHook.lazyCompileHook [as _callAsync] (D:\Projects\JavaScript\JS\MasterClass\node_modules\tapable\lib\Hook.js:35:21)
at emitRecords.err (D:\Projects\JavaScript\JS\MasterClass\node_modules\webpack\lib\Compiler.js:257:22)
at Compiler.emitRecords (D:\Projects\JavaScript\JS\MasterClass\node_modules\webpack\lib\Compiler.js:372:39)
at emitAssets.err (D:\Projects\JavaScript\JS\MasterClass\node_modules\webpack\lib\Compiler.js:251:10)
at hooks.afterEmit.callAsync.err (D:\Projects\JavaScript\JS\MasterClass\node_modules\webpack\lib\Compiler.js:358:14)
at AsyncSeriesHook.eval [as callAsync] (eval at create (D:\Projects\JavaScript\JS\MasterClass\node_modules\tapable\lib\HookCodeFactory.js:24:12), <anonymous>:9:1)
at AsyncSeriesHook.lazyCompileHook [as _callAsync] (D:\Projects\JavaScript\JS\MasterClass\node_modules\tapable\lib\Hook.js:35:21)
at asyncLib.forEach.err (D:\Projects\JavaScript\JS\MasterClass\node_modules\webpack\lib\Compiler.js:355:27)
at done (D:\Projects\JavaScript\JS\MasterClass\node_modules\neo-async\async.js:2854:11)
at D:\Projects\JavaScript\JS\MasterClass\node_modules\neo-async\async.js:2805:7
at MemoryFileSystem.writeFile (D:\Projects\JavaScript\JS\MasterClass\node_modules\memory-fs\lib\MemoryFileSystem.js:328:9)
at writeOut (D:\Projects\JavaScript\JS\MasterClass\node_modules\webpack\lib\Compiler.js:339:29)
at asyncLib.forEach (D:\Projects\JavaScript\JS\MasterClass\node_modules\webpack\lib\Compiler.js:349:7)
at baseEach (D:\Projects\JavaScript\JS\MasterClass\node_modules\neo-async\async.js:2416:9)
at Object.each (D:\Projects\JavaScript\JS\MasterClass\node_modules\neo-async\async.js:2843:9)
at emitFiles (D:\Projects\JavaScript\JS\MasterClass\node_modules\webpack\lib\Compiler.js:312:13)
at Immediate.<anonymous> (D:\Projects\JavaScript\JS\MasterClass\node_modules\memory-fs\lib\MemoryFileSystem.js:288:4)
at runCallback (timers.js:800:20)
at tryOnImmediate (timers.js:762:5)
at processImmediate [as _immediateCallback] (timers.js:733:5)
My devDependencies that correspond with the used config:
"devDependencies": {
"@types/html-webpack-plugin": "^3.2.0",
"@types/mocha": "^5.2.5",
"@types/node": "^10.9.4",
"@types/webpack-env": "^1.13.6",
"awesome-typescript-loader": "^5.2.1",
"babel-core": "^6.26.3",
"babel-loader": "^7.1.5",
"babel-polyfill": "^6.26.0",
"babel-preset-env": "^1.7.0",
"babel-preset-stage-2": "^6.24.1",
"chai": "^4.1.2",
"chai-as-promised": "^7.1.1",
"cross-env": "^5.2.0",
"electron": "^2.0.8",
"eslint": "^5.5.0",
"loglevel": "^1.6.0",
"mocha": "^5.2.0",
"mocha-webpack": "^2.0.0-beta.0",
"nightmare": "^3.0.1",
"sinon": "^5.1.1",
"typescript": "^3.0.3",
"webpack": "^4.17.2",
"webpack-bundle-analyzer": "^2.13.1",
"webpack-cli": "^3.1.0",
"webpack-dev-server": "^3.1.8",
"webpack-merge": "^4.1.4"
},
My script used with mocha-webpack and webpack file for testing:
// This invokes the test. The test_helper.js file just contains initializations for chai and chai-as-promised
"test": "mocha-webpack --webpack-config webpack.config.test.js --require ./test/test_helper.js ./test/index.spec.js"
// webpack.config.test.js:
// NOTE: The base config gets pretty much completely overwritten here,
// so not much to show in terms of that:
let config = require("./webpack.config"),
path = require("path"),
APP_DIR = path.resolve(__dirname, "src"),
TEST_DIR = path.resolve(__dirname, "test");
config.target = "electron-main";
config.entry = [
`${TEST_DIR}/index.spec.js`
];
config.node = {
__dirname: true
};
config.module = {
rules: [
{
test: /\.js$/,
loader: "babel-loader",
include: TEST_DIR
}, {
test: /\.ts$/,
loader: "awesome-typescript-loader",
include: TEST_DIR
}
]
};
module.exports = config;
I checked for said missing module, but the given file is indeed located in the said location. Your library seems really nice and interesting! 👍 Hope I can get this to work!
Yohooo? 👋
The same issue happens also when using plain mocha and webpack together. Checked other issues with similar descriptions, but no avail.
Same issue..