-
Notifications
You must be signed in to change notification settings - Fork 0
chore: evaluate new features from major web dependency upgrades (PR #389) #391
Copy link
Copy link
Closed
Labels
prio:lowNice to have, can deferNice to have, can deferscope:smallLess than 1 day of workLess than 1 day of worktype:choreMaintenance, cleanup, dependency updatesMaintenance, cleanup, dependency updatesv0.4Minor version v0.4Minor version v0.4v0.4.9Patch release v0.4.9Patch release v0.4.9
Description
Context
PR #389 bumps 9 major npm dependencies in /web. Beyond just compatibility, these upgrades bring significant new features and improvements worth evaluating and adopting.
Packages to investigate
1. ECharts 5 → 6
- New theme: Updated default visual style (colors, legend position at bottom, axis anti-overflow). Review chart appearance and decide whether to keep the new theme or restore v5 theme via
import 'echarts/theme/v5' - New chart types: chord series, matrix coordinate system — potential for analytics dashboards
- Dynamic themes: Support for registering and switching themes at runtime
- Scatter jittering: Useful for data visualization
- Axis breaks: Visual axis breaks for discontinuous data
- Performance: Memory leak fix in tooltip, various rendering fixes
2. Vue-ECharts 7 → 8
- Smart update strategy: More efficient chart updates — evaluate if this simplifies our
SpendingChart.vueandSpendingSummary.vue - Tooltip/data view slots: Render Vue components inside ECharts tooltips
- CSS border-radius: Works out-of-the-box now
3. Vite 6 → 8 (via 7)
- Rolldown replaces Rollup + esbuild: Significant build performance improvements
- Browser console forwarding: Dev server shows browser console logs/errors
- Integrated devtools: Built-in Vite devtools
- Build performance: Rolldown is faster than Rollup
- Note: We skip Vite 7 entirely (short-lived transitional version)
4. Vitest 3 → 4
aroundEach/aroundAllhooks: Wrap test lifecycle for setup/teardown patterns- Tags: Tag tests for selective execution
mockThrow/mockThrowOnce: Cleaner error mocking--detect-async-leaks: Find async resource leaks in testscoverage.changed: Report coverage only for changed files — useful for dev workflow- Chai-style assertions: Alternative assertion syntax
- Static test collection:
vitest listcan collect tests without running files
5. ESLint 9 → 10
- 3 new recommended rules:
no-unassigned-vars,no-useless-assignment,preserve-caught-error— evaluate adding these to our config - JSX reference tracking: Better scope analysis (relevant if we add JSX)
- Security fixes: Updated ajv and minimatch for vulnerabilities
6. eslint-plugin-vue 9 → 10
vue/block-orderadded to essential config (replaces deprecatedvue/component-tags-order)- New essential rules:
vue/no-deprecated-delete-set,vue/no-deprecated-model-definition,vue/valid-define-options vue/no-required-prop-with-defaultin recommended — evaluate adopting- Performance: vue-eslint-parser v10 has TypeScript parsing improvements
7. vue-tsc 2 → 3
- Hybrid Mode always on: Better IDE/CLI type-check alignment
- Stricter checking options:
strictSlotChildren,strictVModel,strictCssModules— evaluate enabling resolveStyleImports: Type-safe CSS module imports
8. jsdom 26 → 28
- Review changelog for any test environment improvements or new Web API support
Acceptance criteria
- Visual review of ECharts 6 theme on budget charts (SpendingChart, SpendingSummary)
- Evaluate smart update strategy in vue-echarts 8
- Evaluate new ESLint/vue rules for adoption
- Evaluate vue-tsc 3 strict options
- Evaluate Vitest 4
coverage.changedand--detect-async-leaksfor CI/dev workflow - Document any adopted improvements
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
prio:lowNice to have, can deferNice to have, can deferscope:smallLess than 1 day of workLess than 1 day of worktype:choreMaintenance, cleanup, dependency updatesMaintenance, cleanup, dependency updatesv0.4Minor version v0.4Minor version v0.4v0.4.9Patch release v0.4.9Patch release v0.4.9