From 5d3b3f4963af2e23b71c11e586598f1755f65a53 Mon Sep 17 00:00:00 2001
From: yassin-kammoun-sonarsource <yassin.kammoun@sonarsource.com>
Date: Fri, 9 Feb 2024 11:05:38 +0100
Subject: [PATCH 1/3] Drop Node.js 14 support

---
 .cirrus.yml  | 3 ---
 README.md    | 2 +-
 package.json | 2 +-
 3 files changed, 2 insertions(+), 5 deletions(-)

diff --git a/.cirrus.yml b/.cirrus.yml
index b2bc1dbe..b980aa02 100644
--- a/.cirrus.yml
+++ b/.cirrus.yml
@@ -51,9 +51,6 @@ qa_task:
     - build
   eks_container:
     matrix:
-      - docker_arguments:
-          NODE_VERSION: 14
-          CIRRUS_AWS_ACCOUNT: ${CIRRUS_AWS_ACCOUNT}
       - docker_arguments:
           NODE_VERSION: 16
           CIRRUS_AWS_ACCOUNT: ${CIRRUS_AWS_ACCOUNT}
diff --git a/README.md b/README.md
index 74c1f126..be94068b 100644
--- a/README.md
+++ b/README.md
@@ -81,7 +81,7 @@ Code Smells, or maintainability issues, are raised for places of code which migh
 
 ## Prerequisites
 
-- Node.js (>=14.x).
+- Node.js (>=16.x).
 - ESLint 5.x, 6.x, 7.x or 8.x (peer dependency for the plugin).
 
 ## Usage
diff --git a/package.json b/package.json
index 26b71e90..941c3280 100644
--- a/package.json
+++ b/package.json
@@ -16,7 +16,7 @@
   },
   "homepage": "https://github.com/SonarSource/eslint-plugin-sonarjs",
   "engines": {
-    "node": ">=14"
+    "node": ">=16"
   },
   "scripts": {
     "build": "rimraf lib && tsc -d -p tsconfig.json",

From e929a3bb55c46355ef522db5942b2f6bbe864e89 Mon Sep 17 00:00:00 2001
From: yassin-kammoun-sonarsource <yassin.kammoun@sonarsource.com>
Date: Fri, 9 Feb 2024 11:06:39 +0100
Subject: [PATCH 2/3] Test against Node.js 20 on CI

---
 .cirrus.yml | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/.cirrus.yml b/.cirrus.yml
index b980aa02..16a15cab 100644
--- a/.cirrus.yml
+++ b/.cirrus.yml
@@ -57,6 +57,9 @@ qa_task:
       - docker_arguments:
           NODE_VERSION: 18
           CIRRUS_AWS_ACCOUNT: ${CIRRUS_AWS_ACCOUNT}
+      - docker_arguments:
+          NODE_VERSION: 20
+          CIRRUS_AWS_ACCOUNT: ${CIRRUS_AWS_ACCOUNT}
     <<: *CONTAINER_DEFINITION
     cpu: 3
     memory: 8G

From b51d5457389293dbcc10a13081068b4a56b61b64 Mon Sep 17 00:00:00 2001
From: yassin-kammoun-sonarsource <yassin.kammoun@sonarsource.com>
Date: Fri, 9 Feb 2024 11:11:49 +0100
Subject: [PATCH 3/3] Fix Node.js downloading source

---
 .cirrus/nodejs.Dockerfile | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/.cirrus/nodejs.Dockerfile b/.cirrus/nodejs.Dockerfile
index a4610a9d..2baf4579 100644
--- a/.cirrus/nodejs.Dockerfile
+++ b/.cirrus/nodejs.Dockerfile
@@ -6,7 +6,8 @@ USER root
 ARG NODE_VERSION=18
 ARG SCANNER_VERSION=5.0.1.3006
 
-RUN apt-get update && apt-get install -y nodejs=${NODE_VERSION}.*
+RUN curl -fsSL https://deb.nodesource.com/setup_${NODE_VERSION}.x | bash - \
+    && apt-get install -y nodejs=${NODE_VERSION}.*
 
 RUN curl "https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-${SCANNER_VERSION}.zip" -o /tmp/sonar-scanner.zip \
   && unzip -d /opt /tmp/sonar-scanner.zip \