diff --git a/src/frontend/apps/lti_site/babel.config.js b/src/frontend/apps/lti_site/babel.config.js
index f2000080a6..f04423b09b 100644
--- a/src/frontend/apps/lti_site/babel.config.js
+++ b/src/frontend/apps/lti_site/babel.config.js
@@ -1,5 +1,11 @@
 module.exports = {
   plugins: [
+    [
+      '@babel/plugin-transform-typescript',
+      {
+        allowDeclareFields: true,
+      },
+    ],
     [
       'react-intl',
       {
diff --git a/src/frontend/apps/lti_site/package.json b/src/frontend/apps/lti_site/package.json
index 40e1fe8992..760c01fd82 100644
--- a/src/frontend/apps/lti_site/package.json
+++ b/src/frontend/apps/lti_site/package.json
@@ -25,6 +25,7 @@
     "@babel/core": "7.23.5",
     "@babel/plugin-proposal-class-properties": "7.18.6",
     "@babel/plugin-syntax-dynamic-import": "7.8.3",
+    "@babel/plugin-transform-typescript": "*",
     "@babel/polyfill": "7.12.1",
     "@babel/preset-env": "7.23.5",
     "@babel/preset-react": "7.23.3",
diff --git a/src/frontend/apps/standalone_site/babel.config.js b/src/frontend/apps/standalone_site/babel.config.js
index 7d64c7ff5f..340c2acdd4 100644
--- a/src/frontend/apps/standalone_site/babel.config.js
+++ b/src/frontend/apps/standalone_site/babel.config.js
@@ -12,6 +12,12 @@ module.exports = babelJest.createTransformer({
         ast: true,
       },
     ],
+    [
+      '@babel/plugin-transform-typescript',
+      {
+        allowDeclareFields: true,
+      },
+    ],
     'babel-plugin-import-remove-resource-query',
     '@babel/plugin-syntax-dynamic-import',
     'babel-plugin-transform-vite-meta-env',
diff --git a/src/frontend/apps/standalone_site/package.json b/src/frontend/apps/standalone_site/package.json
index 46209629d7..c593549fdf 100644
--- a/src/frontend/apps/standalone_site/package.json
+++ b/src/frontend/apps/standalone_site/package.json
@@ -39,6 +39,7 @@
   "devDependencies": {
     "@babel/core": "7.23.5",
     "@babel/plugin-syntax-dynamic-import": "7.8.3",
+    "@babel/plugin-transform-typescript": "*",
     "@babel/preset-env": "7.23.5",
     "@babel/preset-typescript": "7.23.3",
     "@testing-library/jest-dom": "*",
diff --git a/src/frontend/package.json b/src/frontend/package.json
index 20df40ce1a..817af3b744 100644
--- a/src/frontend/package.json
+++ b/src/frontend/package.json
@@ -39,6 +39,7 @@
   },
   "resolutions": {
     "@babel/plugin-proposal-private-property-in-object": "7.21.11",
+    "@babel/plugin-transform-typescript": "7.23.6",
     "@codemirror/lang-markdown": "6.2.3",
     "@codemirror/language": "6.9.3",
     "@codemirror/language-data": "6.3.1",
diff --git a/src/frontend/packages/lib_video/babel.config.js b/src/frontend/packages/lib_video/babel.config.js
index 4bfd2bff38..6419139179 100644
--- a/src/frontend/packages/lib_video/babel.config.js
+++ b/src/frontend/packages/lib_video/babel.config.js
@@ -8,6 +8,12 @@ module.exports = {
         ast: true,
       },
     ],
+    [
+      '@babel/plugin-transform-typescript',
+      {
+        allowDeclareFields: true,
+      },
+    ],
     '@babel/proposal-class-properties',
     '@babel/plugin-syntax-dynamic-import',
     '@babel/plugin-transform-runtime',
diff --git a/src/frontend/packages/lib_video/package.json b/src/frontend/packages/lib_video/package.json
index c8d3c00682..b9f6ec44dd 100644
--- a/src/frontend/packages/lib_video/package.json
+++ b/src/frontend/packages/lib_video/package.json
@@ -33,6 +33,7 @@
     "@babel/plugin-proposal-class-properties": "7.18.6",
     "@babel/plugin-syntax-dynamic-import": "7.8.3",
     "@babel/plugin-transform-runtime": "7.23.4",
+    "@babel/plugin-transform-typescript": "*",
     "@babel/polyfill": "7.12.1",
     "@babel/preset-env": "7.23.5",
     "@babel/preset-typescript": "7.23.3",
diff --git a/src/frontend/yarn.lock b/src/frontend/yarn.lock
index 23b4701d5d..d68f013be4 100644
--- a/src/frontend/yarn.lock
+++ b/src/frontend/yarn.lock
@@ -1033,7 +1033,7 @@
   dependencies:
     "@babel/helper-plugin-utils" "^7.22.5"
 
-"@babel/plugin-transform-typescript@^7.23.3":
+"@babel/plugin-transform-typescript@*", "@babel/plugin-transform-typescript@7.23.6", "@babel/plugin-transform-typescript@^7.23.3":
   version "7.23.6"
   resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.23.6.tgz#aa36a94e5da8d94339ae3a4e22d40ed287feb34c"
   integrity sha512-6cBG5mBvUu4VUD04OHKnYzbuHNP8huDsD3EDqqpIpsswTDoqHCjLoHb6+QgsV1WsT2nipRqCPgxD3LXnEO7XfA==