diff --git a/spec/cli.spec.js b/spec/cli.spec.js index 7c9392122..2f17f2a18 100644 --- a/spec/cli.spec.js +++ b/spec/cli.spec.js @@ -303,6 +303,19 @@ describe('cordova cli', function () { done(); }); }); + + it('(add) will pass noprod:true and production:false', function (done) { + cli(['node', 'cordova', 'plugin', 'add', 'device', '--noprod'], function () { + expect(cordova.plugin).toHaveBeenCalledWith( + 'add', + ['device'], + jasmine.any(Object) + ); + var opts = cordova.plugin.calls.argsFor(0)[2]; + expect(opts.production).toBe(false); + done(); + }); + }); }); describe('telemetry', function () { diff --git a/src/cli.js b/src/cli.js index 955c828ac..c02957899 100644 --- a/src/cli.js +++ b/src/cli.js @@ -61,7 +61,9 @@ var knownOpts = { 'nobuild': Boolean, 'list': Boolean, 'buildConfig': String, - 'template': String + 'template': String, + 'production': Boolean, + 'noprod': Boolean }; var shortHands = { @@ -450,6 +452,12 @@ function cli (inputArgs) { args.save = true; } + if (args.noprod) { + args.production = false; + } else { + args.production = true; + } + if (args.save === undefined) { // User explicitly did not pass in save args.save = conf.get('autosave'); @@ -466,6 +474,10 @@ function cli (inputArgs) { // User explicitly did not pass in searchpath args.searchpath = conf.get('searchpath'); } + if (args.production === undefined) { + // User explicitly did not pass in noprod + args.production = conf.get('production'); + } if (args['save-exact'] === undefined) { // User explicitly did not pass in save-exact @@ -482,7 +494,8 @@ function cli (inputArgs) { save: args.save, save_exact: args['save-exact'] || false, shrinkwrap: args.shrinkwrap || false, - force: args.force || false + force: args.force || false, + production: args.production }; return cordova[cmd](subcommand, targets, download_opts); }