Package Exports
- xo-loader
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (xo-loader) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
xo-loader 
XO loader for webpack. Based on eslint-loader
Install
$ npm install xo-loader
Usage
In your webpack configuration
module.exports = {
// ...
module: {
loaders: [
{test: /\.js$/, loader: 'xo-loader', exclude: /node_modules/}
]
}
// ...
}
When using with transpiling loaders (like babel-loader
), make sure they are in correct order
(bottom to top). Otherwise files will be check after being processed by babel-loader
module.exports = {
// ...
module: {
loaders: [
{test: /\.js$/, loader: 'babel-loader', exclude: /node_modules/},
{test: /\.js$/, loader: 'xo-loader', exclude: /node_modules/}
]
}
// ...
}
To be safe, you can use preLoaders
section to check source files, not modified
by other loaders (like babel-loader
)
module.exports = {
// ...
module: {
preLoaders: [
{test: /\.js$/, loader: 'xo-loader', exclude: /node_modules/}
]
}
// ...
}
Options
You can pass XO options directly by
- Adding a query string to the loader for this loader usabe only
{
module: {
preLoaders: [
{
test: /\.js$/,
loader: 'xo-loader?{rules:[{semi:0}]}',
exclude: /node_modules/,
},
],
},
}
- Adding an
xo
entry in your webpack config for global options:
module.exports = {
xo: {
space: true
}
}
Note that you can use both method in order to benefit from global & specific options
Errors and Warning
By default the loader will auto adjust error reporting depending
on xo errors/warnings counts.
You can still force this behavior by using emitError
or emitWarning
options:
emitError
(default: false
)
Loader will always return errors if this option is set to true
.
module.exports = {
entry: "...",
module: {
// ...
}
xo: {
emitError: true
}
}
emitWarning
(default: false
)
Loader will always return warnings if option is set to true
.
quiet
(default: false
)
Loader will process and report errors only and ignore warnings if this option is set to true
module.exports = {
entry: "...",
module: {
// ...
}
xo: {
quiet: true
}
}
failOnWarning
(default: false
)
Loader will cause the module build to fail if there are any xo warnings.
module.exports = {
entry: "...",
module: {
// ...
}
xo: {
failOnWarning: true
}
}
failOnError
(default: false
)
Loader will cause the module build to fail if there are any xo errors.
module.exports = {
entry: "...",
module: {
// ...
}
xo: {
failOnError: true
}
}