1
0
mirror of https://github.com/142vip/408CSFamily.git synced 2026-04-04 19:17:49 +08:00

style: 格式化脚本

This commit is contained in:
chu fan
2023-09-07 11:16:20 +08:00
parent 8673a64409
commit eeed9d8cd7
8 changed files with 188 additions and 192 deletions

View File

@@ -11,27 +11,32 @@
* - ./scripts/bundle 交互式选择执行的命令
*/
const { execShell } = require("./.exec");
const { Select } = require('enquirer');
const { execShell } = require('./.exec')
const { Select } = require('enquirer')
const packageVersion=require('../package.json').version
const projectName="408CSFamily"
const packageVersion = require('../package.json').version
const projectName = '408CSFamily'
// 仓库地址
const repoAddress="registry.cn-hangzhou.aliyuncs.com/142vip/doc_book"
const repoAddress = 'registry.cn-hangzhou.aliyuncs.com/142vip/doc_book'
// 镜像地址
const imageName=`${repoAddress}:${projectName}-${packageVersion}`
const imageName = `${repoAddress}:${projectName}-${packageVersion}`
/**
* 获取构建镜像的脚本
* @param containerBuild
* @param preBuild
* @param needProxy
* @returns {string[]}
*/
function getBuildImageScript({containerBuild,needProxy=false}){
// 基础构建脚本
const baseBuildScript=containerBuild?"":(
needProxy?"./scripts/bundle build_proxy":"./scripts/bundle build"
)
return [
function getBuildImageScript({ containerBuild, preBuild, needProxy = false }) {
// 基础构建脚本
let baseBuildScript = ''
if (preBuild) {
baseBuildScript = needProxy ? './scripts/bundle build_proxy' : './scripts/bundle build'
}
return [
// 构建镜像
`
${baseBuildScript}
@@ -53,82 +58,81 @@ function getBuildImageScript({containerBuild,needProxy=false}){
exit 1;
fi
`
]
]
}
/**
* 支持的脚本命令
*/
const SupportScripts={
build:'vuepress build docs',
build_proxy:'PROXY_DOMAIN=true vuepress build docs',
image:getBuildImageScript({
containerBuild:true,
needProxy:false
}),
image_proxy:getBuildImageScript({
containerBuild:true,
needProxy:true
}),
// 直接从本地拿dist文件生成镜像
image_faster:getBuildImageScript({
containerBuild:false,
needProxy:false
const SupportScripts = {
build: 'vuepress build docs',
build_proxy: 'PROXY_DOMAIN=true vuepress build docs',
image: getBuildImageScript({
containerBuild: true,
needProxy: false
}),
image_proxy: getBuildImageScript({
containerBuild: true,
needProxy: true
}),
// 直接从本地拿dist文件生成镜像
image_faster: getBuildImageScript({
containerBuild: false,
needProxy: false
})
}
async function getScriptCommand() {
const scriptName = process.argv[2]
let scriptCommand = SupportScripts.build
if (scriptName == null) {
const prompt = new Select({
header: '======================== 408CSFamily Cli For Building ========================',
footer: '======================== 408CSFamily Cli For Building ========================',
name: 'color',
message: 'What script will you want to run ',
choices: [
{
message: 'build',
name: SupportScripts.build,
value: '#00ffff'
},
{
message: 'build for fixing proxy',
name: SupportScripts.build_proxy,
value: '#000000'
},
{
message: 'build to docker image',
name: SupportScripts.image,
value: '#0000ff'
},
{
message: 'build to docker image with proxy',
name: SupportScripts.image_proxy,
value: '#0000ff'
},
{
message: 'build to docker image faster',
name: SupportScripts.image_faster,
value: '#0000ff'
}
]
})
scriptCommand = await prompt.run()
} else {
// 命中支持的脚本
if (Object.keys(SupportScripts).includes(scriptName)) { scriptCommand = SupportScripts[scriptName] }
}
return scriptCommand
}
async function getScriptCommand(){
let scriptName=process.argv[2];
let scriptCommand=SupportScripts.build
if(scriptName==null){
const prompt = new Select({
header: '======================== 408CSFamily Cli For Building ========================',
footer: '======================== 408CSFamily Cli For Building ========================',
name: 'color',
message: 'What script will you want to run ',
choices: [
{
message: 'build',
name: SupportScripts.build,
value: '#00ffff'
},
{
message: 'build for fixing proxy',
name: SupportScripts.build_proxy,
value: '#000000'
},
{
message: 'build to docker image',
name: SupportScripts.image,
value: '#0000ff'
},
{
message: 'build to docker image with proxy',
name: SupportScripts.image_proxy,
value: '#0000ff'
},
{
message: 'build to docker image faster',
name: SupportScripts.image_faster,
value: '#0000ff'
},
]
});
scriptCommand = await prompt.run()
}else{
// 命中支持的脚本
if(Object.keys(SupportScripts).includes(scriptName))
scriptCommand=SupportScripts[scriptName]
}
return scriptCommand
}
;(async ()=>{
const scriptCommand= await getScriptCommand()
await execShell(scriptCommand)
;(async() => {
const scriptCommand = await getScriptCommand()
await execShell(scriptCommand)
})()