Skip to content

mightyiam/eslint-config-love

Repository files navigation

eslint-config-love

GitHub License .github/workflows/ci.yaml npm Dependent repos prior to rename Dependent repos GitHub Repo stars

A TypeScript ESLint config that loves you

Description

This is an ESLint shareable configuration.

  • No framework/library-specific rules
  • Safety at the cost of verbosity
  • Convention over arbitrary choice
  • No formatting rules (please use a formatter)
  • No rules that are covered by strict TypeScript

Versioning

Any change that might require a user to make changes beyond upgrading this package is considered major. For example, rule addition are obviously major. It is expected that most version bumps will be major.

Example config

Here are example ESLint configuration files.

ECMAScript Modules:

import love from 'eslint-config-love'

export default [
  {
    ...love,
    files: ['**/*.js', '**/*.ts'],
  },
]

CommonJS:

module.exports = (async function config() {
  const { default: love } = await import('eslint-config-love')

  return [
    {
      ...love,
      files: ['**/*.js', '**/*.ts'],
    },
  ]
})()

Learn how to configure ESLint.

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

There are some more parserOptions you may care about.

Example command line usage:

$ npx eslint .

Disabling rules

As with any ESLint configuration, some ad-hoc disabling of rules is expected. It is further expected that the strict nature of this configuration would more frequently require the disabling of rules.

Consider minimizing the scope in which rules are disabled; prefer using eslint-disable-* comments when possible. Otherwise, rules can be disabled for a subset of files using configuration.

Contributing

This project is developed primarily in remote mob programming format. See schedule and how to apply here.

Otherwise, see CONTRIBUTING.md.

Sponsoring

To ensure the continuity of this project, consider sponsoring the author.