From a641649edf757bea7f76d5fa905f593c1717b98e Mon Sep 17 00:00:00 2001 From: Garfield Lee Date: Thu, 21 Nov 2019 12:37:03 +0800 Subject: [PATCH] =?UTF-8?q?feat(taro-cli):=20=E9=85=8D=E7=BD=AE=E6=96=87?= =?UTF-8?q?=E4=BB=B6=E5=88=86=E5=BC=80=E5=AD=98=E6=94=BE=EF=BC=8C=E4=BC=98?= =?UTF-8?q?=E5=8C=96=20taro=20config=20=E8=BE=93=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/taro-cli/bin/taro-config | 9 ++++++--- packages/taro-cli/src/taro-config/index.ts | 19 +++++++++++++++++-- packages/taro-cli/src/util/constants.ts | 2 +- 3 files changed, 24 insertions(+), 6 deletions(-) diff --git a/packages/taro-cli/bin/taro-config b/packages/taro-cli/bin/taro-config index 79b19239901e..d81b6c0bf271 100755 --- a/packages/taro-cli/bin/taro-config +++ b/packages/taro-cli/bin/taro-config @@ -4,6 +4,8 @@ const program = require('commander') const helper = require('../dist/taro-config') program + .name('taro config') + .usage(' [options]') .option('--json', '以 JSON 形式输出') .on('--help', function () { console.log('') @@ -22,15 +24,15 @@ const [cmd, key, value] = args switch (cmd) { case 'get': - if (!key) return + if (!key) return console.log('Usage: taro config get foo') helper.get(key) break case 'set': - if (!key || !value) return + if (!key || !value) return console.log('Usage: taro config set foo bar') helper.set(key, value) break case 'delete': - if (!key) return + if (!key) return console.log('Usage: taro config delete foo') helper.deleteKey(key) break case 'list': @@ -38,5 +40,6 @@ switch (cmd) { helper.list(json) break default: + program.help() break } diff --git a/packages/taro-cli/src/taro-config/index.ts b/packages/taro-cli/src/taro-config/index.ts index 1ef7e2e6870e..7208c19ae508 100644 --- a/packages/taro-cli/src/taro-config/index.ts +++ b/packages/taro-cli/src/taro-config/index.ts @@ -1,15 +1,23 @@ import * as fs from 'fs-extra' import * as path from 'path' import { getUserHomeDir } from '../util' +import { TARO_CONFIG_FLODER, TARO_BASE_CONFIG } from '../util/constants' const homedir = getUserHomeDir() -const configPath = path.join(homedir, '.taro/index.json') +const configPath = path.join(homedir, `${TARO_CONFIG_FLODER}/${TARO_BASE_CONFIG}`) + +function displayConfigPath (configPath) { + console.log('Config path:', configPath) + console.log() +} export function get (key: string) { if (!homedir) return console.log('找不到用户根目录') + if (fs.existsSync(configPath)) { + displayConfigPath(configPath) const config = fs.readJSONSync(configPath) - console.log(config[key]) + console.log('Key:', key, ', value:', config[key]) } } @@ -17,6 +25,7 @@ export function set (key: string, value: string) { if (!homedir) return console.log('找不到用户根目录') if (fs.existsSync(configPath)) { + displayConfigPath(configPath) const config = fs.readJSONSync(configPath) config[key] = value fs.writeJSONSync(configPath, config) @@ -26,21 +35,27 @@ export function set (key: string, value: string) { [key]: value }) } + console.log('Set key:', key, ', value:', value) } export function deleteKey (key: string) { if (!homedir) return console.log('找不到用户根目录') if (fs.existsSync(configPath)) { + displayConfigPath(configPath) const config = fs.readJSONSync(configPath) delete config[key] fs.writeJSONSync(configPath, config) } + console.log('Deleted:', key) } export function list (isJSONFormat: boolean = false) { if (!homedir) return console.log('找不到用户根目录') + if (fs.existsSync(configPath)) { + displayConfigPath(configPath) + console.log('Config info:') const config = fs.readJSONSync(configPath) if (isJSONFormat) { console.log(JSON.stringify(config, null, 2)) diff --git a/packages/taro-cli/src/util/constants.ts b/packages/taro-cli/src/util/constants.ts index 64819d0b745d..766af71bfe92 100644 --- a/packages/taro-cli/src/util/constants.ts +++ b/packages/taro-cli/src/util/constants.ts @@ -365,5 +365,5 @@ export const DEVICE_RATIO_NAME = 'deviceRatio' export const isWindows = os.platform() === 'win32' export const DEFAULT_TEMPLATE_SRC = 'github:NervJS/taro-project-templates#next' -export const TARO_CONFIG_FLODER = '.taro' +export const TARO_CONFIG_FLODER = '.taro2' export const TARO_BASE_CONFIG = 'index.json'