Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
49 commits
Select commit Hold shift + click to select a range
1b9fcc5
test: add Playwright E2E test suite as regression safety net
DevDengChao Mar 2, 2026
9864cf5
chore(deps): upgrade Vue 3.5.12 → 3.5.26
DevDengChao Mar 2, 2026
3dad65a
chore(deps): upgrade Axios 1.9.0 → 1.13.6
DevDengChao Mar 2, 2026
dec43ff
chore(deps): upgrade Element Plus 2.11.1 → 2.13.3
DevDengChao Mar 2, 2026
b6f4035
chore(deps): upgrade Sass 1.69.5 → 1.97.3
DevDengChao Mar 2, 2026
c13d5d7
chore(deps): upgrade vue-tsc 1.8.27 → 3.2.5
DevDengChao Mar 2, 2026
136ef31
chore(deps): upgrade bpmn-js-properties-panel 5.23.0 → 5.52.1
DevDengChao Mar 2, 2026
81f00ad
chore(deps): upgrade TypeScript 5.3.3 → 5.9.3
DevDengChao Mar 2, 2026
7326634
chore(deps): upgrade Pinia 2.1.7 → 3.0.4, persistedstate 3.2.1 → 4.7.1
DevDengChao Mar 2, 2026
c0414a5
chore(deps): upgrade Vue Router 4.4.5 → 5.0.3
DevDengChao Mar 2, 2026
7991028
chore(deps): upgrade @vueuse/core 10.9.0 → 14.2.1
DevDengChao Mar 2, 2026
643eb92
chore(deps): upgrade Vue I18n 9.10.2 → 11.2.8, fix related compat issues
DevDengChao Mar 2, 2026
53f779a
chore(deps): upgrade UnoCSS 0.58.5 → 66.6.2 and related packages
DevDengChao Mar 2, 2026
6ffcbbc
chore(deps): migrate ESLint 8 → 10 with flat config
DevDengChao Mar 2, 2026
f4b8fea
chore(deps): upgrade ECharts 5.5.0 → 6.0.0
DevDengChao Mar 2, 2026
fd11e07
chore(deps): upgrade Vite 5.1.4 → 7.3.1 and ecosystem plugins
DevDengChao Mar 2, 2026
550c30e
chore: post-upgrade cleanup
DevDengChao Mar 2, 2026
5284b00
chore(deps): update all semver-compatible packages to latest
DevDengChao Mar 2, 2026
e31423b
chore(deps): low-risk major upgrades (Phase B)
DevDengChao Mar 2, 2026
c0845ea
chore(deps): medium-risk major upgrades (Phase C)
DevDengChao Mar 2, 2026
49f0fb0
chore(deps): BPMN ecosystem upgrade and cleanup (Phase D)
DevDengChao Mar 2, 2026
cb5f0fb
fix(deps): restore @iconify/iconify required by @purge-icons/generated
DevDengChao Mar 2, 2026
ac6097a
fix: resolve ESLint 10 + eslint-plugin-vue 10 rule compat for dev server
DevDengChao Mar 2, 2026
037b465
chore(deps): patch updates for toolchain (commitlint, lint-staged, po…
DevDengChao Mar 5, 2026
53a1024
chore(deps): patch updates for UnoCSS ecosystem (66.6.x)
DevDengChao Mar 5, 2026
860d2c0
chore(deps): minor updates for bpmn-js and purge-icons
DevDengChao Mar 5, 2026
2520de5
refactor(icon): replace deprecated @iconify/iconify with @iconify/vue
DevDengChao Mar 5, 2026
c490854
feat(cropper): upgrade cropperjs from v1 to v2
DevDengChao Mar 5, 2026
52e538a
fix(router): auto-reload on chunk load failure after rebuild
DevDengChao Mar 5, 2026
a997f25
Merge remote-tracking branch 'upstream/master' into upgrade
DevDengChao Mar 9, 2026
bfcce06
chore: upgrade @commitlint/*, @types/*, lint-staged, terser and @icon…
DevDengChao Mar 23, 2026
27b3c36
chore: upgrade vue, vue-router, element-plus, vue-i18n and dayjs
DevDengChao Mar 23, 2026
91c97d7
chore: upgrade @vitejs/plugin-vue*, rollup, sass, vue-tsc and Vite he…
DevDengChao Mar 23, 2026
eade6bd
chore: upgrade eslint, stylelint, typescript-eslint and unocss
DevDengChao Mar 23, 2026
f497bf8
chore: upgrade wangEditor and BPMN packages
DevDengChao Mar 23, 2026
c792f5f
chore: upgrade stylelint-order to 8.1.1
DevDengChao Mar 23, 2026
26c7544
chore: upgrade vite to 8.0.1 and @vitejs/plugin-legacy to 8.0.0
DevDengChao Mar 23, 2026
5959539
docs: add Vite 8 upgrade and validation notes
DevDengChao Mar 23, 2026
176cddc
chore: upgrade console dev dependencies
DevDengChao Apr 10, 2026
2499d59
chore: upgrade console runtime dependencies
DevDengChao Apr 10, 2026
c163ed1
chore: upgrade unplugin-vue-components
DevDengChao Apr 10, 2026
968a1cc
chore: upgrade typescript to 6.0.2
DevDengChao Apr 10, 2026
14edd68
test: harden e2e auth setup
DevDengChao Apr 10, 2026
ee5ed1f
merge: upstream master into upgrade
DevDengChao May 6, 2026
78b6679
chore: upgrade dev tooling dependencies
DevDengChao May 6, 2026
84ae85f
chore: upgrade runtime dependencies
DevDengChao May 6, 2026
cd63cf2
chore: remove e2e tests and playwright
DevDengChao May 6, 2026
766b390
docs: note sequential build verification
DevDengChao May 6, 2026
81711a9
docs: 删除依赖升级备注
DevDengChao May 6, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 0 additions & 8 deletions .eslintignore

This file was deleted.

75 changes: 0 additions & 75 deletions .eslintrc.js

This file was deleted.

4 changes: 1 addition & 3 deletions build/vite/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,7 @@ import { resolve } from 'path'
import Vue from '@vitejs/plugin-vue'
import VueJsx from '@vitejs/plugin-vue-jsx'
import progress from 'vite-plugin-progress'
import EslintPlugin from 'vite-plugin-eslint'
import PurgeIcons from 'vite-plugin-purge-icons'
import EslintPlugin from 'vite-plugin-eslint2'
import { ViteEjsPlugin } from 'vite-plugin-ejs'
// @ts-ignore
import ElementPlus from 'unplugin-element-plus/vite'
Expand All @@ -29,7 +28,6 @@ export function createVitePlugins() {
VueJsx(),
UnoCSS(),
progress(),
PurgeIcons(),
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

这个为啥去掉哈?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

image

@iconify/iconify 这个包过时了, 更换成 @iconify/vue 了,验证了重构以后的登录页能正常地观察到输入框上切换密码可见性的眼睛图标。

还有其他地方需要验证的么?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • 删除了 @iconify/iconify、@purge-icons/generated、vite-plugin-purge-icons 三个包
  • 改用 @iconify/vue 的 addCollection() 在 src/plugins/svgIcon/index.ts 中预加载图标集
  • 因此 PurgeIcons() Vite 插件不再需要,一并被移除

ElementPlus({}),
AutoImport({
include: [
Expand Down
16 changes: 1 addition & 15 deletions build/vite/optimize.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,22 +2,18 @@ const include = [
'qs',
'url',
'vue',
'sass',
'mitt',
'axios',
'pinia',
'dayjs',
'qrcode',
'unocss',
'vue-router',
'vue-types',
'vue-i18n',
'crypto-js',
'cropperjs',
'lodash-es',
'nprogress',
'web-storage-cache',
'@iconify/iconify',
'@vueuse/core',
'@zxcvbn-ts/core',
'echarts/core',
Expand Down Expand Up @@ -91,18 +87,8 @@ const include = [
'element-plus/es/components/dropdown-menu/style/css',
'element-plus/es/components/dropdown-item/style/css',
'element-plus/es/components/skeleton/style/css',
'element-plus/es/components/skeleton/style/css',
'element-plus/es/components/backtop/style/css',
'element-plus/es/components/menu/style/css',
'element-plus/es/components/sub-menu/style/css',
'element-plus/es/components/menu-item/style/css',
'element-plus/es/components/dropdown/style/css',
'element-plus/es/components/tree/style/css',
'element-plus/es/components/dropdown-menu/style/css',
'element-plus/es/components/dropdown-item/style/css',
'element-plus/es/components/badge/style/css',
'element-plus/es/components/breadcrumb/style/css',
'element-plus/es/components/breadcrumb-item/style/css',
'element-plus/es/components/image/style/css',
'element-plus/es/components/collapse-transition/style/css',
'element-plus/es/components/timeline/style/css',
Expand All @@ -119,6 +105,6 @@ const include = [
'element-plus/es/components/progress/style/css'
]

const exclude = ['@iconify/json']
const exclude: string[] = []

export { include, exclude }
115 changes: 115 additions & 0 deletions eslint.config.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,115 @@
import pluginVue from 'eslint-plugin-vue'
import tseslint from 'typescript-eslint'
import unocss from '@unocss/eslint-config/flat'
import autoImportGlobals from './.eslintrc-auto-import.json' with { type: 'json' }

export default tseslint.config(
// Global ignores (replaces .eslintignore)
{
ignores: [
'build/',
'config/',
'dist/',
'dist*/',
'*.js',
'*.mjs',
'!eslint.config.mjs',
'test/unit/coverage/',
'node_modules/',
'src/main.ts',
'src/types/auto-components.d.ts'
]
},

