Skip to content
ultrastorage
Esc
navigateopen⌘Jpreview
On this page

Development

Run checks, build the package, and maintain the Blume documentation website.

This project uses Vite+ with the Node.js version in .node-version and the package manager declared in package.json.

vp install
vp check
vp test run
vp run test:coverage # enforces 100% runtime coverage
vp pack

Use vp pack or vp run build to build this library, including ESM, CJS, and TypeScript declarations. vp build runs Vite’s application build and expects an HTML entry point. Formatting, linting, and packaging options live in vite.config.ts.

Documentation website

The source pages are plain Markdown in docs/. Blume reads docs/blume.config.ts and generates navigation, syntax highlighting, local search, and static pages.

Run these commands from the repository root:

vp run docs:dev
vp run docs:validate
vp run docs:build
vp run docs:preview

The site builds to docs/dist/. The package still builds to the root dist/ with vp pack; neither build replaces the other. Generated .blume/ directories and website output are ignored by Git and excluded from the npm package.

Each page starts with title and description frontmatter. Begin the body with level-two headings because Blume supplies the page title. Add new page routes to the sidebar in docs/blume.config.ts. Use root-relative website links, such as /guides/expiration, and run docs:validate to check routes and anchors. Use repository URLs for files that are not website pages.

Hosting the static site

Configure a static host to install development dependencies, run vp run docs:build, and publish docs/dist. The repository pins its Node and package-manager versions. Install Vite+ on the build host, or run the underlying blume build command from docs/ with the package manager’s script environment.

The production site URL is https://ultrastorage.dev, configured through deployment.site in docs/blume.config.ts. For a project hosted below a URL path, also set deployment.base.

See the Blume deployment guide for host-specific settings, and the package spec and changelog for design and release notes.

Cloudflare Workers

The root wrangler.jsonc configures the ultrastorage Worker to serve docs/dist as static assets. Configure the connected Git repository in Cloudflare Workers Builds with these settings:

Setting Value
Worker name ultrastorage
Production branch main
Root directory Repository root
Build command pnpm run docs:build
Deploy command npx wrangler deploy
Preview deploy command npx wrangler versions upload
Build variable PNPM_VERSION=10.30.3

Leave automatic dependency installation enabled, including development dependencies. Cloudflare reads the Node version from .node-version.

The configured deployment.site supplies the production URL for canonical links and the sitemap. Blume’s automatic Cloudflare site URL detection targets Pages, so Workers deployments need an explicit URL. Add ultrastorage.dev as a custom domain in the Worker’s Domains & Routes settings.

Was this page helpful?