gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[taler-wallet-core] 06/08: fixing web-utils new imports


From: gnunet
Subject: [taler-wallet-core] 06/08: fixing web-utils new imports
Date: Fri, 05 May 2023 13:53:33 +0200

This is an automated email from the git hooks/post-receive script.

sebasjm pushed a commit to branch master
in repository wallet-core.

commit d03bfa714b4a08c9a9002cdc8999f7981f2b2de6
Author: Sebastian <sebasjm@gmail.com>
AuthorDate: Fri May 5 08:47:00 2023 -0300

    fixing web-utils new imports
---
 .../build-fast-with-linaria.mjs                    | 151 +++++++++++----------
 packages/taler-wallet-webextension/build.mjs       | 119 ++++++++++++++++
 packages/taler-wallet-webextension/dev.mjs         |  15 +-
 .../src/NavigationBar.tsx                          |   2 +-
 .../src/components/AmountField.stories.tsx         |   2 +-
 .../src/components/AmountField.tsx                 |   2 +-
 .../src/components/BankDetailsByPaytoType.tsx      |   2 +-
 .../src/components/CurrentAlerts.tsx               |   2 +-
 .../src/components/Diagnostics.tsx                 |   2 +-
 .../src/components/EditableText.tsx                |   2 +-
 .../src/components/Loading.tsx                     |   2 +-
 .../src/components/Part.tsx                        |   2 +-
 .../src/components/PaymentButtons.tsx              |   2 +-
 .../src/components/PendingTransactions.stories.tsx |   2 +-
 .../src/components/PendingTransactions.tsx         |   2 +-
 .../src/components/ProductList.tsx                 |   2 +-
 .../src/components/QR.stories.tsx                  |   2 +-
 .../src/components/SelectList.tsx                  |   2 +-
 .../ShowFullContractTermPopup.stories.tsx          |   2 +-
 .../src/components/ShowFullContractTermPopup.tsx   |   2 +-
 .../src/components/TermsOfService/state.ts         |   2 +-
 .../src/components/TermsOfService/stories.tsx      |   2 +-
 .../src/components/TermsOfService/views.tsx        |   2 +-
 .../src/components/TransactionItem.tsx             |   2 +-
 .../taler-wallet-webextension/src/context/alert.ts |   2 +-
 .../src/cta/Deposit/state.ts                       |   2 +-
 .../src/cta/Deposit/stories.tsx                    |   2 +-
 .../src/cta/Deposit/test.ts                        |   2 +-
 .../src/cta/Deposit/views.tsx                      |   2 +-
 .../src/cta/InvoiceCreate/state.ts                 |   2 +-
 .../src/cta/InvoiceCreate/stories.tsx              |   2 +-
 .../src/cta/InvoiceCreate/views.tsx                |   2 +-
 .../src/cta/InvoicePay/state.ts                    |   2 +-
 .../src/cta/InvoicePay/stories.tsx                 |   2 +-
 .../src/cta/InvoicePay/views.tsx                   |   2 +-
 .../src/cta/Payment/state.ts                       |   2 +-
 .../src/cta/Payment/stories.tsx                    |   2 +-
 .../src/cta/Payment/test.ts                        |   2 +-
 .../src/cta/Payment/views.tsx                      |   2 +-
 .../src/cta/PaymentTemplate/state.ts               |   2 +-
 .../src/cta/PaymentTemplate/stories.tsx            |   2 +-
 .../src/cta/PaymentTemplate/test.ts                |   2 +-
 .../src/cta/PaymentTemplate/views.tsx              |   2 +-
 .../src/cta/Recovery/state.ts                      |   2 +-
 .../src/cta/Recovery/stories.tsx                   |   2 +-
 .../src/cta/Recovery/views.tsx                     |   2 +-
 .../src/cta/Refund/state.ts                        |   2 +-
 .../src/cta/Refund/stories.tsx                     |   2 +-
 .../src/cta/Refund/test.ts                         |   2 +-
 .../src/cta/Refund/views.tsx                       |   2 +-
 .../taler-wallet-webextension/src/cta/Tip/state.ts |   2 +-
 .../src/cta/Tip/stories.tsx                        |   2 +-
 .../taler-wallet-webextension/src/cta/Tip/test.ts  |   2 +-
 .../src/cta/Tip/views.tsx                          |   2 +-
 .../src/cta/TransferCreate/state.ts                |   2 +-
 .../src/cta/TransferCreate/stories.tsx             |   2 +-
 .../src/cta/TransferCreate/views.tsx               |   2 +-
 .../src/cta/TransferPickup/state.ts                |   2 +-
 .../src/cta/TransferPickup/stories.tsx             |   2 +-
 .../src/cta/TransferPickup/views.tsx               |   2 +-
 .../src/cta/Withdraw/state.ts                      |   2 +-
 .../src/cta/Withdraw/stories.tsx                   |   2 +-
 .../src/cta/Withdraw/test.ts                       |   2 +-
 .../src/cta/Withdraw/views.tsx                     |   2 +-
 .../src/hooks/useSettings.ts                       |   2 +-
 .../src/hooks/useTalerActionURL.test.ts            |   2 +-
 .../src/mui/Typography.tsx                         |   2 +-
 .../src/popup/Application.tsx                      |   2 +-
 .../src/popup/Balance.stories.tsx                  |   2 +-
 .../src/popup/BalancePage.tsx                      |   2 +-
 .../src/popup/NoBalanceHelp.tsx                    |   2 +-
 .../src/popup/TalerActionFound.stories.tsx         |   2 +-
 .../src/popup/TalerActionFound.tsx                 |   2 +-
 .../taler-wallet-webextension/src/stories.test.ts  |   3 +-
 packages/taler-wallet-webextension/src/stories.tsx |   2 +-
 .../taler-wallet-webextension/src/test-utils.ts    |   2 +-
 .../src/wallet/AddBackupProvider/stories.tsx       |   2 +-
 .../src/wallet/AddBackupProvider/test.ts           |   2 +-
 .../src/wallet/AddBackupProvider/views.tsx         |   2 +-
 .../src/wallet/AddNewActionView.stories.tsx        |   2 +-
 .../src/wallet/AddNewActionView.tsx                |   2 +-
 .../src/wallet/Application.tsx                     |   2 +-
 .../src/wallet/Backup.stories.tsx                  |   2 +-
 .../src/wallet/BackupPage.tsx                      |   2 +-
 .../src/wallet/DepositPage/state.ts                |   2 +-
 .../src/wallet/DepositPage/stories.tsx             |   2 +-
 .../src/wallet/DepositPage/test.ts                 |   2 +-
 .../src/wallet/DepositPage/views.tsx               |   2 +-
 .../src/wallet/DestinationSelection/state.ts       |   2 +-
 .../src/wallet/DestinationSelection/stories.tsx    |   2 +-
 .../src/wallet/DestinationSelection/test.ts        |   2 +-
 .../src/wallet/DestinationSelection/views.tsx      |   2 +-
 .../src/wallet/DeveloperPage.stories.tsx           |   2 +-
 .../src/wallet/DeveloperPage.tsx                   |   2 +-
 .../src/wallet/EmptyComponentExample/stories.tsx   |   2 +-
 .../src/wallet/EmptyComponentExample/views.tsx     |   2 +-
 .../src/wallet/ExchangeAddConfirm.stories.tsx      |   2 +-
 .../src/wallet/ExchangeAddConfirm.tsx              |   2 +-
 .../src/wallet/ExchangeAddSetUrl.stories.tsx       |   2 +-
 .../src/wallet/ExchangeSelection/state.ts          |   2 +-
 .../src/wallet/ExchangeSelection/stories.tsx       |   2 +-
 .../src/wallet/ExchangeSelection/views.tsx         |   2 +-
 .../src/wallet/ExchangeSetUrl.tsx                  |   2 +-
 .../src/wallet/History.stories.tsx                 |   2 +-
 .../src/wallet/History.tsx                         |   2 +-
 .../src/wallet/ManageAccount/state.ts              |   2 +-
 .../src/wallet/ManageAccount/stories.tsx           |   2 +-
 .../src/wallet/ManageAccount/views.tsx             |   2 +-
 .../src/wallet/Notifications/state.ts              |   2 +-
 .../src/wallet/Notifications/stories.tsx           |   2 +-
 .../src/wallet/Notifications/views.tsx             |   2 +-
 .../wallet/ProviderAddConfirmProvider.stories.tsx  |   2 +-
 .../src/wallet/ProviderAddPage.tsx                 |   2 +-
 .../src/wallet/ProviderAddSetUrl.stories.tsx       |   2 +-
 .../src/wallet/ProviderDetail.stories.tsx          |   2 +-
 .../src/wallet/ProviderDetailPage.tsx              |   2 +-
 .../src/wallet/QrReader.stories.tsx                |   2 +-
 .../src/wallet/QrReader.tsx                        |   2 +-
 .../src/wallet/ReserveCreated.stories.tsx          |   2 +-
 .../src/wallet/ReserveCreated.tsx                  |   2 +-
 .../src/wallet/Settings.stories.tsx                |   2 +-
 .../src/wallet/Settings.tsx                        |   2 +-
 .../src/wallet/Transaction.stories.tsx             |   2 +-
 .../src/wallet/Transaction.tsx                     |   2 +-
 .../src/wallet/Welcome.stories.tsx                 |   2 +-
 .../src/wallet/Welcome.tsx                         |   2 +-
 .../taler-wallet-webextension/src/wxBackend.ts     |   2 +-
 .../taler-wallet-webextension/trim-extension.cjs   |  14 +-
 128 files changed, 339 insertions(+), 209 deletions(-)

diff --git a/packages/taler-wallet-webextension/build-fast-with-linaria.mjs 
b/packages/taler-wallet-webextension/build-fast-with-linaria.mjs
index 44e502b6a..9f31fa49c 100755
--- a/packages/taler-wallet-webextension/build-fast-with-linaria.mjs
+++ b/packages/taler-wallet-webextension/build-fast-with-linaria.mjs
@@ -15,120 +15,129 @@
  GNU Taler; see the file COPYING.  If not, see <http://www.gnu.org/licenses/>
  */
 
-import linaria from '@linaria/esbuild'
-import esbuild from 'esbuild'
-import path from "path"
-import fs from "fs"
+import linaria from "@linaria/esbuild";
+import esbuild from "esbuild";
+import path from "path";
+import fs from "fs";
 
 function getFilesInDirectory(startPath, regex) {
   if (!fs.existsSync(startPath)) {
     return;
   }
   const files = fs.readdirSync(startPath);
-  const result = files.flatMap(file => {
-    const filename = path.join(startPath, file);
-
-    const stat = fs.lstatSync(filename);
-    if (stat.isDirectory()) {
-      return getFilesInDirectory(filename, regex);
-    }
-    else if (regex.test(filename)) {
-      return filename
-    }
-  }).filter(x => !!x)
-
-  return result
+  const result = files
+    .flatMap((file) => {
+      const filename = path.join(startPath, file);
+
+      const stat = fs.lstatSync(filename);
+      if (stat.isDirectory()) {
+        return getFilesInDirectory(filename, regex);
+      } else if (regex.test(filename)) {
+        return filename;
+      }
+    })
+    .filter((x) => !!x);
+
+  return result;
 }
 
 // eslint-disable-next-line no-undef
-const BASE = process.cwd()
-const allTestFiles = getFilesInDirectory(path.join(BASE, 'src'), /.test.ts$/)
-
-const preact = path.join(BASE, "node_modules", "preact", "compat", "dist", 
"compat.module.js");
+const BASE = process.cwd();
+const allTestFiles = getFilesInDirectory(path.join(BASE, "src"), /.test.ts$/);
+
+const preact = path.join(
+  BASE,
+  "node_modules",
+  "preact",
+  "compat",
+  "dist",
+  "compat.module.js",
+);
 const preactCompatPlugin = {
   name: "preact-compat",
   setup(build) {
-    build.onResolve({ filter: /^(react-dom|react)$/ }, args => ({ path: preact 
}));
-  }
-}
+    build.onResolve({ filter: /^(react-dom|react)$/ }, (args) => ({
+      path: preact,
+    }));
+  },
+};
 
 const entryPoints = [
-  'src/popupEntryPoint.tsx',
-  'src/popupEntryPoint.dev.tsx',
-  'src/walletEntryPoint.tsx',
-  'src/walletEntryPoint.dev.tsx',
-  'src/background.ts',
-  'src/stories.tsx',
-  'src/background.dev.ts',
-  'src/taler-wallet-interaction-loader.ts',
-  'src/taler-wallet-interaction-support.ts',
-  'src/browserWorkerEntry.ts'
-]
-
-let GIT_ROOT = BASE
-while (!fs.existsSync(path.join(GIT_ROOT, '.git')) && GIT_ROOT !== '/') {
-  GIT_ROOT = path.join(GIT_ROOT, '../')
+  "src/popupEntryPoint.tsx",
+  "src/popupEntryPoint.dev.tsx",
+  "src/walletEntryPoint.tsx",
+  "src/walletEntryPoint.dev.tsx",
+  "src/background.ts",
+  "src/stories.tsx",
+  "src/background.dev.ts",
+  "src/taler-wallet-interaction-loader.ts",
+  "src/taler-wallet-interaction-support.ts",
+  "src/browserWorkerEntry.ts",
+];
+
+let GIT_ROOT = BASE;
+while (!fs.existsSync(path.join(GIT_ROOT, ".git")) && GIT_ROOT !== "/") {
+  GIT_ROOT = path.join(GIT_ROOT, "../");
 }
