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

Reply via email to