|
@@ -19,6 +19,17 @@ function eachConfigFile(root, callback) {
|
|
});
|
|
});
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+function transformShimDeps(json) {
|
|
|
|
+ var shimmedList = json.shim && Object.keys(json.shim);
|
|
|
|
+ if (!shimmedList) return;
|
|
|
|
+ for (var i = 0; i < shimmedList.length; i++) {
|
|
|
|
+ var shim = json.shim[shimmedList[i]];
|
|
|
|
+ if (Array.isArray(shim)) {
|
|
|
|
+ json.shim[shimmedList[i]] = {deps: shim};
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+}
|
|
|
|
+
|
|
exports.produceConfigObject = function (root, callback) {
|
|
exports.produceConfigObject = function (root, callback) {
|
|
eachConfigFile(root, function (err, filesAndDirs) {
|
|
eachConfigFile(root, function (err, filesAndDirs) {
|
|
if (err) {
|
|
if (err) {
|
|
@@ -56,8 +67,11 @@ exports.produceConfigObject = function (root, callback) {
|
|
}
|
|
}
|
|
var result = {};
|
|
var result = {};
|
|
for (var i = 0; i < bothPasses.length; i++) {
|
|
for (var i = 0; i < bothPasses.length; i++) {
|
|
- var file = bothPasses[i];
|
|
|
|
- _.merge(result, require(file));
|
|
|
|
|
|
+ var json = require(bothPasses[i]);
|
|
|
|
+ transformShimDeps(json);
|
|
|
|
+ _.merge(result, json, function(a, b) {
|
|
|
|
+ return _.isArray(a) ? a.concat(b) : undefined;
|
|
|
|
+ });
|
|
}
|
|
}
|
|
callback(null, result);
|
|
callback(null, result);
|
|
})
|
|
})
|