Stylelint Plugin used at Springer Nature for linting sass
using the scss
syntax.
This plugin extends standard stylelint configurations with rules used by SpringerNature.
This package requires:
stylelint@^15.10.0
- Install
stylelint
and config to your devDependencies
npm install --save-dev stylelint@^15.10.0 @springernature/stylelint-config
-
Create a file called
.stylelintrc.json
in your root folder. -
Inside the file add:
{
"extends": ["@springernature/stylelint-config"]
}
You can add more rules or plugins in this section following the stylelint config format.
- Run
stylelint
, specifying thescss
syntax
stylelint './path/to/scss/*.scss'
- Run stylelint fixing issues automatically (not all are fixable).
stylelint './path/to/scss/*.scss' --fix
- Add
stylelint
scripts to your package.json
"stylelint": "stylelint '**/*.scss'",
"stylelint-fix": "stylelint '**/*.scss' --fix"
If your project used Gulp to compile SCSS you can integrate Stylelint using
npm install @adorade/gulp-stylelint-esm -save-dev
Here are examples of an implementation:
ES6
import {src} from 'gulp';
import {gulpStylelint} from 'gulp-stylelint-esm';
function stylelintTask() {
return gulp
.src('src/**/*.scss')
.pipe(gulpStylelint({
reporters: [
{ formatter: 'string', console: true }
]
}));
}
CommonJS
const {src} = require('gulp');
function lintScss(globs) {
return async () => {
const gStylelintEsm = await import('gulp-stylelint-esm');
return src(globs)
.pipe(gStylelintEsm.default({
reporters: [
{formatter: 'string', console: true}
]
}))
.on('error', (error) => {
console.error(error.toString())
})
};
}
One of the big advantages of Stylelint is that most of the major IDE's have a plugin that can help you write the code without the need to run Stylelint.
- VScode has a very good plugin for Stylelint. Follow the instructions on this article to help set it up.
- Intellij also has a plugin for Stylelint.
- SublimeText can use the SublimeLinter-stylelint plugin.
This package is used by many active Springer Nature projects. We always welcome issues and pull requests, but we may not always be able to merge your suggestions.
If we decide that we can't merge your PR or act on your issue, it's nothing personal! We love to see new contributors, and we strive to provide a welcoming and inclusive environment.
The stylelint-config-springernature repository is licensed under the MIT License.
All packages within this repository are licensed under the MIT License.
Copyright © 2023, Springer Nature