36 lines
1.1 KiB
JavaScript
36 lines
1.1 KiB
JavaScript
// Copyright 2017-2023 @polkadot/apps authors & contributors
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
|
|
const fs = require('fs');
|
|
const HtmlWebpackPlugin = require('html-webpack-plugin');
|
|
const path = require('path');
|
|
const { merge } = require('webpack-merge');
|
|
const { SubresourceIntegrityPlugin } = require('webpack-subresource-integrity');
|
|
|
|
const baseConfig = require('./webpack.base.cjs');
|
|
|
|
const context = __dirname;
|
|
const hasPublic = fs.existsSync(path.join(context, 'public'));
|
|
|
|
module.exports = merge(
|
|
baseConfig(context),
|
|
{
|
|
devtool: process.env.BUILD_ANALYZE ? 'source-map' : false,
|
|
output: {
|
|
crossOriginLoading: 'anonymous'
|
|
},
|
|
plugins: [
|
|
new SubresourceIntegrityPlugin(),
|
|
new HtmlWebpackPlugin({
|
|
PAGE_TITLE: 'Polkadot/Substrate Portal',
|
|
// see index.html for the work needed to support this,
|
|
// aka manually injection without minification
|
|
// (also in apps-electron/webpack.renderer.js)
|
|
inject: false,
|
|
minify: false,
|
|
template: path.join(context, `${hasPublic ? 'public/' : ''}index.html`)
|
|
})
|
|
]
|
|
}
|
|
);
|