/* 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 */ /** * * @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) } }