Created
June 20, 2015 02:39
-
-
Save nishant8BITS/f4ce80ce3e976f7532b3 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
'use strict'; | |
/** | |
* Module dependencies. | |
*/ | |
var _ = require('lodash'), | |
glob = require('glob'), | |
fs = require('fs'); | |
/** | |
* Resolve environment configuration by extending each env configuration file, | |
* and lastly merge/override that with any local repository configuration that exists | |
* in local.js | |
*/ | |
var resolvingConfig = function() { | |
var conf = {}; | |
conf = _.extend( | |
require('./env/all'), | |
require('./env/' + process.env.NODE_ENV) || {} | |
); | |
return _.merge(conf, (fs.existsSync('./config/env/local.js') && require('./env/local.js')) || {}); | |
}; | |
/** | |
* Load app configurations | |
*/ | |
module.exports = resolvingConfig(); | |
/** | |
* Get files by glob patterns | |
*/ | |
module.exports.getGlobbedFiles = function(globPatterns, removeRoot) { | |
// For context switching | |
var _this = this; | |
// URL paths regex | |
var urlRegex = new RegExp('^(?:[a-z]+:)?\/\/', 'i'); | |
// The output array | |
var output = []; | |
// If glob pattern is array so we use each pattern in a recursive way, otherwise we use glob | |
if (_.isArray(globPatterns)) { | |
globPatterns.forEach(function(globPattern) { | |
output = _.union(output, _this.getGlobbedFiles(globPattern, removeRoot)); | |
}); | |
} else if (_.isString(globPatterns)) { | |
if (urlRegex.test(globPatterns)) { | |
output.push(globPatterns); | |
} else { | |
glob(globPatterns, function(err, files) { | |
if (removeRoot) { | |
files = files.map(function(file) { | |
return file.replace(removeRoot, ''); | |
}); | |
} | |
output = _.union(output, files); | |
}); | |
} | |
} | |
return output; | |
}; | |
/** | |
* Get the modules JavaScript files | |
*/ | |
module.exports.getJavaScriptAssets = function(includeTests) { | |
var output = this.getGlobbedFiles(this.assets.lib.js.concat(this.assets.js), 'public/'); | |
// To include tests | |
if (includeTests) { | |
output = _.union(output, this.getGlobbedFiles(this.assets.tests)); | |
} | |
return output; | |
}; | |
/** | |
* Get the modules CSS files | |
*/ | |
module.exports.getCSSAssets = function() { | |
var output = this.getGlobbedFiles(this.assets.lib.css.concat(this.assets.css), 'public/'); | |
return output; | |
}; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
'use strict'; | |
/** | |
* Module dependencies. | |
*/ | |
var glob = require('glob'), | |
chalk = require('chalk'); | |
/** | |
* Module init function. | |
*/ | |
module.exports = function() { | |
/** | |
* Before we begin, lets set the environment variable | |
* We'll Look for a valid NODE_ENV variable and if one cannot be found load the development NODE_ENV | |
*/ | |
glob('./config/env/' + process.env.NODE_ENV + '.js',function(err, environmentFiles) { | |
if (!environmentFiles.length) { | |
if (process.env.NODE_ENV) { | |
console.error(chalk.red('No configuration file found for "' + process.env.NODE_ENV + '" environment using development instead')); | |
} else { | |
console.error(chalk.red('NODE_ENV is not defined! Using default development environment')); | |
} | |
process.env.NODE_ENV = 'development'; | |
} | |
}); | |
}; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment