@hyperse-io/eslint-config-hyperse
v1.0.1
Published
🛠 These are settings for TypeScript / ESLint / Prettier in a project
Downloads
4
Readme
@hyperse-io/eslint-config-hyperse
🛠 These are my settings for TypeScript / ESLint / Prettier in a project, also support mono / esm 📦
These are the ESLint and Prettier settings for a Next.js project ⚡️
Table of Contents
What it does
- Lints JavaScript / TypeScript based on the latest standards
- Multiple configs
react
hooks
next
.. - Shared
tsconfig.json
- Fixes issues and formatting errors with Prettier
- Check for accessibility rules on JSX elements.
Local / Per Project Install
If you don't already have a
package.json
file, create one withnpm init
.Then we need to install the config:
npm i -D @hyperse-io/eslint-config-hyperse
Create a
eslint.config.js
file in the root of your project's directory (it should live where package.json does). Youreslint.config.js
file should look like this:Extends your config with the minimal base of
@hyperse-io
config :
import { base, defineConfig } from '@hyperse-io/eslint-config-hyperse';
export default defineConfig([
// ...typescript
...base,
{
rules: {
'@typescript-eslint/no-explicit-any': 'off',
},
},
]);
Scripts
You can add two scripts to your package.json to lint and/or fix your code:
{
"scripts": {
"lint": "tsc --noEmit && eslint .",
"lint:fix": "npm run lint -- --fix"
}
}
If you use Next.js
You can also add additional rules for Next.js
import { base, nextjs, defineConfig } from '@hyperse-io/eslint-config-hyperse';
export default defineConfig([
// ...typescript
...base,
...nextjs,
{
rules: {
'@typescript-eslint/no-explicit-any': 'off',
},
},
]);
If you use React.js
You can also add additional rules for only React.js ecosystem (without Next.js).
import { base, nextjs, defineConfig } from '@hyperse-io/eslint-config-hyperse';
export default defineConfig([
// ...typescript
...base,
...reactjs,
{
rules: {
'@typescript-eslint/no-explicit-any': 'off',
},
},
]);
If you use VS Code
Once you have done. You probably want your editor to lint and fix for you.
- Install the ESLint package
- Now we need to setup some VS Code settings. Create a
.vscode
folder at your root project, and create asettings.json
file in this folder. Then, add this little config:
{
"editor.formatOnSave": true,
"editor.defaultFormatter": "dbaeumer.vscode-eslint",
"editor.codeActionsOnSave": {
"source.fixAll": "explicit",
"source.organizeImports": "never"
},
"eslint.experimental.useFlatConfig": true
}