1. eslint-config-strict
ESLint sharable config for strict linting
eslint-config-strict
Package: eslint-config-strict
Created by: keithamus
Last modified: Fri, 17 Jun 2022 20:11:49 GMT
Version: 14.0.1
License: MIT
Downloads: 9,880
Repository: https://github.com/keithamus/eslint-config-strict

Install

npm install eslint-config-strict
yarn add eslint-config-strict

eslint-config-strict

Sponsor

ESLint sharable config for strict linting.

Rules

Every rule is documented, justified, and has examples within the rules folder. If you feel like a rule is wrong, take a read of this file, or refer others to it!

Installation

Install this config package and ESLint:

 $ npm install --save-dev eslint-config-strict

If you're using npm < v3 you'll also need to install all of the dependencies of this project:

 $ npm install --save-dev eslint eslint-plugin-filenames

If you use React, also have a look at the eslint-config-strict-react plugin.

Usage

This set of configs is meant to be extended on a per-project basis as necessary
using ESLint's shareable configs feature.

To start, you probably want to use pick either strict/es6 or strict/es5 (note:
strict can be used as an alias for strict/es6). You can then layer additional
rulesets on top using eslint, the additive rules are:

This package includes the following configurations:

  • strict/mocha (adds env.mocha true, assert, expect, must and should are
    added as globals, and func-names, padded-blocks and max-nested-callbacks rules
    are explicitly turned off)
  • strict/browser (simply sets env.browser to true)
  • strict/d3 (relaxes strict identifier rules, allowing for identifiers like d3, d, dx, dy)
  • strict/babel (for use with the eslint-plugin-babel plugin)

How to use

Simply define your .eslintrc (or add a eslintConfig object to package.json)
like so:

 {
  "extends": ["strict"]
}

Add any additional plugins you want, for example:

 {
  "extends": ["strict", "strict/browser"]
}

Also, you can define a test/.eslintrc to override the projects main one:

 {
  "extends": ["strict", "strict/browser", "strict/mocha"]
}

If your project is a front-end project and you're not transpiling ES6 code, you
might have an .eslintrc that looks like this:

 {
  "extends": ["strict/es5", "strict/browser"]
}

Feel free to define additional globals or rules, or override them as you see fit:

 {
  "extends": ["strict"],

  "globals": {
    "blarg": true
  },

  "rules": {
      "eol-last": 0
  }
}

For more details about how shareable configs work, see the
ESLint documentation.

RELATED POST

10 Must-Know Windows Shortcuts That Will Save You Time

10 Must-Know Windows Shortcuts That Will Save You Time

Arrays vs Linked Lists: Which is Better for Memory Management in Data Structures?

Arrays vs Linked Lists: Which is Better for Memory Management in Data Structures?

Navigating AWS Networking: Essential Hacks for Smooth Operation

Navigating AWS Networking: Essential Hacks for Smooth Operation

Achieving Stunning Visuals with Unity's Global Illumination

Achieving Stunning Visuals with Unity's Global Illumination

Nim's Hidden Gems: Lesser-known Features for Writing Efficient Code

Nim's Hidden Gems: Lesser-known Features for Writing Efficient Code