* Basic Electron setup. * wip * Integrate electron with react components from apps workspace * Refactor package.json scripts. * Copy public files from apps. * Import 'initSettings' from apps workspace, fix code style, move scripts into global package.json * Add build electron step into CI * Split webpack file into renderer and main * Add HMR into renderer.config * Add optimization process in main webpack configuration * Add ts translation in main webpack config and fix electron start script * Update dependencies. * Update dependencies. Change package name. * Move initSettings func into Api component * Extract webpack base config and move initSettings into react-api * Fix webpack config and simplify initSettings import * WIP on packing electron app (electron.ts doesnt have relative path) * Fix relative path to the main index.html * Add README in electron package, update main package.json scripts, add mention about electron-package in main README * Remove unused dependencies form electron package.json * Missing file from merge * Fix main README and change name field in main package.json * Update dependencies. * Remove old webpack-dev-serve (creating issues with plugin) Co-authored-by: jozwiak <kubencki@gmail.com> Co-authored-by: Jaco Greeff <jacogr@gmail.com>
47 lines
1.3 KiB
JavaScript
47 lines
1.3 KiB
JavaScript
// Copyright 2017-2020 @polkadot/apps authors & contributors
|
|
// This software may be modified and distributed under the terms
|
|
// of the Apache-2.0 license. See the LICENSE file for details.
|
|
|
|
/* eslint-disable @typescript-eslint/camelcase */
|
|
|
|
const merge = require('webpack-merge');
|
|
const baseConfig = require('@polkadot/apps/webpack.base.config');
|
|
const path = require('path');
|
|
const CopyWebpackPlugin = require('copy-webpack-plugin');
|
|
const HtmlWebpackPlugin = require('html-webpack-plugin');
|
|
const findPackages = require('../../scripts/findPackages');
|
|
|
|
const ENV = process.env.NODE_ENV || 'development';
|
|
const isProd = ENV === 'production';
|
|
const context = __dirname;
|
|
|
|
module.exports = merge(
|
|
baseConfig({
|
|
alias: findPackages().reduce((alias, { dir, name }) => {
|
|
alias[name] = path.resolve(context, `../${dir}/src`);
|
|
|
|
return alias;
|
|
}, {}),
|
|
context
|
|
}),
|
|
{
|
|
devServer: {
|
|
compress: true,
|
|
contentBase: path.join(__dirname, 'build'),
|
|
hot: true,
|
|
liveReload: false,
|
|
port: 9000
|
|
},
|
|
devtool: isProd ? 'none' : 'source-map',
|
|
plugins: [
|
|
new CopyWebpackPlugin([{ from: '../apps/public' }]),
|
|
new HtmlWebpackPlugin({
|
|
PAGE_TITLE: 'Polkadot/Substrate Portal',
|
|
inject: true,
|
|
template: path.join(context, '../apps/public/index.html')
|
|
})
|
|
],
|
|
target: 'electron-renderer'
|
|
}
|
|
);
|