// Base TypeScript config
...tseslint.configs.recommended,

// Vue recommended config
...pluginVue.configs['flat/recommended'],

// UnoCSS config
unocss,

// Vue files use vue-eslint-parser with TypeScript parser
{
files: ['**/*.vue'],
languageOptions: {
parserOptions: {
parser: tseslint.parser
}
}
},

// Main rules config
{
languageOptions: {
ecmaVersion: 2020,
sourceType: 'module',
globals: {
...autoImportGlobals.globals
},
parserOptions: {
ecmaFeatures: {
jsx: true
}
}
},
rules: {
// Vue rules
'vue/no-reserved-component-names': 'off',
'vue/custom-event-name-casing': 'off',
'vue/attributes-order': 'off',
'vue/one-component-per-file': 'off',
'vue/html-closing-bracket-newline': 'off',
'vue/max-attributes-per-line': 'off',
'vue/multiline-html-element-content-newline': 'off',
'vue/singleline-html-element-content-newline': 'off',
'vue/attribute-hyphenation': 'off',
'vue/require-default-prop': 'off',
'vue/require-explicit-emits': 'off',
'vue/require-toggle-inside-transition': 'off',
'vue/html-self-closing': [
'error',
{
html: {
void: 'always',
normal: 'never',
component: 'always'
},
svg: 'always',
math: 'always'
}
],
'vue/multi-word-component-names': 'off',
'vue/no-v-html': 'off',

// TypeScript rules
'@typescript-eslint/ban-ts-comment': 'off',
'@typescript-eslint/explicit-function-return-type': 'off',
'@typescript-eslint/no-explicit-any': 'off',
'@typescript-eslint/no-empty-function': 'off',
'@typescript-eslint/no-non-null-assertion': 'off',
'@typescript-eslint/explicit-module-boundary-types': 'off',
'@typescript-eslint/no-unused-vars': 'off',
'@typescript-eslint/no-require-imports': 'off',
'@typescript-eslint/no-unused-expressions': 'off',
'@typescript-eslint/no-unsafe-function-type': 'off',
'@typescript-eslint/no-wrapper-object-types': 'off',
'@typescript-eslint/no-this-alias': 'off',
'@typescript-eslint/no-empty-object-type': 'off',
'vue/no-ref-as-operand': 'off',
'vue/no-mutating-props': 'off',
'vue/no-side-effects-in-computed-properties': 'off',
'no-use-before-define': 'off',
'@typescript-eslint/no-use-before-define': 'off',
'no-unused-vars': 'off',
'space-before-function-paren': 'off',

// UnoCSS rules - 芋艿:禁用 unocss 顺序提示
'@unocss/order': 'off',
'@unocss/order-attributify': 'off',
'unocss/order': 'off',
'unocss/order-attributify': 'off'
}
}
)
Loading