osu-spotify-yt-rest/src/config.js

58 lines
1.4 KiB
JavaScript

/* eslint-disable no-unused-vars */
import path from 'path'
import merge from 'lodash/merge'
/* istanbul ignore next */
const requireProcessEnv = (name) => {
if (!process.env[name]) {
throw new Error('You must set the ' + name + ' environment variable')
}
return process.env[name]
}
/* istanbul ignore next */
if (process.env.NODE_ENV !== 'production') {
const dotenv = require('dotenv-safe')
dotenv.config({
path: path.join(__dirname, '../.env'),
example: path.join(__dirname, '../.env.example')
})
}
const config = {
all: {
env: process.env.NODE_ENV || 'development',
root: path.join(__dirname, '..'),
port: process.env.PORT || 9000,
ip: process.env.IP || '0.0.0.0',
apiRoot: process.env.API_ROOT || '',
masterKey: requireProcessEnv('MASTER_KEY'),
mongo: {
options: {
useUnifiedTopology: true,
useNewUrlParser: true,
useCreateIndex: true
}
}
},
test: { },
development: {
mongo: {
uri: 'mongodb://localhost/osu-spotify-yt-rest-dev',
options: {
debug: true
}
}
},
production: {
ip: process.env.IP || undefined,
port: process.env.PORT || 8080,
mongo: {
uri: process.env.MONGODB_URI || 'mongodb://localhost/osu-spotify-yt-rest'
}
}
}
module.exports = merge(config.all, config[config.all.env])
export default module.exports