1. eslint-config-standard-with-typescript
An ESLint Shareable Config for JavaScript Standard Style with TypeScript support
eslint-config-standard-with-typescript
Package: eslint-config-standard-with-typescript
Created by: mightyiam
Last modified: Sat, 16 Mar 2024 11:59:52 GMT
Version: 43.0.1
License: MIT
Downloads: 2,768,919
Repository: https://github.com/mightyiam/eslint-config-standard-with-typescript

Install

npm install eslint-config-standard-with-typescript
yarn add eslint-config-standard-with-typescript

Build Status
JavaScript Style Guide
npm

An ESLint shareable config for TypeScript that is based on eslint-config-standard and has TypeScript specific rules from @typescript-eslint/eslint-plugin.

Peer dependencies

This package specifies the following peerDependencies:

Yes, this is a large number of peerDependencies.
This is due to a known limitation in ESLint.

@typescript-eslint dependencies

This package has @typescript-eslint/parser in dependencies.
And it has @typescript-eslint/eslint-plugin in peerDependencies.
Both are specified as ranges.
It's probably safest for the installed versions of these packages to be the same.
This can be achieved by:

  1. Pin (exact version) the @typescript-eslint/eslint-plugin in package.json.
  2. Have a package-lock.json which locks the version of the @typescript-eslint/parser sub-dependency.

And both pin/lock to the same version.

Yarn

Yarn does not automatically install peerDependencies,
so if that's what you're using, install them manually.
Here is an example, but use it only for reference,
because your decisions regarding version ranges and range specifiers may vary.

yarn add --dev \
  typescript@\* \
  eslint@^8.0.1 \
  eslint-plugin-promise@^6.0.0 \
  eslint-plugin-import@^2.25.2 \
  eslint-plugin-n@^15.0.0 \
  @typescript-eslint/eslint-plugin@^6.4.0 \
  eslint-config-standard-with-typescript@latest

Example config

Here is an example .eslintrc.js.
Pay close attention to the files property, because it determines which files are linted.

 module.exports = {
  overrides: [
    {
      files: ['*.js', '*.jsx', '*.ts', '*.tsx'],
      extends: 'standard-with-typescript'
    }
  ],
}

Note: the config exported by this package sets parserOptions.project = true.
Read about the project option here.

There are some more parserOptions you may care about.

Example command line usage:

$ npx eslint .

Dependencies

RELATED POST

Enhancing Vue.js Development: Harnessing the Potential of Vue-Loader

Enhancing Vue.js Development: Harnessing the Potential of Vue-Loader

Simplify Data Validation in Vue.js: A Step-by-Step Guide to Using Regex

Simplify Data Validation in Vue.js: A Step-by-Step Guide to Using Regex

Troubleshooting Made Easy: Common Issues and Solutions with vue-loader Without vue-cli

Troubleshooting Made Easy: Common Issues and Solutions with vue-loader Without vue-cli

Optimizing Webpack 4 with Vue CLI 3: Disabling the Cache-Loader

Optimizing Webpack 4 with Vue CLI 3: Disabling the Cache-Loader

Step-by-Step Guide: How to Add a Function to Your Vuex Plugin

Step-by-Step Guide: How to Add a Function to Your Vuex Plugin