aboutsummaryrefslogtreecommitdiff
path: root/docs/rfcs/bun-app.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'docs/rfcs/bun-app.tsx')
-rw-r--r--docs/rfcs/bun-app.tsx18
1 files changed, 16 insertions, 2 deletions
diff --git a/docs/rfcs/bun-app.tsx b/docs/rfcs/bun-app.tsx
index c8926253d..92e7bef41 100644
--- a/docs/rfcs/bun-app.tsx
+++ b/docs/rfcs/bun-app.tsx
@@ -1,13 +1,27 @@
import { FileSystemRouter, MatchedRoute, ServeOptions, Server } from "bun";
-import { BuildManifest, BuildConfig, BundlerConfig } from "./bun-build-config";
+import { BuildManifest, BuildConfig } from "./bun-build-config";
import { BuildResult } from "./bun-build";
interface AppConfig {
- configs: Array<BuildConfig & { name: string }>;
+ configs: Array<Omit<BuildConfig, "entrypoints"> & { name: string }>;
routers: Array<AppServeRouter>;
}
+/**
+ *
+ * Bun.App
+ *
+ * On build/serve:
+ * - iterate over all routers
+ * - each router specifies either an `entrypoint`/`dir` & build config
+ * - if dir, all files in entrypoint are considered entrypoints
+ * - everything is built
+ * - the built results are served over HTTP
+ * - each router has a route `prefix` from which its build assets are served
+ * - for "mode: handler", the handler is loaded and called instead of served as a static asset
+ */
+
type AppServeRouter =
| {
// handler mode