From a7966e93955088e96628f8f849df4f819e2dedff Mon Sep 17 00:00:00 2001 From: ritz078 Date: Fri, 16 Mar 2018 13:39:44 +0530 Subject: [PATCH 1/7] fix(ie11): replace Object.assign with object spread operators. --- packages/interface/src/utils/separateStyles.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/interface/src/utils/separateStyles.js b/packages/interface/src/utils/separateStyles.js index 138e20e..ef608c6 100644 --- a/packages/interface/src/utils/separateStyles.js +++ b/packages/interface/src/utils/separateStyles.js @@ -7,7 +7,7 @@ function separateStyles(stylesArray) { // keys, and we want the best performance in this code because we are in the // render path, we are going to do a little bookkeeping ourselves. let hasInlineStyles = false; - const inlineStyles = {}; + let inlineStyles = {}; // This is run on potentially every node in the tree when rendering, where // performance is critical. Normally we would prefer using `forEach`, but @@ -23,7 +23,7 @@ function separateStyles(stylesArray) { if (typeof style === 'string') { classNames.push(style); } else { - Object.assign(inlineStyles, style); + inlineStyles = { ...inlineStyles, ...style } hasInlineStyles = true; } } From 9bd6b940237bd08935b31f115dbd46e473d64296 Mon Sep 17 00:00:00 2001 From: ritz078 Date: Fri, 16 Mar 2018 13:44:10 +0530 Subject: [PATCH 2/7] fix eslint error --- packages/interface/src/utils/separateStyles.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/interface/src/utils/separateStyles.js b/packages/interface/src/utils/separateStyles.js index ef608c6..4dd936b 100644 --- a/packages/interface/src/utils/separateStyles.js +++ b/packages/interface/src/utils/separateStyles.js @@ -23,7 +23,7 @@ function separateStyles(stylesArray) { if (typeof style === 'string') { classNames.push(style); } else { - inlineStyles = { ...inlineStyles, ...style } + inlineStyles = { ...inlineStyles, ...style }; hasInlineStyles = true; } } From 2246bb2ea522b6832e2ec9f16c45178b704a9f3e Mon Sep 17 00:00:00 2001 From: ritz078 Date: Fri, 16 Mar 2018 14:13:03 +0530 Subject: [PATCH 3/7] add object-assign --- packages/interface/package.json | 3 ++- packages/interface/src/utils/separateStyles.js | 4 +++- 2 files changed, 5 insertions(+), 2 deletions(-) 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 4dd936b..a51dae0 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 { - inlineStyles = { ...inlineStyles, ...style }; + assign(inlineStyles, style); hasInlineStyles = true; } } From 854818404580b40912790150c7864b3e4170ab64 Mon Sep 17 00:00:00 2001 From: ritz078 Date: Fri, 16 Mar 2018 14:14:08 +0530 Subject: [PATCH 4/7] fix --- packages/interface/src/utils/separateStyles.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/interface/src/utils/separateStyles.js b/packages/interface/src/utils/separateStyles.js index a51dae0..ad77ed5 100644 --- a/packages/interface/src/utils/separateStyles.js +++ b/packages/interface/src/utils/separateStyles.js @@ -9,7 +9,7 @@ function separateStyles(stylesArray) { // keys, and we want the best performance in this code because we are in the // render path, we are going to do a little bookkeeping ourselves. let hasInlineStyles = false; - let inlineStyles = {}; + const inlineStyles = {}; // This is run on potentially every node in the tree when rendering, where // performance is critical. Normally we would prefer using `forEach`, but From 0e944f08206fa8fde02372e34a77b6e47054ec1e Mon Sep 17 00:00:00 2001 From: ritz078 Date: Fri, 16 Mar 2018 14:17:33 +0530 Subject: [PATCH 5/7] eslint fix --- packages/interface/src/utils/separateStyles.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/interface/src/utils/separateStyles.js b/packages/interface/src/utils/separateStyles.js index ad77ed5..7934edd 100644 --- a/packages/interface/src/utils/separateStyles.js +++ b/packages/interface/src/utils/separateStyles.js @@ -1,4 +1,4 @@ -import assign from "object-assign"; +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. From ac6876d3cff050293957bdf8b182f9c8b3fe7497 Mon Sep 17 00:00:00 2001 From: ritz078 Date: Fri, 16 Mar 2018 14:38:10 +0530 Subject: [PATCH 6/7] array-from --- packages/compiler/package.json | 1 + packages/compiler/src/utils.js | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) 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..10aacdc 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; } }); From 217f1debf3581de8f53b7a45b51789284342ec54 Mon Sep 17 00:00:00 2001 From: ritz078 Date: Fri, 16 Mar 2018 14:43:05 +0530 Subject: [PATCH 7/7] fix lint error --- packages/compiler/src/utils.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/compiler/src/utils.js b/packages/compiler/src/utils.js index 10aacdc..960f1c3 100644 --- a/packages/compiler/src/utils.js +++ b/packages/compiler/src/utils.js @@ -2,7 +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 arrayFrom from 'array-from'; import { StyleSheetServer, StyleSheet, css as compile } from 'aphrodite/no-important'; import CSSInterface from 'react-with-styles-interface-css';