Browse Source

It was all caused by using shallow extend!

pull/1785/head
jlukic 10 years ago
parent
commit
1c915c1210
5 changed files with 18 additions and 21 deletions
  1. 4
      package.json
  2. 2
      tasks/config/defaults.js
  3. 20
      tasks/config/project/config.js
  4. 11
      tasks/config/user.js
  5. 2
      tasks/install.js

4
package.json

@ -19,7 +19,7 @@
"peerDependencies": { "peerDependencies": {
"better-console" : "0.x.x", "better-console" : "0.x.x",
"del" : "1.x.x", "del" : "1.x.x",
"node.extend" : "1.x.x",
"extend" : "2.x.x",
"gulp" : "3.x.x", "gulp" : "3.x.x",
"gulp-autoprefixer" : "2.x.x", "gulp-autoprefixer" : "2.x.x",
"gulp-chmod" : "1.x.x", "gulp-chmod" : "1.x.x",
@ -47,7 +47,7 @@
"dependencies": { "dependencies": {
"better-console" : "0.x.x", "better-console" : "0.x.x",
"del" : "1.x.x", "del" : "1.x.x",
"node.extend" : "1.x.x",
"extend" : "2.x.x",
"gulp" : "3.x.x", "gulp" : "3.x.x",
"gulp-autoprefixer" : "2.x.x", "gulp-autoprefixer" : "2.x.x",
"gulp-chmod" : "1.x.x", "gulp-chmod" : "1.x.x",

2
tasks/config/defaults.js

@ -2,8 +2,6 @@
Default Paths Default Paths
*******************************/ *******************************/
console.log('included defaults');
module.exports = { module.exports = {
// base path added to all other paths // base path added to all other paths

20
tasks/config/project/config.js

@ -3,7 +3,7 @@
*******************************/ *******************************/
var var
extend = require('node.extend'),
extend = require('extend'),
fs = require('fs'), fs = require('fs'),
path = require('path'), path = require('path'),
@ -61,27 +61,27 @@ module.exports = {
var var
configPath = this.getPath(), configPath = this.getPath(),
sourcePaths = {},
outputPaths = {},
folder folder
; ;
// resolve source paths
// resolve paths (config location + base + path)
for(folder in config.paths.source) { for(folder in config.paths.source) {
if(config.paths.source.hasOwnProperty(folder)) { if(config.paths.source.hasOwnProperty(folder)) {
// full path is (config location + base + path)
config.paths.source[folder] = path.resolve(path.join(configPath, config.base, config.paths.source[folder]));
sourcePaths[folder] = path.resolve(path.join(configPath, config.base, config.paths.source[folder]));
} }
} }
// resolve output paths
for(folder in config.paths.output) { for(folder in config.paths.output) {
if(config.paths.output.hasOwnProperty(folder)) { if(config.paths.output.hasOwnProperty(folder)) {
// full path is (config location + base + path)
console.log('start extend' , defaults.paths.output[folder]);
config.paths.output[folder] = path.resolve(path.join(configPath, config.base, config.paths.output[folder]));
console.log('end extend' , defaults.paths.output[folder]);
outputPaths[folder] = path.resolve(path.join(configPath, config.base, config.paths.output[folder]));
} }
} }
// set config paths to full paths
config.paths.source = sourcePaths;
config.paths.output = outputPaths;
// resolve "clean" command path // resolve "clean" command path
config.paths.clean = path.resolve( path.join(configPath, config.base, config.paths.clean) ); config.paths.clean = path.resolve( path.join(configPath, config.base, config.paths.clean) );

11
tasks/config/user.js

@ -4,7 +4,7 @@
var var
// npm dependencies // npm dependencies
extend = require('node.extend'),
extend = require('extend'),
fs = require('fs'), fs = require('fs'),
path = require('path'), path = require('path'),
requireDotFile = require('require-dot-file'), requireDotFile = require('require-dot-file'),
@ -13,11 +13,12 @@ var
defaults = require('./defaults'), defaults = require('./defaults'),
config = require('./project/config'), config = require('./project/config'),
// Final config object
gulpConfig = {},
// semantic.json settings // semantic.json settings
userConfig,
userConfig
// final config object
gulpConfig
; ;
@ -37,7 +38,7 @@ catch(error) {
// extend user config with defaults // extend user config with defaults
gulpConfig = (!userConfig) gulpConfig = (!userConfig)
? extend(false, {}, defaults)
? extend(true, {}, defaults)
: extend(false, {}, defaults, userConfig) : extend(false, {}, defaults, userConfig)
; ;

2
tasks/install.js

@ -56,8 +56,6 @@ var
// Export install task // Export install task
module.exports = function () { module.exports = function () {
return;
var var
currentConfig = requireDotFile('semantic.json'), currentConfig = requireDotFile('semantic.json'),
manager = install.getPackageManager(), manager = install.getPackageManager(),

Loading…
Cancel
Save