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 };
							 |