From f006588c0a38a90359427da7695d7e62169a5355 Mon Sep 17 00:00:00 2001 From: Rich Trott Date: Sat, 11 Dec 2021 20:25:31 -0800 Subject: [PATCH 1/2] lib,tools: remove empty lines between JSDoc tags This is in preparation for enabling a recommended JSDoc lint rule. --- lib/internal/blob.js | 4 ++- lib/internal/webstreams/adapters.js | 8 +++-- lib/internal/webstreams/queuingstrategies.js | 4 ++- lib/internal/webstreams/readablestream.js | 33 ++++++++++++++------ lib/internal/webstreams/transformstream.js | 16 +++++++--- lib/internal/webstreams/writablestream.js | 20 +++++++++--- tools/eslint-rules/crypto-check.js | 3 -- 7 files changed, 63 insertions(+), 25 deletions(-) diff --git a/lib/internal/blob.js b/lib/internal/blob.js index 3ac1caf76df019..e5ea99b0a965d2 100644 --- a/lib/internal/blob.js +++ b/lib/internal/blob.js @@ -123,7 +123,9 @@ function getSource(source, endings) { class Blob { /** * @typedef {string|ArrayBuffer|ArrayBufferView|Blob} SourcePart - * + */ + + /** * @param {SourcePart[]} [sources] * @param {{ * endings? : string, diff --git a/lib/internal/webstreams/adapters.js b/lib/internal/webstreams/adapters.js index 6f0963cde15bba..a81c173e4714e9 100644 --- a/lib/internal/webstreams/adapters.js +++ b/lib/internal/webstreams/adapters.js @@ -79,7 +79,9 @@ const { UV_EOF } = internalBinding('uv'); * @typedef {import('../../stream').Readable} Readable * @typedef {import('./writablestream').WritableStream} WritableStream * @typedef {import('./readablestream').ReadableStream} ReadableStream - * + */ + +/** * @typedef {import('../abort_controller').AbortSignal} AbortSignal */ @@ -525,7 +527,9 @@ function newStreamReadableFromReadableStream(readableStream, options = {}) { * @typedef {import('./readablestream').ReadableWritablePair * } ReadableWritablePair * @typedef {import('../../stream').Duplex} Duplex - * + */ + +/** * @param {Duplex} duplex * @returns {ReadableWritablePair} */ diff --git a/lib/internal/webstreams/queuingstrategies.js b/lib/internal/webstreams/queuingstrategies.js index 2db51b92a7f502..cd8ec2bf35bfd0 100644 --- a/lib/internal/webstreams/queuingstrategies.js +++ b/lib/internal/webstreams/queuingstrategies.js @@ -38,7 +38,9 @@ const isCountQueuingStrategy = * @callback QueuingStrategySize * @param {any} chunk * @returns {number} - * + */ + +/** * @typedef {{ * highWaterMark : number, * size? : QueuingStrategySize, diff --git a/lib/internal/webstreams/readablestream.js b/lib/internal/webstreams/readablestream.js index c9b988d6fee0f7..b4483649cb3d46 100644 --- a/lib/internal/webstreams/readablestream.js +++ b/lib/internal/webstreams/readablestream.js @@ -139,37 +139,53 @@ const kPull = Symbol('kPull'); * @typedef {import('./queuingstrategies').QueuingStrategySize * } QueuingStrategySize * @typedef {import('./writablestream').WritableStream} WritableStream - * + */ + +/** * @typedef {ReadableStreamDefaultController | ReadableByteStreamController * } ReadableStreamController - * + */ + +/** * @typedef {ReadableStreamDefaultReader | ReadableStreamBYOBReader * } ReadableStreamReader - * + */ + +/** * @callback UnderlyingSourceStartCallback * @param {ReadableStreamController} controller * @returns { any | Promise } - * + */ + +/** * @callback UnderlyingSourcePullCallback * @param {ReadableStreamController} controller * @returns { Promise } - * + */ + +/** * @callback UnderlyingSourceCancelCallback * @param {any} reason * @returns { Promise } - * + */ + +/** * @typedef {{ * readable: ReadableStream, * writable: WritableStream, * }} ReadableWritablePair - * + */ + +/** * @typedef {{ * preventClose? : boolean, * preventAbort? : boolean, * preventCancel? : boolean, * signal? : AbortSignal, * }} StreamPipeOptions - * + */ + +/** * @typedef {{ * start? : UnderlyingSourceStartCallback, * pull? : UnderlyingSourcePullCallback, @@ -177,7 +193,6 @@ const kPull = Symbol('kPull'); * type? : "bytes", * autoAllocateChunkSize? : number * }} UnderlyingSource - * */ class ReadableStream { diff --git a/lib/internal/webstreams/transformstream.js b/lib/internal/webstreams/transformstream.js index b4e690daa98c4a..e3cfd0362a26a5 100644 --- a/lib/internal/webstreams/transformstream.js +++ b/lib/internal/webstreams/transformstream.js @@ -70,19 +70,27 @@ const assert = require('internal/assert'); * } QueuingStrategy * @typedef {import('./queuingstrategies').QueuingStrategySize * } QueuingStrategySize - * + */ + +/** * @callback TransformerStartCallback * @param {TransformStreamDefaultController} controller; - * + */ + +/** * @callback TransformerFlushCallback * @param {TransformStreamDefaultController} controller; * @returns {Promise} - * + */ + +/** * @callback TransformerTransformCallback * @param {any} chunk * @param {TransformStreamDefaultController} controller * @returns {Promise} - * + */ + +/** * @typedef {{ * start? : TransformerStartCallback, * transform? : TransformerTransformCallback, diff --git a/lib/internal/webstreams/writablestream.js b/lib/internal/webstreams/writablestream.js index dba7560c549a9a..fa0d3b78e3e1ea 100644 --- a/lib/internal/webstreams/writablestream.js +++ b/lib/internal/webstreams/writablestream.js @@ -83,22 +83,32 @@ const kError = Symbol('kError'); * } QueuingStrategy * @typedef {import('./queuingstrategies').QueuingStrategySize * } QueuingStrategySize - * + */ + +/** * @callback UnderlyingSinkStartCallback * @param {WritableStreamDefaultController} controller - * + */ + +/** * @callback UnderlyingSinkWriteCallback * @param {any} chunk * @param {WritableStreamDefaultController} controller * @returns {Promise} - * + */ + +/** * @callback UnderlyingSinkCloseCallback * @returns {Promise} - * + */ + +/** * @callback UnderlyingSinkAbortCallback * @param {any} reason * @returns {Promise} - * + */ + +/** * @typedef {{ * start? : UnderlyingSinkStartCallback, * write? : UnderlyingSinkWriteCallback, diff --git a/tools/eslint-rules/crypto-check.js b/tools/eslint-rules/crypto-check.js index def002ef4c6eda..39d29bba6e0a3d 100644 --- a/tools/eslint-rules/crypto-check.js +++ b/tools/eslint-rules/crypto-check.js @@ -1,9 +1,6 @@ /** * @fileoverview Check that common.hasCrypto is used if crypto, tls, * https, or http2 modules are required. - * - * This rule can be ignored using // eslint-disable-line crypto-check - * * @author Daniel Bevenius */ 'use strict'; From 75cc44c08f0188d3e565e55641764a859d0011a2 Mon Sep 17 00:00:00 2001 From: Rich Trott Date: Sat, 11 Dec 2021 20:26:09 -0800 Subject: [PATCH 2/2] tools: enable jsdoc/tag-lines ESLint rule This rule is part of the JSDoc ESLint plugin's recommneded rule set. It prohibits blank lines between JSDoc tags. --- .eslintrc.js | 1 - 1 file changed, 1 deletion(-) diff --git a/.eslintrc.js b/.eslintrc.js index af5f751fd88a44..840a7448238816 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -350,7 +350,6 @@ module.exports = { 'jsdoc/require-returns': 'off', 'jsdoc/require-property-description': 'off', 'jsdoc/check-param-names': 'off', - 'jsdoc/tag-lines': 'off', // Custom rules from eslint-plugin-node-core 'node-core/no-unescaped-regexp-dot': 'error',