https://github.com/igorkowalczyk/shared-configs
☔ My sharable ESlint and Prettier configs
https://github.com/igorkowalczyk/shared-configs
eslint eslint-config prettier prettier-config prettier-eslint styleguide
Last synced: 7 months ago
JSON representation
☔ My sharable ESlint and Prettier configs
- Host: GitHub
- URL: https://github.com/igorkowalczyk/shared-configs
- Owner: IgorKowalczyk
- License: mit
- Created: 2023-03-12T11:22:25.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2025-04-13T13:16:57.000Z (7 months ago)
- Last Synced: 2025-04-13T17:18:01.962Z (7 months ago)
- Topics: eslint, eslint-config, prettier, prettier-config, prettier-eslint, styleguide
- Language: TypeScript
- Homepage: https://npm.im/search?q=%40igorkowalczyk%2Fconfig
- Size: 3.06 MB
- Stars: 4
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: license.md
Awesome Lists containing this project
README

## ♻️ Shareable configs
| **Package** | **Version** | **Downloads** | **Documentation** |
| - | - | - | - |
| 📦 [`@igorkowalczyk/eslint-config`](https://npmjs.com/package/@igorkowalczyk/eslint-config) |  | [](https://npmjs.com/package/@igorkowalczyk/eslint-config) | [Documentation](/packages/eslint-config/README.md) |
| 📦 [`@igorkowalczyk/prettier-config`](https://npmjs.com/package/@igorkowalczyk/prettier-config) |  | [](https://npmjs.com/package/@igorkowalczyk/prettier-config) | [Documentation](/packages/prettier-config/README.md) |
| 📝 [`@igorkowalczyk/renovate-config`](https://npmjs.com/package/@igorkowalczyk/prettier-config) |  | - | [Documentation](/packages/renovate-config/README.md) |
> [!NOTE]
> 📦 - Package
> 📝 - Configuration file
---
## 📦 [`@igorkowalczyk/prettier-config`](https://www.npmjs.com/package/@igorkowalczyk/prettier-config)
### 📥 Installation
```bash
npm install --save-dev @igorkowalczyk/prettier-config
yarn add --dev @igorkowalczyk/prettier-config
pnpm install --save-dev @igorkowalczyk/prettier-config
```
### 🔩 Usage
```js
// .prettierrc.js
module.exports = {
...require('@igorkowalczyk/prettier-config'),
};
```
```js
// prettier.config.js
import prettierConfig from "@igorkowalczyk/prettier-config";
export default {
...prettierConfig,
};
```
```json
{
"extends": "@igorkowalczyk/prettier-config"
}
```
### ⚙️ Rules overview
| Rule | Style | Documentation |
| ---------------------------- | ----------- | -------------------------------------------------------------------------------------- |
| `arrowParens` | `always` | [Documentation](https://prettier.io/docs/en/options.html#arrow-parens) |
| `bracketSpacing` | `true` | [Documentation](https://prettier.io/docs/en/options.html#bracket-spacing) |
| `embeddedLanguageFormatting` | `auto` | [Documentation](https://prettier.io/docs/en/options.html#embedded-language-formatting) |
| `htmlWhitespaceSensitivity` | `css` | [Documentation](https://prettier.io/docs/en/options.html#html-whitespace-sensitivity) |
| `jsxSingleQuote` | `false` | [Documentation](https://prettier.io/docs/en/options.html#jsx-single-quote) |
| `printWidth` | `200000` | [Documentation](https://prettier.io/docs/en/options.html#print-width) |
| `proseWrap` | `preserve` | [Documentation](https://prettier.io/docs/en/options.html#prose-wrap) |
| `quoteProps` | `as-needed` | [Documentation](https://prettier.io/docs/en/options.html#quote-props) |
| `requirePragma` | `false` | [Documentation](https://prettier.io/docs/en/options.html#require-pragma) |
| `semi` | `true` | [Documentation](https://prettier.io/docs/en/options.html#semi) |
| `singleQuote` | `false` | [Documentation](https://prettier.io/docs/en/options.html#single-quote) |
| `tabWidth` | `1` | [Documentation](https://prettier.io/docs/en/options.html#tab-width) |
| `trailingComma` | `es5` | [Documentation](https://prettier.io/docs/en/options.html#trailing-comma) |
| `useTabs` | `false` | [Documentation](https://prettier.io/docs/en/options.html#use-tabs) |
---
## 📦 [`@igorkowalczyk/eslint-config`](https://www.npmjs.com/package/@igorkowalczyk/eslint-config)
### 📥 Installation
```bash
npm install --save-dev @igorkowalczyk/eslint-config
yarn add --dev @igorkowalczyk/eslint-config
pnpm install --save-dev @igorkowalczyk/eslint-config
```
### 🔩 Usage
> [!NOTE]
> This package provides multiple ESLint configurations. You can use them in your project by importing the configuration you want to use.
#### Basic configuration
Basic configuration includes ESLint recommended rules, Prettier plugin and recommended rules for Prettier.
```js
// eslint.config.js
import eslintConfig from "@igorkowalczyk/eslint-config";
export default [
...eslintConfig.base
];
```
#### [Prettier](https://prettier.io) configuration
This configuration includes recommended rules for Prettier
> [!WARNING]
> This configuration should be placed at the end of the configuration file! Otherwise, it may lead to unexpected behavior.
```js
// eslint.config.js
import eslintConfig from "@igorkowalczyk/eslint-config";
export default [
/* Other configurations */
...eslintConfig.prettier
];
```
#### [Node.js](https://nodejs.org/) configuration
Configuration includes recommended rules for Node.js projects.
```js
// eslint.config.js
import eslintConfig from "@igorkowalczyk/eslint-config";
export default [
...eslintConfig.node
];
```
#### [TypeScript](https://www.typescriptlang.org/) configuration
Configuration includes TypeScript parser and recommended rules for TypeScript projects.
```js
// eslint.config.js
import eslintConfig from "@igorkowalczyk/eslint-config";
export default [
...eslintConfig.typescript
];
```
#### [React](https://react.dev/) configuration
Configuration includes recommended rules for React components.
```js
// eslint.config.js
import eslintConfig from "@igorkowalczyk/eslint-config";
export default [
...eslintConfig.react
];
```
#### [Next.js](https://nextjs.org) configuration
Configuration includes recommended rules for Next.js projects.
```js
// eslint.config.js
import eslintConfig from "@igorkowalczyk/eslint-config";
export default [
...eslintConfig.next
];
```
#### [Tailwind CSS](https://tailwindcss.com) configuration
Configuration includes recommended rules for Tailwind CSS projects like sorting classes.
```js
// eslint.config.js
import eslintConfig from "@igorkowalczyk/eslint-config";
export default [
...eslintConfig.tailwindcss
];
```
#### [Astro](https://astro.build) configuration
Configuration includes Astro parser and recommended rules for Astro projects.
```js
// eslint.config.js
import eslintConfig from "@igorkowalczyk/eslint-config";
export default [
...eslintConfig.astro
];
```
### 🔗 Chaining configurations
You can also chain multiple configurations together, for example, to use TypeScript and React configurations together.
```js
// eslint.config.js
import eslintConfig from "@igorkowalczyk/eslint-config";
export default [
...eslintConfig.base,
...eslintConfig.typescript,
...eslintConfig.react
];
```
### ⚙️ Rules overview
You can find the full list of rules in the [ESLint config inspector](https://eslint.igorkowalczyk.dev/).
---
## 📝 [`@igorkowalczyk/renovate-config`](/packages/renovate-config/)
> [!WARNING]
> This is not a package - it is a configuration preset!
### 🔩 Usage
In your `renovate.json` file, add the following:
```json
{
"extends": ["github>igorkowalczyk/shared-configs//packages/renovate-config/index.json"]
}
```