This is an automated email from the ASF dual-hosted git repository. ocket8888 pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/trafficcontrol.git
The following commit(s) were added to refs/heads/master by this push: new a01d4af231 TPv2: Update required node version to >= 18, eslint-plugin-jsdoc (#7933) a01d4af231 is described below commit a01d4af23143f2d4ff1946c5cda1965be7632adc Author: The Anh Nguyen <ntheanh...@gmail.com> AuthorDate: Wed Feb 7 22:11:48 2024 +0700 TPv2: Update required node version to >= 18, eslint-plugin-jsdoc (#7933) * fix: update required node version to >= 18, eslint-plugin-jsdoc * fix: turn off eslint jsdoc rules * enable eslint MethodDefinition * revert: eslint jsdoc * chore: config eslint jsdoc/tag-lines --- experimental/traffic-portal/.eslintrc.json | 2 +- .../traffic-portal/build/traffic_portal_v2.spec | 2 +- experimental/traffic-portal/package-lock.json | 143 +++++++++++++++------ experimental/traffic-portal/package.json | 4 +- .../optional/traffic_portal_v2/Dockerfile | 2 +- .../optional/traffic_portal_v2_e2e_test/Dockerfile | 2 +- 6 files changed, 113 insertions(+), 42 deletions(-) diff --git a/experimental/traffic-portal/.eslintrc.json b/experimental/traffic-portal/.eslintrc.json index 620d628881..c4b556769f 100644 --- a/experimental/traffic-portal/.eslintrc.json +++ b/experimental/traffic-portal/.eslintrc.json @@ -88,7 +88,7 @@ ], "id-match": "error", "import/no-deprecated": "warn", - "jsdoc/newline-after-description": "error", + "jsdoc/tag-lines": ["error", "any", {"startLines":1}], "max-classes-per-file": "off", "no-caller": "error", "no-cond-assign": "error", diff --git a/experimental/traffic-portal/build/traffic_portal_v2.spec b/experimental/traffic-portal/build/traffic_portal_v2.spec index 6fe743e796..0aaa1d6615 100644 --- a/experimental/traffic-portal/build/traffic_portal_v2.spec +++ b/experimental/traffic-portal/build/traffic_portal_v2.spec @@ -25,7 +25,7 @@ License: Apache License, Version 2.0 URL: https://github.com/apache/trafficcontrol/ Source: %{_sourcedir}/traffic-portal-%{traffic_control_version}.tgz AutoReqProv: no -Requires: nodejs >= 2:16.14.0 +Requires: nodejs >= 2:18.0.0 Requires(pre): /usr/sbin/useradd, /usr/bin/getent %define traffic_portal_home /opt/traffic-portal diff --git a/experimental/traffic-portal/package-lock.json b/experimental/traffic-portal/package-lock.json index f87f9bbbde..0eef458c32 100644 --- a/experimental/traffic-portal/package-lock.json +++ b/experimental/traffic-portal/package-lock.json @@ -60,7 +60,7 @@ "cypress": "^13.6.2", "eslint": "^8.39.0", "eslint-plugin-import": "^2.25.3", - "eslint-plugin-jsdoc": "^37.0.3", + "eslint-plugin-jsdoc": "^48.0.5", "eslint-plugin-prefer-arrow": "^1.2.3", "geckodriver": "^3.2.0", "jasmine-core": "^3.10.1", @@ -74,7 +74,7 @@ "typescript": "^4.9.5" }, "engines": { - "node": ">=16.14.0" + "node": ">=18.0.0" }, "optionalDependencies": { "@compodoc/compodoc": "^1.1.18" @@ -5215,17 +5215,17 @@ } }, "node_modules/@es-joy/jsdoccomment": { - "version": "0.20.1", - "resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.20.1.tgz", - "integrity": "sha512-oeJK41dcdqkvdZy/HctKklJNkt/jh+av3PZARrZEl+fs/8HaHeeYoAvEwOV0u5I6bArTF17JEsTZMY359e/nfQ==", + "version": "0.41.0", + "resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.41.0.tgz", + "integrity": "sha512-aKUhyn1QI5Ksbqcr3fFJj16p99QdjUxXAEuFst1Z47DRyoiMwivIH9MV/ARcJOCXVjPfjITciej8ZD2O/6qUmw==", "dev": true, "dependencies": { - "comment-parser": "1.3.0", - "esquery": "^1.4.0", - "jsdoc-type-pratt-parser": "~2.2.3" + "comment-parser": "1.4.1", + "esquery": "^1.5.0", + "jsdoc-type-pratt-parser": "~4.0.0" }, "engines": { - "node": "^12 || ^14 || ^16 || ^17" + "node": ">=16" } }, "node_modules/@esbuild/linux-x64": { @@ -8634,6 +8634,15 @@ } ] }, + "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, + "engines": { + "node": ">=14" + } + }, "node_modules/are-we-there-yet": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", @@ -10044,9 +10053,9 @@ } }, "node_modules/comment-parser": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-1.3.0.tgz", - "integrity": "sha512-hRpmWIKgzd81vn0ydoWoyPoALEOnF4wt8yKD35Ib1D6XC2siLiYaiqfGkYrunuKdsXGwpBpHU3+9r+RVw2NZfA==", + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-1.4.1.tgz", + "integrity": "sha512-buhp5kePrmda3vhc5B9t7pUQXAb2Tnd0qgpkIhPhkHXxJpiPJ11H0ZEU0oBpJ2QztSbzG/ZxMj/CHsYJqRHmyg==", "dev": true, "engines": { "node": ">= 12.0.0" @@ -12097,25 +12106,26 @@ } }, "node_modules/eslint-plugin-jsdoc": { - "version": "37.9.7", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-37.9.7.tgz", - "integrity": "sha512-8alON8yYcStY94o0HycU2zkLKQdcS+qhhOUNQpfONHHwvI99afbmfpYuPqf6PbLz5pLZldG3Te5I0RbAiTN42g==", + "version": "48.0.5", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-48.0.5.tgz", + "integrity": "sha512-9ZYb3W6r6nZ3jc9vmJ2pZoINLhk9iI6rEFTfU7sTRAzFUWh00SRI9SRZ+IgDoiIPTp2tOUXs0vDOApdIlTnFKA==", "dev": true, "dependencies": { - "@es-joy/jsdoccomment": "~0.20.1", - "comment-parser": "1.3.0", - "debug": "^4.3.3", + "@es-joy/jsdoccomment": "~0.41.0", + "are-docs-informative": "^0.0.2", + "comment-parser": "1.4.1", + "debug": "^4.3.4", "escape-string-regexp": "^4.0.0", - "esquery": "^1.4.0", - "regextras": "^0.8.0", - "semver": "^7.3.5", - "spdx-expression-parse": "^3.0.1" + "esquery": "^1.5.0", + "is-builtin-module": "^3.2.1", + "semver": "^7.5.4", + "spdx-expression-parse": "^4.0.0" }, "engines": { - "node": "^12 || ^14 || ^16 || ^17" + "node": ">=18" }, "peerDependencies": { - "eslint": "^7.0.0 || ^8.0.0" + "eslint": "^7.0.0 || ^8.0.0 || ^9.0.0" } }, "node_modules/eslint-plugin-jsdoc/node_modules/escape-string-regexp": { @@ -12130,6 +12140,49 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/eslint-plugin-jsdoc/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/eslint-plugin-jsdoc/node_modules/semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/eslint-plugin-jsdoc/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, + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/eslint-plugin-jsdoc/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, "node_modules/eslint-plugin-prefer-arrow": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/eslint-plugin-prefer-arrow/-/eslint-plugin-prefer-arrow-1.2.3.tgz", @@ -14394,6 +14447,33 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-builtin-module": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.2.1.tgz", + "integrity": "sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==", + "dev": true, + "dependencies": { + "builtin-modules": "^3.3.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-builtin-module/node_modules/builtin-modules": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", + "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", + "dev": true, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/is-callable": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", @@ -15091,9 +15171,9 @@ "dev": true }, "node_modules/jsdoc-type-pratt-parser": { - "version": "2.2.5", - "resolved": "https://registry.npmjs.org/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-2.2.5.tgz", - "integrity": "sha512-2a6eRxSxp1BW040hFvaJxhsCMI9lT8QB8t14t+NY5tC5rckIR0U9cr2tjOeaFirmEOy6MHvmJnY7zTBHq431Lw==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-4.0.0.tgz", + "integrity": "sha512-YtOli5Cmzy3q4dP26GraSOeAhqecewG04hoO8DY56CH4KJ9Fvv5qKWUCCo3HZob7esJQHCv6/+bnTy72xZZaVQ==", "dev": true, "engines": { "node": ">=12.0.0" @@ -18702,15 +18782,6 @@ "node": ">=4" } }, - "node_modules/regextras": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/regextras/-/regextras-0.8.0.tgz", - "integrity": "sha512-k519uI04Z3SaY0fLX843MRXnDeG2+vHOFsyhiPZvNLe7r8rD2YNRjq4BQLZZ0oAr2NrtvZlICsXysGNFPGa3CQ==", - "dev": true, - "engines": { - "node": ">=0.1.14" - } - }, "node_modules/regjsparser": { "version": "0.9.1", "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", diff --git a/experimental/traffic-portal/package.json b/experimental/traffic-portal/package.json index 340dd19185..01cabcd752 100644 --- a/experimental/traffic-portal/package.json +++ b/experimental/traffic-portal/package.json @@ -24,7 +24,7 @@ "Traffic Portal" ], "engines": { - "node": ">=16.14.0" + "node": ">=18.0.0" }, "engineStrict": true, "scripts": { @@ -101,7 +101,7 @@ "cypress": "^13.6.2", "eslint": "^8.39.0", "eslint-plugin-import": "^2.25.3", - "eslint-plugin-jsdoc": "^37.0.3", + "eslint-plugin-jsdoc": "^48.0.5", "eslint-plugin-prefer-arrow": "^1.2.3", "geckodriver": "^3.2.0", "jasmine-core": "^3.10.1", diff --git a/infrastructure/cdn-in-a-box/optional/traffic_portal_v2/Dockerfile b/infrastructure/cdn-in-a-box/optional/traffic_portal_v2/Dockerfile index fc16109fc5..7c366c6948 100644 --- a/infrastructure/cdn-in-a-box/optional/traffic_portal_v2/Dockerfile +++ b/infrastructure/cdn-in-a-box/optional/traffic_portal_v2/Dockerfile @@ -31,7 +31,7 @@ RUN if [[ "${RHEL_VERSION%%.*}" -eq 7 ]]; then \ fi RUN set -o pipefail && \ - curl -sLf https://rpm.nodesource.com/setup_16.x | bash + curl -sLf https://rpm.nodesource.com/setup_18.x | bash # Override TRAFFIC_PORTAL_RPM arg to use a different one using --build-arg TRAFFIC_PORTAL_RPM=... Can be local file or http://... ARG TRAFFIC_PORTAL_RPM=traffic_portal_v2/traffic_portal_v2.rpm diff --git a/infrastructure/cdn-in-a-box/optional/traffic_portal_v2_e2e_test/Dockerfile b/infrastructure/cdn-in-a-box/optional/traffic_portal_v2_e2e_test/Dockerfile index 472dfdd76d..fd77d5f230 100644 --- a/infrastructure/cdn-in-a-box/optional/traffic_portal_v2_e2e_test/Dockerfile +++ b/infrastructure/cdn-in-a-box/optional/traffic_portal_v2_e2e_test/Dockerfile @@ -53,7 +53,7 @@ RUN wget https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64. FROM os-dependencies AS node-dependencies # Download and install node RUN set -o pipefail; \ - curl -sLf https://rpm.nodesource.com/setup_16.x | bash + curl -sLf https://rpm.nodesource.com/setup_18.x | bash RUN dnf -y install nodejs || ( \ # rpm --rebuilddb after installing the nodejs is necessary on docker 20.10.8, # build 3967b7d as of 2023-01-19, though that was not always the case for that