From d41c9d94fd8c83e435774d7ea4bb7ff240226786 Mon Sep 17 00:00:00 2001 From: Kevin Gozali Date: Thu, 1 Jun 2017 13:51:58 -0700 Subject: [PATCH] add --dev flag to the packager's dependencies command Summary: The packager dependencies CLI command always operates on --dev=true today. This means any tooling that needs to get the production dependencies (--dev=false) will always get the dev-mode list instead. For instance: ``` if (__DEV__) { require('Foobar'); } ``` Previously, `Foobar.js` will always be listed in the CLI output. With this change, setting `--dev false` option will correctly skip `Foobar.js` in the output. Reviewed By: cpojer Differential Revision: D5163184 fbshipit-source-id: 203221ee5d6ecb7df575442f12f6c4c489bfbd46 --- local-cli/dependencies/dependencies.js | 8 ++++++++ packager/src/Bundler/index.js | 6 ++++-- packager/src/Server/index.js | 2 ++ packager/src/index.js | 2 ++ 4 files changed, 16 insertions(+), 2 deletions(-) diff --git a/local-cli/dependencies/dependencies.js b/local-cli/dependencies/dependencies.js index 445fd23b0..65cd62174 100644 --- a/local-cli/dependencies/dependencies.js +++ b/local-cli/dependencies/dependencies.js @@ -47,6 +47,9 @@ function dependencies(argv, config, args, packagerInstance) { const options = { platform: args.platform, entryFile: relativePath, + dev: args.dev, + minify: !args.dev, + generateSourceMaps: !args.dev, }; const writeToFile = args.output; @@ -94,6 +97,11 @@ module.exports = { }, { command: '--transformer [path]', description: 'Specify a custom transformer to be used' + }, { + command: '--dev [boolean]', + description: 'If false, skip all dev-only code path', + parse: (val) => val === 'false' ? false : true, + default: true, }, { command: '--verbose', description: 'Enables logging', diff --git a/packager/src/Bundler/index.js b/packager/src/Bundler/index.js index b9b1a9c6d..a0df0b54a 100644 --- a/packager/src/Bundler/index.js +++ b/packager/src/Bundler/index.js @@ -596,12 +596,14 @@ class Bundler { return response; } - getOrderedDependencyPaths({entryFile, dev, platform}: { + getOrderedDependencyPaths({entryFile, dev, platform, minify, generateSourceMaps}: { +entryFile: string, +dev: boolean, +platform: string, + +minify: boolean, + +generateSourceMaps: boolean, }) { - return this.getDependencies({entryFile, dev, platform}).then( + return this.getDependencies({entryFile, dev, platform, minify, generateSourceMaps}).then( ({dependencies}) => { const ret = []; const promises = []; diff --git a/packager/src/Server/index.js b/packager/src/Server/index.js index 5b1bf2ada..d06153a52 100644 --- a/packager/src/Server/index.js +++ b/packager/src/Server/index.js @@ -319,6 +319,8 @@ class Server { +entryFile: string, +dev: boolean, +platform: string, + +minify: boolean, + +generateSourceMaps: boolean, }): Promise { return Promise.resolve().then(() => { return this._bundler.getOrderedDependencyPaths(options); diff --git a/packager/src/index.js b/packager/src/index.js index 64ad2abab..8a2c2e0ab 100644 --- a/packager/src/index.js +++ b/packager/src/index.js @@ -92,6 +92,8 @@ exports.getOrderedDependencyPaths = function(options: Options, depOptions: { +entryFile: string, +dev: boolean, +platform: string, + +minify: boolean, + +generateSourceMaps: boolean, }) { var server = createNonPersistentServer(options); return server.getOrderedDependencyPaths(depOptions)