Set it with `dist_dir` in bunext.config.ts or `--dist-dir` on any CLI
command (precedence: --dist-dir > BUNEXT_DIST_DIR > dist_dir > .bunext).
setupDistDir() resolves it in the CLI's preAction hook and at the start
of bunextInit(), so custom servers get the config value too.
- Read dist-derived paths from grabDirNames() inside functions instead of
at import time; a guard test enforces this.
- Derive the client asset URL prefix from the dist dir instead of
hard-coding /.bunext.
- Make the dev watcher ignore rules and probe follow the dist dir.
- Validate the dir: inside the project root, outside src/, public/ and
node_modules/, URL-safe characters only.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
- Add generateSitemap util (exported as bunext.bunextGenerateSitemap)
that builds sitemap.xml from static pages, with exclude patterns,
additional paths (array or sync/async function), lastmod from file
mtime, trailing slash, and default changefreq/priority options
- Let page .server.ts files export a `sitemap` function to list URLs
for dynamic routes, or override a static page's entry
- Add `bunext sitemap` command reading `sitemap` from bunext.config.ts,
writing public/sitemap.xml by default, with --output/--origin flags
- Fix handle-routes test leaking a grab-router module mock into
bunext-req-handler tests; set global.BUNEXT_ROUTER instead
- Ignore /.tmp
- Document sitemap usage in README and CLAUDE.md
Co-Authored-By: Claude Opus 5.5 <[email protected]>