diff options
author | dan <dan.abramov@gmail.com> | 2024-04-01 22:58:31 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-04-01 22:58:31 -0700 |
commit | a45da17c48b34f692668592f298a9d4441ee1be9 (patch) | |
tree | 5635f189bc46e05454b7a4a88a705c672182f713 | |
parent | 0ff7e71ee356c692580d1931044cc92c59f381cb (diff) | |
download | voidsky-a45da17c48b34f692668592f298a9d4441ee1be9.tar.zst |
Separate ESLint and Prettier (#3373)
* Disable legacy Prettier ESLint integration * Run Prettier separately * Add caching * Separate -some and -all * Reduce node inits
-rw-r--r-- | .eslintrc.js | 2 | ||||
-rw-r--r-- | .github/workflows/lint.yml | 2 | ||||
-rw-r--r-- | .gitignore | 3 | ||||
-rw-r--r-- | .prettierignore | 21 | ||||
-rw-r--r-- | package.json | 7 |
5 files changed, 22 insertions, 13 deletions
diff --git a/.eslintrc.js b/.eslintrc.js index 6165517f7..6e8e01fe2 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -15,6 +15,8 @@ module.exports = { 'simple-import-sort', ], rules: { + // Temporary until https://github.com/facebook/react-native/pull/43756 gets into a release. + 'prettier/prettier': 0, 'react/no-unescaped-entities': 0, 'react-native/no-inline-styles': 0, 'simple-import-sort/imports': [ diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 9aa55ca07..22cc65735 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -24,6 +24,8 @@ jobs: attempt_delay: 2000 - name: Lint check run: yarn lint + - name: Prettier check + run: yarn prettier --check . - name: Check & compile i18n run: yarn intl:build - name: Type check diff --git a/.gitignore b/.gitignore index f96d0d5ff..ddb553d26 100644 --- a/.gitignore +++ b/.gitignore @@ -104,6 +104,9 @@ google-services.json # Performance results (Flashlight) .perf/ +# ESLint +.eslintcache + # i18n src/locale/locales/_build/ src/locale/locales/**/*.js diff --git a/.prettierignore b/.prettierignore index 1a471a497..9038a93c0 100644 --- a/.prettierignore +++ b/.prettierignore @@ -1,12 +1,11 @@ -ios -android -src/third-party -src/app.json -public -/bskyweb/templates -/dist/ -/.watchmanconfig -/app.json +# Ignore everything except the code in src/. +# Based on https://stackoverflow.com/a/70715829/458193 +* +!src/**/*.js +!src/**/*.jsx +!src/**/*.ts +!src/**/*.tsx +!*/ -web/index.html -web-build/* +# More specific ignores go below. +src/locale/locales diff --git a/package.json b/package.json index 3ad135377..0287c5134 100644 --- a/package.json +++ b/package.json @@ -26,7 +26,7 @@ "test-watch": "NODE_ENV=test jest --watchAll", "test-ci": "NODE_ENV=test jest --ci --forceExit --reporters=default --reporters=jest-junit", "test-coverage": "NODE_ENV=test jest --coverage", - "lint": "eslint ./src --ext .js,.jsx,.ts,.tsx", + "lint": "yarn eslint --cache --ext .js,.jsx,.ts,.tsx src", "typecheck": "tsc --project ./tsconfig.check.json", "e2e:mock-server": "./jest/dev-infra/with-test-redis-and-db.sh ts-node --project tsconfig.e2e.json __e2e__/mock-server.ts", "e2e:metro": "NODE_ENV=test RN_SRC_EXT=e2e.ts,e2e.tsx expo run:ios", @@ -314,6 +314,9 @@ ] }, "lint-staged": { - "*{.js,.jsx,.ts,.tsx}": "yarn eslint --fix" + "*{.js,.jsx,.ts,.tsx}": [ + "eslint --cache --fix", + "prettier --cache --write --ignore-unknown" + ] } } |