Skip to content

AvistoTelecom/eslint-config-avisto

Repository files navigation

Logo Avisto

Eslint-config-avisto

npm version License

ESLint shared configurations for TypeScript, React, and Angular projects, using ESLint’s new flat config format.

Description

Eslint-config-avisto gives 3 eslint shared config :

  • Base config with typescript rules
  • React config inherited based config and adding react eslint rules
  • Angular config inherited based config and adding angular eslint rules

This configuration is using eslint flat configuration file

Requirements

  • ESLint v9 or higher (Flat Config)
  • Node.js 18+

Migration Guide

Check migration guide to migrate to flat configuration system

Base config

Default export contains all non-framework related Eslint rules. It requires eslint, typescript-eslint, eslint-config-prettier, @eslint/js.

  1. Install all dependencies

Using npm

npx install-peerdeps --dev eslint-config-avisto

Using pnpm

pnpm dlx install-peerdeps --dev eslint-config-avisto --pnpm
  1. In your eslint.config.js file add :
import { defineConfig } from "eslint/config";
import base from "eslint-config-avisto";

export default defineConfig([...base]);

React config

Default export contains all base configuration rules & react specific rules. It requires eslint, typescript-eslint, eslint-config-prettier, @eslint/js, eslint-plugin-react, eslint-config-avisto.

  1. Install all dependencies

Using npm

npm install --save-dev eslint eslint-config-avisto typescript-eslint eslint-config-prettier @eslint/js eslint-plugin-react

Using pnpm

pnpm install --save-dev eslint eslint-config-avisto typescript-eslint eslint-config-prettier @eslint/js eslint-plugin-react
  1. In your eslint.config.js file add :
import { defineConfig } from "eslint/config";
import react from "eslint-config-avisto/react";

export default defineConfig([...react]);

Angular config

Default export contains all base configuration rules & angular specific rules. It requires eslint, typescript-eslint, eslint-config-prettier, @eslint/js, angular-eslint, eslint-config-avisto.

  1. Install all dependencies

Using npm

npm install --save-dev eslint eslint-config-avisto typescript-eslint eslint-config-prettier @eslint/js angular-eslint

Using pnpm

pnpm install --save-dev eslint eslint-config-avisto typescript-eslint eslint-config-prettier @eslint/js angular-eslint
  1. In your eslint.config.js file add :
import { defineConfig } from "eslint/config";
import angular from "eslint-config-avisto/angular";

export default defineConfig([...angular]);

Customization

It's possible to modify pre-defined rules and add new rules as needed. See example below :

import { defineConfig } from "eslint/config";
import react from "eslint-config-avisto/react";
export default defineConfig([
  ...react,
  {
    files: ["*.ts", "*.tsx"],
    rules: {
      "no-debugger": "error", // define as warn in react config
      "@typescript-eslint/consistent-type-exports": "error", // add new rules
    },
  },
]);

Contributing

Contributions, issues, and feature requests are welcome! Feel free to open an issue or submit a PR. If you report any sensitive issue or have any questions that need reactivity please ask to community@avisto.com

License

Apache 2.0

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors