| /******************************* |
| Set-up |
| *******************************/ |
| |
| var |
| // npm dependencies |
| extend = require('extend'), |
| fs = require('fs'), |
| path = require('path'), |
| requireDotFile = require('require-dot-file'), |
| |
| // semantic.json defaults |
| defaults = require('./defaults'), |
| config = require('./project/config'), |
| |
| // Final config object |
| gulpConfig = {}, |
| |
| // semantic.json settings |
| userConfig |
| |
| ; |
| |
| |
| /******************************* |
| User Config |
| *******************************/ |
| |
| try { |
| // looks for config file across all parent directories |
| userConfig = requireDotFile('semantic.json'); |
| } |
| catch(error) { |
| if(error.code === 'MODULE_NOT_FOUND') { |
| console.error('No semantic.json config found'); |
| } |
| } |
| |
| // extend user config with defaults |
| gulpConfig = (!userConfig) |
| ? extend(true, {}, defaults) |
| : extend(false, {}, defaults, userConfig) |
| ; |
| |
| /******************************* |
| Add Derived Values |
| *******************************/ |
| |
| // adds calculated values |
| config.addDerivedValues(gulpConfig); |
| |
| |
| /******************************* |
| Export |
| *******************************/ |
| |
| module.exports = gulpConfig; |
| |