feat(runtime): Vue terminal renderer with Ink-aligned API

Custom Vue 3 renderer for terminal UIs, built on yoga-layout for
flexbox and chalk for styling.

Components: Box, Text, Newline, Spacer, Static, Transform
Composables: useExit, useInput, useFocus, useFocusManager,
  useStdin, useStdout, useStderr, useTerminalSize
Entry: createApp(root) → app.mount(options) → app.waitUntilExit()
Focus: Ink-aligned Tab/Shift+Tab/Escape with Focusable[] ring
Internal subpath: @vue-tui/runtime/internal (yogaNodeTracker)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Yunfei He
2026-05-24 18:13:33 +08:00
parent def33588e3
commit ff82f6e064
38 changed files with 2373 additions and 0 deletions
+15
View File
@@ -0,0 +1,15 @@
import { defineConfig } from "vite-plus";
import vueJsx from "@vitejs/plugin-vue-jsx";
export default defineConfig({
plugins: [vueJsx()],
pack: {
entry: ["src/index.ts", "src/internal.ts"],
dts: { tsgo: true },
exports: true,
},
lint: {
options: { typeAware: true, typeCheck: true },
},
fmt: {},
});