An opinionated ESLint config for projects maintained by Seth Falco.
  • JavaScript 100%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-03-07 23:36:29 +00:00
.editorconfig First commit 2026-01-18 20:11:06 +00:00
.gitattributes First commit 2026-01-18 20:11:06 +00:00
.gitignore initial commit 2026-02-22 19:32:59 +00:00
.gitlab-ci.yml chore: fix gitlab publish url 2026-03-04 21:05:11 +00:00
.yarnrc.yml chore: set yarn berry npm minimum age 2026-03-07 23:33:04 +00:00
index.js chore: add object-curly-spacing rule 2026-02-25 23:42:32 +00:00
LICENSE initial commit 2026-02-22 19:32:59 +00:00
package.json deps: upgrade yarn berry to 4.13.0 2026-03-07 23:36:29 +00:00
README.md docs: add version badge 2026-03-04 21:09:59 +00:00
tsconfig.json initial commit 2026-02-22 19:32:59 +00:00
yarn.lock feat: add rules from stylistic 2026-02-22 20:07:26 +00:00

@sethfalco/eslint-config

npm

An opinionated ESLint config for my projects. Only intended to be used as a dev-dependency for the projects I (Seth Falco 👋) host and maintain.

This package exists so that it's easy to reuse the config across projects, and to worry less about keeping versions in sync between ESLint plugins.

Should you use this?

TL;DR: Probably not!

While others are welcome to depend on or derive from this package, it's seriously meant to be opinionated. The package enforces my style! There is a high chance that you won't agree with all rules, or that you'd wish some plugins it depends on wouldn't pollute your dependency tree.

There is nothing wrong with depending on this package, but if you like the style, you should probably consider copy and pasting the config from index.js instead.

Do what you want, though. Issues and pull requests welcome! 👍

Installation

Install the package through your package managers command-line:

yarn add --dev @sethfalco/eslint-config # or your package managers's equivalent

Usage

To use the config as-is:

eslint.config.mjs

import teapartyConfig from '@sethfalco/eslint-config';

export default teapartyConfig;

To override or extend rules:

eslint.config.mjs

import teapartyConfig from '@sethfalco/eslint-config';

/** @type {import('eslint').Linter.Config[]} */
export default [
  // Order matters—add this before your rules so it doesn't override them.
  ...teapartyConfig,
  
  // Now your rules! If we both configured the same rule, yours gets priority.
  {
    files: ['test/**/*.js'],
    rules: {
      'no-restricted-imports': ['error', {
        patterns: [
          {
            regex: '../src',
            message: 'Must use #src/ import alias in test source set.',
          },
        ],
      }],
    },
  },
];