github.com/replicatedhq/ship@v0.55.0/web/init/config/polyfills.js (about) 1 'use strict'; 2 3 if (typeof Promise === 'undefined') { 4 // Rejection tracking prevents a common issue where React gets into an 5 // inconsistent state due to an error, but it gets swallowed by a Promise, 6 // and the user has no idea what causes React's erratic future behavior. 7 require('promise/lib/rejection-tracking').enable(); 8 window.Promise = require('promise/lib/es6-extensions.js'); 9 } 10 11 // fetch() polyfill for making API calls. 12 require('whatwg-fetch'); 13 14 // Object.assign() is commonly used with React. 15 // It will use the native implementation if it's present and isn't buggy. 16 Object.assign = require('object-assign'); 17 18 // In tests, polyfill requestAnimationFrame since jsdom doesn't provide it yet. 19 // We don't polyfill it in the browser--this is user's responsibility. 20 if (process.env.NODE_ENV === 'test') { 21 require('raf').polyfill(global); 22 }