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 packageJson = require("./package.json");
- const buildDate = moment().format("YYYY-MM-DD HH:mm:ss");
- console.log(" 构建日期为 " + buildDate);
- // eslint-disable-next-line @typescript-eslint/no-unsafe-call
- 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 });
- /** @type string */
- 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);
- }
- }
- // eslint-disable-next-line @typescript-eslint/no-unsafe-call
- writeFileSync(
- ".env.production.local",
- `VITE_FE_VERSION=${packageJson.version}
- VITE_BUILD_DATE=${buildDate}
- VITE_GIT_REPO_VERSION=${revision}
- `
- );
- // 如果不存在则创建,对真正的构建无影响
- // if (
- // !existsSync("./src/devLoginParams.ts") &&
- // !readFileSync("./src/devLoginParams.ts").toString().includes("LOGIN_CONFIG")
- // ) {
- // writeFileSync(
- // "./src/devLoginParams.ts",
- // `
- // export const LOGIN_CONFIG = {
- // isAdmin: false,
- // forceChange: true,
- // loginName: "1-431-2-1",
- // password: "123456",
- // examId: "1",
- // markerId: "451",
- // };
- // `
- // );
- // }
- console.log();
|