@stacksjs/defaults 0.75.253 → 0.75.255
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/ai/skills/stacks-browse/scripts/browse.ts +3 -1
- package/ai/skills/stacks-composables/BROWSER.md +6 -0
- package/ai/skills/stacks-native/CAPABILITIES.md +18 -0
- package/ide/vscode/package.json +1 -1
- package/package.json +3 -2
- package/resources/functions/counter.ts +2 -3
- package/resources/functions/dark.ts +22 -4
|
@@ -646,7 +646,9 @@ async function runScenarioStep(cdp: Cdp, step: ScenarioStep): Promise<Record<str
|
|
|
646
646
|
if (step.action === 'press') {
|
|
647
647
|
const key = step.key || ''
|
|
648
648
|
const keyCode = key.length === 1 ? key.charCodeAt(0) : ({ Enter: 13, Escape: 27, Tab: 9 }[key] || 0)
|
|
649
|
-
|
|
649
|
+
// Enter's text generates the keypress that activates native buttons/forms.
|
|
650
|
+
const text = key === 'Enter' ? '\r' : undefined
|
|
651
|
+
await cdp.send('Input.dispatchKeyEvent', { type: 'keyDown', key, code: key, windowsVirtualKeyCode: keyCode, text, unmodifiedText: text })
|
|
650
652
|
await cdp.send('Input.dispatchKeyEvent', { type: 'keyUp', key, code: key, windowsVirtualKeyCode: keyCode })
|
|
651
653
|
return { action: step.action, key, ok: true }
|
|
652
654
|
}
|
|
@@ -33,6 +33,12 @@ STX 0.2.631 keeps top-level mutable bindings live in template expressions,
|
|
|
33
33
|
including controllers assigned in `onMount` by imported TypeScript code. Use
|
|
34
34
|
signals for values whose changes should schedule rendering.
|
|
35
35
|
|
|
36
|
+
Imported modules that create template-facing signals must import `state` from
|
|
37
|
+
`@stacksjs/stx`. The native bundler maps that entry to the page runtime, so
|
|
38
|
+
reads participate in template effects. The `/signals` subpath owns the separate
|
|
39
|
+
module reactive graph and does not schedule browser template updates. Explicit
|
|
40
|
+
module composables retain their documented getter/subscription contracts.
|
|
41
|
+
|
|
36
42
|
## Browser and module contracts differ
|
|
37
43
|
|
|
38
44
|
| Name | STX client runtime | Explicit @stacksjs/composables |
|
|
@@ -235,6 +235,24 @@ Retained evidence:
|
|
|
235
235
|
- [storage/framework/core/cache/tests/Memory.test.ts](https://github.com/stacksjs/stacks/blob/main/storage/framework/core/cache/tests/Memory.test.ts)
|
|
236
236
|
- [storage/framework/core/cache/tests/ttl.test.ts](https://github.com/stacksjs/stacks/blob/main/storage/framework/core/cache/tests/ttl.test.ts)
|
|
237
237
|
|
|
238
|
+
## cache: sqlite
|
|
239
|
+
|
|
240
|
+
Status: **supported**. Topology: embedded.
|
|
241
|
+
|
|
242
|
+
Implementation: [storage/framework/core/cache/src/drivers/sqlite.ts](https://github.com/stacksjs/stacks/blob/main/storage/framework/core/cache/src/drivers/sqlite.ts).
|
|
243
|
+
|
|
244
|
+
Prerequisites:
|
|
245
|
+
|
|
246
|
+
- Bun SQLite and a writable persistent file
|
|
247
|
+
|
|
248
|
+
Limitations:
|
|
249
|
+
|
|
250
|
+
- Values must be JSON-serializable. Retain the SQLite file across deploys. Stampede protection is process-local; this is not a distributed cache.
|
|
251
|
+
|
|
252
|
+
Retained evidence:
|
|
253
|
+
|
|
254
|
+
- [storage/framework/core/cache/tests/sqlite-cache.test.ts](https://github.com/stacksjs/stacks/blob/main/storage/framework/core/cache/tests/sqlite-cache.test.ts)
|
|
255
|
+
|
|
238
256
|
## cache: redis
|
|
239
257
|
|
|
240
258
|
Status: **supported**. Topology: client-server.
|
package/ide/vscode/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"publisher": "Stacks",
|
|
3
3
|
"name": "vscode-stacks",
|
|
4
4
|
"displayName": "Stacks",
|
|
5
|
-
"version": "0.75.
|
|
5
|
+
"version": "0.75.255",
|
|
6
6
|
"description": "Stacks, built into VS Code: stx templates, pickier linting and formatting, encrypted env files, the dev server preview and every buddy command. No other extensions required.",
|
|
7
7
|
"license": "MIT",
|
|
8
8
|
"funding": "https://github.com/sponsors/chrisbbreuer",
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@stacksjs/defaults",
|
|
3
3
|
"type": "module",
|
|
4
4
|
"sideEffects": false,
|
|
5
|
-
"version": "0.75.
|
|
5
|
+
"version": "0.75.255",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
8
8
|
"url": "git+https://github.com/stacksjs/stacks.git",
|
|
@@ -44,8 +44,9 @@
|
|
|
44
44
|
"dependencies": {
|
|
45
45
|
"@iconify-json/f7": "^1.2.2",
|
|
46
46
|
"@iconify-json/hugeicons": "^1.2.35",
|
|
47
|
-
"@stacksjs/mobile": "0.75.
|
|
47
|
+
"@stacksjs/mobile": "0.75.255",
|
|
48
48
|
"@stacksjs/sanitizer": "^0.2.534",
|
|
49
|
+
"@stacksjs/stx": "^0.2.631",
|
|
49
50
|
"@xterm/addon-fit": "^0.11.0",
|
|
50
51
|
"@xterm/xterm": "^6.0.0",
|
|
51
52
|
"ts-qr-codes": "^0.1.8"
|
|
@@ -1,4 +1,22 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import { useDark, usePreferredDark } from '@stacksjs/stx/composables'
|
|
2
|
+
import { state } from '@stacksjs/stx'
|
|
3
|
+
|
|
4
|
+
const dark = useDark()
|
|
5
|
+
const preferred = usePreferredDark()
|
|
6
|
+
const darkValue = state(dark.isDark)
|
|
7
|
+
const preferredValue = state(preferred.matches)
|
|
8
|
+
|
|
9
|
+
dark.subscribe(value => darkValue.set(value))
|
|
10
|
+
preferred.subscribe(value => preferredValue.set(value))
|
|
11
|
+
|
|
12
|
+
export function isDark(): boolean {
|
|
13
|
+
return darkValue()
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export function preferredDark(): boolean {
|
|
17
|
+
return preferredValue()
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export function toggleDark(): void {
|
|
21
|
+
dark.toggle()
|
|
22
|
+
}
|