working spanish 100%
This commit is contained in:
		
							parent
							
								
									f020e27f8c
								
							
						
					
					
						commit
						f89d883564
					
				@ -42,5 +42,12 @@
 | 
				
			|||||||
    "connect-to-watch": "Connect to watch",
 | 
					    "connect-to-watch": "Connect to watch",
 | 
				
			||||||
    "connected-via-usb": "Connected via USB",
 | 
					    "connected-via-usb": "Connected via USB",
 | 
				
			||||||
    "connected-via-wifi": "Connected via Wifi",
 | 
					    "connected-via-wifi": "Connected via Wifi",
 | 
				
			||||||
    "not-connected": "Not Connected"
 | 
					    "connected": "Connected",
 | 
				
			||||||
 | 
					    "not-connected": "Not Connected",
 | 
				
			||||||
 | 
					    "error-device-not-authorised": "Error - Device not authorised",
 | 
				
			||||||
 | 
					    "not-found": "Not Found",
 | 
				
			||||||
 | 
					    "try-again": "Try Again",
 | 
				
			||||||
 | 
					    "connect-wifi-complete": "Connect Wifi Complete",
 | 
				
			||||||
 | 
					    "not-authenticated": "Not Authenticated",
 | 
				
			||||||
 | 
					    "error": "Error"
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@ -42,5 +42,11 @@
 | 
				
			|||||||
    "connect-to-watch": "Conectarse al reloj",
 | 
					    "connect-to-watch": "Conectarse al reloj",
 | 
				
			||||||
    "connected-via-usb": "Conectado mediante USB",
 | 
					    "connected-via-usb": "Conectado mediante USB",
 | 
				
			||||||
    "connected-via-wifi": "Conectado a través de Wifi",
 | 
					    "connected-via-wifi": "Conectado a través de Wifi",
 | 
				
			||||||
    "not-connected": "No conectado"
 | 
					    "not-connected": "No conectado",
 | 
				
			||||||
 | 
					    "error-device-not-authorised": "Error - Dispositivo no autorizado",
 | 
				
			||||||
 | 
					    "not-found": "No encontrado",
 | 
				
			||||||
 | 
					    "try-again": "Inténtalo de nuevo",
 | 
				
			||||||
 | 
					    "connect-wifi-complete": "Conectar Wifi Completo",
 | 
				
			||||||
 | 
					    "not-authenticated": "No autenticado",
 | 
				
			||||||
 | 
					    "error": "Error"
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
							
								
								
									
										69
									
								
								lib/adb.js
									
									
									
									
									
								
							
							
						
						
									
										69
									
								
								lib/adb.js
									
									
									
									
									
								
							@ -6,6 +6,7 @@ const inquirer = require('../lib/inquirer');
 | 
				
			|||||||
const common = require('./common')
 | 
					const common = require('./common')
 | 
				
			||||||
const chalk = require('chalk');
 | 
					const chalk = require('chalk');
 | 
				
			||||||
