diff --git a/test/helpers/isWebpack5.js b/test/helpers/isWebpack5.js new file mode 100644 index 0000000000..d3a2eb5975 --- /dev/null +++ b/test/helpers/isWebpack5.js @@ -0,0 +1,7 @@ +'use strict'; + +const webpack = require('webpack'); + +const isWebpack5 = webpack.version[0] === '5'; + +module.exports = isWebpack5; diff --git a/test/server/Server.test.js b/test/server/Server.test.js index c3135448b3..e7e9253603 100644 --- a/test/server/Server.test.js +++ b/test/server/Server.test.js @@ -7,6 +7,7 @@ const { noop } = require('webpack-dev-middleware/lib/util'); const Server = require('../../lib/Server'); const config = require('../fixtures/simple-config/webpack.config'); const port = require('../ports-map').Server; +const isWebpack5 = require('../helpers/isWebpack5'); jest.mock('sockjs/lib/transport'); @@ -34,11 +35,20 @@ describe('Server', () => { }) ); - expect( - server.middleware.context.compiler.options.entry.map((p) => { + let entries; + + if (isWebpack5) { + entries = server.middleware.context.compiler.options.entry.main.import.map( + (p) => { + return relative('.', p).split(sep); + } + ); + } else { + entries = server.middleware.context.compiler.options.entry.map((p) => { return relative('.', p).split(sep); - }) - ).toMatchSnapshot(); + }); + } + expect(entries).toMatchSnapshot(); expect(server.middleware.context.compiler.options.plugins).toEqual([ new webpack.HotModuleReplacementPlugin(), ]); @@ -59,11 +69,21 @@ describe('Server', () => { }) ); - expect( - server.middleware.context.compiler.options.entry.map((p) => { + let entries; + + if (isWebpack5) { + entries = server.middleware.context.compiler.options.entry.main.import.map( + (p) => { + return relative('.', p).split(sep); + } + ); + } else { + entries = server.middleware.context.compiler.options.entry.map((p) => { return relative('.', p).split(sep); - }) - ).toMatchSnapshot(); + }); + } + + expect(entries).toMatchSnapshot(); expect(server.middleware.context.compiler.options.plugins).toEqual([ new webpack.HotModuleReplacementPlugin(), ]); diff --git a/test/server/utils/updateCompiler.test.js b/test/server/utils/updateCompiler.test.js index 4203a6f4a6..ebc5c36b26 100644 --- a/test/server/utils/updateCompiler.test.js +++ b/test/server/utils/updateCompiler.test.js @@ -2,6 +2,7 @@ const webpack = require('webpack'); const updateCompiler = require('../../../lib/utils/updateCompiler'); +const isWebpack5 = require('../../helpers/isWebpack5'); describe('updateCompiler', () => { describe('simple config, inline', () => { @@ -36,7 +37,12 @@ describe('updateCompiler', () => { expect(compiler.hooks.entryOption.taps.length).toBe(1); expect(tapsByHMR).toEqual(0); expect(tapsByProvidePlugin).toEqual(1); - expect(compiler.options.plugins).toBeUndefined(); + + if (isWebpack5) { + expect(compiler.options.plugins).toEqual([]); + } else { + expect(compiler.options.plugins).toBeUndefined(); + } }); });