eslint-config-airbnb-extended 0.2.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +55 -0
- package/dist/index.d.ts +2091 -6
- package/dist/index.js +11 -6
- package/package.json +1 -1
package/README.md
ADDED
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# `eslint-config-airbnb-extended`
|
|
2
|
+
|
|
3
|
+
[](https://www.npmjs.com/package/eslint-config-airbnb-extended)
|
|
4
|
+
[](https://www.npmjs.com/package/eslint-config-airbnb-extended)
|
|
5
|
+
[](https://www.npmjs.com/package/eslint-config-airbnb-extended)
|
|
6
|
+
|
|
7
|
+
> [!NOTE]
|
|
8
|
+
> This package is designed exclusively for **flat configuration**. Legacy `.eslintrc*` files are not supported. For that, please use older packages. For more details, refer to the [Note](https://github.com/NishargShah/eslint-config-airbnb-extended?tab=readme-ov-file#note).
|
|
9
|
+
|
|
10
|
+
## Installation
|
|
11
|
+
|
|
12
|
+
### Automate the setup with `create-airbnb-x-config`
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
# Inside your project directory
|
|
16
|
+
npx create-airbnb-x-config
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
To learn more about the configuration options available for `create-airbnb-x-config`, check out the [README.md](https://github.com/NishargShah/eslint-config-airbnb-extended/tree/master/packages/create-airbnb-x-config#create-airbnb-x-config).
|
|
20
|
+
|
|
21
|
+
### Steps
|
|
22
|
+
|
|
23
|
+
You can choose whether to **install** or **not install** based on your needs.
|
|
24
|
+
|
|
25
|
+
- If you choose **installation**, the package will automatically detect your project's package manager and install all the required dependencies.
|
|
26
|
+
- If you choose **no installation**, you’ll get the necessary commands to install the dependencies manually.
|
|
27
|
+
|
|
28
|
+
After completing the steps, you’ll get a **GitHub URL** for the configuration template. Go to the URL, copy the content, and paste it into your `eslint.config.mjs` file. The template provided will depend on your earlier choices.
|
|
29
|
+
|
|
30
|
+
### Manual Installation (Not Recommended)
|
|
31
|
+
|
|
32
|
+
While **manual installation** is possible, we strongly recommend using `create-airbnb-x-config` for automatic updates and ease of use.
|
|
33
|
+
|
|
34
|
+
The configuration may change over time, and `create-airbnb-x-config` will always stay up-to-date with the latest versions. If you're confident in handling manual installations, refer to the [Packages Used](https://github.com/NishargShah/eslint-config-airbnb-extended/tree/master/packages/eslint-config-airbnb-extended#packages-used) section for more information on the individual packages.
|
|
35
|
+
|
|
36
|
+
## Packages Used
|
|
37
|
+
|
|
38
|
+
This configuration relies on the following essential packages:
|
|
39
|
+
|
|
40
|
+
- **`eslint-import-x`**: A powerful tool for managing and validating imports.
|
|
41
|
+
- **`eslint-plugin-react`**: Enforces React-specific linting rules and best practices.
|
|
42
|
+
- **`eslint-plugin-react-hooks`**: Ensures proper use of React hooks.
|
|
43
|
+
- **`eslint-plugin-jsx-a11y`**: Improves accessibility in JSX code.
|
|
44
|
+
- **`typescript-eslint`**: Provides linting support for TypeScript codebases.
|
|
45
|
+
- **`eslint-import-resolver-typescript`**: Ensures TypeScript compatibility for import statements.
|
|
46
|
+
|
|
47
|
+
## FAQs
|
|
48
|
+
|
|
49
|
+
### How to Configure for a Monorepo?
|
|
50
|
+
|
|
51
|
+
If you're working in a monorepo setup, it's recommended to run the installation command in the specific sub-folder where you want the configuration. Alternatively, you can choose to skip the package installation, and we'll provide a customized set of commands based on your selection, allowing you to install it according to your preferred method.
|
|
52
|
+
|
|
53
|
+
### Why did we switch from `import` to `import-x`?
|
|
54
|
+
|
|
55
|
+
The switch from the `import` ESLint plugin to `import-x` is due to several improvements. `import-x` provides **better TypeScript support**, ensuring more accurate linting for TypeScript projects. It is **actively maintained**, with regular updates and bug fixes, unlike the original plugin. It also has **fewer issues reported on GitHub**, indicating better stability. Additionally, `import-x` offers a **more performant and lightweight version**, reducing linting overhead and improving build performance. These factors make `import-x` a more reliable and efficient choice.
|