Compare commits

...

5 Commits

Author SHA1 Message Date
严浩
e82b8575d1 ci: 更新项目依赖并优化测试工作流 2025-09-12 12:14:33 +08:00
严浩
3b76e57df5 build(deps): 使用 rolldown-vite 包 2025-09-11 16:18:49 +08:00
严浩
eb600d0b6b chore(package): 更新依赖包版本 2025-09-11 16:18:05 +08:00
严浩
87e701042f ci: 优化 GitHub Actions 工作流并添加单元测试 2025-09-09 23:22:35 +08:00
严浩
306ed9a527 ci: 更新 Playwright 配置以使用预览服务器
- 将 baseURL 固定为 http://localhost:4173,不再根据环境变量区分 CI 和本地环境
- 修改启动命令为先构建再启动预览服务器
- 设置 reuseExistingServer 为 true,优化服务器重用逻辑

(cherry picked from commit df6ffb99c8)
2025-09-09 23:11:00 +08:00
7 changed files with 264 additions and 256 deletions

2
.env
View File

@@ -1,2 +1,4 @@
VITE_BASE=/
VITE_BUILD_SOURCE_MAP=true
VITE_BUILD_COMMIT= VITE_BUILD_COMMIT=
VITE_BUILD_TIME= VITE_BUILD_TIME=

View File

@@ -28,6 +28,9 @@ jobs:
env: env:
VITE_BUILD_COMMIT: ${{ github.sha }} VITE_BUILD_COMMIT: ${{ github.sha }}
- name: 🧪 单元测试
run: pnpm run test:unit
- name: 📊 计算构建大小 - name: 📊 计算构建大小
run: | run: |
echo "📊 构建大小统计:" echo "📊 构建大小统计:"

View File

@@ -18,6 +18,8 @@ jobs:
uses: yanhao98/composite-actions/setup-node-environment@25eb4dc0c134cc9df2b7c569aa54140a366b45a8 uses: yanhao98/composite-actions/setup-node-environment@25eb4dc0c134cc9df2b7c569aa54140a366b45a8
# - name: 📥 安装 Playwright 浏览器 # - name: 📥 安装 Playwright 浏览器
# run: pnpm exec playwright install --with-deps # run: pnpm exec playwright install --with-deps
- name: 🔄 更新依赖
run: pnpm update --latest
- name: 📦 构建项目 - name: 📦 构建项目
run: pnpm run build-only run: pnpm run build-only
- name: ▶️ 运行 Playwright 测试 - name: ▶️ 运行 Playwright 测试

View File

@@ -49,13 +49,15 @@
] ]
}, },
"pnpm": { "pnpm": {
"overrides": {} "overrides": {
"vite": "$vite"
}
}, },
"dependencies": { "dependencies": {
"@commitlint/cli": "^19.8.1", "@commitlint/cli": "^19.8.1",
"@commitlint/config-conventional": "^19.8.1", "@commitlint/config-conventional": "^19.8.1",
"@formkit/auto-animate": "^0.9.0", "@formkit/auto-animate": "^0.9.0",
"@pinia/colada": "^0.17.3", "@pinia/colada": "^0.17.4",
"@primeuix/themes": "^1.2.3", "@primeuix/themes": "^1.2.3",
"@unhead/vue": "^2.0.14", "@unhead/vue": "^2.0.14",
"@vueuse/core": "^13.9.0", "@vueuse/core": "^13.9.0",
@@ -99,7 +101,6 @@
"nprogress": "^0.2.0", "nprogress": "^0.2.0",
"oxlint": "~1.14.0", "oxlint": "~1.14.0",
"prettier": "3.6.2", "prettier": "3.6.2",
"rolldown": "1.0.0-beta.36",
"typescript": "~5.9.2", "typescript": "~5.9.2",
"unocss": "^66.5.1", "unocss": "^66.5.1",
"unocss-preset-animations": "^1.2.1", "unocss-preset-animations": "^1.2.1",
@@ -108,7 +109,7 @@
"unplugin-vue-components": "^29.0.0", "unplugin-vue-components": "^29.0.0",
"unplugin-vue-markdown": "^29.1.0", "unplugin-vue-markdown": "^29.1.0",
"unplugin-vue-router": "^0.15.0", "unplugin-vue-router": "^0.15.0",
"vite": "^7.1.5", "vite": "npm:rolldown-vite@^7.1.9",
"vite-plugin-checker": "^0.10.3", "vite-plugin-checker": "^0.10.3",
"vite-plugin-fake-server": "^2.2.0", "vite-plugin-fake-server": "^2.2.0",
"vite-plugin-image-optimizer": "^2.0.2", "vite-plugin-image-optimizer": "^2.0.2",

View File

@@ -2,7 +2,7 @@ import { defineConfig, devices } from '@playwright/test'
import process from 'node:process' import process from 'node:process'
// const runningInVSCode = process.env.TERM_PROGRAM === 'vscode' // const runningInVSCode = process.env.TERM_PROGRAM === 'vscode'
const baseURL = process.env.CI ? 'http://localhost:4173' : 'http://localhost:4730' const baseURL = 'http://localhost:4173'
/** /**
* Read environment variables from file. * Read environment variables from file.
@@ -106,8 +106,8 @@ export default defineConfig({
* Use the preview server on CI for more realistic testing. * Use the preview server on CI for more realistic testing.
* Playwright will re-use the local server if there is already a dev-server running. * Playwright will re-use the local server if there is already a dev-server running.
*/ */
command: process.env.CI ? 'pnpm run preview' : 'pnpm run dev', command: 'pnpm run build-only; pnpm run preview',
port: Number(new URL(baseURL).port), port: Number(new URL(baseURL).port),
reuseExistingServer: !process.env.CI, reuseExistingServer: true /* !process.env.CI */,
}, },
}) })

485
pnpm-lock.yaml generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,18 +1,19 @@
import { fileURLToPath, URL } from 'node:url' import { fileURLToPath, URL } from 'node:url'
import { createViteProxy } from 'utils4u/vite' import { createViteProxy } from 'utils4u/vite'
import { defineConfig, type DepOptimizationOptions } from 'vite' import { defineConfig, loadEnv, type DepOptimizationOptions } from 'vite'
import { Plugins } from './vite.config.plugins' import { Plugins } from './vite.config.plugins'
// import { createRolldownSplitChunks } from './vite.config.rolldown.split-chunks'
// https://vite.dev/config/ // https://vite.dev/config/
export default defineConfig(({ command /* mode */ }) => { export default defineConfig(({ command, mode }) => {
const isBuild = command === 'build' const isBuild = command === 'build'
// const env = loadEnv(mode, process.cwd()) const env = loadEnv(mode, process.cwd())
return { return {
// build: createRolldownSplitChunks(), base: env.VITE_BASE,
// base: env.VITE_BASE, build: {
sourcemap: env.VITE_BUILD_SOURCE_MAP === 'true',
},
plugins: Plugins(), plugins: Plugins(),
resolve: { resolve: {
alias: { alias: {