diff --git a/packages/metro-bundler/src/Bundler/index.js b/packages/metro-bundler/src/Bundler/index.js index cce95a30..126c3e79 100644 --- a/packages/metro-bundler/src/Bundler/index.js +++ b/packages/metro-bundler/src/Bundler/index.js @@ -23,7 +23,6 @@ const HMRBundle = require('./HMRBundle'); const ModuleTransport = require('../lib/ModuleTransport'); const imageSize = require('image-size'); const path = require('path'); -const version = require('../../../package.json').version; const denodeify = require('denodeify'); const { @@ -34,6 +33,8 @@ const { extname, } = require('path'); +const VERSION = require('../../package.json').version; + import type AssetServer from '../AssetServer'; import type Module from '../node-haste/Module'; import type ResolutionResponse from '../node-haste/DependencyGraph/ResolutionResponse'; @@ -129,7 +130,7 @@ class Bundler { const cacheKeyParts = [ 'react-packager-cache', - version, + VERSION, opts.cacheVersion, stableProjectRoots.join(',').split(pathSeparator).join('-'), transformModuleHash, diff --git a/packages/metro-bundler/src/Logger/index.js b/packages/metro-bundler/src/Logger/index.js index cb7ea774..db53a1fc 100644 --- a/packages/metro-bundler/src/Logger/index.js +++ b/packages/metro-bundler/src/Logger/index.js @@ -12,10 +12,11 @@ 'use strict'; const os = require('os'); -const pkgjson = require('../../../package.json'); const {EventEmitter} = require('events'); +const VERSION = require('../../package.json').version; + import type { ActionLogEntryData, ActionStartLogEntry, @@ -35,7 +36,7 @@ function createEntry(data: LogEntry | string): LogEntry { return { ...logEntry, log_session, - packager_version: pkgjson.version, + packager_version: VERSION, }; } diff --git a/packages/metro-bundler/src/ModuleGraph/node-haste/Package.js b/packages/metro-bundler/src/ModuleGraph/node-haste/Package.js index ad328d7a..9e982e14 100644 --- a/packages/metro-bundler/src/ModuleGraph/node-haste/Package.js +++ b/packages/metro-bundler/src/ModuleGraph/node-haste/Package.js @@ -11,6 +11,7 @@ 'use strict'; +const nullthrows = require('fbjs/lib/nullthrows'); const path = require('path'); import type {PackageData} from '../types.flow'; @@ -51,7 +52,7 @@ module.exports = class Package { } getName() { - return this.data.then(p => p.name); + return this.data.then(p => nullthrows(p.name)); } isHaste() { diff --git a/packages/metro-bundler/src/Resolver/polyfills/require.js b/packages/metro-bundler/src/Resolver/polyfills/require.js index acdc4a98..447a47af 100644 --- a/packages/metro-bundler/src/Resolver/polyfills/require.js +++ b/packages/metro-bundler/src/Resolver/polyfills/require.js @@ -10,7 +10,9 @@ * @flow */ -'use strict'; + 'use strict'; + +declare var __DEV__: boolean; type DependencyMap = Array; type Exports = any; diff --git a/packages/metro-bundler/src/node-haste/Cache/index.js b/packages/metro-bundler/src/node-haste/Cache/index.js index fb2a2289..64a7387d 100644 --- a/packages/metro-bundler/src/node-haste/Cache/index.js +++ b/packages/metro-bundler/src/node-haste/Cache/index.js @@ -236,7 +236,7 @@ function loadCacheSync(cachePath) { } try { - return JSON.parse(fs.readFileSync(cachePath)); + return JSON.parse(fs.readFileSync(cachePath, 'utf8')); } catch (e) { if (e instanceof SyntaxError) { console.warn('Unable to parse cache file. Will clear and continue.');