aboutsummaryrefslogtreecommitdiff
path: root/packages/demobank-ui/preact.mock.js
diff options
context:
space:
mode:
Diffstat (limited to 'packages/demobank-ui/preact.mock.js')
-rw-r--r--packages/demobank-ui/preact.mock.js55
1 files changed, 55 insertions, 0 deletions
diff --git a/packages/demobank-ui/preact.mock.js b/packages/demobank-ui/preact.mock.js
new file mode 100644
index 000000000..dc3ceb66d
--- /dev/null
+++ b/packages/demobank-ui/preact.mock.js
@@ -0,0 +1,55 @@
+/*
+ This file is part of GNU Taler
+ (C) 2021 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/>
+ */
+
+/**
+*
+* @author Sebastian Javier Marchano (sebasjm)
+*/
+
+import { DefinePlugin, ProvidePlugin } from 'webpack';
+
+import pack from './package.json';
+import * as cp from 'child_process';
+
+const commitHash = cp.execSync('git rev-parse --short HEAD').toString();
+import path from 'path';
+
+export default {
+ webpack(config, env, helpers) {
+ // Ensure that process.env will not be undefined at runtime.
+ config.node.process = 'mock'
+ let DEMO_SITES = {
+ "Blog": process.env.TALER_ENV_URL_MERCHANT_BLOG,
+ "Donations": process.env.TALER_ENV_URL_MERCHANT_DONATIONS,
+ "Survey": process.env.TALER_ENV_URL_MERCHANT_SURVEY,
+ "Landing": process.env.TALER_ENV_URL_INTRO,
+ "Bank": process.env.TALER_ENV_URL_BANK,
+ }
+ console.log("demo links found", DEMO_SITES);
+ // Add __VERSION__ to be use in the html.
+ config.plugins.push(
+ new DefinePlugin({
+ 'process.env.__VERSION__': JSON.stringify(env.isProd ? pack.version : `dev-${commitHash}`) ,
+ }),
+ // 'window' gets mocked to point at a running euFin instance.
+ new ProvidePlugin({window: path.resolve("mocks/window")}),
+ new DefinePlugin({"DEMO_SITES": JSON.stringify(DEMO_SITES)})
+ );
+
+ let { index } = helpers.getPluginsByName(config, 'WebpackFixStyleOnlyEntriesPlugin')[0]
+ config.plugins.splice(index, 1)
+ }
+}