-
-
Notifications
You must be signed in to change notification settings - Fork 39
Open
Description
Bug report
What is the current behavior?
misleading error message: configuration.module.rules[].exclude
All other config property is removed here for clarity.
When I use string for exclude
- config
// webpack.config.js
module.exports = {
module: {
rules: [
{
test: /\.js$/,
exclude: 'node_modules',
use: [
{
loader: 'babel-loader'
}
]
}
]
}
};
- error message
## error
✖ 「wds」: Invalid configuration object. Webpack has been initialised using a configuration object that does not match the API schema.
- configuration.module.rules[0].exclude should be one of these:
RegExp | string | function | [(recursive)] | object { and?, exclude?, include?, not?, or?, test? } | [RegExp | string | function | [(recursive)] | object { and?, exclude?, include?, not?, or?, test? }]
-> One or multiple rule conditions
Details:
* configuration.module.rules[0].exclude should be an instance of RegExp
* configuration.module.rules[0].exclude: The provided value "node_modules" is not an absolute path!
* configuration.module.rules[0].exclude should be an instance of function
* configuration.module.rules[0].exclude should be an array:
[RegExp | string | function | [(recursive)] | object { and?, exclude?, include?, not?, or?, test? }]
* configuration.module.rules[0].exclude should be an object.
* configuration.module.rules[0].exclude should be an array:
[RegExp | string | function | [(recursive)] | object { and?, exclude?, include?, not?, or?, test? }]
If I use array of string for exclude
- config
module.exports = {
module: {
rules: [
{
test: /\.js$/,
exclude: ['node_modules'],
use: [
{
loader: 'babel-loader'
}
]
}
]
}
};
- error message
✖ 「wds」: Invalid configuration object. Webpack has been initialised using a configuration object that does not match the API schema.
- configuration.module.rules[0].exclude should be one of these:
RegExp | string | function | [(recursive)] | object { and?, exclude?, include?, not?, or?, test? } | [RegExp | string | function | [(recursive)] | object { and?, exclude?, include?, not?, or?, test? }]
-> One or multiple rule conditions
Details:
* configuration.module.rules[0].exclude should be an instance of RegExp
* configuration.module.rules[0].exclude should be a string.
* configuration.module.rules[0].exclude should be an instance of function
* configuration.module.rules[0].exclude[0] should be an instance of RegExp
* configuration.module.rules[0].exclude[0]: The provided value "node_modules" is not an absolute path!
* configuration.module.rules[0].exclude[0] should be an instance of function
* configuration.module.rules[0].exclude[0] should be an array:
[RegExp | string | function | [(recursive)] | object { and?, exclude?, include?, not?, or?, test? }]
* configuration.module.rules[0].exclude[0] should be an object.
* configuration.module.rules[0].exclude should be an object.
* configuration.module.rules[0].exclude[0] should be an instance of RegExp
* configuration.module.rules[0].exclude[0]: The provided value "node_modules" is not an absolute path!
* configuration.module.rules[0].exclude[0] should be an instance of function
* configuration.module.rules[0].exclude[0] should be an array:
[RegExp | string | function | [(recursive)] | object { and?, exclude?, include?, not?, or?, test? }]
* configuration.module.rules[0].exclude[0] should be an object.
If the current behavior is a bug, please provide the steps to reproduce.
- use below config and run
webpack-dev-server --config webpack.config.js
module.exports = {
module: {
rules: [
{
test: /\.js$/,
exclude: ['node_modules'],
use: [
{
loader: 'babel-loader'
}
]
}
]
}
};
What is the expected behavior?
string
should be removed from allowed object in error message.
Other relevant information:
webpack version: ^4.29.6
Node.js version: 8.11.1
Operating System: ubuntu 18.04
webpack-dev-server: ^3.2.1
Metadata
Metadata
Assignees
Labels
No labels