3 * node print-config [path-to-env-file]
5 * if no path-to-env-file is provided, it will use default dotenv settings
6 * i.e. use environment variables and .env file if present
9 /* eslint-disable no-console */
10 const path = require('path')
11 const fs = require('fs')
13 const isDeployment = !fs.existsSync('./src') && fs.existsSync('./server')
15 const envFile = process.argv[2]
16 ? path.resolve(__dirname, process.argv[2])
17 : path.resolve(__dirname, './.env')
19 if (fs.existsSync(envFile)) {
24 console.warn(`${envFile} not found, using defaults`)
26 require('dotenv').config(opts)
28 const appFolder = isDeployment ? 'server' : 'src'
29 require(`./${appFolder}/globals`)
32 getRelevantProcessVariables,
33 } = require(`./${appFolder}/config/parse-env-variables`)
34 const { getConfig } = require(`./${appFolder}/config/get-config`)
37 const envs = getRelevantProcessVariables()
38 const defaultedEnvs = parseEnvVariables()
39 const config = getConfig()
41 console.log('Your environment variables:')
43 console.log('\nYour environment variables with default values:')
44 console.log(defaultedEnvs)
45 console.log('\nMotion Configuration:')
48 console.log('\u001b[31;1mYour configuration is not valid!\u001b[0m')
49 // eslint-disable-next-line no-process-exit