-if (GIT_ROOT === '/') {
+if (GIT_ROOT === "/") {
   // eslint-disable-next-line no-undef
-  console.log("not found")
+  console.log("not found");
   // eslint-disable-next-line no-undef
   process.exit(1);
 }
-const GIT_HASH = GIT_ROOT === '/' ? undefined : git_hash()
+const GIT_HASH = GIT_ROOT === "/" ? undefined : git_hash();
 
-
-let _package = JSON.parse(fs.readFileSync(path.join(BASE, 'package.json')));
+let _package = JSON.parse(fs.readFileSync(path.join(BASE, "package.json")));
 
 function git_hash() {
-  const rev = fs.readFileSync(path.join(GIT_ROOT, '.git', 
'HEAD')).toString().trim().split(/.*[: ]/).slice(-1)[0];
-  if (rev.indexOf('/') === -1) {
+  const rev = fs
+    .readFileSync(path.join(GIT_ROOT, ".git", "HEAD"))
+    .toString()
+    .trim()
+    .split(/.*[: ]/)
+    .slice(-1)[0];
+  if (rev.indexOf("/") === -1) {
     return rev;
   } else {
-    return fs.readFileSync(path.join(GIT_ROOT, '.git', rev)).toString().trim();
+    return fs.readFileSync(path.join(GIT_ROOT, ".git", rev)).toString().trim();
   }
 }
 
 export const buildConfig = {
   entryPoints: [...entryPoints, ...allTestFiles],
   bundle: true,
-  outdir: 'dist',
+  outdir: "dist",
   minify: false,
   loader: {
-    '.svg': 'text',
-    '.png': 'dataurl',
-    '.jpeg': 'dataurl',
+    ".svg": "text",
+    ".png": "dataurl",
+    ".jpeg": "dataurl",
   },
-  target: [
-    'es6'
-  ],
-  format: 'iife',
-  platform: 'browser',
+  target: ["es6"],
+  format: "iife",
+  platform: "browser",
   sourcemap: true,
-  jsxFactory: 'h',
-  jsxFragment: 'Fragment',
+  jsxFactory: "h",
+  jsxFragment: "Fragment",
   define: {
-    '__VERSION__': `"${_package.version}"`,
-    '__GIT_HASH__': `"${GIT_HASH}"`,
+    __VERSION__: `"${_package.version}"`,
+    __GIT_HASH__: `"${GIT_HASH}"`,
   },
   plugins: [
     preactCompatPlugin,
     linaria.default({
       babelOptions: {
         babelrc: false,
-        configFile: './babel.config-linaria.json',
+        configFile: "./babel.config-linaria.json",
       },
       sourceMap: true,
     }),
   ],
-}
-
-await esbuild
-  .build(buildConfig)
-  .catch((e) => {
-    // eslint-disable-next-line no-undef
-    console.log(e)
-    // eslint-disable-next-line no-undef
-    process.exit(1)
-  });
+};
 
+await esbuild.build(buildConfig).catch((e) => {
+  // eslint-disable-next-line no-undef
+  console.log(e);
+  // eslint-disable-next-line no-undef
+  process.exit(1);
+});
diff --git a/packages/taler-wallet-webextension/build.mjs 
b/packages/taler-wallet-webextension/build.mjs
new file mode 100755
index 000000000..889ba7d05
--- /dev/null
+++ b/packages/taler-wallet-webextension/build.mjs
@@ -0,0 +1,119 @@
+#!/usr/bin/env node
+/*
+ This file is part of GNU Taler
+ (C) 2022 Taler Systems S.A.
+
+ GNU Taler is free software; you can redistribute it and/or modify it under the
+ terms of the GNU General Public License as published by the Free Software
+ Foundation; either version 3, or (at your option) any later version.
+
+ GNU Taler is distributed in the hope that it will be useful, but WITHOUT ANY
+ WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
+ A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along with
+ GNU Taler; see the file COPYING.  If not, see <http://www.gnu.org/licenses/>
+ */
+
+import {
+  build,
+  computeConfig,
+  getFilesInDirectory,
+} from "@gnu-taler/web-util/build";
+import linaria from "@linaria/esbuild";
+import esbuild from "esbuild";
+import path from "path";
+import fs from "fs";
+
+const BASE = process.cwd();
+
+const allStaticFiles = getFilesInDirectory("static");
+
+// await build({
+//   source: {
+//     js: [
+//       "src/popupEntryPoint.tsx",
+//       "src/walletEntryPoint.tsx",
+//       "src/background.ts",
+//       "src/taler-wallet-interaction-loader.ts",
+//       "src/taler-wallet-interaction-support.ts",
+//       "src/browserWorkerEntry.ts",
+//     ],
+//     assets: allStaticFiles,
+//   },
+//   destination: "./dist/prod",
+//   css: "linaria",
+// });
+function copyFilesPlugin(files) {
+  return {
+    name: "copy-files",
+    setup(build) {
+      const outDir = build.initialOptions.outdir;
+      if (outDir === undefined)
+        throw Error("esbuild build options does not specify outdir");
+      build.onEnd(() => {
+        for (const file of files) {
+          const name = path.parse(file).base;
+          fs.copyFileSync(file, path.join(outDir, name));
+        }
+      });
+    },
+  };
+}
+
+const buildConfig2 = computeConfig({
+  source: {
+    js: [
+      "src/popupEntryPoint.tsx",
+      "src/walletEntryPoint.tsx",
+      "src/background.ts",
+      "src/taler-wallet-interaction-loader.ts",
+      "src/taler-wallet-interaction-support.ts",
+      "src/browserWorkerEntry.ts",
+    ],
+    assets: allStaticFiles,
+  },
+  destination: "./dist/prod",
+  css: "linaria",
+});
+
+const preact = path.join(
+  BASE,
+  "node_modules",
+  "preact",
+  "compat",
+  "dist",
+  "compat.module.js",
+);
+const preactCompatPlugin = {
+  name: "preact-compat",
+  setup(build) {
+    build.onResolve({ filter: /^(react-dom|react)$/ }, (args) => ({
+      path: preact,
+    }));
+  },
+};
+
+const asd = linaria.default({
+  babelOptions: {
+    babelrc: false,
+    configFile: "./babel.config-linaria.json",
+  },
+  sourceMap: true,
+});
+
+// buildConfig2.plugins = [
+//   preactCompatPlugin,
+//   copyFilesPlugin(allStaticFiles),
+//   asd,
+// ];
+
+// console.log(JSON.stringify(buildConfig, undefined, 2));
+// console.log(JSON.stringify(buildConfig2, undefined, 2));
+
+await esbuild.build(buildConfig2).catch((e) => {
+  // eslint-disable-next-line no-undef
+  console.log(e);
+  // eslint-disable-next-line no-undef
+  process.exit(1);
+});
diff --git a/packages/taler-wallet-webextension/dev.mjs 
b/packages/taler-wallet-webextension/dev.mjs
index fb5661aa5..94df79f3d 100755
--- a/packages/taler-wallet-webextension/dev.mjs
+++ b/packages/taler-wallet-webextension/dev.mjs
@@ -15,19 +15,19 @@
  GNU Taler; see the file COPYING.  If not, see <http://www.gnu.org/licenses/>
  */
 
-import { serve } from "@gnu-taler/web-util/lib/index.node";
-import esbuild from 'esbuild';
+import { serve } from "@gnu-taler/web-util/node";
+import esbuild from "esbuild";
 import { buildConfig } from "./build-fast-with-linaria.mjs";
 
-buildConfig.inject = ['./node_modules/@gnu-taler/web-util/lib/live-reload.mjs']
+buildConfig.inject = 
["./node_modules/@gnu-taler/web-util/lib/live-reload.mjs"];
 
 serve({
-  folder: './dist',
+  folder: "./dist",
   port: 8080,
-  source: './src',
+  source: "./src",
   development: true,
-  onUpdate: async () => esbuild.build(buildConfig)
-})
+  onUpdate: async () => esbuild.build(buildConfig),
+});
 
 // FIXME: create a mocha test in the browser as it was before
 
@@ -35,4 +35,3 @@ serve({
 // fs.writeFileSync("dev-html/mocha.css", 
fs.readFileSync("node_modules/mocha/mocha.css"))
 // fs.writeFileSync("dev-html/mocha.js", 
fs.readFileSync("node_modules/mocha/mocha.js"))
 // fs.writeFileSync("dev-html/mocha.js.map", 
fs.readFileSync("node_modules/mocha/mocha.js.map"))
-
diff --git a/packages/taler-wallet-webextension/src/NavigationBar.tsx 
b/packages/taler-wallet-webextension/src/NavigationBar.tsx
index 806646a02..2817f3299 100644
--- a/packages/taler-wallet-webextension/src/NavigationBar.tsx
+++ b/packages/taler-wallet-webextension/src/NavigationBar.tsx
@@ -38,7 +38,7 @@ import qrIcon from "./svg/qr_code_24px.svg";
 import settingsIcon from "./svg/settings_black_24dp.svg";
 import warningIcon from "./svg/warning_24px.svg";
 import { parseTalerUri, TalerUriAction } from "@gnu-taler/taler-util";
-import { useTranslationContext } from "@gnu-taler/web-util/lib/index.browser";
+import { useTranslationContext } from "@gnu-taler/web-util/browser";
 
 /**
  * List of pages used by the wallet
diff --git 
a/packages/taler-wallet-webextension/src/components/AmountField.stories.tsx 
b/packages/taler-wallet-webextension/src/components/AmountField.stories.tsx
index ed3be6579..daa06fa65 100644
--- a/packages/taler-wallet-webextension/src/components/AmountField.stories.tsx
+++ b/packages/taler-wallet-webextension/src/components/AmountField.stories.tsx
@@ -22,7 +22,7 @@
 import { AmountJson, Amounts } from "@gnu-taler/taler-util";
 import { Fragment, h, VNode } from "preact";
 import { useState } from "preact/hooks";
-import { useTranslationContext } from "@gnu-taler/web-util/lib/index.browser";
+import { useTranslationContext } from "@gnu-taler/web-util/browser";
 import { AmountFieldHandler, nullFunction, withSafe } from 
"../mui/handlers.js";
 import { AmountField } from "./AmountField.js";
 
diff --git a/packages/taler-wallet-webextension/src/components/AmountField.tsx 
b/packages/taler-wallet-webextension/src/components/AmountField.tsx
index db7afb053..432aa6af1 100644
--- a/packages/taler-wallet-webextension/src/components/AmountField.tsx
+++ b/packages/taler-wallet-webextension/src/components/AmountField.tsx
@@ -25,7 +25,7 @@ import {
 } from "@gnu-taler/taler-util";
 import { Fragment, h, VNode } from "preact";
 import { useState } from "preact/hooks";
-import { useTranslationContext } from "@gnu-taler/web-util/lib/index.browser";
+import { useTranslationContext } from "@gnu-taler/web-util/browser";
 import { AmountFieldHandler } from "../mui/handlers.js";
 import { TextField } from "../mui/TextField.js";
 
diff --git 
a/packages/taler-wallet-webextension/src/components/BankDetailsByPaytoType.tsx 
b/packages/taler-wallet-webextension/src/components/BankDetailsByPaytoType.tsx
index cd9a25a03..cd4f88c0c 100644
--- 
a/packages/taler-wallet-webextension/src/components/BankDetailsByPaytoType.tsx
+++ 
b/packages/taler-wallet-webextension/src/components/BankDetailsByPaytoType.tsx
@@ -23,7 +23,7 @@ import {
 } from "@gnu-taler/taler-util";
 import { Fragment, h, VNode } from "preact";
 import { useEffect, useRef, useState } from "preact/hooks";
-import { useTranslationContext } from "@gnu-taler/web-util/lib/index.browser";
+import { useTranslationContext } from "@gnu-taler/web-util/browser";
 import { CopiedIcon, CopyIcon } from "../svg/index.js";
 import { Amount } from "./Amount.js";
 import { ButtonBox, TooltipLeft } from "./styled/index.js";
diff --git 
a/packages/taler-wallet-webextension/src/components/CurrentAlerts.tsx 
b/packages/taler-wallet-webextension/src/components/CurrentAlerts.tsx
index 25114d5a9..b1ed3b02c 100644
--- a/packages/taler-wallet-webextension/src/components/CurrentAlerts.tsx
+++ b/packages/taler-wallet-webextension/src/components/CurrentAlerts.tsx
@@ -21,7 +21,7 @@ import {
   useAlertContext,
 } from "../context/alert.js";
 import { Alert } from "../mui/Alert.js";
-import { useTranslationContext } from "@gnu-taler/web-util/lib/index.browser";
+import { useTranslationContext } from "@gnu-taler/web-util/browser";
 
 /**
  *
diff --git a/packages/taler-wallet-webextension/src/components/Diagnostics.tsx 
b/packages/taler-wallet-webextension/src/components/Diagnostics.tsx
index dfbb20be2..8bd0abcaf 100644
--- a/packages/taler-wallet-webextension/src/components/Diagnostics.tsx
+++ b/packages/taler-wallet-webextension/src/components/Diagnostics.tsx
@@ -16,7 +16,7 @@
 
 import { WalletDiagnostics } from "@gnu-taler/taler-util";
 import { Fragment, h, VNode } from "preact";
-import { useTranslationContext } from "@gnu-taler/web-util/lib/index.browser";
+import { useTranslationContext } from "@gnu-taler/web-util/browser";
 
 interface Props {
   timedOut: boolean;
diff --git a/packages/taler-wallet-webextension/src/components/EditableText.tsx 
b/packages/taler-wallet-webextension/src/components/EditableText.tsx
index 198527fb2..1da090492 100644
--- a/packages/taler-wallet-webextension/src/components/EditableText.tsx
+++ b/packages/taler-wallet-webextension/src/components/EditableText.tsx
@@ -16,7 +16,7 @@
 
 import { h, VNode } from "preact";
 import { useRef, useState } from "preact/hooks";
-import { useTranslationContext } from "@gnu-taler/web-util/lib/index.browser";
+import { useTranslationContext } from "@gnu-taler/web-util/browser";
 
 interface Props {
   value: string;
diff --git a/packages/taler-wallet-webextension/src/components/Loading.tsx 
b/packages/taler-wallet-webextension/src/components/Loading.tsx
index 507e36183..28bef9320 100644
--- a/packages/taler-wallet-webextension/src/components/Loading.tsx
+++ b/packages/taler-wallet-webextension/src/components/Loading.tsx
@@ -16,7 +16,7 @@
 import { css } from "@linaria/core";
 import { Fragment, h, VNode } from "preact";
 import { useEffect, useState } from "preact/hooks";
-import { useTranslationContext } from "@gnu-taler/web-util/lib/index.browser";
+import { useTranslationContext } from "@gnu-taler/web-util/browser";
 import ProgressIcon from "../svg/progress.svg";
 import { CenteredText } from "./styled/index.js";
 
diff --git a/packages/taler-wallet-webextension/src/components/Part.tsx 
b/packages/taler-wallet-webextension/src/components/Part.tsx
index 370cea539..d4eab21ee 100644
--- a/packages/taler-wallet-webextension/src/components/Part.tsx
+++ b/packages/taler-wallet-webextension/src/components/Part.tsx
@@ -97,7 +97,7 @@ const CollasibleBox = styled.div`
   }
 `;
 import arrowDown from "../svg/chevron-down.svg";
-import { useTranslationContext } from "@gnu-taler/web-util/lib/index.browser";
+import { useTranslationContext } from "@gnu-taler/web-util/browser";
 
 export function PartCollapsible({ text, title, big, showSign }: Props): VNode {
   const Text = big ? ExtraLargeText : LargeText;
diff --git 
a/packages/taler-wallet-webextension/src/components/PaymentButtons.tsx 
b/packages/taler-wallet-webextension/src/components/PaymentButtons.tsx
index 2846a8cec..d85a2c78e 100644
--- a/packages/taler-wallet-webextension/src/components/PaymentButtons.tsx
+++ b/packages/taler-wallet-webextension/src/components/PaymentButtons.tsx
@@ -28,7 +28,7 @@ import { Amount } from "./Amount.js";
 import { Part } from "./Part.js";
 import { QR } from "./QR.js";
 import { LinkSuccess, WarningBox } from "./styled/index.js";
-import { useTranslationContext } from "@gnu-taler/web-util/lib/index.browser";
+import { useTranslationContext } from "@gnu-taler/web-util/browser";
 import { Button } from "../mui/Button.js";
 import { ButtonHandler } from "../mui/handlers.js";
 import { assertUnreachable } from "../utils/index.js";
diff --git 
a/packages/taler-wallet-webextension/src/components/PendingTransactions.stories.tsx
 
b/packages/taler-wallet-webextension/src/components/PendingTransactions.stories.tsx
index d54dfe8fc..d1c49aea2 100644
--- 
a/packages/taler-wallet-webextension/src/components/PendingTransactions.stories.tsx
+++ 
b/packages/taler-wallet-webextension/src/components/PendingTransactions.stories.tsx
@@ -24,7 +24,7 @@ import {
   Transaction,
   TransactionType,
 } from "@gnu-taler/taler-util";
-import { tests } from "@gnu-taler/web-util/lib/index.browser";
+import * as tests from "@gnu-taler/web-util/testing";
 import { PendingTransactionsView as TestedComponent } from 
"./PendingTransactions.js";
 
 export default {
diff --git 
a/packages/taler-wallet-webextension/src/components/PendingTransactions.tsx 
b/packages/taler-wallet-webextension/src/components/PendingTransactions.tsx
index 228a717a1..427c4bfee 100644
--- a/packages/taler-wallet-webextension/src/components/PendingTransactions.tsx
+++ b/packages/taler-wallet-webextension/src/components/PendingTransactions.tsx
@@ -24,7 +24,7 @@ import { WalletApiOperation } from 
"@gnu-taler/taler-wallet-core";
 import { Fragment, h, JSX, VNode } from "preact";
 import { useEffect } from "preact/hooks";
 import { useBackendContext } from "../context/backend.js";
-import { useTranslationContext } from "@gnu-taler/web-util/lib/index.browser";
+import { useTranslationContext } from "@gnu-taler/web-util/browser";
 import { useAsyncAsHook } from "../hooks/useAsyncAsHook.js";
 import { Avatar } from "../mui/Avatar.js";
 import { Grid } from "../mui/Grid.js";
diff --git a/packages/taler-wallet-webextension/src/components/ProductList.tsx 
b/packages/taler-wallet-webextension/src/components/ProductList.tsx
index faede20e0..748935dff 100644
--- a/packages/taler-wallet-webextension/src/components/ProductList.tsx
+++ b/packages/taler-wallet-webextension/src/components/ProductList.tsx
@@ -17,7 +17,7 @@
 import { Amounts, Product } from "@gnu-taler/taler-util";
 import { Fragment, h, VNode } from "preact";
 import { SmallLightText } from "./styled/index.js";
-import { useTranslationContext } from "@gnu-taler/web-util/lib/index.browser";
+import { useTranslationContext } from "@gnu-taler/web-util/browser";
 
 export function ProductList({ products }: { products: Product[] }): VNode {
   const { i18n } = useTranslationContext();
diff --git a/packages/taler-wallet-webextension/src/components/QR.stories.tsx 
b/packages/taler-wallet-webextension/src/components/QR.stories.tsx
index bdaa842f2..1d1f15b69 100644
--- a/packages/taler-wallet-webextension/src/components/QR.stories.tsx
+++ b/packages/taler-wallet-webextension/src/components/QR.stories.tsx
@@ -19,7 +19,7 @@
  * @author Sebastian Javier Marchano (sebasjm)
  */
 
