Use `this` rather than `global` in prelude

Summary: in new-style builds, the prelude is not wrapped into an IIFE, so `global` is not available. Since the bundle as a whole is not running in strict mode, we can access the global object with `this`.

Reviewed By: jeanlauliac

Differential Revision: D5051731

fbshipit-source-id: 4003b5e57ba8626e38e68e92d5778c2c59ca69a5
This commit is contained in:
David Aurelio 2017-05-12 09:42:09 -07:00 committed by Facebook Github Bot
parent 0a4ce80868
commit e1306565db
2 changed files with 3 additions and 3 deletions

View File

@ -97,6 +97,6 @@ function* concat<T>(...iterables: Array<Iterable<T>>): Iterable<T> {
function prelude(optimize) {
return virtualModule(
`var __DEV__=${String(!optimize)},` +
'__BUNDLE_START_TIME__=global.nativePerformanceNow?global.nativePerformanceNow():Date.now();'
'__BUNDLE_START_TIME__=this.nativePerformanceNow?nativePerformanceNow():Date.now();'
);
}

View File

@ -29,7 +29,7 @@ describe('build setup', () => {
dependencies: [],
file: {
code: 'var __DEV__=true,__BUNDLE_START_TIME__=' +
'global.nativePerformanceNow?global.nativePerformanceNow():Date.now();',
'this.nativePerformanceNow?nativePerformanceNow():Date.now();',
path: '',
type: 'script',
},
@ -43,7 +43,7 @@ describe('build setup', () => {
const [prelude] = result.modules;
expect(prelude.file.code)
.toEqual('var __DEV__=false,__BUNDLE_START_TIME__=' +
'global.nativePerformanceNow?global.nativePerformanceNow():Date.now();');
'this.nativePerformanceNow?nativePerformanceNow():Date.now();');
done();
});
});