diff --git a/.gitignore b/.gitignore
index e03877e681afdc9fb670be5b64cb71007c801f3f..ef05b8c359c55cf4de00224a476c92f0a6fb1d7d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -613,3 +613,5 @@ $RECYCLE.BIN/
 
 lib
 junit.xml
+
+.yarn/
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 72598e0373d146b85d2ff48316e0ec31350b9dff..6048962f5ad60f09810e539feaca6de515e2cfef 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,4 +1,4 @@
-image: node:18.14.0
+image: node:18.15.0
 
 stages:
   - test
@@ -32,10 +32,11 @@ proxy:
   - if [[ "$behind_proxy" == true ]]; then
   -   npm config set proxy $http_proxy
   -   npm config set https-proxy $https_proxy
+  -   yarn config set -H httpProxy $http_proxy
+  -   yarn config set -H httpsProxy $https_proxy
   - fi
   # install deps
-  - yarn install --frozen-lockfile --no-progress --cache-folder .yarn
-
+  - yarn install --immutable
 
 # === Job: Unit Tests ===
 # Description: this job runs the unit tests
diff --git a/.yarnrc.yml b/.yarnrc.yml
new file mode 100644
index 0000000000000000000000000000000000000000..3186f3f0795ab612d5508593672dc9ad94bccca0
--- /dev/null
+++ b/.yarnrc.yml
@@ -0,0 +1 @@
+nodeLinker: node-modules
diff --git a/package.json b/package.json
index 2308c16d89e8ae92f027860483e2658da1ed21f9..a6a2098796ccfbdecd9863c2e2bc498f7f1498b1 100644
--- a/package.json
+++ b/package.json
@@ -50,5 +50,6 @@
     "!**/*.json",
     "LICENSE",
     "README.md"
-  ]
+  ],
+  "packageManager": "yarn@3.5.0"
 }
diff --git a/yarn.lock b/yarn.lock
index 3f05fdb7636314727d3becc8a81268d63912a12a..db9baa37f4df3e0593ee1c40d844f1a5a9af8de4 100644
Binary files a/yarn.lock and b/yarn.lock differ