const Nightmare = require('nightmare'); const config = require('./config.js'); let nightmare; module.exports = function createNightmare(width = 1280, height = 720) { if (nightmare) return nightmare; nightmare = new Nightmare({ show: process.env.E2E_SHOW, typeInterval: 10, x: 0, y: 0, waitTimeout: 2000, // openDevTools: { // mode: 'detach' // } }).viewport(width, height); nightmare.on('console', (type, message, ...args) => { if (type === 'error') { console[type](message, ...args); throw new Error(message); } else console[type](message, ...args); }); nightmare.header('Accept-Language', 'en'); return nightmare.goto(config.url); };