UNPKG

@revoloo/cypress6

Version:

Cypress.io end to end testing tool

36 lines (28 loc) 1.23 kB
// @ts-check const path = require('path') const { startDevServer } = require('@cypress/webpack-dev-server') const tryLoadWebpackConfig = require('../utils/tryLoadWebpackConfig') /** @type {(config: Cypress.PluginConfigOptions, path: string) => string} */ function normalizeWebpackPath (config, webpackConfigPath) { return path.isAbsolute(webpackConfigPath) ? webpackConfigPath : path.resolve(config.projectRoot, webpackConfigPath) } /** * Injects dev-server based on the webpack config file. * * **Important:** `webpackFilename` path is relative to the project root (cypress.json location) * @type {(on: Cypress.PluginEvents, config: Cypress.PluginConfigOptions, options: { webpackFilename: string }) => Cypress.PluginConfigOptions} */ function injectWebpackDevServer (on, config, { webpackFilename }) { const webpackConfig = tryLoadWebpackConfig(normalizeWebpackPath(config, webpackFilename)) if (!webpackConfig) { throw new Error(`Can not load webpack config from path ${webpackFilename}.`) } on('dev-server:start', async (options) => { return startDevServer({ options, webpackConfig }) }) config.env.reactDevtools = true return config } module.exports = injectWebpackDevServer