Document local Cloudflare dev workflow and standardize local port
Adds a reusable DEV_SETUP guide, prevents accidental secret commits with .dev.vars ignore, sets worker dev to port 3000 to avoid local tool conflicts, and includes a compatibility route for /logo-black.png.
This commit is contained in:
parent
80917efa8f
commit
c31f8d8cfe
1
.gitignore
vendored
1
.gitignore
vendored
@ -33,6 +33,7 @@ yarn-error.log*
|
|||||||
|
|
||||||
# env files (can opt-in for committing if needed)
|
# env files (can opt-in for committing if needed)
|
||||||
.env*
|
.env*
|
||||||
|
.dev.vars
|
||||||
|
|
||||||
# vercel
|
# vercel
|
||||||
.vercel
|
.vercel
|
||||||
|
|||||||
63
DEV_SETUP.md
Normal file
63
DEV_SETUP.md
Normal file
@ -0,0 +1,63 @@
|
|||||||
|
# Dev Setup Notes (Local)
|
||||||
|
|
||||||
|
This file captures the local development setup used in this session so future work can resume quickly.
|
||||||
|
|
||||||
|
## Project Location
|
||||||
|
|
||||||
|
- Main working copy: `/Users/averyfelts/Desktop/DevSmokeWebsite`
|
||||||
|
- Old typo folder exists but unused: `/Users/averyfelts/Desktop/DevSmokWebsite`
|
||||||
|
|
||||||
|
## Runtime Choice
|
||||||
|
|
||||||
|
- Use Cloudflare Worker dev flow (not plain `next dev`) for D1-backed features.
|
||||||
|
- Dev server is pinned to port `3000` to avoid conflicts with Signet tooling.
|
||||||
|
|
||||||
|
## Commands
|
||||||
|
|
||||||
|
From `/Users/averyfelts/Desktop/DevSmokeWebsite`:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
bun install
|
||||||
|
bun run d1:migrate
|
||||||
|
bun run build:worker
|
||||||
|
bun run dev:worker
|
||||||
|
```
|
||||||
|
|
||||||
|
Expected URL:
|
||||||
|
|
||||||
|
- `http://localhost:3000`
|
||||||
|
|
||||||
|
## Key Local Changes Made
|
||||||
|
|
||||||
|
1. `package.json`
|
||||||
|
- Updated script:
|
||||||
|
- `dev:worker` from `wrangler dev` to `wrangler dev --port 3000`
|
||||||
|
|
||||||
|
2. `.gitignore`
|
||||||
|
- Added `.dev.vars` so local worker env secrets are not tracked.
|
||||||
|
|
||||||
|
3. `src/app/logo-black.png/route.ts`
|
||||||
|
- Added compatibility route to stop `GET /logo-black.png 404`.
|
||||||
|
- Route redirects `/logo-black.png` to `/icons/icon-192.png`.
|
||||||
|
|
||||||
|
## Env File Notes
|
||||||
|
|
||||||
|
- Local app env file: `.env.local`
|
||||||
|
- Local wrangler env file: `.dev.vars`
|
||||||
|
- Both are intended for local development.
|
||||||
|
- Keep secrets out of git.
|
||||||
|
|
||||||
|
## Cloudflare/D1
|
||||||
|
|
||||||
|
- Wrangler auth verified for this machine.
|
||||||
|
- Local D1 migrations were applied via `bun run d1:migrate`.
|
||||||
|
|
||||||
|
## Known Warnings
|
||||||
|
|
||||||
|
- Wrangler/OpenNext may print duplicate object key warnings from generated `.open-next` output.
|
||||||
|
- These warnings did not block startup in this session.
|
||||||
|
|
||||||
|
## Session Preferences to Preserve
|
||||||
|
|
||||||
|
- Keep file reads tightly scoped to explicit paths when requested.
|
||||||
|
- Avoid broad folder crawling unless asked.
|
||||||
@ -9,7 +9,7 @@
|
|||||||
"lint": "eslint",
|
"lint": "eslint",
|
||||||
"postinstall": "prisma generate",
|
"postinstall": "prisma generate",
|
||||||
"build:worker": "opennextjs-cloudflare build",
|
"build:worker": "opennextjs-cloudflare build",
|
||||||
"dev:worker": "wrangler dev",
|
"dev:worker": "wrangler dev --port 3000",
|
||||||
"deploy:app": "bun run build:worker && wrangler deploy",
|
"deploy:app": "bun run build:worker && wrangler deploy",
|
||||||
"deploy:cron": "cd cron-worker && wrangler deploy --config wrangler.toml",
|
"deploy:cron": "cd cron-worker && wrangler deploy --config wrangler.toml",
|
||||||
"deploy": "bun run deploy:app && bun run deploy:cron",
|
"deploy": "bun run deploy:app && bun run deploy:cron",
|
||||||
@ -67,4 +67,4 @@
|
|||||||
"sharp",
|
"sharp",
|
||||||
"unrs-resolver"
|
"unrs-resolver"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
6
src/app/logo-black.png/route.ts
Normal file
6
src/app/logo-black.png/route.ts
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
import { NextRequest, NextResponse } from 'next/server';
|
||||||
|
|
||||||
|
export async function GET(request: NextRequest) {
|
||||||
|
const target = new URL('/icons/icon-192.png', request.url);
|
||||||
|
return NextResponse.redirect(target, 307);
|
||||||
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user