Conversation
|
@posva is attempting to deploy a commit to the Vercel Labs Team on Vercel. A member of the Team first needs to authorize it. |
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
|
Warning Review the following alerts detected in dependencies. According to your organization's Security Policy, it is recommended to resolve "Warn" alerts. Learn more about Socket for GitHub.
|
Vue 3 component wrapper around @wterm/dom, mirroring @wterm/react. Plain .ts only (no SFCs) — builds with tsc alone. Uses defineEmits for events and defineExpose for the imperative handle; no composable.
In-browser bash demo using @wterm/vue + @wterm/just-bash, with theme switching and a virtual filesystem. Uses Tailwind v4 and portless on vue-example.wterm.localhost. Also simplify @wterm/vue prop declarations (optional Vue prop shorthand — equivalent behavior).
Emits: array form → object form with validator signatures so payload types flow to `@event="..."` handlers and to `emit(...)` inside setup. Exposed handle: switch from `defineExpose` (whose types only flow in `<script setup>`) to returning bindings from `setup()` and rendering via a `render()` option. Vue auto-unwraps refs and merges the return into `InstanceType<typeof Terminal>`, so template refs typed as `ref<InstanceType<typeof Terminal>>` see write/resize/focus/instance with correct signatures — no casts needed. Adds Terminal.types.test.ts with expectTypeOf + @ts-expect-error guards so regressions break `tsc --noEmit`.
|
@ctate I wanted to play with wterm in some of my Vue apps so I figured I might as well contribute the Vue version of this! |
Mirror the React docs for @wterm/vue: new /vue page, nav/title entries, install + quick-start blocks in get-started and themes, Vue-only props, Vue events, and Template Ref sections in api-reference and configuration.
Summary
@wterm/vuepackageStill as a draft because I want to improve the types to make<Terminal>fully type safeFully typesafe with minimal runtime overhead