diff --git a/packager/src/Bundler/__tests__/Bundler-test.js b/packager/src/Bundler/__tests__/Bundler-test.js index 981fd0233..939a8e4c5 100644 --- a/packager/src/Bundler/__tests__/Bundler-test.js +++ b/packager/src/Bundler/__tests__/Bundler-test.js @@ -171,7 +171,7 @@ describe('Bundler', function() { hot: false, inlineRequires: false, platform: undefined, - projectRoots, + projectRoot: projectRoots[0], }, }, }, diff --git a/packager/src/Bundler/index.js b/packager/src/Bundler/index.js index 7094c5ff3..1715c00fe 100644 --- a/packager/src/Bundler/index.js +++ b/packager/src/Bundler/index.js @@ -821,7 +821,7 @@ class Bundler { hot, inlineRequires: extraOptions.inlineRequires || false, platform, - projectRoots: options.projectRoots, + projectRoot: options.projectRoots[0], } }, preloadedModules: extraOptions.preloadedModules, diff --git a/packager/src/JSTransformer/worker/worker.js b/packager/src/JSTransformer/worker/worker.js index 335ab5a78..a3e978206 100644 --- a/packager/src/JSTransformer/worker/worker.js +++ b/packager/src/JSTransformer/worker/worker.js @@ -41,7 +41,7 @@ export type TransformOptions = {| +hot: boolean, +inlineRequires: {+blacklist: {[string]: true}} | boolean, +platform: string, - +projectRoots: Array, + +projectRoot: string, |}; export type Options = {| diff --git a/packager/src/lib/GlobalTransformCache.js b/packager/src/lib/GlobalTransformCache.js index df2cbe147..12deb44f8 100644 --- a/packager/src/lib/GlobalTransformCache.js +++ b/packager/src/lib/GlobalTransformCache.js @@ -383,7 +383,7 @@ class OptionsHasher { */ hashTransformOptions(hash: crypto$Hash, options: TransformOptions): crypto$Hash { const { - generateSourceMaps, dev, hot, inlineRequires, platform, projectRoots, + generateSourceMaps, dev, hot, inlineRequires, platform, projectRoot, ...unknowns, } = options; const unknownKeys = Object.keys(unknowns); @@ -401,14 +401,17 @@ class OptionsHasher { if (typeof inlineRequires === 'object') { relativeBlacklist = this.relativizeFilePaths(Object.keys(inlineRequires.blacklist)); } - const relativeProjectRoots = this.relativizeFilePaths(projectRoots); - const optionTuple = [relativeBlacklist, relativeProjectRoots]; + const relativeProjectRoot = this.relativizeFilePath(projectRoot); + const optionTuple = [relativeBlacklist, relativeProjectRoot]; hash.update(JSON.stringify(optionTuple)); return hash; } relativizeFilePaths(filePaths: Array): Array { - return filePaths.map(filepath => path.relative(this._rootPath, filepath)); + return filePaths.map(this.relativizeFilePath); + } + relativizeFilePath(filePath: string): string { + return path.relative(this._rootPath, filePath); } } diff --git a/packager/src/lib/__tests__/GlobalTransformCache-test.js b/packager/src/lib/__tests__/GlobalTransformCache-test.js index 06b08e658..1b1bd7e9f 100644 --- a/packager/src/lib/__tests__/GlobalTransformCache-test.js +++ b/packager/src/lib/__tests__/GlobalTransformCache-test.js @@ -51,7 +51,7 @@ describe('GlobalTransformCache', () => { hot: false, inlineRequires: false, platform: 'ios', - projectRoots: [path.join(__dirname, 'root')], + projectRoot: path.join(__dirname, 'root'), }, }; const result = await Promise.all([cache.fetch({ diff --git a/packager/src/lib/__tests__/__snapshots__/GlobalTransformCache-test.js.snap b/packager/src/lib/__tests__/__snapshots__/GlobalTransformCache-test.js.snap index 97bc9d3be..8c15dc7cd 100644 --- a/packager/src/lib/__tests__/__snapshots__/GlobalTransformCache-test.js.snap +++ b/packager/src/lib/__tests__/__snapshots__/GlobalTransformCache-test.js.snap @@ -19,12 +19,12 @@ Object { exports[`GlobalTransformCache fetches results 1`] = ` Array [ Object { - "code": "/* code from http://globalcache.com/57c9f999b0df46812db2a6bea665f5feb9d448ff-foo.js */", + "code": "/* code from http://globalcache.com/cd6df9b7e86839dafc5e9b5b493a28cbc55074e7-foo.js */", "dependencies": Array [], "dependencyOffsets": Array [], }, Object { - "code": "/* code from http://globalcache.com/df53b0670d117d6b35ce58ff64d09909ece46a09-bar.js */", + "code": "/* code from http://globalcache.com/6329a317fcf94d74cc9a1de6442ee7c25e27a507-bar.js */", "dependencies": Array [], "dependencyOffsets": Array [], }, diff --git a/packager/transformer.js b/packager/transformer.js index 88e22d52d..76e52dc48 100644 --- a/packager/transformer.js +++ b/packager/transformer.js @@ -30,19 +30,19 @@ const {compactMapping} = require('./src/Bundler/source-map'); const getBabelRC = (function() { let babelRC = null; - return function _getBabelRC(projectRoots) { + return function _getBabelRC(projectRoot) { if (babelRC !== null) { return babelRC; } babelRC = {plugins: []}; // empty babelrc - // Let's look for the .babelrc in the first project root. + // Let's look for the .babelrc in the project root. // In the future let's look into adding a command line option to specify // this location. let projectBabelRCPath; - if (projectRoots && projectRoots.length > 0) { - projectBabelRCPath = path.resolve(projectRoots[0], '.babelrc'); + if (projectRoot) { + projectBabelRCPath = path.resolve(projectRoot, '.babelrc'); } // If a .babelrc file doesn't exist in the project, @@ -70,7 +70,7 @@ const getBabelRC = (function() { * config object with the appropriate plugins. */ function buildBabelConfig(filename, options) { - const babelRC = getBabelRC(options.projectRoots); + const babelRC = getBabelRC(options.projectRoot); const extraConfig = { code: false,