From 8d5c14ea16a30ba0944d01648f352cc510a26cf7 Mon Sep 17 00:00:00 2001 From: Hooray Hu <304327508@qq.com> Date: Sun, 14 Jan 2024 00:06:21 +0800 Subject: [PATCH] =?UTF-8?q?chore:=20=E5=A2=9E=E5=8A=A0=E8=BF=90=E8=A1=8C?= =?UTF-8?q?=E6=97=B6=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 2 ++ pnpm-lock.yaml | 48 ++++++++++++++++++++++++++++++++++++++++ vite/plugins/app-info.ts | 25 +++++++++++++++++++++ vite/plugins/index.ts | 2 ++ 4 files changed, 77 insertions(+) create mode 100644 vite/plugins/app-info.ts diff --git a/package.json b/package.json index 0fb7d56f..592907bb 100755 --- a/package.json +++ b/package.json @@ -61,6 +61,7 @@ "@vitejs/plugin-vue": "^5.0.3", "@vitejs/plugin-vue-jsx": "^3.1.0", "autoprefixer": "^10.4.16", + "boxen": "^7.1.1", "bumpp": "^9.2.1", "cz-git": "^1.8.0", "eslint": "^8.56.0", @@ -70,6 +71,7 @@ "inquirer": "^9.2.12", "lint-staged": "^15.2.0", "npm-run-all": "^4.1.5", + "picocolors": "^1.0.0", "plop": "^4.0.1", "sass": "^1.69.7", "simple-git-hooks": "^2.9.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 82199737..2ad84d0a 100755 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -124,6 +124,9 @@ devDependencies: autoprefixer: specifier: ^10.4.16 version: 10.4.16(postcss@8.4.33) + boxen: + specifier: ^7.1.1 + version: 7.1.1 bumpp: specifier: ^9.2.1 version: 9.2.1 @@ -151,6 +154,9 @@ devDependencies: npm-run-all: specifier: ^4.1.5 version: 4.1.5 + picocolors: + specifier: ^1.0.0 + version: 1.0.0 plop: specifier: ^4.0.1 version: 4.0.1 @@ -3959,6 +3965,12 @@ packages: uri-js: 4.4.1 dev: true + /ansi-align@3.0.1: + resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==} + dependencies: + string-width: 4.2.3 + dev: true + /ansi-escapes@4.3.2: resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} engines: {node: '>=8'} @@ -4236,6 +4248,20 @@ packages: resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} dev: true + /boxen@7.1.1: + resolution: {integrity: sha512-2hCgjEmP8YLWQ130n2FerGv7rYpfBmnmp9Uy2Le1vge6X3gZIfSmEzP5QTDElFxcvVcXlEn8Aq6MU/PZygIOog==} + engines: {node: '>=14.16'} + dependencies: + ansi-align: 3.0.1 + camelcase: 7.0.1 + chalk: 5.3.0 + cli-boxes: 3.0.0 + string-width: 5.1.2 + type-fest: 2.19.0 + widest-line: 4.0.1 + wrap-ansi: 8.1.0 + dev: true + /brace-expansion@1.1.11: resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} dependencies: @@ -4424,6 +4450,11 @@ packages: engines: {node: '>=10'} dev: true + /camelcase@7.0.1: + resolution: {integrity: sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==} + engines: {node: '>=14.16'} + dev: true + /caniuse-lite@1.0.30001538: resolution: {integrity: sha512-HWJnhnID+0YMtGlzcp3T9drmBJUVDchPJ08tpUGFLs9CYlwWPH2uLgpHn8fND5pCgXVtnGS3H4QR9XLMHVNkHw==} dev: true @@ -4559,6 +4590,11 @@ packages: escape-string-regexp: 5.0.0 dev: true + /cli-boxes@3.0.0: + resolution: {integrity: sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==} + engines: {node: '>=10'} + dev: true + /cli-cursor@3.1.0: resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} engines: {node: '>=8'} @@ -10037,6 +10073,11 @@ packages: engines: {node: '>=8'} dev: true + /type-fest@2.19.0: + resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==} + engines: {node: '>=12.20'} + dev: true + /type-fest@3.13.1: resolution: {integrity: sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==} engines: {node: '>=14.16'} @@ -10753,6 +10794,13 @@ packages: isexe: 2.0.0 dev: true + /widest-line@4.0.1: + resolution: {integrity: sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==} + engines: {node: '>=12'} + dependencies: + string-width: 5.1.2 + dev: true + /wordwrap@1.0.0: resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==} dev: true diff --git a/vite/plugins/app-info.ts b/vite/plugins/app-info.ts new file mode 100644 index 00000000..b92f020a --- /dev/null +++ b/vite/plugins/app-info.ts @@ -0,0 +1,25 @@ +import boxen from 'boxen' +import picocolors from 'picocolors' +import type { Plugin } from 'vite' + +export default function appInfo(): Plugin { + return { + name: 'appInfo', + apply: 'serve', + async buildStart() { + const { bold, green, cyan, bgGreen, underline } = picocolors + // eslint-disable-next-line no-console + console.log( + boxen( + `${bold(green(`由 ${bgGreen('Fantastic-admin')} 驱动`))}\n\n${underline('https://fantastic-admin.gitee.io')}\n\n当前使用:${cyan('基础版')}`, + { + padding: 1, + margin: 1, + borderStyle: 'double', + textAlignment: 'center', + }, + ), + ) + }, + } +} diff --git a/vite/plugins/index.ts b/vite/plugins/index.ts index bd87ac2e..601f3ec7 100755 --- a/vite/plugins/index.ts +++ b/vite/plugins/index.ts @@ -2,6 +2,7 @@ import type { PluginOption } from 'vite' import vue from '@vitejs/plugin-vue' import vueJsx from '@vitejs/plugin-vue-jsx' import vueLegacy from '@vitejs/plugin-legacy' +import appInfo from './app-info' import createInspector from './inspector' import createAutoImport from './auto-import' @@ -17,6 +18,7 @@ import createBanner from './banner' export default function createVitePlugins(viteEnv, isBuild = false) { const vitePlugins: (PluginOption | PluginOption[])[] = [ + appInfo(), vue(), vueJsx(), vueLegacy({