123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- import { writeFileSync, existsSync, readFileSync } from "fs";
- import { execSync } from "child_process";
- import moment from "moment";
- import packageJson from "./package.json" assert { type: "json" };
- import * as readline from "node:readline/promises";
- import { stdin as input, stdout as output } from "node:process";
- console.log("> prebuild");
- console.log("> prebuild create .env.*.local");
- const buildDate = moment().format("YYYY-MM-DD HH:mm:ss");
- console.log(" 构建日期为 " + buildDate);
- const revision = execSync("git rev-parse HEAD").toString().trim().slice(0, 7);
- console.log(" 当前的git版本为 " + revision);
- const branchName = execSync("git branch --show-current").toString().trim();
- const branchNum = branchName.match(/.*(\d+\.\d+.\d+)$/)[1];
- if (branchNum !== packageJson.version) {
- const rl = readline.createInterface({ input, output });
-
- const answer = await rl.question(
- "package.json的版本号与git分支不一致,是否停止构建?(Y/N)"
- );
- console.log(`${answer}`);
- rl.close();
- const upAnswer = answer.toUpperCase();
- if (upAnswer === "Y") {
- process.exit(1);
- } else if (upAnswer === "N") {
- console.log("继续构建");
- } else {
- console.error("无效输入");
- process.exit(1);
- }
- }
- writeFileSync(
- ".env.production.local",
- `VITE_FE_VERSION=${packageJson.version}
- VITE_BUILD_DATE=${buildDate}
- VITE_GIT_REPO_VERSION=${revision}
- `
- );
- console.log();
|