31 lines
1.1 KiB
JavaScript
31 lines
1.1 KiB
JavaScript
// @remove-on-eject-begin
|
|
/**
|
|
* 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.
|
|
*/
|
|
// @remove-on-eject-end
|
|
'use strict';
|
|
|
|
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');
|
|
}
|
|
|
|
// fetch() polyfill for making API calls.
|
|
require('whatwg-fetch');
|
|
|
|
// 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');
|
|
|
|
// In tests, polyfill requestAnimationFrame since jsdom doesn't provide it yet.
|
|
// We don't polyfill it in the browser--this is user's responsibility.
|
|
if (process.env.NODE_ENV === 'test') {
|
|
require('raf').polyfill(global);
|
|
}
|