void 0.10.12 → 0.10.13
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/dist/cli/cli.mjs +10 -10
- package/dist/{config-BkTvs43g.mjs → config-qHGgPuWT.mjs} +10 -0
- package/dist/{db-DOiJMRt2.mjs → db-C0i0sYMS.mjs} +3 -3
- package/dist/{deploy-u7Rv9q_q.mjs → deploy-jBJT1fUT.mjs} +227 -21
- package/dist/{gen-o_w-8yI8.mjs → gen-BzXf3Jh2.mjs} +1 -1
- package/dist/{headers-nsHIFixA.mjs → headers-ChAADPQu.mjs} +1 -1
- package/dist/index.mjs +49 -39
- package/dist/{init-3rgHKBVi.mjs → init-7JCAcKNQ.mjs} +1 -1
- package/dist/{node-Da0UcsGA.mjs → node-pRg81HqV.mjs} +3 -3
- package/dist/pages/index.mjs +3 -3
- package/dist/pages/islands-plugin.mjs +1 -1
- package/dist/{prepare-BoKHgMNx.mjs → prepare-BvvgAz-3.mjs} +3 -3
- package/dist/{provision-rShh6MKY.mjs → provision-CPx2ZxsH.mjs} +1 -1
- package/dist/{route-types-COI2DsZv.mjs → route-types-z1jtHEi_.mjs} +8 -1
- package/dist/{scan-DYXkrasO.mjs → scan-ChWt4pX1.mjs} +12 -13
- package/dist/{scan-DEwlM_Xy.mjs → scan-NU4xKGci.mjs} +4 -1
- package/package.json +2 -2
- package/schema.json +13 -0
- package/skills/migrate-vite-cloudflare-to-void/SKILL.md +1 -1
- package/skills/void/docs/guide/deployment.md +68 -1
- package/skills/void/docs/guide/edge/static-assets.md +15 -2
- package/skills/void/docs/guide/server-routing.md +21 -1
- package/skills/void/docs/guide/websockets.md +3 -0
- package/skills/void/docs/node_modules/void/CLAUDE.md +3 -1
- package/skills/void/docs/node_modules/void/skills/migrate-vite-cloudflare-to-void/SKILL.md +1 -1
- package/skills/void/docs/reference/cli.md +24 -0
- package/skills/void/docs/reference/config.md +15 -0
- package/skills/void/docs/reference/structure.md +1 -0
|
@@ -271,6 +271,30 @@ For Drizzle projects, deploy performs a read-only schema drift check. If a new m
|
|
|
271
271
|
|
|
272
272
|
Every deploy writes a structured JSONL trace to `~/.void/logs/deploy-<timestamp>.jsonl` regardless of `--debug`. On failure the path is printed at the end of the error message so you can attach it when reporting platform issues. `VOID_DEPLOY_DEBUG=1` is accepted as an alternate trigger for stderr mirroring.
|
|
273
273
|
|
|
274
|
+
When a deploy fails after it starts, the CLI also prints a summary of that trace under the error, so the cause is visible where the file is not — a CI runner, for example, is discarded with the job. The summary has two blocks: every `error` record with its flattened cause chain, then the last 20 records as a timeline.
|
|
275
|
+
|
|
276
|
+
Pre-flight failures print no summary. A missing project, a rejected flag combination, or an unsupported `--backend cloudflare` feature stops before any trace exists, and each of those prints its own message explaining what to change. A build failure prints no summary either — the build streams its own output straight to the terminal.
|
|
277
|
+
|
|
278
|
+
Void masks the credentials it emits itself: signed query parameters, bearer tokens, and any field whose key names a credential.
|
|
279
|
+
|
|
280
|
+
Masking your own values is left to your CI platform, which holds the secrets and masks them before the log is written. GitHub Actions does this for everything under `secrets.*`. Void does not guess at credential-shaped variable names, and it does not parse credentials out of values you supplied — a password inside a `DATABASE_URL` in your build command prints as written. Register such values as CI secrets, or keep them out of the build command.
|
|
281
|
+
|
|
282
|
+
```
|
|
283
|
+
■ deploy: Deploy failed: deploy in progress
|
|
284
|
+
│ Deployment: dpl_7zgitxdrxxz9
|
|
285
|
+
│ Detailed log: ~/.void/logs/deploy-2026-08-21T03-24-19-764Z.jsonl
|
|
286
|
+
│
|
|
287
|
+
│ Errors
|
|
288
|
+
│ 9.0s deploy_server_error
|
|
289
|
+
│ deploymentId=dpl_7zgitxdrxxz9
|
|
290
|
+
│ message=deploy in progress
|
|
291
|
+
│
|
|
292
|
+
│ Last 20 of 26 entries
|
|
293
|
+
│ 8.4s info finalize_start assets=98 workers=0
|
|
294
|
+
│ 8.6s info stream_deployment_id deploymentId=dpl_7zgitxdrxxz9
|
|
295
|
+
│ 9.0s error deploy_server_error message=deploy in progress
|
|
296
|
+
```
|
|
297
|
+
|
|
274
298
|
Project resolution precedence:
|
|
275
299
|
|
|
276
300
|
1. `--project <name>`
|
|
@@ -254,6 +254,7 @@ Curated Cloudflare Workers configuration. Cloudflare-targeted apps require an ex
|
|
|
254
254
|
| `compatibility_date` | `string` | Cloudflare Workers compatibility date |
|
|
255
255
|
| `compatibility_flags` | `string[]` | Cloudflare Workers compatibility flags |
|
|
256
256
|
| `vars` | `object` | Plain-text worker variables |
|
|
257
|
+
| `limits` | `object` | Worker resource limit overrides |
|
|
257
258
|
|
|
258
259
|
```json
|
|
259
260
|
{
|
|
@@ -269,6 +270,18 @@ Curated Cloudflare Workers configuration. Cloudflare-targeted apps require an ex
|
|
|
269
270
|
|
|
270
271
|
`worker.vars` values must be strings. They are merged into Worker bindings before `.env` files are loaded, so project `.env` values override `worker.vars` for local dev/build. Do not put secrets here; use `env.ts` plus `void secret put` for production secrets.
|
|
271
272
|
|
|
273
|
+
`worker.limits.cpu_ms` caps Workers CPU time per request, in milliseconds. It must be an integer between 1 and 300000 (Cloudflare's hard maximum, 5 minutes). A deploy that requests more than your account plan's ceiling fails with an error naming both the requested value and the plan maximum. Only a rollback clamps: rolling back to a deployment whose configured limit now exceeds your plan applies the plan ceiling instead of failing. If your plan changes so that a previously valid value now exceeds the ceiling, deploys keep failing until you lower `cpu_ms` in `void.json`. On the self-hosted path (`void deploy --backend cloudflare`, or a bare `wrangler deploy` of the build output), the value is written into the generated `dist/ssr/wrangler.json` as `limits.cpu_ms` and enforced by Cloudflare directly. The Void plan ceiling does not apply there, but your Cloudflare account's own CPU-time allowance still does: the Workers Free plan caps CPU at 10 ms per request, and the Workers Paid plan allows up to 300000 ms. A value above what your Cloudflare account permits is constrained or rejected by Cloudflare, not by Void.
|
|
274
|
+
|
|
275
|
+
```json
|
|
276
|
+
{
|
|
277
|
+
"worker": {
|
|
278
|
+
"limits": {
|
|
279
|
+
"cpu_ms": 30000
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
```
|
|
284
|
+
|
|
272
285
|
### `routing`
|
|
273
286
|
|
|
274
287
|
Routing and edge configuration for headers, redirects, rewrites, and caching.
|
|
@@ -396,6 +409,8 @@ Set `"404-page"` when your assets come from a static site generator (VitePress,
|
|
|
396
409
|
|
|
397
410
|
This does **not** apply to SvelteKit, Nuxt, Analog, or Astro deploys: those pin `not_found_handling` to `"none"` because the framework's own worker owns unmatched HTML, and `void deploy` warns if you set `routing.notFound` anyway.
|
|
398
411
|
|
|
412
|
+
TanStack Start, React Router, and vinext honor it on a managed `void deploy`, which resolves the asset config itself. Void writes no `assets` policy into their generated worker wrangler config (`dist/server` for TanStack Start and vinext App, `build/server` for React Router, `dist/ssr` for vinext Pages), so on a self-hosted `wrangler deploy` it applies only if that config declares a complete `assets` policy of its own — `binding`, `directory`, `not_found_handling`, and `run_worker_first`. Void leaves those fields untouched, so your own policy is honored; with none, Cloudflare's default applies. `vite build` warns when it is set. See [Static Assets](../guide/edge/static-assets.md#unmatched-requests) for the per-framework paths.
|
|
413
|
+
|
|
399
414
|
### `inference`
|
|
400
415
|
|
|
401
416
|
Configuration for build-time inference, including how Void detects your app type, bindings, and build process.
|
|
@@ -80,6 +80,7 @@ File-based HTTP API endpoints built on [Hono](https://hono.dev). Each file expor
|
|
|
80
80
|
- **Catch-all**: `[...slug]` matches the remaining path
|
|
81
81
|
- **Route groups**: `(admin)/` organizes files without affecting URL paths
|
|
82
82
|
- **Files starting with `_`** are ignored
|
|
83
|
+
- **Environment suffix**: `debug.dev.ts` builds in development only, `metrics.prod.ts` in production only
|
|
83
84
|
|
|
84
85
|
See [Server Routing](/guide/server-routing) for the full guide.
|
|
85
86
|
|