@anolilab/eslint-config 22.0.1 → 23.0.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/CHANGELOG.md +17 -0
- package/README.md +21 -21
- package/dist/index.d.ts +2423 -957
- package/dist/index.js +12 -12
- package/package.json +46 -42
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,20 @@
|
|
|
1
|
+
## @anolilab/eslint-config [23.0.0](https://github.com/anolilab/javascript-style-guide/compare/@anolilab/eslint-config@22.0.2...@anolilab/eslint-config@23.0.0) (2026-03-27)
|
|
2
|
+
|
|
3
|
+
### Bug Fixes
|
|
4
|
+
|
|
5
|
+
* **deps:** update dependencies, fix breaking changes, add oxlint in… ([#1011](https://github.com/anolilab/javascript-style-guide/issues/1011)) ([1967d7d](https://github.com/anolilab/javascript-style-guide/commit/1967d7d7dcea2349edfcbc1760ef7d5046d84848))
|
|
6
|
+
|
|
7
|
+
### Styles
|
|
8
|
+
|
|
9
|
+
* cs fixes on md files ([1262ea8](https://github.com/anolilab/javascript-style-guide/commit/1262ea848750c22d227f3591787356f048f02741))
|
|
10
|
+
|
|
11
|
+
## @anolilab/eslint-config [22.0.2](https://github.com/anolilab/javascript-style-guide/compare/@anolilab/eslint-config@22.0.1...@anolilab/eslint-config@22.0.2) (2026-02-28)
|
|
12
|
+
|
|
13
|
+
### Bug Fixes
|
|
14
|
+
|
|
15
|
+
* **eslint-config:** disable css/no-invalid-at-rules for Tailwind CSS … ([#1000](https://github.com/anolilab/javascript-style-guide/issues/1000)) ([aa8b26b](https://github.com/anolilab/javascript-style-guide/commit/aa8b26b4cb711ad956a8d6360e2cc9f45d50565e))
|
|
16
|
+
* **eslint-config:** disable react-refresh/only-export-components for TanStack and unicorn/no-null for JSX/TSX ([2d719a1](https://github.com/anolilab/javascript-style-guide/commit/2d719a15e760dd2033c71784d84df23808471fdd))
|
|
17
|
+
|
|
1
18
|
## @anolilab/eslint-config [22.0.1](https://github.com/anolilab/javascript-style-guide/compare/@anolilab/eslint-config@22.0.0...@anolilab/eslint-config@22.0.1) (2026-02-25)
|
|
2
19
|
|
|
3
20
|
### Bug Fixes
|
package/README.md
CHANGED
|
@@ -53,9 +53,9 @@ pnpm add @anolilab/eslint-config
|
|
|
53
53
|
Our package serves as a valuable resource for JavaScript/Typescript-based projects, offering composable [ESLint](https://eslint.org/) configurations. It encompasses a range of features, including performance optimization and the flexibility to extend pre-defined base configurations. We aim to provide a strong, opinionated foundation for code quality and consistency, while still allowing for customization to suit specific project needs.
|
|
54
54
|
|
|
55
55
|
- Tailored Configuration for Workspaces: With this package, each workspace within your monorepo gains the ability to have its own customized ESLint configuration. This ensures that individual projects can maintain their specific requirements while still adhering to the overall guidelines.
|
|
56
|
-
- Configurability at Your Fingertips: Crafting your workspace
|
|
56
|
+
- Configurability at Your Fingertips: Crafting your workspace’s ESLint configuration is a breeze, thanks to the seamless composition of pre-defined base configurations. This empowers you to tailor the settings to suit your project’s unique needs, without starting from scratch.
|
|
57
57
|
|
|
58
|
-
- Enhanced Efficiency: We
|
|
58
|
+
- Enhanced Efficiency: We’ve optimized the package’s performance by intelligently enabling plugins based on file naming conventions and project dependencies. This streamlined approach ensures that your ESLint checks run efficiently, targeting the relevant files and maximizing productivity.
|
|
59
59
|
|
|
60
60
|
> [!NOTE]
|
|
61
61
|
> Since v16.0.0, this config is rewritten to the new [ESLint Flat config](https://eslint.org/docs/latest/use/configure/configuration-files-new).
|
|
@@ -76,14 +76,14 @@ Our package serves as a valuable resource for JavaScript/Typescript-based projec
|
|
|
76
76
|
- No need to specify file paths to lint as it intelligently lints relevant files, respecting `.gitignore` and common ignore patterns.
|
|
77
77
|
- Config overrides per files/globs.
|
|
78
78
|
- First-class TypeScript support, automatically enabled if `typescript` is detected in your project.
|
|
79
|
-
- Includes a comprehensive set of ESLint plugins, like [unicorn](https://github.com/sindresorhus/eslint-plugin-unicorn), [import](https://github.com/
|
|
80
|
-
- Automatically enables relevant rules based on the [engines](https://docs.npmjs.com/files/package.json
|
|
79
|
+
- Includes a comprehensive set of ESLint plugins, like [unicorn](https://github.com/sindresorhus/eslint-plugin-unicorn), [import](https://github.com/import-js/eslint-plugin-import), [sonarjs](https://github.com/SonarSource/eslint-plugin-sonarjs), and [security](#security) plugins. (See more under [Plugins](#plugins)).
|
|
80
|
+
- Automatically enables relevant rules based on the [engines](https://docs.npmjs.com/files/package.json/#engines) field in your `package.json`.
|
|
81
81
|
- Easily configure stylistic preferences like indent and semicolon without deep diving into rule configurations.
|
|
82
82
|
- Works alongside Prettier: Our configuration disables ESLint rules that would conflict with Prettier, allowing ESLint to focus on code quality and Prettier on formatting if you choose to use both. However, many stylistic rules are included and can be enforced by ESLint directly.
|
|
83
83
|
|
|
84
84
|
## Usage
|
|
85
85
|
|
|
86
|
-
Our default export is designed to be used within ESLint
|
|
86
|
+
Our default export is designed to be used within ESLint’s flat configuration system (e.g., `eslint.config.js`). It contains a comprehensive set of ESLint rules, suitable for modern ECMAScript (ES2021+ by default) and TypeScript projects.
|
|
87
87
|
|
|
88
88
|
To use it, import the `createConfig` function from `@anolilab/eslint-config` into your `eslint.config.js` (or `eslint.config.mjs`). This function allows you to generate the configuration, optionally with your own settings.
|
|
89
89
|
|
|
@@ -101,7 +101,7 @@ export default createConfig();
|
|
|
101
101
|
Combined with legacy config:
|
|
102
102
|
</summary>
|
|
103
103
|
|
|
104
|
-
If you still use
|
|
104
|
+
If you still use configs from the legacy eslintrc format, you can use the [`@eslint/eslintrc`](https://www.npmjs.com/package/@eslint/eslintrc) package to convert them to the flat config.
|
|
105
105
|
|
|
106
106
|
```js
|
|
107
107
|
// eslint.config.mjs
|
|
@@ -347,9 +347,9 @@ lspconfig.eslint.setup(
|
|
|
347
347
|
|
|
348
348
|
### Neovim format on save
|
|
349
349
|
|
|
350
|
-
There
|
|
350
|
+
There’s few ways you can achieve format on save in neovim:
|
|
351
351
|
|
|
352
|
-
- `nvim-lspconfig` has a `EslintFixAll` command predefined, you can create
|
|
352
|
+
- `nvim-lspconfig` has a `EslintFixAll` command predefined, you can create an autocmd to call this command after saving file.
|
|
353
353
|
|
|
354
354
|
```lua
|
|
355
355
|
lspconfig.eslint.setup({
|
|
@@ -479,10 +479,10 @@ These plugins form the backbone of our linting rules, focusing on best practices
|
|
|
479
479
|
|
|
480
480
|
### Stylistic & Formatting
|
|
481
481
|
|
|
482
|
-
These plugins help maintain a consistent code style.
|
|
482
|
+
These plugins help maintain a consistent code style. while these are included, you can also use Prettier for formatting, and our config is designed to be compatible.
|
|
483
483
|
|
|
484
484
|
- **[@stylistic/eslint-plugin](https://eslint.style/packages/default)** (and `@stylistic/eslint-plugin-ts`): ESLint Stylistic, for all stylistic rules.
|
|
485
|
-
- **[eslint-plugin-simple-import-sort](https://github.com/lydell/eslint-plugin-simple-import-sort)**:
|
|
485
|
+
- **[eslint-plugin-simple-import-sort](https://github.com/lydell/eslint-plugin-simple-import-sort)**: import sorting.
|
|
486
486
|
- **[eslint-plugin-format](https://github.com/antfu/eslint-plugin-format)**: Enables formatting of various file types using Prettier or other formatters via ESLint.
|
|
487
487
|
|
|
488
488
|
### Language Support & Syntax
|
|
@@ -502,7 +502,7 @@ Plugins for specific languages or syntaxes beyond standard JavaScript/TypeScript
|
|
|
502
502
|
|
|
503
503
|
Managing imports and module structure.
|
|
504
504
|
|
|
505
|
-
- **[eslint-plugin-import-x](https://github.com/un-
|
|
505
|
+
- **[eslint-plugin-import-x](https://github.com/un-ts/eslint-plugin-import-x)** (formerly `eslint-plugin-import`): Linting of ES2015+ (ES6+) import/export syntax, and prevent issues with misspelling of file paths, and import names.
|
|
506
506
|
- Uses `eslint-import-resolver-node` and `eslint-import-resolver-typescript`.
|
|
507
507
|
- **[eslint-plugin-n](https://github.com/eslint-community/eslint-plugin-n)** (formerly `eslint-plugin-node`): Additional ESLint rules for Node.js.
|
|
508
508
|
|
|
@@ -520,7 +520,7 @@ Plugins for various testing frameworks and practices.
|
|
|
520
520
|
|
|
521
521
|
- **[eslint-plugin-no-only-tests](https://github.com/levibuzolic/eslint-plugin-no-only-tests)**: Disallow `.only` calls in test files.
|
|
522
522
|
- **[eslint-plugin-testing-library](https://github.com/testing-library/eslint-plugin-testing-library)**: ESLint plugin for Testing Library.
|
|
523
|
-
- **[eslint-plugin-playwright](https://github.com/
|
|
523
|
+
- **[eslint-plugin-playwright](https://github.com/mskelton/eslint-plugin-playwright)**: ESLint plugin for Playwright.
|
|
524
524
|
|
|
525
525
|
### Frameworks & Libraries
|
|
526
526
|
|
|
@@ -557,7 +557,7 @@ Support for specific UI frameworks, libraries, and tools.
|
|
|
557
557
|
|
|
558
558
|
### List of Used Plugins (Condensed)
|
|
559
559
|
|
|
560
|
-
This list is a more condensed version and
|
|
560
|
+
This list is a more condensed version and not be exhaustive if plugins are specific or utility-based. It aims to provide a quick overview of the primary active linting plugins.
|
|
561
561
|
|
|
562
562
|
- `@eslint/js`
|
|
563
563
|
- `@stylistic/eslint-plugin`
|
|
@@ -605,7 +605,7 @@ This list is a more condensed version and might not be exhaustive if some plugin
|
|
|
605
605
|
This ESLint configuration includes stylistic rules that can format your JavaScript and TypeScript code, promoting consistency.
|
|
606
606
|
|
|
607
607
|
- **ESLint as the Primary Tool:** For JS/TS files, we encourage using ESLint for both linting code quality and enforcing code style. The VSCode settings above are configured to use ESLint as the default formatter for these files.
|
|
608
|
-
- **Working with Prettier:** If you use Prettier in your project, this config is designed to be compatible. It disables ESLint rules that would conflict with Prettier
|
|
608
|
+
- **Working with Prettier:** If you use Prettier in your project, this config is designed to be compatible. It disables ESLint rules that would conflict with Prettier’s formatting decisions. You can let Prettier handle formatting for files ESLint doesn’t cover (like CSS, HTML, etc.), or even use Prettier for JS/TS formatting and then have ESLint apply further fixes. However, for a streamlined experience with JS/TS, letting ESLint handle all aspects (quality and style) is often simpler.
|
|
609
609
|
|
|
610
610
|
## Lint Staged / Pre-commit Hooks
|
|
611
611
|
|
|
@@ -633,14 +633,14 @@ This project aims to follow Semantic Versioning.
|
|
|
633
633
|
- **Minor versions:** May introduce new non-breaking rules, enable new plugins by default (if non-breaking), or update existing rules with new options.
|
|
634
634
|
- **Patch versions:** Typically include bug fixes or minor tweaks to rule configurations.
|
|
635
635
|
|
|
636
|
-
Changes to rule strictness (e.g., changing a
|
|
636
|
+
Changes to rule strictness (e.g., changing a ’warn' to an ’error') occur in minor versions if they reflect evolving best practices. We recommend reviewing changes when updating.
|
|
637
637
|
|
|
638
638
|
## Q & A
|
|
639
639
|
|
|
640
640
|
### Why not standard
|
|
641
641
|
|
|
642
|
-
The standard specification believes that everyone should not waste time in personalized specifications, but the entire community should unify a specification. This statement makes sense, but it runs against the ESLint
|
|
643
|
-
Don
|
|
642
|
+
The standard specification believes that everyone should not waste time in personalized specifications, but the entire community should unify a specification. This statement makes sense, but it runs against the ESLint’s design philosophy.
|
|
643
|
+
Don’t you remember how ESLint defeated JSHint and became the most popular JS code inspection tool? It’s because of the plugin and configuration that ESLint advocates, which meets the individual needs of different technology stacks of different teams.
|
|
644
644
|
|
|
645
645
|
Therefore, `@anolilab/eslint-config` also inherits the philosophy of ESLint. It will not force you to use our config.
|
|
646
646
|
|
|
@@ -648,9 +648,9 @@ Therefore, `@anolilab/eslint-config` also inherits the philosophy of ESLint. It
|
|
|
648
648
|
|
|
649
649
|
## Supported Node.js Versions
|
|
650
650
|
|
|
651
|
-
Libraries in this ecosystem make the best effort to track [Node.js
|
|
651
|
+
Libraries in this ecosystem make the best effort to track [Node.js’ release schedule](https://github.com/nodejs/release#release-schedule).
|
|
652
652
|
|
|
653
|
-
Here
|
|
653
|
+
Here’s [a post on why we think this is important](https://medium.com/the-node-js-collection/maintainers-should-consider-following-node-js-release-schedule-ab08ed4de71a).
|
|
654
654
|
|
|
655
655
|
## Contributing
|
|
656
656
|
|
|
@@ -671,7 +671,7 @@ If you would like to help take a look at the [list of issues](https://github.com
|
|
|
671
671
|
|
|
672
672
|
## Made with ❤️ at Anolilab
|
|
673
673
|
|
|
674
|
-
This is an open source project and will always remain free to use. If you think it
|
|
674
|
+
This is an open source project and will always remain free to use. If you think it’s cool, please star it 🌟. [Anolilab](https://anolilab.com/open-source) is a Development and AI Studio. Contact at [hello@anolilab.com](mailto:hello@anolilab.com) if you need any help with these technologies or want to say hi!
|
|
675
675
|
|
|
676
676
|
## License
|
|
677
677
|
|
|
@@ -686,7 +686,7 @@ The anolilab eslint-config is open-sourced software licensed under the [MIT][lic
|
|
|
686
686
|
[prs-welcome-badge]: https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=for-the-badge
|
|
687
687
|
[prs-welcome]: https://github.com/anolilab/javascript-style-guide/blob/main/.github/CONTRIBUTING.md
|
|
688
688
|
[chat-badge]: https://img.shields.io/discord/902465130518949899.svg?style=for-the-badge
|
|
689
|
-
[chat]: https://discord.
|
|
689
|
+
[chat]: https://discord.com/invite/4VuvwWGaaB
|
|
690
690
|
[typescript-badge]: https://img.shields.io/badge/Typescript-294E80.svg?style=for-the-badge&logo=typescript
|
|
691
691
|
[typescript-url]: https://www.typescriptlang.org/
|
|
692
692
|
[license-url]: https://opensource.org/licenses/MIT
|