From 45a4f2fbbcd2fc397b8970664881430d8f304e73 Mon Sep 17 00:00:00 2001 From: Jorge Miguel Lobo Escalona <47326048+jloboescalona2@users.noreply.github.com> Date: Wed, 13 Jan 2021 12:56:00 +0100 Subject: [PATCH] F #3951: fix dependencies webpack (#630) Co-authored-by: Jorge Lobo --- src/fireedge/.babelrc | 1 - src/fireedge/package-lock.json | 15 ++++-- src/fireedge/package.json | 6 +-- src/fireedge/src/server/index.js | 49 +++++++++++-------- .../api/provision/provision-functions.js | 2 +- .../src/server/utils/constants/defaults.js | 1 + src/fireedge/webpack.config.dev.client.js | 6 ++- src/fireedge/webpack.config.prod.client.js | 3 ++ src/fireedge/webpack.config.prod.server.js | 9 +++- 9 files changed, 60 insertions(+), 32 deletions(-) diff --git a/src/fireedge/.babelrc b/src/fireedge/.babelrc index c1087aa825..40e0cc60ee 100644 --- a/src/fireedge/.babelrc +++ b/src/fireedge/.babelrc @@ -8,7 +8,6 @@ "server": "./src/server" } }], - "react-hot-loader/babel", "@babel/plugin-proposal-class-properties", "@babel/plugin-proposal-object-rest-spread", "@babel/plugin-proposal-nullish-coalescing-operator", diff --git a/src/fireedge/package-lock.json b/src/fireedge/package-lock.json index f6ccf510f7..6b5ebf1e14 100644 --- a/src/fireedge/package-lock.json +++ b/src/fireedge/package-lock.json @@ -1732,7 +1732,8 @@ "ansi-colors": { "version": "3.2.4", "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz", - "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==" + "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==", + "dev": true }, "ansi-escapes": { "version": "3.2.0", @@ -1743,7 +1744,8 @@ "ansi-html": { "version": "0.0.7", "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz", - "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=" + "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=", + "dev": true }, "ansi-regex": { "version": "2.1.1", @@ -10370,6 +10372,7 @@ "version": "3.7.2", "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.2.tgz", "integrity": "sha512-1xC42LxbYoqLNAhV6YzTYacicgMZQTqRd27Sim9wn5hJrX3I5nxYy1SxSd4+gjUFsz1dQFj+yEe6zEVmSkeJjw==", + "dev": true, "requires": { "memory-fs": "^0.4.1", "mime": "^2.4.4", @@ -10381,7 +10384,8 @@ "mime": { "version": "2.4.6", "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.6.tgz", - "integrity": "sha512-RZKhC3EmpBchfTGBVb8fb+RL2cWyw/32lshnsETttkBAyAUXSGHxbEJWWRXc751DrIxG1q04b8QwMbAwkRPpUA==" + "integrity": "sha512-RZKhC3EmpBchfTGBVb8fb+RL2cWyw/32lshnsETttkBAyAUXSGHxbEJWWRXc751DrIxG1q04b8QwMbAwkRPpUA==", + "dev": true } } }, @@ -10389,6 +10393,7 @@ "version": "2.25.0", "resolved": "https://registry.npmjs.org/webpack-hot-middleware/-/webpack-hot-middleware-2.25.0.tgz", "integrity": "sha512-xs5dPOrGPCzuRXNi8F6rwhawWvQQkeli5Ro48PRuQh8pYPCPmNnltP9itiUPT4xI8oW+y0m59lyyeQk54s5VgA==", + "dev": true, "requires": { "ansi-html": "0.0.7", "html-entities": "^1.2.0", @@ -10400,6 +10405,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz", "integrity": "sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==", + "dev": true, "requires": { "ansi-colors": "^3.0.0", "uuid": "^3.3.2" @@ -10408,7 +10414,8 @@ "uuid": { "version": "3.4.0", "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "dev": true } } }, diff --git a/src/fireedge/package.json b/src/fireedge/package.json index e783e98c21..8000bf9695 100644 --- a/src/fireedge/package.json +++ b/src/fireedge/package.json @@ -42,7 +42,9 @@ "eslint-plugin-standard": "^4.0.1", "fireedge-genpotfile": "^1.0.0", "fireedge-pojson": "^1.0.2", - "react-hot-loader": "^4.13.0" + "react-hot-loader": "^4.13.0", + "webpack-dev-middleware": "^3.7.2", + "webpack-hot-middleware": "^2.25.0" }, "dependencies": { "@babel/cli": "^7.10.4", @@ -119,8 +121,6 @@ "uuid": "^8.3.1", "webpack": "^4.43.0", "webpack-cli": "^3.3.12", - "webpack-dev-middleware": "^3.7.2", - "webpack-hot-middleware": "^2.25.0", "webpack-node-externals": "^2.5.2", "window-or-global": "^1.0.1", "xml2js": "^0.4.23", diff --git a/src/fireedge/src/server/index.js b/src/fireedge/src/server/index.js index 44a04f9481..d4f9359c11 100644 --- a/src/fireedge/src/server/index.js +++ b/src/fireedge/src/server/index.js @@ -60,27 +60,36 @@ const port = appConfig.port || defaultPort const userLog = appConfig.log || 'dev' if (env && env.NODE_ENV && env.NODE_ENV === defaultWebpackMode) { - const webpackHotMiddleware = require('webpack-hot-middleware') - const webpackDevMiddleware = require('webpack-dev-middleware') - - const webpackConfig = require('../../webpack.config.dev.client') - const compiler = webpack(webpackConfig) - - app.use(webpackDevMiddleware(compiler, { - noInfo: true, - serverSideRender: true, - publicPath: webpackConfig.output.publicPath, - stats: { - assets: false, - colors: true, - version: false, - hash: false, - timings: false, - chunks: false, - chunkModules: false + try { + // eslint-disable-next-line import/no-extraneous-dependencies + const webpackHotMiddleware = require('webpack-hot-middleware') + // eslint-disable-next-line import/no-extraneous-dependencies + const webpackDevMiddleware = require('webpack-dev-middleware') + const webpackConfig = require('../../webpack.config.dev.client') + const compiler = webpack(webpackConfig) + app.use(webpackDevMiddleware(compiler, { + noInfo: true, + serverSideRender: true, + publicPath: webpackConfig.output.publicPath, + stats: { + assets: false, + colors: true, + version: false, + hash: false, + timings: false, + chunks: false, + chunkModules: false + } + })).use(webpackHotMiddleware(compiler)) + } catch (error) { + if (error) { + messageTerminal({ + color: 'red', + type: error, + message: '%s' + }) } - })).use(webpackHotMiddleware(compiler)) - + } frontPath = '../client' } diff --git a/src/fireedge/src/server/routes/api/provision/provision-functions.js b/src/fireedge/src/server/routes/api/provision/provision-functions.js index d7f774ad7f..f7246e2225 100644 --- a/src/fireedge/src/server/routes/api/provision/provision-functions.js +++ b/src/fireedge/src/server/routes/api/provision/provision-functions.js @@ -366,7 +366,7 @@ const createProvision = (res = {}, next = () => undefined, params = {}, userData const log = find(logFile.name, logFile.ext) if (config && log) { const create = (filedata = '') => { - const paramsCommand = ['create', config.path, '--batch', '--debug', '--skip-provision', ...authCommand, ...endpoint] + const paramsCommand = ['create', config.path, '--batch', '--debug', ...authCommand, ...endpoint] let lastLine = '' var stream = createWriteStream(log.path, { flags: 'a' }) const emit = message => { diff --git a/src/fireedge/src/server/utils/constants/defaults.js b/src/fireedge/src/server/utils/constants/defaults.js index af6f48bb57..8f146a58b3 100644 --- a/src/fireedge/src/server/utils/constants/defaults.js +++ b/src/fireedge/src/server/utils/constants/defaults.js @@ -79,6 +79,7 @@ const defaults = { defaultConfigFile: `${appName}-server.conf`, defaultTypeLog: 'prod', defaultWebpackMode: 'development', + defaultProductionWebpackMode: 'production', defaultWebpackDevTool: 'inline-source-map', defaultLogPath: '/var/log/one', defaultSharePath: '/usr/share/one', diff --git a/src/fireedge/webpack.config.dev.client.js b/src/fireedge/webpack.config.dev.client.js index ba3bffebe4..366ed83e0d 100644 --- a/src/fireedge/webpack.config.dev.client.js +++ b/src/fireedge/webpack.config.dev.client.js @@ -5,7 +5,11 @@ const { defaultWebpackMode, defaultAppName } = require('./src/server/utils/const const js = { test: /\.js$/, loader: 'babel-loader', - include: path.resolve(__dirname, 'src', 'client') + include: path.resolve(__dirname, 'src', 'client'), + options: { + babelrc: true, + plugins: ['react-hot-loader/babel'] + } } const appName = defaultAppName ? `/${defaultAppName}` : '' const bundle = () => { diff --git a/src/fireedge/webpack.config.prod.client.js b/src/fireedge/webpack.config.prod.client.js index 4f61ce0d31..4e1fefe3bf 100644 --- a/src/fireedge/webpack.config.prod.client.js +++ b/src/fireedge/webpack.config.prod.client.js @@ -34,6 +34,9 @@ const bundle = ({ assets = false, name = 'flow' }) => { filename: `bundle.${name}.js`, publicPath: '/client' }, + stats: { + warnings: false + }, plugins, module: { rules: [js] diff --git a/src/fireedge/webpack.config.prod.server.js b/src/fireedge/webpack.config.prod.server.js index 67205a15ab..1b7eadd783 100644 --- a/src/fireedge/webpack.config.prod.server.js +++ b/src/fireedge/webpack.config.prod.server.js @@ -2,6 +2,8 @@ const path = require('path') const webpack = require('webpack') const nodeExternals = require('webpack-node-externals') const CopyPlugin = require('copy-webpack-plugin') +const { defaultProductionWebpackMode } = require('./src/server/utils/constants/defaults') + const js = { test: /\.js$/, @@ -10,7 +12,7 @@ const js = { } module.exports = { - mode: 'production', + mode: defaultProductionWebpackMode, entry: path.resolve(__dirname, 'src', 'server'), target: 'node', node: { @@ -21,10 +23,13 @@ module.exports = { path: path.resolve(__dirname, 'dist'), filename: 'index.js' }, + stats: { + warnings: false + }, plugins: [ new webpack.DefinePlugin({ 'process.env': { - NODE_ENV: JSON.stringify('production') + NODE_ENV: JSON.stringify(defaultProductionWebpackMode) } }), new CopyPlugin({