@samebase/convex-hosting 0.0.0-stage → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +127 -0
- package/INTEGRATION.md +399 -0
- package/LICENSE +201 -0
- package/NOTICE +7 -0
- package/README.md +470 -2
- package/dist/cli/args.d.ts +28 -0
- package/dist/cli/args.d.ts.map +1 -0
- package/dist/cli/args.js +148 -0
- package/dist/cli/args.js.map +1 -0
- package/dist/cli/argumentChunks.d.ts +3 -0
- package/dist/cli/argumentChunks.d.ts.map +1 -0
- package/dist/cli/argumentChunks.js +29 -0
- package/dist/cli/argumentChunks.js.map +1 -0
- package/dist/cli/commands.d.ts +8 -0
- package/dist/cli/commands.d.ts.map +1 -0
- package/dist/cli/commands.js +56 -0
- package/dist/cli/commands.js.map +1 -0
- package/dist/cli/componentName.d.ts +32 -0
- package/dist/cli/componentName.d.ts.map +1 -0
- package/dist/cli/componentName.js +43 -0
- package/dist/cli/componentName.js.map +1 -0
- package/dist/cli/deploy.d.ts +16 -0
- package/dist/cli/deploy.d.ts.map +1 -0
- package/dist/cli/deploy.js +283 -0
- package/dist/cli/deploy.js.map +1 -0
- package/dist/cli/deployEnvironment.d.ts +10 -0
- package/dist/cli/deployEnvironment.d.ts.map +1 -0
- package/dist/cli/deployEnvironment.js +12 -0
- package/dist/cli/deployEnvironment.js.map +1 -0
- package/dist/cli/index.d.ts +12 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +60 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/upload.d.ts +22 -0
- package/dist/cli/upload.d.ts.map +1 -0
- package/dist/cli/upload.js +668 -0
- package/dist/cli/upload.js.map +1 -0
- package/dist/client/_generated/_ignore.d.ts +1 -0
- package/dist/client/_generated/_ignore.d.ts.map +1 -0
- package/dist/client/_generated/_ignore.js +3 -0
- package/dist/client/_generated/_ignore.js.map +1 -0
- package/dist/client/index.d.ts +119 -0
- package/dist/client/index.d.ts.map +1 -0
- package/dist/client/index.js +272 -0
- package/dist/client/index.js.map +1 -0
- package/dist/component/_generated/api.d.ts +38 -0
- package/dist/component/_generated/api.d.ts.map +1 -0
- package/dist/component/_generated/api.js +31 -0
- package/dist/component/_generated/api.js.map +1 -0
- package/dist/component/_generated/component.d.ts +43 -0
- package/dist/component/_generated/component.d.ts.map +1 -0
- package/dist/component/_generated/component.js +11 -0
- package/dist/component/_generated/component.js.map +1 -0
- package/dist/component/_generated/dataModel.d.ts +46 -0
- package/dist/component/_generated/dataModel.d.ts.map +1 -0
- package/dist/component/_generated/dataModel.js +11 -0
- package/dist/component/_generated/dataModel.js.map +1 -0
- package/dist/component/_generated/server.d.ts +121 -0
- package/dist/component/_generated/server.d.ts.map +1 -0
- package/dist/component/_generated/server.js +78 -0
- package/dist/component/_generated/server.js.map +1 -0
- package/dist/component/convex.config.d.ts +3 -0
- package/dist/component/convex.config.d.ts.map +1 -0
- package/dist/component/convex.config.js +3 -0
- package/dist/component/convex.config.js.map +1 -0
- package/dist/component/http.d.ts +4 -0
- package/dist/component/http.d.ts.map +1 -0
- package/dist/component/http.js +125 -0
- package/dist/component/http.js.map +1 -0
- package/dist/component/lib.d.ts +164 -0
- package/dist/component/lib.d.ts.map +1 -0
- package/dist/component/lib.js +768 -0
- package/dist/component/lib.js.map +1 -0
- package/dist/component/schema.d.ts +84 -0
- package/dist/component/schema.d.ts.map +1 -0
- package/dist/component/schema.js +69 -0
- package/dist/component/schema.js.map +1 -0
- package/dist/component/serving.d.ts +17 -0
- package/dist/component/serving.d.ts.map +1 -0
- package/dist/component/serving.js +150 -0
- package/dist/component/serving.js.map +1 -0
- package/dist/react/index.d.ts +59 -0
- package/dist/react/index.d.ts.map +1 -0
- package/dist/react/index.js +137 -0
- package/dist/react/index.js.map +1 -0
- package/package.json +78 -3
- package/src/cli/args.test.ts +79 -0
- package/src/cli/args.ts +153 -0
- package/src/cli/argumentChunks.test.ts +27 -0
- package/src/cli/argumentChunks.ts +40 -0
- package/src/cli/commands.ts +68 -0
- package/src/cli/componentName.test.ts +41 -0
- package/src/cli/componentName.ts +46 -0
- package/src/cli/deploy.ts +336 -0
- package/src/cli/deployEnvironment.test.ts +27 -0
- package/src/cli/deployEnvironment.ts +17 -0
- package/src/cli/index.ts +65 -0
- package/src/cli/upload.ts +885 -0
- package/src/client/_generated/_ignore.ts +1 -0
- package/src/client/index.test.ts +510 -0
- package/src/client/index.ts +355 -0
- package/src/client/setup.test.ts +22 -0
- package/src/component/_generated/api.ts +54 -0
- package/src/component/_generated/component.ts +55 -0
- package/src/component/_generated/dataModel.ts +60 -0
- package/src/component/_generated/server.ts +156 -0
- package/src/component/convex.config.ts +3 -0
- package/src/component/http.test.ts +223 -0
- package/src/component/http.ts +144 -0
- package/src/component/lib.test.ts +1007 -0
- package/src/component/lib.ts +862 -0
- package/src/component/schema.ts +75 -0
- package/src/component/serving.ts +158 -0
- package/src/component/setup.test.ts +11 -0
- package/src/react/index.tsx +197 -0
- package/src/test.ts +23 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"upload.js","sourceRoot":"","sources":["../../src/cli/upload.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=_ignore.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_ignore.d.ts","sourceRoot":"","sources":["../../../src/client/_generated/_ignore.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_ignore.js","sourceRoot":"","sources":["../../../src/client/_generated/_ignore.ts"],"names":[],"mappings":";AAAA,kEAAkE"}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import { type GenericActionCtx, type GenericDataModel, type HttpRouter } from "convex/server";
|
|
2
|
+
import type { ComponentApi } from "../component/_generated/component.js";
|
|
3
|
+
import { decodeRequestPath } from "../component/serving.js";
|
|
4
|
+
type CdnBaseUrl = string | ((request: Request) => string);
|
|
5
|
+
/** The parts of an action context needed to serve a static file. */
|
|
6
|
+
type AssetServingCtx = Pick<GenericActionCtx<GenericDataModel>, "runQuery" | "storage">;
|
|
7
|
+
/**
|
|
8
|
+
* Register app-owned HTTP routes for the hosted site.
|
|
9
|
+
*
|
|
10
|
+
* Prefer mounting the component's own HTTP routes when it can own the URL
|
|
11
|
+
* prefix. Use this compatibility mode when existing app HTTP routes must stay
|
|
12
|
+
* at the same root. Exact app routes take precedence over this catch-all.
|
|
13
|
+
* Assets and deployment state still live in the component.
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* ```typescript
|
|
17
|
+
* // convex/convex.config.ts
|
|
18
|
+
* const app = defineApp();
|
|
19
|
+
* app.use(hosting); // no httpPrefix: the app owns HTTP routing
|
|
20
|
+
*
|
|
21
|
+
* // convex/http.ts
|
|
22
|
+
* const http = httpRouter();
|
|
23
|
+
* auth.addHttpRoutes(http);
|
|
24
|
+
* registerStaticRoutes(http, components.hosting);
|
|
25
|
+
* export default http;
|
|
26
|
+
* ```
|
|
27
|
+
*/
|
|
28
|
+
export declare function registerStaticRoutes(http: HttpRouter, component: ComponentApi, { pathPrefix, spaFallback, cdnBaseUrl, }?: {
|
|
29
|
+
/** URL prefix where the app should serve static files. */
|
|
30
|
+
pathPrefix?: string;
|
|
31
|
+
/** Override the deployment's SPA fallback setting. */
|
|
32
|
+
spaFallback?: boolean;
|
|
33
|
+
/** Optional custom base URL for convex-fs blob redirects. */
|
|
34
|
+
cdnBaseUrl?: CdnBaseUrl;
|
|
35
|
+
}): void;
|
|
36
|
+
/**
|
|
37
|
+
* Serve an uploaded static file from your own HTTP action, or return null when
|
|
38
|
+
* no file matches so the action can continue with its own routing: server
|
|
39
|
+
* rendering, prerendered pages, redirects.
|
|
40
|
+
*
|
|
41
|
+
* Found files get the same response as `registerStaticRoutes`: content type,
|
|
42
|
+
* cache headers, ETag revalidation, and legacy CDN redirects. A found file
|
|
43
|
+
* whose storage can't be read gets a 500 response. A request path with
|
|
44
|
+
* malformed percent-encoding matches no file, so it returns null.
|
|
45
|
+
*
|
|
46
|
+
* The lookup is exact by default. `/` is not mapped to `/index.html`, and there
|
|
47
|
+
* is no SPA fallback, so the SPA shell never answers for a route your action
|
|
48
|
+
* handles. To serve the shell, pass `{ path: "/index.html" }`. When your route
|
|
49
|
+
* has a prefix, pass `path` with the prefix removed.
|
|
50
|
+
*
|
|
51
|
+
* @example
|
|
52
|
+
* ```typescript
|
|
53
|
+
* // convex/http.ts
|
|
54
|
+
* const http = httpRouter();
|
|
55
|
+
* http.route({
|
|
56
|
+
* pathPrefix: "/",
|
|
57
|
+
* method: "GET",
|
|
58
|
+
* handler: httpAction(async (ctx, request) => {
|
|
59
|
+
* const file = await serveStaticAsset(ctx, components.hosting, request);
|
|
60
|
+
* if (file) return file;
|
|
61
|
+
* return await renderPage(request);
|
|
62
|
+
* }),
|
|
63
|
+
* });
|
|
64
|
+
* export default http;
|
|
65
|
+
* ```
|
|
66
|
+
*/
|
|
67
|
+
export declare function serveStaticAsset(ctx: AssetServingCtx, component: ComponentApi, request: Request, { path, spaFallback, cdnBaseUrl, }?: {
|
|
68
|
+
/**
|
|
69
|
+
* Decoded file path to look up, starting with `/`, such as
|
|
70
|
+
* `/about/index.html`. Defaults to the decoded request path.
|
|
71
|
+
*/
|
|
72
|
+
path?: string;
|
|
73
|
+
/** Serve `/index.html` for a missing path without a file extension. */
|
|
74
|
+
spaFallback?: boolean;
|
|
75
|
+
/** Optional custom base URL for convex-fs blob redirects. */
|
|
76
|
+
cdnBaseUrl?: CdnBaseUrl;
|
|
77
|
+
}): Promise<Response | null>;
|
|
78
|
+
export { decodeRequestPath };
|
|
79
|
+
/**
|
|
80
|
+
* Expose a query that clients can subscribe to for live reload on deploy.
|
|
81
|
+
* This is only needed if you use `UpdateBanner` / `useDeploymentUpdates` from
|
|
82
|
+
* `@samebase/convex-hosting/react`. If you don't surface deployment updates
|
|
83
|
+
* in your app, you don't need to call this.
|
|
84
|
+
*
|
|
85
|
+
* @example
|
|
86
|
+
* ```typescript
|
|
87
|
+
* // convex/hosting.ts
|
|
88
|
+
* import { exposeDeploymentQuery } from "@samebase/convex-hosting";
|
|
89
|
+
* import { components } from "./_generated/api";
|
|
90
|
+
*
|
|
91
|
+
* export const { getCurrentDeployment } = exposeDeploymentQuery(
|
|
92
|
+
* components.hosting,
|
|
93
|
+
* );
|
|
94
|
+
* ```
|
|
95
|
+
*/
|
|
96
|
+
export declare function exposeDeploymentQuery(component: ComponentApi): {
|
|
97
|
+
getCurrentDeployment: import("convex/server").RegisteredQuery<"public", {}, Promise<{
|
|
98
|
+
_creationTime: number;
|
|
99
|
+
_id: string;
|
|
100
|
+
currentDeploymentId: string;
|
|
101
|
+
deployedAt: number;
|
|
102
|
+
spaFallback?: boolean;
|
|
103
|
+
} | null>>;
|
|
104
|
+
};
|
|
105
|
+
/**
|
|
106
|
+
* Derive the Convex cloud URL from a `.convex.site` hostname.
|
|
107
|
+
* Useful when your frontend is served by this component and needs
|
|
108
|
+
* to connect to its own Convex backend without an explicit env var.
|
|
109
|
+
*
|
|
110
|
+
* @example
|
|
111
|
+
* ```typescript
|
|
112
|
+
* import { getConvexUrl } from "@samebase/convex-hosting";
|
|
113
|
+
*
|
|
114
|
+
* const convexUrl = import.meta.env.VITE_CONVEX_URL ?? getConvexUrl();
|
|
115
|
+
* const convex = new ConvexReactClient(convexUrl);
|
|
116
|
+
* ```
|
|
117
|
+
*/
|
|
118
|
+
export declare function getConvexUrl(): string;
|
|
119
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,UAAU,EAChB,MAAM,eAAe,CAAC;AAEvB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AACzE,OAAO,EAEL,iBAAiB,EAKlB,MAAM,yBAAyB,CAAC;AAUjC,KAAK,UAAU,GAAG,MAAM,GAAG,CAAC,CAAC,OAAO,EAAE,OAAO,KAAK,MAAM,CAAC,CAAC;AAE1D,oEAAoE;AACpE,KAAK,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC,CAAC;AAExF;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,UAAU,EAChB,SAAS,EAAE,YAAY,EACvB,EACE,UAAgB,EAChB,WAAW,EACX,UAAU,GACX,GAAE;IACD,0DAA0D;IAC1D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,sDAAsD;IACtD,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,6DAA6D;IAC7D,UAAU,CAAC,EAAE,UAAU,CAAC;CACpB,QA4DP;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,eAAe,EACpB,SAAS,EAAE,YAAY,EACvB,OAAO,EAAE,OAAO,EAChB,EACE,IAAI,EACJ,WAAmB,EACnB,UAAU,GACX,GAAE;IACD;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,uEAAuE;IACvE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,6DAA6D;IAC7D,UAAU,CAAC,EAAE,UAAU,CAAC;CACpB,GACL,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAU1B;AAED,OAAO,EAAE,iBAAiB,EAAE,CAAC;AA0G7B;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,YAAY;;;;;;;;EAkB5D;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAQrC"}
|
|
@@ -0,0 +1,272 @@
|
|
|
1
|
+
import { httpActionGeneric, queryGeneric, } from "convex/server";
|
|
2
|
+
import { v } from "convex/values";
|
|
3
|
+
import { cacheControlFor, decodeRequestPath, etagMatches, getMimeType, getSetupHtml, isHtmlContentType, } from "../component/serving.js";
|
|
4
|
+
const deploymentInfoValidator = v.object({
|
|
5
|
+
_id: v.string(),
|
|
6
|
+
_creationTime: v.number(),
|
|
7
|
+
currentDeploymentId: v.string(),
|
|
8
|
+
deployedAt: v.number(),
|
|
9
|
+
spaFallback: v.optional(v.boolean()),
|
|
10
|
+
});
|
|
11
|
+
/**
|
|
12
|
+
* Register app-owned HTTP routes for the hosted site.
|
|
13
|
+
*
|
|
14
|
+
* Prefer mounting the component's own HTTP routes when it can own the URL
|
|
15
|
+
* prefix. Use this compatibility mode when existing app HTTP routes must stay
|
|
16
|
+
* at the same root. Exact app routes take precedence over this catch-all.
|
|
17
|
+
* Assets and deployment state still live in the component.
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* ```typescript
|
|
21
|
+
* // convex/convex.config.ts
|
|
22
|
+
* const app = defineApp();
|
|
23
|
+
* app.use(hosting); // no httpPrefix: the app owns HTTP routing
|
|
24
|
+
*
|
|
25
|
+
* // convex/http.ts
|
|
26
|
+
* const http = httpRouter();
|
|
27
|
+
* auth.addHttpRoutes(http);
|
|
28
|
+
* registerStaticRoutes(http, components.hosting);
|
|
29
|
+
* export default http;
|
|
30
|
+
* ```
|
|
31
|
+
*/
|
|
32
|
+
export function registerStaticRoutes(http, component, { pathPrefix = "/", spaFallback, cdnBaseUrl, } = {}) {
|
|
33
|
+
if (!pathPrefix.startsWith("/")) {
|
|
34
|
+
throw new Error("pathPrefix must start with /");
|
|
35
|
+
}
|
|
36
|
+
const normalizedPrefix = pathPrefix === "/" ? "" : pathPrefix.replace(/\/$/, "");
|
|
37
|
+
const serveStaticFile = httpActionGeneric(async (ctx, request) => {
|
|
38
|
+
const decodedPath = decodeRequestPath(new URL(request.url).pathname);
|
|
39
|
+
if (decodedPath === null) {
|
|
40
|
+
return new Response("Bad Request", {
|
|
41
|
+
status: 400,
|
|
42
|
+
headers: { "Content-Type": "text/plain" },
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
let path = decodedPath;
|
|
46
|
+
if (normalizedPrefix && path.startsWith(normalizedPrefix)) {
|
|
47
|
+
path = path.slice(normalizedPrefix.length) || "/";
|
|
48
|
+
}
|
|
49
|
+
if (path === "" || path === "/") {
|
|
50
|
+
path = "/index.html";
|
|
51
|
+
}
|
|
52
|
+
const response = await serveAsset(ctx, component, request, path, {
|
|
53
|
+
spaFallback,
|
|
54
|
+
cdnBaseUrl,
|
|
55
|
+
});
|
|
56
|
+
if (response)
|
|
57
|
+
return response;
|
|
58
|
+
if (path === "/index.html") {
|
|
59
|
+
return new Response(getSetupHtml(), {
|
|
60
|
+
status: 503,
|
|
61
|
+
headers: {
|
|
62
|
+
"Content-Type": "text/html; charset=utf-8",
|
|
63
|
+
"Cache-Control": "no-store",
|
|
64
|
+
"Retry-After": "5",
|
|
65
|
+
},
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
return new Response("Not Found", {
|
|
69
|
+
status: 404,
|
|
70
|
+
headers: { "Content-Type": "text/plain" },
|
|
71
|
+
});
|
|
72
|
+
});
|
|
73
|
+
http.route({
|
|
74
|
+
pathPrefix: pathPrefix === "/" ? "/" : `${normalizedPrefix}/`,
|
|
75
|
+
method: "GET",
|
|
76
|
+
handler: serveStaticFile,
|
|
77
|
+
});
|
|
78
|
+
if (normalizedPrefix) {
|
|
79
|
+
http.route({
|
|
80
|
+
path: normalizedPrefix,
|
|
81
|
+
method: "GET",
|
|
82
|
+
handler: serveStaticFile,
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Serve an uploaded static file from your own HTTP action, or return null when
|
|
88
|
+
* no file matches so the action can continue with its own routing: server
|
|
89
|
+
* rendering, prerendered pages, redirects.
|
|
90
|
+
*
|
|
91
|
+
* Found files get the same response as `registerStaticRoutes`: content type,
|
|
92
|
+
* cache headers, ETag revalidation, and legacy CDN redirects. A found file
|
|
93
|
+
* whose storage can't be read gets a 500 response. A request path with
|
|
94
|
+
* malformed percent-encoding matches no file, so it returns null.
|
|
95
|
+
*
|
|
96
|
+
* The lookup is exact by default. `/` is not mapped to `/index.html`, and there
|
|
97
|
+
* is no SPA fallback, so the SPA shell never answers for a route your action
|
|
98
|
+
* handles. To serve the shell, pass `{ path: "/index.html" }`. When your route
|
|
99
|
+
* has a prefix, pass `path` with the prefix removed.
|
|
100
|
+
*
|
|
101
|
+
* @example
|
|
102
|
+
* ```typescript
|
|
103
|
+
* // convex/http.ts
|
|
104
|
+
* const http = httpRouter();
|
|
105
|
+
* http.route({
|
|
106
|
+
* pathPrefix: "/",
|
|
107
|
+
* method: "GET",
|
|
108
|
+
* handler: httpAction(async (ctx, request) => {
|
|
109
|
+
* const file = await serveStaticAsset(ctx, components.hosting, request);
|
|
110
|
+
* if (file) return file;
|
|
111
|
+
* return await renderPage(request);
|
|
112
|
+
* }),
|
|
113
|
+
* });
|
|
114
|
+
* export default http;
|
|
115
|
+
* ```
|
|
116
|
+
*/
|
|
117
|
+
export async function serveStaticAsset(ctx, component, request, { path, spaFallback = false, cdnBaseUrl, } = {}) {
|
|
118
|
+
if (path !== undefined && !path.startsWith("/")) {
|
|
119
|
+
throw new Error("path must start with /");
|
|
120
|
+
}
|
|
121
|
+
const filePath = path ?? decodeRequestPath(new URL(request.url).pathname);
|
|
122
|
+
if (filePath === null)
|
|
123
|
+
return null;
|
|
124
|
+
return await serveAsset(ctx, component, request, filePath, {
|
|
125
|
+
spaFallback,
|
|
126
|
+
cdnBaseUrl,
|
|
127
|
+
});
|
|
128
|
+
}
|
|
129
|
+
export { decodeRequestPath };
|
|
130
|
+
/**
|
|
131
|
+
* Serve the uploaded file at `path` (decoded, relative to the mount prefix),
|
|
132
|
+
* or return null when no file matches. An undefined `spaFallback` uses the
|
|
133
|
+
* deployment's stored setting.
|
|
134
|
+
*/
|
|
135
|
+
async function serveAsset(ctx, component, request, path, { spaFallback, cdnBaseUrl, }) {
|
|
136
|
+
const asset = await ctx.runQuery(component.lib.resolveAssetForHttp, {
|
|
137
|
+
path,
|
|
138
|
+
...(spaFallback === undefined ? {} : { spaFallback }),
|
|
139
|
+
});
|
|
140
|
+
if (!asset)
|
|
141
|
+
return null;
|
|
142
|
+
const contentType = asset.contentType || getMimeType(path);
|
|
143
|
+
const cacheControl = cacheControlFor(path);
|
|
144
|
+
if (asset.blobId && !isHtmlContentType(contentType)) {
|
|
145
|
+
const configuredBase = typeof cdnBaseUrl === "function" ? cdnBaseUrl(request) : cdnBaseUrl;
|
|
146
|
+
const baseUrl = configuredBase ?? `${new URL(request.url).origin}/fs/blobs`;
|
|
147
|
+
return new Response(null, {
|
|
148
|
+
status: 302,
|
|
149
|
+
headers: {
|
|
150
|
+
Location: `${baseUrl.replace(/\/$/, "")}/${asset.blobId}`,
|
|
151
|
+
"Cache-Control": cacheControl,
|
|
152
|
+
},
|
|
153
|
+
});
|
|
154
|
+
}
|
|
155
|
+
// TODO(remove in a future major): v1→v2 transitional path. The file still
|
|
156
|
+
// lives in the app's own storage (a same-name migration inherited the v1
|
|
157
|
+
// row; see the component's resolveAssetForHttp). Serve it directly from app
|
|
158
|
+
// storage so the site stays up during migration with no re-upload. Once v1
|
|
159
|
+
// app-storage assets are no longer supported, delete this branch.
|
|
160
|
+
if (asset.appStorageId) {
|
|
161
|
+
if (asset.etag && etagMatches(request.headers.get("If-None-Match"), asset.etag)) {
|
|
162
|
+
return new Response(null, {
|
|
163
|
+
status: 304,
|
|
164
|
+
headers: { ETag: asset.etag, "Cache-Control": cacheControl },
|
|
165
|
+
});
|
|
166
|
+
}
|
|
167
|
+
const blob = await ctx.storage.get(asset.appStorageId);
|
|
168
|
+
if (!blob) {
|
|
169
|
+
// The component surfaces appStorageId whenever it can't resolve a
|
|
170
|
+
// storage URL, which also covers a genuinely deleted file (the two are
|
|
171
|
+
// indistinguishable from the component). If it isn't in app storage
|
|
172
|
+
// either, treat it as missing, like an empty deployment, rather than
|
|
173
|
+
// erroring.
|
|
174
|
+
return null;
|
|
175
|
+
}
|
|
176
|
+
return new Response(blob, {
|
|
177
|
+
status: 200,
|
|
178
|
+
headers: {
|
|
179
|
+
"Content-Type": contentType,
|
|
180
|
+
"Cache-Control": cacheControl,
|
|
181
|
+
...(asset.etag ? { ETag: asset.etag } : {}),
|
|
182
|
+
"X-Content-Type-Options": "nosniff",
|
|
183
|
+
},
|
|
184
|
+
});
|
|
185
|
+
}
|
|
186
|
+
if (!asset.storageUrl) {
|
|
187
|
+
return new Response("Asset not available", {
|
|
188
|
+
status: 500,
|
|
189
|
+
headers: { "Content-Type": "text/plain" },
|
|
190
|
+
});
|
|
191
|
+
}
|
|
192
|
+
if (asset.etag && etagMatches(request.headers.get("If-None-Match"), asset.etag)) {
|
|
193
|
+
return new Response(null, {
|
|
194
|
+
status: 304,
|
|
195
|
+
headers: { ETag: asset.etag, "Cache-Control": cacheControl },
|
|
196
|
+
});
|
|
197
|
+
}
|
|
198
|
+
const storageResponse = await fetch(asset.storageUrl);
|
|
199
|
+
if (!storageResponse.ok || !storageResponse.body) {
|
|
200
|
+
return new Response("Storage error", {
|
|
201
|
+
status: 500,
|
|
202
|
+
headers: { "Content-Type": "text/plain" },
|
|
203
|
+
});
|
|
204
|
+
}
|
|
205
|
+
return new Response(storageResponse.body, {
|
|
206
|
+
status: 200,
|
|
207
|
+
headers: {
|
|
208
|
+
"Content-Type": contentType,
|
|
209
|
+
"Cache-Control": cacheControl,
|
|
210
|
+
...(asset.etag ? { ETag: asset.etag } : {}),
|
|
211
|
+
"X-Content-Type-Options": "nosniff",
|
|
212
|
+
},
|
|
213
|
+
});
|
|
214
|
+
}
|
|
215
|
+
/**
|
|
216
|
+
* Expose a query that clients can subscribe to for live reload on deploy.
|
|
217
|
+
* This is only needed if you use `UpdateBanner` / `useDeploymentUpdates` from
|
|
218
|
+
* `@samebase/convex-hosting/react`. If you don't surface deployment updates
|
|
219
|
+
* in your app, you don't need to call this.
|
|
220
|
+
*
|
|
221
|
+
* @example
|
|
222
|
+
* ```typescript
|
|
223
|
+
* // convex/hosting.ts
|
|
224
|
+
* import { exposeDeploymentQuery } from "@samebase/convex-hosting";
|
|
225
|
+
* import { components } from "./_generated/api";
|
|
226
|
+
*
|
|
227
|
+
* export const { getCurrentDeployment } = exposeDeploymentQuery(
|
|
228
|
+
* components.hosting,
|
|
229
|
+
* );
|
|
230
|
+
* ```
|
|
231
|
+
*/
|
|
232
|
+
export function exposeDeploymentQuery(component) {
|
|
233
|
+
return {
|
|
234
|
+
getCurrentDeployment: queryGeneric({
|
|
235
|
+
args: {},
|
|
236
|
+
returns: v.union(deploymentInfoValidator, v.null()),
|
|
237
|
+
handler: async (ctx) => {
|
|
238
|
+
const deployment = await ctx.runQuery(component.lib.getCurrentDeployment, {});
|
|
239
|
+
if (!deployment)
|
|
240
|
+
return null;
|
|
241
|
+
// Cleanup accounting is private component state. Returning it through
|
|
242
|
+
// this public wrapper would fail the narrower response validator.
|
|
243
|
+
const deploymentWithCleanup = deployment;
|
|
244
|
+
const { pendingBlobCleanupCount: _pending, ...publicDeployment } = deploymentWithCleanup;
|
|
245
|
+
return publicDeployment;
|
|
246
|
+
},
|
|
247
|
+
}),
|
|
248
|
+
};
|
|
249
|
+
}
|
|
250
|
+
/**
|
|
251
|
+
* Derive the Convex cloud URL from a `.convex.site` hostname.
|
|
252
|
+
* Useful when your frontend is served by this component and needs
|
|
253
|
+
* to connect to its own Convex backend without an explicit env var.
|
|
254
|
+
*
|
|
255
|
+
* @example
|
|
256
|
+
* ```typescript
|
|
257
|
+
* import { getConvexUrl } from "@samebase/convex-hosting";
|
|
258
|
+
*
|
|
259
|
+
* const convexUrl = import.meta.env.VITE_CONVEX_URL ?? getConvexUrl();
|
|
260
|
+
* const convex = new ConvexReactClient(convexUrl);
|
|
261
|
+
* ```
|
|
262
|
+
*/
|
|
263
|
+
export function getConvexUrl() {
|
|
264
|
+
if (typeof window === "undefined") {
|
|
265
|
+
throw new Error("getConvexUrl() can only be called in a browser context");
|
|
266
|
+
}
|
|
267
|
+
if (window.location.hostname.endsWith(".convex.site")) {
|
|
268
|
+
return `https://${window.location.hostname.replace(".convex.site", ".convex.cloud")}`;
|
|
269
|
+
}
|
|
270
|
+
throw new Error("Unable to derive Convex URL. Please set VITE_CONVEX_URL environment variable.");
|
|
271
|
+
}
|
|
272
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated `api` utility.
|
|
3
|
+
*
|
|
4
|
+
* THIS CODE IS AUTOMATICALLY GENERATED.
|
|
5
|
+
*
|
|
6
|
+
* To regenerate, run `npx convex dev`.
|
|
7
|
+
* @module
|
|
8
|
+
*/
|
|
9
|
+
import type * as http from "../http.js";
|
|
10
|
+
import type * as lib from "../lib.js";
|
|
11
|
+
import type * as serving from "../serving.js";
|
|
12
|
+
import type { ApiFromModules, FilterApi, FunctionReference } from "convex/server";
|
|
13
|
+
declare const fullApi: ApiFromModules<{
|
|
14
|
+
http: typeof http;
|
|
15
|
+
lib: typeof lib;
|
|
16
|
+
serving: typeof serving;
|
|
17
|
+
}>;
|
|
18
|
+
/**
|
|
19
|
+
* A utility for referencing Convex functions in your app's public API.
|
|
20
|
+
*
|
|
21
|
+
* Usage:
|
|
22
|
+
* ```js
|
|
23
|
+
* const myFunctionReference = api.myModule.myFunction;
|
|
24
|
+
* ```
|
|
25
|
+
*/
|
|
26
|
+
export declare const api: FilterApi<typeof fullApi, FunctionReference<any, "public">>;
|
|
27
|
+
/**
|
|
28
|
+
* A utility for referencing Convex functions in your app's internal API.
|
|
29
|
+
*
|
|
30
|
+
* Usage:
|
|
31
|
+
* ```js
|
|
32
|
+
* const myFunctionReference = internal.myModule.myFunction;
|
|
33
|
+
* ```
|
|
34
|
+
*/
|
|
35
|
+
export declare const internal: FilterApi<typeof fullApi, FunctionReference<any, "internal">>;
|
|
36
|
+
export declare const components: {};
|
|
37
|
+
export {};
|
|
38
|
+
//# sourceMappingURL=api.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/component/_generated/api.ts"],"names":[],"mappings":"AACA;;;;;;;GAOG;AAEH,OAAO,KAAK,KAAK,IAAI,MAAM,YAAY,CAAC;AACxC,OAAO,KAAK,KAAK,GAAG,MAAM,WAAW,CAAC;AACtC,OAAO,KAAK,KAAK,OAAO,MAAM,eAAe,CAAC;AAE9C,OAAO,KAAK,EACV,cAAc,EACd,SAAS,EACT,iBAAiB,EAClB,MAAM,eAAe,CAAC;AAGvB,QAAA,MAAM,OAAO,EAAE,cAAc,CAAC;IAC5B,IAAI,EAAE,OAAO,IAAI,CAAC;IAClB,GAAG,EAAE,OAAO,GAAG,CAAC;IAChB,OAAO,EAAE,OAAO,OAAO,CAAC;CACzB,CAAiB,CAAC;AAEnB;;;;;;;GAOG;AACH,eAAO,MAAM,GAAG,EAAE,SAAS,CACzB,OAAO,OAAO,EACd,iBAAiB,CAAC,GAAG,EAAE,QAAQ,CAAC,CACjB,CAAC;AAElB;;;;;;;GAOG;AACH,eAAO,MAAM,QAAQ,EAAE,SAAS,CAC9B,OAAO,OAAO,EACd,iBAAiB,CAAC,GAAG,EAAE,UAAU,CAAC,CACnB,CAAC;AAElB,eAAO,MAAM,UAAU,EAAqC,EAAE,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
/**
|
|
3
|
+
* Generated `api` utility.
|
|
4
|
+
*
|
|
5
|
+
* THIS CODE IS AUTOMATICALLY GENERATED.
|
|
6
|
+
*
|
|
7
|
+
* To regenerate, run `npx convex dev`.
|
|
8
|
+
* @module
|
|
9
|
+
*/
|
|
10
|
+
import { anyApi, componentsGeneric } from "convex/server";
|
|
11
|
+
const fullApi = anyApi;
|
|
12
|
+
/**
|
|
13
|
+
* A utility for referencing Convex functions in your app's public API.
|
|
14
|
+
*
|
|
15
|
+
* Usage:
|
|
16
|
+
* ```js
|
|
17
|
+
* const myFunctionReference = api.myModule.myFunction;
|
|
18
|
+
* ```
|
|
19
|
+
*/
|
|
20
|
+
export const api = anyApi;
|
|
21
|
+
/**
|
|
22
|
+
* A utility for referencing Convex functions in your app's internal API.
|
|
23
|
+
*
|
|
24
|
+
* Usage:
|
|
25
|
+
* ```js
|
|
26
|
+
* const myFunctionReference = internal.myModule.myFunction;
|
|
27
|
+
* ```
|
|
28
|
+
*/
|
|
29
|
+
export const internal = anyApi;
|
|
30
|
+
export const components = componentsGeneric();
|
|
31
|
+
//# sourceMappingURL=api.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/component/_generated/api.ts"],"names":[],"mappings":"AAAA,oBAAoB;AACpB;;;;;;;GAOG;AAWH,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAE1D,MAAM,OAAO,GAIR,MAAa,CAAC;AAEnB;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,GAAG,GAGZ,MAAa,CAAC;AAElB;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,QAAQ,GAGjB,MAAa,CAAC;AAElB,MAAM,CAAC,MAAM,UAAU,GAAG,iBAAiB,EAAmB,CAAC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated `ComponentApi` utility.
|
|
3
|
+
*
|
|
4
|
+
* THIS CODE IS AUTOMATICALLY GENERATED.
|
|
5
|
+
*
|
|
6
|
+
* To regenerate, run `npx convex dev`.
|
|
7
|
+
* @module
|
|
8
|
+
*/
|
|
9
|
+
import type { FunctionReference } from "convex/server";
|
|
10
|
+
/**
|
|
11
|
+
* A utility for referencing a Convex component's exposed API.
|
|
12
|
+
*
|
|
13
|
+
* Useful when expecting a parameter like `components.myComponent`.
|
|
14
|
+
* Usage:
|
|
15
|
+
* ```ts
|
|
16
|
+
* async function myFunction(ctx: QueryCtx, component: ComponentApi) {
|
|
17
|
+
* return ctx.runQuery(component.someFile.someQuery, { ...args });
|
|
18
|
+
* }
|
|
19
|
+
* ```
|
|
20
|
+
*/
|
|
21
|
+
export type ComponentApi<Name extends string | undefined = string | undefined> = {
|
|
22
|
+
lib: {
|
|
23
|
+
getCurrentDeployment: FunctionReference<"query", "internal", {}, {
|
|
24
|
+
_creationTime: number;
|
|
25
|
+
_id: string;
|
|
26
|
+
currentDeploymentId: string;
|
|
27
|
+
deployedAt: number;
|
|
28
|
+
pendingBlobCleanupCount?: number;
|
|
29
|
+
spaFallback?: boolean;
|
|
30
|
+
} | null, Name>;
|
|
31
|
+
resolveAssetForHttp: FunctionReference<"query", "internal", {
|
|
32
|
+
path: string;
|
|
33
|
+
spaFallback?: boolean;
|
|
34
|
+
}, {
|
|
35
|
+
appStorageId?: string;
|
|
36
|
+
blobId?: string;
|
|
37
|
+
contentType: string;
|
|
38
|
+
etag?: string;
|
|
39
|
+
storageUrl?: string;
|
|
40
|
+
} | null, Name>;
|
|
41
|
+
};
|
|
42
|
+
};
|
|
43
|
+
//# sourceMappingURL=component.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../../src/component/_generated/component.ts"],"names":[],"mappings":"AACA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAEvD;;;;;;;;;;GAUG;AACH,MAAM,MAAM,YAAY,CAAC,IAAI,SAAS,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,IAC3E;IACE,GAAG,EAAE;QACH,oBAAoB,EAAE,iBAAiB,CACrC,OAAO,EACP,UAAU,EACV,EAAE,EACF;YACE,aAAa,EAAE,MAAM,CAAC;YACtB,GAAG,EAAE,MAAM,CAAC;YACZ,mBAAmB,EAAE,MAAM,CAAC;YAC5B,UAAU,EAAE,MAAM,CAAC;YACnB,uBAAuB,CAAC,EAAE,MAAM,CAAC;YACjC,WAAW,CAAC,EAAE,OAAO,CAAC;SACvB,GAAG,IAAI,EACR,IAAI,CACL,CAAC;QACF,mBAAmB,EAAE,iBAAiB,CACpC,OAAO,EACP,UAAU,EACV;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,WAAW,CAAC,EAAE,OAAO,CAAA;SAAE,EACvC;YACE,YAAY,CAAC,EAAE,MAAM,CAAC;YACtB,MAAM,CAAC,EAAE,MAAM,CAAC;YAChB,WAAW,EAAE,MAAM,CAAC;YACpB,IAAI,CAAC,EAAE,MAAM,CAAC;YACd,UAAU,CAAC,EAAE,MAAM,CAAC;SACrB,GAAG,IAAI,EACR,IAAI,CACL,CAAC;KACH,CAAC;CACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"component.js","sourceRoot":"","sources":["../../../src/component/_generated/component.ts"],"names":[],"mappings":"AAAA,oBAAoB;AACpB;;;;;;;GAOG"}
|