Skip to content

Latest commit

 

History

History
executable file
·
113 lines (75 loc) · 2.88 KB

Readme.md

File metadata and controls

executable file
·
113 lines (75 loc) · 2.88 KB

eslint-config-tamia

npm Node.js CI status

This package provides a shared ESLint config that I use on all my projects.

Should be used with Prettier, has no own code style rules.

Usage

We export three ESLint configurations:

eslint-config-tamia

Base set of rules for JavaScript. Includes:

npm install --save-dev eslint eslint-config-tamia

eslint.config.mjs:

import tamia from 'eslint-config-tamia';
export default [...tamia];

eslint-config-tamia/react

Lints ES6+ and React. Includes:

npm install --save-dev eslint eslint-config-tamia

eslint.config.mjs:

import tamiaReact from 'eslint-config-tamia/react';
export default [...tamiaReact];

eslint-config-tamia/typescript

Lints TypeScript. Includes:

npm install --save-dev eslint eslint-config-tamia

eslint.config.mjs:

import tamiaTypeScript from 'eslint-config-tamia/typescript';
export default [...tamiaTypeScript];

eslint-config-tamia/typescript-react

Lints TypeScript and React. Includes:

npm install --save-dev eslint eslint-config-tamia eslint-plugin-jsx-a11y

eslint.config.mjs:

import tamiaTypeScriptReact from 'eslint-config-tamia/typescript-react';
import jsxAccessibility from 'eslint-plugin-jsx-a11y';

export default [
  ...tamiaTypeScriptReact,
  jsxAccessibility.flatConfigs.strict
];

Code style at a glance

  • Tab indentation.
  • Single-quotes.
  • Semicolons.
  • Declare variables just before their first usage.
  • Multiple variable statements over multiple variable in a single statement.
  • Make const, not var.
  • Use === and !== over == and !=.
  • Return early.
  • Limit line lengths to 80 chars.
  • Prefer readability over religion.
  • Use ES6.

Example:

function eatFood(food) {
  if (food.length === 0) {
    return ['No food'];
  }

  return food.map(dish => `No ${dish.toLowerCase()}`);
}

const food = ['Pizza', 'Burger', 'Coffee'];
console.log(eatFood(food));

See ESlint config docs for more information.