Make the dist directory configurable
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]>
This commit is contained in:
@@ -10,6 +10,7 @@ import { AppData } from "../../data/app-data";
|
||||
import { log } from "../../utils/log";
|
||||
import fullRebuild from "./full-rebuild";
|
||||
import grabRouter from "../../utils/grab-router";
|
||||
import grabBunextPublicUrlPath from "../../utils/grab-bunext-public-url-path";
|
||||
import { NoSEORobotsValue } from "../../utils/disable-seo";
|
||||
import generateRobotsTxt from "../../utils/generate-robots-txt";
|
||||
|
||||
@@ -79,7 +80,7 @@ export default async function bunextRequestHandler({
|
||||
response = new Response(generateRobotsTxt({ disallow_all: true }), {
|
||||
headers: { "Content-Type": "text/plain; charset=utf-8" },
|
||||
});
|
||||
} else if (url.pathname.startsWith("/.bunext")) {
|
||||
} else if (url.pathname.startsWith(`${grabBunextPublicUrlPath()}/`)) {
|
||||
response = await handleBunextPublicAssets({ req });
|
||||
} else if (url.pathname.startsWith("/api/")) {
|
||||
response = await handleRoutes({ req });
|
||||
|
||||
Reference in New Issue
Block a user