about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--.eslintrc.js2
-rw-r--r--.github/workflows/lint.yml2
-rw-r--r--.gitignore3
-rw-r--r--.prettierignore21
-rw-r--r--package.json7
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"
+    ]
   }
 }