package.json
eslint, prettier,husky,stylelint相关的安装一下
{
"scripts": {
"start": "roadhog server",
"build": "roadhog build",
"lint": "eslint --ext .js src test",
"lint:fix": "eslint --fix --cache --ext .js,.jsx ./src && npm run lint:style",
"lint:js": "eslint --cache --ext .js,.jsx ./src",
"lint:prettier": "prettier --check \"src/**/*\" --end-of-line auto",
"lint:style": "stylelint --fix \"src/**/*.less\" --syntax less",
"prettier": "prettier -c --write \"src/**/*\"",
"precommit": "lint-staged",
"precommit:fix": "npm run lint:fix && npm run prettier && npm run lint:prettier && npm run lint:style"
},
"devDependencies": {
"babel-eslint": "^9.0.0",
"babel-plugin-dva-hmr": "^0.3.2",
"eslint": "^4.14.0",
"eslint-config-umi": "^0.1.1",
"eslint-plugin-flowtype": "^2.34.1",
"eslint-plugin-import": "^2.6.0",
"eslint-plugin-jsx-a11y": "^5.1.1",
"eslint-plugin-react": "^7.1.0",
"husky": "^0.12.0",
"less": "^4.1.1",
"less-loader": "^8.0.0",
"lint-staged": "^7.2.2",
"prettier": "^2.2.1",
"react-router-dom": "^5.2.0",
"redbox-react": "^1.4.3",
"roadhog": "^2.5.0-beta.4",
"stylelint": "^13.12.0",
"stylelint-config-css-modules": "^2.2.0",
"stylelint-config-prettier": "^8.0.2",
"stylelint-config-rational-order": "^0.1.2",
"stylelint-config-standard": "^21.0.0",
"stylelint-declaration-block-no-ignored-properties": "^2.3.0",
"stylelint-order": "^4.1.0"
},
"lint-staged": {
"**/*.less": "stylelint --syntax less",
"**/*.{js,jsx,ts,tsx}": "npm run lint-staged:js",
"*.{ts,tsx}": "npm run lint-staged:js",
"*.{js,jsx}": "npm run lint-staged:js"
}
}
.stylintrc.js
如果用了umi
const fabric = require('@umijs/fabric');
module.exports = {
...fabric.stylelint,
};
如果不用umi(其实就是拷贝出来了)
npm install stylelint-config-standard stylelint-config-css-modules stylelint-config-rational-order stylelint-config-prettier stylelint-order stylelint-declaration-block-no-ignored-properties -D
"use strict";
module.exports = {
extends: [
'stylelint-config-standard',
'stylelint-config-css-modules',
'stylelint-config-rational-order',
'stylelint-config-prettier',
].map(function (key) { return require.resolve(key); }),
plugins: ['stylelint-order', 'stylelint-declaration-block-no-ignored-properties'].map(function (key) {
return require.resolve(key);
}),
rules: {
'no-descending-specificity': null,
'plugin/declaration-block-no-ignored-properties': true,
},
};