From de24eae335ed6deb3388dccb6ac4fe40d20969fa Mon Sep 17 00:00:00 2001 From: Brett Zamir Date: Sun, 14 Sep 2025 11:20:26 +0800 Subject: [PATCH] fix(types): add missing configs to `index.configs` type --- .README/README.md | 4 +++- README.md | 4 +++- src/index-cjs.js | 2 +- src/index-esm.js | 4 ++-- src/index.js | 6 +++--- 5 files changed, 12 insertions(+), 8 deletions(-) diff --git a/.README/README.md b/.README/README.md index 9da704e23..107c45add 100644 --- a/.README/README.md +++ b/.README/README.md @@ -29,7 +29,9 @@ npm install --save-dev eslint-plugin-jsdoc ### Flat config (procedural) -This is the currently recommended approach. +This is the currently recommended approach for all flat configs (besides the +array-based `examples`, `default-expressions`, and +`examples-and-default-expressions` configs). ```js import {jsdoc} from 'eslint-plugin-jsdoc'; diff --git a/README.md b/README.md index 6c81dd98e..f4fbd5cc8 100644 --- a/README.md +++ b/README.md @@ -48,7 +48,9 @@ npm install --save-dev eslint-plugin-jsdoc ### Flat config (procedural) -This is the currently recommended approach. +This is the currently recommended approach for all flat configs (besides the +array-based `examples`, `default-expressions`, and +`examples-and-default-expressions` configs). ```js import {jsdoc} from 'eslint-plugin-jsdoc'; diff --git a/src/index-cjs.js b/src/index-cjs.js index a08e18a7d..387809933 100644 --- a/src/index-cjs.js +++ b/src/index-cjs.js @@ -153,7 +153,7 @@ export const buildForbidRuleDefinition = ({ * @typedef {"" | "-error"} ErrorLevelVariants * @type {import('eslint').ESLint.Plugin & { * configs: Record<`flat/${ConfigGroups}${ConfigVariants}${ErrorLevelVariants}`, - * import('eslint').Linter.Config> + * import('eslint').Linter.Config>|Record<"examples"|"default-expressions"|"examples-and-default-expressions", import('eslint').Linter.Config[]> * }} */ const index = {}; diff --git a/src/index-esm.js b/src/index-esm.js index 8c011d986..081453a2c 100644 --- a/src/index-esm.js +++ b/src/index-esm.js @@ -36,8 +36,8 @@ export default index; * } * ) => import('eslint').Linter.Config)} */ -/* eslint-enable jsdoc/valid-types -- Bug */ export const jsdoc = function (cfg) { + /* eslint-enable jsdoc/valid-types -- Bug */ /** @type {import('eslint').Linter.Config} */ let outputConfig = { plugins: { @@ -52,7 +52,7 @@ export const jsdoc = function (cfg) { throw new TypeError('Disallowed config value'); } - outputConfig = index.configs[cfg.config]; + outputConfig = /** @type {import('eslint').Linter.Config} */ (index.configs[cfg.config]); } if (cfg.rules) { diff --git a/src/index.js b/src/index.js index b470cc38d..aa693a563 100644 --- a/src/index.js +++ b/src/index.js @@ -159,7 +159,7 @@ export const buildForbidRuleDefinition = ({ * @typedef {"" | "-error"} ErrorLevelVariants * @type {import('eslint').ESLint.Plugin & { * configs: Record<`flat/${ConfigGroups}${ConfigVariants}${ErrorLevelVariants}`, - * import('eslint').Linter.Config> + * import('eslint').Linter.Config>|Record<"examples"|"default-expressions"|"examples-and-default-expressions", import('eslint').Linter.Config[]> * }} */ const index = {}; @@ -705,8 +705,8 @@ export default index; * } * ) => import('eslint').Linter.Config)} */ -/* eslint-enable jsdoc/valid-types -- Bug */ export const jsdoc = function (cfg) { + /* eslint-enable jsdoc/valid-types -- Bug */ /** @type {import('eslint').Linter.Config} */ let outputConfig = { plugins: { @@ -721,7 +721,7 @@ export const jsdoc = function (cfg) { throw new TypeError('Disallowed config value'); } - outputConfig = index.configs[cfg.config]; + outputConfig = /** @type {import('eslint').Linter.Config} */ (index.configs[cfg.config]); } if (cfg.rules) {