A shared ESLint configuration I use across my TypeScript projects.

Usage no npm install needed!

<script type="module">
  import seancroachEslintConfigTypescript from 'https://cdn.skypack.dev/@seancroach/eslint-config-typescript';



build status downloads

A shared ESLint configuration I use across my TypeScript projects.


  • Enforces all the recommended TypeScript practices
  • Ensures your code adheres to the Prettier Style Guide
  • Lints your import statements to follow the best conventions
  • Applies best practices on ESLint directive comments such as /* eslint-disable */

Like many shared configurations, you could write all the configurations yourself, but why do that when it's already right here to use!


@seancroach/eslint-config-typescript has a few peer dependencies that have to be downloaded alongside it:

Install @seancroach/eslint-config-typescript and its peer dependencies through npm:

npm install --save-dev @seancroach/eslint-config-typescript eslint prettier typescript


You can configure ESlint a variety of ways; refer to the documentation here for more info.

I suggest to do your configurations from your package.json whenever possible to reduce the amount of dotfiles in your project. For example, in your package.json, do the following:

    "name": "my-cool-project",
    "eslintConfig": {
        "extends": "@seancroach/eslint-config-typescript"

By default, @seancroach/eslint-config-typescript will look for a tsconfig.eslint.json file in your workspace directory. It is advised your tsconfig.eslint.json file looks like so:

    "extends": "<path to (root) tsconfig>",
    "compilerOptions": {
        // Ensure no one accidentally builds the "lint" project.
        "noEmit": true
    "include": [
        // Include all TypeScript files.


This package is available as open source under the terms of the MIT License.