Vyriy Preset - SPA
Calm cloud-ready single page application built as a Yarn workspace monorepo.
Create this example
npm create vyriy@latest
Choose the spa preset.
Workspaces
@w/spa
Client-side React application in workspaces/spa.
- Entry point:
workspaces/spa/index.tsx - Webpack config:
workspaces/spa/webpack.config.ts - Production output:
dist/spa/index.js - Documentation:
workspaces/spa/README.md
@p/components
Shared React component package in packages/components.
- Public entry point:
packages/components/index.ts - Current public exports:
Page,PageProps,PageType - Documentation:
packages/components/README.md
Requirements
- Node.js
>=24.0.0 - Yarn
4.16.0
Development
Start the SPA development server:
yarn start:spa
Start Storybook:
yarn storybook
Run all start scripts:
yarn start
Build
Build the SPA:
yarn build:spa
Build Storybook:
yarn build:storybook
Run all build scripts:
yarn build
Validation
Run the full project check:
yarn check
Run individual validation steps:
yarn lint
yarn test
Run focused Jest checks:
yarn jest packages/components --runInBand --coverage=false
yarn jest workspaces/spa --runInBand --coverage=false
Formatting And Fixes
Apply configured format, ESLint, and Stylelint fixes:
yarn fix
Project Guidance
These articles describe the development approach behind this preset and provide practical guidance for evolving a project on top of it:
- Calm Development Environment: Node.js, Corepack, Yarn and Static Preview - how to keep the local development environment predictable and easy to reproduce.
- Calm App Structure for the Vyriy Ecosystem - a practical project structure for Vyriy applications: shared configs, small packages, thin workspaces, Storybook docs, tests, and deployable entry points.
- Storybook as Project Documentation - how to use Storybook as living project documentation and a component playground.