github.com/fanux/shipyard@v0.0.0-20161009071005-6515ce223235/controller/static/semantic/tasks/config/user.js (about) 1 /******************************* 2 Set-up 3 *******************************/ 4 5 var 6 // npm dependencies 7 extend = require('extend'), 8 fs = require('fs'), 9 path = require('path'), 10 requireDotFile = require('require-dot-file'), 11 12 // semantic.json defaults 13 defaults = require('./defaults'), 14 config = require('./project/config'), 15 16 // Final config object 17 gulpConfig = {}, 18 19 // semantic.json settings 20 userConfig 21 22 ; 23 24 25 /******************************* 26 User Config 27 *******************************/ 28 29 try { 30 // looks for config file across all parent directories 31 userConfig = requireDotFile('semantic.json'); 32 } 33 catch(error) { 34 if(error.code === 'MODULE_NOT_FOUND') { 35 console.error('No semantic.json config found'); 36 } 37 } 38 39 // extend user config with defaults 40 gulpConfig = (!userConfig) 41 ? extend(true, {}, defaults) 42 : extend(false, {}, defaults, userConfig) 43 ; 44 45 /******************************* 46 Add Derived Values 47 *******************************/ 48 49 // adds calculated values 50 config.addDerivedValues(gulpConfig); 51 52 53 /******************************* 54 Export 55 *******************************/ 56 57 module.exports = gulpConfig; 58