Commit Graph

4524 Commits (176cddc21f4ab6c0c414edc5810a1a065386a65c)

Author SHA1 Message Date
DevDengChao 176cddc21f chore: upgrade console dev dependencies
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-04-10 14:33:43 +08:00
DevDengChao 5959539a03 docs: add Vite 8 upgrade and validation notes
- document Vite 8 config migration notes
- record effective upgrade validation commands and existing baseline issues

Co-authored-by: OpenAI Codex <codex@openai.com>
2026-03-23 11:10:23 +08:00
DevDengChao 26c7544829 chore: upgrade vite to 8.0.1 and @vitejs/plugin-legacy to 8.0.0
- vite
- @vitejs/plugin-legacy
- adapt vite.config.ts for Vite 8 code splitting and Lightning CSS recovery

Co-authored-by: OpenAI Codex <codex@openai.com>
2026-03-23 11:08:26 +08:00
DevDengChao c792f5fa0f chore: upgrade stylelint-order to 8.1.1
- stylelint-order

Co-authored-by: OpenAI Codex <codex@openai.com>
2026-03-23 11:00:59 +08:00
DevDengChao f497bf8e23 chore: upgrade wangEditor and BPMN packages
- @wangeditor-next/editor
- @wangeditor-next/plugin-mention
- bpmn-js
- diagram-js
- bpmn-js-token-simulation

Co-authored-by: OpenAI Codex <codex@openai.com>
2026-03-23 10:58:02 +08:00
DevDengChao eade6bd9a4 chore: upgrade eslint, stylelint, typescript-eslint and unocss
- eslint
- stylelint
- typescript-eslint
- unocss
- @unocss/eslint-config
- @unocss/eslint-plugin
- @unocss/transformer-variant-group

Co-authored-by: OpenAI Codex <codex@openai.com>
2026-03-23 10:53:25 +08:00
DevDengChao 91c97d7302 chore: upgrade @vitejs/plugin-vue*, rollup, sass, vue-tsc and Vite helpers
- @vitejs/plugin-vue
- @vitejs/plugin-vue-jsx
- rollup
- sass
- vite-plugin-eslint2
- vite-plugin-svg-icons-ng
- vue-tsc

Co-authored-by: OpenAI Codex <codex@openai.com>
2026-03-23 10:48:47 +08:00
DevDengChao 27b3c36976 chore: upgrade vue, vue-router, element-plus, vue-i18n and dayjs
- vue
- vue-router
- element-plus
- vue-i18n
- dayjs

