feat(tools): remove eslint-plugin-prettier for prettier (#42438)

* feat: remove eslint-plugin-prettier for prettier

This removes the annoying lint warnings when all that needs to change is
formatting

* fix: use .js lint-staged config to ignore properly

* fix: lint everything if a lot of files are changed

It's faster than making lots of individual linter calls

* chore: apply prettier

* fix: ignore code in curriculum-file-structure
This commit is contained in:
Oliver Eyton-Williams
2021-10-06 17:32:21 +02:00
committed by GitHub
parent 8518079316
commit c8d7f0a782
152 changed files with 905 additions and 735 deletions

28
.lintstagedrc.js Normal file
View File

@ -0,0 +1,28 @@
const { ESLint } = require('eslint');
const cli = new ESLint();
// if a lot of files are changed, it's faster to run prettier/eslint on the
// whole project than to run them on each file separately
module.exports = {
'*.(js|ts|tsx)': files =>
files.length > 10
? ['eslint --max-warnings=0 --cache --fix .', 'prettier --write .']
: [
'eslint --max-warnings=0 --cache --fix ' +
files.filter(file => !cli.isPathIgnored(file)).join(' '),
...files.map(filename => `prettier --write '${filename}'`)
],
'*.!(js|ts|tsx)': files =>
files.length > 10
? 'prettier --write .'
: files.map(
filename => `prettier --write --ignore-unknown '${filename}'`
),
'./curriculum/challenges/**/*.md': files =>
files.length > 10
? 'npm run lint:challenges'
: files.map(
filename => `node ./tools/scripts/lint/index.js '${filename}'`
)
};