diff --git a/nym-wallet/package.json b/nym-wallet/package.json index bf9f941351..7e7c466acf 100644 --- a/nym-wallet/package.json +++ b/nym-wallet/package.json @@ -4,8 +4,8 @@ "main": "index.js", "license": "MIT", "scripts": { - "webpack:dev": "yarn webpack serve", - "webpack:prod": "yarn webpack --progress --config webpack.prod.config.js", + "webpack:dev": "yarn webpack serve --config webpack.dev.js", + "webpack:prod": "yarn webpack --progress --config webpack.prod.js", "tauri:dev": "yarn tauri dev", "tauri:build": "yarn tauri build", "dev": "yarn run webpack:dev & yarn run tauri:dev", @@ -45,6 +45,7 @@ "@types/semver": "^7.3.8", "babel-loader": "^8.2.2", "css-loader": "^6.2.0", + "dotenv-webpack": "^7.0.3", "favicons": "^6.2.2", "favicons-webpack-plugin": "^5.0.2", "file-loader": "^6.2.0", @@ -54,6 +55,7 @@ "url-loader": "^4.1.1", "webpack": "^5.64.3", "webpack-cli": "^4.8.0", - "webpack-dev-server": "^4.5.0" + "webpack-dev-server": "^4.5.0", + "webpack-merge": "^5.8.0" } } diff --git a/nym-wallet/webpack.config.js b/nym-wallet/webpack.common.js similarity index 85% rename from nym-wallet/webpack.config.js rename to nym-wallet/webpack.common.js index 3897decf7b..959fbc8253 100644 --- a/nym-wallet/webpack.config.js +++ b/nym-wallet/webpack.common.js @@ -1,25 +1,17 @@ const HtmlWebpackPlugin = require('html-webpack-plugin') const FaviconsWebpackPlugin = require('favicons-webpack-plugin') +const Dotenv = require('dotenv-webpack') var path = require('path') module.exports = { - mode: 'development', entry: path.resolve(__dirname, '/src/index'), - devServer: { - port: 9000, - compress: true, - historyApiFallback: true, - hot: true, - client: { - overlay: false, - }, - }, plugins: [ new HtmlWebpackPlugin({ template: path.resolve(__dirname, 'public/index.html'), filename: 'index.html', }), new FaviconsWebpackPlugin(path.resolve(__dirname, 'public/favicon.ico')), + new Dotenv(), ], module: { rules: [ diff --git a/nym-wallet/webpack.dev.js b/nym-wallet/webpack.dev.js new file mode 100644 index 0000000000..77221d48fb --- /dev/null +++ b/nym-wallet/webpack.dev.js @@ -0,0 +1,17 @@ +const common = require('./webpack.common') +const { merge } = require('webpack-merge') +var path = require('path') + +module.exports = merge(common, { + mode: 'development', + entry: path.resolve(__dirname, '/src/index'), + devServer: { + port: 9000, + compress: true, + historyApiFallback: true, + hot: true, + client: { + overlay: false, + }, + }, +}) diff --git a/nym-wallet/webpack.prod.config.js b/nym-wallet/webpack.prod.config.js deleted file mode 100644 index 623430912d..0000000000 --- a/nym-wallet/webpack.prod.config.js +++ /dev/null @@ -1,42 +0,0 @@ -const HtmlWebpackPlugin = require('html-webpack-plugin') -const FaviconsWebpackPlugin = require('favicons-webpack-plugin') -var path = require('path') - -module.exports = { - mode: 'production', - node: { - __dirname: false - }, - entry: path.resolve(__dirname, './src/index'), - plugins: [ - new HtmlWebpackPlugin({ - template: path.resolve(__dirname, './public/index.html'), - filename: 'index.html', - }), - new FaviconsWebpackPlugin(path.resolve(__dirname, './public/favicon.png')), - ], - module: { - rules: [ - { - test: /\.(ts|tsx)$/, - exclude: /node_modules/, - use: ['babel-loader'], - }, - { - test: /\.css$/i, - use: ['style-loader', 'css-loader'], - }, - { - test: /\.(png|jpe?g|gif|svg)$/i, - use: [ - { - loader: 'file-loader', - }, - ], - }, - ], - }, - resolve: { - extensions: ['*', '.js', '.jsx', '.ts', '.tsx'], - }, -} \ No newline at end of file diff --git a/nym-wallet/webpack.prod.js b/nym-wallet/webpack.prod.js new file mode 100644 index 0000000000..530692fecf --- /dev/null +++ b/nym-wallet/webpack.prod.js @@ -0,0 +1,9 @@ +var path = require('path') + +module.exports = { + mode: 'production', + node: { + __dirname: false, + }, + entry: path.resolve(__dirname, './src/index'), +} diff --git a/nym-wallet/yarn.lock b/nym-wallet/yarn.lock index 11ef3cb8eb..abf916ea62 100644 --- a/nym-wallet/yarn.lock +++ b/nym-wallet/yarn.lock @@ -3415,6 +3415,25 @@ dot-prop@^5.2.0: dependencies: is-obj "^2.0.0" +dotenv-defaults@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/dotenv-defaults/-/dotenv-defaults-2.0.2.tgz#6b3ec2e4319aafb70940abda72d3856770ee77ac" + integrity sha512-iOIzovWfsUHU91L5i8bJce3NYK5JXeAwH50Jh6+ARUdLiiGlYWfGw6UkzsYqaXZH/hjE/eCd/PlfM/qqyK0AMg== + dependencies: + dotenv "^8.2.0" + +dotenv-webpack@^7.0.3: + version "7.0.3" + resolved "https://registry.yarnpkg.com/dotenv-webpack/-/dotenv-webpack-7.0.3.tgz#f50ec3c7083a69ec6076e110566720003b7b107b" + integrity sha512-O0O9pOEwrk+n1zzR3T2uuXRlw64QxHSPeNN1GaiNBloQFNaCUL9V8jxSVz4jlXXFP/CIqK8YecWf8BAvsSgMjw== + dependencies: + dotenv-defaults "^2.0.2" + +dotenv@^8.2.0: + version "8.6.0" + resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-8.6.0.tgz#061af664d19f7f4d8fc6e4ff9b584ce237adcb8b" + integrity sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g== + download@^6.2.2: version "6.2.5" resolved "https://registry.yarnpkg.com/download/-/download-6.2.5.tgz#acd6a542e4cd0bb42ca70cfc98c9e43b07039714" @@ -8297,7 +8316,7 @@ webpack-dev-server@^4.5.0: webpack-dev-middleware "^5.2.1" ws "^8.1.0" -webpack-merge@^5.7.3: +webpack-merge@^5.7.3, webpack-merge@^5.8.0: version "5.8.0" resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-5.8.0.tgz#2b39dbf22af87776ad744c390223731d30a68f61" integrity sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q==