diff --git a/headers/csps/chains/arbitrum.ts b/headers/csps/chains/arbitrum.ts index 4034f57f441..a92ef4c413f 100644 --- a/headers/csps/chains/arbitrum.ts +++ b/headers/csps/chains/arbitrum.ts @@ -1,8 +1,10 @@ import { loadEnv } from 'vite' +import { determineMode } from '../../../utils' import type { Csp } from '../../types' -const env = loadEnv(process.env.NODE_ENV || 'development', process.cwd(), '') +const mode = determineMode() +const env = loadEnv(mode, process.cwd(), '') export const csp: Csp = { 'connect-src': [ diff --git a/headers/csps/chains/arbitrumNova.ts b/headers/csps/chains/arbitrumNova.ts index 9b8a7c0180d..a2bc94d610b 100644 --- a/headers/csps/chains/arbitrumNova.ts +++ b/headers/csps/chains/arbitrumNova.ts @@ -1,8 +1,10 @@ import { loadEnv } from 'vite' +import { determineMode } from '../../../utils' import type { Csp } from '../../types' -const env = loadEnv(process.env.NODE_ENV || 'development', process.cwd(), '') +const mode = determineMode() +const env = loadEnv(mode, process.cwd(), '') export const csp: Csp = { 'connect-src': [ diff --git a/headers/csps/chains/avalanche.ts b/headers/csps/chains/avalanche.ts index a3ca984f625..2c0b6a925fd 100644 --- a/headers/csps/chains/avalanche.ts +++ b/headers/csps/chains/avalanche.ts @@ -1,8 +1,10 @@ import { loadEnv } from 'vite' +import { determineMode } from '../../../utils' import type { Csp } from '../../types' -const env = loadEnv(process.env.NODE_ENV || 'development', process.cwd(), '') +const mode = determineMode() +const env = loadEnv(mode, process.cwd(), '') export const csp: Csp = { 'connect-src': [ diff --git a/headers/csps/chains/base.ts b/headers/csps/chains/base.ts index ef5d90c9623..c6a261f56b3 100644 --- a/headers/csps/chains/base.ts +++ b/headers/csps/chains/base.ts @@ -1,8 +1,10 @@ import { loadEnv } from 'vite' +import { determineMode } from '../../../utils' import type { Csp } from '../../types' -const env = loadEnv(process.env.NODE_ENV || 'development', process.cwd(), '') +const mode = determineMode() +const env = loadEnv(mode, process.cwd(), '') export const csp: Csp = { 'connect-src': [ diff --git a/headers/csps/chains/bitcoin.ts b/headers/csps/chains/bitcoin.ts index a4ab6bd3c5a..6e16c40751f 100644 --- a/headers/csps/chains/bitcoin.ts +++ b/headers/csps/chains/bitcoin.ts @@ -1,8 +1,10 @@ import { loadEnv } from 'vite' +import { determineMode } from '../../../utils' import type { Csp } from '../../types' -const env = loadEnv(process.env.NODE_ENV || 'development', process.cwd(), '') +const mode = determineMode() +const env = loadEnv(mode, process.cwd(), '') export const csp: Csp = { 'connect-src': [env.VITE_UNCHAINED_BITCOIN_HTTP_URL!, env.VITE_UNCHAINED_BITCOIN_WS_URL!], diff --git a/headers/csps/chains/bitcoincash.ts b/headers/csps/chains/bitcoincash.ts index eddc92a2200..3231029cbfb 100644 --- a/headers/csps/chains/bitcoincash.ts +++ b/headers/csps/chains/bitcoincash.ts @@ -1,8 +1,10 @@ import { loadEnv } from 'vite' +import { determineMode } from '../../../utils' import type { Csp } from '../../types' -const env = loadEnv(process.env.NODE_ENV || 'development', process.cwd(), '') +const mode = determineMode() +const env = loadEnv(mode, process.cwd(), '') export const csp: Csp = { 'connect-src': [env.VITE_UNCHAINED_BITCOINCASH_HTTP_URL!, env.VITE_UNCHAINED_BITCOINCASH_WS_URL!], diff --git a/headers/csps/chains/bnbsmartchain.ts b/headers/csps/chains/bnbsmartchain.ts index cdc19ded1a5..e377a656d39 100644 --- a/headers/csps/chains/bnbsmartchain.ts +++ b/headers/csps/chains/bnbsmartchain.ts @@ -1,8 +1,10 @@ import { loadEnv } from 'vite' +import { determineMode } from '../../../utils' import type { Csp } from '../../types' -const env = loadEnv(process.env.NODE_ENV || 'development', process.cwd(), '') +const mode = determineMode() +const env = loadEnv(mode, process.cwd(), '') export const csp: Csp = { 'connect-src': [ diff --git a/headers/csps/chains/cosmos.ts b/headers/csps/chains/cosmos.ts index 98715d1930c..f8b158d2965 100644 --- a/headers/csps/chains/cosmos.ts +++ b/headers/csps/chains/cosmos.ts @@ -1,8 +1,10 @@ import { loadEnv } from 'vite' +import { determineMode } from '../../../utils' import type { Csp } from '../../types' -const env = loadEnv(process.env.NODE_ENV || 'development', process.cwd(), '') +const mode = determineMode() +const env = loadEnv(mode, process.cwd(), '') export const csp: Csp = { 'connect-src': [env.VITE_UNCHAINED_COSMOS_HTTP_URL!, env.VITE_UNCHAINED_COSMOS_WS_URL!], diff --git a/headers/csps/chains/dogecoin.ts b/headers/csps/chains/dogecoin.ts index f4a68ef5a11..c4cfa130659 100644 --- a/headers/csps/chains/dogecoin.ts +++ b/headers/csps/chains/dogecoin.ts @@ -1,8 +1,10 @@ import { loadEnv } from 'vite' +import { determineMode } from '../../../utils' import type { Csp } from '../../types' -const env = loadEnv(process.env.NODE_ENV || 'development', process.cwd(), '') +const mode = determineMode() +const env = loadEnv(mode, process.cwd(), '') export const csp: Csp = { 'connect-src': [env.VITE_UNCHAINED_DOGECOIN_HTTP_URL!, env.VITE_UNCHAINED_DOGECOIN_WS_URL!], diff --git a/headers/csps/chains/ethereum.ts b/headers/csps/chains/ethereum.ts index a1ce9dbf058..f7b2a8666a1 100644 --- a/headers/csps/chains/ethereum.ts +++ b/headers/csps/chains/ethereum.ts @@ -1,8 +1,10 @@ import { loadEnv } from 'vite' +import { determineMode } from '../../../utils' import type { Csp } from '../../types' -const env = loadEnv(process.env.NODE_ENV || 'development', process.cwd(), '') +const mode = determineMode() +const env = loadEnv(mode, process.cwd(), '') export const csp: Csp = { 'connect-src': [ diff --git a/headers/csps/chains/gnosis.ts b/headers/csps/chains/gnosis.ts index 00fb302dd29..3307a509625 100644 --- a/headers/csps/chains/gnosis.ts +++ b/headers/csps/chains/gnosis.ts @@ -1,8 +1,10 @@ import { loadEnv } from 'vite' +import { determineMode } from '../../../utils' import type { Csp } from '../../types' -const env = loadEnv(process.env.NODE_ENV || 'development', process.cwd(), '') +const mode = determineMode() +const env = loadEnv(mode, process.cwd(), '') export const csp: Csp = { 'connect-src': [ diff --git a/headers/csps/chains/litecoin.ts b/headers/csps/chains/litecoin.ts index 8693cf3eac4..eb1ca7a28bc 100644 --- a/headers/csps/chains/litecoin.ts +++ b/headers/csps/chains/litecoin.ts @@ -1,8 +1,10 @@ import { loadEnv } from 'vite' +import { determineMode } from '../../../utils' import type { Csp } from '../../types' -const env = loadEnv(process.env.NODE_ENV || 'development', process.cwd(), '') +const mode = determineMode() +const env = loadEnv(mode, process.cwd(), '') export const csp: Csp = { 'connect-src': [env.VITE_UNCHAINED_LITECOIN_HTTP_URL!, env.VITE_UNCHAINED_LITECOIN_WS_URL!], diff --git a/headers/csps/chains/optimism.ts b/headers/csps/chains/optimism.ts index 8193f170657..4eb253669a5 100644 --- a/headers/csps/chains/optimism.ts +++ b/headers/csps/chains/optimism.ts @@ -1,8 +1,10 @@ import { loadEnv } from 'vite' +import { determineMode } from '../../../utils' import type { Csp } from '../../types' -const env = loadEnv(process.env.NODE_ENV || 'development', process.cwd(), '') +const mode = determineMode() +const env = loadEnv(mode, process.cwd(), '') export const csp: Csp = { 'connect-src': [ diff --git a/headers/csps/chains/polygon.ts b/headers/csps/chains/polygon.ts index a421504a477..280ee25132c 100644 --- a/headers/csps/chains/polygon.ts +++ b/headers/csps/chains/polygon.ts @@ -1,8 +1,10 @@ import { loadEnv } from 'vite' +import { determineMode } from '../../../utils' import type { Csp } from '../../types' -const env = loadEnv(process.env.NODE_ENV || 'development', process.cwd(), '') +const mode = determineMode() +const env = loadEnv(mode, process.cwd(), '') export const csp: Csp = { 'connect-src': [ diff --git a/headers/csps/chains/solana.ts b/headers/csps/chains/solana.ts index 254975a2b66..edda62099be 100644 --- a/headers/csps/chains/solana.ts +++ b/headers/csps/chains/solana.ts @@ -1,8 +1,10 @@ import { loadEnv } from 'vite' +import { determineMode } from '../../../utils' import type { Csp } from '../../types' -const env = loadEnv(process.env.NODE_ENV || 'development', process.cwd(), '') +const mode = determineMode() +const env = loadEnv(mode, process.cwd(), '') export const csp: Csp = { 'connect-src': [ diff --git a/headers/csps/chains/thorchain.ts b/headers/csps/chains/thorchain.ts index 2edd227c056..a82df231c00 100644 --- a/headers/csps/chains/thorchain.ts +++ b/headers/csps/chains/thorchain.ts @@ -1,8 +1,10 @@ import { loadEnv } from 'vite' +import { determineMode } from '../../../utils' import type { Csp } from '../../types' -const env = loadEnv(process.env.NODE_ENV || 'development', process.cwd(), '') +const mode = determineMode() +const env = loadEnv(mode, process.cwd(), '') export const csp: Csp = { 'connect-src': [ diff --git a/headers/csps/chatwoot.ts b/headers/csps/chatwoot.ts index de700f3c598..5daf0ce3c48 100644 --- a/headers/csps/chatwoot.ts +++ b/headers/csps/chatwoot.ts @@ -1,8 +1,10 @@ import { loadEnv } from 'vite' +import { determineMode } from '../../utils' import type { Csp } from '../types' -const env = loadEnv(process.env.NODE_ENV || 'development', process.cwd(), '') +const mode = determineMode() +const env = loadEnv(mode, process.cwd(), '') export const csp: Csp = { 'connect-src': [env.VITE_CHATWOOT_URL!], diff --git a/headers/csps/defi/mtpelerin.ts b/headers/csps/defi/mtpelerin.ts index 713ae2e314c..49617465c9e 100644 --- a/headers/csps/defi/mtpelerin.ts +++ b/headers/csps/defi/mtpelerin.ts @@ -1,8 +1,10 @@ import { loadEnv } from 'vite' +import { determineMode } from '../../../utils' import type { Csp } from '../../types' -const env = loadEnv(process.env.NODE_ENV || 'development', process.cwd(), '') +const mode = determineMode() +const env = loadEnv(mode, process.cwd(), '') export const csp: Csp = { 'connect-src': [ diff --git a/headers/csps/defi/swappers/Thor.ts b/headers/csps/defi/swappers/Thor.ts index 1d1b7589d1c..1fa0e60d3f8 100644 --- a/headers/csps/defi/swappers/Thor.ts +++ b/headers/csps/defi/swappers/Thor.ts @@ -1,8 +1,10 @@ import { loadEnv } from 'vite' +import { determineMode } from '../../../../utils' import type { Csp } from '../../../types' -const env = loadEnv(process.env.NODE_ENV || 'development', process.cwd(), '') +const mode = determineMode() +const env = loadEnv(mode, process.cwd(), '') export const csp: Csp = { // removes `/v2` from midgard url diff --git a/headers/csps/fiatRamps/onRamper.ts b/headers/csps/fiatRamps/onRamper.ts index f9c56112ab9..8ca60581a3f 100644 --- a/headers/csps/fiatRamps/onRamper.ts +++ b/headers/csps/fiatRamps/onRamper.ts @@ -1,8 +1,10 @@ import { loadEnv } from 'vite' +import { determineMode } from '../../../utils' import type { Csp } from '../../types' -const env = loadEnv(process.env.NODE_ENV || 'development', process.cwd(), '') +const mode = determineMode() +const env = loadEnv(mode, process.cwd(), '') export const csp: Csp = { 'connect-src': [env.VITE_ONRAMPER_API_URL!, env.VITE_ONRAMPER_WIDGET_URL!], diff --git a/headers/csps/plugins/foxPage.ts b/headers/csps/plugins/foxPage.ts index 88f110f9780..a12b9fddb10 100644 --- a/headers/csps/plugins/foxPage.ts +++ b/headers/csps/plugins/foxPage.ts @@ -1,8 +1,10 @@ import { loadEnv } from 'vite' +import { determineMode } from '../../../utils' import type { Csp } from '../../types' -const env = loadEnv(process.env.NODE_ENV || 'development', process.cwd(), '') +const mode = determineMode() +const env = loadEnv(mode, process.cwd(), '') export const csp: Csp = { 'connect-src': [ diff --git a/headers/csps/wallets/keepkey.ts b/headers/csps/wallets/keepkey.ts index 3a10f3f3bf1..72d88c3635b 100644 --- a/headers/csps/wallets/keepkey.ts +++ b/headers/csps/wallets/keepkey.ts @@ -1,8 +1,10 @@ import { loadEnv } from 'vite' +import { determineMode } from '../../../utils' import type { Csp } from '../../types' -const env = loadEnv(process.env.NODE_ENV || 'development', process.cwd(), '') +const mode = determineMode() +const env = loadEnv(mode, process.cwd(), '') export const csp: Csp = { 'connect-src': [env.VITE_KEEPKEY_VERSIONS_URL!, env.VITE_KEEPKEY_DESKTOP_URL!], diff --git a/headers/csps/wallets/walletConnect.ts b/headers/csps/wallets/walletConnect.ts index 151e1037722..6d92310bc4d 100644 --- a/headers/csps/wallets/walletConnect.ts +++ b/headers/csps/wallets/walletConnect.ts @@ -1,8 +1,10 @@ import { loadEnv } from 'vite' +import { determineMode } from '../../../utils' import type { Csp } from '../../types' -const env = loadEnv(process.env.NODE_ENV || 'development', process.cwd(), '') +const mode = determineMode() +const env = loadEnv(mode, process.cwd(), '') export const csp: Csp = { 'connect-src': [ diff --git a/headers/csps/wallets/walletMigration.ts b/headers/csps/wallets/walletMigration.ts index 47d0bb7c3c0..c751cb1a162 100644 --- a/headers/csps/wallets/walletMigration.ts +++ b/headers/csps/wallets/walletMigration.ts @@ -1,8 +1,10 @@ import { loadEnv } from 'vite' +import { determineMode } from '../../../utils' import type { Csp } from '../../types' -const env = loadEnv(process.env.NODE_ENV || 'development', process.cwd(), '') +const mode = determineMode() +const env = loadEnv(mode, process.cwd(), '') export const csp: Csp = { 'connect-src': [ diff --git a/utils.ts b/utils.ts new file mode 100644 index 00000000000..8266bbe862b --- /dev/null +++ b/utils.ts @@ -0,0 +1,23 @@ +const BRANCH_TO_MODE = { + beard: 'develop', + juice: 'develop', + wood: 'develop', + gome: 'develop', + neo: 'develop', + arkeo: 'develop', + yeet: 'develop', + develop: 'develop', + release: 'app', + main: 'app', + private: 'private', +} + +export const determineMode = () => { + const branch = process.env.CURRENT_BRANCH_NAME + if (branch && BRANCH_TO_MODE[branch]) { + console.log(`Using branch ${branch} to determine environment ${BRANCH_TO_MODE[branch]}`) + return BRANCH_TO_MODE[branch] + } + + return 'dev' +} diff --git a/vite.config.mjs b/vite.config.mjs index f79839f8aaf..064d319e6c7 100644 --- a/vite.config.mjs +++ b/vite.config.mjs @@ -12,34 +12,11 @@ import checker from 'vite-plugin-checker' import tsconfigPaths from 'vite-tsconfig-paths' import { cspMeta, headers, serializeCsp } from './headers' +import { determineMode } from './utils' const __filename = fileURLToPath(import.meta.url) const __dirname = dirname(__filename) -const BRANCH_TO_MODE = { - beard: 'develop', - juice: 'develop', - wood: 'develop', - gome: 'develop', - neo: 'develop', - arkeo: 'develop', - yeet: 'develop', - develop: 'develop', - release: 'app', - main: 'app', - private: 'private', -} - -const determineMode = () => { - const branch = process.env.CURRENT_BRANCH_NAME - if (branch && BRANCH_TO_MODE[branch]) { - console.log(`Using branch ${branch} to determine environment ${BRANCH_TO_MODE[branch]}`) - return BRANCH_TO_MODE[branch] - } - - return 'dev' -} - const VITE_CSP_META = serializeCsp(cspMeta) const publicFilesEnvVars = {