wishthis/semantic/tasks/config/user.js

59 lines
1.2 KiB
JavaScript
Raw Normal View History

2022-01-13 13:00:31 +00:00
/*******************************
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', process.cwd());
}
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;