build(deps): Bump pinia from 2.3.1 to 3.0.4 in /ui - #79
Merged
Merged
Conversation
Bumps [pinia](https://github.com/vuejs/pinia) from 2.3.1 to 3.0.4. - [Release notes](https://github.com/vuejs/pinia/releases) - [Commits](vuejs/pinia@v2.3.1...v3.0.4) --- updated-dependencies: - dependency-name: pinia dependency-version: 3.0.4 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
Contributor
Coverage
Gate: passed - no coverage regression (epsilon 0.1 pp). |
11 tasks
pmaxhogan
added a commit
that referenced
this pull request
Jul 19, 2026
## Summary Migrates `ui/` (Vue 3 + Vite + pnpm) from Tailwind CSS 3.4.19 to 4.3.2, superseding dependabot PR #82 which failed CI with: ``` [postcss] It looks like you're trying to use tailwindcss directly as a PostCSS plugin ... install @tailwindcss/postcss and update your PostCSS configuration. ``` ## Migration approach Ran the official `npx @tailwindcss/upgrade` tool (requires Node 20+), then hand-reviewed every changed line against the [v4 upgrade guide](https://tailwindcss.com/docs/upgrade-guide) (fetched via context7, not from memory). **Tooling:** - `postcss.config.js`: `tailwindcss` + `autoprefixer` -> `@tailwindcss/postcss` only. v4 handles vendor prefixing internally, so `autoprefixer` is removed from devDependencies. - Chose **`@tailwindcss/postcss`** over `@tailwindcss/vite`: same CI behavior, zero `vite.config.ts` changes, smaller diff. The Vite plugin's main benefit (faster dev-server rebuilds) isn't worth the extra diff surface on a project this small. **Config -> CSS-first:** - `src/style.css`: `@tailwind base/components/utilities` -> `@import "tailwindcss"`. - `tailwind.config.ts` deleted. Its `brand` alias (the teal scale used for the Driven road-to-cloud accent) now lives as a CSS-first `@theme` block with the literal teal-50..950 hex values (verified they match Tailwind's stock teal scale exactly). - Added the compat rule the upgrade tool generates: `border-color: var(--color-gray-200, currentcolor)` in a base layer, since v4's default border color changed from `gray-200` to `currentColor`. **Renamed utilities** (mechanical, upgrade-tool-driven, across all 13 templates): - `shadow-sm` -> `shadow-xs` (v4 shifted the shadow scale down a step) - `outline-none` -> `outline-hidden` (the "remove focus ring" idiom; v4 introduces a *different* `outline-none` that means literal `outline-style: none`) - bare `focus-visible:outline` -> `focus-visible:outline-solid` (v4's bare `outline` utility now only sets outline-width, not style) - bare `rounded` -> `rounded-sm`, bare `rounded-sm` -> `rounded-xs` - `grid-cols-[auto,1fr]` -> `grid-cols-[auto_1fr]` (arbitrary-value comma/underscore parsing changed under v4's Lightning CSS engine) **Docs:** `DESIGN_SPEC.md` updated - the "exact class strings" reference and the `tailwind.config.ts` file pointer now match the migrated code, so it doesn't steer future edits back to v3 class names. **Rebase note:** rebased onto `origin/main` partway through to pick up the pinia 2.3.1->3.0.4 dependabot bump (#79) that landed while this was in progress; `pnpm-lock.yaml` conflict resolved by regenerating from the merged `package.json`. ## Verification (all from `ui/`) - [x] `pnpm install --frozen-lockfile` (same as CI) - clean - [x] `pnpm lint` - 0 errors (13 pre-existing i18n unused-key warnings, unrelated to this change) - [x] `pnpm format:check` - clean - [x] `pnpm build` (`vue-tsc --noEmit && vite build`) - succeeds, emits a 29.11 kB (6.25 kB gzip) CSS bundle - [x] `pnpm test:unit` - **251/251 passing** (28 files) ## Manual visual-risk audit Grepped every template for v3->v4 changed defaults before and after migration: - No bare `ring`/`shadow`/`blur` utilities relying on removed defaults. - No `bg-opacity-*` / `text-opacity-*` / `border-opacity-*` (all deprecated in v4). - No `flex-shrink-*` / `flex-grow-*`, no `overflow-ellipsis`. - Every `ring-2` usage in this codebase already carries an explicit width and color (e.g. `ring-2 ring-teal-500/40`), so the v3->v4 default ring-width (3px->1px) and ring-color (blue-500->currentColor) changes don't affect anything here. ## Visual-review checklist (recommend a human click-through) The utility renames above are documented by Tailwind as 1:1 value-preserving, but a human pass is cheap insurance: - [ ] Buttons/cards: `shadow-xs` renders the same subtle shadow as v3's `shadow-sm` (primary/secondary/destructive buttons, all card panels) - [ ] Focus rings: `outline-solid outline-2 outline-teal-500` looks identical to v3's bare `outline` on every focusable control (nav links, buttons, About/Restore/Settings links) - [ ] Form inputs: `outline-hidden` + `ring-2 ring-teal-500/40` still shows the teal focus ring with no double outline (AddSourceWizard, CredentialsWalkthrough, SourceTable, Restore/Activity/Settings selects) - [ ] Borders: the new default-currentColor compat override doesn't change the visible zinc-200/300 borders on cards, inputs, or the bare `border` on the Settings day-of-week toggle buttons - [ ] Rounded corners: `rounded-sm` (was bare `rounded`) on nav links, breadcrumbs, and the pending-recovery-ack badge; `rounded-xs` (was `rounded-sm`) on the About "view changelog" and Restore row links - [ ] Progress bar track: `rounded-sm` (was bare `rounded`) on the About update-install progress bar Supersedes #82. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Bumps pinia from 2.3.1 to 3.0.4.
Commits
290db63release: pinia@3.0.4@pinia/testing@1.0.3@pinia/nuxt@0.11.30e9e7e7feat(nuxt): automatic HMR code (vite only) (#2954)be9e356feat(warn): detect global context on the server side (#2983)8a65eb7chore: up nuxt 4e25e525fix(nuxt): resolve auto-imports in layers (#3035)868f6b5chore: dedupec0a6a4bchore: up depsbcc571btest: upgrade workspaces vitest1cf5687test: unstub specific action9b92217fix: store typeDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore this major versionwill close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor versionwill close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)