From 4bd3704ec9413294b8ec6bcf4f17c18f889e1382 Mon Sep 17 00:00:00 2001 From: tiiptaptoe Date: Mon, 3 Aug 2026 20:39:46 +0000 Subject: [PATCH 1/5] chore(deps): bump PrimeVue & related packages to 4.5.5 in feat/upgrade/primevue-4 --- package.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index 563b658..3916630 100644 --- a/package.json +++ b/package.json @@ -29,7 +29,7 @@ "@fastify/type-provider-typebox": "^6.1.0", "@google/generative-ai": "^0.1.3", "@modelcontextprotocol/sdk": "^1.27.1", - "@primevue/themes": "^4.5.4", + "@primevue/themes": "^4.5.5", "@simplewebauthn/browser": "^13.3.0", "@simplewebauthn/server": "^13.3.2", "@sinclair/typebox": "^0.32.3", @@ -56,9 +56,9 @@ "papaparse": "^5.5.2", "pdfkit": "^0.17.2", "pinia": "^2.1.7", - "primeflex": "^4.0.0", - "primeicons": "^7.0.0", - "primevue": "^4.5.4", + "primeflex": "^4.0.1", + "primeicons": "^7.0.1", + "primevue": "^4.5.5", "qrcode": "^1.5.4", "toposort": "^2.0.2", "tsx": "^4.7.0", From fbed1d40abbb445f6daa9504d0dfe445f70e08c6 Mon Sep 17 00:00:00 2001 From: tiiptaptoe Date: Mon, 3 Aug 2026 20:44:45 +0000 Subject: [PATCH 2/5] chore: add PR draft and checklist for PrimeVue 4 upgrade --- PR-DRAFT_UPGRADE_PRIMEVUE.md | 82 ++++++++++++++++++++++++++++++++++++ 1 file changed, 82 insertions(+) create mode 100644 PR-DRAFT_UPGRADE_PRIMEVUE.md diff --git a/PR-DRAFT_UPGRADE_PRIMEVUE.md b/PR-DRAFT_UPGRADE_PRIMEVUE.md new file mode 100644 index 0000000..8d9b473 --- /dev/null +++ b/PR-DRAFT_UPGRADE_PRIMEVUE.md @@ -0,0 +1,82 @@ +PR Title: feat: upgrade/primevue-4 — bump PrimeVue & related packages and start migration + +Target: elixio-io/asset-node.com main +Branch: tiiptaptoe/asset-node.com:feat/upgrade/primevue-4 + +Summary + +- This branch bumps PrimeVue and related packages to the latest PrimeVue 4.x releases (primevue v4.5.5, @primevue/themes v4.5.5, primeicons v7.0.1, primeflex v4.0.1). The dependency change was committed to package.json. +- This draft documents the checklist and next steps for a full migration. I have NOT modified runtime code besides the dependency bump in this commit — further code fixes will be applied iteratively after test results are visible. + +Links +- Upstream issue: https://github.com/elixio-io/asset-node.com/issues/1 +- PrimeVue v4 Migration Guide: https://primefaces.org/primevue/migration-v4 +- PrimeVue Releases / Changelog: https://github.com/primefaces/primevue/releases + +Compare / create PR (use this link to open the PR from your fork): +https://github.com/elixio-io/asset-node.com/compare/main...tiiptaptoe:feat/upgrade/primevue-4?expand=1 + +Repository code search (PrimeVue usages) — results may be incomplete: +https://github.com/tiiptaptoe/asset-node.com/search?q=from+%27primevue%2F&type=code + +Checklist (copy into PR description or use as a checklist for the issue) + +- [ ] Record current versions & test baseline + - Run `cat package.json` and `npm ls primevue vue primeicons` to capture baseline versions + - Run test suite and record failing tests, if any (`npm run test`) + +- [ ] Read migration guide & paste relevant notes + - PrimeVue migration guide: https://primefaces.org/primevue/migration-v4 + - PrimeVue changelog: https://github.com/primefaces/primevue/releases + +- [ ] Create branch feat/upgrade/primevue-4 (done) + +- [ ] Upgrade dependencies and run install (done for package.json; run `npm install` locally or in CI) + +- [ ] Fix lint and unit test failures + - Run `npm run lint` and `npm run test` locally/CI and capture failures + +- [ ] Update components for breaking changes + - Search the codebase for PrimeVue components and update imports/props/events/slot names per migration guide + - Common places to check: `src/main.ts` (PrimeVue config / theme), components and views that import PrimeVue components + +- [ ] Update themes/CSS imports + - Verify theme preset import and usage in `src/main.ts` — adjust if the theme API changed + +- [ ] Update unit / e2e tests + - Adjust test selectors or assertions if DOM changed + - `npm run test` and run Cypress e2e if configured + +- [ ] Deploy to staging and QA + - Run build: `npm run build` + - Deploy branch to staging and run smoke checks + +- [ ] Merge and monitor production + - After CI + staging signoff, merge and monitor post-deploy + +- [ ] Close issue and add release notes + +Files changed in this branch so far +- package.json — dependency bumps for PrimeVue + related packages + +How I can help next (pick one) +- I can open the Draft PR using the compare link above (I cannot open PRs directly in the upstream repo from this environment, but you can open it with one click using the compare URL). If you want, I can prepare a ready-made PR body you can paste into the PR form. +- I can run an automated code-migration pass and push code fixes to this branch (best-effort). I will NOT add Actions/workflows/agents to your fork. +- I can wait while you run `npm install` / `npm run test` and paste any failing logs/errors here, then I’ll fix them and push follow-up commits to this branch. + +Notes +- I will NOT create any GitHub Actions workflows or Copilot agents in your fork unless you explicitly ask me to. +- Search results for PrimeVue imports may be incomplete; view them here: https://github.com/tiiptaptoe/asset-node.com/search?q=from+%27primevue%2F&type=code + +Suggested PR template content (copy into PR body) + +--- + +Summary + +Bumps primevue, @primevue/themes, primeicons, and primeflex to the latest PrimeVue 4.x releases and starts the migration process. This PR currently contains only the dependency update and the migration checklist. I will follow up with code fixes once CI/local tests surface issues. + +Checklist (as above) + +--- + From a535addadea1bb518dc66ec0487ba482de441927 Mon Sep 17 00:00:00 2001 From: tiiptaptoe Date: Mon, 3 Aug 2026 20:49:32 +0000 Subject: [PATCH 3/5] docs(migration): add MIGRATION_NOTES.md with scan results and next steps --- MIGRATION_NOTES.md | 79 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 MIGRATION_NOTES.md diff --git a/MIGRATION_NOTES.md b/MIGRATION_NOTES.md new file mode 100644 index 0000000..42f3aa5 --- /dev/null +++ b/MIGRATION_NOTES.md @@ -0,0 +1,79 @@ +# PrimeVue v4 Migration Notes — automated pass (best-effort) + +This file summarizes the automated migration pass I ran and the next manual/CI steps required to finish the upgrade to PrimeVue 4.x. + +Branch: feat/upgrade/primevue-4 +Compare/PR URL: https://github.com/elixio-io/asset-node.com/compare/main...tiiptaptoe:feat/upgrade/primevue-4?expand=1 + +Migration resources +- PrimeVue v4 Migration Guide: https://primefaces.org/primevue/migration-v4 +- PrimeVue Releases / Changelog: https://github.com/primefaces/primevue/releases +- v4 Component Changes (wiki): https://github.com/primefaces/primevue/wiki/v4-Component-Changes + +What I did (automated, safe edits only) +1. Bumped package.json dependencies to the targeted versions: + - primevue -> ^4.5.5 + - @primevue/themes -> ^4.5.5 + - primeflex -> ^4.0.1 + - primeicons -> ^7.0.1 + Commit: chore(deps): bump PrimeVue & related packages to 4.5.5 + +2. Created a PR draft file and the checklist to drive the migration. + +3. Performed a static scan to find files importing PrimeVue components so we can prioritize manual checks. + +Files that import from 'primevue/*' (static scan — results may be incomplete; see code search link below): +- src/main.ts +- src/App.vue +- src/views/Kits.vue +- src/views/Components.vue +- src/views/Assignments.vue +- src/views/Labels.vue +- src/views/Defective.vue +- src/views/Available.vue +- src/views/Profile.vue +- src/views/Admin.vue +- src/views/ForgotPassword.vue +- src/views/Maintenance.vue +- src/views/Import.vue + +(There are additional components under src/components and other views that import primevue components — run the repository code search to see the full list.) + +Repository code search link (may be truncated to 10 results by the UI): +https://github.com/tiiptaptoe/asset-node.com/search?q=from+%27primevue%2F&type=code + +Automated changes I did NOT make (on purpose to avoid risky edits) +- I did not change runtime code in src/main.ts beyond the dependency bump. +- I did NOT change component prop names, slot names, or event names because those changes can be subtle and often require runtime verification and visual QA. +- I did NOT change theme SASS imports or rework theming; SASS-based theme migrations require building styles and are environment-specific. + +Recommended next steps (what I will do next if you want B: automated migration pass + fixes) +1. Run the baseline locally or in CI (required): + - git fetch origin && git checkout feat/upgrade/primevue-4 + - npm install + - npm run test + - npm run lint + - npm run build + - npm run dev + Collect logs from failing tests/build errors and paste them here. + +2. I will apply targeted code fixes (a non-exhaustive list): + - Update any removed/renamed props listed in the v4 changelog (e.g., certain MultiSelect props, InputNumber wrappers) where they appear. + - Adjust tooltip directive usage only if runtime errors indicate a problem. + - Ensure useToast/usetoast usage is correct (imports remain `primevue/usetoast`). + - Update theme import/usage if errors indicate the theme preset API changed. + +3. I will run a follow-up static pass to update component imports/usages where migration guide lists exact renames. + +4. I will update unit tests and e2e tests (Cypress) to match updated DOM/selectors if necessary. + +5. After CI passes locally, I will update this branch with all fixes and prepare the Draft PR for upstream. + +What I need from you now +- Confirm you want me to continue with the targeted automated fixes (I will push commits to this branch). Reply: `Continue with fixes`. +- Or run the baseline commands locally and paste logs here (safer) and I will fix the issues you report. Reply: `I will run baseline`. + +Notes about limitations +- I cannot run npm install, build, or tests in this environment — those must be executed in your dev environment or CI. Any code fixes I apply here are based on static analysis and the official migration guide; runtime errors will likely require iterations. + +If you want me to proceed automatically, reply `Continue with fixes` and I’ll begin updating source files where the migration guide lists explicit breaking changes that can be safely applied statically. I will not add any GitHub Actions or agents as per your instruction. From 54587411a2c13afbfa63f0798488df2a789ac84a Mon Sep 17 00:00:00 2001 From: tiiptaptoe Date: Mon, 3 Aug 2026 20:54:26 +0000 Subject: [PATCH 4/5] fix(migration): import PrimeVue core CSS and add theme migration note --- src/main.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/main.ts b/src/main.ts index 7300d3c..fe87d82 100644 --- a/src/main.ts +++ b/src/main.ts @@ -10,6 +10,8 @@ import ConfirmationService from 'primevue/confirmationservice' import Tooltip from 'primevue/tooltip' import 'primeicons/primeicons.css' import 'primeflex/primeflex.css' +// PrimeVue core styles required by v4 +import 'primevue/resources/primevue.min.css' import App from './App.vue' import './style.css' @@ -29,6 +31,10 @@ const app = createApp(App) app.use(createPinia()) app.use(router) app.use(i18n) +// Note: PrimeVue v4 introduced changes to theme handling (SASS-based themes). +// This app uses @primevue/themes Aura preset. If you see styling regressions, you may need +// to switch to the CSS theme import or rebuild SASS according to the migration guide: +// https://primefaces.org/primevue/migration-v4 app.use(PrimeVue, { theme: { preset: Aura, From 2231ec32d7d926f6b2fc72f81181dc22ad54246e Mon Sep 17 00:00:00 2001 From: tiiptaptoe Date: Mon, 3 Aug 2026 20:59:45 +0000 Subject: [PATCH 5/5] fix(migration): globally register commonly used PrimeVue components to ease migration --- src/main.ts | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/src/main.ts b/src/main.ts index fe87d82..8e13e86 100644 --- a/src/main.ts +++ b/src/main.ts @@ -8,6 +8,23 @@ import Aura from '@primevue/themes/aura' import ToastService from 'primevue/toastservice' import ConfirmationService from 'primevue/confirmationservice' import Tooltip from 'primevue/tooltip' + +// PrimeVue component imports for global registration +import Button from 'primevue/button' +import InputText from 'primevue/inputtext' +import InputNumber from 'primevue/inputnumber' +import Select from 'primevue/select' +import Textarea from 'primevue/textarea' +import Dialog from 'primevue/dialog' +import Tag from 'primevue/tag' +import Message from 'primevue/message' +import Toast from 'primevue/toast' +import Checkbox from 'primevue/checkbox' +import MultiSelect from 'primevue/multiselect' +import DatePicker from 'primevue/datepicker' +import FileUpload from 'primevue/fileupload' +import Steps from 'primevue/steps' + import 'primeicons/primeicons.css' import 'primeflex/primeflex.css' // PrimeVue core styles required by v4 @@ -50,6 +67,22 @@ app.use(ToastService) app.use(ConfirmationService) app.directive('tooltip', Tooltip) +// Global component registration to simplify templates and incremental migration. +app.component('Button', Button) +app.component('InputText', InputText) +app.component('InputNumber', InputNumber) +app.component('Select', Select) +app.component('Textarea', Textarea) +app.component('Dialog', Dialog) +app.component('Tag', Tag) +app.component('Message', Message) +app.component('Toast', Toast) +app.component('Checkbox', Checkbox) +app.component('MultiSelect', MultiSelect) +app.component('DatePicker', DatePicker) +app.component('FileUpload', FileUpload) +app.component('Steps', Steps) + if (prefersDark) { document.documentElement.classList.add('p-dark') }