mirror of
https://github.com/cypress-io/cypress.git
synced 2026-01-25 16:39:04 -06:00
* fix: UNIFY-1774, throw error if we do not detect a webpackConfig for the user * remove dead code, rely on auto-sourcing webpack config * fix error styles, exit the devServer process when config is missing, guard against empty remoteState * Add missing webpack for todos project * Update npm/webpack-dev-server/src/makeWebpackConfig.ts Co-authored-by: Lachlan Miller <lachlan.miller.1990@outlook.com> Co-authored-by: Zachary Williams <ZachJW34@gmail.com>
83 lines
2.5 KiB
TypeScript
83 lines
2.5 KiB
TypeScript
import path from 'path'
|
|
import proxyquire from 'proxyquire'
|
|
import { expect } from 'chai'
|
|
|
|
import { createModuleMatrixResult } from './test-helpers/createModuleMatrixResult'
|
|
import EventEmitter from 'events'
|
|
|
|
const cypressConfig = {
|
|
projectRoot: path.join(__dirname, 'test-fixtures'),
|
|
devServerPublicPathRoute: path.join(__dirname, './test-public-path'),
|
|
indexHtmlFile: path.join(__dirname, 'component-index.html'),
|
|
} as Cypress.PluginConfigOptions
|
|
|
|
describe('devServer', function () {
|
|
this.timeout(10 * 1000)
|
|
|
|
it('creates a new devServer webpack4, webpackDevServer3', async () => {
|
|
const { devServer } = proxyquire('../src/devServer', {
|
|
'./helpers/sourceRelativeWebpackModules': {
|
|
sourceDefaultWebpackDependencies: () => {
|
|
return createModuleMatrixResult({
|
|
webpack: 4,
|
|
webpackDevServer: 3,
|
|
})
|
|
} },
|
|
}) as typeof import('../src/devServer')
|
|
|
|
const result = await devServer.create({
|
|
specs: [],
|
|
cypressConfig,
|
|
webpackConfig: {},
|
|
devServerEvents: new EventEmitter(),
|
|
})
|
|
|
|
expect(result.server).to.be.instanceOf(require('webpack-dev-server-3'))
|
|
expect(result.version).to.eq(3)
|
|
})
|
|
|
|
it('creates a new devServer webpack4, webpackDevServer4', async () => {
|
|
const { devServer } = proxyquire('../src/devServer', {
|
|
'./helpers/sourceRelativeWebpackModules': {
|
|
sourceDefaultWebpackDependencies: () => {
|
|
return createModuleMatrixResult({
|
|
webpack: 4,
|
|
webpackDevServer: 4,
|
|
})
|
|
} },
|
|
}) as typeof import('../src/devServer')
|
|
|
|
const result = await devServer.create({
|
|
specs: [],
|
|
cypressConfig,
|
|
webpackConfig: {},
|
|
devServerEvents: new EventEmitter(),
|
|
})
|
|
|
|
expect(result.server).to.be.instanceOf(require('webpack-dev-server'))
|
|
expect(result.version).to.eq(4)
|
|
})
|
|
|
|
it('creates a new devServer webpack5, webpackDevServer4', async () => {
|
|
const { devServer } = proxyquire('../src/devServer', {
|
|
'./helpers/sourceRelativeWebpackModules': {
|
|
sourceDefaultWebpackDependencies: () => {
|
|
return createModuleMatrixResult({
|
|
webpack: 5,
|
|
webpackDevServer: 4,
|
|
})
|
|
} },
|
|
}) as typeof import('../src/devServer')
|
|
|
|
const result = await devServer.create({
|
|
specs: [],
|
|
cypressConfig,
|
|
webpackConfig: {},
|
|
devServerEvents: new EventEmitter(),
|
|
})
|
|
|
|
expect(result.server).to.be.instanceOf(require('webpack-dev-server'))
|
|
expect(result.version).to.eq(4)
|
|
})
|
|
})
|