Files
vue-tui/packages/runtime/package.json
T
Yunfei He 5c60a0af63 fix: upgrade text stack to grapheme-aware slicing/width (closes #21 grapheme classes)
Bump slice-ansi@9, string-width@8, wrap-ansi@10 and add cli-truncate@6
(both the runtime dep and the pnpm catalog entry for string-width). Rewrite
wrapText truncate variants to delegate to cli-truncate, matching Ink's
wrap-text.ts: grapheme clusters (ZWJ emoji, combining marks) stay whole and
newlines are preserved. Adjust the horizontal-clip left-edge compensation in
paint.ts because slice-ansi@9 drops a straddling wide grapheme whole rather
than splitting it, so lineX must advance by the actually-dropped width.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-28 17:57:52 +08:00

51 lines
1.2 KiB
JSON

{
"name": "@vue-tui/runtime",
"version": "0.0.2",
"description": "Vue 3 terminal renderer with Yoga flexbox layout, inspired by React Ink.",
"license": "MIT",
"files": [
"dist"
],
"type": "module",
"exports": {
".": "./dist/index.mjs",
"./internal": "./dist/internal.mjs",
"./package.json": "./package.json"
},
"publishConfig": {
"access": "public"
},
"scripts": {
"build": "vp pack",
"dev": "vp pack --watch",
"test": "vp test",
"check": "vp check",
"prepublishOnly": "vp run build"
},
"dependencies": {
"@alcalzone/ansi-tokenize": "catalog:",
"@vue/runtime-core": "^3.4.0",
"ansi-escapes": "catalog:",
"chalk": "^5.3.0",
"cli-boxes": "^3.0.0",
"cli-truncate": "^6.0.0",
"is-in-ci": "catalog:",
"patch-console": "catalog:",
"slice-ansi": "^9.0.0",
"string-width": "^8.0.0",
"terminal-size": "catalog:",
"wrap-ansi": "^10.0.0",
"yoga-layout": "^3.1.0"
},
"devDependencies": {
"@types/node": "^25.6.2",
"@vitejs/plugin-vue-jsx": "catalog:",
"typescript": "^6.0.3",
"vite-plus": "^0.1.20",
"vue": "^3.4.0"
},
"peerDependencies": {
"vue": "^3.4.0"
}
}