Compare commits

..

No commits in common. "243304780a99f7d83cb7dfb6fbc1a5b873962059" and "6c493a667df11b5cb7e37129b074b5d6316b60e7" have entirely different histories.

5 changed files with 11 additions and 43 deletions

View File

@ -26,40 +26,16 @@ And to make sure DNS is working:
bun dev bun dev
open localhost:3000 open localhost:3000
## Production Dev
Make sure you bundle the JS:
bun run bundle
If you want to test (or run) production with DNS features, use `NO_DNS`:
env NO_DNS=1 NODE_ENV=production bun start
You can also use the package commands:
# run without DNS
bun prod-nodns
# run normally
bun prod
## Commands ## Commands
Commands can return one of these types: Commands can return one of three types:
- `string` - `string`
- `{ error: string }` - `{ error: string }`
- `{ html: string }` - `{ html: string }`
- `{ text: string }`
They can also `throw` to display an error. They can also `throw` to display an error.
Additionally, you can return JS that gets immediately run in the browser using `script:`:
- `{ html: string, script: string }`
- `{ text: string, script: string }`
- `{ script: string }`
## Fonts ## Fonts
Use this to examine what's inside the C64 .woff2 font file in public/vendor: Use this to examine what's inside the C64 .woff2 font file in public/vendor:
@ -84,7 +60,7 @@ https://wakamaifondue.com/
- [ ] "project"-based rehaul - [ ] "project"-based rehaul
- [ ] game/bin/www cartridges - [ ] game/bin/www cartridges
- [-] pico8-style games - [-] pico8-style games
- [x] init/update/draw - [x] init/update/draw
- [x] simple drawing api - [x] simple drawing api
- [x] gamepad support - [x] gamepad support
- [ ] sounds - [ ] sounds

View File

@ -7,19 +7,14 @@ import { highlightToHTML } from "../lib/highlight"
export default function () { export default function () {
return highlightToHTML([ return highlightToHTML([
`NODE_ENV=${valueOrNone(process.env.NODE_ENV)}`, `NODE_ENV=${process.env.NODE_ENV || "(none)"}`,
`NO_DNS=${valueOrNone(process.env.NO_DNS)}`, `BUN_HOT=${process.env.BUN_HOT || "(none)"}`,
`BUN_HOT=${valueOrNone(process.env.BUN_HOT)}`, `PORT=${process.env.PORT || "(none)"}`,
`PORT=${valueOrNone(process.env.PORT)}`, `USER=${process.env.USER || "(none)"}`,
`USER=${valueOrNone(process.env.USER)}`, `PWD=${process.env.PWD || "(none)"}`,
`PWD=${valueOrNone(process.env.PWD)}`,
`NOSE_STARTED=${NOSE_STARTED}`, `NOSE_STARTED=${NOSE_STARTED}`,
`NOSE_SYS_BIN="${NOSE_SYS_BIN}"`, `NOSE_SYS_BIN=${NOSE_SYS_BIN}`,
`NOSE_DIR="${NOSE_DIR}"`, `NOSE_DIR=${NOSE_DIR}`,
`GIT_SHA="${GIT_SHA}"`, `GIT_SHA=${GIT_SHA.slice(0, 8)}`,
].join("\n")) ].join("\n"))
} }
function valueOrNone(val: string | undefined): string {
return val ? `"${val}"` : ""
}

View File

@ -8,7 +8,7 @@ export default async function () {
return { error: "Can only update in production." } return { error: "Can only update in production." }
} }
const { stdout } = await $`git pull`.quiet() const { stdout } = await $`cd .. && git pull`.quiet()
const out = stdout.toString() const out = stdout.toString()
if (/up to date/.test(out)) { if (/up to date/.test(out)) {

View File

@ -7,7 +7,6 @@
"dev": "env BUN_HOT=1 bun --hot src/server.tsx", "dev": "env BUN_HOT=1 bun --hot src/server.tsx",
"start": "bun src/server.tsx", "start": "bun src/server.tsx",
"prod": "env NODE_ENV=production bun src/server.tsx", "prod": "env NODE_ENV=production bun src/server.tsx",
"prod-nodns": "env NO_DNS=1 NODE_ENV=production bun src/server.tsx",
"build": "./scripts/build.sh", "build": "./scripts/build.sh",
"runner": "env NODE_ENV=production bun run src/runner.ts", "runner": "env NODE_ENV=production bun run src/runner.ts",

View File

@ -17,7 +17,6 @@ const host = hostRaw.toString().trim()
let dnsInit = false let dnsInit = false
export async function initDNS() { export async function initDNS() {
if (process.env.NO_DNS) return
if (process.env.NODE_ENV !== "production") return if (process.env.NODE_ENV !== "production") return
if (!await expectShellCmd("avahi-publish")) return if (!await expectShellCmd("avahi-publish")) return
@ -37,7 +36,6 @@ export async function initDNS() {
} }
export function publishAppDNS(app: string) { export function publishAppDNS(app: string) {
if (process.env.NO_DNS) return
if (process.env.NODE_ENV !== "production") return if (process.env.NODE_ENV !== "production") return
if (!dnsInit) throw "publishAppDNS() must be called after initDNS()" if (!dnsInit) throw "publishAppDNS() must be called after initDNS()"