96 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
			
		
		
	
	
			96 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
/*
 | 
						|
 * @Author: Hugo
 | 
						|
 * @Date: 2022-04-06 20:08:39
 | 
						|
 * @LastEditTime: 2022-04-07 13:33:15
 | 
						|
 * @LastEditors: Please set LastEditors
 | 
						|
 * @Description: 配置模块公用方法及常量
 | 
						|
 * @FilePath: /low_code_designer_husky_demo/config/common.js
 | 
						|
 */
 | 
						|
const fs = require('fs');
 | 
						|
const _ = require('lodash');
 | 
						|
const consoleStyles = {
 | 
						|
    // 亮色
 | 
						|
    'bright': '\x1B[1m',
 | 
						|
    // 灰色
 | 
						|
    'grey': '\x1B[2m',
 | 
						|
    // 斜体
 | 
						|
    'italic': '\x1B[3m',
 | 
						|
    // 下划线
 | 
						|
    'underline': '\x1B[4m',
 | 
						|
    // 反向
 | 
						|
    'reverse': '\x1B[7m',
 | 
						|
    // 隐藏
 | 
						|
    'hidden': '\x1B[8m',
 | 
						|
    // 黑色
 | 
						|
    'black': '\x1B[30m',
 | 
						|
    // 红色
 | 
						|
    'red': '\x1B[31m',
 | 
						|
    // 绿色
 | 
						|
    'green': '\x1B[32m',
 | 
						|
    // 黄色
 | 
						|
    'yellow': '\x1B[33m',
 | 
						|
    // 蓝色
 | 
						|
    'blue': '\x1B[34m',
 | 
						|
    // 品红色
 | 
						|
    'magenta': '\x1B[35m',
 | 
						|
    // 青色
 | 
						|
    'cyan': '\x1B[36m',
 | 
						|
    // 白色
 | 
						|
    'white': '\x1B[37m',
 | 
						|
    // 背景黑色
 | 
						|
    'blackBG': '\x1B[40m',
 | 
						|
    // 红色
 | 
						|
    'redBG': '\x1B[41m',
 | 
						|
    // 绿色
 | 
						|
    'greenBG': '\x1B[42m',
 | 
						|
    // 黄色
 | 
						|
    'yellowBG': '\x1B[43m',
 | 
						|
    // 蓝色
 | 
						|
    'blueBG': '\x1B[44m',
 | 
						|
    // 品红色
 | 
						|
    'magentaBG': '\x1B[45m',
 | 
						|
    // 青色
 | 
						|
    'cyanBG': '\x1B[46m',
 | 
						|
    // 白色
 | 
						|
    'whiteBG': '\x1B[47m'
 | 
						|
};
 | 
						|
 | 
						|
/**
 | 
						|
 * 更新package.json文件配置数据
 | 
						|
 * @param {String} jsonFile package.json文件路径
 | 
						|
 * @param {String} key 字段路径
 | 
						|
 * @param {Any} value 字段值
 | 
						|
 */
 | 
						|
function setPackageJSONConfig(jsonFile, key, value) {
 | 
						|
    fs.readFile(jsonFile, (err, data) => {
 | 
						|
        if (err) {
 | 
						|
            console.log(err);
 | 
						|
        }
 | 
						|
        let config = JSON.parse(data.toString());
 | 
						|
        _.set(config, key, value);
 | 
						|
        let str = JSON.stringify(config, null, '\t');
 | 
						|
        fs.writeFile(jsonFile, str, (err) => {
 | 
						|
            if (err) {
 | 
						|
                console.log(err);
 | 
						|
            }
 | 
						|
            console.log('Update Success');
 | 
						|
        })
 | 
						|
    });
 | 
						|
}
 | 
						|
 | 
						|
/**
 | 
						|
 * 提取scripts命令行参数
 | 
						|
 * @returns {Object}
 | 
						|
 */
 | 
						|
function getCmdParams() {
 | 
						|
    let params;
 | 
						|
    let paramMap = {};
 | 
						|
    [, , ...params] = process.argv;
 | 
						|
 | 
						|
    params.forEach(param => {
 | 
						|
        let [key, value] = param.split('=');
 | 
						|
        paramMap[key] = value;
 | 
						|
    });
 | 
						|
    return paramMap;
 | 
						|
}
 | 
						|
module.exports = { consoleStyles, setPackageJSONConfig, getCmdParams }; |