mightyiam / eslint-config-love

A TypeScript ESLint config that loves you
MIT License
776 stars 69 forks source link
eslint hacktoberfest javascript typescript

eslint-config-love

![GitHub License](https://img.shields.io/github/license/mightyiam/eslint-config-love) [![main branch checks status](https://img.shields.io/github/check-runs/mightyiam/eslint-config-love/main)](https://github.com/mightyiam/eslint-config-love/actions/workflows/ci.yaml) [![npm](https://img.shields.io/npm/v/eslint-config-love)](https://www.npmjs.com/package/eslint-config-love) ![Dependent repos prior to rename](https://img.shields.io/librariesio/dependent-repos/npm/eslint-config-standard-with-typescript?label="dependent%20repos%20prior%20to%20rename") ![Dependent repos](https://img.shields.io/librariesio/dependent-repos/npm/eslint-config-love) ![GitHub Repo stars](https://img.shields.io/github/stars/mightyiam/eslint-config-love) _A TypeScript ESLint config that loves you_

Description

This is an ESLint shareable configuration.

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.