diff --git a/packages/compiler/package.json b/packages/compiler/package.json index 9eb5f16..e078dd2 100644 --- a/packages/compiler/package.json +++ b/packages/compiler/package.json @@ -54,6 +54,7 @@ }, "dependencies": { "aphrodite": "^1.2.4", + "array-from": "^2.1.1", "babel-register": "^6.26.0", "clean-css": "^4.1.9", "global-cache": "^1.2.1", diff --git a/packages/compiler/src/utils.js b/packages/compiler/src/utils.js index f7206df..960f1c3 100644 --- a/packages/compiler/src/utils.js +++ b/packages/compiler/src/utils.js @@ -2,6 +2,7 @@ import { JSDOM } from 'jsdom'; import values from 'object.values'; import entries from 'object.entries'; import globalCache from 'global-cache'; +import arrayFrom from 'array-from'; import { StyleSheetServer, StyleSheet, css as compile } from 'aphrodite/no-important'; import CSSInterface from 'react-with-styles-interface-css'; @@ -38,7 +39,7 @@ function getCSS(stylesObject) { entries(stylesObject).forEach(([styleName, styleDef]) => { for (let i = 1; i <= maxSpecificity; i += 1) { const repeatedSpecifier = - Array.from({ length: i }, () => `${styleName}_${i}`).join('.'); + arrayFrom({ length: i }, () => `${styleName}_${i}`).join('.'); stylesObjectWithSpecificity[repeatedSpecifier] = styleDef; } }); diff --git a/packages/interface/package.json b/packages/interface/package.json index 3915c5c..7e5aee6 100644 --- a/packages/interface/package.json +++ b/packages/interface/package.json @@ -49,7 +49,8 @@ "dependencies": { "aphrodite": "^1.2.5", "array.prototype.flatten": "^1.2.1", - "global-cache": "^1.2.1" + "global-cache": "^1.2.1", + "object-assign": "^4.1.1" }, "peerDependencies": { "react-with-styles": "^3.0.0" diff --git a/packages/interface/src/utils/separateStyles.js b/packages/interface/src/utils/separateStyles.js index 138e20e..7934edd 100644 --- a/packages/interface/src/utils/separateStyles.js +++ b/packages/interface/src/utils/separateStyles.js @@ -1,3 +1,5 @@ +import assign from 'object-assign'; + // This function takes an array of styles and separates them into styles that // are handled by Aphrodite and inline styles. function separateStyles(stylesArray) { @@ -23,7 +25,7 @@ function separateStyles(stylesArray) { if (typeof style === 'string') { classNames.push(style); } else { - Object.assign(inlineStyles, style); + assign(inlineStyles, style); hasInlineStyles = true; } }