Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

eslint-config-divid

dividab596MIT0.7.1

ESLint Sharable Config using typescript and prettier with functional programming style

eslint, eslintconfig, config, divid, javascript, typescript, es2015, es2016, es2017, es2018

readme

eslint-config-divid

npm version build MIT license

This package contains rules to enforce the programming style we use at Divid but should be useful to anyone using typescript and prettier with functional programming style.

Features

Rules are configured for use with:

  • Prettier for code formatting
  • Typescript
  • Functional programing style

Usage

Install the package and it's peer dependencies:

yarn add --dev eslint-config-divid eslint @typescript-eslint/parser @typescript-eslint/eslint-plugin eslint-plugin-functional eslint-plugin-import confusing-browser-globals

Add a file called .eslintrc.js to your project's root with the following content:

module.exports = {
  extends: "divid",
  parserOptions: {
    project: "./tsconfig.json",
  },
};

Add the following to the scripts section of your project's package.json:

"lint": "eslint './src/**/*.ts{,x}' --ext .js,.ts,.tsx -f visualstudio"

vscode config

In order for the vscode eslint plugin to work for typescript this is needed in the .vscode/settings.json file:

{
  "eslint.validate": [
    "javascript",
    "javascriptreact",
    { "language": "typescript", "autoFix": true },
    { "language": "typescriptreact", "autoFix": true }
  ]
}

You can set the vscode eslint plugin as recommended by adding a file .vscode/extensions.json with this content:

{
  "recommendations": ["dbaeumer.vscode-eslint"]
}

Overriding rules

If you want to override a rule, just put it in .eslintrc.js like this:

module.exports = {
  extends: "divid",
  parserOptions: {
    project: "./tsconfig.json",
  },
  rules: {
    "@typescript-eslint/array-type": ["error", { default: "array" }],
  },
};

Prettier and typescript

Any rules that conflicts or are uncessary becuase of prettier and typescript has been turned off according to prettier source and typescript source). The affected rules are commented to indicate they are turened of becuase of prettier or typescript.

How to publish

yarn version --patch
yarn version --minor
yarn version --major

changelog

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog and this project adheres to Semantic Versioning.

Unreleased

v0.7.1 - 2022-03-24

Changed

  • Updated peer deps.

v0.7.0 - 2022-03-24

Changed

  • Updated peer deps.

v0.6.0 - 2021-08-15

Changed

  • In rules functional/no-let, functional/prefer-readonly-type enabled option ignorePattern: "^[mM]utable".

v0.5.1 - 2020-09-27

Changed

  • Turned off @typescript-eslint/brace-style becuase it confilicts with prettier

v0.5.0 - 2020-09-27

Changed

  • Upgraded plugins and settings for new rules in @typescript-eslint/eslint-plugin.

v0.4.2 - 2019-10-16

Fixed

  • Add eslint-plugin-import rules to index.

v0.4.1 - 2019-10-16

Fixed

  • Add eslint-plugin-import as peer dependency.

v0.4.0 - 2019-10-16

Changed

  • Rules from eslint-plugin-import are now checked.

v0.3.0 - 2019-10-14

Changed

  • Upgrade peer dependencies.

v0.2.0 - 2019-08-11

Changed

  • Switch to eslint ^5.0.0 as peer dep becuase @typescript-eslint/eslint-plugin needs this

v0.1.0 - 2019-08-11

Added

  • Initial release