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
Что это?Vista.js — это веб-фреймворк на React 19 с файловыми конвенциями в стиле App Router, React Server Components и потоковым SSR; по духу похож на Next.js, но с системой сборки на двух движках.
Отличается ли стандартный движок от Flashpack?Да: стандартный движок — это основной конвейер RSC/SSR на webpack, а Flashpack — альтернативный движок на Rust, который сохраняет состояние графа и рантайма в каталоге .flash.
Как создать новое приложение Vista?Создайте каркас проекта пакетом create-vista-app: он предложит выбрать стандартный движок или Flashpack и пакетный менеджер; дальше у обоих движков одинаковые команды сборки и разработки.
Что нужно установить перед запуском Vista?Нужен Node.js 20 или новее, монорепозиторий управляется через pnpm, а движку Flashpack требуется скомпилированная нативная привязка Rust/NAPI (vista-native).
Все ли возможности Vista готовы для продакшена?Типизированный API, доступный через vista/stack, прямо помечен как экспериментальный, а нативную Rust-привязку движка Flashpack при изменении её исходников нужно пересобирать отдельно.
В чём разница между стандартным движком и Flashpack?Стандартный использует конвейер RSC/SSR на webpack, а Flashpack — движок на Rust, который сохраняет состояние графа и рантайма в каталоге .flash для команд dev, build и start.
Что входит в автономную сборку .vista?Туда упакованы манифесты, данные трассировки файлов, артефакты PPR-оболочки и метаданные рантайма, чтобы сборка могла работать как автономный результат.
Какие API кеширования есть в Vista?В неё входят примитивы кеширования в стиле Next.js: unstable_cache, revalidateTag, revalidatePath, cacheTag и cacheLife.
Зачем в репозитории Rust-крейт?vista-native — это внутренний мост Rust/NAPI, на котором работает нативная привязка движка Flashpack; собирается из 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