0.1.1 • Published 5 months ago

eslint-config-hughx-ts v0.1.1

Weekly downloads
-
License
BlueOak-1.0.0
Repository
github
Last release
5 months ago

ℹ️ For plain JavaScript support, use eslint-config-hughx instead.

Installation

npm versions 7 and above

npm install -D eslint-config-hughx-ts

yarn and older npm

You will have to install peerDependencies manually:

# npm install -D
yarn add -D \
  @hughx/tsconfig \
  @typescript-eslint/eslint-plugin \
  @typescript-eslint/parser \
  eslint \
  eslint-config-airbnb-typescript \
  eslint-config-hughx \
  eslint-config-hughx-ts \
  eslint-import-resolver-typescript \
  eslint-plugin-import \
  typedoc \
  typescript

React projects

# npm install -D
yarn add -D \
  @hughx/tsconfig \
  @types/react \
  @typescript-eslint/eslint-plugin \
  @typescript-eslint/parser \
  eslint \
  eslint-config-airbnb-base \
  eslint-config-airbnb-typescript \
  eslint-config-hughx \
  eslint-config-hughx-ts \
  eslint-import-resolver-typescript \
  eslint-plugin-import \
  eslint-plugin-jsx-a11y \
  eslint-plugin-react \
  eslint-plugin-react-hooks \
  typedoc \
  typescript

Node projects

# npm install -D
yarn add -D \
  @hughx/tsconfig \
  @types/node \
  @typescript-eslint/eslint-plugin \
  @typescript-eslint/parser \
  eslint \
  eslint-config-airbnb-base \
  eslint-config-airbnb-typescript \
  eslint-config-hughx \
  eslint-config-hughx-ts \
  eslint-import-resolver-typescript \
  eslint-plugin-import \
  typedoc \
  typescript

Usage

Extend hughx-ts in your project’s .eslintrc.js or equivalent:

module.exports = {
  "extends": [
    "hughx-ts",
  ],
  // …
}

Eslint-config-hughx-ts defaults to the latest version of JavaScript/ECMAScript at the time of release. If your transpiler isn’t set up for this (or you don’t use one), then you should override both env.es* and parserOptions.ecmaVersion, e.g.

// Downgrading from ES2021 to ES6
module.exports = {
  "extends": [
    "hughx-ts",
  ],
  "env": {
    "es2021": false,
    "es6": true
  },
  "parserOptions": {
    "ecmaVersion": 6
  }
};

Then, create a tsconfig.json in your root and extend @hughx/tsconfig:

{
  "extends": "@hughx/tsconfig"
}

Environment-specific Configs

You can extend from one of the following to bring in sensible defaults for different use cases:

React

Node

Web Components