Skip to content

Conversation

@Pixel998
Copy link
Contributor

@Pixel998 Pixel998 commented Nov 11, 2025

Prerequisites checklist

What is the purpose of this pull request?

This PR restores the eslint-plugin-jsdoc rules that were previously disabled, so that JavaScript files once again receive the intended documentation linting behavior from eslint-config-eslint.

What changes did you make? (Give an overview)

Removed the blanket disable of jsdoc rules and cleaned up the configuration structure in eslint.config.js.

Related Issues

Is there anything you'd like reviewers to focus on?

@github-project-automation github-project-automation bot moved this to Needs Triage in Triage Nov 11, 2025
@nzakas nzakas moved this from Needs Triage to Implementing in Triage Nov 18, 2025
@github-actions
Copy link
Contributor

Hi everyone, it looks like we lost track of this pull request. Please review and see what the next steps are. This pull request will auto-close in 7 days without an update.

@github-actions github-actions bot added the Stale label Nov 21, 2025
@Pixel998 Pixel998 removed the Stale label Nov 27, 2025
@github-actions
Copy link
Contributor

Hi everyone, it looks like we lost track of this pull request. Please review and see what the next steps are. This pull request will auto-close in 7 days without an update.

@github-actions github-actions bot added the Stale label Dec 10, 2025
@Pixel998 Pixel998 marked this pull request as ready for review December 11, 2025 15:41
@github-actions github-actions bot removed the Stale label Dec 11, 2025
Copy link
Contributor

@JoshuaKGoldberg JoshuaKGoldberg left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is lovely, thank you for the cleanup!

I have a couple of touchup requests, but generally am very 👍 on the direction of changes. These'll be very nice for understanding the code better.

* create the array to return.
*/
const asyncIterable = await flatTraverse(items);
const asyncIterable = flatTraverse(items);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Technically, this is a behavior change. It makes me a little nervous to include any in a chore:, even if it's a no-op. IMO this is fine as flatTraverse isn't async and doesn't return a Promise. Just calling out as something to keep an eye on.

Comment on lines +15 to +17
* @param {any} value1 The value from the first object key.
* @param {any} value2 The value from the second object key.
* @returns {any} The second value.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[Bug] {any} isn't correct here. This is a generic function so there should be a type parameter:

Suggested change
* @param {any} value1 The value from the first object key.
* @param {any} value2 The value from the second object key.
* @returns {any} The second value.
* @template Value
* @param {Value} value1 The value from the first object key.
* @param {Value} value2 The value from the second object key.
* @returns {Value} The second value.

Quick reference as I always have to look these up ~ https://www.typescriptlang.org/docs/handbook/jsdoc-supported-types.html#template

(here and elsewhere in the PR in functions that should be generic)

/**
* Validates that a value is an array.
* @param {*} value The value to validate.
* @param {any} value The value to validate.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[Bug] This won't change anything specifically here, but preferring unknown is generally a better practice and leads to safer default behaviors:

Suggested change
* @param {any} value The value to validate.
* @param {unknown} value The value to validate.

(here and elsewhere in the file)

* Shorthand for checking if a value is a string.
* @param {any} value The value to check.
* @returns {boolean} True if a string, false if not.
* @returns {value is string} True if a string, false if not.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[Praise] Nice "extra credit" to get the type predicate!

/**
* Asserts that a given value is an array.
* @param {*} value The value to check.
* @param {any} value The value to check.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[Bug] This won't change anything specifically here, but preferring unknown is generally a better practice and leads to safer default behaviors:

Suggested change
* @param {any} value The value to check.
* @param {unknown} value The value to check.

(here and elsewhere that uses any for an unknown-typed value)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[Praise] Nice cleanup here on removing the ...s, etc. too 🙂

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

Status: Implementing

Development

Successfully merging this pull request may close these issues.

3 participants