Public Svelte site for Evergreen Labs, deployed through a Cloudflare Worker and static assets.
To install dependencies:
bun install
To run the development server:
bun run dev
The public site links to /contact-email?subject=Project%20conversation instead
of embedding the contact email in the Svelte bundle. The Cloudflare Worker reads
the destination from CONTACT_EMAIL and returns a noindex, no-store mailto
handoff page.
For local Cloudflare Worker testing, create an untracked .dev.vars file:
[email protected]
For staging and production, configure CONTACT_EMAIL as a Cloudflare Worker
environment variable. Do not commit .dev.vars or other local env files.
To build for production:
bun run build
The build outputs static assets plus dist/_worker.js.
To run tests:
bun run test
The normal validation lanes are:
bun run check
bun run test
bun run test:e2e
bun run build
evergreen-io/
├── src/
│ ├── lib/ # Reusable components and utilities
│ ├── tests/ # Test files
│ ├── app.d.ts # TypeScript definitions
│ ├── App.svelte # Root Svelte component
│ ├── main.ts # Application entry point
│ └── app.css # Global styles
├── public/ # Static assets
│ └── index.html # HTML template
└── package.json # Project dependencies and scripts
This project uses Bun as the JavaScript runtime and package manager, and Svelte as the frontend framework.