Skip to content

ardalanamini/eslint-config-noir

Repository files navigation

eslint-config-noir

Test Npm Version License Pull Requests Known Vulnerabilities Npm Total Downloads Npm Monthly Downloads Github Stars Github Forks

Noir is an opinionated sharable ESLint config.

Installation

You'll first need to install ESLint:

npm i -D eslint

Next, install eslint-config-noir:

npm i -D eslint-config-noir

Usage

Add noir configs to your ESLint flat configuration file:

import { configs, smartConfig } from "eslint-config-noir";

export default smartConfig(
  configs.javascript,
);

With Stylistic support:

You'll first need to install Stylistic ESLint Plugin.

import { configs, smartConfig } from "eslint-config-noir";

export default smartConfig(
  configs.javascript,
  configs.stylistic,
);

With Import support:

You'll first need to install Import ESLint Plugin.

import { configs, smartConfig } from "eslint-config-noir";

export default smartConfig(
  configs.javascript,
  configs.imports,
);

With Export support:

You'll first need to install Perfectionist ESLint Plugin.

import { configs, smartConfig } from "eslint-config-noir";

export default smartConfig(
  configs.javascript,
  configs.exports,
);

With TypeScript support:

You'll first need to install TypeScript ESLint.

import { configs, smartConfig } from "eslint-config-noir";

export default smartConfig(
  configs.javascript,
  configs.typescript,
  {
    languageOptions: {
      parserOptions: {
        project: "./tsconfig.json",
      },
    },
  },
);

With all the configs at once:

import { configs, smartConfig } from "eslint-config-noir";

export default smartConfig(
  configs.recommended,
  {
    languageOptions: {
      parserOptions: {
        project: "./tsconfig.json",
      },
    },
  },
);

Or with only the possible ones smartly:

For JavaScript only:

import { configs, smartConfig } from "eslint-config-noir";

export default smartConfig(configs.smart);

For projects with TypeScript:

import { configs, smartConfig } from "eslint-config-noir";

export default smartConfig(
  configs.smart,
  {
    languageOptions: {
      parserOptions: {
        project: "./tsconfig.json",
      },
    },
  },
);