From 9619e794b22bb0e900636750f2e19668d9e21607 Mon Sep 17 00:00:00 2001 From: Mark Sinclair Date: Tue, 14 Dec 2021 15:55:58 +0000 Subject: [PATCH 1/2] Network Explorer: configure URLs with `.env` file --- explorer/.env.example | 3 ++ explorer/package-lock.json | 60 +++++++++++++++++++++++++++++++++++ explorer/package.json | 1 + explorer/src/api/constants.ts | 7 ++-- explorer/webpack.common.js | 3 ++ 5 files changed, 70 insertions(+), 4 deletions(-) create mode 100644 explorer/.env.example diff --git a/explorer/.env.example b/explorer/.env.example new file mode 100644 index 0000000000..4815adc055 --- /dev/null +++ b/explorer/.env.example @@ -0,0 +1,3 @@ +EXPLORER_API_URL=https://testnet-milhon-explorer.nymtech.net +VALIDATOR_API_URL=https://testnet-milhon-validator1.nymtech.net +BIG_DIPPER_URL=https://testnet-milhon-blocks.nymtech.net diff --git a/explorer/package-lock.json b/explorer/package-lock.json index 058a29c8b3..b1c9eee465 100644 --- a/explorer/package-lock.json +++ b/explorer/package-lock.json @@ -50,6 +50,7 @@ "clean-webpack-plugin": "^4.0.0", "css-loader": "^6.2.0", "css-minimizer-webpack-plugin": "^3.0.2", + "dotenv-webpack": "^7.0.3", "eslint": "7.32.0", "eslint-config-airbnb": "18.2.1", "eslint-config-prettier": "8.3.0", @@ -6198,6 +6199,39 @@ "tslib": "^2.0.3" } }, + "node_modules/dotenv-defaults": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/dotenv-defaults/-/dotenv-defaults-2.0.2.tgz", + "integrity": "sha512-iOIzovWfsUHU91L5i8bJce3NYK5JXeAwH50Jh6+ARUdLiiGlYWfGw6UkzsYqaXZH/hjE/eCd/PlfM/qqyK0AMg==", + "dev": true, + "dependencies": { + "dotenv": "^8.2.0" + } + }, + "node_modules/dotenv-defaults/node_modules/dotenv": { + "version": "8.6.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.6.0.tgz", + "integrity": "sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/dotenv-webpack": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/dotenv-webpack/-/dotenv-webpack-7.0.3.tgz", + "integrity": "sha512-O0O9pOEwrk+n1zzR3T2uuXRlw64QxHSPeNN1GaiNBloQFNaCUL9V8jxSVz4jlXXFP/CIqK8YecWf8BAvsSgMjw==", + "dev": true, + "dependencies": { + "dotenv-defaults": "^2.0.2" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "webpack": "^4 || ^5" + } + }, "node_modules/ecc-jsbn": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", @@ -21882,6 +21916,32 @@ "tslib": "^2.0.3" } }, + "dotenv-defaults": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/dotenv-defaults/-/dotenv-defaults-2.0.2.tgz", + "integrity": "sha512-iOIzovWfsUHU91L5i8bJce3NYK5JXeAwH50Jh6+ARUdLiiGlYWfGw6UkzsYqaXZH/hjE/eCd/PlfM/qqyK0AMg==", + "dev": true, + "requires": { + "dotenv": "^8.2.0" + }, + "dependencies": { + "dotenv": { + "version": "8.6.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.6.0.tgz", + "integrity": "sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g==", + "dev": true + } + } + }, + "dotenv-webpack": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/dotenv-webpack/-/dotenv-webpack-7.0.3.tgz", + "integrity": "sha512-O0O9pOEwrk+n1zzR3T2uuXRlw64QxHSPeNN1GaiNBloQFNaCUL9V8jxSVz4jlXXFP/CIqK8YecWf8BAvsSgMjw==", + "dev": true, + "requires": { + "dotenv-defaults": "^2.0.2" + } + }, "ecc-jsbn": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", diff --git a/explorer/package.json b/explorer/package.json index 5d296ce0f6..553adb4ecb 100644 --- a/explorer/package.json +++ b/explorer/package.json @@ -45,6 +45,7 @@ "clean-webpack-plugin": "^4.0.0", "css-loader": "^6.2.0", "css-minimizer-webpack-plugin": "^3.0.2", + "dotenv-webpack": "^7.0.3", "eslint": "7.32.0", "eslint-config-airbnb": "18.2.1", "eslint-config-prettier": "8.3.0", diff --git a/explorer/src/api/constants.ts b/explorer/src/api/constants.ts index 88037559ce..1bc8680332 100644 --- a/explorer/src/api/constants.ts +++ b/explorer/src/api/constants.ts @@ -1,8 +1,7 @@ // master APIs -export const MASTER_URL = 'https://testnet-milhon-explorer.nymtech.net'; -export const MASTER_VALIDATOR_URL = - 'https://testnet-milhon-validator1.nymtech.net'; -export const BIG_DIPPER = 'https://testnet-milhon-blocks.nymtech.net'; +export const MASTER_URL = process.env.EXPLORER_API_URL; +export const MASTER_VALIDATOR_URL = process.env.VALIDATOR_API_URL; +export const BIG_DIPPER = process.env.BIG_DIPPER_URL; // specific API routes export const MIXNODE_PING = `${MASTER_URL}/api/ping`; diff --git a/explorer/webpack.common.js b/explorer/webpack.common.js index 9b84f6170c..894bc708cc 100644 --- a/explorer/webpack.common.js +++ b/explorer/webpack.common.js @@ -5,6 +5,7 @@ const TsconfigPathsPlugin = require('tsconfig-paths-webpack-plugin'); const { CleanWebpackPlugin } = require('clean-webpack-plugin'); const ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin'); const WebpackFavicons = require('webpack-favicons'); +const Dotenv = require('dotenv-webpack'); module.exports = { entry: './src/index.tsx', @@ -78,6 +79,8 @@ module.exports = { new WebpackFavicons({ src: 'src/logo.svg', }), + + new Dotenv(), ], output: { path: path.resolve(__dirname, 'dist'), From 45ed46afa0096351eebcf6e179713049c96b930a Mon Sep 17 00:00:00 2001 From: Mark Sinclair Date: Wed, 15 Dec 2021 10:14:41 +0000 Subject: [PATCH 2/2] Network Explorer: add prod config --- .github/workflows/network-explorer.yml | 2 ++ explorer/.env.prod | 3 +++ 2 files changed, 5 insertions(+) create mode 100644 explorer/.env.prod diff --git a/.github/workflows/network-explorer.yml b/.github/workflows/network-explorer.yml index 1dd2c89637..7577cca0b4 100644 --- a/.github/workflows/network-explorer.yml +++ b/.github/workflows/network-explorer.yml @@ -22,6 +22,8 @@ jobs: node-version: '14' - run: npm install continue-on-error: true + - name: Set environment from the example + run: cp .env.prod .env - run: npm run test continue-on-error: true - run: npm run build diff --git a/explorer/.env.prod b/explorer/.env.prod new file mode 100644 index 0000000000..4815adc055 --- /dev/null +++ b/explorer/.env.prod @@ -0,0 +1,3 @@ +EXPLORER_API_URL=https://testnet-milhon-explorer.nymtech.net +VALIDATOR_API_URL=https://testnet-milhon-validator1.nymtech.net +BIG_DIPPER_URL=https://testnet-milhon-blocks.nymtech.net