diff --git a/local-cli/bundle/buildBundle.js b/local-cli/bundle/buildBundle.js index 818ddec9c..d1e422d4d 100644 --- a/local-cli/bundle/buildBundle.js +++ b/local-cli/bundle/buildBundle.js @@ -75,7 +75,6 @@ async function buildBundle( : defaultProvidesModuleNodeModules; const terminal = new Terminal(process.stdout); - const server = new Server({ asyncRequireModulePath: config.getAsyncRequireModulePath(), assetExts: defaultAssetExts.concat(assetExts), @@ -96,7 +95,7 @@ async function buildBundle( platforms: defaultPlatforms.concat(platforms), postMinifyProcess: config.postMinifyProcess, postProcessBundleSourcemap: config.postProcessBundleSourcemap, - projectRoots: config.getProjectRoots(), + projectRoot: config.getProjectRoot(), providesModuleNodeModules: providesModuleNodeModules, reporter: new TerminalReporter(terminal), resetCache: args.resetCache, @@ -104,6 +103,7 @@ async function buildBundle( sourceExts: sourceExts.concat(defaultSourceExts), transformModulePath: transformModulePath, watch: false, + watchFolders: config.getWatchFolders(), workerPath: config.getWorkerPath && config.getWorkerPath(), }); diff --git a/local-cli/dependencies/dependencies.js b/local-cli/dependencies/dependencies.js index 543e15e21..baa6ec4a7 100644 --- a/local-cli/dependencies/dependencies.js +++ b/local-cli/dependencies/dependencies.js @@ -34,7 +34,7 @@ function dependencies(argv, config, args, packagerInstance) { const packageOpts = { assetRegistryPath: ASSET_REGISTRY_PATH, cacheStores: [], - projectRoots: config.getProjectRoots(), + projectRoot: config.getProjectRoot(), blacklistRE: config.getBlacklistRE(), dynamicDepsInPackages: config.dynamicDepsInPackages, getPolyfills: config.getPolyfills, @@ -44,12 +44,14 @@ function dependencies(argv, config, args, packagerInstance) { transformModulePath: transformModulePath, extraNodeModules: config.extraNodeModules, verbose: config.verbose, + watchFolders: config.getWatchFolders(), workerPath: config.getWorkerPath(), }; - const relativePath = packageOpts.projectRoots.map(root => - path.relative(root, rootModuleAbsolutePath), - )[0]; + const relativePath = path.relative( + packageOpts.projectRoot, + rootModuleAbsolutePath, + ); const options = { platform: args.platform, @@ -75,7 +77,7 @@ function dependencies(argv, config, args, packagerInstance) { // (a) JS code to not depend on anything outside this directory, or // (b) Come up with a way to declare this dependency in Buck. const isInsideProjectRoots = - packageOpts.projectRoots.filter(root => modulePath.startsWith(root)) + packageOpts.watchFolders.filter(root => modulePath.startsWith(root)) .length > 0; if (isInsideProjectRoots) { diff --git a/local-cli/server/middleware/getDevToolsMiddleware.js b/local-cli/server/middleware/getDevToolsMiddleware.js index 4a01d964d..23ca15ee5 100644 --- a/local-cli/server/middleware/getDevToolsMiddleware.js +++ b/local-cli/server/middleware/getDevToolsMiddleware.js @@ -23,11 +23,11 @@ function escapePath(pathname) { return '"' + pathname + '"'; } -function launchDevTools({host, projectRoots}, isChromeConnected) { +function launchDevTools({host, watchFolders}, isChromeConnected) { // Explicit config always wins var customDebugger = process.env.REACT_DEBUGGER; if (customDebugger) { - var projects = projectRoots.map(escapePath).join(' '); + var projects = watchFolders.map(escapePath).join(' '); var command = customDebugger + ' ' + projects; console.log('Starting custom debugger by executing: ' + command); exec(command, function(error, stdout, stderr) { diff --git a/local-cli/server/middleware/openStackFrameInEditorMiddleware.js b/local-cli/server/middleware/openStackFrameInEditorMiddleware.js index 290969ac6..f285489ec 100644 --- a/local-cli/server/middleware/openStackFrameInEditorMiddleware.js +++ b/local-cli/server/middleware/openStackFrameInEditorMiddleware.js @@ -11,11 +11,11 @@ const launchEditor = require('../util/launchEditor'); -module.exports = function({projectRoots}) { +module.exports = function({watchFolders}) { return function(req, res, next) { if (req.url === '/open-stack-frame') { const frame = JSON.parse(req.rawBody); - launchEditor(frame.file, frame.lineNumber, projectRoots); + launchEditor(frame.file, frame.lineNumber, watchFolders); res.end('OK'); } else { next(); diff --git a/local-cli/server/runServer.js b/local-cli/server/runServer.js index 0bd092cf4..e2a0b10bf 100644 --- a/local-cli/server/runServer.js +++ b/local-cli/server/runServer.js @@ -60,6 +60,7 @@ export type Args = {| +resetCache: boolean, +sourceExts: $ReadOnlyArray, +verbose: boolean, + +watchFolders: $ReadOnlyArray, |}; function runServer( @@ -100,7 +101,7 @@ function runServer( .use(indexPageMiddleware) .use(packagerServer.processRequest.bind(packagerServer)); - args.projectRoots.forEach(root => app.use(serveStatic(root))); + args.watchFolders.forEach(root => app.use(serveStatic(root))); app.use(morgan('combined')).use(errorhandler()); @@ -196,7 +197,7 @@ function getPackagerServer(args, config, reporter) { polyfillModuleNames: config.getPolyfillModuleNames(), postMinifyProcess: config.postMinifyProcess, postProcessBundleSourcemap: config.postProcessBundleSourcemap, - projectRoots: args.projectRoots, + projectRoot: config.getProjectRoot(), providesModuleNodeModules: providesModuleNodeModules, reporter, resetCache: args.resetCache, @@ -205,6 +206,7 @@ function getPackagerServer(args, config, reporter) { transformModulePath: transformModulePath, verbose: args.verbose, watch: !args.nonPersistent, + watchFolders: config.getWatchFolders(), workerPath: config.getWorkerPath(), }); } diff --git a/local-cli/server/server.js b/local-cli/server/server.js index b1b3851b3..d4d977a61 100644 --- a/local-cli/server/server.js +++ b/local-cli/server/server.js @@ -75,10 +75,13 @@ module.exports = { default: [], }, { - command: '--projectRoots [list]', - description: 'override the root(s) to be used by the packager', + command: '--watchFolders [list]', + description: + 'Sepcify any additional folders to be added to the watch list', parse: (val: string) => val.split(','), - default: (config: ConfigT) => config.getProjectRoots(), + default: (config: ConfigT) => { + return config.getProjectRoots ? config.getProjectRoots() : undefined; + }, }, { command: '--assetExts [list]',