optimize eslint script

This commit is contained in:
shao 2019-08-21 21:54:38 +08:00
parent f70933718a
commit 771072b0a4
5 changed files with 25 additions and 12 deletions

6
.eslintignore Normal file
View File

@ -0,0 +1,6 @@
node_modules
test/**
*.d.ts
examples/**/*.js
!examples/*/webpack.config.js
!.*.js

View File

@ -11,7 +11,10 @@ module.exports = {
es6: true
},
parserOptions: {
ecmaVersion: 2017
ecmaVersion: 2017,
ecmaFeatures: {
experimentalObjectRestSpread: true
}
},
rules: {
"prettier/prettier": "error",
@ -55,12 +58,16 @@ module.exports = {
jsdoc: {
// supported tags https://github.com/microsoft/TypeScript-wiki/blob/master/JSDoc-support-in-JavaScript.md
tagNamePreference: {
...(['implements', 'const', 'memberof', 'readonly', 'yields'].reduce((acc, tag) => {
acc[tag] = {
message: `@${tag} currently not supported in Typescript`
};
return acc;
}, {})),
// eslint-disable-next-line node/no-unsupported-features,node/no-unsupported-features/es-syntax
...["implements", "const", "memberof", "readonly", "yields"].reduce(
(acc, tag) => {
acc[tag] = {
message: `@${tag} currently not supported in Typescript`
};
return acc;
},
{}
),
extends: "extends",
return: "returns",
constructor: "constructor",

View File

@ -67,7 +67,7 @@ yarn pretty
This performs linting on:
* eslint (code-lint script)
* eslint (eslint script)
* schema + dependencies (jest-lint script)
* types (type-lint script)
* format + generated files (special-lint script)

View File

@ -71,7 +71,7 @@ jobs:
- script: |
set -e
export PATH="$HOME/.yarn/bin:$HOME/.config/yarn/global/node_modules/.bin:$PATH"
yarn -s run code-lint --format junit > junit.xml
yarn -s run eslint --format junit > junit.xml
yarn jest-lint
yarn type-lint
yarn special-lint

View File

@ -119,12 +119,12 @@
"build:examples": "cd examples && node buildAll.js",
"pretest": "yarn lint",
"prelint": "yarn setup",
"lint": "yarn code-lint && yarn jest-lint && yarn type-lint && yarn special-lint",
"code-lint": "eslint --cache \"{setup,lib,bin,hot,buildin,benchmark,tooling,schemas}/**/*.js\" \"test/*.js\" \"test/{configCases,watchCases,statsCases,hotCases}/**/webpack.config.js\" \"examples/**/webpack.config.js\"",
"lint": "yarn eslint && yarn jest-lint && yarn type-lint && yarn special-lint",
"eslint": "eslint . --ext '.js'",
"type-lint": "tsc --pretty",
"special-lint": "node tooling/inherit-types && node tooling/format-schemas && node tooling/compile-to-definitions",
"special-lint-fix": "node tooling/inherit-types --write --override && node tooling/format-schemas --write && node tooling/compile-to-definitions --write",
"fix": "yarn code-lint --fix && yarn special-lint-fix",
"fix": "yarn eslint --fix && yarn special-lint-fix",
"pretty": "prettier --loglevel warn --write \"*.{ts,js,json,yml,yaml}\" \"{setup,lib,bin,hot,buildin,benchmark,tooling,schemas}/**/*.{js,json}\" \"test/*.js\" \"test/{configCases,watchCases,statsCases,hotCases}/**/webpack.config.js\" \"examples/**/webpack.config.js\"",
"jest-lint": "node --max-old-space-size=4096 node_modules/jest-cli/bin/jest --testMatch \"<rootDir>/test/*.lint.js\" --no-verbose",
"benchmark": "node --max-old-space-size=4096 --trace-deprecation node_modules/jest-cli/bin/jest --testMatch \"<rootDir>/test/*.benchmark.js\" --runInBand",