/* eslint-disable class-methods-use-this */ /*const path = require('path'); const HtmlWebpackPlugin = require('html-webpack-plugin'); const optimization = { nodeEnv: false, removeAvailableModules: true, removeEmptyChunks: true, providedExports: true, minimize: false, // minimizer: [new TerserPlugin({ parallel: true })], // splitChunks: true, }; const EXTERNAL_MODULE = new Set([ 'backbone', 'better-sqlite3', 'fsevents', 'got', 'jquery', 'node-fetch', ]); module.exports = [ { // bundling mode mode: 'development', // mode: 'production', devtool: false, optimization, // entry files resolve: { extensions: ['.ts', '.tsx', '.js', '.json'], }, entry: './ts/mains/main_node.ts', target: 'electron-main', module: { // loaders rules: [ { test: /\.js$/, loader: `node-bindings-loader`, }, { test: /\.node$/, loader: `node-loader`, }, { test: /\.tsx?$/, include: /ts/, use: [ { loader: 'ts-loader', options: { transpileOnly: true, experimentalWatchApi: true, }, }, ], exclude: /node_modules/, }, ], }, // output bundles (location) output: { path: path.resolve(__dirname, 'dist'), filename: 'electron_main.js', }, }, // { // entry: './preload.ts', // mode: 'development', // output: { // path: path.resolve(__dirname, 'dist'), // filename: 'preload.bundled.js', // }, // target: 'electron-main', // resolve: { // extensions: ['.ts', '.tsx', '.js', '.json'], // mainFields: ['browser', 'main'], // }, // externals: [ // ({ request = '' }, callback) => { // if (EXTERNAL_MODULE.has(request)) { // return callback(undefined, `commonjs2 ${request}`); // } // callback(); // }, // ], // module: { // rules: [ // { // test: /\.tsx?$/, // include: [path.resolve(__dirname), path.resolve(__dirname, 'js')], // exclude: /node_modules/, // use: [ // { // loader: 'ts-loader', // options: { transpileOnly: true }, // }, // ], // }, // ], // }, // }, // { // mode: 'development', // entry: './ts/mains/main_renderer.ts', // target: 'electron-renderer', // devtool: false, // resolve: { // extensions: ['.ts', '.tsx', '.js', '.json'], // }, // module: { // rules: [ // { // test: /\.tsx?$/, // include: [path.resolve(__dirname, 'ts'), path.resolve(__dirname, 'js')], // exclude: /node_modules/, // use: [ // { // loader: 'ts-loader', // options: { // transpileOnly: true, // experimentalWatchApi: true, // }, // }, // ], // }, // ], // }, // optimization, // output: { // path: path.resolve(__dirname, 'dist', 'js'), // filename: 'electron_renderer.js', // }, // plugins: [ // new HtmlWebpackPlugin({ // template: './background.html', // }), // ], // }, ];