1
0
mirror of https://github.com/OpenNebula/one.git synced 2025-03-20 10:50:08 +03:00

F #3951: fix dependencies webpack (#630)

Co-authored-by: Jorge Lobo <jlobo@opennebula.systems>
This commit is contained in:
Jorge Miguel Lobo Escalona 2021-01-13 12:56:00 +01:00 committed by GitHub
parent 87c67c99f9
commit 45a4f2fbbc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
9 changed files with 60 additions and 32 deletions

View File

@ -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",

View File

@ -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
}
}
},

View File

@ -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",

View File

@ -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'
}

View File

@ -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 => {

View File

@ -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',

View File

@ -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 = () => {

View File

@ -34,6 +34,9 @@ const bundle = ({ assets = false, name = 'flow' }) => {
filename: `bundle.${name}.js`,
publicPath: '/client'
},
stats: {
warnings: false
},
plugins,
module: {
rules: [js]

View File

@ -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({