1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- import { writeFileSync } from "fs";
- import { execSync } from "child_process";
- import moment from "moment";
- import packageJson from "./package.json" assert { type: "json" };
- console.log("> prebuild");
- console.log(process.argv);
- if (process.argv.length < 3) {
- console.log(
- "命令格式:\nnode --experimental-json-modules prebuild.mjs [mode]"
- );
- process.exit(1);
- }
- const mode = process.argv[2];
- const validModes = ["production", "staging", "test", "dev"];
- if (!validModes.includes(mode)) {
- console.log(`mode: ${mode} 不合法,合法的mode为 `, validModes);
- process.exit(1);
- }
- const localEnv = ".env." + mode + ".local";
- console.log("> prebuild create " + localEnv);
- // 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);
- // eslint-disable-next-line @typescript-eslint/no-unsafe-call
- writeFileSync(
- localEnv,
- `VITE_FE_VERSION=${packageJson.version}
- VITE_BUILD_DATE=${buildDate}
- VITE_GIT_REPO_VERSION=${revision}
- `
- );
- console.log();
|