<div align="center">
  <img src="https://raw.githubusercontent.com/igorskyflyer/npm-biome-config-igorskyflyer/main/assets/icon.png" alt="Config for Biome logo" width="256" height="256">
<h1>Config for Biome</h1>
<h4>By igorskyflyer (Igor Dimitrijević)</h4>
</div>v

<br>

<div align="center">
  👽 An opinionated config for Biome to be used in JavaScript,
  <br>
  TypeScript, JSX, TSX and any JavaScript-related projects. 🐺
</div>

<br>
<br>

<div align="center">
  <blockquote>
    <br>
    <h4>💖 Support further development</h4>
    <span>I work hard for every project, including this one
    <br>
    and your support means a lot to me!
    <br>
    <br>
    Consider buying me a coffee. ☕
    <br>
    <strong>Thank you for supporting my efforts! 🙏😊</strong></span>
    <br>
    <br>
    <a href="https://ko-fi.com/igorskyflyer" target="_blank"><img src="https://raw.githubusercontent.com/igorskyflyer/igorskyflyer/main/assets/ko-fi.png" alt="Donate to igorskyflyer" width="150"></a>
    <br>
    <br>
    <a href="https://github.com/igorskyflyer"><em>@igorskyflyer</em></a>
    <br>
    <br>
    <br>
  </blockquote>
</div>

<br>
<br>

## 🚀 Features

- ✅ strict linting rules for **correctness**, **performance**, and **style**
- 🔄 **auto-import** organization to maintain **clean** module structure
- 🎨 custom **formatting** for **JSON** & **JavaScript**/**TypeScript** with **single** quotes, **LF** endings, and **space** indentation
- 🧠 **complexity** warnings to reduce cognitive **overload** and improve logic **clarity**
- ⚡ **performance**-focused rules blocking barrel files and re-export-all patterns
- 📁 enforced **filenaming** **conventions** with strict casing and ASCII requirements
- 🛡️ **suspicious** **behavior** checks including console usage, overload signatures, and error messaging
- ✒️ **no** **trailing** commas or **unnecessary** semicolons for **cleaner** output
- 🧹 catches **unused** imports, variables, and class members before they **clutter** your codebase
- 🔍 **supports** adjacent **overloads** & explicit length checks for **precise** **design** **patterns**

<br>

## 🕵🏼 Usage

Install it by executing:

```shell
npm i -D "@igor.dvlpr/biome-config-igorskyflyer"
```

then extend the project's `biome.json` file from it, i.e.:

<br>

`biome.json`
```jsonc
{
  "$schema": "https://biomejs.dev/schemas/2.1.2/schema.json",
  "extends": ["@igor.dvlpr/biome-config-igorskyflyer"]

  // Additional project-specific configuration
}
```

---

## 📝 Changelog

📑 The changelog is available here: [CHANGELOG.md](https://github.com/igorskyflyer/npm-biome-config-igorskyflyer/blob/main/CHANGELOG.md).

---

## 🪪 License

Licensed under the MIT license which is available here, [MIT license](https://github.com/igorskyflyer/npm-biome-config-igorskyflyer/blob/main/LICENSE).

---

## 🧬 Related

[@igor.dvlpr/zing](https://www.npmjs.com/package/@igor.dvlpr/zing)

> _🐌 Zing is a C# style String formatter for JavaScript that empowers Strings with positional arguments - composite formatting. 🚀_

<br>

[@igor.dvlpr/comment-it](https://www.npmjs.com/package/@igor.dvlpr/comment-it)

> _📜 Formats the provided string as a comment, either a single or a multi line comment for the given programming language. 💻_

<br>

[@igor.dvlpr/my-file-path](https://www.npmjs.com/package/@igor.dvlpr/my-file-path)

> _🌟 An npm module that strongly types file paths! 🥊_

<br>

[@igor.dvlpr/simple-exec](https://www.npmjs.com/package/@igor.dvlpr/simple-exec)

> _🕺 Command. Execution. Made. Simple. ▶_

<br>

[@igor.dvlpr/astro-easynav-button](https://www.npmjs.com/package/@igor.dvlpr/astro-easynav-button)

> _🧭 Add an easy-to-use navigational button (jump to top/bottom) to your Astro site. 🔼_

---

<br>

### 👨🏻‍💻 Author
Created by **Igor Dimitrijević** ([*@igorskyflyer*](https://github.com/igorskyflyer/)).
