diff --git a/eslint.config.mjs b/eslint.config.mjs index ae9cf27460..96de67dbea 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -12,6 +12,7 @@ import filenames from "eslint-plugin-filenames"; import github from "eslint-plugin-github"; import _import from "eslint-plugin-import"; import noAsyncForeach from "eslint-plugin-no-async-foreach"; +import jsdoc from "eslint-plugin-jsdoc"; import globals from "globals"; const __filename = fileURLToPath(import.meta.url); @@ -52,6 +53,7 @@ export default [ github: fixupPluginRules(github), import: fixupPluginRules(_import), "no-async-foreach": noAsyncForeach, + "jsdoc": jsdoc, }, languageOptions: { @@ -133,6 +135,16 @@ export default [ "@typescript-eslint/no-shadow": "error", "@typescript-eslint/prefer-optional-chain": "error", "one-var": ["error", "never"], + + // Check param names to ensure that we don't have outdated JSDocs. + "jsdoc/check-param-names": [ + "error", + { + // We don't currently require full JSDoc coverage, so this rule + // should not error on missing @param annotations. + disableMissingParamChecks: true, + } + ], }, }, { diff --git a/lib/analyze-action-post.js b/lib/analyze-action-post.js index 64bd028666..8f24c60f01 100644 --- a/lib/analyze-action-post.js +++ b/lib/analyze-action-post.js @@ -27699,6 +27699,7 @@ var require_package = __commonJS({ "eslint-plugin-filenames": "^1.3.2", "eslint-plugin-github": "^5.1.8", "eslint-plugin-import": "2.29.1", + "eslint-plugin-jsdoc": "^61.1.12", "eslint-plugin-no-async-foreach": "^0.1.1", glob: "^11.0.3", nock: "^14.0.10", diff --git a/lib/analyze-action.js b/lib/analyze-action.js index 07eeb5eb3b..9448debe17 100644 --- a/lib/analyze-action.js +++ b/lib/analyze-action.js @@ -27699,6 +27699,7 @@ var require_package = __commonJS({ "eslint-plugin-filenames": "^1.3.2", "eslint-plugin-github": "^5.1.8", "eslint-plugin-import": "2.29.1", + "eslint-plugin-jsdoc": "^61.1.12", "eslint-plugin-no-async-foreach": "^0.1.1", glob: "^11.0.3", nock: "^14.0.10", diff --git a/lib/autobuild-action.js b/lib/autobuild-action.js index 298f50dbcd..d0c8837a28 100644 --- a/lib/autobuild-action.js +++ b/lib/autobuild-action.js @@ -27699,6 +27699,7 @@ var require_package = __commonJS({ "eslint-plugin-filenames": "^1.3.2", "eslint-plugin-github": "^5.1.8", "eslint-plugin-import": "2.29.1", + "eslint-plugin-jsdoc": "^61.1.12", "eslint-plugin-no-async-foreach": "^0.1.1", glob: "^11.0.3", nock: "^14.0.10", diff --git a/lib/init-action-post.js b/lib/init-action-post.js index c8733b2efb..2a50239ee9 100644 --- a/lib/init-action-post.js +++ b/lib/init-action-post.js @@ -27699,6 +27699,7 @@ var require_package = __commonJS({ "eslint-plugin-filenames": "^1.3.2", "eslint-plugin-github": "^5.1.8", "eslint-plugin-import": "2.29.1", + "eslint-plugin-jsdoc": "^61.1.12", "eslint-plugin-no-async-foreach": "^0.1.1", glob: "^11.0.3", nock: "^14.0.10", diff --git a/lib/init-action.js b/lib/init-action.js index 456989a4ab..da57424072 100644 --- a/lib/init-action.js +++ b/lib/init-action.js @@ -27699,6 +27699,7 @@ var require_package = __commonJS({ "eslint-plugin-filenames": "^1.3.2", "eslint-plugin-github": "^5.1.8", "eslint-plugin-import": "2.29.1", + "eslint-plugin-jsdoc": "^61.1.12", "eslint-plugin-no-async-foreach": "^0.1.1", glob: "^11.0.3", nock: "^14.0.10", diff --git a/lib/resolve-environment-action.js b/lib/resolve-environment-action.js index 03a9bf9e29..f021411c00 100644 --- a/lib/resolve-environment-action.js +++ b/lib/resolve-environment-action.js @@ -27699,6 +27699,7 @@ var require_package = __commonJS({ "eslint-plugin-filenames": "^1.3.2", "eslint-plugin-github": "^5.1.8", "eslint-plugin-import": "2.29.1", + "eslint-plugin-jsdoc": "^61.1.12", "eslint-plugin-no-async-foreach": "^0.1.1", glob: "^11.0.3", nock: "^14.0.10", diff --git a/lib/setup-codeql-action.js b/lib/setup-codeql-action.js index b7e7ec6ca3..2ea665993f 100644 --- a/lib/setup-codeql-action.js +++ b/lib/setup-codeql-action.js @@ -27699,6 +27699,7 @@ var require_package = __commonJS({ "eslint-plugin-filenames": "^1.3.2", "eslint-plugin-github": "^5.1.8", "eslint-plugin-import": "2.29.1", + "eslint-plugin-jsdoc": "^61.1.12", "eslint-plugin-no-async-foreach": "^0.1.1", glob: "^11.0.3", nock: "^14.0.10", diff --git a/lib/start-proxy-action-post.js b/lib/start-proxy-action-post.js index 590556cc8d..90b8cceefc 100644 --- a/lib/start-proxy-action-post.js +++ b/lib/start-proxy-action-post.js @@ -27699,6 +27699,7 @@ var require_package = __commonJS({ "eslint-plugin-filenames": "^1.3.2", "eslint-plugin-github": "^5.1.8", "eslint-plugin-import": "2.29.1", + "eslint-plugin-jsdoc": "^61.1.12", "eslint-plugin-no-async-foreach": "^0.1.1", glob: "^11.0.3", nock: "^14.0.10", diff --git a/lib/start-proxy-action.js b/lib/start-proxy-action.js index 322609fc07..969f6df112 100644 --- a/lib/start-proxy-action.js +++ b/lib/start-proxy-action.js @@ -47357,6 +47357,7 @@ var require_package = __commonJS({ "eslint-plugin-filenames": "^1.3.2", "eslint-plugin-github": "^5.1.8", "eslint-plugin-import": "2.29.1", + "eslint-plugin-jsdoc": "^61.1.12", "eslint-plugin-no-async-foreach": "^0.1.1", glob: "^11.0.3", nock: "^14.0.10", diff --git a/lib/upload-lib.js b/lib/upload-lib.js index 6057b1298b..7ea85c92f0 100644 --- a/lib/upload-lib.js +++ b/lib/upload-lib.js @@ -28996,6 +28996,7 @@ var require_package = __commonJS({ "eslint-plugin-filenames": "^1.3.2", "eslint-plugin-github": "^5.1.8", "eslint-plugin-import": "2.29.1", + "eslint-plugin-jsdoc": "^61.1.12", "eslint-plugin-no-async-foreach": "^0.1.1", glob: "^11.0.3", nock: "^14.0.10", diff --git a/lib/upload-sarif-action-post.js b/lib/upload-sarif-action-post.js index c853dd8b65..b1399731c0 100644 --- a/lib/upload-sarif-action-post.js +++ b/lib/upload-sarif-action-post.js @@ -27699,6 +27699,7 @@ var require_package = __commonJS({ "eslint-plugin-filenames": "^1.3.2", "eslint-plugin-github": "^5.1.8", "eslint-plugin-import": "2.29.1", + "eslint-plugin-jsdoc": "^61.1.12", "eslint-plugin-no-async-foreach": "^0.1.1", glob: "^11.0.3", nock: "^14.0.10", diff --git a/lib/upload-sarif-action.js b/lib/upload-sarif-action.js index 65e75b23f7..8593307c7e 100644 --- a/lib/upload-sarif-action.js +++ b/lib/upload-sarif-action.js @@ -27699,6 +27699,7 @@ var require_package = __commonJS({ "eslint-plugin-filenames": "^1.3.2", "eslint-plugin-github": "^5.1.8", "eslint-plugin-import": "2.29.1", + "eslint-plugin-jsdoc": "^61.1.12", "eslint-plugin-no-async-foreach": "^0.1.1", glob: "^11.0.3", nock: "^14.0.10", diff --git a/package-lock.json b/package-lock.json index 5ce7fe06fa..9afcbce0b7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -57,6 +57,7 @@ "eslint-plugin-filenames": "^1.3.2", "eslint-plugin-github": "^5.1.8", "eslint-plugin-import": "2.29.1", + "eslint-plugin-jsdoc": "^61.1.12", "eslint-plugin-no-async-foreach": "^0.1.1", "glob": "^11.0.3", "nock": "^14.0.10", @@ -893,6 +894,60 @@ "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", "license": "0BSD" }, + "node_modules/@es-joy/jsdoccomment": { + "version": "0.76.0", + "resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.76.0.tgz", + "integrity": "sha512-g+RihtzFgGTx2WYCuTHbdOXJeAlGnROws0TeALx9ow/ZmOROOZkVg5wp/B44n0WJgI4SQFP1eWM2iRPlU2Y14w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.8", + "@typescript-eslint/types": "^8.46.0", + "comment-parser": "1.4.1", + "esquery": "^1.6.0", + "jsdoc-type-pratt-parser": "~6.10.0" + }, + "engines": { + "node": ">=20.11.0" + } + }, + "node_modules/@es-joy/jsdoccomment/node_modules/@typescript-eslint/types": { + "version": "8.46.3", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.46.3.tgz", + "integrity": "sha512-G7Ok9WN/ggW7e/tOf8TQYMaxgID3Iujn231hfi0Pc7ZheztIJVpO44ekY00b7akqc6nZcvregk0Jpah3kep6hA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@es-joy/jsdoccomment/node_modules/esquery": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", + "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/@es-joy/resolve.exports": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@es-joy/resolve.exports/-/resolve.exports-1.2.0.tgz", + "integrity": "sha512-Q9hjxWI5xBM+qW2enxfe8wDKdFWMfd0Z29k5ZJnuBqD/CasY5Zryj09aCA6owbGATWz+39p5uIdaHXpopOcG8g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, "node_modules/@esbuild/aix-ppc64": { "version": "0.25.12", "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.12.tgz", @@ -2494,6 +2549,19 @@ "integrity": "sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==", "dev": true }, + "node_modules/@sindresorhus/base62": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/base62/-/base62-1.0.0.tgz", + "integrity": "sha512-TeheYy0ILzBEI/CO55CP6zJCSdSWeRtGnHy8U8dWSUH4I68iqTsy7HkMktR4xakThc9jotkPQUXT4ITdbV7cHA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/@sindresorhus/merge-streams": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-4.0.0.tgz", @@ -3772,6 +3840,16 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/are-docs-informative": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/are-docs-informative/-/are-docs-informative-0.0.2.tgz", + "integrity": "sha512-ixiS0nLNNG5jNQzgZJNoUpBKdo9yTYZMGJ+QgT2jmjR7G7+QHRCc4v6LQ3NgE7EBJq+o0ams3waJwkrlBom8Ig==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14" + } + }, "node_modules/argparse": { "version": "2.0.1", "license": "Python-2.0" @@ -4514,6 +4592,16 @@ "node": ">= 0.8" } }, + "node_modules/comment-parser": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-1.4.1.tgz", + "integrity": "sha512-buhp5kePrmda3vhc5B9t7pUQXAb2Tnd0qgpkIhPhkHXxJpiPJ11H0ZEU0oBpJ2QztSbzG/ZxMj/CHsYJqRHmyg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 12.0.0" + } + }, "node_modules/common-path-prefix": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz", @@ -5381,6 +5469,110 @@ "ms": "^2.1.1" } }, + "node_modules/eslint-plugin-jsdoc": { + "version": "61.1.12", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-61.1.12.tgz", + "integrity": "sha512-CGJTnltz7ovwOW33xYhvA4fMuriPZpR5OnJf09SV28iU2IUpJwMd6P7zvUK8Sl56u5YzO+1F9m46wpSs2dufEw==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@es-joy/jsdoccomment": "~0.76.0", + "@es-joy/resolve.exports": "1.2.0", + "are-docs-informative": "^0.0.2", + "comment-parser": "1.4.1", + "debug": "^4.4.3", + "escape-string-regexp": "^4.0.0", + "espree": "^10.4.0", + "esquery": "^1.6.0", + "html-entities": "^2.6.0", + "object-deep-merge": "^2.0.0", + "parse-imports-exports": "^0.2.4", + "semver": "^7.7.3", + "spdx-expression-parse": "^4.0.0", + "to-valid-identifier": "^1.0.0" + }, + "engines": { + "node": ">=20.11.0" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0 || ^9.0.0" + } + }, + "node_modules/eslint-plugin-jsdoc/node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/eslint-plugin-jsdoc/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint-plugin-jsdoc/node_modules/eslint-visitor-keys": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", + "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-plugin-jsdoc/node_modules/espree": { + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz", + "integrity": "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "acorn": "^8.15.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^4.2.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-plugin-jsdoc/node_modules/esquery": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", + "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, "node_modules/eslint-plugin-jsx-a11y": { "version": "6.10.2", "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.10.2.tgz", @@ -6379,6 +6571,23 @@ "node": ">= 0.4" } }, + "node_modules/html-entities": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.6.0.tgz", + "integrity": "sha512-kig+rMn/QOVRvr7c86gQ8lWXq+Hkv6CbAH1hLu+RG338StTpE8Z0b44SDVaqVu7HGKf27frdmUYEs9hTUX/cLQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/mdevils" + }, + { + "type": "patreon", + "url": "https://patreon.com/mdevils" + } + ], + "license": "MIT" + }, "node_modules/http-proxy-agent": { "version": "7.0.2", "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", @@ -6898,6 +7107,16 @@ "node": ">=0.1.90" } }, + "node_modules/jsdoc-type-pratt-parser": { + "version": "6.10.0", + "resolved": "https://registry.npmjs.org/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-6.10.0.tgz", + "integrity": "sha512-+LexoTRyYui5iOhJGn13N9ZazL23nAHGkXsa1p/C8yeq79WRfLBag6ZZ0FQG2aRoc9yfo59JT9EYCQonOkHKkQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=20.0.0" + } + }, "node_modules/json-schema-traverse": { "version": "0.4.1", "dev": true, @@ -7386,6 +7605,13 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/object-deep-merge": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/object-deep-merge/-/object-deep-merge-2.0.0.tgz", + "integrity": "sha512-3DC3UMpeffLTHiuXSy/UG4NOIYTLlY9u3V82+djSCLYClWobZiS4ivYzpIUWrRY/nfsJ8cWsKyG3QfyLePmhvg==", + "dev": true, + "license": "MIT" + }, "node_modules/object-inspect": { "version": "1.13.2", "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.2.tgz", @@ -7695,6 +7921,16 @@ "node": ">=6" } }, + "node_modules/parse-imports-exports": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/parse-imports-exports/-/parse-imports-exports-0.2.4.tgz", + "integrity": "sha512-4s6vd6dx1AotCx/RCI2m7t7GCh5bDRUtGNvRfHSP2wbBQdMi67pPe7mtzmgwcaQ8VKK/6IB7Glfyu3qdZJPybQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "parse-statements": "1.0.11" + } + }, "node_modules/parse-ms": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/parse-ms/-/parse-ms-4.0.0.tgz", @@ -7707,6 +7943,13 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/parse-statements": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/parse-statements/-/parse-statements-1.0.11.tgz", + "integrity": "sha512-HlsyYdMBnbPQ9Jr/VgJ1YF4scnldvJpJxCVx6KgqPL4dxppsWrJHCIIxQXMJrqGnsRkNPATbeMJ8Yxu7JMsYcA==", + "dev": true, + "license": "MIT" + }, "node_modules/path-is-absolute": { "version": "1.0.1", "dev": true, @@ -7986,6 +8229,19 @@ "node": ">=0.10.5" } }, + "node_modules/reserved-identifiers": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/reserved-identifiers/-/reserved-identifiers-1.2.0.tgz", + "integrity": "sha512-yE7KUfFvaBFzGPs5H3Ops1RevfUEsDc5Iz65rOwWg4lE8HJSYtle77uul3+573457oHvBKuHYDl/xqUkKpEEdw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/resolve": { "version": "1.22.8", "dev": true, @@ -8326,6 +8582,31 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/spdx-exceptions": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz", + "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==", + "dev": true, + "license": "CC-BY-3.0" + }, + "node_modules/spdx-expression-parse": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-4.0.0.tgz", + "integrity": "sha512-Clya5JIij/7C6bRR22+tnGXbc4VKlibKSVj2iHvVeX5iMW7s1SIQlqu699JkODJJIhh/pUu8L0/VLh8xflD+LQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.22", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.22.tgz", + "integrity": "sha512-4PRT4nh1EImPbt2jASOKHX7PB7I+e4IWNLvkKFDxNhJlfjbYlleYQh285Z/3mPTHSAK/AvdMmw5BNNuYH8ShgQ==", + "dev": true, + "license": "CC0-1.0" + }, "node_modules/sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", @@ -8819,6 +9100,23 @@ "node": ">=8.0" } }, + "node_modules/to-valid-identifier": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/to-valid-identifier/-/to-valid-identifier-1.0.0.tgz", + "integrity": "sha512-41wJyvKep3yT2tyPqX/4blcfybknGB4D+oETKLs7Q76UiPqRpUJK3hr1nxelyYO0PHKVzJwlu0aCeEAsGI6rpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@sindresorhus/base62": "^1.0.0", + "reserved-identifiers": "^1.0.0" + }, + "engines": { + "node": ">=20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/toad-cache": { "version": "3.7.0", "resolved": "https://registry.npmjs.org/toad-cache/-/toad-cache-3.7.0.tgz", diff --git a/package.json b/package.json index 7a607760ed..4fff128e56 100644 --- a/package.json +++ b/package.json @@ -72,6 +72,7 @@ "eslint-plugin-filenames": "^1.3.2", "eslint-plugin-github": "^5.1.8", "eslint-plugin-import": "2.29.1", + "eslint-plugin-jsdoc": "^61.1.12", "eslint-plugin-no-async-foreach": "^0.1.1", "glob": "^11.0.3", "nock": "^14.0.10", diff --git a/src/codeql.ts b/src/codeql.ts index 97c3a1fd2f..bc1d00401f 100644 --- a/src/codeql.ts +++ b/src/codeql.ts @@ -1071,8 +1071,11 @@ export async function getCodeQLForCmd( /** * Gets the options for `path` of `options` as an array of extra option strings. * - * @param ignoringOptions Options that should be ignored, for example because they have already - * been passed and it is an error to pass them more than once. + * @param paths The CLI command components to get extra options for. + * @param args Additional arguments for this function. + * @param args.ignoringOptions + * Options that should be ignored, for example because they have already + * been passed and it is an error to pass them more than once. */ function getExtraOptionsFromEnv( paths: string[], @@ -1154,8 +1157,9 @@ async function runCli( /** * Writes the code scanning configuration that is to be used by the CLI. * - * @param codeql The CodeQL object to use. - * @param config The CodeQL Action state to use. + * @param config The CodeQL Action state to write. + * @param logger The logger to use. + * * @returns The path to the generated user configuration file. */ async function writeCodeScanningConfigFile( diff --git a/src/config-utils.ts b/src/config-utils.ts index 5ae11ea3ae..0f152a633d 100644 --- a/src/config-utils.ts +++ b/src/config-utils.ts @@ -1033,7 +1033,6 @@ export async function getConfig( * pack. * * @param registriesInput The value of the `registries` input. - * @param codeQL a codeQL object, used only for checking the version of CodeQL. * @param tempDir a temporary directory to store the generated qlconfig.yml file. * @param logger a logger object. * @returns The path to the generated `qlconfig.yml` file and the auth tokens to diff --git a/src/config/db-config.ts b/src/config/db-config.ts index 3293535f39..a84a20f247 100644 --- a/src/config/db-config.ts +++ b/src/config/db-config.ts @@ -160,7 +160,6 @@ const PACK_IDENTIFIER_PATTERN = (function () { * Version and path are optional. * * @param packStr the package specification to verify. - * @param configFile Config file to use for error reporting */ export function parsePacksSpecification(packStr: string): Pack { if (typeof packStr !== "string") { diff --git a/src/status-report.ts b/src/status-report.ts index d43d276bfe..1ad53ac321 100644 --- a/src/status-report.ts +++ b/src/status-report.ts @@ -252,7 +252,7 @@ export interface EventReport { * * @param actionName The name of the action, e.g. 'init', 'finish', 'upload-sarif' * @param status The status. Must be 'success', 'failure', or 'starting' - * @param startedAt The time this action started executing. + * @param actionStartedAt The time this action started executing. * @param cause Cause of failure (only supply if status is 'failure') * @param exception Exception (only supply if status is 'failure') * @returns undefined if an exception was thrown. diff --git a/src/upload-lib.ts b/src/upload-lib.ts index 30f00b8721..f032b83272 100644 --- a/src/upload-lib.ts +++ b/src/upload-lib.ts @@ -738,7 +738,7 @@ export async function postProcessSarifFiles( * @param logger The logger to use. * @param pathInput The input provided for `post-processed-sarif-path`. * @param uploadTarget The upload target. - * @param processingResults The results of post-processing SARIF files. + * @param postProcessingResults The results of post-processing SARIF files. */ export async function writePostProcessedFiles( logger: Logger,