1.0.0 • Published 2 years ago

@hammerseng/eslint-config v1.0.0

Weekly downloads
-
License
ISC
Repository
-
Last release
2 years ago

@hammerseng/eslint-config

Installation

npm i -D eslint @hammerseng/eslint-config

Usage

Default (JS + TS + React)

Install other dependencies:

npm i -D @typescript-eslint/eslint-plugin @typescript-eslint/parser eslint-plugin-react

Update your .eslintrc to something like this:

{
	"root": true,
	"env": {
        "browser": true,
        "es2021": true,
        "node": true
    },
    "parser": "@typescript-eslint/parser",
    "parserOptions": {
        "ecmaFeatures": {
            "jsx": true
        },
        "ecmaVersion": "latest",
        "project": "./tsconfig.json",
        "sourceType": "module"
    },
    "settings": {
        "react": {
            "version": "detect"
        }
    },
    "plugins": [
        "react",
		"@typescript-eslint"
    ],
	"extends": "@hammerseng/eslint-config",
	"rules": {
		/* Disable annoying stuff here */
	}
}

Plain JS

For basic JS code, there's no need for extra dependencies.

Example .eslintrc:

{
	"root": true,
	"env": {
        "browser": true,
        "es2021": true,
        "node": true
    },
	"extends": "@hammerseng/eslint-config/js",
	"rules": {
		/* Disable annoying stuff here */
	}
}

React

For React without TS you only need to install eslint-plugin-react.

npm i -D eslint-plugin-react

Example .eslintrc:

{
	"root": true,
	"env": {
        "browser": true,
        "es2021": true,
        "node": true
    },
    "parserOptions": {
        "ecmaFeatures": {
            "jsx": true
        },
        "ecmaVersion": "latest",
        "sourceType": "module"
    },
    "settings": {
        "react": {
            "version": "detect"
        }
    },
    "plugins": [
        "react",
    ],
	"extends": "@hammerseng/eslint-config/react",
	"rules": {
		/* Disable annoying stuff here */
	}
}

TS

For TS without React.

npm i -D @typescript-eslint/eslint-plugin @typescript-eslint/parser

Example .eslintrc:

{
	"root": true,
	"env": {
        "browser": true,
        "es2021": true,
        "node": true
    },
    "parser": "@typescript-eslint/parser",
    "parserOptions": {
        "ecmaVersion": "latest",
        "project": "./tsconfig.json",
        "sourceType": "module"
    },
    "plugins": [
		"@typescript-eslint"
    ],
	"extends": "@hammerseng/eslint-config/ts",
	"rules": {
		/* Disable annoying stuff here */
	}
}

NOTE

You can mix and match the above configs to match your needs.