Merge Official Source

This commit is contained in:
Xiaokailnol
2026-02-03 22:48:23 +08:00
commit 399c441e7a
161 changed files with 28630 additions and 0 deletions

76
vite.config.ts Normal file
View File

@@ -0,0 +1,76 @@
import vue from '@vitejs/plugin-vue'
import vueJsx from '@vitejs/plugin-vue-jsx'
import { execSync } from 'child_process'
import { fileURLToPath, URL } from 'node:url'
import { defineConfig } from 'vite'
import { VitePWA } from 'vite-plugin-pwa'
import { version } from './package.json'
const getGitCommitId = (): string => {
try {
const commitMessage = execSync('git log -1 --pretty=%B', { encoding: 'utf8' }).trim()
if (commitMessage.includes('chore(main): release')) {
return ''
}
return execSync('git rev-parse --short HEAD', { encoding: 'utf8' }).trim()
} catch (error) {
console.warn('无法获取git commit ID:', error)
return ''
}
}
// https://vite.dev/config/
export default defineConfig({
define: {
__APP_VERSION__: JSON.stringify(version),
__COMMIT_ID__: JSON.stringify(getGitCommitId()),
},
base: './',
plugins: [
vue(),
vueJsx(),
VitePWA({
registerType: 'autoUpdate',
includeAssets: ['favicon.svg', 'favicon-dark.svg'],
manifest: {
name: 'zashboard',
short_name: 'zashboard',
description: 'a dashboard using clash api',
theme_color: '#000000',
icons: [
{
src: './pwa-192x192.png',
sizes: '192x192',
type: 'image/png',
purpose: 'any',
},
{
src: './pwa-512x512.png',
sizes: '512x512',
type: 'image/png',
purpose: 'any',
},
{
src: './pwa-maskable-192x192.png',
sizes: '192x192',
type: 'image/png',
purpose: 'maskable',
},
{
src: './pwa-maskable-512x512.png',
sizes: '512x512',
type: 'image/png',
purpose: 'maskable',
},
],
},
}),
],
resolve: {
alias: {
'@': fileURLToPath(new URL('./src', import.meta.url)),
},
},
})