Co-authored-by: OpenAI Codex <codex@openai.com>
2026-03-23 10:43:21 +08:00
DevDengChao bfcce06577 chore: upgrade @commitlint/*, @types/*, lint-staged, terser and @iconify/json
- @commitlint/cli
- @commitlint/config-conventional
- @iconify/json
- @types/node
- @types/qs
- lint-staged
- terser

Co-authored-by: OpenAI Codex <codex@openai.com>
2026-03-23 10:39:12 +08:00
DevDengChao a997f25f98 Merge remote-tracking branch 'upstream/master' into upgrade 2026-03-09 09:57:30 +08:00
芋道源码 f29a384904
!862 fix: 完成 review c153ff93 的所有 TODO 修复
Merge pull request !862 from puhui999/master-dev
2026-03-07 03:56:34 +00:00
DevDengChao 52e538aa43 fix(router): auto-reload on chunk load failure after rebuild
Add two layers of error handling for stale chunk imports:
- `vite:preloadError` listener in main.ts for Vite preload failures
- `router.onError` in router/index.ts for dynamic import failures during navigation

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-05 15:31:02 +08:00
DevDengChao c4908548a1 feat(cropper): upgrade cropperjs from v1 to v2
cropperjs v2 is a complete rewrite using Web Components architecture.

- Cropper.vue: rewrite to use v2 API
  - `new Cropper(img, { container })` with Web Components template
  - `selection.$toCanvas()` (async) replaces `cropper.getCroppedCanvas()`
  - Selection `change` event replaces `crop`/`cropmove` callbacks
  - CropperImage `load` event replaces `ready` callback
- CopperModal.vue: update toolbar handlers
  - `cropperImage.$rotate()` replaces `cropper.rotate()`
  - `cropperImage.$zoom()` replaces `cropper.zoom()`
  - `cropperImage.$scale()` replaces `cropper.scaleX/Y()`
  - `cropperImage.$resetTransform()` + `selection.$reset()` replaces `cropper.reset()`
- types.ts: replace `Cropper.Data` with inline type (v2 has no Data type)
- Remove v1 CSS import (v2 uses shadow DOM styles)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-05 13:37:34 +08:00
DevDengChao 2520de56b4 refactor(icon): replace deprecated @iconify/iconify with @iconify/vue
- Remove @iconify/iconify (deprecated), @purge-icons/generated, vite-plugin-purge-icons
- Add @iconify/vue which uses @iconify/utils iconToSVG internally
- Rewrite Icon.vue to use @iconify/vue Icon component instead of manual DOM manipulation
- Pre-load ep/fa/fa-solid icon sets via addCollection for offline support
- Other icon sets (ion, mdi, heroicons, etc.) load from Iconify API on demand
- Remove PurgeIcons() from Vite plugin config
- Verified: all 22 icons on login page render correctly as SVGs

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-05 12:26:12 +08:00
DevDengChao 860d2c0b29 chore(deps): minor updates for bpmn-js and purge-icons
- bpmn-js 18.12.0 → 18.13.0
- bpmn-js-properties-panel 5.52.1 → 5.53.0
- @purge-icons/generated 0.9.0 → 0.10.0

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-05 11:22:25 +08:00
DevDengChao 53a1024c11 chore(deps): patch updates for UnoCSS ecosystem (66.6.x)
- unocss 66.6.2 → 66.6.5
- @unocss/eslint-config 66.6.3 → 66.6.5
- @unocss/eslint-plugin 66.6.3 → 66.6.5
- @unocss/transformer-variant-group 66.6.3 → 66.6.5

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-05 11:19:42 +08:00
DevDengChao 037b465a64 chore(deps): patch updates for toolchain (commitlint, lint-staged, postcss, iconify/json)
- @commitlint/cli 20.4.2 → 20.4.3
- @commitlint/config-conventional 20.4.2 → 20.4.3
- lint-staged 16.3.1 → 16.3.2
- postcss 8.5.6 → 8.5.8
- @iconify/json 2.2.444 → 2.2.446

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-05 11:17:06 +08:00
DevDengChao ac6097aa9a fix: resolve ESLint 10 + eslint-plugin-vue 10 rule compat for dev server
Disable rules that are new/stricter in eslint-plugin-vue 10 and
typescript-eslint 8+ which would block dev server rendering via
vite-plugin-eslint2:
- vue/no-ref-as-operand, vue/no-mutating-props,
  vue/no-side-effects-in-computed-properties
- @typescript-eslint/no-unused-expressions, no-unsafe-function-type,
  no-wrapper-object-types, no-this-alias, no-empty-object-type
- Ignore auto-generated src/types/auto-components.d.ts
- Fix hasPermi.ts short-circuit expression

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 01:00:29 +08:00
DevDengChao cb5f0fb3f0 fix(deps): restore @iconify/iconify required by @purge-icons/generated
Re-added @iconify/iconify as runtime dependency — it's imported by
@purge-icons/generated which is used in src/plugins/svgIcon/index.ts.
Also reverted @purge-icons/generated 0.10 back to 0.9 (both versions
have the same @iconify/iconify import).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 20:56:06 +08:00
DevDengChao 49f0fb06f4 chore(deps): BPMN ecosystem upgrade and cleanup (Phase D)
- diagram-js 12 → 15, min-dash 4 → 5
- Remove unused fast-xml-parser (replaced by steady-xml)
- @purge-icons/generated 0.9 → 0.10

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 20:50:46 +08:00
DevDengChao c0845eae75 chore(deps): medium-risk major upgrades (Phase C)
- stylelint 16 → 17, config-recommended 14 → 18, config-standard 36 → 40, order 6 → 7
- vue-types 5 → 6
- video.js 7 → 8
- cropperjs v2 evaluated but reverted to v1 due to incompatible API rewrite

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 20:46:12 +08:00
DevDengChao e31423bc6d chore(deps): low-risk major upgrades (Phase B)
- Remove deprecated @iconify/iconify (replaced by @purge-icons/generated)
- @commitlint/cli + config-conventional 19 → 20
- lint-staged 15 → 16
- rimraf 5 → 6
- markmap-common/lib/toolbar/view 0.16-0.17 → 0.18
- vue3-signature 0.2 → 0.4
- vue-dompurify-html 4 → 5

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 20:35:24 +08:00
DevDengChao 5284b00706 chore(deps): update all semver-compatible packages to latest
Bump ~23 packages within their declared semver ranges, including:
- vue 3.5.26 → 3.5.29
- dayjs, lodash-es, qs, highlight.js, jsencrypt
- prettier, postcss, rollup, terser, autoprefixer
- and others

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 20:33:08 +08:00
DevDengChao 550c30eae4 chore: post-upgrade cleanup
- Update Node.js engine requirement to >= 20.19.0 (Vite 7 requirement)
- Remove duplicate entries in optimizeDeps include list
- Remove build-time-only packages (sass, unocss) from optimizeDeps

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 20:12:44 +08:00
DevDengChao fd11e07e92 chore(deps): upgrade Vite 5.1.4 → 7.3.1 and ecosystem plugins
Core:
- vite 5.1.4 → 7.3.1
- @vitejs/plugin-vue 5 → 6.0.4
- @vitejs/plugin-vue-jsx 3 → 5.1.4
- @vitejs/plugin-legacy 5 → 7.2.1
- @types/node 20.17.9 → 25.3.3

Plugins:
- unplugin-auto-import 0.16.7 → 21.0.0
- unplugin-vue-components 0.25.2 → 31.0.0
- unplugin-element-plus 0.8.0 → 0.11.2
- vite-plugin-svg-icons-ng 1.3.1 → 1.5.2
- vite-plugin-top-level-await 1.4.4 → 1.6.0

Config:
- Switch to Sass Modern Compiler API (api: 'modern-compiler')
- Remove silenceDeprecations workaround

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 19:49:57 +08:00
DevDengChao f4b8fea579 chore(deps): upgrade ECharts 5.5.0 → 6.0.0
Note: echarts-wordcloud has unmet peer dep (expects echarts ^5)
but works at runtime. Monitor for official v6 support.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 19:46:13 +08:00
DevDengChao 6ffcbbc1d2 chore(deps): migrate ESLint 8 → 10 with flat config
- Upgrade eslint 8.57.1 → 10.0.2
- Migrate .eslintrc.js → eslint.config.mjs (flat config)
- Replace vite-plugin-eslint → vite-plugin-eslint2
- Replace @typescript-eslint/eslint-plugin + parser → typescript-eslint
- Upgrade eslint-plugin-vue 9 → 10, vue-eslint-parser 9 → 10
- Remove eslint-define-config, eslint-config-prettier, eslint-plugin-prettier
- Delete .eslintignore (now handled in flat config ignores)
- Remove deprecated rules: vue/script-setup-uses-vars, vue/no-setup-props-destructure

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 19:44:40 +08:00
DevDengChao 53f779afa2 chore(deps): upgrade UnoCSS 0.58.5 → 66.6.2 and related packages
- unocss 0.58.9 → 66.6.2
- @unocss/eslint-config 0.57.7 → 66.6.3
- @unocss/eslint-plugin 66.1.0-beta.5 → 66.6.3
- @unocss/transformer-variant-group 0.58.9 → 66.6.3

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 19:38:32 +08:00
DevDengChao 643eb92aff chore(deps): upgrade Vue I18n 9.10.2 → 11.2.8, fix related compat issues
- Upgrade vue-i18n to 11.2.8, @intlify/unplugin-vue-i18n to 11.0.7
- Remove vue-i18n CJS alias from vite.config.ts (no longer needed)
- Remove vue-i18n from optimizeDeps include list
- Upgrade bpmn-js-token-simulation 0.36.2 → 0.39.2 (ids@3 compat)
- Fix duplicate route name 'Redirect' (Vue Router 5 enforces uniqueness)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 19:36:31 +08:00
DevDengChao 7991028e0a chore(deps): upgrade @vueuse/core 10.9.0 → 14.2.1
Crosses 4 major versions. All composables used by the project remain
compatible. All 24 E2E tests pass.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 19:16:43 +08:00
DevDengChao c0414a563f chore(deps): upgrade Vue Router 4.4.5 → 5.0.3
Major version with no breaking changes for this codebase. Dynamic route
generation via router.addRoute() and navigation guards work correctly.
All 24 E2E tests pass.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 19:14:18 +08:00
DevDengChao 7326634cd3 chore(deps): upgrade Pinia 2.1.7 → 3.0.4, persistedstate 3.2.1 → 4.7.1
Pinia 3 is a "boring major" removing only deprecated APIs. The
persistedstate plugin v4 default export remains compatible.
All 24 E2E tests pass.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 19:12:27 +08:00
DevDengChao 81f00adae3 chore(deps): upgrade TypeScript 5.3.3 → 5.9.3
Multiple minor versions with improved type inference. All 24 E2E tests pass.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 19:10:28 +08:00
DevDengChao 136ef314b5 chore(deps): upgrade bpmn-js-properties-panel 5.23.0 → 5.52.1
bpmn-js was already at v18. Properties panel minor update.
All 24 E2E tests pass.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 19:06:04 +08:00
DevDengChao c13d5d7dfd chore(deps): upgrade vue-tsc 1.8.27 → 3.2.5
Major version bump with stricter type checking. Pre-existing type errors
in source code are surfaced but do not affect runtime. All 24 E2E tests pass.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 19:03:39 +08:00
DevDengChao b6f40353ad chore(deps): upgrade Sass 1.69.5 → 1.97.3
Patch update. All 24 E2E tests pass.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 19:00:25 +08:00
DevDengChao dec43ffcee chore(deps): upgrade Element Plus 2.11.1 → 2.13.3
Minor update. All 24 E2E tests pass.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 18:58:47 +08:00
DevDengChao 3dad65a53f chore(deps): upgrade Axios 1.9.0 → 1.13.6
Minor/patch update. All 24 E2E tests pass.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 18:56:55 +08:00
DevDengChao 9864cf5a92 chore(deps): upgrade Vue 3.5.12 → 3.5.26
Patch update with no breaking changes. All 24 E2E tests pass.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 18:54:36 +08:00
DevDengChao 1b9fcc51a1 test: add Playwright E2E test suite as regression safety net
Set up 24 E2E tests covering auth, navigation, user CRUD, permissions,
UI features, and smoke tests using Playwright with API mocking via
page.route(). This provides a safety net before proceeding with
dependency upgrades.

- Add playwright.config.ts with setup project + storageState auth
- Add .env.e2e disabling captcha/tenant/encryption for test mode
- Add e2e/ directory with fixtures, helpers, page objects, and tests
- Add test:e2e scripts to package.json

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 18:49:50 +08:00
芋道源码 d3f008eb33
!863 !854 feat:【iot】接入 modbus 协议,重构所有协议的配置
Merge pull request !863 from 芋道源码/feature/iot
2026-02-14 03:10:48 +00:00
芋道源码 bb10760137
!854 feat:【iot】modbus-tcp 协议接入 100%:完整实现,修复 todo
Merge pull request !854 from 芋道源码/feature/iot-modbus
2026-02-14 03:09:03 +00:00
YunaiV ab8de6ea83 Merge branch 'master' of https://gitee.com/yudaocode/yudao-ui-admin-vue3 into feature/iot 2026-02-13 15:40:15 +08:00
YunaiV deed7eaff2 feat(iot):Modbus 支持 Master/Slave 双模式,配置表单和详情按协议类型区分展示 2026-02-13 15:35:41 +08:00
puhui999 e54c2b3e7a fix: 完成 review c153ff93 的所有 TODO 修复 2026-02-11 17:37:58 +08:00
puhui999 572c14a41a fix: 完成 review c153ff93 的所有 TODO 修复
- AreaSelect.vue: 删除未使用的 handleTree 导入
- AreaSelect.vue: 使用 AreaLevelEnum 枚举类型替代硬编码数字
- IframeComponent.vue: 已使用全局 isUrl 方法
- useAreaSelectRule.ts: 恢复代码格式空行,使用枚举常量
- useIframeRule.ts: 恢复代码格式空行
2026-02-11 17:27:07 +08:00
YunaiV 155edc41a9 feat(iot):Modbus 支持 Master/Slave 双模式,配置表单和详情按协议类型区分展示
1. ProtocolTypeEnum 拆分:MODBUS_TCP → MODBUS_TCP_MASTER + MODBUS_TCP_SLAVE
2. Slave 模式新增 mode(工作模式)、frameFormat(帧格式)字段,使用字典管理
3. 配置表单和详情页按 Master/Slave 模式条件展示不同字段,表单校验规则动态适配
4. 新增 DICT_TYPE:IOT_MODBUS_MODE、IOT_MODBUS_FRAME_FORMAT
5. 修复设备卡片 deviceName 过长溢出问题,添加文本截断

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 23:33:10 +08:00
YunaiV c153ff93c7 review:“新增 iframe 和省市区选择器组件” 2026-02-08 14:37:55 +08:00
芋道源码 c119040307
!861 feat(form-create): 新增 iframe 和省市区选择器组件
Merge pull request !861 from puhui999/master-dev
2026-02-08 06:32:21 +00:00
puhui999 99b1e6da2c Merge remote-tracking branch 'yudao/master' into master-dev 2026-02-08 11:56:45 +08:00