From ac768420f896393b7cd463b47958279fad81b9eb Mon Sep 17 00:00:00 2001 From: Joe Haddad Date: Mon, 1 Oct 2018 10:54:41 -0400 Subject: [PATCH 1/2] Polyfill for IE9 support --- packages/react-error-overlay/package.json | 1 + .../react-error-overlay/src/iframeScript.js | 2 +- .../src/utils/pollyfills.js | 18 ------------------ 3 files changed, 2 insertions(+), 19 deletions(-) delete mode 100644 packages/react-error-overlay/src/utils/pollyfills.js diff --git a/packages/react-error-overlay/package.json b/packages/react-error-overlay/package.json index a00c0d23259..bdba0aa2069 100644 --- a/packages/react-error-overlay/package.json +++ b/packages/react-error-overlay/package.json @@ -55,6 +55,7 @@ "promise": "8.0.2", "raw-loader": "^0.5.1", "react": "^16.3.2", + "react-app-polyfill": "^0.0.0", "react-dom": "^16.3.2", "rimraf": "^2.6.2", "settle-promise": "1.0.0", diff --git a/packages/react-error-overlay/src/iframeScript.js b/packages/react-error-overlay/src/iframeScript.js index 3da820264b4..011172b5d56 100644 --- a/packages/react-error-overlay/src/iframeScript.js +++ b/packages/react-error-overlay/src/iframeScript.js @@ -5,7 +5,7 @@ * LICENSE file in the root directory of this source tree. */ -import './utils/pollyfills.js'; +import 'react-app-polyfill/ie9'; import React from 'react'; import ReactDOM from 'react-dom'; import CompileErrorContainer from './containers/CompileErrorContainer'; diff --git a/packages/react-error-overlay/src/utils/pollyfills.js b/packages/react-error-overlay/src/utils/pollyfills.js deleted file mode 100644 index ddd5aeb9651..00000000000 --- a/packages/react-error-overlay/src/utils/pollyfills.js +++ /dev/null @@ -1,18 +0,0 @@ -/** - * Copyright (c) 2015-present, Facebook, Inc. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ - -if (typeof Promise === 'undefined') { - // Rejection tracking prevents a common issue where React gets into an - // inconsistent state due to an error, but it gets swallowed by a Promise, - // and the user has no idea what causes React's erratic future behavior. - require('promise/lib/rejection-tracking').enable(); - window.Promise = require('promise/lib/es6-extensions.js'); -} - -// Object.assign() is commonly used with React. -// It will use the native implementation if it's present and isn't buggy. -Object.assign = require('object-assign'); From ee8ddb0506f0c63a84bddd408919b37371b07ca6 Mon Sep 17 00:00:00 2001 From: Joe Haddad Date: Mon, 1 Oct 2018 11:09:41 -0400 Subject: [PATCH 2/2] Turn off performance option in webpack --- packages/react-error-overlay/webpack.config.iframe.js | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/react-error-overlay/webpack.config.iframe.js b/packages/react-error-overlay/webpack.config.iframe.js index 7e8784eb01b..ac5b6dcd41f 100644 --- a/packages/react-error-overlay/webpack.config.iframe.js +++ b/packages/react-error-overlay/webpack.config.iframe.js @@ -76,4 +76,5 @@ module.exports = { __REACT_DEVTOOLS_GLOBAL_HOOK__: '({})', }), ], + performance: false, };