-import { tests } from "@gnu-taler/web-util/lib/index.browser";
+import * as tests from "@gnu-taler/web-util/testing";
 import { QR } from "./QR.js";
 
 export default {
diff --git a/packages/taler-wallet-webextension/src/components/SelectList.tsx 
b/packages/taler-wallet-webextension/src/components/SelectList.tsx
index 01da1c1da..6eb72a266 100644
--- a/packages/taler-wallet-webextension/src/components/SelectList.tsx
+++ b/packages/taler-wallet-webextension/src/components/SelectList.tsx
@@ -16,7 +16,7 @@
 
 import { TranslatedString } from "@gnu-taler/taler-util";
 import { Fragment, h, VNode } from "preact";
-import { useTranslationContext } from "@gnu-taler/web-util/lib/index.browser";
+import { useTranslationContext } from "@gnu-taler/web-util/browser";
 import { NiceSelect } from "./styled/index.js";
 
 interface Props {
diff --git 
a/packages/taler-wallet-webextension/src/components/ShowFullContractTermPopup.stories.tsx
 
b/packages/taler-wallet-webextension/src/components/ShowFullContractTermPopup.stories.tsx
index 554d2f88e..6cf863519 100644
--- 
a/packages/taler-wallet-webextension/src/components/ShowFullContractTermPopup.stories.tsx
+++ 
b/packages/taler-wallet-webextension/src/components/ShowFullContractTermPopup.stories.tsx
@@ -20,7 +20,7 @@
  */
 
 import { WalletContractData } from "@gnu-taler/taler-wallet-core";
-import { tests } from "@gnu-taler/web-util/lib/index.browser";
+import * as tests from "@gnu-taler/web-util/testing";
 import {
   ErrorView,
   HiddenView,
diff --git 
a/packages/taler-wallet-webextension/src/components/ShowFullContractTermPopup.tsx
 
b/packages/taler-wallet-webextension/src/components/ShowFullContractTermPopup.tsx
index 1023fc8f3..9cbc2899f 100644
--- 
a/packages/taler-wallet-webextension/src/components/ShowFullContractTermPopup.tsx
+++ 
b/packages/taler-wallet-webextension/src/components/ShowFullContractTermPopup.tsx
@@ -26,7 +26,7 @@ import { Modal } from "../components/Modal.js";
 import { Time } from "../components/Time.js";
 import { alertFromError, useAlertContext } from "../context/alert.js";
 import { useBackendContext } from "../context/backend.js";
-import { useTranslationContext } from "@gnu-taler/web-util/lib/index.browser";
+import { useTranslationContext } from "@gnu-taler/web-util/browser";
 import { HookError, useAsyncAsHook } from "../hooks/useAsyncAsHook.js";
 import { ButtonHandler } from "../mui/handlers.js";
 import { compose, StateViewMap } from "../utils/index.js";
diff --git 
a/packages/taler-wallet-webextension/src/components/TermsOfService/state.ts 
b/packages/taler-wallet-webextension/src/components/TermsOfService/state.ts
index 4ebc615f4..8b1352694 100644
--- a/packages/taler-wallet-webextension/src/components/TermsOfService/state.ts
+++ b/packages/taler-wallet-webextension/src/components/TermsOfService/state.ts
@@ -15,7 +15,7 @@
  */
 
 import { WalletApiOperation } from "@gnu-taler/taler-wallet-core";
-import { useTranslationContext } from "@gnu-taler/web-util/lib/index.browser";
+import { useTranslationContext } from "@gnu-taler/web-util/browser";
 import { useState } from "preact/hooks";
 import { alertFromError, useAlertContext } from "../../context/alert.js";
 import { useBackendContext } from "../../context/backend.js";
diff --git 
a/packages/taler-wallet-webextension/src/components/TermsOfService/stories.tsx 
b/packages/taler-wallet-webextension/src/components/TermsOfService/stories.tsx
index 9ef1c4298..c578774ed 100644
--- 
a/packages/taler-wallet-webextension/src/components/TermsOfService/stories.tsx
+++ 
b/packages/taler-wallet-webextension/src/components/TermsOfService/stories.tsx
@@ -19,7 +19,7 @@
  * @author Sebastian Javier Marchano (sebasjm)
  */
 
-import { tests } from "@gnu-taler/web-util/lib/index.browser";
+import * as tests from "@gnu-taler/web-util/testing";
 // import { ReadyView } from "./views.js";
 
 export default {
diff --git 
a/packages/taler-wallet-webextension/src/components/TermsOfService/views.tsx 
b/packages/taler-wallet-webextension/src/components/TermsOfService/views.tsx
index b8ce2f220..e52add756 100644
--- a/packages/taler-wallet-webextension/src/components/TermsOfService/views.tsx
+++ b/packages/taler-wallet-webextension/src/components/TermsOfService/views.tsx
@@ -24,7 +24,7 @@ import {
   WarningBox,
   WarningText,
 } from "../../components/styled/index.js";
-import { useTranslationContext } from "@gnu-taler/web-util/lib/index.browser";
+import { useTranslationContext } from "@gnu-taler/web-util/browser";
 import { Button } from "../../mui/Button.js";
 import { State } from "./index.js";
 
diff --git 
a/packages/taler-wallet-webextension/src/components/TransactionItem.tsx 
b/packages/taler-wallet-webextension/src/components/TransactionItem.tsx
index 009256001..9af768641 100644
--- a/packages/taler-wallet-webextension/src/components/TransactionItem.tsx
+++ b/packages/taler-wallet-webextension/src/components/TransactionItem.tsx
@@ -25,7 +25,7 @@ import {
   ExtendedStatus,
 } from "@gnu-taler/taler-util";
 import { h, VNode } from "preact";
-import { useTranslationContext } from "@gnu-taler/web-util/lib/index.browser";
+import { useTranslationContext } from "@gnu-taler/web-util/browser";
 import { Avatar } from "../mui/Avatar.js";
 import { Pages } from "../NavigationBar.js";
 import { assertUnreachable } from "../utils/index.js";
diff --git a/packages/taler-wallet-webextension/src/context/alert.ts 
b/packages/taler-wallet-webextension/src/context/alert.ts
index b8918dc58..1ae15f1ec 100644
--- a/packages/taler-wallet-webextension/src/context/alert.ts
+++ b/packages/taler-wallet-webextension/src/context/alert.ts
@@ -25,7 +25,7 @@ import { useContext, useState } from "preact/hooks";
 import { HookError } from "../hooks/useAsyncAsHook.js";
 import { SafeHandler, withSafe } from "../mui/handlers.js";
 import { BackgroundError } from "../wxApi.js";
-import { useTranslationContext } from "@gnu-taler/web-util/lib/index.browser";
+import { useTranslationContext } from "@gnu-taler/web-util/browser";
 
 export type AlertType = "info" | "warning" | "error" | "success";
 
diff --git a/packages/taler-wallet-webextension/src/cta/Deposit/state.ts 
b/packages/taler-wallet-webextension/src/cta/Deposit/state.ts
index eff713ab5..ec0106f6e 100644
--- a/packages/taler-wallet-webextension/src/cta/Deposit/state.ts
+++ b/packages/taler-wallet-webextension/src/cta/Deposit/state.ts
@@ -18,7 +18,7 @@ import { Amounts } from "@gnu-taler/taler-util";
 import { WalletApiOperation } from "@gnu-taler/taler-wallet-core";
 import { alertFromError, useAlertContext } from "../../context/alert.js";
 import { useBackendContext } from "../../context/backend.js";
-import { useTranslationContext } from "@gnu-taler/web-util/lib/index.browser";
+import { useTranslationContext } from "@gnu-taler/web-util/browser";
 import { useAsyncAsHook } from "../../hooks/useAsyncAsHook.js";
 import { Props, State } from "./index.js";
 
diff --git a/packages/taler-wallet-webextension/src/cta/Deposit/stories.tsx 
b/packages/taler-wallet-webextension/src/cta/Deposit/stories.tsx
index fd3044dcb..cd65ce8e1 100644
--- a/packages/taler-wallet-webextension/src/cta/Deposit/stories.tsx
+++ b/packages/taler-wallet-webextension/src/cta/Deposit/stories.tsx
@@ -20,7 +20,7 @@
  */
 
 import { Amounts } from "@gnu-taler/taler-util";
-import { tests } from "@gnu-taler/web-util/lib/index.browser";
+import * as tests from "@gnu-taler/web-util/testing";
 import { ReadyView } from "./views.js";
 
 export default {
diff --git a/packages/taler-wallet-webextension/src/cta/Deposit/test.ts 
b/packages/taler-wallet-webextension/src/cta/Deposit/test.ts
index a7d24eeb8..144bdccf4 100644
--- a/packages/taler-wallet-webextension/src/cta/Deposit/test.ts
+++ b/packages/taler-wallet-webextension/src/cta/Deposit/test.ts
@@ -23,7 +23,7 @@ import { Amounts } from "@gnu-taler/taler-util";
 import { expect } from "chai";
 import { createWalletApiMock } from "../../test-utils.js";
 import { useComponentState } from "./state.js";
-import { tests } from "@gnu-taler/web-util/lib/index.browser";
+import * as tests from "@gnu-taler/web-util/testing";
 import { Props } from "./index.js";
 import { WalletApiOperation } from "@gnu-taler/taler-wallet-core";
 
diff --git a/packages/taler-wallet-webextension/src/cta/Deposit/views.tsx 
b/packages/taler-wallet-webextension/src/cta/Deposit/views.tsx
index 84ec3ca1f..c352e394e 100644
--- a/packages/taler-wallet-webextension/src/cta/Deposit/views.tsx
+++ b/packages/taler-wallet-webextension/src/cta/Deposit/views.tsx
@@ -20,7 +20,7 @@ import { Amount } from "../../components/Amount.js";
 import { LogoHeader } from "../../components/LogoHeader.js";
 import { Part } from "../../components/Part.js";
 import { SubTitle, WalletAction } from "../../components/styled/index.js";
-import { useTranslationContext } from "@gnu-taler/web-util/lib/index.browser";
+import { useTranslationContext } from "@gnu-taler/web-util/browser";
 import { Button } from "../../mui/Button.js";
 import { State } from "./index.js";
 
diff --git a/packages/taler-wallet-webextension/src/cta/InvoiceCreate/state.ts 
b/packages/taler-wallet-webextension/src/cta/InvoiceCreate/state.ts
index 3403b304d..81caf9878 100644
--- a/packages/taler-wallet-webextension/src/cta/InvoiceCreate/state.ts
+++ b/packages/taler-wallet-webextension/src/cta/InvoiceCreate/state.ts
@@ -21,7 +21,7 @@ import { isFuture, parse } from "date-fns";
 import { useState } from "preact/hooks";
 import { alertFromError, useAlertContext } from "../../context/alert.js";
 import { useBackendContext } from "../../context/backend.js";
-import { useTranslationContext } from "@gnu-taler/web-util/lib/index.browser";
+import { useTranslationContext } from "@gnu-taler/web-util/browser";
 import { useAsyncAsHook } from "../../hooks/useAsyncAsHook.js";
 import { useSelectedExchange } from "../../hooks/useSelectedExchange.js";
 import { RecursiveState } from "../../utils/index.js";
diff --git 
a/packages/taler-wallet-webextension/src/cta/InvoiceCreate/stories.tsx 
b/packages/taler-wallet-webextension/src/cta/InvoiceCreate/stories.tsx
index 4ab4dc8f6..779f130aa 100644
--- a/packages/taler-wallet-webextension/src/cta/InvoiceCreate/stories.tsx
+++ b/packages/taler-wallet-webextension/src/cta/InvoiceCreate/stories.tsx
@@ -19,7 +19,7 @@
  * @author Sebastian Javier Marchano (sebasjm)
  */
 
-import { tests } from "@gnu-taler/web-util/lib/index.browser";
+import * as tests from "@gnu-taler/web-util/testing";
 import { nullFunction } from "../../mui/handlers.js";
 import { ReadyView } from "./views.js";
 
diff --git a/packages/taler-wallet-webextension/src/cta/InvoiceCreate/views.tsx 
b/packages/taler-wallet-webextension/src/cta/InvoiceCreate/views.tsx
index c9c5eda5c..1917b01d9 100644
--- a/packages/taler-wallet-webextension/src/cta/InvoiceCreate/views.tsx
+++ b/packages/taler-wallet-webextension/src/cta/InvoiceCreate/views.tsx
@@ -24,7 +24,7 @@ import {
   SvgIcon,
   WalletAction,
 } from "../../components/styled/index.js";
-import { useTranslationContext } from "@gnu-taler/web-util/lib/index.browser";
+import { useTranslationContext } from "@gnu-taler/web-util/browser";
 import { Button } from "../../mui/Button.js";
 import { TextField } from "../../mui/TextField.js";
 import editIcon from "../../svg/edit_24px.svg";
diff --git a/packages/taler-wallet-webextension/src/cta/InvoicePay/state.ts 
b/packages/taler-wallet-webextension/src/cta/InvoicePay/state.ts
index 2da9c6571..690474a86 100644
--- a/packages/taler-wallet-webextension/src/cta/InvoicePay/state.ts
+++ b/packages/taler-wallet-webextension/src/cta/InvoicePay/state.ts
@@ -26,7 +26,7 @@ import { WalletApiOperation } from 
"@gnu-taler/taler-wallet-core";
 import { useEffect } from "preact/hooks";
 import { alertFromError, useAlertContext } from "../../context/alert.js";
 import { useBackendContext } from "../../context/backend.js";
-import { useTranslationContext } from "@gnu-taler/web-util/lib/index.browser";
+import { useTranslationContext } from "@gnu-taler/web-util/browser";
 import { useAsyncAsHook } from "../../hooks/useAsyncAsHook.js";
 import { Props, State } from "./index.js";
 
diff --git a/packages/taler-wallet-webextension/src/cta/InvoicePay/stories.tsx 
b/packages/taler-wallet-webextension/src/cta/InvoicePay/stories.tsx
index 2ba0e85e0..00460bc8f 100644
--- a/packages/taler-wallet-webextension/src/cta/InvoicePay/stories.tsx
+++ b/packages/taler-wallet-webextension/src/cta/InvoicePay/stories.tsx
@@ -20,7 +20,7 @@
  */
 
 import { PreparePayResult, PreparePayResultType } from "@gnu-taler/taler-util";
-import { tests } from "@gnu-taler/web-util/lib/index.browser";
+import * as tests from "@gnu-taler/web-util/testing";
 import { ReadyView } from "./views.js";
 
 export default {
diff --git a/packages/taler-wallet-webextension/src/cta/InvoicePay/views.tsx 
b/packages/taler-wallet-webextension/src/cta/InvoicePay/views.tsx
index caddf7460..85923a2c5 100644
--- a/packages/taler-wallet-webextension/src/cta/InvoicePay/views.tsx
+++ b/packages/taler-wallet-webextension/src/cta/InvoicePay/views.tsx
@@ -21,7 +21,7 @@ import { Part } from "../../components/Part.js";
 import { PaymentButtons } from "../../components/PaymentButtons.js";
 import { SubTitle, WalletAction } from "../../components/styled/index.js";
 import { Time } from "../../components/Time.js";
-import { useTranslationContext } from "@gnu-taler/web-util/lib/index.browser";
+import { useTranslationContext } from "@gnu-taler/web-util/browser";
 import { getAmountWithFee, InvoiceDetails } from "../../wallet/Transaction.js";
 import { State } from "./index.js";
 
diff --git a/packages/taler-wallet-webextension/src/cta/Payment/state.ts 
b/packages/taler-wallet-webextension/src/cta/Payment/state.ts
index 5cd4686ce..586ef377c 100644
--- a/packages/taler-wallet-webextension/src/cta/Payment/state.ts
+++ b/packages/taler-wallet-webextension/src/cta/Payment/state.ts
@@ -24,7 +24,7 @@ import { WalletApiOperation } from 
"@gnu-taler/taler-wallet-core";
 import { useEffect } from "preact/hooks";
 import { alertFromError, useAlertContext } from "../../context/alert.js";
 import { useBackendContext } from "../../context/backend.js";
-import { useTranslationContext } from "@gnu-taler/web-util/lib/index.browser";
+import { useTranslationContext } from "@gnu-taler/web-util/browser";
 import { useAsyncAsHook } from "../../hooks/useAsyncAsHook.js";
 import { ButtonHandler } from "../../mui/handlers.js";
 import { Props, State } from "./index.js";
diff --git a/packages/taler-wallet-webextension/src/cta/Payment/stories.tsx 
b/packages/taler-wallet-webextension/src/cta/Payment/stories.tsx
index 2ac3ab57d..1450c627a 100644
--- a/packages/taler-wallet-webextension/src/cta/Payment/stories.tsx
+++ b/packages/taler-wallet-webextension/src/cta/Payment/stories.tsx
@@ -24,7 +24,7 @@ import {
   MerchantContractTerms as ContractTerms,
   PreparePayResultType,
 } from "@gnu-taler/taler-util";
-import { tests } from "@gnu-taler/web-util/lib/index.browser";
+import * as tests from "@gnu-taler/web-util/testing";
 import beer from "../../../static-dev/beer.png";
 import merchantIcon from "../../../static-dev/merchant-icon.jpeg";
 import { nullFunction } from "../../mui/handlers.js";
diff --git a/packages/taler-wallet-webextension/src/cta/Payment/test.ts 
b/packages/taler-wallet-webextension/src/cta/Payment/test.ts
index 70557a3c8..655f21eb9 100644
--- a/packages/taler-wallet-webextension/src/cta/Payment/test.ts
+++ b/packages/taler-wallet-webextension/src/cta/Payment/test.ts
@@ -31,7 +31,7 @@ import {
 } from "@gnu-taler/taler-util";
 import { WalletApiOperation } from "@gnu-taler/taler-wallet-core";
 import { expect } from "chai";
-import { tests } from "@gnu-taler/web-util/lib/index.browser";
+import * as tests from "@gnu-taler/web-util/testing";
 import { ErrorAlert, useAlertContext } from "../../context/alert.js";
 import { nullFunction } from "../../mui/handlers.js";
 import { createWalletApiMock } from "../../test-utils.js";
diff --git a/packages/taler-wallet-webextension/src/cta/Payment/views.tsx 
b/packages/taler-wallet-webextension/src/cta/Payment/views.tsx
index 8032068f9..ea3d93f3f 100644
--- a/packages/taler-wallet-webextension/src/cta/Payment/views.tsx
+++ b/packages/taler-wallet-webextension/src/cta/Payment/views.tsx
@@ -26,7 +26,7 @@ import { Part } from "../../components/Part.js";
 import { PaymentButtons } from "../../components/PaymentButtons.js";
 import { SuccessBox, WarningBox } from "../../components/styled/index.js";
 import { Time } from "../../components/Time.js";
-import { useTranslationContext } from "@gnu-taler/web-util/lib/index.browser";
+import { useTranslationContext } from "@gnu-taler/web-util/browser";
 import {
   getAmountWithFee,
   MerchantDetails,
diff --git 
a/packages/taler-wallet-webextension/src/cta/PaymentTemplate/state.ts 
b/packages/taler-wallet-webextension/src/cta/PaymentTemplate/state.ts
index 7700dfbce..a33361be8 100644
--- a/packages/taler-wallet-webextension/src/cta/PaymentTemplate/state.ts
+++ b/packages/taler-wallet-webextension/src/cta/PaymentTemplate/state.ts
@@ -19,7 +19,7 @@ import { WalletApiOperation } from 
"@gnu-taler/taler-wallet-core";
 import { useState } from "preact/hooks";
 import { alertFromError, useAlertContext } from "../../context/alert.js";
 import { useBackendContext } from "../../context/backend.js";
-import { useTranslationContext } from "@gnu-taler/web-util/lib/index.browser";
+import { useTranslationContext } from "@gnu-taler/web-util/browser";
 import { useAsyncAsHook } from "../../hooks/useAsyncAsHook.js";
 import { AmountFieldHandler, TextFieldHandler } from "../../mui/handlers.js";
 import { Props, State } from "./index.js";
diff --git 
a/packages/taler-wallet-webextension/src/cta/PaymentTemplate/stories.tsx 
b/packages/taler-wallet-webextension/src/cta/PaymentTemplate/stories.tsx
index 93421eaa3..02607fa30 100644
--- a/packages/taler-wallet-webextension/src/cta/PaymentTemplate/stories.tsx
+++ b/packages/taler-wallet-webextension/src/cta/PaymentTemplate/stories.tsx
@@ -19,7 +19,7 @@
  * @author Sebastian Javier Marchano (sebasjm)
  */
 
-import { tests } from "@gnu-taler/web-util/lib/index.browser";
+import * as tests from "@gnu-taler/web-util/testing";
 import { ReadyView } from "./views.js";
 
 export default {
diff --git a/packages/taler-wallet-webextension/src/cta/PaymentTemplate/test.ts 
b/packages/taler-wallet-webextension/src/cta/PaymentTemplate/test.ts
index 47def9cec..d15761eae 100644
--- a/packages/taler-wallet-webextension/src/cta/PaymentTemplate/test.ts
+++ b/packages/taler-wallet-webextension/src/cta/PaymentTemplate/test.ts
@@ -20,7 +20,7 @@
  */
 
 import { expect } from "chai";
-import { tests } from "@gnu-taler/web-util/lib/index.browser";
+import * as tests from "@gnu-taler/web-util/testing";
 import { nullFunction } from "../../mui/handlers.js";
 import { createWalletApiMock } from "../../test-utils.js";
 import { useComponentState } from "./state.js";
diff --git 
a/packages/taler-wallet-webextension/src/cta/PaymentTemplate/views.tsx 
b/packages/taler-wallet-webextension/src/cta/PaymentTemplate/views.tsx
index bd265750f..88658b5e1 100644
--- a/packages/taler-wallet-webextension/src/cta/PaymentTemplate/views.tsx
+++ b/packages/taler-wallet-webextension/src/cta/PaymentTemplate/views.tsx
@@ -17,7 +17,7 @@
 import { Fragment, h, VNode } from "preact";
 import { AmountField } from "../../components/AmountField.js";
 import { Part } from "../../components/Part.js";
-import { useTranslationContext } from "@gnu-taler/web-util/lib/index.browser";
+import { useTranslationContext } from "@gnu-taler/web-util/browser";
 import { Button } from "../../mui/Button.js";
 import { TextField } from "../../mui/TextField.js";
 import { State } from "./index.js";
diff --git a/packages/taler-wallet-webextension/src/cta/Recovery/state.ts 
b/packages/taler-wallet-webextension/src/cta/Recovery/state.ts
index dd949ee8a..5399c5bfc 100644
--- a/packages/taler-wallet-webextension/src/cta/Recovery/state.ts
+++ b/packages/taler-wallet-webextension/src/cta/Recovery/state.ts
@@ -18,7 +18,7 @@ import { parseRestoreUri } from "@gnu-taler/taler-util";
 import { WalletApiOperation } from "@gnu-taler/taler-wallet-core";
 import { useAlertContext } from "../../context/alert.js";
 import { useBackendContext } from "../../context/backend.js";
-import { useTranslationContext } from "@gnu-taler/web-util/lib/index.browser";
+import { useTranslationContext } from "@gnu-taler/web-util/browser";
 import { Props, State } from "./index.js";
 
 export function useComponentState({
diff --git a/packages/taler-wallet-webextension/src/cta/Recovery/stories.tsx 
b/packages/taler-wallet-webextension/src/cta/Recovery/stories.tsx
index 4f7a14c6d..4d8dc3737 100644
--- a/packages/taler-wallet-webextension/src/cta/Recovery/stories.tsx
+++ b/packages/taler-wallet-webextension/src/cta/Recovery/stories.tsx
@@ -20,7 +20,7 @@
  */
 
 import { Amounts } from "@gnu-taler/taler-util";
-import { tests } from "@gnu-taler/web-util/lib/index.browser";
+import * as tests from "@gnu-taler/web-util/testing";
 import { ReadyView } from "./views.js";
 
 export default {
diff --git a/packages/taler-wallet-webextension/src/cta/Recovery/views.tsx 
b/packages/taler-wallet-webextension/src/cta/Recovery/views.tsx
index 243c61d75..5a3a00daa 100644
--- a/packages/taler-wallet-webextension/src/cta/Recovery/views.tsx
+++ b/packages/taler-wallet-webextension/src/cta/Recovery/views.tsx
@@ -17,7 +17,7 @@
 import { Fragment, h, VNode } from "preact";
 import { LogoHeader } from "../../components/LogoHeader.js";
 import { SubTitle, WalletAction } from "../../components/styled/index.js";
-import { useTranslationContext } from "@gnu-taler/web-util/lib/index.browser";
+import { useTranslationContext } from "@gnu-taler/web-util/browser";
 import { Button } from "../../mui/Button.js";
 import { State } from "./index.js";
 
diff --git a/packages/taler-wallet-webextension/src/cta/Refund/state.ts 
b/packages/taler-wallet-webextension/src/cta/Refund/state.ts
index 600a73413..3a5e79040 100644
--- a/packages/taler-wallet-webextension/src/cta/Refund/state.ts
+++ b/packages/taler-wallet-webextension/src/cta/Refund/state.ts
@@ -19,7 +19,7 @@ import { WalletApiOperation } from 
"@gnu-taler/taler-wallet-core";
 import { useEffect, useState } from "preact/hooks";
 import { alertFromError, useAlertContext } from "../../context/alert.js";
 import { useBackendContext } from "../../context/backend.js";
-import { useTranslationContext } from "@gnu-taler/web-util/lib/index.browser";
+import { useTranslationContext } from "@gnu-taler/web-util/browser";
 import { useAsyncAsHook } from "../../hooks/useAsyncAsHook.js";
 import { Props, State } from "./index.js";
 
diff --git a/packages/taler-wallet-webextension/src/cta/Refund/stories.tsx 
b/packages/taler-wallet-webextension/src/cta/Refund/stories.tsx
index faaee1104..649e427a5 100644
--- a/packages/taler-wallet-webextension/src/cta/Refund/stories.tsx
+++ b/packages/taler-wallet-webextension/src/cta/Refund/stories.tsx
@@ -21,7 +21,7 @@
 
 import { Amounts } from "@gnu-taler/taler-util";
 import beer from "../../../static-dev/beer.png";
-import { tests } from "@gnu-taler/web-util/lib/index.browser";
+import * as tests from "@gnu-taler/web-util/testing";
 import { IgnoredView, InProgressView, ReadyView } from "./views.js";
 export default {
   title: "refund",
diff --git a/packages/taler-wallet-webextension/src/cta/Refund/test.ts 
b/packages/taler-wallet-webextension/src/cta/Refund/test.ts
index 670534f40..1a40cfbe3 100644
--- a/packages/taler-wallet-webextension/src/cta/Refund/test.ts
+++ b/packages/taler-wallet-webextension/src/cta/Refund/test.ts
@@ -26,7 +26,7 @@ import {
 } from "@gnu-taler/taler-util";
 import { WalletApiOperation } from "@gnu-taler/taler-wallet-core";
 import { expect } from "chai";
-import { tests } from "@gnu-taler/web-util/lib/index.browser";
+import * as tests from "@gnu-taler/web-util/testing";
 import { nullFunction } from "../../mui/handlers.js";
 import { createWalletApiMock } from "../../test-utils.js";
 import { useComponentState } from "./state.js";
diff --git a/packages/taler-wallet-webextension/src/cta/Refund/views.tsx 
b/packages/taler-wallet-webextension/src/cta/Refund/views.tsx
index c0cbc780a..8f69056de 100644
--- a/packages/taler-wallet-webextension/src/cta/Refund/views.tsx
+++ b/packages/taler-wallet-webextension/src/cta/Refund/views.tsx
@@ -21,7 +21,7 @@ import { LogoHeader } from "../../components/LogoHeader.js";
 import { Part } from "../../components/Part.js";
 import { ProductList } from "../../components/ProductList.js";
 import { Link, SubTitle, WalletAction } from 
"../../components/styled/index.js";
-import { useTranslationContext } from "@gnu-taler/web-util/lib/index.browser";
+import { useTranslationContext } from "@gnu-taler/web-util/browser";
 import { Button } from "../../mui/Button.js";
 import { State } from "./index.js";
 
diff --git a/packages/taler-wallet-webextension/src/cta/Tip/state.ts 
b/packages/taler-wallet-webextension/src/cta/Tip/state.ts
index 911ec25ed..d34e9e264 100644
--- a/packages/taler-wallet-webextension/src/cta/Tip/state.ts
+++ b/packages/taler-wallet-webextension/src/cta/Tip/state.ts
@@ -18,7 +18,7 @@ import { Amounts } from "@gnu-taler/taler-util";
 import { WalletApiOperation } from "@gnu-taler/taler-wallet-core";
 import { alertFromError, useAlertContext } from "../../context/alert.js";
 import { useBackendContext } from "../../context/backend.js";
-import { useTranslationContext } from "@gnu-taler/web-util/lib/index.browser";
+import { useTranslationContext } from "@gnu-taler/web-util/browser";
 import { useAsyncAsHook } from "../../hooks/useAsyncAsHook.js";
 import { Props, State } from "./index.js";
 
diff --git a/packages/taler-wallet-webextension/src/cta/Tip/stories.tsx 
b/packages/taler-wallet-webextension/src/cta/Tip/stories.tsx
index dd358d9d2..bd5fdefd9 100644
--- a/packages/taler-wallet-webextension/src/cta/Tip/stories.tsx
+++ b/packages/taler-wallet-webextension/src/cta/Tip/stories.tsx
@@ -20,7 +20,7 @@
  */
 
 import { Amounts } from "@gnu-taler/taler-util";
-import { tests } from "@gnu-taler/web-util/lib/index.browser";
+import * as tests from "@gnu-taler/web-util/testing";
 import { AcceptedView, ReadyView } from "./views.js";
 
 export default {
diff --git a/packages/taler-wallet-webextension/src/cta/Tip/test.ts 
b/packages/taler-wallet-webextension/src/cta/Tip/test.ts
index 87f397ff4..4d1925145 100644
--- a/packages/taler-wallet-webextension/src/cta/Tip/test.ts
+++ b/packages/taler-wallet-webextension/src/cta/Tip/test.ts
@@ -22,7 +22,7 @@
 import { Amounts } from "@gnu-taler/taler-util";
 import { WalletApiOperation } from "@gnu-taler/taler-wallet-core";
 import { expect } from "chai";
-import { tests } from "@gnu-taler/web-util/lib/index.browser";
+import * as tests from "@gnu-taler/web-util/testing";
 import { nullFunction } from "../../mui/handlers.js";
 import { createWalletApiMock } from "../../test-utils.js";
 import { Props } from "./index.js";
diff --git a/packages/taler-wallet-webextension/src/cta/Tip/views.tsx 
b/packages/taler-wallet-webextension/src/cta/Tip/views.tsx
index 1fd9c2098..5d99a0132 100644
--- a/packages/taler-wallet-webextension/src/cta/Tip/views.tsx
+++ b/packages/taler-wallet-webextension/src/cta/Tip/views.tsx
@@ -20,7 +20,7 @@ import { Amount } from "../../components/Amount.js";
 import { LogoHeader } from "../../components/LogoHeader.js";
 import { Part } from "../../components/Part.js";
 import { Link, SubTitle, WalletAction } from 
"../../components/styled/index.js";
-import { useTranslationContext } from "@gnu-taler/web-util/lib/index.browser";
+import { useTranslationContext } from "@gnu-taler/web-util/browser";
 import { Button } from "../../mui/Button.js";
 import { State } from "./index.js";
 
diff --git a/packages/taler-wallet-webextension/src/cta/TransferCreate/state.ts 
b/packages/taler-wallet-webextension/src/cta/TransferCreate/state.ts
index 7625dadeb..edd823181 100644
--- a/packages/taler-wallet-webextension/src/cta/TransferCreate/state.ts
+++ b/packages/taler-wallet-webextension/src/cta/TransferCreate/state.ts
@@ -20,7 +20,7 @@ import { isFuture, parse } from "date-fns";
 import { useState } from "preact/hooks";
 import { alertFromError, useAlertContext } from "../../context/alert.js";
 import { useBackendContext } from "../../context/backend.js";
-import { useTranslationContext } from "@gnu-taler/web-util/lib/index.browser";
+import { useTranslationContext } from "@gnu-taler/web-util/browser";
 import { useAsyncAsHook } from "../../hooks/useAsyncAsHook.js";
 import { Props, State } from "./index.js";
 
diff --git 
a/packages/taler-wallet-webextension/src/cta/TransferCreate/stories.tsx 
b/packages/taler-wallet-webextension/src/cta/TransferCreate/stories.tsx
index 57409bde5..8e9fbbe63 100644
--- a/packages/taler-wallet-webextension/src/cta/TransferCreate/stories.tsx
+++ b/packages/taler-wallet-webextension/src/cta/TransferCreate/stories.tsx
@@ -19,7 +19,7 @@
  * @author Sebastian Javier Marchano (sebasjm)
  */
 
-import { tests } from "@gnu-taler/web-util/lib/index.browser";
+import * as tests from "@gnu-taler/web-util/testing";
 import { nullFunction } from "../../mui/handlers.js";
 import { ReadyView } from "./views.js";
 
diff --git 
a/packages/taler-wallet-webextension/src/cta/TransferCreate/views.tsx 
b/packages/taler-wallet-webextension/src/cta/TransferCreate/views.tsx
index 51d36c0cf..8fe88025f 100644
--- a/packages/taler-wallet-webextension/src/cta/TransferCreate/views.tsx
+++ b/packages/taler-wallet-webextension/src/cta/TransferCreate/views.tsx
@@ -21,7 +21,7 @@ import { ErrorTalerOperation } from 
"../../components/ErrorTalerOperation.js";
 import { LogoHeader } from "../../components/LogoHeader.js";
 import { Part } from "../../components/Part.js";
 import { Link, SubTitle, WalletAction } from 
"../../components/styled/index.js";
-import { useTranslationContext } from "@gnu-taler/web-util/lib/index.browser";
+import { useTranslationContext } from "@gnu-taler/web-util/browser";
 import { Button } from "../../mui/Button.js";
 import { TextField } from "../../mui/TextField.js";
 import { getAmountWithFee, TransferDetails } from 
"../../wallet/Transaction.js";
diff --git a/packages/taler-wallet-webextension/src/cta/TransferPickup/state.ts 
b/packages/taler-wallet-webextension/src/cta/TransferPickup/state.ts
index 292a4e867..9b309ce2f 100644
--- a/packages/taler-wallet-webextension/src/cta/TransferPickup/state.ts
+++ b/packages/taler-wallet-webextension/src/cta/TransferPickup/state.ts
@@ -22,7 +22,7 @@ import {
 import { WalletApiOperation } from "@gnu-taler/taler-wallet-core";
 import { alertFromError, useAlertContext } from "../../context/alert.js";
 import { useBackendContext } from "../../context/backend.js";
-import { useTranslationContext } from "@gnu-taler/web-util/lib/index.browser";
+import { useTranslationContext } from "@gnu-taler/web-util/browser";
 import { useAsyncAsHook } from "../../hooks/useAsyncAsHook.js";
 import { Props, State } from "./index.js";
 
diff --git 
a/packages/taler-wallet-webextension/src/cta/TransferPickup/stories.tsx 
b/packages/taler-wallet-webextension/src/cta/TransferPickup/stories.tsx
index ed8bad2f2..000d450b5 100644
--- a/packages/taler-wallet-webextension/src/cta/TransferPickup/stories.tsx
+++ b/packages/taler-wallet-webextension/src/cta/TransferPickup/stories.tsx
@@ -19,7 +19,7 @@
  * @author Sebastian Javier Marchano (sebasjm)
  */
 
-import { tests } from "@gnu-taler/web-util/lib/index.browser";
+import * as tests from "@gnu-taler/web-util/testing";
 import { ReadyView } from "./views.js";
 
 export default {
diff --git 
a/packages/taler-wallet-webextension/src/cta/TransferPickup/views.tsx 
b/packages/taler-wallet-webextension/src/cta/TransferPickup/views.tsx
index aa757e587..189554a49 100644
--- a/packages/taler-wallet-webextension/src/cta/TransferPickup/views.tsx
+++ b/packages/taler-wallet-webextension/src/cta/TransferPickup/views.tsx
@@ -21,7 +21,7 @@ import { LogoHeader } from "../../components/LogoHeader.js";
 import { Part } from "../../components/Part.js";
 import { Link, SubTitle, WalletAction } from 
"../../components/styled/index.js";
 import { Time } from "../../components/Time.js";
-import { useTranslationContext } from "@gnu-taler/web-util/lib/index.browser";
+import { useTranslationContext } from "@gnu-taler/web-util/browser";
 import { Button } from "../../mui/Button.js";
 import { getAmountWithFee, TransferDetails } from 
"../../wallet/Transaction.js";
 import { State } from "./index.js";
diff --git a/packages/taler-wallet-webextension/src/cta/Withdraw/state.ts 
b/packages/taler-wallet-webextension/src/cta/Withdraw/state.ts
index a4f9ebe09..717d3ba6b 100644
--- a/packages/taler-wallet-webextension/src/cta/Withdraw/state.ts
+++ b/packages/taler-wallet-webextension/src/cta/Withdraw/state.ts
@@ -26,7 +26,7 @@ import { WalletApiOperation } from 
"@gnu-taler/taler-wallet-core";
 import { useState } from "preact/hooks";
 import { alertFromError, useAlertContext } from "../../context/alert.js";
 import { useBackendContext } from "../../context/backend.js";
-import { useTranslationContext } from "@gnu-taler/web-util/lib/index.browser";
+import { useTranslationContext } from "@gnu-taler/web-util/browser";
 import { useAsyncAsHook } from "../../hooks/useAsyncAsHook.js";
 import { useSelectedExchange } from "../../hooks/useSelectedExchange.js";
 import { RecursiveState } from "../../utils/index.js";
diff --git a/packages/taler-wallet-webextension/src/cta/Withdraw/stories.tsx 
b/packages/taler-wallet-webextension/src/cta/Withdraw/stories.tsx
index cde03dd8f..29f7e0a30 100644
--- a/packages/taler-wallet-webextension/src/cta/Withdraw/stories.tsx
+++ b/packages/taler-wallet-webextension/src/cta/Withdraw/stories.tsx
@@ -20,7 +20,7 @@
  */
 
 import { ExchangeListItem } from "@gnu-taler/taler-util";
-import { tests } from "@gnu-taler/web-util/lib/index.browser";
+import * as tests from "@gnu-taler/web-util/testing";
 import { nullFunction } from "../../mui/handlers.js";
 // import { TermsState } from "../../utils/index.js";
 import { SuccessView } from "./views.js";
diff --git a/packages/taler-wallet-webextension/src/cta/Withdraw/test.ts 
b/packages/taler-wallet-webextension/src/cta/Withdraw/test.ts
index 5850c7ab8..a02f40924 100644
--- a/packages/taler-wallet-webextension/src/cta/Withdraw/test.ts
+++ b/packages/taler-wallet-webextension/src/cta/Withdraw/test.ts
@@ -27,7 +27,7 @@ import {
 } from "@gnu-taler/taler-util";
 import { WalletApiOperation } from "@gnu-taler/taler-wallet-core";
 import { expect } from "chai";
-import { tests } from "@gnu-taler/web-util/lib/index.browser";
+import * as tests from "@gnu-taler/web-util/testing";
 import { createWalletApiMock } from "../../test-utils.js";
 import { useComponentStateFromURI } from "./state.js";
 
diff --git a/packages/taler-wallet-webextension/src/cta/Withdraw/views.tsx 
b/packages/taler-wallet-webextension/src/cta/Withdraw/views.tsx
index 278dab840..4405d57b8 100644
--- a/packages/taler-wallet-webextension/src/cta/Withdraw/views.tsx
+++ b/packages/taler-wallet-webextension/src/cta/Withdraw/views.tsx
@@ -23,7 +23,7 @@ import { QR } from "../../components/QR.js";
 import { SelectList } from "../../components/SelectList.js";
 import { Input, LinkSuccess, SvgIcon } from "../../components/styled/index.js";
 import { TermsOfService } from "../../components/TermsOfService/index.js";
-import { useTranslationContext } from "@gnu-taler/web-util/lib/index.browser";
+import { useTranslationContext } from "@gnu-taler/web-util/browser";
 import { Button } from "../../mui/Button.js";
 import editIcon from "../../svg/edit_24px.svg";
 import {
diff --git a/packages/taler-wallet-webextension/src/hooks/useSettings.ts 
b/packages/taler-wallet-webextension/src/hooks/useSettings.ts
index 1fa2b0539..ebb1e991c 100644
--- a/packages/taler-wallet-webextension/src/hooks/useSettings.ts
+++ b/packages/taler-wallet-webextension/src/hooks/useSettings.ts
@@ -14,7 +14,7 @@
  GNU Taler; see the file COPYING.  If not, see <http://www.gnu.org/licenses/>
  */
 
-import { useLocalStorage } from "@gnu-taler/web-util/lib/index.browser";
+import { useLocalStorage } from "@gnu-taler/web-util/browser";
 import { Settings, defaultSettings } from "../platform/api.js";
 
 function parse_json_or_undefined<T>(str: string | undefined): T | undefined {
diff --git 
a/packages/taler-wallet-webextension/src/hooks/useTalerActionURL.test.ts 
b/packages/taler-wallet-webextension/src/hooks/useTalerActionURL.test.ts
index e70f7f9be..0bb47530c 100644
--- a/packages/taler-wallet-webextension/src/hooks/useTalerActionURL.test.ts
+++ b/packages/taler-wallet-webextension/src/hooks/useTalerActionURL.test.ts
@@ -17,7 +17,7 @@ import { expect } from "chai";
 import { h, VNode } from "preact";
 import { IoCProviderForTesting } from "../context/iocContext.js";
 import { useTalerActionURL } from "./useTalerActionURL.js";
-import { tests } from "@gnu-taler/web-util/lib/index.browser";
+import * as tests from "@gnu-taler/web-util/testing";
 
 describe("useTalerActionURL hook", () => {
   it("should be set url to undefined when dismiss", async () => {
diff --git a/packages/taler-wallet-webextension/src/mui/Typography.tsx 
b/packages/taler-wallet-webextension/src/mui/Typography.tsx
index eaff8c4fd..c9c811c99 100644
--- a/packages/taler-wallet-webextension/src/mui/Typography.tsx
+++ b/packages/taler-wallet-webextension/src/mui/Typography.tsx
@@ -15,7 +15,7 @@
  */
 import { css } from "@linaria/core";
 import { ComponentChildren, h, VNode } from "preact";
-import { useTranslationContext } from "@gnu-taler/web-util/lib/index.browser";
+import { useTranslationContext } from "@gnu-taler/web-util/browser";
 // eslint-disable-next-line import/extensions
 import { theme } from "./style.js";
 
diff --git a/packages/taler-wallet-webextension/src/popup/Application.tsx 
b/packages/taler-wallet-webextension/src/popup/Application.tsx
index e0cb840aa..234e73eed 100644
--- a/packages/taler-wallet-webextension/src/popup/Application.tsx
+++ b/packages/taler-wallet-webextension/src/popup/Application.tsx
@@ -23,7 +23,7 @@
 import {
   TranslationProvider,
   useTranslationContext,
-} from "@gnu-taler/web-util/lib/index.browser";
+} from "@gnu-taler/web-util/browser";
 import { createHashHistory } from "history";
 import { ComponentChildren, Fragment, h, VNode } from "preact";
 import { route, Route, Router } from "preact-router";
diff --git a/packages/taler-wallet-webextension/src/popup/Balance.stories.tsx 
b/packages/taler-wallet-webextension/src/popup/Balance.stories.tsx
index 6bfc75800..d2c074d32 100644
--- a/packages/taler-wallet-webextension/src/popup/Balance.stories.tsx
+++ b/packages/taler-wallet-webextension/src/popup/Balance.stories.tsx
@@ -20,7 +20,7 @@
  */
 
 import { ScopeType } from "@gnu-taler/taler-util";
-import { tests } from "@gnu-taler/web-util/lib/index.browser";
+import * as tests from "@gnu-taler/web-util/testing";
 import { BalanceView as TestedComponent } from "./BalancePage.js";
 
 export default {
diff --git a/packages/taler-wallet-webextension/src/popup/BalancePage.tsx 
b/packages/taler-wallet-webextension/src/popup/BalancePage.tsx
index e3492c5f5..0469e8c40 100644
--- a/packages/taler-wallet-webextension/src/popup/BalancePage.tsx
+++ b/packages/taler-wallet-webextension/src/popup/BalancePage.tsx
@@ -28,7 +28,7 @@ import {
   useAlertContext,
 } from "../context/alert.js";
 import { useBackendContext } from "../context/backend.js";
-import { useTranslationContext } from "@gnu-taler/web-util/lib/index.browser";
+import { useTranslationContext } from "@gnu-taler/web-util/browser";
 import { useAsyncAsHook } from "../hooks/useAsyncAsHook.js";
 import { Button } from "../mui/Button.js";
 import { ButtonHandler } from "../mui/handlers.js";
diff --git a/packages/taler-wallet-webextension/src/popup/NoBalanceHelp.tsx 
b/packages/taler-wallet-webextension/src/popup/NoBalanceHelp.tsx
index 4034a49d5..8d0e6876e 100644
--- a/packages/taler-wallet-webextension/src/popup/NoBalanceHelp.tsx
+++ b/packages/taler-wallet-webextension/src/popup/NoBalanceHelp.tsx
@@ -15,7 +15,7 @@
  */
 import { css } from "@linaria/core";
 import { Fragment, h, VNode } from "preact";
-import { useTranslationContext } from "@gnu-taler/web-util/lib/index.browser";
+import { useTranslationContext } from "@gnu-taler/web-util/browser";
 import { Alert } from "../mui/Alert.js";
 import { Button } from "../mui/Button.js";
 import { ButtonHandler } from "../mui/handlers.js";
diff --git 
a/packages/taler-wallet-webextension/src/popup/TalerActionFound.stories.tsx 
b/packages/taler-wallet-webextension/src/popup/TalerActionFound.stories.tsx
index e928cb538..a5b31b387 100644
--- a/packages/taler-wallet-webextension/src/popup/TalerActionFound.stories.tsx
+++ b/packages/taler-wallet-webextension/src/popup/TalerActionFound.stories.tsx
@@ -19,7 +19,7 @@
  * @author Sebastian Javier Marchano (sebasjm)
  */
 
-import { tests } from "@gnu-taler/web-util/lib/index.browser";
+import * as tests from "@gnu-taler/web-util/testing";
 import { TalerActionFound as TestedComponent } from "./TalerActionFound.js";
 
 export default {
diff --git a/packages/taler-wallet-webextension/src/popup/TalerActionFound.tsx 
b/packages/taler-wallet-webextension/src/popup/TalerActionFound.tsx
index ffd883098..af966a5ae 100644
--- a/packages/taler-wallet-webextension/src/popup/TalerActionFound.tsx
+++ b/packages/taler-wallet-webextension/src/popup/TalerActionFound.tsx
@@ -20,7 +20,7 @@
  */
 
 import { parseTalerUri, TalerUri, TalerUriAction } from 
"@gnu-taler/taler-util";
-import { useTranslationContext } from "@gnu-taler/web-util/lib/index.browser";
+import { useTranslationContext } from "@gnu-taler/web-util/browser";
 import { Fragment, h, VNode } from "preact";
 import { Title } from "../components/styled/index.js";
 import { Button } from "../mui/Button.js";
diff --git a/packages/taler-wallet-webextension/src/stories.test.ts 
b/packages/taler-wallet-webextension/src/stories.test.ts
index bf6ef2afe..b4af1bc1a 100644
--- a/packages/taler-wallet-webextension/src/stories.test.ts
+++ b/packages/taler-wallet-webextension/src/stories.test.ts
@@ -19,7 +19,8 @@
  * @author Sebastian Javier Marchano (sebasjm)
  */
 import { setupI18n } from "@gnu-taler/taler-util";
-import { parseGroupImport, tests } from 
"@gnu-taler/web-util/lib/index.browser";
+import { parseGroupImport } from "@gnu-taler/web-util/browser";
+import * as tests from "@gnu-taler/web-util/testing";
 import chromeAPI from "./platform/chrome.js";
 import { setupPlatform } from "./platform/foreground.js";
 
diff --git a/packages/taler-wallet-webextension/src/stories.tsx 
b/packages/taler-wallet-webextension/src/stories.tsx
index b5748d962..98ab301a3 100644
--- a/packages/taler-wallet-webextension/src/stories.tsx
+++ b/packages/taler-wallet-webextension/src/stories.tsx
@@ -34,7 +34,7 @@ import * as mui from "./mui/index.stories.js";
 import * as popup from "./popup/index.stories.js";
 import * as wallet from "./wallet/index.stories.js";
 
-import { renderStories } from "@gnu-taler/web-util/lib/index.browser";
+import { renderStories } from "@gnu-taler/web-util/browser";
 import { AlertProvider } from "./context/alert.js";
 
 function main(): void {
diff --git a/packages/taler-wallet-webextension/src/test-utils.ts 
b/packages/taler-wallet-webextension/src/test-utils.ts
index 9585da346..dc74d80bd 100644
--- a/packages/taler-wallet-webextension/src/test-utils.ts
+++ b/packages/taler-wallet-webextension/src/test-utils.ts
@@ -21,7 +21,7 @@ import {
   WalletCoreRequestType,
   WalletCoreResponseType,
 } from "@gnu-taler/taler-wallet-core";
-import { TranslationProvider } from "@gnu-taler/web-util/lib/index.browser";
+import { TranslationProvider } from "@gnu-taler/web-util/browser";
 import {
   ComponentChildren,
   FunctionalComponent,
diff --git 
a/packages/taler-wallet-webextension/src/wallet/AddBackupProvider/stories.tsx 
b/packages/taler-wallet-webextension/src/wallet/AddBackupProvider/stories.tsx
index 9d1656ec6..736de11f4 100644
--- 
a/packages/taler-wallet-webextension/src/wallet/AddBackupProvider/stories.tsx
+++ 
b/packages/taler-wallet-webextension/src/wallet/AddBackupProvider/stories.tsx
@@ -19,7 +19,7 @@
  * @author Sebastian Javier Marchano (sebasjm)
  */
 
-import { tests } from "@gnu-taler/web-util/lib/index.browser";
+import * as tests from "@gnu-taler/web-util/testing";
 import { ConfirmProviderView, SelectProviderView } from "./views.js";
 
 export default {
diff --git 
a/packages/taler-wallet-webextension/src/wallet/AddBackupProvider/test.ts 
b/packages/taler-wallet-webextension/src/wallet/AddBackupProvider/test.ts
index 8738e7cb4..598ca9369 100644
--- a/packages/taler-wallet-webextension/src/wallet/AddBackupProvider/test.ts
+++ b/packages/taler-wallet-webextension/src/wallet/AddBackupProvider/test.ts
@@ -20,7 +20,7 @@
  */
 
 import { expect } from "chai";
-import { tests } from "@gnu-taler/web-util/lib/index.browser";
+import * as tests from "@gnu-taler/web-util/testing";
 import { nullFunction } from "../../mui/handlers.js";
 import { createWalletApiMock } from "../../test-utils.js";
 import { Props } from "./index.js";
diff --git 
a/packages/taler-wallet-webextension/src/wallet/AddBackupProvider/views.tsx 
b/packages/taler-wallet-webextension/src/wallet/AddBackupProvider/views.tsx
index ae105656b..c67c288dc 100644
--- a/packages/taler-wallet-webextension/src/wallet/AddBackupProvider/views.tsx
+++ b/packages/taler-wallet-webextension/src/wallet/AddBackupProvider/views.tsx
@@ -23,7 +23,7 @@ import {
   SubTitle,
   Title,
 } from "../../components/styled/index.js";
-import { useTranslationContext } from "@gnu-taler/web-util/lib/index.browser";
+import { useTranslationContext } from "@gnu-taler/web-util/browser";
 import { Button } from "../../mui/Button.js";
 import { TextField } from "../../mui/TextField.js";
 import { State } from "./index.js";
diff --git 
a/packages/taler-wallet-webextension/src/wallet/AddNewActionView.stories.tsx 
b/packages/taler-wallet-webextension/src/wallet/AddNewActionView.stories.tsx
index 8c45ae050..704f9e9a1 100644
--- a/packages/taler-wallet-webextension/src/wallet/AddNewActionView.stories.tsx
+++ b/packages/taler-wallet-webextension/src/wallet/AddNewActionView.stories.tsx
@@ -19,7 +19,7 @@
  * @author Sebastian Javier Marchano (sebasjm)
  */
 
-import { tests } from "@gnu-taler/web-util/lib/index.browser";
+import * as tests from "@gnu-taler/web-util/testing";
 import { AddNewActionView as TestedComponent } from "./AddNewActionView.js";
 
 export default {
diff --git a/packages/taler-wallet-webextension/src/wallet/AddNewActionView.tsx 
b/packages/taler-wallet-webextension/src/wallet/AddNewActionView.tsx
index 7f142f58b..fd9815401 100644
--- a/packages/taler-wallet-webextension/src/wallet/AddNewActionView.tsx
+++ b/packages/taler-wallet-webextension/src/wallet/AddNewActionView.tsx
@@ -14,7 +14,7 @@
  GNU Taler; see the file COPYING.  If not, see <http://www.gnu.org/licenses/>
  */
 import { parseTalerUri, TalerUriAction } from "@gnu-taler/taler-util";
-import { useTranslationContext } from "@gnu-taler/web-util/lib/index.browser";
+import { useTranslationContext } from "@gnu-taler/web-util/browser";
 import { Fragment, h, VNode } from "preact";
 import { useState } from "preact/hooks";
 import { InputWithLabel } from "../components/styled/index.js";
diff --git a/packages/taler-wallet-webextension/src/wallet/Application.tsx 
b/packages/taler-wallet-webextension/src/wallet/Application.tsx
index 6541625c5..194e34e6d 100644
--- a/packages/taler-wallet-webextension/src/wallet/Application.tsx
+++ b/packages/taler-wallet-webextension/src/wallet/Application.tsx
@@ -24,7 +24,7 @@ import { TalerUri, TranslatedString } from 
"@gnu-taler/taler-util";
 import {
   TranslationProvider,
   useTranslationContext,
-} from "@gnu-taler/web-util/lib/index.browser";
+} from "@gnu-taler/web-util/browser";
 import { createHashHistory } from "history";
 import { ComponentChildren, Fragment, VNode, h } from "preact";
 import { Route, Router, route } from "preact-router";
diff --git a/packages/taler-wallet-webextension/src/wallet/Backup.stories.tsx 
b/packages/taler-wallet-webextension/src/wallet/Backup.stories.tsx
index 8ae1a76ce..b927ffbae 100644
--- a/packages/taler-wallet-webextension/src/wallet/Backup.stories.tsx
+++ b/packages/taler-wallet-webextension/src/wallet/Backup.stories.tsx
@@ -25,7 +25,7 @@ import {
   BackupView as TestedComponent,
   ShowRecoveryInfo,
 } from "./BackupPage.js";
-import { tests } from "@gnu-taler/web-util/lib/index.browser";
+import * as tests from "@gnu-taler/web-util/testing";
 import { TalerProtocolTimestamp } from "@gnu-taler/taler-util";
 
 export default {
diff --git a/packages/taler-wallet-webextension/src/wallet/BackupPage.tsx 
b/packages/taler-wallet-webextension/src/wallet/BackupPage.tsx
index 52b9f7a10..8acfe3ecf 100644
--- a/packages/taler-wallet-webextension/src/wallet/BackupPage.tsx
+++ b/packages/taler-wallet-webextension/src/wallet/BackupPage.tsx
@@ -48,7 +48,7 @@ import {
 } from "../components/styled/index.js";
 import { alertFromError } from "../context/alert.js";
 import { useBackendContext } from "../context/backend.js";
-import { useTranslationContext } from "@gnu-taler/web-util/lib/index.browser";
+import { useTranslationContext } from "@gnu-taler/web-util/browser";
 import { useAsyncAsHook } from "../hooks/useAsyncAsHook.js";
 import { Button } from "../mui/Button.js";
 import { Pages } from "../NavigationBar.js";
diff --git a/packages/taler-wallet-webextension/src/wallet/DepositPage/state.ts 
b/packages/taler-wallet-webextension/src/wallet/DepositPage/state.ts
index fce214d73..8c773186e 100644
--- a/packages/taler-wallet-webextension/src/wallet/DepositPage/state.ts
+++ b/packages/taler-wallet-webextension/src/wallet/DepositPage/state.ts
@@ -27,7 +27,7 @@ import { WalletApiOperation } from 
"@gnu-taler/taler-wallet-core";
 import { useState } from "preact/hooks";
 import { alertFromError, useAlertContext } from "../../context/alert.js";
 import { useBackendContext } from "../../context/backend.js";
-import { useTranslationContext } from "@gnu-taler/web-util/lib/index.browser";
+import { useTranslationContext } from "@gnu-taler/web-util/browser";
 import { useAsyncAsHook } from "../../hooks/useAsyncAsHook.js";
 import { RecursiveState } from "../../utils/index.js";
 import { Props, State } from "./index.js";
diff --git 
a/packages/taler-wallet-webextension/src/wallet/DepositPage/stories.tsx 
b/packages/taler-wallet-webextension/src/wallet/DepositPage/stories.tsx
index 99f08477f..c23f83fdd 100644
--- a/packages/taler-wallet-webextension/src/wallet/DepositPage/stories.tsx
+++ b/packages/taler-wallet-webextension/src/wallet/DepositPage/stories.tsx
@@ -20,7 +20,7 @@
  */
 
 import { Amounts } from "@gnu-taler/taler-util";
-import { tests } from "@gnu-taler/web-util/lib/index.browser";
+import * as tests from "@gnu-taler/web-util/testing";
 import { nullFunction } from "../../mui/handlers.js";
 import { ReadyView } from "./views.js";
 
diff --git a/packages/taler-wallet-webextension/src/wallet/DepositPage/test.ts 
b/packages/taler-wallet-webextension/src/wallet/DepositPage/test.ts
index 03ca01201..4d09d2549 100644
--- a/packages/taler-wallet-webextension/src/wallet/DepositPage/test.ts
+++ b/packages/taler-wallet-webextension/src/wallet/DepositPage/test.ts
@@ -29,7 +29,7 @@ import {
 } from "@gnu-taler/taler-util";
 import { WalletApiOperation } from "@gnu-taler/taler-wallet-core";
 import { expect } from "chai";
-import { tests } from "@gnu-taler/web-util/lib/index.browser";
+import * as tests from "@gnu-taler/web-util/testing";
 import { nullFunction } from "../../mui/handlers.js";
 import { createWalletApiMock } from "../../test-utils.js";
 
diff --git 
a/packages/taler-wallet-webextension/src/wallet/DepositPage/views.tsx 
b/packages/taler-wallet-webextension/src/wallet/DepositPage/views.tsx
index 1a1a0c847..908becb04 100644
--- a/packages/taler-wallet-webextension/src/wallet/DepositPage/views.tsx
+++ b/packages/taler-wallet-webextension/src/wallet/DepositPage/views.tsx
@@ -20,7 +20,7 @@ import { AmountField } from "../../components/AmountField.js";
 import { ErrorMessage } from "../../components/ErrorMessage.js";
 import { SelectList } from "../../components/SelectList.js";
 import { Input, SubTitle, WarningBox } from "../../components/styled/index.js";
-import { useTranslationContext } from "@gnu-taler/web-util/lib/index.browser";
+import { useTranslationContext } from "@gnu-taler/web-util/browser";
 import { Button } from "../../mui/Button.js";
 import { Grid } from "../../mui/Grid.js";
 import { State } from "./index.js";
diff --git 
a/packages/taler-wallet-webextension/src/wallet/DestinationSelection/state.ts 
b/packages/taler-wallet-webextension/src/wallet/DestinationSelection/state.ts
index 2d843a17e..b76543b46 100644
--- 
a/packages/taler-wallet-webextension/src/wallet/DestinationSelection/state.ts
+++ 
b/packages/taler-wallet-webextension/src/wallet/DestinationSelection/state.ts
@@ -19,7 +19,7 @@ import { WalletApiOperation } from 
"@gnu-taler/taler-wallet-core";
 import { useState } from "preact/hooks";
 import { alertFromError, useAlertContext } from "../../context/alert.js";
 import { useBackendContext } from "../../context/backend.js";
-import { useTranslationContext } from "@gnu-taler/web-util/lib/index.browser";
+import { useTranslationContext } from "@gnu-taler/web-util/browser";
 import { useAsyncAsHook } from "../../hooks/useAsyncAsHook.js";
 import { assertUnreachable, RecursiveState } from "../../utils/index.js";
 import { Contact, Props, State } from "./index.js";
diff --git 
a/packages/taler-wallet-webextension/src/wallet/DestinationSelection/stories.tsx
 
b/packages/taler-wallet-webextension/src/wallet/DestinationSelection/stories.tsx
index 247affec6..d2b3ee4c1 100644
--- 
a/packages/taler-wallet-webextension/src/wallet/DestinationSelection/stories.tsx
+++ 
b/packages/taler-wallet-webextension/src/wallet/DestinationSelection/stories.tsx
@@ -19,7 +19,7 @@
  * @author Sebastian Javier Marchano (sebasjm)
  */
 
-import { tests } from "@gnu-taler/web-util/lib/index.browser";
+import * as tests from "@gnu-taler/web-util/testing";
 import { ReadyView, SelectCurrencyView } from "./views.js";
 
 export default {
diff --git 
a/packages/taler-wallet-webextension/src/wallet/DestinationSelection/test.ts 
b/packages/taler-wallet-webextension/src/wallet/DestinationSelection/test.ts
index c3ca3cc83..99b5ec176 100644
--- a/packages/taler-wallet-webextension/src/wallet/DestinationSelection/test.ts
+++ b/packages/taler-wallet-webextension/src/wallet/DestinationSelection/test.ts
@@ -27,7 +27,7 @@ import {
 } from "@gnu-taler/taler-util";
 import { WalletApiOperation } from "@gnu-taler/taler-wallet-core";
 import { expect } from "chai";
-import { tests } from "@gnu-taler/web-util/lib/index.browser";
+import * as tests from "@gnu-taler/web-util/testing";
 import { nullFunction } from "../../mui/handlers.js";
 import { createWalletApiMock } from "../../test-utils.js";
 import { useComponentState } from "./state.js";
diff --git 
a/packages/taler-wallet-webextension/src/wallet/DestinationSelection/views.tsx 
b/packages/taler-wallet-webextension/src/wallet/DestinationSelection/views.tsx
index 8416e17e9..b1542943a 100644
--- 
a/packages/taler-wallet-webextension/src/wallet/DestinationSelection/views.tsx
+++ 
b/packages/taler-wallet-webextension/src/wallet/DestinationSelection/views.tsx
@@ -25,7 +25,7 @@ import {
   LinkPrimary,
   SvgIcon,
 } from "../../components/styled/index.js";
-import { useTranslationContext } from "@gnu-taler/web-util/lib/index.browser";
+import { useTranslationContext } from "@gnu-taler/web-util/browser";
 import { Button } from "../../mui/Button.js";
 import { Grid } from "../../mui/Grid.js";
 import { Paper } from "../../mui/Paper.js";
diff --git 
a/packages/taler-wallet-webextension/src/wallet/DeveloperPage.stories.tsx 
b/packages/taler-wallet-webextension/src/wallet/DeveloperPage.stories.tsx
index d4ccb60e6..0bf271c5a 100644
--- a/packages/taler-wallet-webextension/src/wallet/DeveloperPage.stories.tsx
+++ b/packages/taler-wallet-webextension/src/wallet/DeveloperPage.stories.tsx
@@ -20,7 +20,7 @@
  */
 
 import { PendingTaskType } from "@gnu-taler/taler-wallet-core";
-import { tests } from "@gnu-taler/web-util/lib/index.browser";
+import * as tests from "@gnu-taler/web-util/testing";
 import { View as TestedComponent } from "./DeveloperPage.js";
 
 export default {
diff --git a/packages/taler-wallet-webextension/src/wallet/DeveloperPage.tsx 
b/packages/taler-wallet-webextension/src/wallet/DeveloperPage.tsx
index 1b9767c68..ddbb5bbba 100644
--- a/packages/taler-wallet-webextension/src/wallet/DeveloperPage.tsx
+++ b/packages/taler-wallet-webextension/src/wallet/DeveloperPage.tsx
@@ -34,7 +34,7 @@ import { SelectList } from "../components/SelectList.js";
 import { NotifyUpdateFadeOut } from "../components/styled/index.js";
 import { Time } from "../components/Time.js";
 import { useBackendContext } from "../context/backend.js";
-import { useTranslationContext } from "@gnu-taler/web-util/lib/index.browser";
+import { useTranslationContext } from "@gnu-taler/web-util/browser";
 import { useAsyncAsHook } from "../hooks/useAsyncAsHook.js";
 import { useDiagnostics } from "../hooks/useDiagnostics.js";
 import { Button } from "../mui/Button.js";
diff --git 
a/packages/taler-wallet-webextension/src/wallet/EmptyComponentExample/stories.tsx
 
b/packages/taler-wallet-webextension/src/wallet/EmptyComponentExample/stories.tsx
index e157e6e6f..628e97c02 100644
--- 
a/packages/taler-wallet-webextension/src/wallet/EmptyComponentExample/stories.tsx
+++ 
b/packages/taler-wallet-webextension/src/wallet/EmptyComponentExample/stories.tsx
@@ -19,7 +19,7 @@
  * @author Sebastian Javier Marchano (sebasjm)
  */
 
-import { tests } from "@gnu-taler/web-util/lib/index.browser";
+import * as tests from "@gnu-taler/web-util/testing";
 import { ReadyView } from "./views.js";
 
 export default {
diff --git 
a/packages/taler-wallet-webextension/src/wallet/EmptyComponentExample/views.tsx 
b/packages/taler-wallet-webextension/src/wallet/EmptyComponentExample/views.tsx
index b4efcdce5..a98bfef60 100644
--- 
a/packages/taler-wallet-webextension/src/wallet/EmptyComponentExample/views.tsx
+++ 
b/packages/taler-wallet-webextension/src/wallet/EmptyComponentExample/views.tsx
@@ -15,7 +15,7 @@
  */
 
 import { h, VNode } from "preact";
-import { useTranslationContext } from "@gnu-taler/web-util/lib/index.browser";
+import { useTranslationContext } from "@gnu-taler/web-util/browser";
 import { State } from "./index.js";
 
 export function ReadyView({ error }: State.Ready): VNode {
diff --git 
a/packages/taler-wallet-webextension/src/wallet/ExchangeAddConfirm.stories.tsx 
b/packages/taler-wallet-webextension/src/wallet/ExchangeAddConfirm.stories.tsx
index 216e50385..140fc58dc 100644
--- 
a/packages/taler-wallet-webextension/src/wallet/ExchangeAddConfirm.stories.tsx
+++ 
b/packages/taler-wallet-webextension/src/wallet/ExchangeAddConfirm.stories.tsx
@@ -19,7 +19,7 @@
  * @author Sebastian Javier Marchano (sebasjm)
  */
 
-import { tests } from "@gnu-taler/web-util/lib/index.browser";
+import * as tests from "@gnu-taler/web-util/testing";
 import { ExchangeAddConfirmPage as TestedComponent } from 
"./ExchangeAddConfirm.js";
 
 export default {
diff --git 
a/packages/taler-wallet-webextension/src/wallet/ExchangeAddConfirm.tsx 
b/packages/taler-wallet-webextension/src/wallet/ExchangeAddConfirm.tsx
index ccea259e8..0d4f234b3 100644
--- a/packages/taler-wallet-webextension/src/wallet/ExchangeAddConfirm.tsx
+++ b/packages/taler-wallet-webextension/src/wallet/ExchangeAddConfirm.tsx
@@ -17,7 +17,7 @@ import { Fragment, h, VNode } from "preact";
 import { useState } from "preact/hooks";
 import { Title } from "../components/styled/index.js";
 import { TermsOfService } from "../components/TermsOfService/index.js";
-import { useTranslationContext } from "@gnu-taler/web-util/lib/index.browser";
+import { useTranslationContext } from "@gnu-taler/web-util/browser";
 import { Button } from "../mui/Button.js";
 
 export interface Props {
diff --git 
a/packages/taler-wallet-webextension/src/wallet/ExchangeAddSetUrl.stories.tsx 
b/packages/taler-wallet-webextension/src/wallet/ExchangeAddSetUrl.stories.tsx
index 914ca8ae4..e69268b08 100644
--- 
a/packages/taler-wallet-webextension/src/wallet/ExchangeAddSetUrl.stories.tsx
+++ 
b/packages/taler-wallet-webextension/src/wallet/ExchangeAddSetUrl.stories.tsx
@@ -19,7 +19,7 @@
  * @author Sebastian Javier Marchano (sebasjm)
  */
 
-import { tests } from "@gnu-taler/web-util/lib/index.browser";
+import * as tests from "@gnu-taler/web-util/testing";
 import { queryToSlashKeys } from "../utils/index.js";
 import { ExchangeSetUrlPage as TestedComponent } from "./ExchangeSetUrl.js";
 
diff --git 
a/packages/taler-wallet-webextension/src/wallet/ExchangeSelection/state.ts 
b/packages/taler-wallet-webextension/src/wallet/ExchangeSelection/state.ts
index 22faddb93..1f5298ce9 100644
--- a/packages/taler-wallet-webextension/src/wallet/ExchangeSelection/state.ts
+++ b/packages/taler-wallet-webextension/src/wallet/ExchangeSelection/state.ts
@@ -22,7 +22,7 @@ import {
 import { useState } from "preact/hooks";
 import { alertFromError, useAlertContext } from "../../context/alert.js";
 import { useBackendContext } from "../../context/backend.js";
-import { useTranslationContext } from "@gnu-taler/web-util/lib/index.browser";
+import { useTranslationContext } from "@gnu-taler/web-util/browser";
 import { useAsyncAsHook } from "../../hooks/useAsyncAsHook.js";
 import { Props, State } from "./index.js";
 
diff --git 
a/packages/taler-wallet-webextension/src/wallet/ExchangeSelection/stories.tsx 
b/packages/taler-wallet-webextension/src/wallet/ExchangeSelection/stories.tsx
index 741875ad5..990e2790f 100644
--- 
a/packages/taler-wallet-webextension/src/wallet/ExchangeSelection/stories.tsx
+++ 
b/packages/taler-wallet-webextension/src/wallet/ExchangeSelection/stories.tsx
@@ -19,7 +19,7 @@
  * @author Sebastian Javier Marchano (sebasjm)
  */
 
-import { tests } from "@gnu-taler/web-util/lib/index.browser";
+import * as tests from "@gnu-taler/web-util/testing";
 import { ComparingView, ReadyView, NoExchangesView } from "./views.js";
 
 export default {
diff --git 
a/packages/taler-wallet-webextension/src/wallet/ExchangeSelection/views.tsx 
b/packages/taler-wallet-webextension/src/wallet/ExchangeSelection/views.tsx
index 98ded067b..447b07ece 100644
--- a/packages/taler-wallet-webextension/src/wallet/ExchangeSelection/views.tsx
+++ b/packages/taler-wallet-webextension/src/wallet/ExchangeSelection/views.tsx
@@ -25,7 +25,7 @@ import { SelectList } from "../../components/SelectList.js";
 import { Input, SvgIcon } from "../../components/styled/index.js";
 import { TermsOfService } from "../../components/TermsOfService/index.js";
 import { Time } from "../../components/Time.js";
-import { useTranslationContext } from "@gnu-taler/web-util/lib/index.browser";
+import { useTranslationContext } from "@gnu-taler/web-util/browser";
 import { State as SelectExchangeState } from 
"../../hooks/useSelectedExchange.js";
 import { Button } from "../../mui/Button.js";
 import arrowDown from "../../svg/chevron-down.svg";
diff --git a/packages/taler-wallet-webextension/src/wallet/ExchangeSetUrl.tsx 
b/packages/taler-wallet-webextension/src/wallet/ExchangeSetUrl.tsx
index 0b6016761..4fea3bc98 100644
--- a/packages/taler-wallet-webextension/src/wallet/ExchangeSetUrl.tsx
+++ b/packages/taler-wallet-webextension/src/wallet/ExchangeSetUrl.tsx
@@ -27,7 +27,7 @@ import {
   Title,
   WarningBox,
 } from "../components/styled/index.js";
-import { useTranslationContext } from "@gnu-taler/web-util/lib/index.browser";
+import { useTranslationContext } from "@gnu-taler/web-util/browser";
 import { Button } from "../mui/Button.js";
 
 export interface Props {
diff --git a/packages/taler-wallet-webextension/src/wallet/History.stories.tsx 
b/packages/taler-wallet-webextension/src/wallet/History.stories.tsx
index 5fc03e0a7..d27224a77 100644
--- a/packages/taler-wallet-webextension/src/wallet/History.stories.tsx
+++ b/packages/taler-wallet-webextension/src/wallet/History.stories.tsx
@@ -39,7 +39,7 @@ import {
   WithdrawalType,
 } from "@gnu-taler/taler-util";
 import { HistoryView as TestedComponent } from "./History.js";
-import { tests } from "@gnu-taler/web-util/lib/index.browser";
+import * as tests from "@gnu-taler/web-util/testing";
 
 export default {
   title: "balance",
diff --git a/packages/taler-wallet-webextension/src/wallet/History.tsx 
b/packages/taler-wallet-webextension/src/wallet/History.tsx
index 71f5c2e19..300f385ea 100644
--- a/packages/taler-wallet-webextension/src/wallet/History.tsx
+++ b/packages/taler-wallet-webextension/src/wallet/History.tsx
@@ -35,7 +35,7 @@ import { Time } from "../components/Time.js";
 import { TransactionItem } from "../components/TransactionItem.js";
 import { alertFromError, useAlertContext } from "../context/alert.js";
 import { useBackendContext } from "../context/backend.js";
-import { useTranslationContext } from "@gnu-taler/web-util/lib/index.browser";
+import { useTranslationContext } from "@gnu-taler/web-util/browser";
 import { useAsyncAsHook } from "../hooks/useAsyncAsHook.js";
 import { Button } from "../mui/Button.js";
 import { NoBalanceHelp } from "../popup/NoBalanceHelp.js";
diff --git 
a/packages/taler-wallet-webextension/src/wallet/ManageAccount/state.ts 
b/packages/taler-wallet-webextension/src/wallet/ManageAccount/state.ts
index 641b47cd7..769fe4d10 100644
--- a/packages/taler-wallet-webextension/src/wallet/ManageAccount/state.ts
+++ b/packages/taler-wallet-webextension/src/wallet/ManageAccount/state.ts
@@ -23,7 +23,7 @@ import { WalletApiOperation } from 
"@gnu-taler/taler-wallet-core";
 import { useState } from "preact/hooks";
 import { alertFromError, useAlertContext } from "../../context/alert.js";
 import { useBackendContext } from "../../context/backend.js";
-import { useTranslationContext } from "@gnu-taler/web-util/lib/index.browser";
+import { useTranslationContext } from "@gnu-taler/web-util/browser";
 import { useAsyncAsHook } from "../../hooks/useAsyncAsHook.js";
 import { AccountByType, Props, State } from "./index.js";
 import { useSettings } from "../../hooks/useSettings.js";
diff --git 
a/packages/taler-wallet-webextension/src/wallet/ManageAccount/stories.tsx 
b/packages/taler-wallet-webextension/src/wallet/ManageAccount/stories.tsx
index 81c1fcf5a..b77c456e5 100644
--- a/packages/taler-wallet-webextension/src/wallet/ManageAccount/stories.tsx
+++ b/packages/taler-wallet-webextension/src/wallet/ManageAccount/stories.tsx
@@ -19,7 +19,7 @@
  * @author Sebastian Javier Marchano (sebasjm)
  */
 
-import { tests } from "@gnu-taler/web-util/lib/index.browser";
+import * as tests from "@gnu-taler/web-util/testing";
 import { nullFunction } from "../../mui/handlers.js";
 import { ReadyView } from "./views.js";
 
diff --git 
a/packages/taler-wallet-webextension/src/wallet/ManageAccount/views.tsx 
b/packages/taler-wallet-webextension/src/wallet/ManageAccount/views.tsx
index c3e11e30d..1b4678b8a 100644
--- a/packages/taler-wallet-webextension/src/wallet/ManageAccount/views.tsx
+++ b/packages/taler-wallet-webextension/src/wallet/ManageAccount/views.tsx
@@ -29,7 +29,7 @@ import { useState } from "preact/hooks";
 import { ErrorMessage } from "../../components/ErrorMessage.js";
 import { SelectList } from "../../components/SelectList.js";
 import { Input, SubTitle, SvgIcon } from "../../components/styled/index.js";
-import { useTranslationContext } from "@gnu-taler/web-util/lib/index.browser";
+import { useTranslationContext } from "@gnu-taler/web-util/browser";
 import { Button } from "../../mui/Button.js";
 import { TextFieldHandler } from "../../mui/handlers.js";
 import { TextField } from "../../mui/TextField.js";
diff --git 
a/packages/taler-wallet-webextension/src/wallet/Notifications/state.ts 
b/packages/taler-wallet-webextension/src/wallet/Notifications/state.ts
index dbfadad26..f19fe260d 100644
--- a/packages/taler-wallet-webextension/src/wallet/Notifications/state.ts
+++ b/packages/taler-wallet-webextension/src/wallet/Notifications/state.ts
@@ -17,7 +17,7 @@
 import { WalletApiOperation } from "@gnu-taler/taler-wallet-core";
 import { alertFromError } from "../../context/alert.js";
 import { useBackendContext } from "../../context/backend.js";
-import { useTranslationContext } from "@gnu-taler/web-util/lib/index.browser";
+import { useTranslationContext } from "@gnu-taler/web-util/browser";
 import { useAsyncAsHook } from "../../hooks/useAsyncAsHook.js";
 import { Props, State } from "./index.js";
 
diff --git 
a/packages/taler-wallet-webextension/src/wallet/Notifications/stories.tsx 
b/packages/taler-wallet-webextension/src/wallet/Notifications/stories.tsx
index bce4a8f41..49ee21268 100644
--- a/packages/taler-wallet-webextension/src/wallet/Notifications/stories.tsx
+++ b/packages/taler-wallet-webextension/src/wallet/Notifications/stories.tsx
@@ -20,7 +20,7 @@
  */
 
 import { AbsoluteTime, AttentionType } from "@gnu-taler/taler-util";
-import { tests } from "@gnu-taler/web-util/lib/index.browser";
+import * as tests from "@gnu-taler/web-util/testing";
 import { ReadyView } from "./views.js";
 
 export default {
diff --git 
a/packages/taler-wallet-webextension/src/wallet/Notifications/views.tsx 
b/packages/taler-wallet-webextension/src/wallet/Notifications/views.tsx
index ea0b1c623..0f8fa7f26 100644
--- a/packages/taler-wallet-webextension/src/wallet/Notifications/views.tsx
+++ b/packages/taler-wallet-webextension/src/wallet/Notifications/views.tsx
@@ -28,7 +28,7 @@ import {
   SmallLightText,
 } from "../../components/styled/index.js";
 import { Time } from "../../components/Time.js";
-import { useTranslationContext } from "@gnu-taler/web-util/lib/index.browser";
+import { useTranslationContext } from "@gnu-taler/web-util/browser";
 import { Avatar } from "../../mui/Avatar.js";
 import { Button } from "../../mui/Button.js";
 import { Grid } from "../../mui/Grid.js";
diff --git 
a/packages/taler-wallet-webextension/src/wallet/ProviderAddConfirmProvider.stories.tsx
 
b/packages/taler-wallet-webextension/src/wallet/ProviderAddConfirmProvider.stories.tsx
index 55f80a397..e5c43e230 100644
--- 
a/packages/taler-wallet-webextension/src/wallet/ProviderAddConfirmProvider.stories.tsx
+++ 
b/packages/taler-wallet-webextension/src/wallet/ProviderAddConfirmProvider.stories.tsx
@@ -19,7 +19,7 @@
  * @author Sebastian Javier Marchano (sebasjm)
  */
 
-import { tests } from "@gnu-taler/web-util/lib/index.browser";
+import * as tests from "@gnu-taler/web-util/testing";
 import { ConfirmProviderView as TestedComponent } from "./ProviderAddPage.js";
 
 export default {
diff --git a/packages/taler-wallet-webextension/src/wallet/ProviderAddPage.tsx 
b/packages/taler-wallet-webextension/src/wallet/ProviderAddPage.tsx
index 3ac7254d5..b32eb831a 100644
--- a/packages/taler-wallet-webextension/src/wallet/ProviderAddPage.tsx
+++ b/packages/taler-wallet-webextension/src/wallet/ProviderAddPage.tsx
@@ -32,7 +32,7 @@ import {
   Title,
 } from "../components/styled/index.js";
 import { useBackendContext } from "../context/backend.js";
-import { useTranslationContext } from "@gnu-taler/web-util/lib/index.browser";
+import { useTranslationContext } from "@gnu-taler/web-util/browser";
 import { Button } from "../mui/Button.js";
 import { queryToSlashConfig } from "../utils/index.js";
 
diff --git 
a/packages/taler-wallet-webextension/src/wallet/ProviderAddSetUrl.stories.tsx 
b/packages/taler-wallet-webextension/src/wallet/ProviderAddSetUrl.stories.tsx
index b4f2533bd..d35a0ff99 100644
--- 
a/packages/taler-wallet-webextension/src/wallet/ProviderAddSetUrl.stories.tsx
+++ 
b/packages/taler-wallet-webextension/src/wallet/ProviderAddSetUrl.stories.tsx
@@ -19,7 +19,7 @@
  * @author Sebastian Javier Marchano (sebasjm)
  */
 
-import { tests } from "@gnu-taler/web-util/lib/index.browser";
+import * as tests from "@gnu-taler/web-util/testing";
 import { SetUrlView as TestedComponent } from "./ProviderAddPage.js";
 
 export default {
diff --git 
a/packages/taler-wallet-webextension/src/wallet/ProviderDetail.stories.tsx 
b/packages/taler-wallet-webextension/src/wallet/ProviderDetail.stories.tsx
index 24df3dc79..682f03f39 100644
--- a/packages/taler-wallet-webextension/src/wallet/ProviderDetail.stories.tsx
+++ b/packages/taler-wallet-webextension/src/wallet/ProviderDetail.stories.tsx
@@ -21,7 +21,7 @@
 
 import { AbsoluteTime, TalerProtocolTimestamp } from "@gnu-taler/taler-util";
 import { ProviderPaymentType } from "@gnu-taler/taler-wallet-core";
-import { tests } from "@gnu-taler/web-util/lib/index.browser";
+import * as tests from "@gnu-taler/web-util/testing";
 import { ProviderView as TestedComponent } from "./ProviderDetailPage.js";
 
 export default {
diff --git 
a/packages/taler-wallet-webextension/src/wallet/ProviderDetailPage.tsx 
b/packages/taler-wallet-webextension/src/wallet/ProviderDetailPage.tsx
index 94bcfe2fb..bf7bc0669 100644
--- a/packages/taler-wallet-webextension/src/wallet/ProviderDetailPage.tsx
+++ b/packages/taler-wallet-webextension/src/wallet/ProviderDetailPage.tsx
@@ -30,7 +30,7 @@ import { PaymentStatus, SmallLightText } from 
"../components/styled/index.js";
 import { Time } from "../components/Time.js";
 import { alertFromError } from "../context/alert.js";
 import { useBackendContext } from "../context/backend.js";
-import { useTranslationContext } from "@gnu-taler/web-util/lib/index.browser";
+import { useTranslationContext } from "@gnu-taler/web-util/browser";
 import { useAsyncAsHook } from "../hooks/useAsyncAsHook.js";
 import { Button } from "../mui/Button.js";
 
diff --git a/packages/taler-wallet-webextension/src/wallet/QrReader.stories.tsx 
b/packages/taler-wallet-webextension/src/wallet/QrReader.stories.tsx
index 074fdc4fa..8fc6985b0 100644
--- a/packages/taler-wallet-webextension/src/wallet/QrReader.stories.tsx
+++ b/packages/taler-wallet-webextension/src/wallet/QrReader.stories.tsx
@@ -19,7 +19,7 @@
  * @author Sebastian Javier Marchano (sebasjm)
  */
 
-import { tests } from "@gnu-taler/web-util/lib/index.browser";
+import * as tests from "@gnu-taler/web-util/testing";
 import { QrReaderPage } from "./QrReader.js";
 
 export default {
diff --git a/packages/taler-wallet-webextension/src/wallet/QrReader.tsx 
b/packages/taler-wallet-webextension/src/wallet/QrReader.tsx
index 81f879a62..999223fd8 100644
--- a/packages/taler-wallet-webextension/src/wallet/QrReader.tsx
+++ b/packages/taler-wallet-webextension/src/wallet/QrReader.tsx
@@ -19,7 +19,7 @@ import {
   TalerUri,
   TranslatedString,
 } from "@gnu-taler/taler-util";
-import { useTranslationContext } from "@gnu-taler/web-util/lib/index.browser";
+import { useTranslationContext } from "@gnu-taler/web-util/browser";
 import { css } from "@linaria/core";
 import { styled } from "@linaria/react";
 import jsQR, * as pr from "jsqr";
diff --git 
a/packages/taler-wallet-webextension/src/wallet/ReserveCreated.stories.tsx 
b/packages/taler-wallet-webextension/src/wallet/ReserveCreated.stories.tsx
index 1d2893b43..81250d5a4 100644
--- a/packages/taler-wallet-webextension/src/wallet/ReserveCreated.stories.tsx
+++ b/packages/taler-wallet-webextension/src/wallet/ReserveCreated.stories.tsx
@@ -20,7 +20,7 @@
  */
 
 import { parsePaytoUri } from "@gnu-taler/taler-util";
-import { tests } from "@gnu-taler/web-util/lib/index.browser";
+import * as tests from "@gnu-taler/web-util/testing";
 import { ReserveCreated as TestedComponent } from "./ReserveCreated.js";
 
 export default {
diff --git a/packages/taler-wallet-webextension/src/wallet/ReserveCreated.tsx 
b/packages/taler-wallet-webextension/src/wallet/ReserveCreated.tsx
index 2b05b0a36..0bf9ef9d1 100644
--- a/packages/taler-wallet-webextension/src/wallet/ReserveCreated.tsx
+++ b/packages/taler-wallet-webextension/src/wallet/ReserveCreated.tsx
@@ -21,7 +21,7 @@ import { CopyButton } from "../components/CopyButton.js";
 import { ErrorMessage } from "../components/ErrorMessage.js";
 import { QR } from "../components/QR.js";
 import { Title, WarningBox } from "../components/styled/index.js";
-import { useTranslationContext } from "@gnu-taler/web-util/lib/index.browser";
+import { useTranslationContext } from "@gnu-taler/web-util/browser";
 import { Button } from "../mui/Button.js";
 export interface Props {
   reservePub: string;
diff --git a/packages/taler-wallet-webextension/src/wallet/Settings.stories.tsx 
b/packages/taler-wallet-webextension/src/wallet/Settings.stories.tsx
index 89d92b82c..da4a20437 100644
--- a/packages/taler-wallet-webextension/src/wallet/Settings.stories.tsx
+++ b/packages/taler-wallet-webextension/src/wallet/Settings.stories.tsx
@@ -19,7 +19,7 @@
  * @author Sebastian Javier Marchano (sebasjm)
  */
 
-import { tests } from "@gnu-taler/web-util/lib/index.browser";
+import * as tests from "@gnu-taler/web-util/testing";
 import { SettingsView as TestedComponent } from "./Settings.js";
 
 export default {
diff --git a/packages/taler-wallet-webextension/src/wallet/Settings.tsx 
b/packages/taler-wallet-webextension/src/wallet/Settings.tsx
index 62a6c55ff..e6c95182c 100644
--- a/packages/taler-wallet-webextension/src/wallet/Settings.tsx
+++ b/packages/taler-wallet-webextension/src/wallet/Settings.tsx
@@ -21,7 +21,7 @@ import {
   WalletCoreVersion,
 } from "@gnu-taler/taler-util";
 import { WalletApiOperation } from "@gnu-taler/taler-wallet-core";
-import { useTranslationContext } from "@gnu-taler/web-util/lib/index.browser";
+import { useTranslationContext } from "@gnu-taler/web-util/browser";
 import { Fragment, VNode, h } from "preact";
 import { Pages } from "../NavigationBar.js";
 import { Checkbox } from "../components/Checkbox.js";
diff --git 
a/packages/taler-wallet-webextension/src/wallet/Transaction.stories.tsx 
b/packages/taler-wallet-webextension/src/wallet/Transaction.stories.tsx
index 68c42f821..71f8cfe1a 100644
--- a/packages/taler-wallet-webextension/src/wallet/Transaction.stories.tsx
+++ b/packages/taler-wallet-webextension/src/wallet/Transaction.stories.tsx
@@ -41,7 +41,7 @@ import {
   WithdrawalDetails,
   WithdrawalType,
 } from "@gnu-taler/taler-util";
-import { tests } from "@gnu-taler/web-util/lib/index.browser";
+import * as tests from "@gnu-taler/web-util/testing";
 import beer from "../../static-dev/beer.png";
 import { TransactionView as TestedComponent } from "./Transaction.js";
 
diff --git a/packages/taler-wallet-webextension/src/wallet/Transaction.tsx 
b/packages/taler-wallet-webextension/src/wallet/Transaction.tsx
index fc04df90e..8c2839324 100644
--- a/packages/taler-wallet-webextension/src/wallet/Transaction.tsx
+++ b/packages/taler-wallet-webextension/src/wallet/Transaction.tsx
@@ -34,7 +34,7 @@ import {
   WithdrawalType,
 } from "@gnu-taler/taler-util";
 import { WalletApiOperation } from "@gnu-taler/taler-wallet-core";
-import { useTranslationContext } from "@gnu-taler/web-util/lib/index.browser";
+import { useTranslationContext } from "@gnu-taler/web-util/browser";
 import { styled } from "@linaria/react";
 import { differenceInSeconds, isPast } from "date-fns";
 import { ComponentChildren, Fragment, h, VNode } from "preact";
diff --git a/packages/taler-wallet-webextension/src/wallet/Welcome.stories.tsx 
b/packages/taler-wallet-webextension/src/wallet/Welcome.stories.tsx
index 4e05e1b59..2cf28b611 100644
--- a/packages/taler-wallet-webextension/src/wallet/Welcome.stories.tsx
+++ b/packages/taler-wallet-webextension/src/wallet/Welcome.stories.tsx
@@ -19,7 +19,7 @@
  * @author Sebastian Javier Marchano (sebasjm)
  */
 
-import { tests } from "@gnu-taler/web-util/lib/index.browser";
+import * as tests from "@gnu-taler/web-util/testing";
 import { View as TestedComponent } from "./Welcome.js";
 
 export default {
diff --git a/packages/taler-wallet-webextension/src/wallet/Welcome.tsx 
b/packages/taler-wallet-webextension/src/wallet/Welcome.tsx
index 0ddcdb0ac..8d348ca9d 100644
--- a/packages/taler-wallet-webextension/src/wallet/Welcome.tsx
+++ b/packages/taler-wallet-webextension/src/wallet/Welcome.tsx
@@ -24,7 +24,7 @@ import { WalletDiagnostics } from "@gnu-taler/taler-util";
 import { Fragment, h, VNode } from "preact";
 import { Checkbox } from "../components/Checkbox.js";
 import { SubTitle, Title } from "../components/styled/index.js";
-import { useTranslationContext } from "@gnu-taler/web-util/lib/index.browser";
+import { useTranslationContext } from "@gnu-taler/web-util/browser";
 import { useDiagnostics } from "../hooks/useDiagnostics.js";
 import { useSettings } from "../hooks/useSettings.js";
 import { ToggleHandler } from "../mui/handlers.js";
diff --git a/packages/taler-wallet-webextension/src/wxBackend.ts 
b/packages/taler-wallet-webextension/src/wxBackend.ts
index cc72fc9c9..57d4add1c 100644
--- a/packages/taler-wallet-webextension/src/wxBackend.ts
+++ b/packages/taler-wallet-webextension/src/wxBackend.ts
@@ -36,7 +36,7 @@ import {
 import {
   ServiceWorkerHttpLib,
   BrowserHttpLib,
-} from "@gnu-taler/web-util/lib/index.browser";
+} from "@gnu-taler/web-util/browser";
 import {
   DbAccess,
   OpenedPromise,
diff --git a/packages/taler-wallet-webextension/trim-extension.cjs 
b/packages/taler-wallet-webextension/trim-extension.cjs
index 00e8f9f01..256a9f48d 100644
--- a/packages/taler-wallet-webextension/trim-extension.cjs
+++ b/packages/taler-wallet-webextension/trim-extension.cjs
@@ -1,7 +1,9 @@
 // Simple plugin to trim extensions from the filename of relative import 
statements.
-// Required to get linaria to work with `moduleResulution: "Node16"` imports.
+// Required to get linaria to work with `moduleResolution: "Node16"` imports.
 // @author Florian Dold
-module.exports = function({ types: t }) {
+//
+
+module.exports = function ({ types: t }) {
   return {
     name: "trim-extension",
     visitor: {
@@ -9,15 +11,15 @@ module.exports = function({ types: t }) {
         const src = x.node.source;
         if (src.value.startsWith(".")) {
           if (src.value.endsWith(".js")) {
-            const newVal = src.value.replace(/[.]js$/, "")
+            const newVal = src.value.replace(/[.]js$/, "");
             x.node.source = t.stringLiteral(newVal);
           }
         }
         if (src.value.endsWith(".jsx")) {
-          const newVal = src.value.replace(/[.]jsx$/, "")
+          const newVal = src.value.replace(/[.]jsx$/, "");
           x.node.source = t.stringLiteral(newVal);
         }
       },
-    }
+    },
   };
-}
+};

-- 
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]