From 2b7c121242fae976c4a80f8dad5eaddf57ec5e4f Mon Sep 17 00:00:00 2001
From: Christoph Reiter <reiter.christoph@gmail.com>
Date: Mon, 15 Nov 2021 10:49:42 +0100
Subject: [PATCH] Update i18next to v21

We still need to force the v3 format internally because i18next-scanner
doesn't support the new format and v4 drops support for Safari<13.

By setting compatibilityJSON things should continue to work as before.
---
 packages/app-shell/package.json                          | 2 +-
 packages/common/i18next.js                               | 2 ++
 packages/common/package.json                             | 2 +-
 packages/data-table-view/package.json                    | 2 +-
 packages/file-handling/package.json                      | 2 +-
 .../knowledge-base-web-page-element-view/package.json    | 2 +-
 yarn.lock                                                | 9 +--------
 7 files changed, 8 insertions(+), 13 deletions(-)

diff --git a/packages/app-shell/package.json b/packages/app-shell/package.json
index 4865e732..17fa69ce 100644
--- a/packages/app-shell/package.json
+++ b/packages/app-shell/package.json
@@ -41,7 +41,7 @@
     "@dbp-toolkit/notification": "^0.2.2",
     "@dbp-toolkit/person-profile": "^0.2.2",
     "@open-wc/scoped-elements": "^1.3.3",
-    "i18next": "^20.0.0",
+    "i18next": "^21.4.2",
     "lit-element": "^2.4.0",
     "lit-html": "^1.3.0",
     "universal-router": "^9.0.1"
diff --git a/packages/common/i18next.js b/packages/common/i18next.js
index e22b6197..e1b0b32b 100644
--- a/packages/common/i18next.js
+++ b/packages/common/i18next.js
@@ -81,6 +81,8 @@ export function createInstance(languages, lng, fallback, namespace) {
         fallbackNS: namespace,
         initImmediate: false, // Don't init async
         resources: {},
+        // https://www.i18next.com/misc/migration-guide
+        compatibilityJSON: 'v3',
     };
 
     Object.keys(languages).forEach(function(key) {
diff --git a/packages/common/package.json b/packages/common/package.json
index 4476e411..d622a708 100644
--- a/packages/common/package.json
+++ b/packages/common/package.json
@@ -39,7 +39,7 @@
   "dependencies": {
     "@open-wc/scoped-elements": "^1.3.3",
     "@sentry/browser": "^6.0.0",
-    "i18next": "^20.0.0",
+    "i18next": "^21.4.2",
     "lit-element": "^2.4.0"
   }
 }
diff --git a/packages/data-table-view/package.json b/packages/data-table-view/package.json
index e63ca3bd..529784be 100644
--- a/packages/data-table-view/package.json
+++ b/packages/data-table-view/package.json
@@ -42,7 +42,7 @@
     "datatables.net-dt": "^1.10.20",
     "datatables.net-responsive": "^2.2.3",
     "datatables.net-responsive-dt": "^2.2.3",
-    "i18next": "^20.0.0",
+    "i18next": "^21.4.2",
     "jquery": "^3.4.1",
     "jszip": "^3.2.2",
     "lit-element": "^2.4.0",
diff --git a/packages/file-handling/package.json b/packages/file-handling/package.json
index fd748e43..5286a245 100644
--- a/packages/file-handling/package.json
+++ b/packages/file-handling/package.json
@@ -36,7 +36,7 @@
     "@dbp-toolkit/common": "^0.2.2",
     "@open-wc/scoped-elements": "^1.3.3",
     "file-saver": "^2.0.2",
-    "i18next": "^20.0.0",
+    "i18next": "^21.4.2",
     "jose": "^4.0.0",
     "jszip": "^3.5.0",
     "lit-element": "^2.1.0",
diff --git a/packages/knowledge-base-web-page-element-view/package.json b/packages/knowledge-base-web-page-element-view/package.json
index 9be2cee7..1d75dd89 100644
--- a/packages/knowledge-base-web-page-element-view/package.json
+++ b/packages/knowledge-base-web-page-element-view/package.json
@@ -37,7 +37,7 @@
     "@dbp-toolkit/auth": "^0.2.2",
     "@dbp-toolkit/common": "^0.2.2",
     "@open-wc/scoped-elements": "^1.3.3",
-    "i18next": "^20.0.0",
+    "i18next": "^21.4.2",
     "lit-element": "^2.4.0",
     "lit-html": "^1.3.0",
     "material-design-icons-svg": "^3.0.0"
diff --git a/yarn.lock b/yarn.lock
index ac6c5f50..f565fed5 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -4607,20 +4607,13 @@ i18next-scanner@^3.0.0:
     vinyl "^2.2.0"
     vinyl-fs "^3.0.1"
 
-i18next@*:
+i18next@*, i18next@^21.4.2:
   version "21.4.2"
   resolved "https://registry.yarnpkg.com/i18next/-/i18next-21.4.2.tgz#10d10e07c9d1d589d71ac031f8ae755a37fcd0fc"
   integrity sha512-vVWsmTnZNdYHPLt01MvT5YNM2lxec2R6r5T72J89eaazp8XQnGSqA66O+a918qqmjHZGB6HHRSs02xp753he9g==
   dependencies:
     "@babel/runtime" "^7.12.0"
 
-i18next@^20.0.0:
-  version "20.6.1"
-  resolved "https://registry.yarnpkg.com/i18next/-/i18next-20.6.1.tgz#535e5f6e5baeb685c7d25df70db63bf3cc0aa345"
-  integrity sha512-yCMYTMEJ9ihCwEQQ3phLo7I/Pwycf8uAx+sRHwwk5U9Aui/IZYgQRyMqXafQOw5QQ7DM1Z+WyEXWIqSuJHhG2A==
-  dependencies:
-    "@babel/runtime" "^7.12.0"
-
 iconv-lite@0.4.24, iconv-lite@^0.4.24:
   version "0.4.24"
   resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b"
-- 
GitLab