@samebase/convex-hosting 0.6.0 → 0.8.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 +38 -0
- package/README.md +114 -63
- package/dist/cli/convex.d.ts +7 -1
- package/dist/cli/convex.js +18 -0
- package/dist/cli/convex.js.map +1 -1
- package/dist/cli/files.js +9 -8
- package/dist/cli/files.js.map +1 -1
- package/dist/cli/main.d.ts +0 -5
- package/dist/cli/main.js +10 -61
- package/dist/cli/main.js.map +1 -1
- package/dist/client/index.d.ts +9 -14
- package/dist/client/index.js +21 -17
- package/dist/client/index.js.map +1 -1
- package/dist/client/types.d.ts +2 -4
- package/dist/component/_generated/component.d.ts +1 -2
- package/dist/component/lib.d.ts +18 -16
- package/dist/component/lib.js +52 -34
- package/dist/component/lib.js.map +1 -1
- package/dist/component/schema.js +1 -1
- package/dist/component/schema.js.map +1 -1
- package/package.json +1 -1
- package/dist/client/server-module.d.ts +0 -12
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,43 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.8.0
|
|
4
|
+
|
|
5
|
+
- `serveSite` without `render` routes like a Cloudflare Worker without a script:
|
|
6
|
+
`not_found_handling` applies to every request, not only to navigations. `curl`, uptime monitors,
|
|
7
|
+
and link-preview bots now get the single-page fallback or the 404 page where they got a bare 404,
|
|
8
|
+
and a missing hashed file on a single-page app gets the shell with 200. `serveSite` with `render`
|
|
9
|
+
keeps the routing of a Worker with a script. The component query `route` takes `hasUserWorker`,
|
|
10
|
+
which `serveSite` sets from the presence of `render`; the app sets nothing.
|
|
11
|
+
- Every 404 that the handler answers, including the custom 404 page, has `Cache-Control: no-store`.
|
|
12
|
+
- `deploy` prints the site URL when it ends, which it asks the deployment for (`CONVEX_SITE_URL`
|
|
13
|
+
through an inline query), and appends `url=<site URL>` to `$GITHUB_OUTPUT` when that is set. A
|
|
14
|
+
workflow reads it as `steps.<id>.outputs.url` and no longer needs to record it in the build
|
|
15
|
+
command.
|
|
16
|
+
- `serveAsset` is removed, and `serveSite` is the one entry. `render` is the code that runs on a
|
|
17
|
+
miss, with the request in its closure, so an app that called `serveAsset` and answered misses
|
|
18
|
+
itself passes that code as `render`.
|
|
19
|
+
|
|
20
|
+
## 0.7.0
|
|
21
|
+
|
|
22
|
+
- `convex-hosting init` is gone, with the placeholder `.convex-hosting/server.js` it wrote. On a
|
|
23
|
+
fresh clone, `npx convex dev --skip-push` creates the development deployment and writes
|
|
24
|
+
`.env.local` without a push; `convex-hosting deploy --dev` then builds, uploads, writes
|
|
25
|
+
`.convex-hosting/version.js`, and pushes; after that, `npx convex dev` works as usual. Remove
|
|
26
|
+
`init` from the app's scripts, such as `predev`.
|
|
27
|
+
- A server-rendered app's `convex/http.ts` imports its server build directly, such as
|
|
28
|
+
`../dist/server/server.js`. The package no longer declares a server module: the framework adapter
|
|
29
|
+
declares the type of its build (`@samebase/convex-hosting-tanstack-start/server-build` 0.4.0). The
|
|
30
|
+
package declares only `.convex-hosting/version.js`.
|
|
31
|
+
- An older upload never goes live over a newer one: `markLive` marks a version only when no live
|
|
32
|
+
version was created after it. Before, a request that started on replaced code and reached its
|
|
33
|
+
lookup after the new code's first request could make its old version live, and the new version's
|
|
34
|
+
files were deleted. `markLive` takes only `versionId`, and `route` no longer returns
|
|
35
|
+
`newestLiveAt`; `serveSite` and `serveAsset` are unchanged. Deploys to one deployment must not
|
|
36
|
+
overlap.
|
|
37
|
+
- A symbolic link in `--dist` to another folder of the build no longer hides that folder when it
|
|
38
|
+
comes first in the listing: both paths are uploaded. Only a link to a folder that contains it,
|
|
39
|
+
such as a link to `--dist` itself, is skipped.
|
|
40
|
+
|
|
3
41
|
## 0.6.0
|
|
4
42
|
|
|
5
43
|
- `convex-hosting init` also writes `.convex-hosting/server.js`, a placeholder server entry that
|
package/README.md
CHANGED
|
@@ -51,25 +51,21 @@ Requires `convex` 1.46 or later.
|
|
|
51
51
|
export default http;
|
|
52
52
|
```
|
|
53
53
|
|
|
54
|
-
4.
|
|
55
|
-
`.convex-hosting/version.js`, which only a deploy writes,
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
{
|
|
63
|
-
"scripts": {
|
|
64
|
-
"predev": "convex-hosting init",
|
|
65
|
-
"dev": "convex dev"
|
|
66
|
-
}
|
|
67
|
-
}
|
|
54
|
+
4. Deploy once before the first `npx convex dev` push. `convex/http.ts` imports
|
|
55
|
+
`.convex-hosting/version.js`, which only a deploy writes, and the deploy's build needs the
|
|
56
|
+
deployment's URL, which only `npx convex dev` writes to `.env.local`. So on a fresh clone:
|
|
57
|
+
|
|
58
|
+
```sh
|
|
59
|
+
npx convex dev --skip-push # creates your dev deployment and .env.local, no push
|
|
60
|
+
npx convex-hosting deploy --dev --build "vite build" --dist dist --not-found-handling single-page-application
|
|
61
|
+
npx convex dev # then work as usual
|
|
68
62
|
```
|
|
69
63
|
|
|
70
|
-
|
|
64
|
+
The `deploy --dev` line builds, uploads, writes `.convex-hosting/version.js`, and pushes. If
|
|
65
|
+
`.convex-hosting/` is deleted later, `npx convex dev` fails with
|
|
66
|
+
`Could not resolve "../.convex-hosting/version.js"`, and `deploy --dev` fixes it.
|
|
71
67
|
|
|
72
|
-
5. Deploy, from CI or a terminal:
|
|
68
|
+
5. Deploy production, from CI or a terminal:
|
|
73
69
|
|
|
74
70
|
```sh
|
|
75
71
|
npx convex-hosting deploy --build "vite build" --dist dist --not-found-handling single-page-application
|
|
@@ -80,25 +76,26 @@ An app set up this way: the
|
|
|
80
76
|
|
|
81
77
|
`convex-hosting` keeps its state in `.convex-hosting/` at the project root, next to `convex/`, like
|
|
82
78
|
Wrangler's `.wrangler/`. The folder has its own `.gitignore`, so git ignores it. The package
|
|
83
|
-
declares the
|
|
84
|
-
|
|
79
|
+
declares the type of `.convex-hosting/version.js`, so the app typechecks without it. A
|
|
80
|
+
server-rendered app gets the type of its server build from the framework adapter.
|
|
85
81
|
|
|
86
82
|
## Rules
|
|
87
83
|
|
|
88
84
|
- Deploy production and previews with `convex-hosting deploy`, never with a plain
|
|
89
|
-
`npx convex deploy`. A plain push sends whatever version `.convex-hosting/version.js` names,
|
|
90
|
-
|
|
85
|
+
`npx convex deploy`. A plain push sends whatever version `.convex-hosting/version.js` names, the
|
|
86
|
+
version of this checkout's last deploy, which is often another deployment's: the site answers 404
|
|
87
|
+
until the next `convex-hosting deploy`.
|
|
91
88
|
- Do not commit `.convex-hosting/`. It ignores itself.
|
|
92
89
|
- Do not change directory in `--build`. The build and the upload run in the project directory.
|
|
93
90
|
|
|
94
91
|
## Deploy
|
|
95
92
|
|
|
96
93
|
`deploy` runs `npx convex deploy` with your build and the upload of `--dist` as its `--cmd`. The
|
|
97
|
-
pushed code names the version it was built with, so the push switches the site
|
|
98
|
-
|
|
99
|
-
that
|
|
100
|
-
|
|
101
|
-
gets no request.
|
|
94
|
+
pushed code names the version it was built with, so the push switches the site. Then the command
|
|
95
|
+
prints the site URL, which it asks the deployment for (`CONVEX_SITE_URL`), and ends. The first
|
|
96
|
+
request that the new code serves marks its version live, which deletes the versions that were live
|
|
97
|
+
before it. A version that never becomes live, from a deploy that failed, is deleted when it is a day
|
|
98
|
+
old, with the stored files that no version uses. Nothing is deleted while a site gets no request.
|
|
102
99
|
|
|
103
100
|
`deploy` goes to production. `--preview-name <name>` sends it to that preview (with a login or a
|
|
104
101
|
project's preview deploy key; always pass the name with that key), and `--dev` to the development
|
|
@@ -107,19 +104,68 @@ deployment (see [Development](#development)). A deploy key in `CONVEX_DEPLOY_KEY
|
|
|
107
104
|
and so does `CONVEX_SELF_HOSTED_URL` for a self-hosted deployment.
|
|
108
105
|
|
|
109
106
|
The first deploy to a deployment pushes the component, then uploads the files. Until that upload
|
|
110
|
-
ends, the site answers 404.
|
|
107
|
+
ends, the site answers 404.
|
|
108
|
+
|
|
109
|
+
Run one deploy at a time per deployment; the examples'
|
|
110
|
+
[deploy workflow](https://github.com/samebase/convex-hosting/blob/main/.github/workflows/deploy-examples.yml)
|
|
111
|
+
queues them, with one `concurrency` group per deployment.
|
|
111
112
|
|
|
112
113
|
## Deploy tools and CI
|
|
113
114
|
|
|
115
|
+
- **The deploy keys** go into repository secrets. Create the production key with the Convex CLI and
|
|
116
|
+
hand it to `gh secret set` on standard input, which keeps it off the screen and out of process
|
|
117
|
+
arguments:
|
|
118
|
+
|
|
119
|
+
```sh
|
|
120
|
+
key=$(npx convex deployment token create "<repository> deploy.yml" --prod) && printf '%s' "$key" | gh secret set CONVEX_DEPLOY_KEY
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
The CLI cannot create a project's preview deploy key, so use the management API, with a personal
|
|
124
|
+
or team access token from the Convex dashboard in `CONVEX_TOKEN`:
|
|
125
|
+
|
|
126
|
+
```sh
|
|
127
|
+
key=$(curl -s -X POST "https://api.convex.dev/v1/projects/<project id>/create_preview_deploy_key" \
|
|
128
|
+
-H "Authorization: Bearer $CONVEX_TOKEN" -H "Content-Type: application/json" \
|
|
129
|
+
-d '{"name": "<repository> preview.yml"}' | jq -er .previewDeployKey) && printf '%s' "$key" | gh secret set CONVEX_PREVIEW_DEPLOY_KEY
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
A failed first command stops before anything is stored.
|
|
133
|
+
|
|
114
134
|
- **A tool that runs `convex deploy` itself**, such as Alchemy's `Convex.Code`, has no place for the
|
|
115
135
|
upload, which must happen between the build and the push. Run `convex-hosting deploy` in place of
|
|
116
136
|
that tool's push step, with the deploy key in `CONVEX_DEPLOY_KEY`.
|
|
117
137
|
- **A deploy key limited to some actions** needs `deployment:deploy`,
|
|
118
138
|
`deployment:functions:runInternalQueries`, `deployment:functions:runInternalMutations`,
|
|
119
139
|
`deployment:functions:runInternalActions` (the upload calls one internal action), and
|
|
120
|
-
`deployment:functions:runTestQuery` (the first-install check
|
|
140
|
+
`deployment:functions:runTestQuery` (the first-install check and the site URL are inline queries).
|
|
121
141
|
- **Checks that must stop a release** run before `convex-hosting deploy`, because its push switches
|
|
122
142
|
the site. Checks that need the new functions run after it.
|
|
143
|
+
- **A re-run of an old workflow run** checks out its old commit, and its push puts older code over
|
|
144
|
+
newer code; a `concurrency` group orders runs but does not refuse a stale one. So the examples'
|
|
145
|
+
workflows check, right before the deploy, that the commit is still the head of `main`, or of the
|
|
146
|
+
pull request for a preview, and fail otherwise.
|
|
147
|
+
- **A step that needs the site URL**, such as a preview comment, reads it from the deploy step: when
|
|
148
|
+
`GITHUB_OUTPUT` is set, `deploy` appends `url=<site URL>` to it, so give the deploy step an `id`
|
|
149
|
+
and read `steps.<id>.outputs.url`.
|
|
150
|
+
|
|
151
|
+
## Your own domain
|
|
152
|
+
|
|
153
|
+
A custom domain needs the Convex Pro plan. Add it to the deployment in the dashboard, under
|
|
154
|
+
Deployment Settings, Custom Domains, with "HTTP Actions" as the destination, or with the management
|
|
155
|
+
API: `POST https://api.convex.dev/v1/deployments/<deployment>/create_custom_domain` with
|
|
156
|
+
`{"domain": "<domain>", "requestDestination": "convexSite"}`.
|
|
157
|
+
|
|
158
|
+
Then create the two records that the dashboard shows: a `CNAME` from the domain to `convex.domains`,
|
|
159
|
+
and a `TXT` record at `_convex_domains.<domain>` whose value is the deployment's name. On
|
|
160
|
+
Cloudflare, make the `CNAME` DNS only; Convex documents a proxied record as an
|
|
161
|
+
[advanced setup](https://docs.convex.dev/production/abuse-protection). Verification can take up to
|
|
162
|
+
30 minutes.
|
|
163
|
+
|
|
164
|
+
Do not choose the domain under "Override Environment Variables". That changes `CONVEX_SITE_URL`
|
|
165
|
+
everywhere in the app, and Convex Auth uses it as the token issuer and in its redirect URLs.
|
|
166
|
+
|
|
167
|
+
An apex domain, such as `example.com`, relies on Cloudflare's CNAME flattening and is not tested
|
|
168
|
+
yet.
|
|
123
169
|
|
|
124
170
|
## Development
|
|
125
171
|
|
|
@@ -145,9 +191,9 @@ works the same way, with a local dev server and a push on demand.
|
|
|
145
191
|
|
|
146
192
|
Two cases are transient:
|
|
147
193
|
|
|
148
|
-
- A server-rendered app imports its server build
|
|
149
|
-
|
|
150
|
-
|
|
194
|
+
- A server-rendered app imports its server build in `convex/http.ts`, so a running `npx convex dev`
|
|
195
|
+
pushes after the build, before `deploy --dev` writes the new version. Until `deploy --dev` ends,
|
|
196
|
+
the new pages refer to files that answer 404.
|
|
151
197
|
- A production deploy writes production's version to the version file, and a running
|
|
152
198
|
`npx convex dev` pushes it to the development deployment, where that version does not exist, until
|
|
153
199
|
the next `deploy --dev`. Run production deploys in CI or in a separate checkout.
|
|
@@ -177,8 +223,9 @@ Put them at the root of `--dist`, as for Cloudflare:
|
|
|
177
223
|
[`.assetsignore`](https://developers.cloudflare.com/workers/static-assets/binding/#ignoring-assets).
|
|
178
224
|
For a Vite app, put them in `public/`, which Vite copies into `dist/`. They are not served. Symbolic
|
|
179
225
|
links in `--dist` are followed, as Wrangler follows them, also when they point outside the folder; a
|
|
180
|
-
link to nothing, or
|
|
181
|
-
excludes what a link should
|
|
226
|
+
link to nothing, or to a folder that contains it, is skipped with a message, and a link to another
|
|
227
|
+
folder in `--dist` uploads its files under both paths. `.assetsignore` excludes what a link should
|
|
228
|
+
not publish.
|
|
182
229
|
|
|
183
230
|
Every asset has `Cache-Control: public, max-age=0, must-revalidate` and an `ETag`. To cache hashed
|
|
184
231
|
files for a year, add a `_headers` rule:
|
|
@@ -191,32 +238,40 @@ files for a year, add a `_headers` rule:
|
|
|
191
238
|
## Routing
|
|
192
239
|
|
|
193
240
|
`serveSite` answers with the file that matches, else with the page that `render` returns (see
|
|
194
|
-
[Server-rendered pages](#server-rendered-pages)), else 404.
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
-
|
|
213
|
-
|
|
214
|
-
|
|
241
|
+
[Server-rendered pages](#server-rendered-pages)), else 404. `render` is the code that runs on a
|
|
242
|
+
miss, with the request in its closure. Everything it returns gets `Cache-Control: no-store`, and so
|
|
243
|
+
does a 404, because the `*.convex.site` front caches paths with an extension. The front keeps
|
|
244
|
+
`no-store` for a path without an extension and replaces it with a four-hour browser `max-age` for a
|
|
245
|
+
path with one, so a browser that asks for a script before its upload ended keeps the 404; the deploy
|
|
246
|
+
order prevents that case, because no page refers to a file that is not uploaded yet. When the
|
|
247
|
+
version does not exist or is still uploading, it answers 404 naming the version. At the first
|
|
248
|
+
request for a new version, it marks the version live.
|
|
249
|
+
|
|
250
|
+
As on Cloudflare, the presence of code decides where `not_found_handling` (the single-page fallback
|
|
251
|
+
or the 404 page) applies:
|
|
252
|
+
|
|
253
|
+
- Without `render`, the site is files only, like a Worker without a script: `not_found_handling`
|
|
254
|
+
applies to every request. `curl`, uptime monitors, and link-preview bots get what a browser gets.
|
|
255
|
+
- With `render`, your code is the Worker: `not_found_handling` applies to navigation requests
|
|
256
|
+
(`Sec-Fetch-Mode: navigate`) only, and other requests that match no file reach your code. Browsers
|
|
257
|
+
send that header whenever they open a page. `curl`, `fetch` in scripts and tests, uptime monitors,
|
|
258
|
+
and link-preview bots do not. To test a deep link as a browser opens it, send the header:
|
|
259
|
+
`curl -H "Sec-Fetch-Mode: navigate"`, or `node:http` in Node, whose `fetch` refuses to set it.
|
|
260
|
+
|
|
261
|
+
On a files-only single-page app, a missing hashed file such as `/assets/old.js` gets the shell, with
|
|
262
|
+
200 and `text/html`, as on Cloudflare. A `_headers` rule for its path applies to it too, so with the
|
|
263
|
+
one-year rule above a browser keeps that HTML for a year; without a rule, the deployment's
|
|
264
|
+
Cloudflare front gives a path with an extension a four-hour browser `max-age`. Hashed names do not
|
|
265
|
+
come back.
|
|
266
|
+
|
|
267
|
+
One difference from Cloudflare follows from Convex's router: an exact route in `convex/http.ts` wins
|
|
268
|
+
over an asset at the same path.
|
|
215
269
|
|
|
216
270
|
## Open tabs after a deploy
|
|
217
271
|
|
|
218
|
-
A page opened before a deploy keeps asking for its hashed files, which
|
|
219
|
-
|
|
272
|
+
A page opened before a deploy keeps asking for its hashed files, which the new version does not
|
|
273
|
+
have, as on Cloudflare: they answer 404, or the shell on a files-only single-page app. To reload
|
|
274
|
+
open tabs on a new version, add a query that returns the bundled version:
|
|
220
275
|
|
|
221
276
|
```ts
|
|
222
277
|
// convex/siteVersion.ts
|
|
@@ -247,19 +302,15 @@ export function useReloadOnNewVersion() {
|
|
|
247
302
|
|
|
248
303
|
## Server-rendered pages
|
|
249
304
|
|
|
250
|
-
`serveSite` takes a fifth argument, `render`, a function
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
on a fresh clone before any build.
|
|
305
|
+
`serveSite` takes a fifth argument, `render`, a function that returns the page's response, and calls
|
|
306
|
+
it when no file matches. `convex/http.ts` imports the server build directly, such as
|
|
307
|
+
`../dist/server/server.js` for TanStack Start, so `npx convex dev` bundles it only after a build: on
|
|
308
|
+
a fresh clone, the first `deploy --dev` builds before the first push (see [Setup](#setup)).
|
|
255
309
|
[`@samebase/convex-hosting-tanstack-start`](https://github.com/samebase/convex-hosting/tree/main/packages/convex-hosting-tanstack-start)
|
|
256
310
|
renders TanStack Start pages in it. See the
|
|
257
311
|
[TanStack Start example](https://github.com/samebase/convex-hosting/tree/main/examples/tanstack-ssr),
|
|
258
312
|
live at [gallant-llama-40.convex.site](https://gallant-llama-40.convex.site).
|
|
259
313
|
|
|
260
|
-
Because the path is fixed, the route in `convex/http.ts` is the same for every framework; the
|
|
261
|
-
adapter's build step points the file at the framework's own server output.
|
|
262
|
-
|
|
263
314
|
## License
|
|
264
315
|
|
|
265
316
|
Apache-2.0, with the notices in
|
package/dist/cli/convex.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type FunctionArgs, type FunctionReference, type FunctionReturnType, type FunctionType } from "convex/server";
|
|
2
|
-
import
|
|
2
|
+
import { z } from "zod";
|
|
3
3
|
/** The processes and network calls of the CLI. Tests pass fakes. */
|
|
4
4
|
export interface Cli {
|
|
5
5
|
/** The app's directory, with `convex/` and `.env.local`. */
|
|
@@ -55,6 +55,12 @@ export type Target = {
|
|
|
55
55
|
* is an inline query that reads nothing. Any other failure is an error.
|
|
56
56
|
*/
|
|
57
57
|
export declare function probeComponent(cli: Cli, target: Target): Promise<string | undefined>;
|
|
58
|
+
/**
|
|
59
|
+
* The site URL, as the deployment gives it to its own functions in `CONVEX_SITE_URL`: an inline
|
|
60
|
+
* query at the app's root, with the deploy's selector. So it is right for every kind of deployment,
|
|
61
|
+
* and it is the custom domain when the dashboard's "Override Environment Variables" sets one.
|
|
62
|
+
*/
|
|
63
|
+
export declare function siteUrl(cli: Cli, flags: string[]): Promise<string>;
|
|
58
64
|
/**
|
|
59
65
|
* Runs a function of the component with `npx convex run` and validates its result. The Convex CLI
|
|
60
66
|
* prints the result as JSON from another process, so `result` checks it at runtime; its type makes
|
package/dist/cli/convex.js
CHANGED
|
@@ -4,6 +4,7 @@ import { createRequire } from "node:module";
|
|
|
4
4
|
import { dirname, join } from "node:path";
|
|
5
5
|
import { parseEnv } from "node:util";
|
|
6
6
|
import { getFunctionName, } from "convex/server";
|
|
7
|
+
import { z } from "zod";
|
|
7
8
|
/** The app's own Convex CLI, so the CLI version and the deployment settings match the app. */
|
|
8
9
|
function convexBin(cwd) {
|
|
9
10
|
const requireFromApp = createRequire(join(cwd, "package.json"));
|
|
@@ -85,6 +86,23 @@ export async function probeComponent(cli, target) {
|
|
|
85
86
|
return output;
|
|
86
87
|
throw new Error(stderr.trim() || stdout.trim() || `npx convex run exited with ${exitCode}.`);
|
|
87
88
|
}
|
|
89
|
+
/**
|
|
90
|
+
* The site URL, as the deployment gives it to its own functions in `CONVEX_SITE_URL`: an inline
|
|
91
|
+
* query at the app's root, with the deploy's selector. So it is right for every kind of deployment,
|
|
92
|
+
* and it is the custom domain when the dashboard's "Override Environment Variables" sets one.
|
|
93
|
+
*/
|
|
94
|
+
export async function siteUrl(cli, flags) {
|
|
95
|
+
const { exitCode, stdout, stderr } = await cli.convex([
|
|
96
|
+
"run",
|
|
97
|
+
"--inline-query",
|
|
98
|
+
"process.env.CONVEX_SITE_URL",
|
|
99
|
+
...flags,
|
|
100
|
+
]);
|
|
101
|
+
if (exitCode !== 0) {
|
|
102
|
+
throw new Error(stderr.trim() || stdout.trim() || `npx convex run exited with ${exitCode}.`);
|
|
103
|
+
}
|
|
104
|
+
return z.string().parse(JSON.parse(stdout));
|
|
105
|
+
}
|
|
88
106
|
/**
|
|
89
107
|
* Runs a function of the component with `npx convex run` and validates its result. The Convex CLI
|
|
90
108
|
* prints the result as JSON from another process, so `result` checks it at runtime; its type makes
|
package/dist/cli/convex.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"convex.js","sourceRoot":"","sources":["../../src/cli/convex.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAqB,MAAM,oBAAoB,CAAC;AACxE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EACL,eAAe,GAKhB,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"convex.js","sourceRoot":"","sources":["../../src/cli/convex.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/files.js
CHANGED
|
@@ -21,9 +21,10 @@ export async function readDist(dist, handling, log) {
|
|
|
21
21
|
throw new Error(`The --dist folder ${dist} does not exist.`);
|
|
22
22
|
const { assetsIgnoreFunction } = await createAssetsIgnoreFunction(dist);
|
|
23
23
|
const entries = [];
|
|
24
|
-
// The real paths of the folders
|
|
25
|
-
// example a link to `dist` itself, would otherwise be walked without end.
|
|
26
|
-
|
|
24
|
+
// The real paths of the folders that contain the one being walked. A link to one of them, for
|
|
25
|
+
// example a link to `dist` itself, is a cycle and would otherwise be walked without end. A link to
|
|
26
|
+
// any other folder, such as a sibling, is walked, so its files are uploaded under both paths.
|
|
27
|
+
const ancestors = new Set([realpathSync(dist)]);
|
|
27
28
|
const walk = (directory) => {
|
|
28
29
|
for (const name of readdirSync(directory)) {
|
|
29
30
|
const file = join(directory, name);
|
|
@@ -37,17 +38,17 @@ export async function readDist(dist, handling, log) {
|
|
|
37
38
|
// `ignore` takes paths relative to `dist` with `/`, and a directory with a trailing `/`.
|
|
38
39
|
const ignorePath = relative(dist, file).replaceAll("\\", "/");
|
|
39
40
|
if (stats.isDirectory()) {
|
|
40
|
-
// An ignored directory is not walked: gitignore rules cannot re-include a file in it.
|
|
41
|
-
// does not count as walked either, so an ignored link does not hide the folder it points to.
|
|
41
|
+
// An ignored directory is not walked: gitignore rules cannot re-include a file in it.
|
|
42
42
|
if (assetsIgnoreFunction(`${ignorePath}/`))
|
|
43
43
|
continue;
|
|
44
44
|
const real = realpathSync(file);
|
|
45
|
-
if (
|
|
46
|
-
log(`Skipped ${file}: a link to a folder that
|
|
45
|
+
if (ancestors.has(real)) {
|
|
46
|
+
log(`Skipped ${file}: a link to a folder that contains it.`);
|
|
47
47
|
continue;
|
|
48
48
|
}
|
|
49
|
-
|
|
49
|
+
ancestors.add(real);
|
|
50
50
|
walk(file);
|
|
51
|
+
ancestors.delete(real);
|
|
51
52
|
}
|
|
52
53
|
else if (stats.isFile() && !assetsIgnoreFunction(ignorePath)) {
|
|
53
54
|
const bytes = readFileSync(file);
|
package/dist/cli/files.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"files.js","sourceRoot":"","sources":["../../src/cli/files.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACxF,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAE3C,OAAO,EACL,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,iEAAiE,CAAC;AACzE,OAAO,EAAE,YAAY,EAAE,MAAM,uDAAuD,CAAC;AACrF,OAAO,EAAE,cAAc,EAAE,MAAM,yDAAyD,CAAC;AACzF,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,kBAAkB,GACnB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EACL,0BAA0B,EAC1B,cAAc,EACd,YAAY,EACZ,iBAAiB,GAClB,MAAM,oCAAoC,CAAC;AAE5C;;;GAGG;AACH,MAAM,gBAAgB,GAAG,GAAG,GAAG,IAAI,CAAC;AAYpC;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,IAAY,EACZ,QAAyB,EACzB,GAA8B;IAE9B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,IAAI,kBAAkB,CAAC,CAAC;IACpF,MAAM,EAAE,oBAAoB,EAAE,GAAG,MAAM,0BAA0B,CAAC,IAAI,CAAC,CAAC;IACxE,MAAM,OAAO,GAAgB,EAAE,CAAC;IAEhC,
|
|
1
|
+
{"version":3,"file":"files.js","sourceRoot":"","sources":["../../src/cli/files.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/main.d.ts
CHANGED
|
@@ -1,10 +1,5 @@
|
|
|
1
1
|
import { type Cli } from "./convex.js";
|
|
2
2
|
/** The file that the upload writes and the app's `convex/http.ts` imports. */
|
|
3
3
|
export declare const VERSION_FILE: string;
|
|
4
|
-
/**
|
|
5
|
-
* The server entry that a server-rendered app's `convex/http.ts` imports. A framework adapter's
|
|
6
|
-
* Vite plugin writes it after a server build; `init` writes a placeholder before the first one.
|
|
7
|
-
*/
|
|
8
|
-
export declare const SERVER_FILE: string;
|
|
9
4
|
/** Runs one `convex-hosting` command and returns the exit code. */
|
|
10
5
|
export declare function main(args: string[], cli: Cli): Promise<number>;
|
package/dist/cli/main.js
CHANGED
|
@@ -1,20 +1,17 @@
|
|
|
1
1
|
import { randomUUID } from "node:crypto";
|
|
2
|
-
import { existsSync, mkdirSync, readFileSync, rmSync, writeFileSync } from "node:fs";
|
|
2
|
+
import { appendFileSync, existsSync, mkdirSync, readFileSync, rmSync, writeFileSync, } from "node:fs";
|
|
3
3
|
import { join, resolve } from "node:path";
|
|
4
4
|
import { fileURLToPath } from "node:url";
|
|
5
5
|
import { parseArgs } from "node:util";
|
|
6
6
|
import { z } from "zod";
|
|
7
7
|
import { internal } from "../component/_generated/api.js";
|
|
8
8
|
import { AssetConfigSchema } from "../workers-shared/utils/types.js";
|
|
9
|
-
import { deploymentSelector, probeComponent, runComponent, } from "./convex.js";
|
|
9
|
+
import { deploymentSelector, probeComponent, runComponent, siteUrl, } from "./convex.js";
|
|
10
10
|
import { readDist } from "./files.js";
|
|
11
11
|
const USAGE = `Usage:
|
|
12
|
-
convex-hosting init
|
|
13
|
-
Once per clone, before npx convex dev: writes .convex-hosting/version.js with no site
|
|
14
|
-
version and .convex-hosting/server.js with a placeholder server entry, so convex/http.ts
|
|
15
|
-
bundles. Keeps existing files.
|
|
16
12
|
convex-hosting deploy --build "<command>" --dist <dir> [options]
|
|
17
13
|
Builds, stores the site files, and pushes the functions. The push switches the site.
|
|
14
|
+
Prints the site URL, and appends url=<site URL> to $GITHUB_OUTPUT when it is set.
|
|
18
15
|
|
|
19
16
|
Options:
|
|
20
17
|
--dev the development deployment of this checkout, instead of production
|
|
@@ -31,31 +28,11 @@ Options:
|
|
|
31
28
|
const STATE_DIR = ".convex-hosting";
|
|
32
29
|
/** The file that the upload writes and the app's `convex/http.ts` imports. */
|
|
33
30
|
export const VERSION_FILE = join(STATE_DIR, "version.js");
|
|
34
|
-
/**
|
|
35
|
-
* The server entry that a server-rendered app's `convex/http.ts` imports. A framework adapter's
|
|
36
|
-
* Vite plugin writes it after a server build; `init` writes a placeholder before the first one.
|
|
37
|
-
*/
|
|
38
|
-
export const SERVER_FILE = join(STATE_DIR, "server.js");
|
|
39
|
-
/** What `init` writes as the server entry. `serveSite` calls it only for a version that exists. */
|
|
40
|
-
const SERVER_PLACEHOLDER = `// Written by convex-hosting init: a fresh clone pushes convex/http.ts before its first build.
|
|
41
|
-
export default {
|
|
42
|
-
fetch: () =>
|
|
43
|
-
new Response("The site is not built yet.", {
|
|
44
|
-
status: 503,
|
|
45
|
-
headers: { "Cache-Control": "no-store" },
|
|
46
|
-
}),
|
|
47
|
-
};
|
|
48
|
-
`;
|
|
49
31
|
/**
|
|
50
32
|
* The inner `upload` of a first install writes this file when the component is not installed yet.
|
|
51
33
|
* `deploy` then uploads after the push.
|
|
52
34
|
*/
|
|
53
35
|
const FIRST_INSTALL_MARKER = join(STATE_DIR, "first-install");
|
|
54
|
-
/**
|
|
55
|
-
* The version that `init` writes. Deploys name versions with random UUIDs, so no version has this
|
|
56
|
-
* id, and `serveAsset` answers 404 naming it until the first deploy writes a real one.
|
|
57
|
-
*/
|
|
58
|
-
const NOT_DEPLOYED = "not-deployed";
|
|
59
36
|
/** Files that the upload sends to storage at once. */
|
|
60
37
|
const UPLOAD_CONCURRENCY = 4;
|
|
61
38
|
/**
|
|
@@ -91,12 +68,6 @@ function parseCommand(args) {
|
|
|
91
68
|
if (args.length === 0 || values.help)
|
|
92
69
|
return { name: "help" };
|
|
93
70
|
const [name, ...rest] = positionals;
|
|
94
|
-
if (name === "init") {
|
|
95
|
-
const deployOption = values.dist ?? values.build ?? values["version-id"] ?? values["preview-name"];
|
|
96
|
-
if (rest.length > 0 || deployOption !== undefined || values.dev)
|
|
97
|
-
throw new Error(USAGE);
|
|
98
|
-
return { name };
|
|
99
|
-
}
|
|
100
71
|
if ((name !== "deploy" && name !== "upload") || rest.length > 0)
|
|
101
72
|
throw new Error(USAGE);
|
|
102
73
|
if (values.dist === undefined)
|
|
@@ -143,9 +114,6 @@ export async function main(args, cli) {
|
|
|
143
114
|
if (command.name === "help") {
|
|
144
115
|
cli.log(USAGE);
|
|
145
116
|
}
|
|
146
|
-
else if (command.name === "init") {
|
|
147
|
-
init(cli);
|
|
148
|
-
}
|
|
149
117
|
else if (command.name === "deploy") {
|
|
150
118
|
await deploy(cli, command.options, command.build);
|
|
151
119
|
}
|
|
@@ -164,8 +132,9 @@ function quote(arg) {
|
|
|
164
132
|
return process.platform === "win32" ? `"${arg}"` : `'${arg.replaceAll("'", `'\\''`)}'`;
|
|
165
133
|
}
|
|
166
134
|
/**
|
|
167
|
-
* Builds, uploads, writes the version file, and pushes. The push is the switch
|
|
168
|
-
*
|
|
135
|
+
* Builds, uploads, writes the version file, and pushes. The push is the switch: the first request
|
|
136
|
+
* that the new code serves marks its version live. Then it reports the site URL, for a person and,
|
|
137
|
+
* through `$GITHUB_OUTPUT`, for the next step of a GitHub Actions job.
|
|
169
138
|
*/
|
|
170
139
|
async function deploy(cli, options, build) {
|
|
171
140
|
const target = {
|
|
@@ -179,7 +148,10 @@ async function deploy(cli, options, build) {
|
|
|
179
148
|
else {
|
|
180
149
|
await deployWithConvexDeploy(cli, options, target, versionId, build);
|
|
181
150
|
}
|
|
182
|
-
cli.
|
|
151
|
+
const url = await siteUrl(cli, target.flags);
|
|
152
|
+
cli.log(`Deployed version ${versionId} to ${url}.`);
|
|
153
|
+
if (cli.env.GITHUB_OUTPUT)
|
|
154
|
+
appendFileSync(cli.env.GITHUB_OUTPUT, `url=${url}\n`);
|
|
183
155
|
}
|
|
184
156
|
/**
|
|
185
157
|
* The development deployment, in one process. The build runs as a child of this process in the
|
|
@@ -328,29 +300,6 @@ async function upload(cli, options, target, versionId) {
|
|
|
328
300
|
cli.log(`Uploaded version ${versionId} and wrote ${VERSION_FILE}.`);
|
|
329
301
|
return undefined;
|
|
330
302
|
}
|
|
331
|
-
/**
|
|
332
|
-
* Makes a fresh clone bundle: `convex/http.ts` imports `.convex-hosting/version.js`, which only a
|
|
333
|
-
* deploy writes, and in a server-rendered app `.convex-hosting/server.js`, which only a build
|
|
334
|
-
* writes. Keeps an existing file, which names the version that this checkout last deployed or the
|
|
335
|
-
* server entry of its last build.
|
|
336
|
-
*/
|
|
337
|
-
function init(cli) {
|
|
338
|
-
if (existsSync(join(cli.cwd, VERSION_FILE))) {
|
|
339
|
-
cli.log(`${VERSION_FILE} exists. Kept it.`);
|
|
340
|
-
}
|
|
341
|
-
else {
|
|
342
|
-
writeVersionFile(cli, NOT_DEPLOYED);
|
|
343
|
-
cli.log(`Wrote ${VERSION_FILE} with no site version. ` +
|
|
344
|
-
"The site answers 404 until the first convex-hosting deploy.");
|
|
345
|
-
}
|
|
346
|
-
if (existsSync(join(cli.cwd, SERVER_FILE))) {
|
|
347
|
-
cli.log(`${SERVER_FILE} exists. Kept it.`);
|
|
348
|
-
}
|
|
349
|
-
else {
|
|
350
|
-
writeStateFile(cli, SERVER_FILE, SERVER_PLACEHOLDER);
|
|
351
|
-
cli.log(`Wrote ${SERVER_FILE} with a placeholder server entry until the first build.`);
|
|
352
|
-
}
|
|
353
|
-
}
|
|
354
303
|
function writeVersionFile(cli, versionId) {
|
|
355
304
|
writeStateFile(cli, VERSION_FILE, `export const versionId = ${JSON.stringify(versionId)};\n`);
|
|
356
305
|
}
|
package/dist/cli/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/cli/main.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/cli/main.ts"],"names":[],"mappings":"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"}
|
package/dist/client/index.d.ts
CHANGED
|
@@ -2,19 +2,14 @@ import type { GenericActionCtx, GenericDataModel } from "convex/server";
|
|
|
2
2
|
import type { ComponentApi } from "../component/_generated/component.js";
|
|
3
3
|
/**
|
|
4
4
|
* Answers `request` with the file of version `versionId`, else with the page that `render`
|
|
5
|
-
* returns, else 404.
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
* is not uploaded yet.
|
|
10
|
-
*/
|
|
11
|
-
export declare function serveSite(ctx: Pick<GenericActionCtx<GenericDataModel>, "runQuery" | "runMutation">, component: ComponentApi, request: Request, versionId: string, render?: () => Promise<Response>): Promise<Response>;
|
|
12
|
-
/**
|
|
13
|
-
* Answers `request` with the asset of version `versionId` that Cloudflare's asset handler picks.
|
|
5
|
+
* returns, else 404. `render` is the Worker script: the code that runs on a miss, with the request
|
|
6
|
+
* in its closure. As on Cloudflare, the presence of code decides how `not_found_handling` applies:
|
|
7
|
+
* with `render`, it applies to navigations only and `render` answers the other misses; without
|
|
8
|
+
* `render`, the site is files only, so it applies to every request.
|
|
14
9
|
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
10
|
+
* A page and a 404 answer `Cache-Control: no-store`. The deployment's Cloudflare front keeps that
|
|
11
|
+
* for a path without an extension and replaces it with a four-hour browser `max-age` for a path
|
|
12
|
+
* with one, so a browser that asks for a script before its upload ended keeps the 404; the deploy
|
|
13
|
+
* order prevents that case, because no page refers to a file that is not uploaded yet.
|
|
19
14
|
*/
|
|
20
|
-
export declare function
|
|
15
|
+
export declare function serveSite(ctx: Pick<GenericActionCtx<GenericDataModel>, "runQuery" | "runMutation">, component: ComponentApi, request: Request, versionId: string, render?: () => Promise<Response>): Promise<Response>;
|
package/dist/client/index.js
CHANGED
|
@@ -1,15 +1,20 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Answers `request` with the file of version `versionId`, else with the page that `render`
|
|
3
|
-
* returns, else 404.
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
3
|
+
* returns, else 404. `render` is the Worker script: the code that runs on a miss, with the request
|
|
4
|
+
* in its closure. As on Cloudflare, the presence of code decides how `not_found_handling` applies:
|
|
5
|
+
* with `render`, it applies to navigations only and `render` answers the other misses; without
|
|
6
|
+
* `render`, the site is files only, so it applies to every request.
|
|
7
|
+
*
|
|
8
|
+
* A page and a 404 answer `Cache-Control: no-store`. The deployment's Cloudflare front keeps that
|
|
9
|
+
* for a path without an extension and replaces it with a four-hour browser `max-age` for a path
|
|
10
|
+
* with one, so a browser that asks for a script before its upload ended keeps the 404; the deploy
|
|
11
|
+
* order prevents that case, because no page refers to a file that is not uploaded yet.
|
|
8
12
|
*/
|
|
9
13
|
export async function serveSite(ctx, component, request, versionId, render) {
|
|
10
|
-
const asset = await
|
|
14
|
+
const asset = await answer(ctx, component, request, versionId, render !== undefined);
|
|
11
15
|
if (asset !== null)
|
|
12
16
|
return asset;
|
|
17
|
+
// `route` answers every files-only request itself, so this 404 only fails closed.
|
|
13
18
|
if (render === undefined)
|
|
14
19
|
return new Response(null, { status: 404, headers: NO_STORE });
|
|
15
20
|
const page = await render();
|
|
@@ -18,19 +23,21 @@ export async function serveSite(ctx, component, request, versionId, render) {
|
|
|
18
23
|
return new Response(page.body, { status: page.status, headers });
|
|
19
24
|
}
|
|
20
25
|
/**
|
|
21
|
-
* Answers `request` with the asset of version `versionId` that Cloudflare's asset handler picks
|
|
26
|
+
* Answers `request` with the asset of version `versionId` that Cloudflare's asset handler picks,
|
|
27
|
+
* or returns `null` when no asset matches. `hasUserWorker` is Cloudflare's `has_user_worker`.
|
|
22
28
|
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
29
|
+
* A version that does not exist, is still uploading, or is being deleted answers 404, so a
|
|
30
|
+
* half-installed site does not render pages without their files. The first request for a `ready`
|
|
31
|
+
* version marks it live, which deletes the versions that were live before it; a version older than
|
|
32
|
+
* the live one is never marked.
|
|
27
33
|
*/
|
|
28
|
-
|
|
29
|
-
const { state,
|
|
34
|
+
async function answer(ctx, component, request, versionId, hasUserWorker) {
|
|
35
|
+
const { state, asset } = await ctx.runQuery(component.lib.route, {
|
|
30
36
|
versionId,
|
|
31
37
|
method: request.method,
|
|
32
38
|
url: request.url,
|
|
33
39
|
headers: handlerHeaders(request.headers),
|
|
40
|
+
hasUserWorker,
|
|
34
41
|
});
|
|
35
42
|
if (state === null || state === "uploading" || state === "deleting") {
|
|
36
43
|
const problem = state === null
|
|
@@ -45,10 +52,7 @@ export async function serveAsset(ctx, component, request, versionId) {
|
|
|
45
52
|
}
|
|
46
53
|
// Only the pushed code knows which version the deployment runs, so its first request reports it.
|
|
47
54
|
if (state === "ready") {
|
|
48
|
-
await ctx.runMutation(component.lib.markLive, {
|
|
49
|
-
versionId,
|
|
50
|
-
expectedNewestLiveAt: newestLiveAt,
|
|
51
|
-
});
|
|
55
|
+
await ctx.runMutation(component.lib.markLive, { versionId });
|
|
52
56
|
}
|
|
53
57
|
if (asset === null)
|
|
54
58
|
return null;
|
package/dist/client/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAGA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"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"}
|
package/dist/client/types.d.ts
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
// An import cannot include a script declaration file, and the wildcard
|
|
2
|
-
// ambient context, so
|
|
1
|
+
// An import cannot include a script declaration file, and the wildcard module in it needs an
|
|
2
|
+
// ambient context, so this is the package's reference directive.
|
|
3
3
|
// oxlint-disable-next-line typescript/triple-slash-reference
|
|
4
4
|
/// <reference path="./version-module.d.ts" />
|
|
5
|
-
// oxlint-disable-next-line typescript/triple-slash-reference
|
|
6
|
-
/// <reference path="./server-module.d.ts" />
|
|
7
5
|
export * from "./index.js";
|
|
@@ -21,10 +21,10 @@ import type { FunctionReference } from "convex/server";
|
|
|
21
21
|
export type ComponentApi<Name extends string | undefined = string | undefined> = {
|
|
22
22
|
lib: {
|
|
23
23
|
markLive: FunctionReference<"mutation", "internal", {
|
|
24
|
-
expectedNewestLiveAt: number | null;
|
|
25
24
|
versionId: string;
|
|
26
25
|
}, null, Name>;
|
|
27
26
|
route: FunctionReference<"query", "internal", {
|
|
27
|
+
hasUserWorker: boolean;
|
|
28
28
|
headers: Record<string, string>;
|
|
29
29
|
method: string;
|
|
30
30
|
url: string;
|
|
@@ -38,7 +38,6 @@ export type ComponentApi<Name extends string | undefined = string | undefined> =
|
|
|
38
38
|
}>;
|
|
39
39
|
status: number;
|
|
40
40
|
};
|
|
41
|
-
newestLiveAt: number | null;
|
|
42
41
|
state: "uploading" | "ready" | "live" | "deleting" | null;
|
|
43
42
|
}, Name>;
|
|
44
43
|
};
|
package/dist/component/lib.d.ts
CHANGED
|
@@ -95,16 +95,18 @@ export declare const finishVersion: import("convex/server").RegisteredMutation<"
|
|
|
95
95
|
versionId: string;
|
|
96
96
|
}, Promise<null>>;
|
|
97
97
|
/**
|
|
98
|
-
* Marks a `ready` version `live` and schedules `collect`. `
|
|
99
|
-
*
|
|
100
|
-
*
|
|
101
|
-
*
|
|
102
|
-
*
|
|
103
|
-
*
|
|
104
|
-
*
|
|
98
|
+
* Marks a `ready` version `live` and schedules `collect`. `serveSite` calls it at each request that
|
|
99
|
+
* finds the version `ready`. An older upload never goes live over a newer one: the mark does nothing
|
|
100
|
+
* when a live version was created after this one. So a request that started on replaced code, and
|
|
101
|
+
* reaches its lookup or its mark after the new code's first request marked the new version, cannot
|
|
102
|
+
* make the old version newest, and `collect` cannot delete the new version's files. A version that
|
|
103
|
+
* is already live stays as it is, so concurrent first requests are fine.
|
|
104
|
+
*
|
|
105
|
+
* Precondition: deploys to one deployment do not overlap. When two overlap and the older upload is
|
|
106
|
+
* pushed last, its requests look like requests of replaced code: its version serves but stays
|
|
107
|
+
* `ready`, and nothing is deleted until the next deploy.
|
|
105
108
|
*/
|
|
106
109
|
export declare const markLive: import("convex/server").RegisteredMutation<"public", {
|
|
107
|
-
expectedNewestLiveAt: number | null;
|
|
108
110
|
versionId: string;
|
|
109
111
|
}, Promise<null>>;
|
|
110
112
|
/**
|
|
@@ -146,31 +148,31 @@ export declare const collect: import("convex/server").RegisteredMutation<"intern
|
|
|
146
148
|
}, Promise<null>>;
|
|
147
149
|
/**
|
|
148
150
|
* Runs Cloudflare's asset handler for one request against one version. `state` is the kind of the
|
|
149
|
-
* version's state, or `null` when the version does not exist. `
|
|
150
|
-
*
|
|
151
|
-
*
|
|
152
|
-
* `
|
|
151
|
+
* version's state, or `null` when the version does not exist. `asset` is `null` when the version is
|
|
152
|
+
* uploading, being deleted, or does not exist, or when no asset answers.
|
|
153
|
+
*
|
|
154
|
+
* `hasUserWorker` is Cloudflare's `has_user_worker`: whether the app has code that answers a miss.
|
|
155
|
+
* With it, Cloudflare's router asks `canFetch` first, which keeps `not_found_handling` for
|
|
156
|
+
* navigations only, and the app answers the other misses. Without it, every request goes to
|
|
157
|
+
* `handleRequest`, so `not_found_handling` applies to all of them, and an asset always answers.
|
|
153
158
|
*/
|
|
154
159
|
export declare const route: import("convex/server").RegisteredQuery<"public", {
|
|
160
|
+
hasUserWorker: boolean;
|
|
155
161
|
headers: Record<string, string>;
|
|
156
162
|
method: string;
|
|
157
163
|
url: string;
|
|
158
164
|
versionId: string;
|
|
159
165
|
}, Promise<{
|
|
160
166
|
state: null;
|
|
161
|
-
newestLiveAt: null;
|
|
162
167
|
asset: null;
|
|
163
168
|
} | {
|
|
164
169
|
state: "deleting" | "uploading";
|
|
165
|
-
newestLiveAt: null;
|
|
166
170
|
asset: null;
|
|
167
171
|
} | {
|
|
168
172
|
state: "live" | "ready";
|
|
169
|
-
newestLiveAt: number | null;
|
|
170
173
|
asset: null;
|
|
171
174
|
} | {
|
|
172
175
|
state: "live" | "ready";
|
|
173
|
-
newestLiveAt: number | null;
|
|
174
176
|
asset: {
|
|
175
177
|
status: number;
|
|
176
178
|
headers: {
|
package/dist/component/lib.js
CHANGED
|
@@ -63,14 +63,20 @@ async function getEntry(ctx, versionId, path) {
|
|
|
63
63
|
.withIndex("by_version_path", (q) => q.eq("versionId", versionId).eq("path", path))
|
|
64
64
|
.unique();
|
|
65
65
|
}
|
|
66
|
-
/**
|
|
67
|
-
|
|
66
|
+
/**
|
|
67
|
+
* The live version with the newest `at`, or `null` when no version is live. `markLive` sets an `at`
|
|
68
|
+
* later than every live one and marks only a version created after every live one, so this is also
|
|
69
|
+
* the newest live version by creation time.
|
|
70
|
+
*/
|
|
71
|
+
async function getNewestLive(ctx) {
|
|
68
72
|
const newest = await ctx.db
|
|
69
73
|
.query("versions")
|
|
70
74
|
.withIndex("by_live", (q) => q.eq("state.kind", "live"))
|
|
71
75
|
.order("desc")
|
|
72
76
|
.first();
|
|
73
|
-
return newest?.state.kind === "live"
|
|
77
|
+
return newest?.state.kind === "live"
|
|
78
|
+
? { createdAt: newest._creationTime, at: newest.state.at }
|
|
79
|
+
: null;
|
|
74
80
|
}
|
|
75
81
|
async function getVersionOrThrow(ctx, versionId) {
|
|
76
82
|
const version = await getVersion(ctx, versionId);
|
|
@@ -210,18 +216,21 @@ export const finishVersion = internalMutation({
|
|
|
210
216
|
},
|
|
211
217
|
});
|
|
212
218
|
/**
|
|
213
|
-
* Marks a `ready` version `live` and schedules `collect`. `
|
|
214
|
-
*
|
|
215
|
-
*
|
|
216
|
-
*
|
|
217
|
-
*
|
|
218
|
-
*
|
|
219
|
-
*
|
|
219
|
+
* Marks a `ready` version `live` and schedules `collect`. `serveSite` calls it at each request that
|
|
220
|
+
* finds the version `ready`. An older upload never goes live over a newer one: the mark does nothing
|
|
221
|
+
* when a live version was created after this one. So a request that started on replaced code, and
|
|
222
|
+
* reaches its lookup or its mark after the new code's first request marked the new version, cannot
|
|
223
|
+
* make the old version newest, and `collect` cannot delete the new version's files. A version that
|
|
224
|
+
* is already live stays as it is, so concurrent first requests are fine.
|
|
225
|
+
*
|
|
226
|
+
* Precondition: deploys to one deployment do not overlap. When two overlap and the older upload is
|
|
227
|
+
* pushed last, its requests look like requests of replaced code: its version serves but stays
|
|
228
|
+
* `ready`, and nothing is deleted until the next deploy.
|
|
220
229
|
*/
|
|
221
230
|
export const markLive = mutation({
|
|
222
|
-
args: { versionId: v.string()
|
|
231
|
+
args: { versionId: v.string() },
|
|
223
232
|
returns: v.null(),
|
|
224
|
-
handler: async (ctx, { versionId
|
|
233
|
+
handler: async (ctx, { versionId }) => {
|
|
225
234
|
const version = await getVersionOrThrow(ctx, versionId);
|
|
226
235
|
if (version.state.kind === "live")
|
|
227
236
|
return null;
|
|
@@ -231,11 +240,12 @@ export const markLive = mutation({
|
|
|
231
240
|
if (version.state.kind === "deleting") {
|
|
232
241
|
throw new ConvexError(`Version ${versionId} is being deleted.`);
|
|
233
242
|
}
|
|
234
|
-
const
|
|
235
|
-
if (
|
|
243
|
+
const newest = await getNewestLive(ctx);
|
|
244
|
+
if (newest !== null && newest.createdAt > version._creationTime)
|
|
236
245
|
return null;
|
|
237
|
-
//
|
|
238
|
-
|
|
246
|
+
// Later than every live `at`, also within one millisecond or when the clock moves back, so that
|
|
247
|
+
// `at` follows creation order and `collect` deletes the versions live before this one.
|
|
248
|
+
const at = newest === null ? Date.now() : Math.max(Date.now(), newest.at + 1);
|
|
239
249
|
await ctx.db.patch("versions", version._id, { state: { kind: "live", at } });
|
|
240
250
|
await ctx.scheduler.runAfter(0, internal.lib.collect, { step: { kind: "files" } });
|
|
241
251
|
return null;
|
|
@@ -303,7 +313,7 @@ export const collect = internalMutation({
|
|
|
303
313
|
return null;
|
|
304
314
|
}
|
|
305
315
|
const after = step.after;
|
|
306
|
-
const
|
|
316
|
+
const current = await getNewestLive(ctx);
|
|
307
317
|
const page = (await ctx.db
|
|
308
318
|
.query("versions")
|
|
309
319
|
.withIndex("by_creation_time", (q) => after === undefined ? q : q.gte("_creationTime", after.at))
|
|
@@ -316,7 +326,7 @@ export const collect = internalMutation({
|
|
|
316
326
|
const { state } = version;
|
|
317
327
|
const garbage = state.kind === "deleting" ||
|
|
318
328
|
(state.kind === "live"
|
|
319
|
-
?
|
|
329
|
+
? current !== null && state.at < current.at
|
|
320
330
|
: version._creationTime < garbageBefore);
|
|
321
331
|
if (garbage) {
|
|
322
332
|
const entries = await ctx.db
|
|
@@ -358,16 +368,24 @@ function advance(cursor, document) {
|
|
|
358
368
|
const routeHeaders = v.record(v.string(), v.string());
|
|
359
369
|
/**
|
|
360
370
|
* Runs Cloudflare's asset handler for one request against one version. `state` is the kind of the
|
|
361
|
-
* version's state, or `null` when the version does not exist. `
|
|
362
|
-
*
|
|
363
|
-
*
|
|
364
|
-
* `
|
|
371
|
+
* version's state, or `null` when the version does not exist. `asset` is `null` when the version is
|
|
372
|
+
* uploading, being deleted, or does not exist, or when no asset answers.
|
|
373
|
+
*
|
|
374
|
+
* `hasUserWorker` is Cloudflare's `has_user_worker`: whether the app has code that answers a miss.
|
|
375
|
+
* With it, Cloudflare's router asks `canFetch` first, which keeps `not_found_handling` for
|
|
376
|
+
* navigations only, and the app answers the other misses. Without it, every request goes to
|
|
377
|
+
* `handleRequest`, so `not_found_handling` applies to all of them, and an asset always answers.
|
|
365
378
|
*/
|
|
366
379
|
export const route = query({
|
|
367
|
-
args: {
|
|
380
|
+
args: {
|
|
381
|
+
versionId: v.string(),
|
|
382
|
+
method: v.string(),
|
|
383
|
+
url: v.string(),
|
|
384
|
+
headers: routeHeaders,
|
|
385
|
+
hasUserWorker: v.boolean(),
|
|
386
|
+
},
|
|
368
387
|
returns: v.object({
|
|
369
388
|
state: v.union(v.literal("uploading"), v.literal("ready"), v.literal("live"), v.literal("deleting"), v.null()),
|
|
370
|
-
newestLiveAt: v.union(v.number(), v.null()),
|
|
371
389
|
asset: v.union(v.null(), v.object({
|
|
372
390
|
status: v.number(),
|
|
373
391
|
headers: v.array(v.object({ name: v.string(), value: v.string() })),
|
|
@@ -375,15 +393,14 @@ export const route = query({
|
|
|
375
393
|
bodyUrl: v.union(v.string(), v.null()),
|
|
376
394
|
})),
|
|
377
395
|
}),
|
|
378
|
-
handler: async (ctx, { versionId, method, url, headers }) => {
|
|
396
|
+
handler: async (ctx, { versionId, method, url, headers, hasUserWorker }) => {
|
|
379
397
|
const version = await getVersion(ctx, versionId);
|
|
380
398
|
if (version === null)
|
|
381
|
-
return { state: null,
|
|
399
|
+
return { state: null, asset: null };
|
|
382
400
|
const state = version.state.kind;
|
|
383
401
|
if (state === "uploading" || state === "deleting") {
|
|
384
|
-
return { state,
|
|
402
|
+
return { state, asset: null };
|
|
385
403
|
}
|
|
386
|
-
const newestLiveAt = state === "ready" ? await getNewestLiveAt(ctx) : null;
|
|
387
404
|
const configuration = normalizeConfiguration({
|
|
388
405
|
...AssetConfigSchema.parse(JSON.parse(version.config)),
|
|
389
406
|
compatibility_date: COMPATIBILITY_DATE,
|
|
@@ -406,34 +423,35 @@ export const route = query({
|
|
|
406
423
|
if (bodyEntry === undefined)
|
|
407
424
|
throw new Error(`No entry has the ETag ${eTag}.`);
|
|
408
425
|
return {
|
|
409
|
-
// `
|
|
426
|
+
// `serveSite` replaces this placeholder with the stored file.
|
|
410
427
|
readableStream: new ReadableStream(),
|
|
411
428
|
contentType: bodyEntry.contentType,
|
|
412
429
|
cacheStatus: "MISS",
|
|
413
430
|
};
|
|
414
431
|
};
|
|
415
|
-
if (!(await canFetch(request, env, configuration, exists))) {
|
|
416
|
-
return { state,
|
|
432
|
+
if (hasUserWorker && !(await canFetch(request, env, configuration, exists))) {
|
|
433
|
+
return { state, asset: null };
|
|
417
434
|
}
|
|
418
435
|
const response = await handleRequest(request, env, configuration, exists, getByETag, new Analytics());
|
|
419
436
|
// It describes Cloudflare's cache, which does not exist here.
|
|
420
437
|
response.headers.delete("CF-Cache-Status");
|
|
438
|
+
// The deployment's Cloudflare front caches 404 answers on static paths.
|
|
439
|
+
if (response.status === 404)
|
|
440
|
+
response.headers.set("Cache-Control", "no-store");
|
|
421
441
|
let bodyUrl = null;
|
|
422
442
|
if (response.body !== null && bodyEntry !== undefined) {
|
|
423
443
|
bodyUrl = await ctx.storage.getUrl(bodyEntry.storageId);
|
|
424
|
-
// The file is gone from storage. As in `
|
|
444
|
+
// The file is gone from storage. As in `serveSite` when storage answers 404, the answer must
|
|
425
445
|
// not stay in a cache.
|
|
426
446
|
if (bodyUrl === null) {
|
|
427
447
|
return {
|
|
428
448
|
state,
|
|
429
|
-
newestLiveAt,
|
|
430
449
|
asset: { status: 404, headers: [{ name: "cache-control", value: "no-store" }], bodyUrl },
|
|
431
450
|
};
|
|
432
451
|
}
|
|
433
452
|
}
|
|
434
453
|
return {
|
|
435
454
|
state,
|
|
436
|
-
newestLiveAt,
|
|
437
455
|
asset: {
|
|
438
456
|
status: response.status,
|
|
439
457
|
headers: [...response.headers].map(([name, value]) => ({ name, value })),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lib.js","sourceRoot":"","sources":["../../src/component/lib.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"lib.js","sourceRoot":"","sources":["../../src/component/lib.ts"],"names":[],"mappings":"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"}
|
package/dist/component/schema.js
CHANGED
|
@@ -18,7 +18,7 @@ export default defineSchema({
|
|
|
18
18
|
config: v.string(),
|
|
19
19
|
})
|
|
20
20
|
.index("by_versionId", ["versionId"])
|
|
21
|
-
/** `collect`
|
|
21
|
+
/** `markLive` and `collect` find the newest live version with one read: kind `live`, the newest `at`. */
|
|
22
22
|
.index("by_live", ["state.kind", "state.at"]),
|
|
23
23
|
/** One file of a version. */
|
|
24
24
|
entries: defineTable({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/component/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAElC,eAAe,YAAY,CAAC;IAC1B,sCAAsC;IACtC,QAAQ,EAAE,WAAW,CAAC;QACpB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;QACrB;;;WAGG;QACH,KAAK,EAAE,CAAC,CAAC,KAAK,CACZ,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,EAC1C,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,EACtC,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;QACrD,2EAA2E;QAC3E,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,CAC1C;QACD;;;WAGG;QACH,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;KACnB,CAAC;SACC,KAAK,CAAC,cAAc,EAAE,CAAC,WAAW,CAAC,CAAC;QACrC,
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/component/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAElC,eAAe,YAAY,CAAC;IAC1B,sCAAsC;IACtC,QAAQ,EAAE,WAAW,CAAC;QACpB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;QACrB;;;WAGG;QACH,KAAK,EAAE,CAAC,CAAC,KAAK,CACZ,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,EAC1C,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,EACtC,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;QACrD,2EAA2E;QAC3E,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,CAC1C;QACD;;;WAGG;QACH,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;KACnB,CAAC;SACC,KAAK,CAAC,cAAc,EAAE,CAAC,WAAW,CAAC,CAAC;QACrC,yGAAyG;SACxG,KAAK,CAAC,SAAS,EAAE,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;IAE/C,6BAA6B;IAC7B,OAAO,EAAE,WAAW,CAAC;QACnB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;QACrB,iEAAiE;QACjE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB;;;WAGG;QACH,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;QAClB;;;;WAIG;QACH,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QACnC,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC;KAC5B,CAAC;SACC,KAAK,CAAC,iBAAiB,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;SAC/C,KAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC;SAC9B,KAAK,CAAC,cAAc,EAAE,CAAC,WAAW,CAAC,CAAC;CACxC,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
// Ambient declaration of the server entry that `convex-hosting init` writes as a placeholder and a
|
|
2
|
-
// framework adapter's Vite plugin replaces after each server build, so `convex/http.ts` typechecks
|
|
3
|
-
// with either. Script file on purpose: a wildcard module name is only allowed in an ambient context.
|
|
4
|
-
declare module "*/.convex-hosting/server.js" {
|
|
5
|
-
const server: {
|
|
6
|
-
fetch: (
|
|
7
|
-
request: Request,
|
|
8
|
-
opts?: { context?: Record<string, unknown> },
|
|
9
|
-
) => Response | Promise<Response>;
|
|
10
|
-
};
|
|
11
|
-
export default server;
|
|
12
|
-
}
|