stack/packages/stack-cli/package.json
Bilal Godil 30dbdffc4a faster snapshot resume via mapped-ram + rotation opt-out
Snapshot resume drops from ~14s to ~5-7s with rotation, ~2.5s without.

Build uses QEMU's mapped-ram + multifd migration capability so the RAM
state is written at page-aligned offsets in a sparse file. Runtime
decompresses the shipped .savevm.zst once to a local .raw cache and
reloads via -incoming file: + migrate-incoming on subsequent starts,
avoiding the per-start zstd decode.

Adds EMULATOR_NO_ROTATION=1 for tests/CI that don't mind the placeholder
secrets; saves the full ~3s rotation window.

Misc runtime cleanups: tighter QMP/QGA poll intervals (1s → 0.2s),
shorter socat keep-alive windows, 1s settle before the post-rotation
health-check to avoid racing old Node processes, fallback path preserves
the CLI-generated runtime-config.iso instead of blowing away VM_DIR.

Build-time qmp_session keeps stdin open briefly after the caller's
commands so migrate-set-capabilities is actually processed before
socat closes — without this, mapped-ram was silently a no-op.

CI workflow publishes .savevm.zst alongside the .qcow2 (optional asset;
CLI falls back to cold boot when missing). Test + verify steps go
through the CLI now that ISO generation is owned by packages/stack-cli.
2026-04-15 13:04:15 -07:00

46 lines
1.1 KiB
JSON

{
"name": "@stackframe/stack-cli",
"version": "2.8.83",
"repository": "https://github.com/stack-auth/stack-auth",
"description": "The CLI for Stack Auth. https://stack-auth.com",
"main": "dist/index.js",
"type": "module",
"bin": {
"stack": "./dist/index.js"
},
"scripts": {
"clean": "rimraf node_modules && rimraf dist",
"build": "tsdown && node scripts/copy-emulator-assets.mjs",
"dev": "tsdown --watch",
"lint": "eslint --ext .tsx,.ts .",
"typecheck": "tsc --noEmit",
"test": "vitest run"
},
"files": [
"README.md",
"dist",
"CHANGELOG.md",
"LICENSE"
],
"homepage": "https://stack-auth.com",
"keywords": [],
"author": "",
"license": "MIT",
"dependencies": {
"@anthropic-ai/claude-agent-sdk": "^0.2.73",
"@inquirer/prompts": "^7.0.0",
"@stackframe/js": "workspace:*",
"@stackframe/stack-shared": "workspace:*",
"commander": "^13.1.0",
"extract-zip": "^2.0.1",
"jiti": "^2.4.2"
},
"devDependencies": {
"@types/node": "20.17.6",
"rimraf": "^6.0.1",
"tsdown": "^0.20.3",
"typescript": "5.9.3"
},
"packageManager": "pnpm@10.23.0"
}