This package provides Expensify's .eslintrc as an extensible shared config. Most of our rules are based on Airbnb's style guide.
- Make a change
- Bump the version in package.json and submit your PR
You need to publish the newest version of this to NPM so that we can update it in the other repos
- From the command line, in the directory for this repo:
- Run
npm login
- Enter username: 'expensify'
- Enter password: this is in 1Password for npmjs.com
- Enter the email: infra@expensify.com
- Ask for the 2FA code in #infra (feel free to ping @ring0 if you don't get a timely response)
- Run
npm publish
- Go into the App, Web-Expensify and Web-Secure repos and run
npm install eslint-config-expensify@latest
. This should update thepackage.json
andpackage-lock.json
file and you can submit a PR with those changes.
Note as of now we have no way of testing these PRs without a separate App, Web or Web Secure PR
We export two ESLint configurations for your usage.
Our default export contains all of our ESLint rules, including ECMAScript 6+ and React. It requires eslint
, eslint-plugin-import
, eslint-plugin-react
, and eslint-plugin-jsx-a11y
.
Just add extends: 'expensify'
to the .eslintrc
file in the root directory of your project.
Just add extends: 'expensify/legacy'
to the .eslintrc
file in the root directory of your project.
Feel free to also check out our Javascript style guide, our general language-agnostic coding standards, and the ESlint config docs for more information.