diff --git a/.travis.yml b/.travis.yml index 8e6e1b1..9f51291 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,9 +1,6 @@ language: node_js node_js: - 6 -before_install: - - rvm install 2.2.4 - - gem install sass install: - npm install before_script: diff --git a/dist/_synergy.scss b/dist/_synergy.scss index fd8a7ce..8d2e360 100644 --- a/dist/_synergy.scss +++ b/dist/_synergy.scss @@ -151,42 +151,26 @@ } /// Used to recursively merge (deep merge) two maps /// -/// @author Pedr Browne +/// @author Zsolt Pentz /// @access public -/// @link https://git.io/vPrlX +/// @link https://codepen.io/pentzzsolt/pen/yJkgyW /// /// @param {map} $map-old - The original map /// @param {map} $map-new - The new map you wish to merge into the original -/// @param {bool} $overwrite [true] - Overwrite existing keys /// /// @return {map} - merged map -@function map-merge-deep($map-old, $map-new, $overwrite: true) { - - // Iterate through each value of the new map - @each $key, $new-value in $map-new { - - // Check if that value already exists on the old map - @if map-has-key($map-old, $key) { - // There is an existing key - $old-value: map-get($map-old, $key); - @if type-of($new-value) == map and type-of($old-value) == map { - // If both are maps, recurse regardless of $overwrite - $merged-value: map-merge-deep($old-value, $new-value); - $map-old: map-set($map-old, $key, $merged-value); - } @else { - // Otherwise check $overwrite - @if $overwrite { - $map-old: map-set($map-old, $key, $new-value); - } - } +@function map-merge-deep($parent-map, $child-map) { + $result: $parent-map; + + @each $key, $value in $child-map { + @if(type-of(map-get($result, $key)) == map and type-of($value) == map) { + $result: map-merge($result, ($key: map-merge-deep(map-get($result, $key), $value))); } @else { - // There is no existing key to add - $map-old: map-set($map-old, $key, $new-value); + $result: map-merge($result, ($key: $value)); } - } - @return $map-old; + @return $result; } /// Reverse a map /// diff --git a/dist/synergy.js b/dist/synergy.js index 611b645..81d57f9 100644 --- a/dist/synergy.js +++ b/dist/synergy.js @@ -102,10 +102,11 @@ var global = exports.global = { 'module-namespace': '', 'component-glue': '_', 'modifier-glue': '-' -}; -// Vendor -//***************************************************************** + // Vendor + //***************************************************************** + +}; // Tools & Utilities //***************************************************************** diff --git a/dist/synergy.web.js b/dist/synergy.web.js index f510329..92b5755 100644 --- a/dist/synergy.web.js +++ b/dist/synergy.web.js @@ -101,10 +101,11 @@ var global = exports.global = { 'module-namespace': '', 'component-glue': '_', 'modifier-glue': '-' -}; -// Vendor -//***************************************************************** + // Vendor + //***************************************************************** + +}; // Tools & Utilities //***************************************************************** diff --git a/package.json b/package.json index 3e3ae12..88d0e59 100644 --- a/package.json +++ b/package.json @@ -37,6 +37,7 @@ "babel-core": "^6.24.1", "babel-loader": "^7.1.2", "babel-preset-es2015": "^6.24.1", + "babel-preset-react": "^6.24.1", "babel-register": "^6.26.0", "concat": "^1.0.3", "eslint": "^4.14.0",