Shared ESLint config used in Ionic and Capacitor projects.
This is meant to be used alongside Prettier (with @ionic/prettier-config
).
-
Remove existing
.eslintrc.*
file, if present. -
Install
eslint
and the config.npm install -D eslint @ionic/eslint-config
-
Add the following to
package.json
:"eslintConfig": { "extends": "@ionic/eslint-config/recommended" }
📝 You can also use the base rule set: @ionic/eslint-config
-
Set up Prettier and
@ionic/prettier-config
. -
When using with Prettier and
@ionic/prettier-config
, ESLint should run first. Set up your scripts inpackage.json
like this:"scripts": { "lint": "npm run eslint && npm run prettier -- --check", "fmt": "npm run eslint -- --fix && npm run prettier -- --write", "prettier": "prettier \"**/*.ts\"", "eslint": "eslint . --ext .ts", }
npm run lint
: for checking if ESLint and Prettier complainnpm run fmt
: attempt to autofix lint issues and autoformat code
📝 Not every rule in this configuration is autofixable, so
npm run fmt
may continue failing until lint issues are addressed manually.
-
Install husky:
npm install -D husky
-
Add the following to
package.json
:"husky": { "hooks": { "pre-commit": "npm run lint" } },