Bump electron-forge, add a few updates to webpack base config

This commit is contained in:
sayhiben
2024-08-19 18:18:28 -07:00
parent d1b1256011
commit c76a66a0c3
3 changed files with 1289 additions and 480 deletions

1726
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,8 +1,8 @@
{ {
"name": "streamwall", "name": "streamwall",
"version": "0.0.1", "version": "1.0.0",
"description": "View streams in a grid", "description": "View streams in a grid",
"main": "./.webpack/main", "main": "./node/main.js",
"scripts": { "scripts": {
"build:main": "webpack --config webpack.main.config.js", "build:main": "webpack --config webpack.main.config.js",
"build:renderer": "webpack --config webpack.renderer.config.js", "build:renderer": "webpack --config webpack.renderer.config.js",
@@ -20,7 +20,7 @@
"author": "Max Goodhart <c@chromakode.com>", "author": "Max Goodhart <c@chromakode.com>",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@electron-forge/plugin-webpack": "^6.1.1", "@electron-forge/plugin-webpack": "^7.4.0",
"@iarna/toml": "^2.2.5", "@iarna/toml": "^2.2.5",
"@repeaterjs/repeater": "^3.0.6", "@repeaterjs/repeater": "^3.0.6",
"@sentry/electron": "^5.3.0", "@sentry/electron": "^5.3.0",
@@ -33,7 +33,7 @@
"hls.js": "^1.5.14", "hls.js": "^1.5.14",
"jsondiffpatch": "^0.6.0", "jsondiffpatch": "^0.6.0",
"koa": "^2.15.3", "koa": "^2.15.3",
"electron-squirrel-startup": "^1.0.0", "electron-squirrel-startup": "^1.0.1",
"koa-basic-auth": "^4.0.0", "koa-basic-auth": "^4.0.0",
"koa-easy-ws": "^2.1.0", "koa-easy-ws": "^2.1.0",
"koa-route": "^4.0.1", "koa-route": "^4.0.1",
@@ -43,7 +43,7 @@
"luxon": "^3.5.0", "luxon": "^3.5.0",
"node-fetch": "^3.3.2", "node-fetch": "^3.3.2",
"node-simple-cert": "0.0.1", "node-simple-cert": "0.0.1",
"preact": "^10.23.1", "preact": "^10.23.2",
"react-hotkeys-hook": "^4.5.0", "react-hotkeys-hook": "^4.5.0",
"reconnecting-websocket": "^4.4.0", "reconnecting-websocket": "^4.4.0",
"styled-components": "^6.1.12", "styled-components": "^6.1.12",
@@ -62,18 +62,18 @@
"@babel/plugin-transform-react-jsx": "^7.25.2", "@babel/plugin-transform-react-jsx": "^7.25.2",
"@babel/preset-env": "^7.25.3", "@babel/preset-env": "^7.25.3",
"@svgr/webpack": "^8.1.0", "@svgr/webpack": "^8.1.0",
"@electron-forge/cli": "^6.1.1", "@electron-forge/cli": "^7.4.0",
"@electron-forge/maker-deb": "^6.1.1", "@electron-forge/maker-deb": "^7.4.0",
"@electron-forge/maker-rpm": "^6.1.1", "@electron-forge/maker-rpm": "^7.4.0",
"@electron-forge/maker-squirrel": "^6.1.1", "@electron-forge/maker-squirrel": "^7.4.0",
"@electron-forge/maker-zip": "^6.1.1", "@electron-forge/maker-zip": "^7.4.0",
"babel-jest": "^29.7.0", "babel-jest": "^29.7.0",
"babel-loader": "^9.1.3", "babel-loader": "^9.1.3",
"babel-plugin-styled-components": "^2.1.4", "babel-plugin-styled-components": "^2.1.4",
"bufferutil": "^4.0.8", "bufferutil": "^4.0.8",
"copy-webpack-plugin": "^12.0.2", "copy-webpack-plugin": "^12.0.2",
"css-loader": "^7.1.2", "css-loader": "^7.1.2",
"electron": "^24.1.2", "electron": "^31.4.0",
"file-loader": "^6.2.0", "file-loader": "^6.2.0",
"identity-obj-proxy": "^3.0.0", "identity-obj-proxy": "^3.0.0",
"jest": "^29.7.0", "jest": "^29.7.0",

View File

@@ -1,9 +1,10 @@
module.exports = ({ babel }) => ({ module.exports = ({ babel }) => ({
mode: 'none', mode: process.env.NODE_ENV === 'production' ? 'production' : 'development',
devtool: process.env.NODE_ENV === 'production' ? 'source-map' : 'eval-source-map',
module: { module: {
rules: [ rules: [
{ {
test: /\.jsx?$/, test: /\.(js|ts|jsx|tsx)$/,
exclude: /node_modules/, exclude: /node_modules/,
use: { use: {
loader: 'babel-loader', loader: 'babel-loader',
@@ -15,11 +16,8 @@ module.exports = ({ babel }) => ({
use: ['style-loader', 'css-loader'], use: ['style-loader', 'css-loader'],
}, },
{ {
test: /\.ttf$/, test: /\.(png|jpg|jpeg|gif|ico|ttf)$/,
loader: 'file-loader', type: 'asset/resource',
options: {
name: '[name].[ext]',
},
}, },
{ {
test: /\.svg$/, test: /\.svg$/,
@@ -34,11 +32,18 @@ module.exports = ({ babel }) => ({
], ],
}, },
resolve: { resolve: {
extensions: ['.jsx', '.js'], extensions: ['.jsx', '.js', '.ts', '.tsx'],
alias: { alias: {
react: 'preact/compat', react: 'preact/compat',
'react-dom': 'preact/compat', 'react-dom': 'preact/compat',
}, },
modules: ['node_modules', 'src'],
},
optimization: {
moduleIds: 'deterministic',
splitChunks: {
chunks: 'all',
},
}, },
stats: { stats: {
colors: true, colors: true,