12345678910111213141516171819202122232425262728 |
- import type { PluginOption } from 'vite';
- import type { PrintPluginOptions } from '../typing';
- import { colors } from '@vben/node-utils';
- export const vitePrintPlugin = (
- options: PrintPluginOptions = {},
- ): PluginOption => {
- const { infoMap = {} } = options;
- return {
- configureServer(server) {
- const _printUrls = server.printUrls;
- server.printUrls = () => {
- _printUrls();
- for (const [key, value] of Object.entries(infoMap)) {
- console.log(
- ` ${colors.green('➜')} ${colors.bold(key)}: ${colors.cyan(value)}`,
- );
- }
- };
- },
- enforce: 'pre',
- name: 'vite:print-info',
- };
- };
|