Skip to content

Commit

Permalink
Merge pull request #1736 from heath-freenome/additional-update-to-fix…
Browse files Browse the repository at this point in the history
…-warnings

Additional follow-up fix for #1704 to remove remaining warnings
  • Loading branch information
fivethreeo committed Oct 24, 2021
2 parents 7682f47 + 8c90455 commit 6cdf807
Show file tree
Hide file tree
Showing 4 changed files with 44 additions and 18 deletions.
5 changes: 5 additions & 0 deletions packages/razzle-dev-utils/devServerMajor.js
@@ -0,0 +1,5 @@
'use strict';

const devserverPkg = require('webpack-dev-server/package.json');

module.exports = devserverPkg.version ? parseInt(devserverPkg.version[0]) : 3;
10 changes: 9 additions & 1 deletion packages/razzle-dev-utils/webpackHotDevClient.js
Expand Up @@ -12,11 +12,19 @@
var SockJS = require('sockjs-client');
var stripAnsi = require('strip-ansi');
var url = require('url');
var createSocketUrl = require('webpack-dev-server/client/utils/createSocketUrl');
var launchEditorEndpoint = require('react-dev-utils/launchEditorEndpoint');
var devServerMajorVersion = require('./devServerMajor');
var formatWebpackMessages = require('./formatWebpackMessages');
var ErrorOverlay = require('react-error-overlay');

var createSocketUrl;
if (devServerMajorVersion > 3) {
// The path changed with v4
createSocketUrl = require('webpack-dev-server/client/utils/createSocketURL');
} else {
createSocketUrl = require('webpack-dev-server/client/utils/createSocketUrl');
}

var socketUrl = createSocketUrl();
var parsedSocketUrl = url.parse(socketUrl);

Expand Down
17 changes: 8 additions & 9 deletions packages/razzle/config/createConfigAsync.js
Expand Up @@ -24,10 +24,7 @@ const logger = require('razzle-dev-utils/logger');
const razzlePaths = require('./paths');
const getCacheIdentifier = require('react-dev-utils/getCacheIdentifier');
const webpackMajor = require('razzle-dev-utils/webpackMajor');
const devserverPkg = require('webpack-dev-server/package.json');

// Parse the first character from the `x.y.z` version notation (i.e. major version)
const devServerMajorVersion = parseInt(devserverPkg.version[0]);
const devServerMajorVersion = require('razzle-dev-utils/devServerMajor');

const hasPostCssConfigTest = () => {
try {
Expand Down Expand Up @@ -850,6 +847,7 @@ module.exports = (
// See https://github.com/facebookincubator/create-react-app/issues/387.
disableDotRule: true,
},
hot: true,
host: dotenv.raw.HOST,
port: devServerPort,
};
Expand Down Expand Up @@ -880,7 +878,6 @@ module.exports = (
disableHostCheck: true,
clientLogLevel: 'none', // Enable gzip compression of generated files.
publicPath: clientPublicPath,
hot: true,
noInfo: true,
overlay: false,
quiet: true, // By default files from `contentBase` will not trigger a page reload.
Expand All @@ -897,10 +894,12 @@ module.exports = (
// Add client-only development plugins
config.plugins = [
...config.plugins,
new webpack.HotModuleReplacementPlugin({
// set this true will break HtmlWebpackPlugin
multiStep: !clientOnly,
}),
devServerMajorVersion > 3
? null // avoid warning since v4 automatically adds the HRM plugin when `hot` is true
: new webpack.HotModuleReplacementPlugin({
// set this true will break HtmlWebpackPlugin
multiStep: !clientOnly,
}),
shouldUseReactRefresh
? new ReactRefreshWebpackPlugin({
overlay: {
Expand Down
30 changes: 22 additions & 8 deletions packages/razzle/scripts/start.js
Expand Up @@ -14,6 +14,7 @@ const logger = require('razzle-dev-utils/logger');
const setPorts = require('razzle-dev-utils/setPorts');
const chalk = require('chalk');
const terminate = require('terminate');
const devServerMajorVersion = require('razzle-dev-utils/devServerMajor');

let verbose = false;

Expand Down Expand Up @@ -167,25 +168,38 @@ function main() {
);
}

// Provide a reusable logger function
const errorLogger = (err) => {
if (err) {
logger.error(err);
}
};

if (!serverOnly) {
// Create a new instance of Webpack-dev-server for our client assets.
// This will actually run on a different port than the users app.
clientDevServer = new devServer(
clientCompiler,
Object.assign(clientConfig.devServer, { verbose: verbose })
Object.assign(clientConfig.devServer, { verbose, port }),
);
// Start Webpack-dev-server
clientDevServer.listen(port, err => {
if (err) {
logger.error(err);
}
});
if (devServerMajorVersion > 3) {
// listen was deprecated in v4 and causes issues when used, switch to its replacement
clientDevServer.startCallback(errorLogger);
} else {
// Start Webpack-dev-server
clientDevServer.listen(port, errorLogger);
}
}

['SIGINT', 'SIGTERM'].forEach(sig => {
process.on(sig, () => {
if (clientDevServer) {
clientDevServer.close();
if (devServerMajorVersion > 3) {
// close was deprecated in v4, switch to its replacement
clientDevServer.stopCallback(errorLogger);
} else {
clientDevServer.close(errorLogger);
}
}
if (watching) {
watching.close();
Expand Down

1 comment on commit 6cdf807

@vercel
Copy link

@vercel vercel bot commented on 6cdf807 Oct 24, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please sign in to comment.