Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ on:
push:
branches: [main]
pull_request:
schedule:
- cron: "0 6 * * 1"

permissions:
contents: read
Expand All @@ -18,7 +20,7 @@ jobs:
node-version: 22
cache: npm
- run: npm ci
- run: npm run typecheck
- run: npm run check
- run: npm test
- run: npx playwright install --with-deps chromium
- run: npx playwright test
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ node_modules/
.bounda/
**/+types/
.wrangler/
.dev.vars
.dev.vars*
!.dev.vars.example
test-results/
playwright-report/
15 changes: 11 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,16 +14,22 @@ through the JSON API.

<!-- dash-content-end -->

The same project comes out of `npm create bounda@latest my-app -- --framework cloudflare`.
The same project comes out of `npm create bounda@latest my-app -- --framework cloudflare`; this
repository is generated from it on every release.

```bash
npm install # also runs bounda generate (prepare)
npm test # the domain, on an in-memory store
npm install
npm test # the app and its API, inside workerd
npm run test:e2e # the page against wrangler dev, in Playwright
npm run dev # wrangler dev on http://localhost:8787
npm run deploy # wrangler deploy, to your Cloudflare account
```

Every script first runs `bounda generate`, which writes the typed registry under `.bounda/` and a
`+types/` folder next to each module; run it yourself after adding a module, so your editor sees
its types. `dev`, `typecheck` and `check` also run `wrangler types`, which writes
`worker-configuration.d.ts` from `wrangler.jsonc`.

Open http://localhost:8787 once `dev` is running: `public/index.html` places orders and lists
them through the API. Or from a terminal:

Expand All @@ -45,7 +51,8 @@ bounda.config.ts storage: cloudflare()
src/worker.ts the Durable Object class and the HTTP API
public/index.html a page that uses the API, served as a static asset
wrangler.jsonc the binding and the SQLite migration for the object
tests/orders.test.ts the app on an in-memory adapter
tests/orders.test.ts the domain, on an in-memory store
tests/api.test.ts the API, against the Durable Object in workerd
e2e/demo.spec.ts the page, end to end
```

Expand Down
Loading
Loading