@febase/eslint-config-base
v1.7.0
Published
Shared eslint base config
Downloads
9
Readme
Eslint Config Base
This package provides eslint
config for the javascript
projects.
Only support the new Eslint flat config.
Prettier and Linters
- Prettier Config:
Prettier
config for theFront-end
projects. - Prettier Config:
Prettier
config for theSvelte
projects. - Eslint Config Base:
Eslint
config for theJavascript
projects. - Eslint Config Typescript:
Eslint
config for theTypescript
projects. - Eslint Config React JS:
Eslint
config for theReact JS
projects. - Eslint Config React TS:
Eslint
config for theReact TS
projects. - Eslint Config Next JS:
Eslint
config for theNext JS
projects. - Eslint Config Next TS:
Eslint
config for theNext TS
projects. - Eslint Config Lit JS:
Eslint
config for theLit JS
projects. - Eslint Config Lit TS:
Eslint
config for theLit TS
projects. - Eslint Config Node ESM:
Eslint
config for theNode Esm
projects. - Eslint Config Svelte JS:
Eslint
config for theSvelte
projects. - Eslint Config Svelte TS:
Eslint
config for theSvelte TS
projects.
and more to come.
Usage
1. Install package
pnpm add -D @febase/eslint-config-base eslint
2. Add config to your eslint.config.js
. Please read more about Eslint Flat Config.
import { config } from '@febase/eslint-config-base';
export default [...config];
This package also exports other standalone configs:
import { baseConfig, ignoresConfig, importConfig, languageOptions, unicornConfig } from '@febase/eslint-config-base';
baseConfig
: Eslint core config.ignoresConfig
: Default ignores
[
'**/node_modules/',
'.git/',
'.config/*',
'**/build/',
'**/.next/',
'**/.turbo/',
'**/dist/',
'**/coverage/',
'**/__generated__/',
'**/__*',
],
importConfig
: eslint-plugin-import config.unicornConfig
: eslint-plugin-unicorn config.languageOptions
: GloballanguageOptions
.
3. Add script to your package.json
.
{
"scripts": {
"lint": "eslint \"src/**/*.js\"",
"lint:fix": "pnpm lint"
}
}
Configuration your VScode
.
In root your project's folder. Create .vscode
folder with structure:
.vscode
- settings.json
{
"eslint.experimental.useFlatConfig": true,
// if mono-repo please remove comment of the below line.
// "eslint.workingDirectories": [{ "pattern": "./apps/*/" }, { "pattern": "./packages/*/" }],
"eslint.options": {
"overrideConfigFile": "eslint.config.js"
},
"editor.codeActionsOnSave": {
"source.fixAll.eslint": true
},
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.formatOnSave": true
}
Setup git hooks
- Install packages and global setup
husky
,lint-staged
.
pnpm add -D husky lint-staged
pnpm dlx husky install
pnpm pkg set scripts.prepare="husky install"
pnpm dlx husky add .husky/pre-commit "pnpm dlx lint-staged"
- Add the following to your
package.json
:
{
"lint-staged": {
"*.{js,jsx,ts,tsx}": ["pnpm format", "pnpm lint:fix"],
"*.{json,css,md,html}": ["pnpm format"]
}
}