vue-lynx
Vue 3 custom renderer for building Lynx apps.
Pre-Alpha — Expect bugs and enjoy!
Documentation
Visit vue.lynxjs.org for full documentation, including:
IDE Setup
Install the Vue Language Features (Volar) extension for VS Code, or the equivalent for your editor (Zed has built-in Vue support via its Vue extension).
Add the following to your tsconfig.json (or jsconfig.json for JS projects):
{
"compilerOptions": {
"types": ["vue-lynx/types"]
},
"vueCompilerOptions": {
"plugins": ["vue-lynx/types/volar-plugin"]
}
}
This enables:
- Correct prop types and completions for all Lynx elements (
<view>,<text>,<image>, etc.) - IDE errors when using unsupported event modifiers (
.capture,.passive) - Type-checked
global-bind*,global-catch*, andmain-thread-*props
Projects created with create-vue-lynx have this pre-configured.
Examples
See the examples/ directory for complete working examples:
hello-world— Minimal starterbasic— Core features (events, refs, reactivity)reactivity—reactive(),toRefs(), and composablestodomvc— TodoMVC with CSS Selectorsoption-api— Options API stylevue-router— Vue Router integrationpinia— Pinia state managementsuspense— Suspense APItailwindcss— Tailwind CSS stylinggallery— Photo galleryswiper— Swiper component7guis— 7GUIs benchmark tasks
Contributing
git clone https://github.com/Huxpro/vue-lynx.git
cd vue-lynx
pnpm install
pnpm build
Scripts
| Command | Description |
|---|---|
pnpm build |
Build all packages (internal, runtime, main-thread, plugin) |
pnpm dev |
Watch mode for runtime, main-thread, and plugin |
pnpm test |
Run tests (testing-library) |
pnpm test:upstream |
Run upstream Vue compatibility tests |
pnpm test:dev-smoke |
Run dev smoke tests |
pnpm lint |
Lint with Biome |
Run examples locally
cd examples/basic
pnpm install
pnpm dev