coryhouse / coryhouse/reactjsconsulting
ESLint
- Dominant language
- JavaScript
- Stars
- 374
- Forks
- 33
- PR merge metrics
- No merged PRs in 30d
Description
## Configs
- eslint-config-airbnb
- eslint-config-airbnb-typescript
- eslint-config-prettier
- eslint-config-react-app
- eslint-config-turbo
## Plugins
- [eslint-plugin-import](https://github.com/import-js/eslint-plugin-import)
- [eslint-plugin-unicorn](https://github.com/sindresorhus/eslint-plugin-unicorn)
- eslint-plugin-cypress
- eslint-plugin-playwright
- eslint-plugin-functional
- prettier-plugin-packagejson
- eslint-plugin-deprecation
- eslint-plugin-import
- eslint-plugin-jest
- eslint-plugin-jsx-a11y
- eslint-plugin-no-only-tests
- eslint-plugin-stylelint
- eslint-plugin-tailwindcss
- eslint-plugin-query
- eslint-plugin-prettier
- eslint-plugin-testing-library
- eslint-plugin-typescript-sort-keys
- eslint-plugin-vitest-globals
- eslint-config-eslint
- eslint-plugin-jsdoc
- eslint-plugin-node
- eslint-plugin-storybook
- eslint-plugin-promise
- eslint-plugin-sonarjs
- eslint-plugin-jsdoc
- https://github.com/gajus/eslint-plugin-canonical#no-barrel-import to avoid imports from barrel files
- https://github.com/gajus/eslint-plugin-canonical#no-re-export or - https://www.npmjs.com/package/eslint-plugin-no-re-export to avoid re-exports(more useful to see the exception at the time of export since that's usually the root of the problem. Even when you no longer have any `no-barrel-import` violations, it's likely that you still have lingering barrel files even though they might no longer be in use.)
Strongly typed env wrapper with ESLint rule to enforce using it: https://twitter.com/housecor/status/1648346461455675392. Or, perhaps don't wrap at all and just strongly type: https://www.youtube.com/watch?v=q1im-hMlKhM
Set [--report-unused-disabled-directives](https://twitter.com/housecor/status/1667530425571442688) when running the CLI to catch needless disables.
Use import/no-default-export to catch default exports. Disable this rule for React components like this:
```js
overrides: [
{
files: ["src/**/*.tsx"],
rules: {
"import/no-default-export": "off",
}
},
]
```
## React
- eslint-plugin-react-native
- eslint-plugin-react-native-a11y
- eslint-plugin-react
- eslint-plugin-react-hooks
- https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/boolean-prop-naming.md
[Enforce consistent useState](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/hook-use-state.md)
- [Require passing named functions to useEffect](https://twitter.com/housecor/status/1753777632976461954)
## TypeScript
[https://typescript-eslint.io/](https://typescript-eslint.io/)
https://typescript-eslint.io/rules/no-unnecessary-condition/ - [My tweet thread](https://x.com/housecor/status/1746550376873025792?s=20)
https://www.npmjs.com/package/eslint-plugin-no-type-assertion
https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/docs/rules/no-non-null-assertion.md
Fav rules from above:
- https://typescript-eslint.io/rules/ban-ts-comment/
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.