three fixes to last night's build switch, all found by using it. THE CSS. bunfig.toml declares the tailwind plugin under [serve.static], which applies to bun's static SERVING — the html-import path the app used until yesterday — and not to a programmatic Bun.build(). so the first build emitted the xterm css and no tailwind at all: layout intact, every utility class missing. a plugin list is not inherited from bunfig; it has to be passed. css goes 110KB to 278KB, 1127 --tw- variables, .flex present, --color-duck present. THE BUILD DIRECTORY. clearing it before building was meant to stop 20MB of content-hashed chunks accumulating per install, and instead meant a FAILED build left nothing — the exact opposite of the promise in the comment directly above it. it was also a race: two builds overlapping had one process's rm delete the other's shell, leaving js and css with no html and a 503 that read as a build failure when the build had succeeded. now it builds into build.next/ and swaps only a complete, successful build into place, and refuses to swap one that produced no shell at all — a build can report success and emit no html, and serving that is worse than serving the previous one. AND IT SAYS WHICH PATH IS SERVING. "is it serving the build I just made, or the one bundled at import?" was answerable only by hiding the shell and watching for a 503, which is how it got answered once. the distinction matters precisely where it is hardest to see: the html import is fixed when the module graph loads, so an install would rebuild build/ and serve something else entirely. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
72 lines
1.4 KiB
Plaintext
72 lines
1.4 KiB
Plaintext
# dependencies (bun install)
|
|
node_modules
|
|
|
|
# output
|
|
out
|
|
src/videos/**/out
|
|
dist
|
|
dist_*
|
|
.dist
|
|
runtime-scripts
|
|
*.tgz
|
|
|
|
# code coverage
|
|
coverage
|
|
*.lcov
|
|
|
|
# logs
|
|
logs
|
|
_.log
|
|
report.[0-9]_.[0-9]_.[0-9]_.[0-9]_.json
|
|
|
|
# dotenv environment variable files
|
|
.env
|
|
.env.development.local
|
|
.env.test.local
|
|
.env.production.local
|
|
.env.local
|
|
|
|
# caches
|
|
.eslintcache
|
|
.cache
|
|
*.tsbuildinfo
|
|
|
|
# IntelliJ based IDEs
|
|
.idea
|
|
|
|
# Finder (MacOS) folder config
|
|
.DS_Store
|
|
|
|
src/config.ts
|
|
|
|
# Playwright
|
|
playwright/
|
|
.wwebjs_cache/
|
|
|
|
# generated from index.html by scripts/gen-index.ts
|
|
src/apps/officer-web/index.gen.html
|
|
|
|
# scratch scripts — never commit these
|
|
*.tmp.ts
|
|
|
|
# Sidecar assets published at install time — copies of files that live in each sidecar's own tree.
|
|
public/plugins/
|
|
|
|
# Written by machine-setup.sh to record completed steps; per-machine, never shared.
|
|
.setup-progress
|
|
.setup-answers
|
|
|
|
# Written by officer-setup.sh; per-machine.
|
|
scripts/setup/officer-setup/.setup-progress
|
|
|
|
# Generated by officer-setup, describing THIS install's processes. Never committed:
|
|
# the repository has no ecosystem file at all any more, and the next machine
|
|
# generates its own. See scripts/setup/officer-setup/lib/services.sh.
|
|
ecosystem.config.cjs
|
|
|
|
# The built SPA and the generated plugin module — both describe THIS install's plugin set and are
|
|
# rewritten on every install. See servers/plugins/generate.ts.
|
|
build/
|
|
build.next/
|
|
src/apps/officer-web/Plugins.gen.tsx
|