| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 | import type { Plugin } from "vite";import dayjs, { Dayjs } from "dayjs";import utils from "@pureadmin/utils";import duration from "dayjs/plugin/duration";import { green, blue, bold } from "picocolors";dayjs.extend(duration);export function viteBuildInfo(): Plugin {  let config: { command: string };  let startTime: Dayjs;  let endTime: Dayjs;  let outDir: string;  return {    name: "vite:buildInfo",    configResolved(resolvedConfig) {      config = resolvedConfig;      outDir = resolvedConfig.build?.outDir ?? "dist";    },    buildStart() {      console.log(        bold(          green(            `👏欢迎使用${blue(              "[vue-pure-admin]"            )},如果您感觉不错,记得点击后面链接给个star哦💖 https://github.com/pure-admin/vue-pure-admin`          )        )      );      if (config.command === "build") {        startTime = dayjs(new Date());      }    },    closeBundle() {      if (config.command === "build") {        endTime = dayjs(new Date());        utils.getPackageSize({          folder: outDir,          callback: (size: string) => {            console.log(              bold(                green(                  `🎉恭喜打包完成(总用时${dayjs                    .duration(endTime.diff(startTime))                    .format("mm分ss秒")},打包后的大小为${size})`                )              )            );          }        });      }    }  };}
 |