const { writeFile } = require('fs'); const { argv } = require('yargs'); const colors = require('colors'); require('dotenv').config(); const environment = argv.environment; const isProduction = environment === 'prod'; const targetPath = isProduction ? `./src/environments/environment.prod.ts` : `./src/environments/environment.ts`; const environmentVars = `import {NgxLoggerLevel} from 'ngx-logger'; export const environment = { production: ${isProduction}, bloxbergChainId: ${process.env.CHAIN_ID || 8996}, level: ${process.env.LOG_LEVEL || 'NgxLoggerLevel.OFF'}, serverLogLevel: ${process.env.SERVER_LEVEL || 'NgxLoggerLevel.OFF'}, loggingUrl: '${process.env.LOGGING_URL || 'http://localhost:8000'}', cicMetaUrl: '${process.env.META_URL || 'https://meta.dev.grassrootseconomics.net'}', publicKeysUrl: '${process.env.KEYS_URL || 'http://localhost:8000/keys.asc'}', cicCacheUrl: '${process.env.CACHE_URL || 'https://cache.dev.grassrootseconomics.net'}', web3Provider: '${process.env.WEB3_PROVIDER || 'ws://localhost:63546'}', cicUssdUrl: '${process.env.USSD_URL || 'https://ussd.dev.grassrootseconomics.net'}', registryAddress: '${process.env.REGISTRY_ADDRESS || '0x6Ca3cB14aA6F761712E1C18646AfBA4d5Ae249E8'}', trustedDeclaratorAddress: '${process.env.TRUSTED_ADDRESS || '0xEb3907eCad74a0013c259D5874AE7f22DcBcC95C'}' }; `; function setConfigs(configs): void { writeFile(targetPath, configs, err => { if (err) { throw console.error(err); } else { console.log(colors.cyan(`Wrote variables to '${targetPath}`)); } }); } if (!process.env.REGISTRY_ADDRESS) { console.error(colors.redBright('All the required environment variables were not provided!')); process.exit(-1); } console.log(colors.yellow(process.env.REGISTRY_ADDRESS)); if (isProduction) { console.log(colors.magenta('Running in production environment!')); setConfigs(environmentVars); } else { console.log(colors.green('Running in development environment!')); setConfigs(environmentVars); }