neutrino-middleware-stylelint
is a Neutrino middleware that adds basic support
for Stylelint.
Installation requires a single command:
yarn add --dev neutrino-middleware-stylelint
If you want to extend a stylelint configuration, such as the Stylelint standard configuration, don't forget to install it too.
yarn add --dev stylelint-config-standard
(Yet, if that's all you really want, use our pre-configured preset instead.)
Using this middleware requires configuration through options. It is not designed to be used on its own, instead it should be configured in your own preset.
For example, in .neutrinorc.js
, write this configuration:
module.exports = {
use: [
['neutrino-middleware-stylelint', {
config: {
extends: require.resolve('stylelint-config-standard'),
rules: {
"indentation": "tab",
"number-leading-zero": null,
"property-no-unknown": [true, {"ignoreProperties": ["composes"]}],
"unit-whitelist": ["em", "rem", "s"]
}
}
}]
],
};
See [neutrino advanced configuration][neutrino-advanced-configuration] for more details.
Every stylelint plugin option can be overwritten by setting in the middleware options.
This middleware overrides some defaults from stylelint-webpack-plugin
:
files
: set to'**/*.+(css|scss|sass|less)'
, supporting CSS, Sass and LessfailOnError
: set tofalse
, prevents Hot Module Replacement issues.
You can see the other default values in the stylelint-webpack-plugin docs.
neutrino-middleware-stylelint
also provides a method for getting the
Stylelint configuration suitable for use in a stylelint.config.js
file.
Typically this is used for providing hints or fix solutions to the development
environment, e.g. IDEs and text editors.
Create a stylelint.config.js file in the root of the project.
// styleling.config.js
const { Neutrino } = require('neutrino');
const api = Neutrino();
module.exports = api.call('stylelintrc');