Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions .changeset/alpine-page-instance.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
'@tanstack/alpine-hotkeys': minor
---

The adapter no longer imports `alpinejs`. It uses the Alpine instance passed to `Alpine.plugin(hotkeysPlugin)`, or `window.Alpine` without the plugin. Install the plugin before `Alpine.start()`; using a scope with neither throws an error that says so.

Before, a page that loaded Alpine from a script tag and the adapter from a CDN got a second copy of Alpine, so held keys and getter options stopped updating with no error. Importing the package in Node also threw `MutationObserver is not defined`, even for helpers such as `formatForDisplay`.
13 changes: 13 additions & 0 deletions .changeset/devtools-types.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
---
'@tanstack/hotkeys-devtools': patch
'@tanstack/react-hotkeys-devtools': patch
'@tanstack/preact-hotkeys-devtools': patch
'@tanstack/solid-hotkeys-devtools': patch
'@tanstack/vue-hotkeys-devtools': patch
'@tanstack/svelte-hotkeys-devtools': patch
'@tanstack/angular-hotkeys-devtools': patch
---

Fix type errors in the devtools packages with `skipLibCheck: false`. Their declarations used types from `@tanstack/devtools-utils`, which import `@tanstack/devtools` without depending on it, so TypeScript reported `Cannot find module '@tanstack/devtools'`, and with `skipLibCheck: true` the panel props became `any`. The packages now declare their own panel and plugin types. `@tanstack/hotkeys-devtools` exports `HotkeysDevtoolsPanelProps`, `HotkeysDevtoolsTheme` and `HotkeysDevtoolsCoreClass`.

The React devtools types no longer refer to `JSX` from `react`, which some `@types/react` 18 releases don't export.
7 changes: 7 additions & 0 deletions .changeset/ember-classic-builds.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
'@tanstack/ember-hotkeys': patch
---

Fix classic ember-cli apps that load the addon through ember-auto-import. The package now has the `ember-addon` keyword and no longer sets `"type": "module"`, which made webpack load the whole module object for default imports such as `@ember/component/helper`. `ember-modifier` is now a caret range, so an app that already has ember-modifier 4.3 installs one copy instead of two.

The `ember-source` peer range is now `>=6.8.3 <6.9.0 || >=6.10.1`. Classic builds of 6.8.0 to 6.8.2, 6.9.0 and 6.10.0 don't include `@ember/reactive/collections`, which the adapter imports.
17 changes: 17 additions & 0 deletions .changeset/peer-ranges.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
---
'@tanstack/preact-hotkeys': patch
'@tanstack/preact-hotkeys-devtools': patch
'@tanstack/solid-hotkeys-devtools': patch
'@tanstack/vue-hotkeys': patch
'@tanstack/svelte-hotkeys': patch
'@tanstack/svelte-hotkeys-devtools': patch
'@tanstack/alpine-hotkeys': patch
---

Fix framework peer ranges so they match the versions each package builds and runs on:

- Preact `>=10.5.2`. Older releases can't resolve `preact/jsx-runtime`.
- Solid devtools `^1.9.15`. The panel crashes below 1.9.15, where two copies of Solid get installed.
- Vue `>=3.3.0`. The adapter uses `toValue`, added in Vue 3.3.
- Svelte `^5.40.0`. The adapter uses `createContext`, added in Svelte 5.40.
- Alpine `^3.13.0`, down from `^3.15.12`. npm no longer refuses to install the adapter next to Alpine 3.13 and 3.14.
8 changes: 8 additions & 0 deletions .changeset/react-use-client.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
'@tanstack/react-hotkeys': minor
'@tanstack/react-hotkeys-devtools': minor
---

The hooks and `HotkeysProvider` are now marked `'use client'`, so a React Server Component such as a Next.js `app/layout.tsx` can render `HotkeysProvider` without a wrapper. Before, the Next.js build failed with `createContext is not a function`. Server components can still import helpers such as `formatForDisplay` from the package.

Both packages now require React 18 or newer. The old `>=16.8` range admitted React 16.8 to 16.13, which can't build the package because `@tanstack/react-store` imports `react/jsx-runtime`.
6 changes: 6 additions & 0 deletions .changeset/svelte-import-extensions.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
'@tanstack/svelte-hotkeys': patch
'@tanstack/svelte-hotkeys-devtools': patch
---

Relative imports in the published files now end in `.js`, so the types resolve with `moduleResolution: "nodenext"`. The devtools types also declare `Component<Props>` instead of `Component<Props, {}, string>`, which current Svelte types reject with `skipLibCheck: false`.
7 changes: 7 additions & 0 deletions .changeset/vue-devtools-panel.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
'@tanstack/vue-hotkeys-devtools': patch
---

Fix `HotkeysDevtoolsPanel`, which threw `Cannot read properties of undefined (reading 'color')` and rendered nothing, both on its own and inside `TanStackDevtools` from `@tanstack/vue-devtools`. The panel now defaults `theme` to `'dark'` and `devtoolsOpen` to `true`, reads the props the Vue devtools dock passes, and remounts when the theme changes.

The package no longer depends on `@tanstack/devtools-utils`, and its `vue` peer is now `>=3.3.0`, matching `@tanstack/vue-hotkeys`.
Loading
Loading