diff --git a/integration/caching_test.js b/integration/caching_test.js
index 3c82d5d34c5254739d46b2a0deac976bf0c36ed4..4a581bc1913581e2425cc0ac0beb5217765c4087 100644
--- a/integration/caching_test.js
+++ b/integration/caching_test.js
@@ -8,7 +8,7 @@ describe('File caching service', function () {
   let app
 
   beforeEach(async function () {
-    mockConfig({ baseUrls: ['http://ui-server/'] })
+    await mockConfig({ baseUrls: ['http://ui-server/'] })
     mockFetch({
       'http://ui-server': {
         '/manifest.json': generateSimpleViteManifest({
diff --git a/integration/config_test.js b/integration/config_test.js
index 750b6314ae4d094bb62b462bc66399e886e0c1a0..f725102358abcf44db8f8213565addf6d458a382 100644
--- a/integration/config_test.js
+++ b/integration/config_test.js
@@ -10,7 +10,7 @@ describe('Configuration', function () {
   beforeEach(async function () {
     // need to set the redis-prefix. Otherwise, the bull workers will interfere
     process.env.REDIS_PREFIX = Math.random().toString()
-    mockConfig(config = { baseUrls: ['http://ui-server/'] })
+    await mockConfig(config = { baseUrls: ['http://ui-server/'] })
     mockFetch({
       'http://ui-server': {
         '/manifest.json': generateSimpleViteManifest({
diff --git a/integration/update-version_test.js b/integration/update-version_test.js
index bb92cc8a937578d33216fc9d2b1888920237f51c..4caa507da96dca17e6082456e3c87620c99baebe 100644
--- a/integration/update-version_test.js
+++ b/integration/update-version_test.js
@@ -9,7 +9,7 @@ describe('Updates the version', function () {
   beforeEach(async function () {
     // need to set the redis-prefix. Otherwise, the bull workers will interfere
     process.env.REDIS_PREFIX = Math.random().toString()
-    mockConfig({ baseUrls: ['http://ui-server/'] })
+    await mockConfig({ baseUrls: ['http://ui-server/'] })
     mockFetch({
       'http://ui-server': {
         '/manifest.json': generateSimpleViteManifest({
@@ -101,7 +101,7 @@ describe('Updates the version', function () {
       td.reset()
       // need to set the redis-prefix. Otherwise, the bull workers will interfere
       process.env.REDIS_PREFIX = Math.random().toString()
-      mockConfig({ baseUrls: ['http://ui-server/'] })
+      await mockConfig({ baseUrls: ['http://ui-server/'] })
       mockFetch({
         'http://ui-server': {
           '/manifest.json': generateSimpleViteManifest({
diff --git a/package.json b/package.json
index 9060e02c949a5e14b3429e1bdbdfd85906d5c95a..7062962db6e456f9f34592a1dcd85052ebbc4122 100644
--- a/package.json
+++ b/package.json
@@ -49,7 +49,7 @@
     "testdouble": "^3.18.0"
   },
   "resolutions": {
-    "json5": "^2.2.0"
+    "json5": "^2.2.2"
   },
   "lint-staged": {
     "*.js": "eslint --cache --fix"
diff --git a/spec/app_root_test.js b/spec/app_root_test.js
index b6a9f74bf90d723332e6c30007a6331c03627c41..dd6781a1f2400873bcfddb45d73abb02ddca2ffe 100644
--- a/spec/app_root_test.js
+++ b/spec/app_root_test.js
@@ -8,8 +8,8 @@ describe('With different app root', function () {
 
   beforeEach(async function () {
     let count = 0
-    mockConfig({ baseUrls: ['http://ui-server/'] })
-    mockRedis()
+    await mockConfig({ baseUrls: ['http://ui-server/'] })
+    await mockRedis()
     mockFetch({
       'http://ui-server': {
         '/manifest.json': generateSimpleViteManifest({
diff --git a/spec/file-depencies_test.js b/spec/file-depencies_test.js
index 31143a1e872e20511ddaf67aba283feb9352f0de..bb1a6c624bace2380f2fc1f34f8ca8c0cf2d569d 100644
--- a/spec/file-depencies_test.js
+++ b/spec/file-depencies_test.js
@@ -8,8 +8,8 @@ describe('JS files with dependencies contain events', function () {
   let mockFetchConfig
 
   beforeEach(async function () {
-    mockConfig({ baseUrls: ['http://ui-server/'] })
-    mockRedis()
+    await mockConfig({ baseUrls: ['http://ui-server/'] })
+    await mockRedis()
     mockFetch(mockFetchConfig = {
       'http://ui-server': {
         '/manifest.json': generateSimpleViteManifest({
diff --git a/spec/file_caching_test.js b/spec/file_caching_test.js
index 0523bcc37c6698e7ee8e5fda4ef9131271032c17..7579aee6e5031b65eacfbf073f841226fd7468e3 100644
--- a/spec/file_caching_test.js
+++ b/spec/file_caching_test.js
@@ -16,8 +16,8 @@ describe('File caching service', function () {
 
   beforeEach(async function () {
     let count = 0
-    mockConfig({ baseUrls: ['http://ui-server/'] })
-    redis = mockRedis()
+    await mockConfig({ baseUrls: ['http://ui-server/'] })
+    redis = await mockRedis()
     mockFetch({
       'http://ui-server': {
         '/manifest.json': generateSimpleViteManifest({
@@ -201,7 +201,7 @@ describe('File caching service', function () {
 
   it('requests known file only from one server', async function () {
     let spy1, spy2
-    mockConfig({ baseUrls: ['http://ui-server1/', 'http://ui-server2/'] })
+    await mockConfig({ baseUrls: ['http://ui-server1/', 'http://ui-server2/'] })
     // we have example.js in both files. the first one will be overwritten and therefore not be called
     mockFetch({
       'http://ui-server1': {
diff --git a/spec/headers_test.js b/spec/headers_test.js
index abc4c72f488d975d67d339b9bdf800473284b445..400d1fd0a3f4db1d1c388164eef1bf2353caf0f8 100644
--- a/spec/headers_test.js
+++ b/spec/headers_test.js
@@ -7,7 +7,7 @@ describe('Responses contain custom headers', function () {
   let app
 
   before(async function () {
-    mockConfig({ baseUrls: ['http://ui-server/'] })
+    await mockConfig({ baseUrls: ['http://ui-server/'] })
     mockFetch({
       'http://ui-server': {
         '/manifest.json': generateSimpleViteManifest({
@@ -25,8 +25,8 @@ describe('Responses contain custom headers', function () {
         '/index.html': () => new Response('<html><head></head><body>it\'s me</body></html>', { headers: { 'content-type': 'text/html' } }),
         '/main.css': () => new Response('.foo { color: #000; }', { headers: { 'content-type': 'text/css' } })
       }
-    })
-    await mockRedis().isReady()
+    });
+    (await mockRedis()).isReady()
     app = await injectApp()
   })
 
@@ -63,8 +63,8 @@ describe('Responses contain custom headers', function () {
       td.reset()
       await new RedisMock().flushdb()
 
-      mockConfig({ baseUrls: ['http://ui-server/'] })
-      mockRedis()
+      await mockConfig({ baseUrls: ['http://ui-server/'] })
+      await mockRedis()
       mockFetch({
         'http://ui-server': {
           '/manifest.json': generateSimpleViteManifest({
@@ -89,8 +89,8 @@ describe('Responses contain custom headers', function () {
       td.reset()
       await new RedisMock().flushdb()
 
-      mockConfig({ baseUrls: ['http://ui-server/'] })
-      mockRedis()
+      await mockConfig({ baseUrls: ['http://ui-server/'] })
+      await mockRedis()
       mockFetch({
         'http://ui-server': {
           '/manifest.json': generateSimpleViteManifest({
@@ -116,8 +116,8 @@ describe('Responses contain custom headers', function () {
       td.reset()
       await new RedisMock().flushdb()
 
-      mockConfig({ baseUrls: ['http://ui-server/'] })
-      mockRedis()
+      await mockConfig({ baseUrls: ['http://ui-server/'] })
+      await mockRedis()
       mockFetch({
         'http://ui-server': {
           '/manifest.json': generateSimpleViteManifest({
diff --git a/spec/meta_test.js b/spec/meta_test.js
index e9a243796b65722a8f598b473dbb928f0cd51814..cf1a21351670625c66fa4b29f8e1b602d10897d9 100644
--- a/spec/meta_test.js
+++ b/spec/meta_test.js
@@ -9,8 +9,8 @@ describe('Responses contain custom headers', function () {
   let app
 
   beforeEach(async function () {
-    mockConfig(config = { baseUrls: ['http://ui-server/'] })
-    mockRedis()
+    await mockConfig(config = { baseUrls: ['http://ui-server/'] })
+    await mockRedis()
     mockFetch(fetchConfig = {
       'http://ui-server': {
         '/manifest.json': generateSimpleViteManifest({
@@ -90,8 +90,8 @@ describe('Responses contain custom headers', function () {
   describe('without redis disabled', function () {
     beforeEach(async function () {
       td.reset()
-      mockConfig({ baseUrls: ['http://ui-server/'] })
-      mockRedis()
+      await mockConfig({ baseUrls: ['http://ui-server/'] })
+      await mockRedis()
       mockFetch(fetchConfig = {
         'http://ui-server': {
           '/manifest.json': generateSimpleViteManifest({
diff --git a/spec/pwa_test.js b/spec/pwa_test.js
index 1fedfbe1fbb0da5bee520ab67dc97bcd920b2c82..f4db7df4f46770c400868cd382fff8a6d24387a9 100644
--- a/spec/pwa_test.js
+++ b/spec/pwa_test.js
@@ -5,8 +5,8 @@ import { injectApp, mockConfig, mockFetch, mockRedis } from './util.js'
 describe('Service delivers a generated web-manifest', function () {
   let app
   before(async function () {
-    mockConfig({ urls: ['http://ui-server/'] })
-    mockRedis()
+    await mockConfig({ urls: ['http://ui-server/'] })
+    await mockRedis()
     app = await injectApp()
   })
 
diff --git a/spec/redirect_test.js b/spec/redirect_test.js
index 0e20fbcb8281ca4c872a0330241a2d1f7ffa687e..81dcf98d43242c7d4cf066b3314817e0bd93ca49 100644
--- a/spec/redirect_test.js
+++ b/spec/redirect_test.js
@@ -7,8 +7,8 @@ describe('Redirects', function () {
   let app
 
   before(async function () {
-    mockConfig({ baseUrls: ['http://ui-server/'] })
-    mockRedis()
+    await mockConfig({ baseUrls: ['http://ui-server/'] })
+    await mockRedis()
     mockFetch({
       'http://ui-server': {
         '/manifest.json': generateSimpleViteManifest({ 'example.js': 'test' }),
diff --git a/spec/redis_test.js b/spec/redis_test.js
index 7af4f677be9ea91aa6b48042fdbe2c320dd549ad..d24dee8e050d318bffa06ff04f6abc75ad52cc48 100644
--- a/spec/redis_test.js
+++ b/spec/redis_test.js
@@ -11,8 +11,8 @@ describe('Redis', function () {
   let spy
 
   beforeEach(async function () {
-    mockConfig({ baseUrls: ['http://ui-server/'] })
-    mockRedis({}, false)
+    await mockConfig({ baseUrls: ['http://ui-server/'] })
+    await mockRedis({}, false)
     mockFetch({
       'http://ui-server': {
         '/manifest.json': generateSimpleViteManifest({}),
diff --git a/spec/salt_test.js b/spec/salt_test.js
index 88fbe750486e81b2ffd2dec4aef85becc9f32327..a65891949c347c38644d9d6af9a718b8b772b7c2 100644
--- a/spec/salt_test.js
+++ b/spec/salt_test.js
@@ -8,8 +8,8 @@ describe('Salt', function () {
   let config
 
   beforeEach(async function () {
-    mockConfig(config = { baseUrls: ['http://ui-server/'] })
-    mockRedis()
+    await mockConfig(config = { baseUrls: ['http://ui-server/'] })
+    await mockRedis()
     mockFetch({
       'http://ui-server': {
         '/manifest.json': generateSimpleViteManifest({ 'example.js': 'test' }),
diff --git a/spec/server_test.js b/spec/server_test.js
index 0983bae48a521f3a3542fcb3ceb520bf4d9094b6..aad84094cf255692d48a0ad5393e0647b2977b05 100644
--- a/spec/server_test.js
+++ b/spec/server_test.js
@@ -8,8 +8,8 @@ describe('UI Middleware', function () {
   let fetchConfig
 
   beforeEach(async function () {
-    mockConfig({ baseUrls: ['http://ui-server/'] })
-    mockRedis()
+    await mockConfig({ baseUrls: ['http://ui-server/'] })
+    await mockRedis()
     mockFetch(fetchConfig = {
       'http://ui-server': {
         '/manifest.json': generateSimpleViteManifest({ 'example.js': 'test' }),
@@ -55,7 +55,7 @@ describe('UI Middleware', function () {
 
   describe('multiple configurations', function () {
     beforeEach(async function () {
-      mockConfig({ baseUrls: ['http://ui-server/', 'http://ui-server2/'] })
+      await mockConfig({ baseUrls: ['http://ui-server/', 'http://ui-server2/'] })
       fetchConfig['http://ui-server2'] = {
         '/manifest.json': generateSimpleViteManifest({ 'example2.js': 'thing' }),
         '/example2.js': ''
diff --git a/spec/util.js b/spec/util.js
index 2341975b6530b2ce4f95d20fcf340b099026de96..80715f7f4d3e2dd1b840f1e0c1e2498e43b6d325 100644
--- a/spec/util.js
+++ b/spec/util.js
@@ -28,7 +28,7 @@ export function generateSimpleViteManifest (mapping) {
 }
 
 export function mockConfig (obj = {}) {
-  td.replaceEsm('fs/promises', {}, {
+  return td.replaceEsm('fs/promises', {}, {
     readFile () {
       return yaml.dump(obj)
     }
@@ -53,7 +53,7 @@ export function mockFetch (servers = {}) {
   })
 }
 
-export function mockRedis (data = {}, isEnabled = true) {
+export async function mockRedis (data = {}, isEnabled = true) {
   const mock = {
     isReady () { return Promise.resolve() },
     isEnabled () { return isEnabled },
@@ -61,7 +61,7 @@ export function mockRedis (data = {}, isEnabled = true) {
     pubClient: new RedisMock(),
     subClient: new RedisMock()
   }
-  td.replaceEsm('../src/redis.js', mock)
+  await td.replaceEsm('../src/redis.js', mock)
   return mock
 }
 
diff --git a/spec/version_mismatches_test.js b/spec/version_mismatches_test.js
index 5b4e0a8f6ed2706015b74871ec4973da56c6c9e9..0f3bfbac58f6305678f56ce245cfb3a01f574304 100644
--- a/spec/version_mismatches_test.js
+++ b/spec/version_mismatches_test.js
@@ -7,8 +7,8 @@ describe('version mismatches', function () {
   let app
 
   beforeEach(async function () {
-    mockConfig({ baseUrls: ['http://ui-server/'] })
-    mockRedis()
+    await mockConfig({ baseUrls: ['http://ui-server/'] })
+    await mockRedis()
     mockFetch({
       'http://ui-server': {
         '/manifest.json': generateSimpleViteManifest({
diff --git a/yarn.lock b/yarn.lock
index 6af743865e9475863d62c197caa3cd46c36c43be..6ad2b6e230e9470456fbfd322d4961153e9e8c89 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -10,18 +10,18 @@
     eslint-visitor-keys "^3.3.0"
 
 "@eslint-community/regexpp@^4.4.0":
-  version "4.5.0"
-  resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.5.0.tgz#f6f729b02feee2c749f57e334b7a1b5f40a81724"
-  integrity sha512-vITaYzIcNmjn5tF5uxcZ/ft7/RXGrMUIS9HalWckEOF6ESiwXKoMzAQf2UW0aVd6rnOeExTJVd5hmWXucBKGXQ==
+  version "4.5.1"
+  resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.5.1.tgz#cdd35dce4fa1a89a4fd42b1599eb35b3af408884"
+  integrity sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ==
 
-"@eslint/eslintrc@^2.0.2":
-  version "2.0.2"
-  resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.0.2.tgz#01575e38707add677cf73ca1589abba8da899a02"
-  integrity sha512-3W4f5tDUra+pA+FzgugqL2pRimUTDJWKr7BINqOpkZrC0uYI0NIc0/JFgBROCU07HR6GieA5m3/rsPIhDmCXTQ==
+"@eslint/eslintrc@^2.0.3":
+  version "2.0.3"
+  resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.0.3.tgz#4910db5505f4d503f27774bf356e3704818a0331"
+  integrity sha512-+5gy6OQfk+xx3q0d6jGZZC3f3KzAkXc/IanVxd1is/VIIziRqqt3ongQz0FiTUXqTk0c7aDB3OaFuKnuSoJicQ==
   dependencies:
     ajv "^6.12.4"
     debug "^4.3.2"
-    espree "^9.5.1"
+    espree "^9.5.2"
     globals "^13.19.0"
     ignore "^5.2.0"
     import-fresh "^3.2.1"
@@ -29,10 +29,10 @@
     minimatch "^3.1.2"
     strip-json-comments "^3.1.1"
 
-"@eslint/js@8.38.0":
-  version "8.38.0"
-  resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.38.0.tgz#73a8a0d8aa8a8e6fe270431c5e72ae91b5337892"
-  integrity sha512-IoD2MfUnOV58ghIHCiil01PcohxjbYR/qCxsoC+xNgUwh1EY8jOOrYmu3d3a71+tJJ23uscEV4X2HJWMsPJu4g==
+"@eslint/js@8.40.0":
+  version "8.40.0"
+  resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.40.0.tgz#3ba73359e11f5a7bd3e407f70b3528abfae69cec"
+  integrity sha512-ElyB54bJIhXQYVKjDSvCkPO1iU1tSAeVQJbllWJq1XQSmmA4dgFk8CbiBGpiOPxleE48vDogxCtmMYku4HSVLA==
 
 "@fastify/accept-negotiator@^1.0.0":
   version "1.1.0"
@@ -97,9 +97,9 @@
     helmet "^6.0.0"
 
 "@fastify/send@^2.0.0":
-  version "2.0.1"
-  resolved "https://registry.yarnpkg.com/@fastify/send/-/send-2.0.1.tgz#db10d1401883b4aef41669fcf2ddb4e1bb4630df"
-  integrity sha512-8jdouu0o5d0FMq1+zCKeKXc1tmOQ5tTGYdQP3MpyF9+WWrZT1KCBdh6hvoEYxOm3oJG/akdE9BpehLiJgYRvGw==
+  version "2.1.0"
+  resolved "https://registry.yarnpkg.com/@fastify/send/-/send-2.1.0.tgz#1aa269ccb4b0940a2dadd1f844443b15d8224ea0"
+  integrity sha512-yNYiY6sDkexoJR0D8IDy3aRP3+L4wdqCpvx5WP+VtEU58sn7USmKynBzDQex5X42Zzvw2gNzzYgP90UfWShLFA==
   dependencies:
     "@lukeed/ms" "^2.0.1"
     escape-html "~1.0.3"
@@ -121,9 +121,9 @@
     vary "^1.1.2"
 
 "@fastify/static@^6.0.0":
-  version "6.10.0"
-  resolved "https://registry.yarnpkg.com/@fastify/static/-/static-6.10.0.tgz#cdb6a5ddcc3ea8691c79aad0c846bc986a4bc721"
-  integrity sha512-TGruNm6ZabkQz2oRNoarPnY2BvS9i9DNf8Nn1aDcZp+WjOQRPCq0Wy2ko78yGB5JHytdCWoHpprc128QtLl8hw==
+  version "6.10.1"
+  resolved "https://registry.yarnpkg.com/@fastify/static/-/static-6.10.1.tgz#605e6758b7536089581bb59dbb096d80997327b6"
+  integrity sha512-DNnG+5QenQcTQw37qk0/191STThnN6SbU+2XMpWtpYR3gQUfUvMax14jTT/jqNINNbCkQJaKMnPtpFPKo4/68g==
   dependencies:
     "@fastify/accept-negotiator" "^1.0.0"
     "@fastify/send" "^2.0.0"
@@ -756,14 +756,14 @@ color-name@~1.1.4:
   integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
 
 colorette@^2.0.19:
-  version "2.0.19"
-  resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.19.tgz#cdf044f47ad41a0f4b56b3a0d5b4e6e1a2d5a798"
-  integrity sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==
+  version "2.0.20"
+  resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.20.tgz#9eb793e6833067f7235902fcd3b09917a000a95a"
+  integrity sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==
 
 commander@^10.0.0:
-  version "10.0.0"
-  resolved "https://registry.yarnpkg.com/commander/-/commander-10.0.0.tgz#71797971162cd3cf65f0b9d24eb28f8d303acdf1"
-  integrity sha512-zS5PnTI22FIRM6ylNW8G4Ap0IEOyk62fhLSD0+uHRT9McRCLGpkVNvao4bjimpK/GShynyQkFFxHhwMcETmduA==
+  version "10.0.1"
+  resolved "https://registry.yarnpkg.com/commander/-/commander-10.0.1.tgz#881ee46b4f77d1c1dccc5823433aa39b022cbe06"
+  integrity sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==
 
 concat-map@0.0.1:
   version "0.0.1"
@@ -849,7 +849,7 @@ deepmerge@^4.2.2:
   resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.3.1.tgz#44b5f2147cd3b00d4b56137685966f26fd25dd4a"
   integrity sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==
 
-define-properties@^1.1.3, define-properties@^1.1.4:
+define-properties@^1.1.3, define-properties@^1.1.4, define-properties@^1.2.0:
   version "1.2.0"
   resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.2.0.tgz#52988570670c9eacedd8064f4a990f2405849bd5"
   integrity sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==
@@ -1018,9 +1018,9 @@ eslint-import-resolver-node@^0.3.7:
     resolve "^1.22.1"
 
 eslint-module-utils@^2.7.4:
-  version "2.7.4"
-  resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.7.4.tgz#4f3e41116aaf13a20792261e61d3a2e7e0583974"
-  integrity sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==
+  version "2.8.0"
+  resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz#e439fee65fc33f6bba630ff621efc38ec0375c49"
+  integrity sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==
   dependencies:
     debug "^3.2.7"
 
@@ -1091,10 +1091,10 @@ eslint-plugin-promise@^6.1.1:
   resolved "https://registry.yarnpkg.com/eslint-plugin-promise/-/eslint-plugin-promise-6.1.1.tgz#269a3e2772f62875661220631bd4dafcb4083816"
   integrity sha512-tjqWDwVZQo7UIPMeDReOpUgHCmCiH+ePnVT+5zVapL0uuHnegBUs2smM13CzOs2Xb5+MHMRFTs9v24yjba4Oig==
 
-eslint-scope@^7.1.1:
-  version "7.1.1"
-  resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.1.1.tgz#fff34894c2f65e5226d3041ac480b4513a163642"
-  integrity sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==
+eslint-scope@^7.2.0:
+  version "7.2.0"
+  resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.2.0.tgz#f21ebdafda02352f103634b96dd47d9f81ca117b"
+  integrity sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==
   dependencies:
     esrecurse "^4.3.0"
     estraverse "^5.2.0"
@@ -1123,20 +1123,20 @@ eslint-visitor-keys@^2.0.0:
   resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303"
   integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==
 
-eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.0:
-  version "3.4.0"
-  resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.0.tgz#c7f0f956124ce677047ddbc192a68f999454dedc"
-  integrity sha512-HPpKPUBQcAsZOsHAFwTtIKcYlCje62XB7SEAcxjtmW6TD1WVpkS6i6/hOVtTZIl4zGj/mBqpFVGvaDneik+VoQ==
+eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1:
+  version "3.4.1"
+  resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz#c22c48f48942d08ca824cc526211ae400478a994"
+  integrity sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==
 
 eslint@^8.29.0:
-  version "8.38.0"
-  resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.38.0.tgz#a62c6f36e548a5574dd35728ac3c6209bd1e2f1a"
-  integrity sha512-pIdsD2jwlUGf/U38Jv97t8lq6HpaU/G9NKbYmpWpZGw3LdTNhZLbJePqxOXGB5+JEKfOPU/XLxYxFh03nr1KTg==
+  version "8.40.0"
+  resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.40.0.tgz#a564cd0099f38542c4e9a2f630fa45bf33bc42a4"
+  integrity sha512-bvR+TsP9EHL3TqNtj9sCNJVAFK3fBN8Q7g5waghxyRsPLIMwL73XSKnZFK0hk/O2ANC+iAoq6PWMQ+IfBAJIiQ==
   dependencies:
     "@eslint-community/eslint-utils" "^4.2.0"
     "@eslint-community/regexpp" "^4.4.0"
-    "@eslint/eslintrc" "^2.0.2"
-    "@eslint/js" "8.38.0"
+    "@eslint/eslintrc" "^2.0.3"
+    "@eslint/js" "8.40.0"
     "@humanwhocodes/config-array" "^0.11.8"
     "@humanwhocodes/module-importer" "^1.0.1"
     "@nodelib/fs.walk" "^1.2.8"
@@ -1146,9 +1146,9 @@ eslint@^8.29.0:
     debug "^4.3.2"
     doctrine "^3.0.0"
     escape-string-regexp "^4.0.0"
-    eslint-scope "^7.1.1"
-    eslint-visitor-keys "^3.4.0"
-    espree "^9.5.1"
+    eslint-scope "^7.2.0"
+    eslint-visitor-keys "^3.4.1"
+    espree "^9.5.2"
     esquery "^1.4.2"
     esutils "^2.0.2"
     fast-deep-equal "^3.1.3"
@@ -1174,14 +1174,14 @@ eslint@^8.29.0:
     strip-json-comments "^3.1.0"
     text-table "^0.2.0"
 
-espree@^9.5.1:
-  version "9.5.1"
-  resolved "https://registry.yarnpkg.com/espree/-/espree-9.5.1.tgz#4f26a4d5f18905bf4f2e0bd99002aab807e96dd4"
-  integrity sha512-5yxtHSZXRSW5pvv3hAlXM5+/Oswi1AUFqBmbibKb5s6bp3rGIDkyXU6xCoyuuLhijr4SFwPrXRoZjz0AZDN9tg==
+espree@^9.5.2:
+  version "9.5.2"
+  resolved "https://registry.yarnpkg.com/espree/-/espree-9.5.2.tgz#e994e7dc33a082a7a82dceaf12883a829353215b"
+  integrity sha512-7OASN1Wma5fum5SrNhFMAMJxOUAbhyfQ8dQ//PJaJbNw0URTPWqIghHWt1MmAANKhHZIYOHruW4Kw4ruUWOdGw==
   dependencies:
     acorn "^8.8.0"
     acorn-jsx "^5.3.2"
-    eslint-visitor-keys "^3.4.0"
+    eslint-visitor-keys "^3.4.1"
 
 esquery@^1.4.2:
   version "1.5.0"
@@ -1374,9 +1374,9 @@ fill-range@^7.0.1:
     to-regex-range "^5.0.1"
 
 find-my-way@^7.6.0:
-  version "7.6.0"
-  resolved "https://registry.yarnpkg.com/find-my-way/-/find-my-way-7.6.0.tgz#f1e271fd1aafe87e87860662f9940124274f73c7"
-  integrity sha512-H7berWdHJ+5CNVr4ilLWPai4ml7Y2qAsxjw3pfeBxPigZmaDTzF0wjJLj90xRCmGcWYcyt050yN+34OZDJm1eQ==
+  version "7.6.1"
+  resolved "https://registry.yarnpkg.com/find-my-way/-/find-my-way-7.6.1.tgz#11c63f8539b87058cd4d433faa553263591dc868"
+  integrity sha512-2epQo+QEVkDf20yjWd/FbRhv3FiPK+APpmf3nRYxKUcTzoFAAGNBusBPL0YRfMosgPwA/vgixyKisBBdOLEFHg==
   dependencies:
     fast-deep-equal "^3.1.3"
     fast-querystring "^1.0.0"
@@ -1452,7 +1452,7 @@ function.prototype.name@^1.1.5:
     es-abstract "^1.19.0"
     functions-have-names "^1.2.2"
 
-functions-have-names@^1.2.2:
+functions-have-names@^1.2.2, functions-have-names@^1.2.3:
   version "1.2.3"
   resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834"
   integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==
@@ -1616,9 +1616,9 @@ he@1.2.0:
   integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==
 
 helmet@^6.0.0:
-  version "6.1.4"
-  resolved "https://registry.yarnpkg.com/helmet/-/helmet-6.1.4.tgz#a57dc478532e811f7dfd64b69f9023dad1c6e28e"
-  integrity sha512-nCJIriKjOYcRmHRpK+Z5DayEh6xwOKO0U0qzWL3MEIwsB8OSxxBu/mUE9U5PRH8ln/+WySlK2eYe5FOlo0v9aA==
+  version "6.2.0"
+  resolved "https://registry.yarnpkg.com/helmet/-/helmet-6.2.0.tgz#c29d62014be4c70b8ef092c9c5e54c8c26b8e16e"
+  integrity sha512-DWlwuXLLqbrIOltR6tFQXShj/+7Cyp0gLi6uAb8qMdFh/YBBFbKSgQ6nbXmScYd8emMctuthmgIa7tUfo9Rtyg==
 
 http-errors@2.0.0, http-errors@^2.0.0:
   version "2.0.0"
@@ -1947,7 +1947,7 @@ json-stable-stringify-without-jsonify@^1.0.1:
   resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651"
   integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==
 
-json5@^1.0.2, json5@^2.2.0:
+json5@^1.0.2, json5@^2.2.2:
   version "2.2.3"
   resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283"
   integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==
@@ -1991,9 +1991,9 @@ lilconfig@2.1.0:
   integrity sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==
 
 lint-staged@>=13:
-  version "13.2.1"
-  resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-13.2.1.tgz#9d30a14e3e42897ef417bc98556fb757f75cae87"
-  integrity sha512-8gfzinVXoPfga5Dz/ZOn8I2GOhf81Wvs+KwbEXQn/oWZAvCVS2PivrXfVbFJc93zD16uC0neS47RXHIjXKYZQw==
+  version "13.2.2"
+  resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-13.2.2.tgz#5e711d3139c234f73402177be2f8dd312e6508ca"
+  integrity sha512-71gSwXKy649VrSU09s10uAT0rWCcY3aewhMaHyl2N84oBk4Xs9HgxvUp3AYu+bNsK4NrOYYxvSgg7FyGJ+jGcA==
   dependencies:
     chalk "5.2.0"
     cli-truncate "^3.1.0"
@@ -2007,7 +2007,7 @@ lint-staged@>=13:
     object-inspect "^1.12.3"
     pidtree "^0.6.0"
     string-argv "^0.3.1"
-    yaml "^2.2.1"
+    yaml "^2.2.2"
 
 listr2@^5.0.7:
   version "5.0.8"
@@ -2269,7 +2269,7 @@ ms@2.1.3, ms@^2.1.1, ms@^2.1.3:
   resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2"
   integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
 
-msgpackr-extract@^3.0.1:
+msgpackr-extract@^3.0.2:
   version "3.0.2"
   resolved "https://registry.yarnpkg.com/msgpackr-extract/-/msgpackr-extract-3.0.2.tgz#e05ec1bb4453ddf020551bcd5daaf0092a2c279d"
   integrity sha512-SdzXp4kD/Qf8agZ9+iTu6eql0m3kWm1A2y1hkpTeVNENutaB0BwHlSvAIaMxwntmRUAUjon2V4L8Z/njd0Ct8A==
@@ -2284,11 +2284,11 @@ msgpackr-extract@^3.0.1:
     "@msgpackr-extract/msgpackr-extract-win32-x64" "3.0.2"
 
 msgpackr@^1.5.2:
-  version "1.8.5"
-  resolved "https://registry.yarnpkg.com/msgpackr/-/msgpackr-1.8.5.tgz#8cadfb935357680648f33699d0e833c9179dbfeb"
-  integrity sha512-mpPs3qqTug6ahbblkThoUY2DQdNXcm4IapwOS3Vm/87vmpzLVelvp9h3It1y9l1VPpiFLV11vfOXnmeEwiIXwg==
+  version "1.9.1"
+  resolved "https://registry.yarnpkg.com/msgpackr/-/msgpackr-1.9.1.tgz#4375d705232b721bedb44a3993e7aa8a6f959502"
+  integrity sha512-jJdrNH8tzfCtT0rjPFryBXjRDQE7rqfLkah4/8B4gYa7NNZYFBcGxqWBtfQpGC+oYyBwlkj3fARk4aooKNPHxg==
   optionalDependencies:
-    msgpackr-extract "^3.0.1"
+    msgpackr-extract "^3.0.2"
 
 nanoid@3.3.3:
   version "3.3.3"
@@ -2523,14 +2523,14 @@ pino-abstract-transport@v1.0.0:
     split2 "^4.0.0"
 
 pino-std-serializers@^6.0.0:
-  version "6.2.0"
-  resolved "https://registry.yarnpkg.com/pino-std-serializers/-/pino-std-serializers-6.2.0.tgz#169048c0df3f61352fce56aeb7fb962f1b66ab43"
-  integrity sha512-IWgSzUL8X1w4BIWTwErRgtV8PyOGOOi60uqv0oKuS/fOA8Nco/OeI6lBuc4dyP8MMfdFwyHqTMcBIA7nDiqEqA==
+  version "6.2.1"
+  resolved "https://registry.yarnpkg.com/pino-std-serializers/-/pino-std-serializers-6.2.1.tgz#369f4ae2a19eb6d769ddf2c88a2164b76879a284"
+  integrity sha512-wHuWB+CvSVb2XqXM0W/WOYUkVSPbiJb9S5fNB7TBhd8s892Xq910bRxwHtC4l71hgztObTjXL6ZheZXFjhDrDQ==
 
 pino@^8.5.0:
-  version "8.11.0"
-  resolved "https://registry.yarnpkg.com/pino/-/pino-8.11.0.tgz#2a91f454106b13e708a66c74ebc1c2ab7ab38498"
-  integrity sha512-Z2eKSvlrl2rH8p5eveNUnTdd4AjJk8tAsLkHYZQKGHP4WTh2Gi1cOSOs3eWPqaj+niS3gj4UkoreoaWgF3ZWYg==
+  version "8.14.1"
+  resolved "https://registry.yarnpkg.com/pino/-/pino-8.14.1.tgz#bb38dcda8b500dd90c1193b6c9171eb777a47ac8"
+  integrity sha512-8LYNv7BKWXSfS+k6oEc6occy5La+q2sPwU3q2ljTX5AZk7v+5kND2o5W794FyRaqha6DJajmkNRsWtPpFyMUdw==
   dependencies:
     atomic-sleep "^1.0.0"
     fast-redact "^3.1.1"
@@ -2617,9 +2617,9 @@ randombytes@^2.1.0:
     safe-buffer "^5.1.0"
 
 readable-stream@^4.0.0:
-  version "4.3.0"
-  resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-4.3.0.tgz#0914d0c72db03b316c9733bb3461d64a3cc50cba"
-  integrity sha512-MuEnA0lbSi7JS8XM+WNJlWZkHAAdm7gETHdFK//Q/mChGyj2akEFtdLZh32jSdkWGbRwCW9pn6g3LWDdDeZnBQ==
+  version "4.4.0"
+  resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-4.4.0.tgz#55ce132d60a988c460d75c631e9ccf6a7229b468"
+  integrity sha512-kDMOq0qLtxV9f/SQv522h8cxZBqNZXuXNyjyezmfAAuribMyVXziljpQ/uQhfE1XLg2/TLTW2DsnoE4VAi/krg==
   dependencies:
     abort-controller "^3.0.0"
     buffer "^6.0.3"
@@ -2656,13 +2656,13 @@ redis-parser@^3.0.0:
     redis-errors "^1.0.0"
 
 regexp.prototype.flags@^1.4.3:
-  version "1.4.3"
-  resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz#87cab30f80f66660181a3bb7bf5981a872b367ac"
-  integrity sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==
+  version "1.5.0"
+  resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz#fe7ce25e7e4cca8db37b6634c8a2c7009199b9cb"
+  integrity sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==
   dependencies:
     call-bind "^1.0.2"
-    define-properties "^1.1.3"
-    functions-have-names "^1.2.2"
+    define-properties "^1.2.0"
+    functions-have-names "^1.2.3"
 
 regexpp@^3.0.0:
   version "3.2.0"
@@ -2753,9 +2753,9 @@ run-parallel@^1.1.9:
     queue-microtask "^1.2.2"
 
 rxjs@^7.8.0:
-  version "7.8.0"
-  resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.8.0.tgz#90a938862a82888ff4c7359811a595e14e1e09a4"
-  integrity sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg==
+  version "7.8.1"
+  resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.8.1.tgz#6f6f3d99ea8044291efd92e7c7fcf562c4057543"
+  integrity sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==
   dependencies:
     tslib "^2.1.0"
 
@@ -2801,9 +2801,9 @@ semver@^6.3.0:
   integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==
 
 semver@^7.0.0, semver@^7.3.2, semver@^7.3.7, semver@^7.3.8:
-  version "7.4.0"
-  resolved "https://registry.yarnpkg.com/semver/-/semver-7.4.0.tgz#8481c92feffc531ab1e012a8ffc15bdd3a0f4318"
-  integrity sha512-RgOxM8Mw+7Zus0+zcLEUn8+JfoLpj/huFTItQy2hsM4khuC1HYRDp0cU482Ewn/Fcy6bCjufD8vAj7voC66KQw==
+  version "7.5.0"
+  resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.0.tgz#ed8c5dc8efb6c629c88b23d41dc9bf40c1d96cd0"
+  integrity sha512-+XC0AD/R7Q2mPSRuy2Id0+CGTZ98+8f+KvwirxOKIEyid+XSx6HbC63p+O4IndTHuX5Z+JxQ0TghCkO5Cg/2HA==
   dependencies:
     lru-cache "^6.0.0"
 
@@ -2923,9 +2923,9 @@ statuses@2.0.1:
   integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==
 
 string-argv@^0.3.1:
-  version "0.3.1"
-  resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.1.tgz#95e2fbec0427ae19184935f816d74aaa4c5c19da"
-  integrity sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==
+  version "0.3.2"
+  resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.2.tgz#2b6d0ef24b656274d957d54e0a4bbf6153dc02b6"
+  integrity sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==
 
 string-similarity@^4.0.1:
   version "4.0.4"
@@ -3273,7 +3273,7 @@ yallist@^4.0.0:
   resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72"
   integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==
 
-yaml@^2.1.1, yaml@^2.1.3, yaml@^2.2.1:
+yaml@^2.1.1, yaml@^2.1.3, yaml@^2.2.2:
   version "2.2.2"
   resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.2.2.tgz#ec551ef37326e6d42872dad1970300f8eb83a073"
   integrity sha512-CBKFWExMn46Foo4cldiChEzn7S7SRV+wqiluAb6xmueD/fGyRHIhX8m14vVGgeFWjN540nKCNVj6P21eQjgTuA==