vista README

The project's README from github.com/Mantitup-Org/vista. As one markdown file: README.md.

Vista.js

Vista.js is a React 19 framework with App Router conventions, React Server Components, standalone .vista output, and a dual-engine model:

Official site: https://vista-js.vercel.app

Repository: https://github.com/Mantitup-Org/vista

Packages

Package Purpose
@vistagenic/vista Framework runtime, CLI, server/client exports, cache APIs, fonts, theme APIs
create-vista-app Scaffolds Vista apps with engine selection and package-manager prompts
vista-native Internal Rust/NAPI bridge used by the repo

Current Capabilities

Vista currently ships the following core surface:

Quick Start

Create a default app:

npx create-vista-app@latest my-app
cd my-app
npm run dev

Create a Flashpack app:

npx create-vista-app@latest my-app --engine flashpack
cd my-app
npm run dev

Create a typed API starter:

npx create-vista-app@latest my-app --typed-api

By default, generated apps use the same commands regardless of engine:

npm run dev
npm run build
npm run start

The selected engine is stored in vista.config.ts.

Package Examples

Theme provider from the package:

import { ThemeProvider, ThemeScript } from 'vista/theme';

Cache APIs from the package:

import { unstable_cache, revalidateTag, revalidatePath } from 'vista/cache';

Server helpers from the package:

import { cookies, headers, draftMode } from 'vista/server';

Monorepo Layout

vista/
├── apps/
│   └── web/                    # Official website and docs at vista.xyz
├── bench/                      # Vista-first benchmark fixtures
├── crates/                     # Top-level Rust crates and NAPI surface
├── flashpack/                  # Rust-backed Flashpack engine crates
├── packages/
│   ├── vista/                  # Framework package
│   └── create-vista-app/       # Scaffolding CLI
├── scripts/                    # Test, guard, and benchmark helpers
├── task.md                     # Execution ledger / milestone history
├── CONTRIBUTING.md
└── developer.md

Local Development

Install workspace dependencies:

pnpm install

Build the framework package after touching packages/vista/src:

npm --prefix packages/vista run build

Build the website:

npm --prefix apps/web run build

Build the native binding when you change crates/vista-napi:

npm --prefix crates/vista-napi run build

Common Commands

Command Purpose
pnpm build Build the workspace through flash-run.cjs
pnpm dev Run workspace dev tasks
pnpm test Full repo test chain
pnpm test:integrity Framework integrity guard
pnpm test:rsc-conformance RSC and route conformance suite
pnpm test:vista-output .vista standalone/output verification
pnpm test:flashpack-dev Flashpack dev/restart verification
pnpm test:flashpack-state Flashpack state reuse / cleanup verification
pnpm bench Full benchmark run
pnpm bench:quick Quick benchmark smoke run

Deployment Notes

The repo includes first-party deployment config for the official site:

apps/web is the deployment target. Its SEO route files live in app/(seo)/, not public/.

Release Flow

Maintainers publish from the development branch.

Typical sequence:

git add -A
git commit -m "release: x.y.z"
git push origin development
npx lerna publish from-package --yes
git tag vx.y.z
git push origin vx.y.z

Learn More

vista (Mantitup-Org/vista)

Searching Database…

2.3K ·GitHub
What is this?Vista.js is a React 19 web framework with App Router style file conventions, React Server Components and streaming SSR, similar in spirit to Next.js but with a dual-engine build system.
Is the default engine different from the Flashpack engine?Yes, the default engine is the main webpack-backed RSC/SSR pipeline, while Flashpack is an alternative Rust-backed engine that persists graph and runtime state in a .flash directory.
How do I create a new Vista app?Scaffold a project with the create-vista-app package, which prompts you to pick the default or Flashpack engine and a package manager; both engines then share the same build/dev commands.
What do I need installed before running Vista?Node.js 20 or newer is required, the monorepo is managed with pnpm, and the Flashpack engine depends on a compiled Rust/NAPI native binding (vista-native).
Are all of Vista's features production-ready?The typed API surface exposed through vista/stack is explicitly labeled experimental, and the Flashpack engine's native Rust binding has to be rebuilt separately when its source changes.
What is the difference between the default engine and Flashpack?Default uses a webpack-backed RSC/SSR pipeline, while Flashpack is a Rust-backed engine that persists graph and runtime state in a .flash directory for dev, build, and start.
What does the standalone .vista output include?It bundles manifests, file tracing data, PPR shell artifacts, and runtime metadata so a build can run as a standalone output.
What cache APIs does Vista provide?It ships Next.js-style cache primitives including unstable_cache, revalidateTag, revalidatePath, cacheTag, and cacheLife.
Why does the repo include a Rust crate?vista-native is an internal Rust/NAPI bridge used to power the Flashpack engine's native binding, built from crates/vista-napi.
What are similar projects?fresh, vue, ice, react-loadable, qiankun, react-router, nx, turborepo
Size
10.6 MB
Stars
2.3K
Age
1mo
Commits · 90 Days