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: