Commit Graph
183 Commits
Author SHA1 Message Date
tbenandClaude Opus 5.5 3a75880ae4 Date sitemap lastmod from the build pipeline; warn on skipped pages
- bunext build records when each page's client bundle hash last changed
  in .bunext/page-lastmod.json (sitemap.lastmod_file to relocate). The
  hash covers the page's whole import graph, so component edits re-date
  every page that uses them. The sitemap uses these dates as lastmod
- Add sitemap.default_lastmod
- BREAKING: use_file_lastmod now defaults to false (file mtimes are reset
  by checkouts); it is a fallback after the build record
- Warn when a page or __root.tsx is skipped because its default export
  is not at the start of a line (e.g. export { Page as default })
- Replace leaking module mocks in tests (log, grab-root-file-path) with
  spies and fixtures

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-14 18:25:38 +01:00
tbenandClaude Opus 5.5 be4bebaa22 Add robots.txt generation and sitemap chunking
- bunext sitemap now writes public/robots.txt (configurable via the
  robots config key; robots: false or --no-robots to skip). Hand-written
  robots.txt files are never overwritten without a robots config
- Large sitemaps are split into public/sitemap-chunks/sitemap-N.xml
  (sitemap.chunk_size, default 10,000, max 50,000; 50MB per file) with
  sitemap.xml as a sitemap index; stale chunks are cleaned up
- Export bunextGenerateRobotsTxt
- Run tests in publish.sh

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-14 18:02:52 +01:00
tben 1169729b06 Add sitemap generation utility 2026-10-14 17:42:27 +01:00
tben 632881e174 Add sitemap generation utility 2026-10-14 17:41:50 +01:00
tbenandClaude Opus 5.5 d9de858439 Add sitemap generation and bunext sitemap command
- 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]>
2026-10-14 17:41:21 +01:00
tben 3025b1681d Fix module watcher errors 2026-10-14 12:30:41 +01:00
tben eefb2ea5d2 Fix security vulnerabilities 2026-10-13 15:52:34 +01:00
tbenandClaude Opus 5.5 74103a19c9 Fix security vulnerabilities and request handling bugs
- Move page cache out of the publicly served .bunext/public dir and hash cache keys
- Skip caching credentialed requests, non-2xx and Set-Cookie responses; cap entries
- Enforce API body size limit while reading; keep req body readable for handlers
- Hide error messages from clients in production
- Escape inline script JSON; strip cookies from HMR payloads
- Only trust X-Forwarded-Proto with trust_proxy config
- Fix console race in SSR, dotted page paths, middleware rewrites,
  excluded path status, encoded static file names, symlinked dirs
- Upgrade vulnerable deps, remove micromatch, pin bun versions, delete dead code

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-13 15:48:08 +01:00
tben 4238d9a4ea Fix watcher rebuild on page add and delete 2026-10-13 15:18:41 +01:00
tben 7bab610b38 Fix failing tests, update page component handler to exclude 404 pages on retries 2026-10-03 03:32:01 +01:00
tben 6e6cfef5e5 Fix failing tests 2026-10-03 03:18:03 +01:00
tben 3a4ece5255 Updates 2026-10-02 14:50:13 +01:00
tben 8fa5b64b48 Fix build lags 2026-10-02 14:48:38 +01:00
tben 17a5c3df01 Updates 2026-10-02 07:23:33 +01:00
tben 7e353dbeb3 Error handling bugfix: pass #2 2026-10-02 07:20:55 +01:00
tben d8ea4f8e02 Error handling bugfix: pass #1 2026-10-02 07:04:22 +01:00
tben 39a5e91eeb Add build info JSON file after builds 2026-09-23 05:18:53 +01:00
tben 2335c60cc3 Refactor artifacts to use relative directory for build step and retrieval 2026-09-23 05:08:54 +01:00
tben 2803dfa0be Updates 2026-09-22 16:52:54 +01:00
tben d4cc401209 Updates 2026-09-22 16:43:14 +01:00
tben 15eb1f7982 Updates 2026-09-22 16:07:09 +01:00
tben 1c52617728 Updates 2026-09-22 16:01:25 +01:00
tben 1bf1b651db Update dev server 2026-08-14 13:12:35 +01:00
tben 247a64c873 Update dev server 2026-08-14 12:59:20 +01:00
tben f590deb11b Update dev server 2026-08-14 09:58:12 +01:00
tben 3426c7b53b Update dev server 2026-08-14 09:57:22 +01:00
tben afd1af1827 Update dev server 2026-08-14 09:55:57 +01:00
tben 22d3dedab2 Update page server types 2026-08-14 06:49:12 +01:00
tben 8d12329f01 Add perpetual watcher reload in dev 2026-08-13 05:39:14 +01:00
tben 78e86b3999 Rename global variables 2026-08-03 12:01:40 +01:00
tben 87948340b0 Add public envs 2026-08-03 08:42:33 +01:00
tben 86ea86e7bd Updates 2026-08-01 05:25:47 +01:00
tben 596b9de047 Add request cookie to HMR reload pipeline 2026-07-31 07:21:52 +01:00
tben 9da1e16318 Bugfix: Fix dev function 2026-07-30 14:50:54 +01:00
tben 823c5bb1ca Remove bun imports from esbuild bundler 2026-07-30 11:52:08 +01:00
tben 88ead3b3d6 Remove all Loader.registry.delete lines 2026-07-29 14:05:12 +01:00
tben 45509deff8 Dev Server Refresh Bugfix. Loop happens after a file route is refactored to a folder route with index.ts 2026-07-29 13:55:23 +01:00
tben a19863b3e9 Updates 2026-07-20 20:54:59 +01:00
tben a9cd51d71c Bugfix: update stale HMR after fixed errors 2026-07-20 20:54:39 +01:00
tben e3a0f5fbeb Error handling bugfix in dev server 2026-07-20 20:41:30 +01:00
tben 1d0ac4aa80 Update start logic 2026-07-01 19:23:05 +01:00
tben 817beacc7a Update build step 2026-07-01 19:18:11 +01:00
tben 61a9d8d612 Bugfix in spawn file 2026-06-23 13:07:28 +01:00
tben cd9ac833dc Switch back to fs watcher 2026-04-21 16:25:57 +01:00
tben e2b8b95a4b Switch watcher to chokidar 2026-04-20 16:12:24 +01:00
tben c06cb73181 Update tests folder ingore pattern 2026-04-20 06:18:32 +01:00
tben f3bb972a20 Ignore test files/folders in bundling 2026-04-20 06:15:55 +01:00
tben 40a987b983 Update banner log 2026-04-19 18:57:55 +01:00
tben ceeb6fbdaf Security Fixes 2026-04-19 16:17:45 +01:00
tben 4f5445e3df Security fixes pass #2 2026-04-19 16:17:19 +01:00