# eslint-config-tulip

> 🌷 Sharable Eslint configuration.

Latest version **3.1.0** (published 2022-01-01) · MIT license · 0 weekly downloads

## Install

```sh
npm install eslint-config-tulip
pnpm add eslint-config-tulip
yarn add eslint-config-tulip
bun add eslint-config-tulip
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 3.1.0 |
| Published | 2022-01-01 |
| First published | 2020-08-20 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Node | >=16.13.1 |
| Dependencies | 2 |
| Unpacked size | 34.3 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 3 |
| Author | Riday ♡ |
| Maintainers | ridays2001 |
| Keywords | eslintconfig, eslint, linter, lint, clean-code, eslint-config |

## Links

- npm: https://www.npmjs.com/package/eslint-config-tulip
- Repository: https://github.com/ridays2001/eslint-config-tulip
- Homepage: https://github.com/ridays2001/eslint-config-tulip#readme
- Issues: https://github.com/ridays2001/eslint-config-tulip/issues
- npm.io page: https://npm.io/package/eslint-config-tulip

## Dependencies (2)

- [@typescript-eslint/parser](https://npm.io/package/@typescript-eslint/parser.md) ^5.8.1
- [@typescript-eslint/eslint-plugin](https://npm.io/package/@typescript-eslint/eslint-plugin.md) ^5.8.1

## Alternatives

- [eslint-plugin-sonarjs](https://npm.io/package/eslint-plugin-sonarjs.md) — 2.9M weekly downloads
- [eslint-config-expo](https://npm.io/package/eslint-config-expo.md) — 1.5M weekly downloads
- [@matter/protocol](https://npm.io/package/@matter/protocol.md) — 63.5K weekly downloads
- [@eventcatalog/linter](https://npm.io/package/@eventcatalog/linter.md) — 24.8K weekly downloads
- [@inrupt/eslint-config-base](https://npm.io/package/@inrupt/eslint-config-base.md) — 4.5K weekly downloads

## Recent versions

- 3.1.0 (latest) — 2022-01-01
- 3.0.0 — 2022-01-01
- 2.1.0 — 2021-02-09
- 2.0.2 — 2021-01-16
- 2.0.1 — 2021-01-14
- 2.0.0 — 2020-12-15
- 1.1.3 — 2020-08-22
- 1.1.2 — 2020-08-20
- 1.1.1 — 2020-08-20
- 1.1.0 — 2020-08-20
- 1.0.2 — 2020-08-20
- 1.0.1 — 2020-08-20
- 1.0.0 — 2020-08-20

## README

<img src='https://i.imgur.com/BNCvB3W.png' align='right' width='25%' alt='Tulip'>

# ESLint Config Tulip

Sharable ESLint configuration.
This configuration is made for Node.js apps.

<br/>
<br/>

### Instructions:

1. [Install the package](#installation).
2. [Extend it in your eslint configuration](#usage).
3. Enjoy cleaner code!. 🎉
4. [Contribute!](#contribute)

#### Installation

Make sure you are using Node.js v16.13.1 or higher.
Open command prompt (or terminal) in your project folder and use:

```bash
npm i -D eslint eslint-config-tulip
```

This will install the configuration module and you can now use it in your project.

<details>
    <summary>Adding TypeScript</summary>

If you are using TypeScript, then you also need to install the plugin and parser for TypeScript:

```bash
npm i -D @typescript-eslint/eslint-plugin @typescript-eslint/parser
```

</details>
<br>

### Usage

Once you have installed the configuration module, you need to tell eslint to use it.
You can do this by extending it in your config.
ESLint can be configured either in your `package.json` file or in a separate eslint config file.
For more instructions on configuring eslint, please refer to
[ESLint getting started guide ↗](https://eslint.org/docs/user-guide/getting-started).

For `package.json`:

```json
{
    "name": "your-project",
    ...
    "eslintConfig": {
        "extends": "tulip"
    }
}
```

For eslint configuration files (`.eslintrc`, `.eslintrc.json`, `.eslintrc.js`, or `.eslintrc.yml`):

```json
{
	"extends": "tulip"
}
```

You can also integrate eslint into your code editor.
Follow the instructions in the [editors section↗](https://eslint.org/docs/user-guide/integrations#editors) to set it up for your editor.

<details>
    <summary>Adding TypeScript</summary>

If you are using TypeScript, then you need to extend the typescript configuration.

```json
{
    ...
	"root": true,
	"parser": "@typescript-eslint/parser",
	"plugins": ["@typescript-eslint"],
    "extends": "tulip/typescript"
    ...
}
```

</details>
<br>

<details>
	<summary>Using Prettier</summary>

If you wish to use prettier along with eslint, then you need to use the prettier module.
This will turn off certain eslint rules that interfere with prettier.

```json
{
	"extends": "tulip/prettier"
}
```

Using Typescript? Don't worry, I've got you covered!

```json
{
	"extends": "tulip/prettier-ts"
}
```

</details>
<br>

### Customizing

This ESLint configuration comes with the latest rules enabled according to my style guide.
But, you may want to tweak it depending upon your preferences. Here's an example:

```json
{
	"extends": "tulip",
	"rules": {
		"sort-keys": "off"
	}
}
```

The `sort-keys` rule requires you to sort your keys alphabetically.
This is helpful when you have too many keys in the object, but you may want to turn this rule off if you are following some other order.

For more information, refer to the [Official ESLint Documentation↗](https://eslint.org/docs/user-guide/getting-started#configuration-1) or [a more detailed one here↗](https://eslint.org/docs/user-guide/configuring).\
Here's the [list of all Available ESLint rules↗](https://eslint.org/docs/rules/).

### Contribute

1. Fork this repository.
2. Make your changes.
3. Push your changes to a new branch in your fork.
4. Submit a pull request!

### Credits

License - MIT.

&copy; [Riday ♡](https://github.com/ridays2001 'My GitHub Profile ↗').

<a href='https://riday.me/discord'>
	<img src='https://img.shields.io/badge/Discord-Riday%20%F0%9F%92%99%237468-ff69b4?logo=discord&logoColor=ff69b4&logoWidth=30&labelColor=0080ff&link=https://discord.gg/muuyMD9' alt='Discord - Riday 💙#7468'>
</a>

Thank you to all those who helped me. 💙

---
_Source: https://npm.io/package/eslint-config-tulip · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
