A custom eslint config supporting TypeScript, React and JSON.
This configuration is based on airbnb and typescript-eslint. For supporting JSON files eslint-plugin-json
is being used, support for Prettier has been also added.
In addition, a few rules have been customized.
In order to use this configuration, one also has to install the peer dependencies eslint
, prettier
and typescript
. After installing eslint-config-tonalio
, adding "extends": "tonalio"
to your eslint configuration file should be sufficient. You may also want to add a prettier config file.
Next.JS provides some additional linting rules, which are not included in this configuration. It is therefore recommended to change your eslint config to include:
{
"extends": [
"tonalio",
"plugin:@next/next/recommended",
"plugin:@next/next/core-web-vitals"
]
}
You need to install the package @next/eslint-plugin-next
.
- Updated all dependencies, most notably
@typescript-eslint
to v6 andprettier
to v3
- Disable
react/react-in-jsx-scope
since it's not necessary anymore in NextJS & others
- Updated dependencies (
eslint-config-airbnb-typescript@17.0.0
,eslint-import-resolver-typescript@3.5.3
,eslint-plugin-svelte3@4.0.0
)
- Updated dependencies (
eslint-config-airbnb-typescript@17.0.0
,eslint-import-resolver-typescript@3.5.3
,eslint-plugin-svelte3@4.0.0
)
- disable
@typescript-eslint/no-misused-promises
for void returns
- Improve Svelte & SvelteKit rules
- Enable TypeScript in Svelte
- Initial support for svelte
- Bump
eslint-plugin-json
andeslint-config-prettier
- include missing dependency
- remove react default prop requirement
- Bump
@typescript-eslint
to support TypeScript v4, updatedeslint-config-airbnb-typescript
to v12
- Updated
eslint-config-airbnb-typescript
to v9, eslint to v7 and prettier to v2
- Switch enumMember casing from camelCase to PascalCase
- Disable
@typescript-eslint/naming-convention
for unused_
parameters
- Disable
@typescript-eslint/explicit-module-boundary-types
for React files - Enable PascalCasing e.g. for React functional components
- Relax
@typescript-eslint/naming-convention
rule
- Fix
@typescript-eslint/naming-convention
- Disable
@typescript-eslint/no-unsafe-*
rules
- Fix not existing
camelcase
rule
- Bump
typescript-eslint
to v3, which drops support for Node v8 and TypeScript v3.2
- In order to prevent a React version warning from appearing when not using React, it's version has been fixed to
latest
.
- Initial release