Ericastate is a Boilerplate starter template that combines the Astro site builder with the Bun runtime and Bun's native test runner, wired for deployment to Vercel or a Node.js server.
What is Ericastate?
Ericastate is a GitHub template repository whose stated purpose is to serve as a template for using Bun and Bun test with Astro plus Vercel. It takes a scaffolded Astro project with a preconfigured dependency set — Astro, React, TypeScript, jose, nanoid, and testing libraries — and produces a deployable Astro site with a working test setup. The repository carries the "template" topic and currently has 4 GitHub stars; its README notes that Erica State is still under development.
What makes Ericastate stand out?
Ericastate stands out for making Bun the default runtime and test runner for an Astro project while keeping a complete React and deployment toolchain in its dependency list.
- Bun-first tooling — the README documents
bun ifor dependency installation andbun testfor running the test suite, with bun-types providing TypeScript definitions for the Bun runtime. - Astro framework with checking — astro is the core site builder, and @astrojs/check provides Astro type and configuration checking from the command line.
- React component islands — @astrojs/react, react, and react-dom are included so interactive UI islands can be written as React components inside Astro pages.
- Vercel and Node deployment adapters — @astrojs/vercel deploys the site to Vercel, while @astrojs/node targets a Node.js server, both preconfigured as dependencies.
- Preconfigured test environment — dev dependencies bundle @testing-library/react, @testing-library/jest-dom, @happy-dom/global-registrator for DOM emulation, and msw for mocking REST/GraphQL APIs during test runs.
- Utility dependencies — jose adds JWA, JWS, JWE, JWT, JWK, and JWKS support; nanoid generates secure URL-friendly unique IDs; canvas-confetti (with type definitions) provides browser confetti animations.
- TypeScript throughout — typescript, @types/react, and @types/react-dom ship in the template, so the scaffold is typed from the start.
Who should use Ericastate?
Ericastate is aimed at developers who want an Astro project managed entirely through Bun, with a test environment and a Vercel deployment path already configured.
- Astro developers who prefer Bun over Node — this template removes the Node runtime assumption by standardizing on Bun for installs and tests.
- Teams deploying Astro sites to Vercel — the @astrojs/vercel adapter is already a dependency, cutting out the usual adapter setup step.
- Developers who want a working test scaffold — Bun test, Testing Library, Happy DOM, and msw are wired as dev dependencies, so writing the first test does not require installing test infrastructure.
Use cases
The template's dependency set covers frontend development, hosting setup, and token-based authentication scenarios.
- Frontend developers: scaffold an Astro site with React islands and immediately run a test suite through Bun's
bun testcommand. - Open-source maintainers: fork the template as a starting point for a Vercel-hosted product or documentation site, since the build tooling and adapter are preconfigured.
- App builders using JWTs: the included jose library provides JSON Web Token signing and verification in browser and server runtimes, so token-based auth can be added with no extra dependency.
How does Ericastate work?
The README documents a two-command workflow: bun i installs all dependencies, then bun test executes the test suite using Bun's built-in test runner. Tests run against a simulated browser DOM provided by Happy DOM via @happy-dom/global-registrator, with Testing Library utilities for React DOM queries and msw for intercepting API requests.
FAQ
Is Ericastate ready to use?
The repository README states that Erica State is still under development, so the template is not yet a finished site. The dependency set and test configuration are in place, but the actual site content has not been implemented yet.
Which framework does Ericastate use?
Ericastate is built on Astro, with React available through @astrojs/react for component islands. TypeScript is included for type safety, and Vite powers the development and build tooling under Astro.
Where can Ericastate be deployed?
The template includes both the @astrojs/vercel adapter for Vercel hosting and the @astrojs/node adapter for a Node.js server. The deployment target is chosen through Astro's adapter configuration.
How are tests run in Ericastate?
Tests run with the bun test command after installing dependencies with bun i. The test environment combines Bun's test runner with @testing-library/react, jest-dom matchers, Happy DOM for DOM emulation, and msw for mocking REST and GraphQL API calls.





