From e751d24b3579e3da067bbf307d716242c60abdbe Mon Sep 17 00:00:00 2001 From: Matt Gibson Date: Thu, 10 Jun 2021 12:50:59 -0400 Subject: [PATCH] Supply main sourcemaps only in dev builds --- package.json | 7 +++++-- webpack.main.js | 18 +++++++++++++++--- 2 files changed, 20 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index cb5675c0..a66ba4a3 100644 --- a/package.json +++ b/package.json @@ -30,10 +30,13 @@ "lint": "tslint 'src/**/*.ts'", "lint:fix": "tslint 'src/**/*.ts' --fix", "build": "concurrently -n Main,Rend -c yellow,cyan \"npm run build:main\" \"npm run build:renderer\"", + "build:dev": "NODE_ENV='development' npm run build", "build:main": "webpack --config webpack.main.js", + "build:main:dev": "NODE_ENV='development' npm run build:main", "build:renderer": "gulp prebuild:renderer && webpack --config webpack.renderer.js", - "build:renderer:watch": "gulp prebuild:renderer && webpack --config webpack.renderer.js --watch", - "electron": "npm run build:main && concurrently -k -n Main,Rend -c yellow,cyan \"electron --inspect=5858 ./build --watch\" \"npm run build:renderer:watch\"", + "build:renderer:dev": "NODE_ENV='development' npm run build:renderer", + "build:renderer:watch": "NODE_ENV='development' gulp prebuild:renderer && webpack --config webpack.renderer.js --watch", + "electron": "npm run build:main:dev && concurrently -k -n Main,Rend -c yellow,cyan \"electron --inspect=5858 ./build --watch\" \"npm run build:renderer:watch\"", "clean:dist": "rimraf ./dist/*", "clean:l10n": "git push origin --delete l10n_master", "pack:dir": "npm run clean:dist && electron-builder --dir -p never", diff --git a/webpack.main.js b/webpack.main.js index 22610693..79ed96eb 100644 --- a/webpack.main.js +++ b/webpack.main.js @@ -5,6 +5,8 @@ const { CleanWebpackPlugin } = require('clean-webpack-plugin'); const nodeExternals = require('webpack-node-externals'); const TsconfigPathsPlugin = require('tsconfig-paths-webpack-plugin'); +const NODE_ENV = process.env.NODE_ENV == null ? 'production' : process.env.NODE_ENV; + const common = { module: { rules: [ @@ -25,16 +27,26 @@ const common = { extensions: ['.tsx', '.ts', '.js'], plugins: [new TsconfigPathsPlugin({ configFile: './tsconfig.json' })] }, +}; + +const prod = { + output: { + filename: '[name].js', + path: path.resolve(__dirname, 'build'), + }, +}; + +const dev = { output: { filename: '[name].js', path: path.resolve(__dirname, 'build'), devtoolModuleFilenameTemplate: '[absolute-resource-path]', }, devtool: 'cheap-source-map' -}; +} const main = { - mode: 'production', + mode: NODE_ENV, target: 'electron-main', node: { __dirname: false, @@ -67,4 +79,4 @@ const main = { externals: [nodeExternals()], }; -module.exports = merge(common, main); +module.exports = merge(common, NODE_ENV === 'development' ? dev : prod, main);