frontengineerplugin
Version:
前端工程化脚手架.集成eslint,husky,prettier,eslint,npmrc,CICD,testCase,node_proxy,readme生成 9个主要功能
48 lines (41 loc) • 1.51 kB
JavaScript
const fs = require('fs');
const path = require('path');
const chalk = require('chalk'); // console.log 的 颜色
let version = require(path.join(__dirname, 'package.json')).version; // 库文件
const infolog = (msg) => {
console.log(chalk.grey(`frontengineerplugin ${version} - ${msg}`));
};
const successlog = (msg) => {
console.log(chalk.green(`frontengineerplugin ${version} - ${msg}`));
};
function installInit() {
// 拿到两层以上的,不然不行。 pnpm 有问题,这个要三层
try {
// console.log(path.resolve(process.cwd()),__dirname)
const packageJsonStr = fs
.readFileSync(path.resolve(process.cwd(), '..', '..', 'package.json'))
.toString();
const packageJson = JSON.parse(packageJsonStr);
if (!packageJson.scripts) {
packageJson.scripts = {};
}
if (packageJson.scripts['engineer']) {
infolog('package.json中 engineer字段 重复,替换字段');
} else {
packageJson.scripts['engineer'] = 'frontengineerplugin gui';
}
fs.writeFileSync(
path.resolve(process.cwd(), '..', '..', 'package.json'),
JSON.stringify(packageJson, null, '\t')
);
} catch (e) {
infolog(
'找不到package,json | 你需要到package.json中去手动添加 "engineer" : "frontengineerplugin gui "'
);
process.exit(0);
}
successlog('安装成功,请运行npm run engineer');
}
installInit();
// exports.installInit = installInit;