eslint-config-varp
v2.16.0
Published
ESLint, Prettier, Stylelint configs by Varp
Maintainers
Readme
eslint-config-varp
Go in
Setup
- Install:
npm install -D eslint-config-varp- Add
prettierconfig to thepackage.json:
"prettier": "eslint-config-varp/prettier",- Create
eslint.config.jsfile with content:
const { defineConfig } = require("eslint/config");
const configs = require("eslint-config-varp");
module.exports = defineConfig([
extends: [configs.eslint.base, configs.eslint.typescript, configs.eslint.react],
rules: {
/* Eslint rules */
}
]);- Add
.vscode/settings.jsonfile with content:
{
"editor.tabSize": 2,
"editor.defaultFormatter": "dbaeumer.vscode-eslint",
"eslint.format.enable": true,
"editor.codeActionsOnSave": {
"source.fixAll.eslint": "always"
},
"eslint.validate": [
"typescript",
"typescriptreact",
"javascript",
"javascriptreact",
"markdown",
"json",
"jsonc"
],
"[jsonc]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[json]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[scss]": {
"editor.codeActionsOnSave": {
"source.fixAll.stylelint": "always"
},
"editor.defaultFormatter": "stylelint.vscode-stylelint"
},
"stylelint.validate": ["scss"],
"stylelint.snippet": ["scss"],
"stylelint.enable": true
}- Add new scripts to package.json:
"scripts": {
"lint": "eslint .",
"lint:fix": "eslint . --fix",
"stylelint": "stylelint \"**/*.scss\"",
"stylelint:fix": "stylelint \"**/*.scss\" --fix",
}User cases
Override rules
- Add
overridesproperty in config file
module.exports = {
overrides: [
{
files: ["*/**/*.js"],
rules: {
/* Overrided rules */
},
},
],
};Override rules with file/folder
- In
eslint.config.jsdisableXrule. - Add new section with path you want to override the
Xrule
Example:
{
rules: {
"check-file/filename-naming-convention": "off",
},
},
{
files: ["src/**/*", "test/**/*"],
ignores: ["src/migrations/**/*"],
rules: {
"check-file/filename-naming-convention": [
"error",
{
"**/*.{ts,tsx}": "CAMEL_CASE",
},
{
ignoreMiddleExtensions: true,
},
],
"check-file/folder-naming-convention": ["error", { "src/**/": "CAMEL_CASE", "test/**/": "CAMEL_CASE" }],
},
},Ignore path
const { defineConfig } = require("eslint/config");
const configs = require("eslint-config-varp");
module.exports = defineConfig([
extends: [varp.eslint.base, varp.eslint.typescript, varp.eslint.react],
{
ignores: ["stories", "**/*.txt"],
},
]);Notes
typescriptpackage is not onpeerDependencies, but it require to be on the project.
