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