docs/_webpack/_envConfig.js

105 lines
2.9 KiB
JavaScript

var webpack = require('webpack');
var debug = require('debug')('_envConfig');
debug(process.env.ENV);
function isProd() {
return process.env.ENV === 'production';
}
/**
* `development` is staging.
* `staging` is also staging.
*
* The keys in these objects are possible ENV configurations
*
* Pointing production to staging during Alpha
*/
var HUB_URLS = {
local: 'https://hub.dev.docker.com',
development: 'https://hub-stage.docker.com',
staging: 'https://hub-stage.docker.com',
production: 'https://hub.docker.com'
}
var RECURLY_PUBLIC_KEY = {
local: 'sjc-9XwqFDBZALFs9BP9dn3J8e',
development: 'sjc-9XwqFDBZALFs9BP9dn3J8e',
production: 'sjc-JIfmXVz2OVkg3xg10NhWm1'
}
// NO LONGER USED
// var MUNCHKIN_CODE = {
// staging: '453-IHP-147',
// production: '929-FJL-178'
// }
var BUGSNAG_API_KEY = {
staging: 'ec43d0373895ee5eb76ec75301157a85',
production: 'd639ea00dd6e493b739de27a7ee0f90c'
}
var TUTUM_SIGNIN_URLS = {
development: 'https://dashboard-staging.tutum.co/login/docker/',
production: 'https://dashboard.tutum.co/login/docker/'
}
var COOKIE_DOMAIN = {
local: 'hub.dev.docker.com',
development: 'bagels.docker.com',
staging: 'hub-stage.docker.com',
production: 'hub.docker.com'
};
// NODE_ENV is an express thing but is NOT being used by us
if (isProd() || process.env.ENV === 'staging') {
process.env.NODE_ENV = 'production'
}
if ( !~['development', 'local', 'staging', 'production'].indexOf(process.env.ENV) ) {
process.env.ENV = 'development';
}
// Override some ENV vars
process.env.HUB_API_BASE_URL = process.env.HUB_API_BASE_URL || HUB_URLS[process.env.ENV] || 'https://hub-stage.docker.com';
process.env.REGISTRY_API_BASE_URL = HUB_URLS[process.env.ENV] || 'https://hub-stage.docker.com';
process.env.RECURLY_PUBLIC_KEY = RECURLY_PUBLIC_KEY[process.env.ENV] || 'sjc-9XwqFDBZALFs9BP9dn3J8e';
process.env.CLIENT_JS_FILENAME = process.env.CLIENT_JS_FILENAME || 'client.js';
process.env.CSS_FILENAME = process.env.CSS_FILENAME || 'style.css';
process.env.COOKIE_DOMAIN = COOKIE_DOMAIN[process.env.ENV] || 'bagels.docker.com';
process.env.BOT_TRACKING_ID = 'PXbPb4C2uT';
if(isProd()) {
process.env.BUGSNAG_API_KEY = BUGSNAG_API_KEY.production;
process.env.GOOGLE_TAG_MANAGER = 'gtmActive';
process.env.BOT_TRACKING_ID = 'PXPmP8ILuI';
} else if(process.env.ENV === 'staging') {
process.env.BUGSNAG_API_KEY = BUGSNAG_API_KEY.staging;
process.env.GOOGLE_TAG_MANAGER = 'gtmDisabled';
}
process.env.TUTUM_SIGNIN_URL = TUTUM_SIGNIN_URLS[process.env.ENV] || 'https://dashboard-staging.tutum.co/login/docker/';
process.env.NAUTILUS_API_BASE_URL = HUB_URLS[process.env.ENV] + '/api/nautilus/v1';
debug(process.env);
module.exports = new webpack.EnvironmentPlugin([
'BUGSNAG_API_KEY',
'CLIENT_JS_FILENAME',
'CSS_FILENAME',
'ENV',
'NODE_ENV',
'GOOGLE_TAG_MANAGER',
'BOT_TRACKING_ID',
'HUB_API_BASE_URL',
'NAUTILUS_API_BASE_URL',
'RECURLY_PUBLIC_KEY',
'REGISTRY_API_BASE_URL',
'TUTUM_SIGNIN_URL'
]);