# @ticketmaster/eslint-config-allure

Opinionated ESLint configuration that follow Allure design system recommendations

---

## Install peerDependencies

The following packages need to be present on your project in order to use this library.

```
"eslint": ">=8.0.0",
"prettier": "^3.1.0",
"typescript": ">=5.0.0"
```

If they are not already present, add the required peerDependencies to your devDependencies

```bash
yarn add eslint prettier typescript -D
```

## Install the configuration

Add `@ticketmaster/eslint-config-allure` to your devDependencies

```bash
yarn add @ticketmaster/eslint-config-allure -D
```

## Update your ESLint configuration file

Add `"@ticketmaster/eslint-config-allure"` into the extends property of your `.eslintrc.json` file.

```json
{
  "extends": ["@ticketmaster/eslint-config-allure"]
}
```

Since @ticketmaster/eslint-config-allure is opinionated, your TSLint configuration file should not have any override rules and should look very similar to the one above.

## You can now use ESlint with the Allure configuration in your project

@ticketmaster/eslint-config-allure remove all the formating rules already supported by [Prettier](https://prettier.io/). Because of that, if you have an auto-fix script, you gonna need to add the Prettier formater inside of this script.

It is recommended to add the two following scripts into you packages.json to facilitate your usage of ESlint.

```json
"scripts": {
  "lint": "eslint .",
  "format": "prettier --write --log-level warn .",
  "fix": "yarn lint --fix && yarn format"
}
```