const globalVariables = require('../lib/globalVars');
 | 
					const globalVariables = require('../lib/globalVars');
 | 
				
			||||||
 | 
					const { dualLog } = require('./common');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if (process.platform === 'win32' || process.platform === 'win64') {
 | 
					if (process.platform === 'win32' || process.platform === 'win64') {
 | 
				
			||||||
  adbRun = 'adb'
 | 
					  adbRun = 'adb'
 | 
				
			||||||
@ -18,32 +19,28 @@ module.exports = {
 | 
				
			|||||||
    Language.setActiveLang(globalVariables.language)
 | 
					    Language.setActiveLang(globalVariables.language)
 | 
				
			||||||
    result = await shellExec(adbRun + ' install -r ' + element).then(async function (result) {
 | 
					    result = await shellExec(adbRun + ' install -r ' + element).then(async function (result) {
 | 
				
			||||||
      if (result.stderr != '') {
 | 
					      if (result.stderr != '') {
 | 
				
			||||||
        logger.info(await Language.get('device-not-authorised'));
 | 
					        common.dualLog('device-not-authorised' + ' ' + result.stderr, 'red')
 | 
				
			||||||
        console.log(chalk.redBright(await Language.get('device-not-authorised')));
 | 
					 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
      console.log(element + ' - ' + result.stdout);
 | 
					      common.dualLog(element + ' - ' + result.stdout)
 | 
				
			||||||
      logger.info(element + ' - ' + result.stdout);
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
      if (element === "data\\apps\\simpleweather_base.apk") {
 | 
					      if (element === "data\\apps\\simpleweather_base.apk") {
 | 
				
			||||||
        await common.downloadFile('http://kithub.cf/Karl/MiWatchKleaner-APKs/raw/master/Others/simpleweather_split_config.armeabi_v7a.apk', './data/apps/simpleweather_split_config.armeabi_v7a.apk')
 | 
					        await common.downloadFile('http://kithub.cf/Karl/MiWatchKleaner-APKs/raw/master/Others/simpleweather_split_config.armeabi_v7a.apk', './data/apps/simpleweather_split_config.armeabi_v7a.apk')
 | 
				
			||||||
        await common.downloadFile('http://kithub.cf/Karl/MiWatchKleaner-APKs/raw/master/Others/simpleweather_split_config.xhdpi.apk', './data/apps/simpleweather_split_config.xhdpi.apk')
 | 
					        await common.downloadFile('http://kithub.cf/Karl/MiWatchKleaner-APKs/raw/master/Others/simpleweather_split_config.xhdpi.apk', './data/apps/simpleweather_split_config.xhdpi.apk')
 | 
				
			||||||
        await shellExec(adbRun + ' install-multiple "data\\apps\\simpleweather_base.apk" "data\\apps\\simpleweather_split_config.armeabi_v7a.apk" "data\\apps\\simpleweather_split_config.xhdpi.apk"').then(async function (result) {
 | 
					        await shellExec(adbRun + ' install-multiple "data\\apps\\simpleweather_base.apk" "data\\apps\\simpleweather_split_config.armeabi_v7a.apk" "data\\apps\\simpleweather_split_config.xhdpi.apk"').then(async function (result) {
 | 
				
			||||||
          console.log(result)
 | 
					          common.log(result)
 | 
				
			||||||
          console.log(await Language.get('simple-weather-activated-on-watch'));
 | 
					          common.dualLog('simple-weather-activated-on-watch')
 | 
				
			||||||
          logger.info(await Language.get('simple-weather-activated-on-watch'));
 | 
					 | 
				
			||||||
        })
 | 
					        })
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
      if (element === "data\\apps\\MoreLocale.apk") {
 | 
					      if (element === "data\\apps\\MoreLocale.apk") {
 | 
				
			||||||
        await shellExec(adbRun + ' shell pm grant jp.co.c_lis.ccl.morelocale android.permission.CHANGE_CONFIGURATION').then(async function (result) {
 | 
					        await shellExec(adbRun + ' shell pm grant jp.co.c_lis.ccl.morelocale android.permission.CHANGE_CONFIGURATION').then(async function (result) {
 | 
				
			||||||
          console.log(await Language.get('morelocale-activated-on-watch'));
 | 
					          common.log(result)
 | 
				
			||||||
          logger.info(await Language.get('morelocale-activated-on-watch'));
 | 
					          common.dualLog('morelocale-activated-on-watch')
 | 
				
			||||||
        })
 | 
					        })
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
      if (element === "data\\apps\\AlbertoLocale.apk") {
 | 
					      if (element === "data\\apps\\AlbertoLocale.apk") {
 | 
				
			||||||
        await shellExec(adbRun + ' shell pm grant com.alberto.locale android.permission.CHANGE_CONFIGURATION && ' + adbRun + ' shell am start -n com.alberto.locale/com.alberto.locale.MainActivity && ' + adbRun + ' shell pm grant com.alberto.locale android.permission.CHANGE_CONFIGURATION').then(async function (result) {
 | 
					        await shellExec(adbRun + ' shell pm grant com.alberto.locale android.permission.CHANGE_CONFIGURATION && ' + adbRun + ' shell am start -n com.alberto.locale/com.alberto.locale.MainActivity && ' + adbRun + ' shell pm grant com.alberto.locale android.permission.CHANGE_CONFIGURATION').then(async function (result) {
 | 
				
			||||||
          console.log(result.stdout)
 | 
					          common.log(result)
 | 
				
			||||||
          console.log(await Language.get('alberto-locale-activated-on-watch'));
 | 
					          common.dualLog('alberto-locale-activated-on-watch')
 | 
				
			||||||
          logger.info(await Language.get('alberto-locale-activated-on-watch'));
 | 
					 | 
				
			||||||
        });
 | 
					        });
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    });
 | 
					    });
 | 
				
			||||||
@ -52,47 +49,39 @@ module.exports = {
 | 
				
			|||||||
    Language.setActiveLang(globalVariables.language)
 | 
					    Language.setActiveLang(globalVariables.language)
 | 
				
			||||||
    result = await shellExec(adbRun + ' uninstall ' + package)
 | 
					    result = await shellExec(adbRun + ' uninstall ' + package)
 | 
				
			||||||
    if (result.stderr != '') {
 | 
					    if (result.stderr != '') {
 | 
				
			||||||
      logger.info('Error ' + result.stderr);
 | 
					      common.dualLog('device-not-authorised' + ' ' + result.stderr, 'red')
 | 
				
			||||||
      console.log(chalk.redBright('Error - Device not authorised'));
 | 
					 | 
				
			||||||
    } else {
 | 
					    } else {
 | 
				
			||||||
      logger.info('Removing ' + package + ' - ' + result.stdout);
 | 
					      common.dualLog(await Language.get('removing') + ' ' + package + ' - ' + result.stdout)
 | 
				
			||||||
      console.log('Removing ' + package + ' - ' + result.stdout);
 | 
					 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  removeXiaomiApk: async (package) => {
 | 
					  removeXiaomiApk: async (package) => {
 | 
				
			||||||
    Language.setActiveLang(globalVariables.language)
 | 
					    Language.setActiveLang(globalVariables.language)
 | 
				
			||||||
    result = await shellExec(adbRun + ' shell pm uninstall -k --user 0 ' + package)
 | 
					    result = await shellExec(adbRun + ' shell pm uninstall -k --user 0 ' + package)
 | 
				
			||||||
    if (result.stderr != '') {
 | 
					    if (result.stderr != '') {
 | 
				
			||||||
      logger.info('Error ' + result.stderr);
 | 
					      common.dualLog('device-not-authorised' + ' ' + result.stderr, 'red')
 | 
				
			||||||
      console.log(chalk.redBright('Error - Device not authorised'));
 | 
					 | 
				
			||||||
    } else {
 | 
					    } else {
 | 
				
			||||||
      logger.info('Removing ' + package + ' - ' + result.stdout);
 | 
					      common.dualLog(await Language.get('removing') + ' ' + package + ' - ' + result.stdout)
 | 
				
			||||||
      console.log('Removing ' + package + ' - ' + result.stdout);
 | 
					 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  restoreXiaomiApk: async (package) => {
 | 
					  restoreXiaomiApk: async (package) => {
 | 
				
			||||||
    Language.setActiveLang(globalVariables.language)
 | 
					    Language.setActiveLang(globalVariables.language)
 | 
				
			||||||
    result = await shellExec(adbRun + ' shell cmd package install-existing ' + package)
 | 
					    result = await shellExec(adbRun + ' shell cmd package install-existing ' + package)
 | 
				
			||||||
    if (result.stderr != '') {
 | 
					    if (result.stderr != '') {
 | 
				
			||||||
      logger.info('Error ' + result.stderr);
 | 
					      common.dualLog('device-not-authorised' + ' ' + result.stderr, 'red')
 | 
				
			||||||
      console.log(chalk.redBright('Error - Device not authorised'));
 | 
					 | 
				
			||||||
    } else {
 | 
					    } else {
 | 
				
			||||||
      logger.info('Removing ' + package + ' - ' + result.stdout);
 | 
					      common.dualLog(await Language.get('removing') + ' ' + package + ' - ' + result.stdout)
 | 
				
			||||||
      console.log('Removing ' + package + ' - ' + result.stdout);
 | 
					 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  restoreAnyApk: async (package) => {
 | 
					  restoreAnyApk: async (package) => {
 | 
				
			||||||
    Language.setActiveLang(globalVariables.language)
 | 
					    Language.setActiveLang(globalVariables.language)
 | 
				
			||||||
    result = await shellExec(adbRun + ' shell cmd package install-existing ' + package.restoreAnyApp)
 | 
					    result = await shellExec(adbRun + ' shell cmd package install-existing ' + package.restoreAnyApp)
 | 
				
			||||||
    if (result.stderr != '') {
 | 
					    if (result.stderr != '') {
 | 
				
			||||||
      logger.info('Error ' + result.stderr);
 | 
					      common.dualLog('device-not-authorised' + ' ' + result.stderr, 'red')
 | 
				
			||||||
      console.log(chalk.redBright('Error - Device not authorised'));
 | 
					 | 
				
			||||||
    } else if (result.stdout.includes('doesn\'t exist')) {
 | 
					    } else if (result.stdout.includes('doesn\'t exist')) {
 | 
				
			||||||
      logger.info(result.stdout);
 | 
					      logger.info(result.stdout);
 | 
				
			||||||
      console.log(chalk.redBright(result.stdout));
 | 
					      console.log(chalk.redBright(result.stdout));
 | 
				
			||||||
    } else {
 | 
					    } else {
 | 
				
			||||||
      logger.info('Restoring ' + package.restoreAnyApp + ' - ' + result.stdout);
 | 
					      common.dualLog(await Language.get('restoring') + ' ' + package + ' - ' + result.stdout)
 | 
				
			||||||
      console.log('Restoring ' + package.restoreAnyApp + ' - ' + result.stdout);
 | 
					 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  getInstalledPacakges: async () => {
 | 
					  getInstalledPacakges: async () => {
 | 
				
			||||||
@ -126,8 +115,8 @@ module.exports = {
 | 
				
			|||||||
  killAdbServer: async () => {
 | 
					  killAdbServer: async () => {
 | 
				
			||||||
    Language.setActiveLang(globalVariables.language)
 | 
					    Language.setActiveLang(globalVariables.language)
 | 
				
			||||||
    let result = await shellExec(adbRun + ' kill-server')
 | 
					    let result = await shellExec(adbRun + ' kill-server')
 | 
				
			||||||
    logger.info('Restarting ADB')
 | 
					    // common.log('')
 | 
				
			||||||
    logger.info(result.stdout)
 | 
					    // common.dualLog('restarting-adb' + ' ' + result.stderr, 'red')
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  watchConnection: async (value) => {
 | 
					  watchConnection: async (value) => {
 | 
				
			||||||
    Language.setActiveLang(globalVariables.language)
 | 
					    Language.setActiveLang(globalVariables.language)
 | 
				
			||||||
@ -136,16 +125,14 @@ module.exports = {
 | 
				
			|||||||
      result = await shellExec(adbRun + ' devices')
 | 
					      result = await shellExec(adbRun + ' devices')
 | 
				
			||||||
      console.log(result.stdout)
 | 
					      console.log(result.stdout)
 | 
				
			||||||
      if (result.stdout.includes('device', 15)) {
 | 
					      if (result.stdout.includes('device', 15)) {
 | 
				
			||||||
        console.log(chalk.green('MiWatch Connected via USB'))
 | 
					        common.dualLog(await Language.get('connected-via-usb', 'green'))
 | 
				
			||||||
        await common.pause(3000)
 | 
					        await common.pause(3000)
 | 
				
			||||||
        logger.info("MiWatch connected")
 | 
					 | 
				
			||||||
        globalVariables.localUSB = "X"
 | 
					        globalVariables.localUSB = "X"
 | 
				
			||||||
        return true
 | 
					        return true
 | 
				
			||||||
      } else {
 | 
					      } else {
 | 
				
			||||||
        console.log(chalk.red('MiWatch not found'))
 | 
					        common.dualLog(await Language.get('not-found', 'red'))
 | 
				
			||||||
        logger.info("MiWatch not found")
 | 
					 | 
				
			||||||
        await common.pause(2000)
 | 
					        await common.pause(2000)
 | 
				
			||||||
        console.log(chalk.white('Try Again'))
 | 
					        common.dualLog(await Language.get('try-again', 'white'))
 | 
				
			||||||
        await common.pause(1000)
 | 
					        await common.pause(1000)
 | 
				
			||||||
        return false
 | 
					        return false
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
@ -156,23 +143,21 @@ module.exports = {
 | 
				
			|||||||
      result = await shellExec(adbRun + ' connect ' + value.connectWifi)
 | 
					      result = await shellExec(adbRun + ' connect ' + value.connectWifi)
 | 
				
			||||||
      logger.info("Connect Wifi Result " + result.stdout)
 | 
					      logger.info("Connect Wifi Result " + result.stdout)
 | 
				
			||||||
      if (result.stdout.includes('already connected') || result.stdout.includes('connected to ')) {
 | 
					      if (result.stdout.includes('already connected') || result.stdout.includes('connected to ')) {
 | 
				
			||||||
        console.log(chalk.green('MiWatch Connected'))
 | 
					        common.dualLog(await Language.get('connected', 'green'))
 | 
				
			||||||
        globalVariables.localUSB = ""
 | 
					        globalVariables.localUSB = ""
 | 
				
			||||||
        globalVariables.miWatchIpaddress = value.connectWifi
 | 
					        globalVariables.miWatchIpaddress = value.connectWifi
 | 
				
			||||||
        await common.pause(3000)
 | 
					        await common.pause(3000)
 | 
				
			||||||
        logger.info("Connect Wifi Complete")
 | 
					        common.dualLog(await Language.get('connect-wifi-complete', 'green'))
 | 
				
			||||||
        return true
 | 
					        return true
 | 
				
			||||||
      } else {
 | 
					      } else {
 | 
				
			||||||
        if (result.stdout.includes('failed to authenticate')) {
 | 
					        if (result.stdout.includes('failed to authenticate')) {
 | 
				
			||||||
          console.log(chalk.redBright('MiWatch not authenticated'))
 | 
					          common.dualLog(await Language.get('not-authenticated', 'red'))
 | 
				
			||||||
          logger.info('MiWatch not authenticated')
 | 
					 | 
				
			||||||
          return false
 | 
					          return false
 | 
				
			||||||
        } else {
 | 
					        } else {
 | 
				
			||||||
          console.log(chalk.red(result.stdout))
 | 
					          common.dualLog(result.stdout, 'red')
 | 
				
			||||||
          logger.info(result.stdout)
 | 
					 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        await common.pause(2000)
 | 
					        await common.pause(2000)
 | 
				
			||||||
        console.log(chalk.white('Try Again'))
 | 
					        common.dualLog('try-again', '')
 | 
				
			||||||
        await common.pause(1000)
 | 
					        await common.pause(1000)
 | 
				
			||||||
        return false
 | 
					        return false
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										69
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										69
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							@ -111,6 +111,11 @@
 | 
				
			|||||||
      "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
 | 
				
			||||||
      "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU="
 | 
					      "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU="
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "async": {
 | 
				
			||||||
 | 
					      "version": "3.1.0",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/async/-/async-3.1.0.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-4vx/aaY6j/j3Lw3fbCHNWP0pPaTCew3F6F3hYyl/tHs/ndmV1q7NW9T5yuJ2XAGwdQrP+6Wu20x06U4APo/iQQ=="
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "asynckit": {
 | 
					    "asynckit": {
 | 
				
			||||||
      "version": "0.4.0",
 | 
					      "version": "0.4.0",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
 | 
				
			||||||
@ -664,6 +669,60 @@
 | 
				
			|||||||
        "slash": "^3.0.0"
 | 
					        "slash": "^3.0.0"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "google-translate": {
 | 
				
			||||||
 | 
					      "version": "3.0.0",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/google-translate/-/google-translate-3.0.0.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-NQrP9gnFBO9LpEAN7Ia4kiyycbubqG+vdmxhQE5hjhAeU6U2n1vM7Kb1wtI3YU7Ghk3+bdfiRiAr6Zhox/UV2w==",
 | 
				
			||||||
 | 
					      "requires": {
 | 
				
			||||||
 | 
					        "async": "3.1.0",
 | 
				
			||||||
 | 
					        "he": "1.2.0",
 | 
				
			||||||
 | 
					        "request": "2.88.0",
 | 
				
			||||||
 | 
					        "underscore": "1.9.1"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "dependencies": {
 | 
				
			||||||
 | 
					        "punycode": {
 | 
				
			||||||
 | 
					          "version": "1.4.1",
 | 
				
			||||||
 | 
					          "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
 | 
				
			||||||
 | 
					          "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4="
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        "request": {
 | 
				
			||||||
 | 
					          "version": "2.88.0",
 | 
				
			||||||
 | 
					          "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz",
 | 
				
			||||||
 | 
					          "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==",
 | 
				
			||||||
 | 
					          "requires": {
 | 
				
			||||||
 | 
					            "aws-sign2": "~0.7.0",
 | 
				
			||||||
 | 
					            "aws4": "^1.8.0",
 | 
				
			||||||
 | 
					            "caseless": "~0.12.0",
 | 
				
			||||||
 | 
					            "combined-stream": "~1.0.6",
 | 
				
			||||||
 | 
					            "extend": "~3.0.2",
 | 
				
			||||||
 | 
					            "forever-agent": "~0.6.1",
 | 
				
			||||||
 | 
					            "form-data": "~2.3.2",
 | 
				
			||||||
 | 
					            "har-validator": "~5.1.0",
 | 
				
			||||||
 | 
					            "http-signature": "~1.2.0",
 | 
				
			||||||
 | 
					            "is-typedarray": "~1.0.0",
 | 
				
			||||||
 | 
					            "isstream": "~0.1.2",
 | 
				
			||||||
 | 
					            "json-stringify-safe": "~5.0.1",
 | 
				
			||||||
 | 
					            "mime-types": "~2.1.19",
 | 
				
			||||||
 | 
					            "oauth-sign": "~0.9.0",
 | 
				
			||||||
 | 
					            "performance-now": "^2.1.0",
 | 
				
			||||||
 | 
					            "qs": "~6.5.2",
 | 
				
			||||||
 | 
					            "safe-buffer": "^5.1.2",
 | 
				
			||||||
 | 
					            "tough-cookie": "~2.4.3",
 | 
				
			||||||
 | 
					            "tunnel-agent": "^0.6.0",
 | 
				
			||||||
 | 
					            "uuid": "^3.3.2"
 | 
				
			||||||
 | 
					          }
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        "tough-cookie": {
 | 
				
			||||||
 | 
					          "version": "2.4.3",
 | 
				
			||||||
 | 
					          "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz",
 | 
				
			||||||
 | 
					          "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==",
 | 
				
			||||||
 | 
					          "requires": {
 | 
				
			||||||
 | 
					            "psl": "^1.1.24",
 | 
				
			||||||
 | 
					            "punycode": "^1.4.1"
 | 
				
			||||||
 | 
					          }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "graceful-fs": {
 | 
					    "graceful-fs": {
 | 
				
			||||||
      "version": "4.2.4",
 | 
					      "version": "4.2.4",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz",
 | 
				
			||||||
@ -703,6 +762,11 @@
 | 
				
			|||||||
      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
 | 
				
			||||||
      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ=="
 | 
					      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ=="
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "he": {
 | 
				
			||||||
 | 
					      "version": "1.2.0",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw=="
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "help": {
 | 
					    "help": {
 | 
				
			||||||
      "version": "3.0.2",
 | 
					      "version": "3.0.2",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/help/-/help-3.0.2.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/help/-/help-3.0.2.tgz",
 | 
				
			||||||
@ -1540,6 +1604,11 @@
 | 
				
			|||||||
      "resolved": "https://registry.npmjs.org/uid2/-/uid2-0.0.3.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/uid2/-/uid2-0.0.3.tgz",
 | 
				
			||||||
      "integrity": "sha1-SDEm4Rd03y9xuLY53NeZw3YWK4I="
 | 
					      "integrity": "sha1-SDEm4Rd03y9xuLY53NeZw3YWK4I="
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "underscore": {
 | 
				
			||||||
 | 
					      "version": "1.9.1",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.9.1.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg=="
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "unique-temp-dir": {
 | 
					    "unique-temp-dir": {
 | 
				
			||||||
      "version": "1.0.0",
 | 
					      "version": "1.0.0",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/unique-temp-dir/-/unique-temp-dir-1.0.0.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/unique-temp-dir/-/unique-temp-dir-1.0.0.tgz",
 | 
				
			||||||
 | 
				
			|||||||
@ -23,6 +23,7 @@
 | 
				
			|||||||
    "clui": "^0.3.6",
 | 
					    "clui": "^0.3.6",
 | 
				
			||||||
    "figlet": "^1.3.0",
 | 
					    "figlet": "^1.3.0",
 | 
				
			||||||
    "get-files-in": "^1.2.0",
 | 
					    "get-files-in": "^1.2.0",
 | 
				
			||||||
 | 
					    "google-translate": "^3.0.0",
 | 
				
			||||||
    "inquirer": "^7.1.0",
 | 
					    "inquirer": "^7.1.0",
 | 
				
			||||||
    "node-fetch": "^2.6.0",
 | 
					    "node-fetch": "^2.6.0",
 | 
				
			||||||
    "perfect-logger": "^2.0.1",
 | 
					    "perfect-logger": "^2.0.1",
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user