Skip to content

build(deps): Bump pinia from 2.3.1 to 3.0.4 in /ui - #79

Merged
pmaxhogan merged 1 commit into
mainfrom
dependabot/npm_and_yarn/ui/pinia-3.0.4
Jul 3, 2026
Merged

pmaxhogan merged 1 commit into
mainfrom
dependabot/npm_and_yarn/ui/pinia-3.0.4

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Jun 29, 2026

Copy link
Copy Markdown
Contributor

Bumps pinia from 2.3.1 to 3.0.4.

Commits

Dependabot compatibility score

Dependabot 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 rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will 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 version will 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 dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

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>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file javascript Pull requests that update javascript code labels Jun 29, 2026
@github-project-automation github-project-automation Bot moved this to Todo in Driven Jun 29, 2026
@github-actions

Copy link
Copy Markdown
Contributor

Coverage

Area main this PR delta
Rust (lib crates) 76.76% 76.76% +0.00 (OK)
UI (vue/ts) 88.17% 88.17% +0.00 (OK)

Gate: passed - no coverage regression (epsilon 0.1 pp).

@pmaxhogan
pmaxhogan merged commit 4f1bad5 into main Jul 3, 2026
15 checks passed
@pmaxhogan
pmaxhogan deleted the dependabot/npm_and_yarn/ui/pinia-3.0.4 branch July 3, 2026 20:39
@github-project-automation github-project-automation Bot moved this from Todo to Done in Driven Jul 3, 2026
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)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file javascript Pull requests that update javascript code

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

1 participant