From 67773c458aabfe4517e681d2c24938693ad5559e Mon Sep 17 00:00:00 2001 From: tdzl2003 Date: Sat, 30 Jul 2016 04:19:42 +0800 Subject: [PATCH] support no-interaction usage. --- local-cli/cli.json | 4 +++- local-cli/src/app.js | 1 - local-cli/src/index.js | 2 ++ local-cli/src/package.js | 8 ++++---- local-cli/src/utils.js | 3 +++ local-cli/src/versions.js | 2 +- package.json | 2 +- 7 files changed, 14 insertions(+), 8 deletions(-) diff --git a/local-cli/cli.json b/local-cli/cli.json index addb03c..fcfbb4a 100644 --- a/local-cli/cli.json +++ b/local-cli/cli.json @@ -150,6 +150,8 @@ } }, "globalOptions":{ - + "no-interactive": { + "default": false + } } } diff --git a/local-cli/src/app.js b/local-cli/src/app.js index 4e5e113..af27ca1 100644 --- a/local-cli/src/app.js +++ b/local-cli/src/app.js @@ -89,7 +89,6 @@ export const commands = { }, selectApp: async function({args, options}) { const platform = checkPlatform(options.platform || await question('Platform(ios/android):')); - checkPlatform(platform || await question('Platform(ios/android):')); const id = args[0] || (await chooseApp(platform)).id; let updateInfo = {}; diff --git a/local-cli/src/index.js b/local-cli/src/index.js index eecc2d8..566d088 100644 --- a/local-cli/src/index.js +++ b/local-cli/src/index.js @@ -24,6 +24,7 @@ const commands = { exports.run = function () { const argv = require('cli-arguments').parse(require('../cli.json')); + global.NO_INTERACTIVE = argv.options['no-interactive']; loadSession() .then(()=>commands[argv.command](argv)) @@ -33,5 +34,6 @@ exports.run = function () { return; } console.error(err.message); + process.exit(-1); }); }; diff --git a/local-cli/src/package.js b/local-cli/src/package.js index d6691af..fcd06c5 100644 --- a/local-cli/src/package.js +++ b/local-cli/src/package.js @@ -52,11 +52,11 @@ export const commands = { const {hash} = await uploadFile(fn); - await post(`/app/${appId}/package/create`, { + const {id} = await post(`/app/${appId}/package/create`, { name, hash, }); - console.log('Ok.'); + console.log('Ipa uploaded: id'); }, uploadApk: async function({args}) { const fn = args[0]; @@ -68,11 +68,11 @@ export const commands = { const {hash} = await uploadFile(fn); - await post(`/app/${appId}/package/create`, { + const {id} = await post(`/app/${appId}/package/create`, { name, hash, }); - console.log('Ok.'); + console.log('Apk uploaded: id'); }, packages: async function({options}) { const platform = checkPlatform(options.platform || await question('Platform(ios/android):')); diff --git a/local-cli/src/utils.js b/local-cli/src/utils.js index 1e5233a..63b1fb6 100644 --- a/local-cli/src/utils.js +++ b/local-cli/src/utils.js @@ -10,6 +10,9 @@ import ipaMetadata from 'ipa-metadata'; var read = require('read'); export function question(query, password) { + if (NO_INTERACTIVE){ + return Promise.resolve(''); + } return new Promise((resolve, reject)=>read({ prompt: query, silent: password, diff --git a/local-cli/src/versions.js b/local-cli/src/versions.js index f4b78b4..fe9a628 100644 --- a/local-cli/src/versions.js +++ b/local-cli/src/versions.js @@ -86,7 +86,7 @@ export const commands = { description: description || await question('Enter description:'), metaInfo: metaInfo || await question('Enter meta info:'), }); - console.log('Ok.'); + console.log(`Version published: ${id}`); const v = await question('Would you like to bind packages to this version?(Y/N)'); if (v.toLowerCase() === 'y') { diff --git a/package.json b/package.json index e03cd22..a28ebd5 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "react-native-update", - "version": "1.1.1", + "version": "2.0.1", "description": "react-native hot update", "main": "lib/index.js", "scripts": {