summaryrefslogtreecommitdiff
path: root/packages/taler-wallet-webextension/build.mjs
diff options
context:
space:
mode:
Diffstat (limited to 'packages/taler-wallet-webextension/build.mjs')
-rwxr-xr-xpackages/taler-wallet-webextension/build.mjs97
1 files changed, 14 insertions, 83 deletions
diff --git a/packages/taler-wallet-webextension/build.mjs b/packages/taler-wallet-webextension/build.mjs
index 889ba7d05..230a850e2 100755
--- a/packages/taler-wallet-webextension/build.mjs
+++ b/packages/taler-wallet-webextension/build.mjs
@@ -15,53 +15,12 @@
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();
+import { build, getFilesInDirectory } from "@gnu-taler/web-util/build";
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({
+await build({
source: {
js: [
"src/popupEntryPoint.tsx",
@@ -75,45 +34,17 @@ const buildConfig2 = computeConfig({
},
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",
+ linariaPlugin: () => {
+ // linaria has a bug if this run in web-util library
+ return linaria({
+ babelOptions: {
+ presets: [
+ "@babel/preset-typescript",
+ "@babel/preset-react",
+ "@linaria",
+ ],
+ },
+ sourceMap: true,
+ });
},
- 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);
});