Skip to content

Bump vite and vitest - #4

Open
dependabot[bot] wants to merge 27 commits into
masterfrom
dependabot/npm_and_yarn/multi-3cd4b6fed9
Open

Bump vite and vitest#4
dependabot[bot] wants to merge 27 commits into
masterfrom
dependabot/npm_and_yarn/multi-3cd4b6fed9

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github May 21, 2026

Copy link
Copy Markdown

Bumps vite to 6.4.2 and updates ancestor dependency vitest. These dependencies need to be updated together.

Updates vite from 5.4.21 to 6.4.2

Release notes

Sourced from vite's releases.

v6.4.2

Please refer to CHANGELOG.md for details.

v6.4.1

Please refer to CHANGELOG.md for details.

v6.4.0

Please refer to CHANGELOG.md for details.

v6.3.7

Please refer to CHANGELOG.md for details.

v6.3.6

Please refer to CHANGELOG.md for details.

Changelog

Sourced from vite's changelog.

6.4.2 (2026-04-06)

6.4.1 (2025-10-20)

6.4.0 (2025-10-15)

  • feat: allow passing down resolved config to vite's createServer (#20932) (ca6455e), closes #20932

6.3.7 (2025-10-14)

  • fix(esbuild): inject esbuild helpers correctly for esbuild 0.25.9+ (#20940) (c59a222), closes #20940

6.3.6 (2025-09-08)

6.3.5 (2025-05-05)

6.3.4 (2025-04-30)

  • fix: check static serve file inside sirv (#19965) (c22c43d), closes #19965
  • fix(optimizer): return plain object when using require to import externals in optimized dependenci (efc5eab), closes #19940
  • refactor: remove duplicate plugin context type (#19935) (d6d01c2), closes #19935

6.3.3 (2025-04-24)

... (truncated)

Commits

Updates vitest from 2.1.9 to 4.1.7

Release notes

Sourced from vitest's releases.

v4.1.7

   🐞 Bug Fixes

    View changes on GitHub

v4.1.6

   🐞 Bug Fixes

   🏎 Performance

    View changes on GitHub

v4.1.5

   🚀 Experimental Features

   🐞 Bug Fixes

    View changes on GitHub

v4.1.4

   🚀 Experimental Features

... (truncated)

Commits
  • a09d472 chore: release v4.1.7
  • a8fd24c chore: release v4.1.6
  • 18af98c fix(browser): simplify orchestrator otel carrier (#10285)
  • 3188260 feat(browser): provide project reference in ToMatchScreenshotResolvePath (#...
  • e399846 chore: release v4.1.5
  • 7dc6d54 Revert "fix: respect diff config options in soft assertions (#8696)"
  • 9787ded fix: respect diff config options in soft assertions (#8696)
  • 325463a fix(ast-collect): recognize _vi_import prefix in static test discovery (#10...
  • 0e0ff41 feat(coverage): istanbul to support instrumenter option (#10119)
  • 663b99f fix: alias agent reporter to minimal (#10157)
  • Additional commits viewable in compare view
Maintainer changes

This version was pushed to npm by GitHub Actions, a new releaser for vitest since your current version.


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)
    You can disable automated security fix PRs for this repo from the Security Alerts page.

ugurcandede and others added 27 commits August 22, 2025 14:57
* refactor: command generation

* feat: add keyboard shortcuts modal and functionality
Replace vanilla HTML/JS with Vite + React 18 + TypeScript foundation.
Remove legacy assets/ and old index.html.

Generator (lib/generator/*) ported as pure TS with two-output PowerShell
(display + clipboard) sharing one builder — prevents the display/clipboard
drift bug from the old codebase. JSON action and Batch generators preserve
the original escape/quoting rules verified against assets/js/generator.js
@ commit 24169ae.

43 vitest cases cover escape utilities, magic-default omission
(#64748b color, 0.5 size, empty commands), profile mapping (pwsh/cmd/
bash/wsl), JSON moveFocus tail, batch quote-doubling, single-line
clipboard guarantee, and display↔clipboard parity.

Build outputs 143KB / 46KB gzipped — well under the 200KB budget.
editorStore (Zustand + zundo, 50-step history, partialize to panels only).
Actions: add/delete/update/reorder, setSelected, setSplit, resizePane,
loadPanels, reset. First panel always normalized (split=null, size=1.0).

PanelList uses @dnd-kit/sortable for reordering. Inspector edits all panel
fields with Radix Select for profile, Radix Slider for size, and 11 preset
colors + native color input for tab color. Split direction toggle hidden
for first panel (it is the new-tab, not a split-pane).

StaticPreview is a simple grid of panel cards as a placeholder — Phase 3
replaces it with the visual splitter editor.

OutputTabs (Radix Tabs) renders the multi-line PowerShell display, JSON
action, and batch file. The PowerShell tab's Copy button explicitly grabs
the single-line clipboard variant so paste-into-terminal works.

Bundle: 330KB / 108KB gzipped — under the 200KB budget. Tests 43/43 green.
LayoutCanvas builds a binary tree from the flat panel array
(useLayoutTree.ts) and renders it via react-resizable-panels. Each
split node's children[1] is always the leaf for the panel that
introduced the split, so onLayout maps directly back to
resizePane(panelId, sizes[1]/100).

wt-to-rrp direction translation is centralized in useLayoutTree and
documented inline: wt -V means "split to the right", which is rrp
direction="horizontal" (panels laid out side by side). The inverse for -H.

PaneNode + PaneContextMenu (Radix ContextMenu) replace the old static
preview cards. Right-click offers Split V / Split H (both disabled at
the 6-panel cap) and Delete pane (disabled when only one remains).
Clicking a pane selects it and lights the active border; the inspector
slider and the canvas splitter stay in sync via the shared store.

Pinned react-resizable-panels to v2 — v4 renamed PanelGroup→Group,
PanelResizeHandle→Separator and switched to a Layout map shape; v2's
sizes-array onLayout fits the panelId-keyed model cleanly.

LayoutCanvas re-keys the tree on structural changes so adding/removing
a panel snaps to the new intended sizes rather than carrying stale state.

Bundle: 377KB / 122KB gzipped. Typecheck + 43 tests still green.
lib/storage/* persists current panels (auto-save, debounced 400ms),
settings, and user templates under v2 LS keys (wt-gen-v2-*). The shared
sanitizer normalizes panels read from any source (LS, share URL, file
import) so corrupt or partial input cannot crash the editor.

URL share encodes panels to a base64url-safe param with compressed field
names (t/d/c/cl/p/s/sz). buildShareUrl writes a v=2&p=… query string;
useInitialLoad reads it on mount, hydrates the editor, and strips the
params from the address bar so reloads fall through to the auto-saved LS
copy.

TopBar gains four toolbar groups: TemplateDrawer (6 presets + user list),
SaveAsTemplateDialog, ImportExportButtons (file roundtrip with inline
error toast), and ShareUrlButton (clipboard with check-icon feedback).

Templates store persists CRUD through saveUserTemplates so the LS write is
synchronous and resists racing tab unloads. Default templates load via
unique synthetic ids so they participate in dnd-kit reordering without
clashing.

Bundle: 400KB / 129KB gzipped. Tests still 43/43 green.
lib/validation/* exposes pure functions that the editor consumes via
useValidation. Each panel field carries its own issues (errors → red
border, warnings → amber border, inline icon+message helper below). Empty
title and empty directory are warnings, not errors, so a fresh panel is
not painted red the moment it appears.

Linter scans command bodies for eight dangerous patterns:
  rm -rf /, Remove-Item -Recurse -Force, format c:, del /s/q/f,
  shutdown /s|/r, fork-bomb, curl|bash, iex of Invoke-WebRequest / iwr|iex.
Matches surface as warnings without blocking output generation.

TopBar's ValidationBadge collapses the snapshot to a green "OK" pill or
an icon+count pair for errors and warnings. Hovering reveals exact counts.

Windows path regex broadened: accepts forward and backslash separators,
UNC paths, ./… and ../… relatives, and %VAR%-prefixed paths so that
templates using %USERPROFILE% don't trip the validator.

Vitest grows to 59 cases: 8 panel-validation cases, 8 linter cases
(positive and negative). Bundle: 404KB / 130KB gzipped.
useTheme + useAccent hooks resolve light/dark/system at the document
root and apply the chosen accent as CSS variables (--accent /
--accent-fg). The system listener swaps on prefers-color-scheme
changes only when theme="system".

Keyboard shortcuts: Ctrl+N (add panel), Del (delete focused panel),
Ctrl+Z / Ctrl+Shift+Z / Ctrl+Y (undo / redo via zundo temporal store),
Ctrl+S (export JSON), ? (open shortcuts dialog). Field-aware: shortcuts
that would conflict with typing only fire when an input is not focused.

SettingsDialog exposes theme, accent, and auto-save toggles.
ShortcutsDialog lists every binding with kbd-styled keys.
InjectWizardDialog walks users through 3 steps of pasting the JSON
action into settings.json, with the copy button right above the
generated payload on the final step.

OutputTabs now renders through prism-react-renderer with a theme-aware
selector (dracula on dark, vsLight on light), so the syntax highlight
swaps with the rest of the UI instead of staying fixed on a dark
background.

ProfileSelect adds an inline info hint when command body uses
PowerShell-only or Unix-only syntax that conflicts with the selected
profile — non-blocking, just a heads-up.

Footer carries license/author/source-link with an inline GitHub SVG
(lucide v1 dropped brand icons). index.html gets OG and Twitter meta
tags for social previews.

Note: Toast layer skipped — the existing inline feedback (button
checkmark states, ImportExportButtons error pill) already covers the
needed UX without adding a Radix portal layer.

Bundle: 503KB / 161KB gzipped (prism added ~100KB). Tests still 59/59.
GitHub Actions workflow runs npm ci → npm test → typecheck → build
and uploads dist/ as the Pages artifact. PR builds compile but do not
deploy; pushes to master trigger the deploy job.

README rewrites in the house style (taplock-app / claude-symlink /
roadie): centered hero with shields.io badges, "What it solves" lead,
live-app link, feature bullets, local-dev quickstart, command reference,
tech-stack table, a code-walk of the layout, output samples, keyboard
shortcuts, and notes/limitations. No emoji clutter.

CLAUDE.md updated for the v2 architecture: ui→store→lib direction,
the zundo partialize rule, the flat-array-to-binary-tree derivation in
useLayoutTree, the wt↔rrp direction-name inversion warning, the
display-vs-clipboard parity invariant, the schema-version-bump escape
hatch, sanitize-vs-validate distinction, and the GH Pages base-path gotcha.

Preview smoke test against `npm run preview` at the configured base path
returns HTTP 200. Tests 59/59 green. Bundle 503KB / 161KB gzipped — under
the 200KB gzipped target despite Prism syntax highlighter and Radix
primitives.
…cuts

Icon: a 64×64 rounded-square mark with a 2×2 pane grid and a ">" prompt
in the active quadrant — mirrors the multi-pane editor the app produces.
Lives in public/favicon.svg, served at the GH Pages subpath via Vite's
automatic base-path rewrite, and referenced in the README hero.

Shortcut overhaul: Ctrl+N (new window — not overridable in Chrome /
Firefox) and Ctrl+S (browser save-page dialog, surprising even when
suppressed) are gone. New bindings:

  N         add panel (single-letter, only outside text fields)
  Del       delete focused panel
  Ctrl+Z    undo (app-level only outside inputs; native text undo inside)
  Ctrl+Shift+Z  redo, same input gating
  Alt+E     export configuration as JSON
  ?         show shortcuts dialog

The handler short-circuits before single-letter keys reach typing
contexts, so the bindings can never eat characters mid-edit. The
shortcuts dialog and the README's shortcut table reflect the new map.
Header now hugs the preview area directly — the gap-2 between the title
bar and the canvas was leftover from the old mac-style mockup and made
the chrome look detached.

Replaces the red/yellow/green dots with a Windows 11 title bar layout:
left side shows a WT logo + the first panel's title styled as the
active tab (accent underline), right side has minimize / maximize /
close buttons. The close button picks up the canonical Windows close
color (#e81123) on hover. All three controls are aria-hidden and
removed from the tab order — pure visual mockup.

The drag/right-click hint moved to small muted text in the title bar
so it doesn't compete with the canvas content.
PaneNode adds a small uppercase badge in the top-right of each canvas
pane showing the profile (PS / CMD / sh / WSL) tinted to roughly match
each profile's brand color. PROFILE_BADGES is its own data file so the
mapping stays separate from styling.

Dialog open/close animations replace the inert fade classes. Custom
keyframes live in index.css — overlay fades 150ms / 100ms, content
fades + scales 96% → 100% with a soft-out cubic curve over 180ms,
reverse on close. No tailwindcss-animate dependency added.

Footer drops the "Source" link slot. Author link on the left now
carries the inline GitHub mark; the right slot holds the version /
license tag and now links to the repo, so the source URL is still one
click away.
The badge used to be a tooltip-only number — opaque on a busy form.
It's now a button that opens a Radix Popover grouping issues by panel:
each entry shows the colored dot + panel title (clickable, jumps the
inspector to that panel and closes the popover), then a nested list of
field-tagged error / warning lines.

Header strip shows the error / warning counts in their respective
severity colors. The popover reuses the existing dialog-content
animation keyframes for open / close.

The "OK" clean-state pill is unchanged: still a static badge, no
interaction needed.
New Tab type ({ id, name, panels }) sits above Panel. editorStore now
holds tabs[] + activeTabId; panel actions all operate on the active
tab's panels. zundo partializes to (tabs, activeTabId) — selectedId
stays out of history so opening a dialog doesn't trip undo.

New tab actions: addTab, deleteTab, renameTab, setActiveTab,
reorderTabs. addPanel takes an optional SplitDirection so the
context-menu's split-vertical/horizontal actions reuse the same path.

useActivePanels selector replaces the dozen useEditorStore(s => s.panels)
calls scattered across components, keeping the dependency direction
ui → store one-way.

Generators consume Tab[]: every tab opens with new-tab, subsequent
panels in the same tab use split-pane, tabs join via the same `;
separator. JSON output emits a newTab action per tab and a single
trailing moveFocus. Batch wraps the joined PowerShell command as
before.

Storage / share / file roundtrip migrated to v3:
- LS uses wt-gen-v2-config under SCHEMA_VERSION=3; loadConfig auto-
  migrates v2 panels-only payloads into a single tab so existing
  users keep their setup.
- Share URLs are v=3&p=base64url(compactTabs); v=2 panel-only links
  still decode (read as one tab).
- Exported JSON now has { version: 3, tabs }; import accepts the v2
  { panels } shape and lifts it into a tab.

TabStrip sits between the topbar and canvas. Double-click renames a
tab inline; close button appears on hover (hidden when only one tab
remains). MAX_TABS = 8.

Bundle: 517KB / 165KB gzipped. Tests grow to 62/62 with new fixtures
helper (singleTab, tab) and multi-tab cases for both PowerShell and
JSON generators.
All three side regions now collapse to a slim chevron bar:
  - Rail (260 → 32 px) — keeps the toggle accessible when closed
  - Inspector (320 → 32 px) — same treatment, right side
  - Output (280 → 36 px height) — title bar with the toggle stays
    visible so the editor canvas can occupy almost the full pane

State lives in settingsStore (railCollapsed / inspectorCollapsed /
outputCollapsed) and persists alongside the other UI settings — the
user's last layout returns on reload.

Transitions on grid-template-columns and the output's height give a
short ease-out animation; collapsed children unmount to keep the dom
small. The collapse triggers themselves stay rendered so toggling
back open is always one click.
Right-click → Duplicate pane copies the source panel's title,
directory, commands, color, and profile, then appends it to the
active tab as a vertical split with the default 0.5 size. The new
pane is auto-selected so the user can immediately tweak it.

Disabled when the tab is already at the 6-pane cap. Lives between
Split V/H and Delete in the context menu, separated by a divider
so a stray click can't delete and duplicate together.
Double-click a pane's title in the canvas to edit it inline — Enter or
blur commits, Esc cancels. The input absorbs its own click and keydown
events so editing doesn't reselect the pane underneath or trigger
single-letter shortcuts (N for new panel, ? for help) while the user
is typing.

Mirrors the rename UX already on TabStrip so both surfaces feel the
same. The Inspector's title field still works in parallel for users
who want to edit from the side panel.
←/→ select the previous / next pane in the active tab (wraps around
at the ends). ↑/↓ switch to the previous / next tab. Only fires when
no text field is focused, so arrow-key cursor movement inside inputs
keeps working.

Both navigations are no-ops when there's only one pane / one tab.
Wrap-around uses ((idx + delta) % len + len) % len to handle negative
results from the modulo when going past the first item.

Shortcut dialog gains the two new rows so the help screen stays in
sync with the actual bindings.
New "Run in WT" button on the PowerShell output tab. Clicking it
copies the single-line command to the clipboard and opens a small
dialog with the three-step Win+R → Ctrl+V → Enter walkthrough.
Numbered steps with kbd-styled key chips so the instructions read
naturally without needing screenshots.

If the clipboard write fails (insecure context, permission denied),
the dialog still opens but the success banner is omitted and the
description nudges the user to copy manually.
Trigger + content both wire mouseenter / mouseleave to a small
schedule-open / schedule-close timer (80ms open, 180ms close). The
close delay lets the cursor traverse the gap from trigger to content
without flickering the popover shut. Clicking still toggles, and
keyboard focus / blur drive the same open / close path.

Selecting a panel from the list now also forces the popover closed
immediately so the inspector takes focus cleanly. The
onOpenAutoFocus suppression keeps the focus on the trigger when the
popover opens via hover, so the layout doesn't shift the user's
context unexpectedly.
Absolute-positioned CollapseTab overlapped the InspectorPanel's
'Panel N' heading. Replaced with an inline chevron inside each side
panel's own header — PanelList puts it next to 'Panels (n/6)',
InspectorPanel puts it after the new-tab/split-pane label, so the
chrome flows with content instead of stacking on top of it.

When a side panel is collapsed AppShell renders a thin CollapsedStub:
a centered chevron in the narrow strip pointing back towards the
content area, so it's obvious which direction expanding will push.

InspectorPanel's empty-state ('No panel selected') keeps the collapse
button visible in its own header bar so the user can still toggle the
side panel without selecting one first.
Copy / Run buttons used to be absolutely positioned inside each
TabsContent and the code block tried to compensate with pt-12 — but
because the buttons rendered before the pre, the first lines of the
generated command still slid below them and the toolbar scrolled away
with the content.

The new layout:
  - CodePane wraps each tab's code block, owns the scroll, and is the
    positioning context for the toolbar.
  - Toolbar uses sticky top-0 z-10 with pointer-events-none on the
    sticky strip and pointer-events-auto on the inner button group,
    so the buttons stay pinned to the top-right while the code
    scrolls underneath them.
  - Buttons sit on a translucent rounded surface with a small
    backdrop blur so they remain readable over either light or dark
    syntax themes.
  - CodeBlock loses its scroll / pt-12 — it's now purely a presentation
    component; pre background is transparent so the parent's theme
    bg shows through.
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) to 6.4.2 and updates ancestor dependency [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest). These dependencies need to be updated together.


Updates `vite` from 5.4.21 to 6.4.2
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v6.4.2/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v6.4.2/packages/vite)

Updates `vitest` from 2.1.9 to 4.1.7
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Commits](https://github.com/vitest-dev/vitest/commits/v4.1.7/packages/vitest)

---
updated-dependencies:
- dependency-name: vite
  dependency-version: 6.4.2
  dependency-type: indirect
- dependency-name: vitest
  dependency-version: 4.1.7
  dependency-type: direct:development
...

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 May 21, 2026
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

None yet

Development

Successfully merging this pull request may close these issues.

1 participant