Here is my webpack.config.js:
const JS_REGEX = /\.js$|\.jsx$|\.es6$|\.babel$/;
const webpack = require('webpack');
module.exports = {
devtool: 'source-map',
entry: ['babel-polyfill',
'./src/index.js'
],
output: {
path: __dirname,
publicPath: '/',
filename: 'bundle.js'
},
module: {
rules: [
{test: /\.json$/, loader: 'json-loader'},
{test: JS_REGEX, exclude: /node_modules/, loader: 'babel-loader'},
{
test: /\.scss$/,
exclude: /node_modules/,
rules: ["style-loader", "css-loader?sourceMap!sass-loader?sourceMap"]
},
{
test: /\.(jpe?g|png|gif|svg)$/i,
rules: [
'file?hash=sha512&digest=hex&name=[hash].[ext]',
'image-webpack?bypassOnDebug&optimizationLevel=7&interlaced=false'
]
},
],
noParse: [/html2canvas/,]
},
resolve: {
extensions: ['*', '.js', '.jsx'],
alias: {
webworkify: 'webworkify-webpack-dropin',
},
},
node: {
console: true,
fs: 'empty',
net: 'empty',
tls: 'empty',
dns: 'empty'
},
plugins: [
new webpack.DefinePlugin({
'process.env': {
'NODE_ENV': JSON.stringify('production'),
'API_URL': JSON.stringify('https://apistaging.geoviewer.io'),
'AUTH0_CLIENT_ID': JSON.stringify('KMJzdoQRKYpYJwLJq8aLDa6lpDuedctm'),
'AUTH0_DOMAIN': JSON.stringify('nobelsystems.auth0.com'),
'GOOGLE_KEY': JSON.stringify('AIzaSyBVbyKIdG3vF4SU2xoFHm300rcpt5TVuCc'),
'GOOGLE_KEY_STREETVIEW': JSON.stringify('AIzaSyD8F0fyidp61jGKb4-uZH9HURTpeg9LqFo'),
'REPORT_URL': JSON.stringify('https://reportsstaging.geoviewer.io'),
'COUCHBASE_STATIC_IMAGE_GOOGLE_KEY': JSON.stringify('AIzaSyCwbQ-M4emlnZ2o-kNSnCIr1nIQ-67iIYg'),
'AWS_ACCESS_KEY': JSON.stringify('AKIAIZHKQ473K5IV3DBA'),
'AWS_SECRATE_KEY': JSON.stringify('wwQSuj+Izz/xIJ6CvrexFZp3Hiba/PngNDGMNZsl'),
'AWS_API': JSON.stringify('https://awsapistaging.geoviewer.io'),
'PUBNUB_PUBLISHKEY': JSON.stringify('pub-c-390236f6-0084-4ce4-85af-580cb22660ce'),
'PUBNUB_SUBSCRIBEKEY': JSON.stringify('sub-c-c0b074e8-1ed9-11e7-894d-0619f8945a4f'),
'IOT_API': JSON.stringify('https://iotstagingapi.geoviewer.io'),
'DEEPSTREAM_URL': JSON.stringify('wss://deepstreamstaging.geoviewer.io'),
'ENCRYPTION_KEY': JSON.stringify('3sOoaixjAVormytEeyjfBNX54RfyaCgv')
}
}),
new webpack.NoEmitOnErrorsPlugin(),
new webpack.optimize.LimitChunkCountPlugin({maxChunks: 15}),
new webpack.optimize.MinChunkSizePlugin({minChunkSize: 1000})
],
devServer: {
historyApiFallback: true,
contentBase: './'
}
};
Here are the errors:
[webpack-cli] Invalid configuration object. Webpack has been initialized using a configuration object that does not match the API schema.
- configuration.module.rules[3] should be one of these:
["..." | object { assert?, compiler?, dependency?, descriptionData?, enforce?, exclude?, generator?, include?, issuer?, issuerLayer?, layer?, loader?, mimetype?, oneOf?, options?, parser?, realResource?, resolve?, resource?, resourceFragment?, resourceQuery?, rules?, scheme?, sideEffects?, test?, type?, use? }, ...]
-> A rule.
Details:
* configuration.module.rules[2].rules[0] should be an object:
object { assert?, compiler?, dependency?, descriptionData?, enforce?, exclude?, generator?, include?, issuer?, issuerLayer?, layer?, loader?, mimetype?, oneOf?, options?, parser?, realResource?, resolve?, resource?, resourceFragment?, resourceQuery?, rules?, scheme?, sideEffects?, test?, type?, use? }
-> A rule description with conditions and effects for modules.
* configuration.module.rules[2].rules[0] should be one of these:
object { assert?, compiler?, dependency?, descriptionData?, enforce?, exclude?, generator?, include?, issuer?, issuerLayer?, layer?, loader?, mimetype?, oneOf?, options?, parser?, realResource?, resolve?, resource?, resourceFragment?, resourceQuery?, rules?, scheme?, sideEffects?, test?, type?, use? }
-> A rule.
* configuration.module.rules[2].rules[1] should be an object:
object { assert?, compiler?, dependency?, descriptionData?, enforce?, exclude?, generator?, include?, issuer?, issuerLayer?, layer?, loader?, mimetype?, oneOf?, options?, parser?, realResource?, resolve?, resource?, resourceFragment?, resourceQuery?, rules?, scheme?, sideEffects?, test?, type?, use? }
-> A rule description with conditions and effects for modules.
* configuration.module.rules[2].rules[1] should be one of these:
object { assert?, compiler?, dependency?, descriptionData?, enforce?, exclude?, generator?, include?, issuer?, issuerLayer?, layer?, loader?, mimetype?, oneOf?, options?, parser?, realResource?, resolve?, resource?, resourceFragment?, resourceQuery?, rules?, scheme?, sideEffects?, test?, type?, use? }
-> A rule.
* configuration.module.rules[3].rules[0] should be an object:
object { assert?, compiler?, dependency?, descriptionData?, enforce?, exclude?, generator?, include?, issuer?, issuerLayer?, layer?, loader?, mimetype?, oneOf?, options?, parser?, realResource?, resolve?, resource?, resourceFragment?, resourceQuery?, rules?, scheme?, sideEffects?, test?, type?, use? }
-> A rule description with conditions and effects for modules.
* configuration.module.rules[3].rules[0] should be one of these:
object { assert?, compiler?, dependency?, descriptionData?, enforce?, exclude?, generator?, include?, issuer?, issuerLayer?, layer?, loader?, mimetype?, oneOf?, options?, parser?, realResource?, resolve?, resource?, resourceFragment?, resourceQuery?, rules?, scheme?, sideEffects?, test?, type?, use? }
-> A rule.
* configuration.module.rules[3].rules[1] should be an object:
object { assert?, compiler?, dependency?, descriptionData?, enforce?, exclude?, generator?, include?, issuer?, issuerLayer?, layer?, loader?, mimetype?, oneOf?, options?, parser?, realResource?, resolve?, resource?, resourceFragment?, resourceQuery?, rules?, scheme?, sideEffects?, test?, type?, use? }
-> A rule description with conditions and effects for modules.
* configuration.module.rules[3].rules[1] should be one of these:
object { assert?, compiler?, dependency?, descriptionData?, enforce?, exclude?, generator?, include?, issuer?, issuerLayer?, layer?, loader?, mimetype?, oneOf?, options?, parser?, realResource?, resolve?, resource?, resourceFragment?, resourceQuery?, rules?, scheme?, sideEffects?, test?, type?, use? }
-> A rule.
- configuration.node should be one of these:
false | object { __dirname?, __filename?, global? }
-> Include polyfills or mocks for various node stuff.
Details:
* configuration.node has an unknown property 'console'. These properties are valid:
object { __dirname?, __filename?, global? }
-> Options object for node compatibility features.
* configuration.node has an unknown property 'fs'. These properties are valid:
object { __dirname?, __filename?, global? }
-> Options object for node compatibility features.
* configuration.node has an unknown property 'net'. These properties are valid:
object { __dirname?, __filename?, global? }
-> Options object for node compatibility features.
* configuration.node has an unknown property 'tls'. These properties are valid:
object { __dirname?, __filename?, global? }
-> Options object for node compatibility features.
* configuration.node has an unknown property 'dns'. These properties are valid:
object { __dirname?, __filename?, global? }
-> Options object for node compatibility features.
I tried some of the solutions here but it is not working. I am running a previous version of our code. I also tried to switch back to node 10. What are the possible solution to this?
Some solutions I tried: -I changed the loaders to rules -installed the updated package versions