vue-termui
[!IMPORTANT] vue-termui renders through OpenTUI's native engine, which requires FFI. Run your app with Node ≥ 26.3 and
--experimental-ffi(add--disable-warning=ExperimentalWarningto silence the notice), or use Bun, which supports FFI natively.
Install
Scaffold a new app:
npm create vue-termui@latest
Or add it to an existing project:
pnpm add vue-termui
Usage
<!-- App.vue -->
<script setup lang="ts">
import { Box, Text, onKeyDown, useExit } from 'vue-termui'
const exit = useExit()
onKeyDown((key) => key.name === 'q' && exit())
</script>
<template>
<Box border>
<Text>Hello from the terminal! Press <Text bold>q</Text> to quit.</Text>
</Box>
</template>
// main.ts
import { createApp } from 'vue-termui'
import App from './App.vue'
const app = await createApp(App)
app.mount()
Compile .vue files with the Vite plugin:
// vite.config.ts
import { defineConfig } from 'vite'
import vueTermui from 'vue-termui/vite'
export default defineConfig({
plugins: [vueTermui()],
})
License
Related Packages
termdom-vue
Vue 3 renderer for TermDOM: Vue components rendered to the terminal through a re...
368
2
Version History
| Version | Released | License |
|---|---|---|
| 0.3.0 | MIT | |
| 0.2.0 | MIT | |
| 0.1.0 | MIT | |
| 0.0.19 | MIT | |
| 0.0.18 | MIT | |
| 0.0.17 | MIT | |
| 0.0.16 | MIT | |
| 0.0.15 | MIT | |
| 0.0.14 | MIT | |
| 0.0.13 | MIT | |
| 0.0.12 | MIT | |
| 0.0.11 | MIT | |
| 0.0.10 | MIT | |
| 0.0.9 | MIT | |
| 0.0.8 | MIT | |
| 0.0.7 | MIT | |
| 0.0.5 | MIT | |
| 0.0.4 | MIT | |
| 0.0.3 | MIT | |
| 0.0.2 | MIT | |
| 0.0.1 | ||
| 0.0.0 | MIT |