chore: add build-output.sh

#52
This commit is contained in:
fantasticit 2022-05-21 23:36:10 +08:00
parent 600f054098
commit 9e369a119e
2 changed files with 79 additions and 0 deletions

2
.gitignore vendored
View File

@ -19,3 +19,5 @@ tsconfig.tsbuildinfo
**/prod.yaml **/prod.yaml
scripts/update.sh scripts/update.sh
output

77
build-output.sh Executable file
View File

@ -0,0 +1,77 @@
#! /bin/bash
# 该脚本只保留生产环境运行所需文件到统一目录
# 构建
pnpm install
pnpm run build
outputDir="output"
# 新建输出目录
if [ -d ${outputDir} ]; then
rm -rfv ${outputDir}
fi
mkdir -p ${outputDir}
cd ${outputDir}
mkdir -p packages
mkdir -p packages/config
mkdir -p packages/constants
mkdir -p packages/domains
mkdir -p packages/client
mkdir -p packages/server
cd ../
# 复制文件
cp -v -L -r config ${outputDir}
cd ${outputDir}/config
rm -f dev.yaml
cd ../../
cp -v -L package.json ${outputDir}
cp -v -L pnpm-lock.yaml ${outputDir}
cp -v -L pnpm-workspace.yaml ${outputDir}
# packages/config
cd packages/config
configOutput="../../${outputDir}/packages/config"
cp -v -L package.json ${configOutput}
cp -v -L -r lib ${configOutput}
cd ../../
# packages/constants
cd packages/constants
constantsOutput="../../${outputDir}/packages/constants"
cp -v -L package.json ${constantsOutput}
cp -v -L -r lib ${constantsOutput}
cd ../../
# packages/domains
cd packages/domains
domainsOutput="../../${outputDir}/packages/domains"
cp -v -L package.json ${domainsOutput}
cp -v -L -r lib ${domainsOutput}
cd ../../
# packages/client
cd packages/client
clientOutput="../../${outputDir}/packages/client"
cp -v -L package.json ${clientOutput}
cp -v -L prod-server.js ${clientOutput}
cp -v -L -r public ${clientOutput}
cp -v -L -r .next ${clientOutput}
cd ../../
# packages/server
cd packages/server
serverOutput="../../${outputDir}/packages/server"
cp -v -L package.json ${serverOutput}
cp -v -L nest-cli.json ${serverOutput}
cp -v -L -r dist ${serverOutput}
cd ../../
# @see https://github.com/typicode/husky/issues/914#issuecomment-826768549
cd ${outputDir}
npm set-script prepare ""
pnpm install -r --prod
cd ../
echo "${outputDir} 打包完成"