From b227fd74aa939791a90c285df018fb165a348505 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 10 Nov 2026 11:09:33 +0000 Subject: [PATCH] chore: version packages --- .changeset/flat-config-rewrite.md | 21 --------------- package-lock.json | 18 ++++++------- packages/eslint-config-base/CHANGELOG.md | 20 ++++++++++++++ packages/eslint-config-base/package.json | 2 +- .../CHANGELOG.md | 27 +++++++++++++++++++ .../package.json | 8 +++--- packages/eslint-config-react/CHANGELOG.md | 25 +++++++++++++++++ packages/eslint-config-react/package.json | 4 +-- .../eslint-config-typescript/CHANGELOG.md | 25 +++++++++++++++++ .../eslint-config-typescript/package.json | 4 +-- 10 files changed, 115 insertions(+), 39 deletions(-) delete mode 100644 .changeset/flat-config-rewrite.md create mode 100644 packages/eslint-config-base/CHANGELOG.md create mode 100644 packages/eslint-config-react-typescript/CHANGELOG.md create mode 100644 packages/eslint-config-react/CHANGELOG.md create mode 100644 packages/eslint-config-typescript/CHANGELOG.md diff --git a/.changeset/flat-config-rewrite.md b/.changeset/flat-config-rewrite.md deleted file mode 100644 index eea9667..0000000 --- a/.changeset/flat-config-rewrite.md +++ /dev/null @@ -1,21 +0,0 @@ ---- -'@cospired/eslint-config-base': major -'@cospired/eslint-config-typescript': major -'@cospired/eslint-config-react': major -'@cospired/eslint-config-react-typescript': major ---- - -Rewrite for ESLint 10 flat config, replacing airbnb and the hapi plugin. - -Four packages: `base` (JavaScript, plus `/node`), `typescript` (plus `/node`), `react` and `react-typescript`. `base` and `react` keep their names; `typescript` and `react-typescript` are new, so JavaScript-only projects no longer need the TypeScript peers. Every entry works with no options: `export { default } from '@cospired/eslint-config-typescript/node';` is a complete `eslint.config.js`. - -Migrating from 7.x: - -- **Flat config only, ESLint 10, Node `^22.13 || >=24`.** `.eslintrc` is gone; use `eslint.config.js`. -- **No airbnb, no hapi.** The airbnb rules we kept are documented in the rule files (`src/rules/`); the rest are dropped. hapi `scope-start` cannot coexist with Prettier and `no-arrowception` is dropped. Blank lines before `return` and after declarations come from `@stylistic/padding-line-between-statements`. -- **Every rule is configured** (on, or off with a reason) for ESLint, typescript-eslint, import-x, @stylistic, eslint-comments, todo-plz, react-hooks, react-refresh and formatjs. Each rule has a comment block with description, reasoning and link. Rules left off that you want can be turned on in your own config. -- **No `warn` severities:** every rule is `error` or off. -- **Peers changed:** `@hapi/eslint-plugin`, `eslint-plugin-import`, `eslint-plugin-eslint-comments`, `eslint-plugin-react` and `eslint-plugin-jsx-a11y` are no longer used. New: `eslint-plugin-import-x`, `@eslint-community/eslint-plugin-eslint-comments`, `eslint-plugin-todo-plz`, `@stylistic/eslint-plugin`, `typescript-eslint`, `eslint-import-resolver-typescript`, `eslint-plugin-react-hooks`, `eslint-plugin-react-refresh`, `eslint-plugin-formatjs`. -- **React:** the `/hooks` export is gone (hooks rules are part of the default). jsx-a11y returns when the plugin supports ESLint 10. -- **Type-aware linting:** source files are linted with type information through typescript-eslint's project service and must belong to a tsconfig. Tests, scripts and TypeScript files at the package root (bundler, test runner or ORM configs) are linted without type information because build tsconfigs usually exclude them; `typedTests: true` type-checks those too (they must then be in a tsconfig). -- **Rules you will notice:** disable comments need `-- reason`; TODOs need a ticket (`#123`); imports are alphabetized; `no-console` allows only `warn`/`error`; `eqeqeq`, `no-shadow`, `no-nested-ternary`, `prefer-template` and `no-await-in-loop` are errors; TypeScript source files need explicit return types. diff --git a/package-lock.json b/package-lock.json index 8ff4f9d..58bb1c0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2892,7 +2892,7 @@ }, "packages/eslint-config-base": { "name": "@cospired/eslint-config-base", - "version": "7.0.2", + "version": "8.0.0", "license": "BSD-3-Clause-Clear", "engines": { "node": "^22.13.0 || >=24" @@ -2910,10 +2910,10 @@ }, "packages/eslint-config-react": { "name": "@cospired/eslint-config-react", - "version": "7.0.0", + "version": "8.0.0", "license": "BSD-3-Clause-Clear", "dependencies": { - "@cospired/eslint-config-base": "^7.0.2" + "@cospired/eslint-config-base": "^8.0.0" }, "engines": { "node": "^22.13.0 || >=24" @@ -2934,12 +2934,12 @@ }, "packages/eslint-config-react-typescript": { "name": "@cospired/eslint-config-react-typescript", - "version": "0.0.0", + "version": "8.0.0", "license": "BSD-3-Clause-Clear", "dependencies": { - "@cospired/eslint-config-base": "^7.0.2", - "@cospired/eslint-config-react": "^7.0.0", - "@cospired/eslint-config-typescript": "^0.0.0" + "@cospired/eslint-config-base": "^8.0.0", + "@cospired/eslint-config-react": "^8.0.0", + "@cospired/eslint-config-typescript": "^8.0.0" }, "engines": { "node": "^22.13.0 || >=24" @@ -2963,10 +2963,10 @@ }, "packages/eslint-config-typescript": { "name": "@cospired/eslint-config-typescript", - "version": "0.0.0", + "version": "8.0.0", "license": "BSD-3-Clause-Clear", "dependencies": { - "@cospired/eslint-config-base": "^7.0.2" + "@cospired/eslint-config-base": "^8.0.0" }, "engines": { "node": "^22.13.0 || >=24" diff --git a/packages/eslint-config-base/CHANGELOG.md b/packages/eslint-config-base/CHANGELOG.md new file mode 100644 index 0000000..678196b --- /dev/null +++ b/packages/eslint-config-base/CHANGELOG.md @@ -0,0 +1,20 @@ +# @cospired/eslint-config-base + +## 8.0.0 + +### Major Changes + +- 58726c8: Rewrite for ESLint 10 flat config, replacing airbnb and the hapi plugin. + + Four packages: `base` (JavaScript, plus `/node`), `typescript` (plus `/node`), `react` and `react-typescript`. `base` and `react` keep their names; `typescript` and `react-typescript` are new, so JavaScript-only projects no longer need the TypeScript peers. Every entry works with no options: `export { default } from '@cospired/eslint-config-typescript/node';` is a complete `eslint.config.js`. + + Migrating from 7.x: + + - **Flat config only, ESLint 10, Node `^22.13 || >=24`.** `.eslintrc` is gone; use `eslint.config.js`. + - **No airbnb, no hapi.** The airbnb rules we kept are documented in the rule files (`src/rules/`); the rest are dropped. hapi `scope-start` cannot coexist with Prettier and `no-arrowception` is dropped. Blank lines before `return` and after declarations come from `@stylistic/padding-line-between-statements`. + - **Every rule is configured** (on, or off with a reason) for ESLint, typescript-eslint, import-x, @stylistic, eslint-comments, todo-plz, react-hooks, react-refresh and formatjs. Each rule has a comment block with description, reasoning and link. Rules left off that you want can be turned on in your own config. + - **No `warn` severities:** every rule is `error` or off. + - **Peers changed:** `@hapi/eslint-plugin`, `eslint-plugin-import`, `eslint-plugin-eslint-comments`, `eslint-plugin-react` and `eslint-plugin-jsx-a11y` are no longer used. New: `eslint-plugin-import-x`, `@eslint-community/eslint-plugin-eslint-comments`, `eslint-plugin-todo-plz`, `@stylistic/eslint-plugin`, `typescript-eslint`, `eslint-import-resolver-typescript`, `eslint-plugin-react-hooks`, `eslint-plugin-react-refresh`, `eslint-plugin-formatjs`. + - **React:** the `/hooks` export is gone (hooks rules are part of the default). jsx-a11y returns when the plugin supports ESLint 10. + - **Type-aware linting:** source files are linted with type information through typescript-eslint's project service and must belong to a tsconfig. Tests, scripts and TypeScript files at the package root (bundler, test runner or ORM configs) are linted without type information because build tsconfigs usually exclude them; `typedTests: true` type-checks those too (they must then be in a tsconfig). + - **Rules you will notice:** disable comments need `-- reason`; TODOs need a ticket (`#123`); imports are alphabetized; `no-console` allows only `warn`/`error`; `eqeqeq`, `no-shadow`, `no-nested-ternary`, `prefer-template` and `no-await-in-loop` are errors; TypeScript source files need explicit return types. diff --git a/packages/eslint-config-base/package.json b/packages/eslint-config-base/package.json index 922bdc4..884270f 100644 --- a/packages/eslint-config-base/package.json +++ b/packages/eslint-config-base/package.json @@ -1,6 +1,6 @@ { "name": "@cospired/eslint-config-base", - "version": "7.0.2", + "version": "8.0.0", "description": "Slightly opinionated ESLint flat config for JavaScript", "type": "module", "files": [ diff --git a/packages/eslint-config-react-typescript/CHANGELOG.md b/packages/eslint-config-react-typescript/CHANGELOG.md new file mode 100644 index 0000000..780b0c2 --- /dev/null +++ b/packages/eslint-config-react-typescript/CHANGELOG.md @@ -0,0 +1,27 @@ +# @cospired/eslint-config-react-typescript + +## 8.0.0 + +### Major Changes + +- 58726c8: Rewrite for ESLint 10 flat config, replacing airbnb and the hapi plugin. + + Four packages: `base` (JavaScript, plus `/node`), `typescript` (plus `/node`), `react` and `react-typescript`. `base` and `react` keep their names; `typescript` and `react-typescript` are new, so JavaScript-only projects no longer need the TypeScript peers. Every entry works with no options: `export { default } from '@cospired/eslint-config-typescript/node';` is a complete `eslint.config.js`. + + Migrating from 7.x: + + - **Flat config only, ESLint 10, Node `^22.13 || >=24`.** `.eslintrc` is gone; use `eslint.config.js`. + - **No airbnb, no hapi.** The airbnb rules we kept are documented in the rule files (`src/rules/`); the rest are dropped. hapi `scope-start` cannot coexist with Prettier and `no-arrowception` is dropped. Blank lines before `return` and after declarations come from `@stylistic/padding-line-between-statements`. + - **Every rule is configured** (on, or off with a reason) for ESLint, typescript-eslint, import-x, @stylistic, eslint-comments, todo-plz, react-hooks, react-refresh and formatjs. Each rule has a comment block with description, reasoning and link. Rules left off that you want can be turned on in your own config. + - **No `warn` severities:** every rule is `error` or off. + - **Peers changed:** `@hapi/eslint-plugin`, `eslint-plugin-import`, `eslint-plugin-eslint-comments`, `eslint-plugin-react` and `eslint-plugin-jsx-a11y` are no longer used. New: `eslint-plugin-import-x`, `@eslint-community/eslint-plugin-eslint-comments`, `eslint-plugin-todo-plz`, `@stylistic/eslint-plugin`, `typescript-eslint`, `eslint-import-resolver-typescript`, `eslint-plugin-react-hooks`, `eslint-plugin-react-refresh`, `eslint-plugin-formatjs`. + - **React:** the `/hooks` export is gone (hooks rules are part of the default). jsx-a11y returns when the plugin supports ESLint 10. + - **Type-aware linting:** source files are linted with type information through typescript-eslint's project service and must belong to a tsconfig. Tests, scripts and TypeScript files at the package root (bundler, test runner or ORM configs) are linted without type information because build tsconfigs usually exclude them; `typedTests: true` type-checks those too (they must then be in a tsconfig). + - **Rules you will notice:** disable comments need `-- reason`; TODOs need a ticket (`#123`); imports are alphabetized; `no-console` allows only `warn`/`error`; `eqeqeq`, `no-shadow`, `no-nested-ternary`, `prefer-template` and `no-await-in-loop` are errors; TypeScript source files need explicit return types. + +### Patch Changes + +- Updated dependencies [58726c8] + - @cospired/eslint-config-base@8.0.0 + - @cospired/eslint-config-typescript@8.0.0 + - @cospired/eslint-config-react@8.0.0 diff --git a/packages/eslint-config-react-typescript/package.json b/packages/eslint-config-react-typescript/package.json index 6218ac8..9da7e1c 100644 --- a/packages/eslint-config-react-typescript/package.json +++ b/packages/eslint-config-react-typescript/package.json @@ -1,6 +1,6 @@ { "name": "@cospired/eslint-config-react-typescript", - "version": "0.0.0", + "version": "8.0.0", "description": "Slightly opinionated ESLint flat config for React with TypeScript", "type": "module", "files": [ @@ -25,9 +25,9 @@ "./package.json": "./package.json" }, "dependencies": { - "@cospired/eslint-config-base": "^7.0.2", - "@cospired/eslint-config-react": "^7.0.0", - "@cospired/eslint-config-typescript": "^0.0.0" + "@cospired/eslint-config-base": "^8.0.0", + "@cospired/eslint-config-react": "^8.0.0", + "@cospired/eslint-config-typescript": "^8.0.0" }, "peerDependencies": { "@eslint-community/eslint-plugin-eslint-comments": "^4.8.1", diff --git a/packages/eslint-config-react/CHANGELOG.md b/packages/eslint-config-react/CHANGELOG.md new file mode 100644 index 0000000..3917e5f --- /dev/null +++ b/packages/eslint-config-react/CHANGELOG.md @@ -0,0 +1,25 @@ +# @cospired/eslint-config-react + +## 8.0.0 + +### Major Changes + +- 58726c8: Rewrite for ESLint 10 flat config, replacing airbnb and the hapi plugin. + + Four packages: `base` (JavaScript, plus `/node`), `typescript` (plus `/node`), `react` and `react-typescript`. `base` and `react` keep their names; `typescript` and `react-typescript` are new, so JavaScript-only projects no longer need the TypeScript peers. Every entry works with no options: `export { default } from '@cospired/eslint-config-typescript/node';` is a complete `eslint.config.js`. + + Migrating from 7.x: + + - **Flat config only, ESLint 10, Node `^22.13 || >=24`.** `.eslintrc` is gone; use `eslint.config.js`. + - **No airbnb, no hapi.** The airbnb rules we kept are documented in the rule files (`src/rules/`); the rest are dropped. hapi `scope-start` cannot coexist with Prettier and `no-arrowception` is dropped. Blank lines before `return` and after declarations come from `@stylistic/padding-line-between-statements`. + - **Every rule is configured** (on, or off with a reason) for ESLint, typescript-eslint, import-x, @stylistic, eslint-comments, todo-plz, react-hooks, react-refresh and formatjs. Each rule has a comment block with description, reasoning and link. Rules left off that you want can be turned on in your own config. + - **No `warn` severities:** every rule is `error` or off. + - **Peers changed:** `@hapi/eslint-plugin`, `eslint-plugin-import`, `eslint-plugin-eslint-comments`, `eslint-plugin-react` and `eslint-plugin-jsx-a11y` are no longer used. New: `eslint-plugin-import-x`, `@eslint-community/eslint-plugin-eslint-comments`, `eslint-plugin-todo-plz`, `@stylistic/eslint-plugin`, `typescript-eslint`, `eslint-import-resolver-typescript`, `eslint-plugin-react-hooks`, `eslint-plugin-react-refresh`, `eslint-plugin-formatjs`. + - **React:** the `/hooks` export is gone (hooks rules are part of the default). jsx-a11y returns when the plugin supports ESLint 10. + - **Type-aware linting:** source files are linted with type information through typescript-eslint's project service and must belong to a tsconfig. Tests, scripts and TypeScript files at the package root (bundler, test runner or ORM configs) are linted without type information because build tsconfigs usually exclude them; `typedTests: true` type-checks those too (they must then be in a tsconfig). + - **Rules you will notice:** disable comments need `-- reason`; TODOs need a ticket (`#123`); imports are alphabetized; `no-console` allows only `warn`/`error`; `eqeqeq`, `no-shadow`, `no-nested-ternary`, `prefer-template` and `no-await-in-loop` are errors; TypeScript source files need explicit return types. + +### Patch Changes + +- Updated dependencies [58726c8] + - @cospired/eslint-config-base@8.0.0 diff --git a/packages/eslint-config-react/package.json b/packages/eslint-config-react/package.json index 0dc2f3a..a3a65a6 100644 --- a/packages/eslint-config-react/package.json +++ b/packages/eslint-config-react/package.json @@ -1,6 +1,6 @@ { "name": "@cospired/eslint-config-react", - "version": "7.0.0", + "version": "8.0.0", "description": "Slightly opinionated ESLint flat config for React (JavaScript)", "type": "module", "files": [ @@ -32,7 +32,7 @@ "test": "node --test test/*.test.js" }, "dependencies": { - "@cospired/eslint-config-base": "^7.0.2" + "@cospired/eslint-config-base": "^8.0.0" }, "peerDependencies": { "@eslint-community/eslint-plugin-eslint-comments": "^4.8.1", diff --git a/packages/eslint-config-typescript/CHANGELOG.md b/packages/eslint-config-typescript/CHANGELOG.md new file mode 100644 index 0000000..c91e300 --- /dev/null +++ b/packages/eslint-config-typescript/CHANGELOG.md @@ -0,0 +1,25 @@ +# @cospired/eslint-config-typescript + +## 8.0.0 + +### Major Changes + +- 58726c8: Rewrite for ESLint 10 flat config, replacing airbnb and the hapi plugin. + + Four packages: `base` (JavaScript, plus `/node`), `typescript` (plus `/node`), `react` and `react-typescript`. `base` and `react` keep their names; `typescript` and `react-typescript` are new, so JavaScript-only projects no longer need the TypeScript peers. Every entry works with no options: `export { default } from '@cospired/eslint-config-typescript/node';` is a complete `eslint.config.js`. + + Migrating from 7.x: + + - **Flat config only, ESLint 10, Node `^22.13 || >=24`.** `.eslintrc` is gone; use `eslint.config.js`. + - **No airbnb, no hapi.** The airbnb rules we kept are documented in the rule files (`src/rules/`); the rest are dropped. hapi `scope-start` cannot coexist with Prettier and `no-arrowception` is dropped. Blank lines before `return` and after declarations come from `@stylistic/padding-line-between-statements`. + - **Every rule is configured** (on, or off with a reason) for ESLint, typescript-eslint, import-x, @stylistic, eslint-comments, todo-plz, react-hooks, react-refresh and formatjs. Each rule has a comment block with description, reasoning and link. Rules left off that you want can be turned on in your own config. + - **No `warn` severities:** every rule is `error` or off. + - **Peers changed:** `@hapi/eslint-plugin`, `eslint-plugin-import`, `eslint-plugin-eslint-comments`, `eslint-plugin-react` and `eslint-plugin-jsx-a11y` are no longer used. New: `eslint-plugin-import-x`, `@eslint-community/eslint-plugin-eslint-comments`, `eslint-plugin-todo-plz`, `@stylistic/eslint-plugin`, `typescript-eslint`, `eslint-import-resolver-typescript`, `eslint-plugin-react-hooks`, `eslint-plugin-react-refresh`, `eslint-plugin-formatjs`. + - **React:** the `/hooks` export is gone (hooks rules are part of the default). jsx-a11y returns when the plugin supports ESLint 10. + - **Type-aware linting:** source files are linted with type information through typescript-eslint's project service and must belong to a tsconfig. Tests, scripts and TypeScript files at the package root (bundler, test runner or ORM configs) are linted without type information because build tsconfigs usually exclude them; `typedTests: true` type-checks those too (they must then be in a tsconfig). + - **Rules you will notice:** disable comments need `-- reason`; TODOs need a ticket (`#123`); imports are alphabetized; `no-console` allows only `warn`/`error`; `eqeqeq`, `no-shadow`, `no-nested-ternary`, `prefer-template` and `no-await-in-loop` are errors; TypeScript source files need explicit return types. + +### Patch Changes + +- Updated dependencies [58726c8] + - @cospired/eslint-config-base@8.0.0 diff --git a/packages/eslint-config-typescript/package.json b/packages/eslint-config-typescript/package.json index 5ac7cde..28ca8bc 100644 --- a/packages/eslint-config-typescript/package.json +++ b/packages/eslint-config-typescript/package.json @@ -1,6 +1,6 @@ { "name": "@cospired/eslint-config-typescript", - "version": "0.0.0", + "version": "8.0.0", "description": "Slightly opinionated ESLint flat config for TypeScript (type-aware)", "type": "module", "files": [ @@ -26,7 +26,7 @@ "./package.json": "./package.json" }, "dependencies": { - "@cospired/eslint-config-base": "^7.0.2" + "@cospired/eslint-config-base": "^8.0.0" }, "peerDependencies": { "@eslint-community/eslint-plugin-eslint-comments": "^4.8.1",