summaryrefslogtreecommitdiffstats
path: root/src/wwwroot/libraries/fomantic/tasks/config/user.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/wwwroot/libraries/fomantic/tasks/config/user.js')
-rw-r--r--src/wwwroot/libraries/fomantic/tasks/config/user.js58
1 files changed, 58 insertions, 0 deletions
diff --git a/src/wwwroot/libraries/fomantic/tasks/config/user.js b/src/wwwroot/libraries/fomantic/tasks/config/user.js
new file mode 100644
index 0000000..7b7c16d
--- /dev/null
+++ b/src/wwwroot/libraries/fomantic/tasks/config/user.js
@@ -0,0 +1,58 @@
+/*******************************
+ 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;
+