@vue-solana/nuxt 4.0.0 → 4.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -12,7 +12,9 @@ Nuxt module for Solana wallet, RPC, account, token, message signing, live data,
12
12
  This package is part of the Vue Solana family. Choose based on your app framework:
13
13
 
14
14
  - [`@vue-solana/core`](https://www.npmjs.com/package/@vue-solana/core) — framework-agnostic Solana primitives: Kit RPC client helpers, wallet types, Android MWA registration, iOS browser wallet helpers, message signing, token account reads, and transaction helpers. **Use this directly** when you want shared RPC/wallet/transaction helpers without installing a Vue plugin (non-Vue apps, server/relayer code, or your own framework integration).
15
+
15
16
  - [`@vue-solana/vue`](https://www.npmjs.com/package/@vue-solana/vue) — Vue 3 plugin plus composables for RPC, account, balance, wallet, message signing, live data, and transactions. **Use this** in plain Vue 3 apps (Vite, etc.).
17
+
16
18
  - [`@vue-solana/nuxt`](https://www.npmjs.com/package/@vue-solana/nuxt) — Nuxt module that installs the Vue plugin and auto-imports the composables. **Use this** in Nuxt 3/4 apps. (This package.)
17
19
 
18
20
  This package builds on `@vue-solana/vue` and `@vue-solana/core`; it is the recommended entry point for Nuxt apps.
@@ -22,22 +24,35 @@ Use this package in Nuxt apps that need the Vue Solana plugin installed automati
22
24
  New to Solana? Start with the official docs and the project concepts guide:
23
25
 
24
26
  - [Solana Documentation](https://solana.com/docs)
27
+
25
28
  - [Solana RPC Methods](https://solana.com/docs/rpc)
29
+
26
30
  - [Solana Clusters](https://solana.com/docs/references/clusters)
31
+
27
32
  - [Vue Solana Concepts Guide](https://vue-solana-docs.vercel.app/concepts/solana-for-vue-developers)
33
+
28
34
  - [`@vue-solana/nuxt` docs](https://vue-solana-docs.vercel.app/packages/nuxt)
35
+
29
36
  - [Agent Skill](https://vue-solana-docs.vercel.app/agent-skill)
37
+
30
38
  - [Live demo](https://vue-solana-docs.vercel.app/demo)
31
39
 
32
40
  ## Features
33
41
 
34
42
  - Installs the Vue Solana plugin automatically.
35
- - Auto-imports Solana RPC, wallet, account, token, message signing, live data, and transaction composables.
43
+
44
+ - Auto-imports Solana RPC, wallet, account, token, message signing, Solana Pay and QR, live data, and transaction composables.
45
+
36
46
  - Builds the default client with the official Kit RPC planner and transaction-sending executor; payer secrets are never accepted through public runtime config.
47
+
37
48
  - Uses direct Vue package subpaths to avoid pulling unrelated runtime code into Nuxt bundles.
49
+
38
50
  - Client-only runtime plugin with SSR-safe inert composable state before hydration.
51
+
39
52
  - Unified wallet discovery for browser extensions, Android Mobile Wallet Adapter, and supported iOS browser wallets.
53
+
40
54
  - App-wide selected wallet account context installed by the runtime plugin.
55
+
41
56
  - Nuxt 3 and Nuxt 4 support.
42
57
 
43
58
  ## Compatibility
@@ -113,38 +128,79 @@ https://faucet.solana.com
113
128
  The module auto-imports these composables from direct `@vue-solana/vue/*` subpaths rather than the root Vue package barrel. This keeps Nuxt SSR bundles from pulling in unrelated Solana runtime code just because a page uses one composable.
114
129
 
115
130
  - `useSolana()`
131
+
116
132
  - `useSolanaClient()`
133
+
117
134
  - `useSolanaRpc()`
135
+
118
136
  - `useSolanaConnection()`
137
+
119
138
  - `useSolanaAccountInfo()`
139
+
120
140
  - `useSolanaAirdrop()`
141
+
121
142
  - `useSolanaBalance()`
143
+
122
144
  - `useSolanaProgramAccounts()`
145
+
123
146
  - `useSolanaTokenAccounts()`
147
+
124
148
  - `useSolanaTokenBalance()`
149
+
125
150
  - `useSolanaWallet()`
151
+
126
152
  - `useSolanaWallets()`
153
+
127
154
  - `useSolanaSignMessage()`
155
+
128
156
  - `useSolanaSignIn()`
157
+
158
+ - `useSolanaPay()`
159
+
160
+ - `useSolanaPayConfirmation()`
161
+
162
+ - `useSolanaQrCode()`
163
+
164
+ - `useSolanaQrScanner()`
165
+
129
166
  - `useSolanaSignAndSendTransaction()`
167
+
130
168
  - `useSolanaSignTransactions()`
169
+
131
170
  - `useSolanaSignAndSendTransactions()`
171
+
132
172
  - `useSolanaTransactionConfirmation()`
173
+
133
174
  - `useSolanaSignatureStatus()`
175
+
134
176
  - `useSolanaTransaction()`
177
+
135
178
  - `useSolanaAction()`
179
+
136
180
  - `useSolanaRequest()`
181
+
137
182
  - `useSolanaSubscription()`
183
+
138
184
  - `useSolanaTrackedData()`
185
+
139
186
  - `useSolanaRequestSwr()`
187
+
140
188
  - `useSolanaSubscriptionSwr()`
189
+
141
190
  - `useSolanaTrackedDataSwr()`
191
+
142
192
  - `useSolanaSelectedWalletAccount()`
193
+
143
194
  - `useSolanaPayer()`
195
+
144
196
  - `useSolanaIdentity()`
197
+
145
198
  - `useSolanaPlanTransaction()`
199
+
146
200
  - `useSolanaPlanTransactions()`
201
+
147
202
  - `useSolanaSendTransaction()`
203
+
148
204
  - `useSolanaSendTransactions()`
149
205
 
150
206
  | Composable | Purpose |
@@ -163,6 +219,10 @@ The module auto-imports these composables from direct `@vue-solana/vue/*` subpat
163
219
  | `useSolanaWallets()` | Wallet discovery, selected wallet state, and selection actions. |
164
220
  | `useSolanaSignMessage()` | Wallet message signing. |
165
221
  | `useSolanaSignIn()` | Sign In With Solana (SIWS) trigger returning a server-verifiable result. |
222
+ | `useSolanaPay()` | Builds/parses Solana Pay transfer request URLs, generates a reference, and verifies settlement against it. |
223
+ | `useSolanaPayConfirmation()` | Polls payment status for a Solana Pay reference. |
224
+ | `useSolanaQrCode()` | Renders a Solana Pay URL as an SVG QR code. |
225
+ | `useSolanaQrScanner()` | Scans Solana Pay QR codes through the camera and `BarcodeDetector`. |
166
226
  | `useSolanaSignAndSendTransaction()` | Wallet transaction signing, sending, and optional confirmation. |
167
227
  | `useSolanaSignTransactions()` | Batch transaction signing (falls back to `signAllTransactions`). |
168
228
  | `useSolanaSignAndSendTransactions()` | Batch sign-and-send returning one signature per transaction. |
@@ -201,6 +261,7 @@ The module also installs the app-wide selected wallet account context, so `useSo
201
261
  The package also exposes Solana helper subpaths for Nuxt apps that need Kit re-exports or the browser Buffer polyfill without importing lower-level packages directly:
202
262
 
203
263
  - `@vue-solana/nuxt/kit`
264
+
204
265
  - `@vue-solana/nuxt/buffer-polyfill`
205
266
 
206
267
  ## Read RPC State
@@ -349,11 +410,17 @@ Docs: [Vue Solana Agent Skill](https://vue-solana-docs.vercel.app/agent-skill)
349
410
  ## Caveats
350
411
 
351
412
  - The runtime plugin is client-only. Auto-imported composables are SSR-safe, but real RPC and wallet work should run after hydration or in user actions.
413
+
352
414
  - The SWR cache (`useSolanaRequestSwr()`, `useSolanaSubscriptionSwr()`, `useSolanaTrackedDataSwr()`) is module-level and shared across SSR requests. Namespace cache keys per request or call `clearSwrCache()` (auto-imported) at the start of each server request to avoid leaking cached data between requests. The cache is capped at 1024 entries with oldest-first eviction; `deleteSwrKey()` (auto-imported) evicts a single key by its full cache key.
415
+
353
416
  - Nuxt module options are stored in public runtime config, so they must be JSON-serializable.
417
+
354
418
  - Public Solana RPC endpoints are useful for development, but production apps should use dedicated RPC infrastructure.
419
+
355
420
  - Broad `useSolanaProgramAccounts()` scans can be expensive or blocked on public RPC nodes. Prefer narrow filters and `dataSlice`.
421
+
356
422
  - Use `mainnet` for Solana mainnet. This is Solana's official mainnet cluster name; the legacy `mainnet-beta` spelling is still accepted and redirects to the same endpoint.
423
+
357
424
  - Desktop native app wallets are planned but not implemented yet.
358
425
 
359
426
  ## Status
package/dist/module.mjs CHANGED
@@ -28,6 +28,10 @@ const SOLANA_COMPOSABLE_IMPORTS = [
28
28
  ["useSignatureStatus", "useSolanaSignatureStatus"],
29
29
  ["useSolana", "useSolana"],
30
30
  ["useSolanaClient", "useSolanaClient"],
31
+ ["useSolanaPay", "useSolanaPay"],
32
+ ["useSolanaPayConfirmation", "useSolanaPayConfirmation"],
33
+ ["useSolanaQrCode", "useSolanaQrCode"],
34
+ ["useSolanaQrScanner", "useSolanaQrScanner"],
31
35
  ["useSubscription", "useSolanaSubscription"],
32
36
  ["useTokenAccounts", "useSolanaTokenAccounts"],
33
37
  ["useTokenBalance", "useSolanaTokenBalance"],
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vue-solana/nuxt",
3
- "version": "4.0.0",
3
+ "version": "4.1.1",
4
4
  "description": "Nuxt module for Solana applications.",
5
5
  "license": "MIT",
6
6
  "keywords": [
@@ -45,7 +45,7 @@
45
45
  "access": "public"
46
46
  },
47
47
  "dependencies": {
48
- "@vue-solana/vue": "4.0.0"
48
+ "@vue-solana/vue": "4.1.1"
49
49
  },
50
50
  "peerDependencies": {
51
51
  "nuxt": "^3.0.0 || ^4.0.0"