Skip to content

Commit bcd68da

Browse files
committed
v6.1.0 - add eslint/js and avoid conflicts
1 parent 264346b commit bcd68da

File tree

5 files changed

+849
-744
lines changed

5 files changed

+849
-744
lines changed

HISTORY.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,12 @@
11
# History
22

3+
## v6.1.0 2025 August 8
4+
5+
- Include recommended rules from `@eslint/js`
6+
- Reorganised our own rule set to avoid conflicts with the plugin recommended configurations
7+
- Updated dependencies, [base files](https://github.com/bevry/base), and [editions](https://editions.bevry.me) using [boundation](https://github.com/bevry/boundation)
8+
- Thank you to the sponsors: [Andrew Nesbitt](https://nesbitt.io), [Divinci](https://divinci.ai), [Mr. Henry](https://mrhenry.be), [Poonacha Medappa](https://poonachamedappa.com), [Roboflow](https://roboflow.com), [Square](https://github.com/square)
9+
310
## v6.0.0 2025 August 6
411

512
- [Refer to to the README for new usage instructions.](https://github.com/bevry/eslint-config-bevry)

README.md

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ Bevry's ESLint configuration is an intelligent, self-configuring system that aut
4141

4242
## ⚙️ **Adaptive Configuration**
4343

44+
- **ESLint Foundation**: Extends ESLint's recommended configuration from [`@eslint/js`](https://www.npmjs.com/package/@eslint/js) as the baseline for all linting rules.
4445
- **Module System Detection**: Automatically configures for ES modules or CommonJS based on your project structure
4546
- Enables [`eslint-plugin-import`](https://github.com/import-js/eslint-plugin-import) with appropriate module validation
4647
- Configures TypeScript-aware import rules when applicable
@@ -55,18 +56,18 @@ Bevry's ESLint configuration is an intelligent, self-configuring system that aut
5556
- **TypeScript**: Uses [`typescript-eslint`](https://typescript-eslint.io/) with strict configuration, disables conflicting JavaScript rules
5657
- **Babel**: Integrates [`@babel/eslint-parser`](https://babeljs.io/docs/babel-eslint-parser) and [`@babel/eslint-plugin`](https://babeljs.io/docs/babel-eslint-plugin) when detected
5758
- **Documentation Standards**: Automatic JSDoc validation with [`eslint-plugin-jsdoc`](https://github.com/gajus/eslint-plugin-jsdoc), TypeScript-aware when applicable
58-
- **Code Formatting**: Seamless Prettier integration via [`eslint-config-prettier`](https://github.com/prettier/eslint-config-prettier) (following ESLint v9 best practices)
59+
- **Code Formatting**: Intelligent Prettier integration via [`eslint-config-prettier`](https://github.com/prettier/eslint-config-prettier) with comprehensive stylistic rule management:
60+
- **Prettier-Compatible Rules**: Special rules that can coexist with Prettier (marked as `specialRule` rather than disabled)
61+
- **Legacy Stylistic Rules**: Non-Prettier rules managed by ESLint Stylistic for comprehensive code consistency
62+
- **Smart Conflict Resolution**: Automatic detection and resolution of formatting conflicts between ESLint and Prettier
5963

6064
## 📋 **Comprehensive Rule Set**
6165

62-
The configuration includes **180+ carefully curated ESLint rules** with comprehensive documentation links, organized into:
66+
The configuration includes **120+ carefully curated ESLint rules** designed to enforce best practices and coding conventions battle-tested by Bevry across 200+ packages and 20 years of JavaScript development.
6367

64-
- **Possible Errors**: Critical error prevention and runtime safety
65-
- **Best Practices**: Code quality and maintainability standards
66-
- **Variables**: Scope and declaration management
67-
- **Node.js/CommonJS**: Server-side JavaScript best practices
68-
- **ECMAScript 6+**: Modern JavaScript features and patterns
69-
- **Stylistic**: Code consistency (delegated to Prettier in ESLint v9+)
68+
**Zero-Conflict Architecture**: Takes great care to ensure zero conflicts between custom rules and plugin configurations. Each rule override is intentional and documented, preventing configurations from inadvertently disabling important plugin-provided rules.
69+
70+
**Battle-Tested Standards**: These conventions have evolved through maintaining hundreds of open source projects, from simple utilities to complex applications, ensuring they work reliably across diverse JavaScript environments and use cases.
7071

7172
All rules automatically adapt based on your detected environment, target ECMAScript version, and enabled features.
7273

package-lock.json

Lines changed: 15 additions & 15 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "eslint-config-bevry",
3-
"version": "6.0.0",
3+
"version": "6.1.0",
44
"license": "Artistic-2.0",
55
"description": "Intelligent, self-configuring ESLint configuration that automatically analyzes your project structure, dependencies, and metadata to apply optimal linting rules for JavaScript, TypeScript, React, Node.js, and more.",
66
"homepage": "https://github.com/bevry/eslint-config-bevry",
@@ -20,10 +20,12 @@
2020
"eslint",
2121
"eslint-config",
2222
"eslintconfig",
23+
"esnext",
2324
"export-default",
2425
"flow",
2526
"flow-type",
2627
"flowtype",
28+
"jsx",
2729
"lint",
2830
"node",
2931
"prettier",
@@ -152,7 +154,7 @@
152154
"@eslint/js": "^9.32.0",
153155
"eslint-config-prettier": "^10.1.8",
154156
"eslint-plugin-import": "^2.32.0",
155-
"eslint-plugin-jsdoc": "^52.0.2",
157+
"eslint-plugin-jsdoc": "^52.0.4",
156158
"eslint-plugin-n": "^17.21.3",
157159
"eslint-plugin-react": "^7.37.5",
158160
"eslint-plugin-react-hooks": "^5.2.0",

0 commit comments

Comments
 (0)