void 1.3.0 → 1.4.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/dist/{account-cmd-B4i71m7k.mjs → account-cmd-HP8bixYo.mjs} +3 -3
- package/dist/{application-analysis-DYdVoMAY.mjs → application-analysis-DDOQwiXk.mjs} +11 -7
- package/dist/{application-routing-C8EqRDfv.mjs → application-routing-4719u_kf.mjs} +1 -1
- package/dist/auth-g2TQbDLD.d.mts +70 -0
- package/dist/{auth-link-BKwHPbdv.mjs → auth-link-CedYpDCy.mjs} +3 -3
- package/dist/{auth-router-DqLx8E0F.mjs → auth-router-vafo7x8w.mjs} +11 -6
- package/dist/{better-auth-shared-DVk2DkTW.d.mts → better-auth-shared-BHB8kiTE.d.mts} +1 -1
- package/dist/{build-cmd-Dy4psnt1.mjs → build-cmd-9vUAQ1_V.mjs} +1 -1
- package/dist/{cache-DV37S6dl.mjs → cache-jvwLNb0h.mjs} +1 -1
- package/dist/{cancel-deploy-DMPyu1Vt.mjs → cancel-deploy-Dw0UmWKO.mjs} +1 -1
- package/dist/{cf-build-output-Bapzc_8Z.mjs → cf-build-output-XpNR9zoh.mjs} +20 -4
- package/dist/cf-build-output-bd8Uwv1P.mjs +1 -0
- package/dist/{cf-worker-settings-BECvvTVd.mjs → cf-worker-settings-Dg27RzyT.mjs} +11 -5
- package/dist/cli/cli.mjs +25 -25
- package/dist/cli/cloudflare-operation-process.mjs +9 -3
- package/dist/cli/env-schema-probe.mjs +2 -2
- package/dist/{client-BEMtySaV.mjs → client-B3LnB_bE.mjs} +1 -1
- package/dist/client-BZb9j66F.mjs +1 -0
- package/dist/{cloudflare-auth-Byo_0_N9.mjs → cloudflare-auth-DyD_kVFr.mjs} +1 -1
- package/dist/{cloudflare-cmd-BaqIigwI.mjs → cloudflare-cmd-D-b_u3T4.mjs} +2 -2
- package/dist/{cloudflare-config-DchHxPTo.mjs → cloudflare-config-CH1AylZT.mjs} +14 -3
- package/dist/{cloudflare-connect-pNLQmr_e.mjs → cloudflare-connect-zTJh8UnN.mjs} +2 -2
- package/dist/{cloudflare-operations-vP3b5CQf.mjs → cloudflare-operations-Bc-7fN44.mjs} +4 -4
- package/dist/{cloudflare-operations-PCM4wucv.mjs → cloudflare-operations-BtulCNOg.mjs} +1 -1
- package/dist/{config-BU6hMu1W.mjs → config-BV2ASlpn.mjs} +1 -1
- package/dist/{config-Du88-7Y8.d.mts → config-CAdZVTLN.d.mts} +2 -0
- package/dist/config-D-6q7EBH.mjs +87 -0
- package/dist/{config-DHgSEWT7.mjs → config-OFOAimzt.mjs} +5 -3
- package/dist/config-entry.d.mts +1 -1
- package/dist/{config-BIaXIkkv.mjs → config-tqMM6DwY.mjs} +1 -1
- package/dist/{connect-DwVsBvVh.mjs → connect-BOM6zvFX.mjs} +4 -4
- package/dist/{create-project-CjzbBlTv.mjs → create-project-Bxd02EHN.mjs} +1 -1
- package/dist/{create-project-CgrnvzyA.mjs → create-project-C2K0DN2O.mjs} +1 -1
- package/dist/{db-rvo64snS.mjs → db-Cdvr3zwG.mjs} +16 -16
- package/dist/{db-types-NGxPwnlt.mjs → db-types-0eCiqYb1.mjs} +1 -1
- package/dist/{delete-DWX6dP4M.mjs → delete-lETE6Tpt.mjs} +1 -1
- package/dist/deploy-CX94CmKa.mjs +2 -0
- package/dist/{deploy-hRPvw8ci.mjs → deploy-CdM-LAxX.mjs} +260 -95
- package/dist/{deploy-managed-static-CDYA2p3L.mjs → deploy-managed-static-DjeBFG2c.mjs} +24 -17
- package/dist/{deploy-transport-JCxw7QDi.mjs → deploy-transport-DIq_gFTP.mjs} +13 -12
- package/dist/deploy.d.mts +2 -0
- package/dist/deploy.mjs +7 -5
- package/dist/{dispatch-OVLeWW8K.mjs → dispatch-CLa2LThw.mjs} +5 -5
- package/dist/{domain-CH5iBD9Y.mjs → domain-DyhNtdYf.mjs} +2 -2
- package/dist/{email-CbTO1l78.mjs → email-DM2wDcBN.mjs} +6 -6
- package/dist/{email-cloudflare-B8-pq_-W.mjs → email-cloudflare-PMbAev9Q.mjs} +20 -7
- package/dist/{env-BBdw236G.mjs → env-78hbN-oI.mjs} +3 -3
- package/dist/{env-validation-XcukUlFM.mjs → env-validation-B3VobvXm.mjs} +1 -0
- package/dist/{env-validation-BfBVvBNe.mjs → env-validation-BUfFZ6bt.mjs} +1 -1
- package/dist/error-pages-CLIJ7aYq.mjs +37 -0
- package/dist/gen-BhWBT4iu.mjs +1 -0
- package/dist/{gen-CCx3t2Ju.mjs → gen-CFmsUsW1.mjs} +3 -3
- package/dist/{github-cmd-BzkRLkbg.mjs → github-cmd-De-_IWbM.mjs} +1 -1
- package/dist/{handler-CQv5YDS0.d.mts → handler-BHktmuTL.d.mts} +3 -1
- package/dist/{headers-D522zd0A.mjs → headers--vaK_chu.mjs} +1 -1
- package/dist/index.d.mts +2 -2
- package/dist/index.mjs +68 -33
- package/dist/{info-oBm8yK8J.mjs → info-Yg0-V5Rs.mjs} +3 -3
- package/dist/{init-CBp_uMve.mjs → init-CDiJQycf.mjs} +31 -16
- package/dist/{link-Dt_QXmM4.mjs → link-Dllip08S.mjs} +2 -2
- package/dist/{list-DF6asTdt.mjs → list-BYRP6am0.mjs} +2 -2
- package/dist/{live-CXJ9yC98.d.mts → live-BllfDuzA.d.mts} +2 -2
- package/dist/{local-d1-CUhH3qtj.mjs → local-d1-CAwAs9GH.mjs} +1 -1
- package/dist/login-BAPmYnb7.mjs +1 -0
- package/dist/{login-BjSyhXlT.mjs → login-PcFy5mlC.mjs} +2 -2
- package/dist/{logs-DmvBl6xA.mjs → logs-DmJTBhed.mjs} +2 -2
- package/dist/{migrate-BXRHpYwR.mjs → migrate-B8S2xTcb.mjs} +5 -66
- package/dist/migrate-BIYTPQE6.mjs +1 -0
- package/dist/nitro.mjs +4 -4
- package/dist/{node-DtD7ZiPf.mjs → node-CDOPrGSl.mjs} +3 -3
- package/dist/operator-cmd-CjazwOyb.mjs +1 -0
- package/dist/{operator-cmd-DjZKGGgN.mjs → operator-cmd-DmkmS2wL.mjs} +2 -2
- package/dist/pages/client.d.mts +17 -2
- package/dist/pages/client.mjs +26 -1
- package/dist/pages/index.d.mts +17 -1
- package/dist/pages/index.mjs +95 -4
- package/dist/pages/protocol.d.mts +2 -2
- package/dist/{platform-auth-config-BgnuMbml.mjs → platform-auth-config-CImnfohz.mjs} +3 -3
- package/dist/{platform-auth-protection-NjRejttU.mjs → platform-auth-protection-BogLhtHi.mjs} +2 -2
- package/dist/{platform-auth-recovery-Ug12d9W5.mjs → platform-auth-recovery-B-mEaWEi.mjs} +2 -2
- package/dist/{platform-cmd-BYKLMPCn.mjs → platform-cmd-CV8NxIIn.mjs} +1 -1
- package/dist/{platform-cmd-HByuZAO7.mjs → platform-cmd-DZK2ixMl.mjs} +3 -3
- package/dist/{platform-domain-DLSQ8GF8.mjs → platform-domain-CRvelPGE.mjs} +2 -2
- package/dist/{platform-lifecycle-3dwFJmnq.mjs → platform-lifecycle-CPYY7E9B.mjs} +8 -8
- package/dist/{platform-lifecycle-BRqcxerG.mjs → platform-lifecycle-DwXq7kZt.mjs} +1 -1
- package/dist/{platform-management-ZZ6bQM5j.mjs → platform-management-BOnGbMSM.mjs} +1 -1
- package/dist/{platform-management-ZK6XcbCo.mjs → platform-management-lXdgGgAM.mjs} +1 -1
- package/dist/{platform-recovery-8vNE5dNN.mjs → platform-recovery-noaALXnE.mjs} +2 -2
- package/dist/{prepare-5BR7Splm.mjs → prepare-BuOS18AM.mjs} +1 -1
- package/dist/{prepare-Dseww74N.mjs → prepare-D604Yiyr.mjs} +11 -7
- package/dist/prepare-DU-tOpS5.mjs +1 -0
- package/dist/{project-cmd-CjLNNxwe.mjs → project-cmd-DBYqAIbe.mjs} +13 -13
- package/dist/{project-team-DE5drjcl.mjs → project-team-BjCLgTRC.mjs} +1 -1
- package/dist/{project-token-XEYEXfiJ.mjs → project-token-BB6PwaA9.mjs} +1 -1
- package/dist/{project-tsconfig-Itv1f4WC.mjs → project-tsconfig-CVvk6Z_e.mjs} +24 -2
- package/dist/{project-zero-trust-6VPU8zmV.mjs → project-zero-trust-CWDh1P_t.mjs} +1 -1
- package/dist/{protocol-BekmFxCI.d.mts → protocol-D5XDySYu.d.mts} +1 -1
- package/dist/{provision-Chq0NRAV.mjs → provision-DfxLCg-d.mjs} +1 -1
- package/dist/{provision-B7UFrBH7.mjs → provision-DztLJ97X.mjs} +24 -8
- package/dist/{requests-CG-Pj8ze.mjs → requests-D_pbzDyz.mjs} +1 -1
- package/dist/{rollback-CIrm2txZ.mjs → rollback-CjfIYsJx.mjs} +2 -2
- package/dist/{route-types--PAOzHlH.mjs → route-types-DvEGmPif.mjs} +61 -3
- package/dist/runtime/auth.d.mts +2 -2
- package/dist/runtime/better-auth-mysql.d.mts +1 -1
- package/dist/runtime/better-auth-pg.d.mts +1 -1
- package/dist/runtime/better-auth.d.mts +1 -1
- package/dist/runtime/client-react.d.mts +1 -1
- package/dist/runtime/client-solid.d.mts +1 -1
- package/dist/runtime/client-svelte.d.mts +1 -1
- package/dist/runtime/client-vue.d.mts +1 -1
- package/dist/runtime/client.d.mts +1 -1
- package/dist/runtime/handler.d.mts +1 -1
- package/dist/runtime/live-client.d.mts +1 -1
- package/dist/runtime/live.d.mts +1 -1
- package/dist/runtime/routing.d.mts +5 -4
- package/dist/runtime/routing.mjs +10 -70
- package/dist/runtime/validator.d.mts +1 -1
- package/dist/runtime/ws-server.d.mts +3 -3
- package/dist/runtime/ws.d.mts +1 -1
- package/dist/runtime/ws.mjs +4 -2
- package/dist/{secret-BL6g7mF5.mjs → secret-3X0PxmuX.mjs} +9 -12
- package/dist/{version-metadata-DmaZNTYW.mjs → version-metadata-D2vfMQzv.mjs} +2 -1
- package/dist/{wrangler-CDiEBCdS.mjs → wrangler-I-scB_1t.mjs} +80 -12
- package/dist/wrangler-UnwdISay.mjs +1 -0
- package/dist/{wrapper-CEiDeCqD.mjs → wrapper-BBl1rC32.mjs} +3 -3
- package/dist/{ws-D1zWiB_P.d.mts → ws-B3ClMVDh.d.mts} +3 -2
- package/docs/guide/auth.md +1 -1
- package/docs/guide/edge/redirects.md +22 -0
- package/docs/guide/pages-routing/actions-and-forms.md +24 -0
- package/docs/guide/platform/installation/maintenance.md +3 -1
- package/docs/guide/server-routing.md +2 -0
- package/docs/guide/ssg.md +8 -0
- package/docs/integrations/cloudflare.md +16 -7
- package/docs/reference/api/auth.md +6 -2
- package/docs/reference/api/deploy.md +9 -5
- package/docs/reference/api/pages.md +2 -0
- package/docs/reference/cli/deploy.md +10 -9
- package/docs/reference/config.md +11 -1
- package/package.json +8 -7
- package/schema.json +4 -0
- package/skills/void/SKILL.md +1 -1
- package/dist/auth-DkcFflXV.d.mts +0 -42
- package/dist/cf-build-output-DlBkWdNU.mjs +0 -1
- package/dist/client-DyxPQnF_.mjs +0 -1
- package/dist/config-BTu1o3Dc.mjs +0 -49
- package/dist/deploy-CtHE2A3R.mjs +0 -2
- package/dist/gen-TgXy93Rr.mjs +0 -1
- package/dist/login-Cdo8Aco1.mjs +0 -1
- package/dist/migrate-COPncCGx.mjs +0 -1
- package/dist/operator-cmd-DDiX7Y3f.mjs +0 -1
- package/dist/prepare-B3VrSF1Z.mjs +0 -1
- package/dist/wrangler-DOPr4jyI.mjs +0 -1
|
@@ -1,29 +1,29 @@
|
|
|
1
1
|
import { a as join, c as resolve, n as dirname, r as extname, s as relative } from "./dist-ipQi0Q8y.mjs";
|
|
2
2
|
import { h as needsApplicationDatabase } from "./plugin-inference-CeiB6BG5.mjs";
|
|
3
3
|
import { n as readProjectPaths } from "./project-paths-DGu_QZ_Q.mjs";
|
|
4
|
-
import {
|
|
4
|
+
import { t as discoverSchema } from "./discover-LaV0tbIu.mjs";
|
|
5
|
+
import { u as isNodeTarget } from "./config-OFOAimzt.mjs";
|
|
5
6
|
import { t as collectMigrations } from "./collect-Dew86qce.mjs";
|
|
6
7
|
import { i as collectFiles, t as collectPages } from "./isr-config-fZaJJ8t7.mjs";
|
|
7
|
-
import { n as mergeRoutingRules, t as lintRoutingPhases } from "./headers
|
|
8
|
+
import { n as mergeRoutingRules, t as lintRoutingPhases } from "./headers--vaK_chu.mjs";
|
|
8
9
|
import { s as shouldLinkDeployProject, t as attachSelectedPlatform, u as writeProjectConfig } from "./project-rqDnVsJN.mjs";
|
|
9
|
-
import { E as resolveLiveBindingConfig, O as syncWranglerBindings, a as LIVE_MIGRATION_TAG, g as normalizeWranglerCompatibilityFlags, u as ensureWranglerCompat, v as readExistingLiveBindingConfig } from "./wrangler-
|
|
10
|
+
import { E as resolveLiveBindingConfig, O as syncWranglerBindings, a as LIVE_MIGRATION_TAG, g as normalizeWranglerCompatibilityFlags, u as ensureWranglerCompat, v as readExistingLiveBindingConfig } from "./wrangler-I-scB_1t.mjs";
|
|
10
11
|
import { n as buildMigrationPlanBundle } from "./plan-BhLO2p4w.mjs";
|
|
11
12
|
import { l as getTokenSource } from "./auth-B6iOCjKI.mjs";
|
|
12
|
-
import { t as discoverSchema } from "./discover-LaV0tbIu.mjs";
|
|
13
13
|
import { t as findEnvFile } from "./env-types-BicfKBhV.mjs";
|
|
14
|
-
import { a as buildEnv } from "./version-metadata-
|
|
15
|
-
import { r as writeDrizzleConfig, t as PLACEHOLDER_DB_URL } from "./config-
|
|
14
|
+
import { a as buildEnv } from "./version-metadata-D2vfMQzv.mjs";
|
|
15
|
+
import { r as writeDrizzleConfig, t as PLACEHOLDER_DB_URL } from "./config-tqMM6DwY.mjs";
|
|
16
16
|
import { i as validateMigrations, r as listDrizzleArtifacts, t as assertJournalCoherence } from "./validate-CnZPMq4q.mjs";
|
|
17
17
|
import { L as log$1, N as intro, X as text, tt as isCancel } from "./dist-Cor9XGoz.mjs";
|
|
18
18
|
import { t as formatCloudflareUserMessage } from "./cloudflare-user-output-Q-k0QoNQ.mjs";
|
|
19
|
-
import { c as platformErrorMessage, i as isCliOutdatedError, n as PlatformApiError, o as isHeadersTimeoutError, s as parsePlatformErrorBody } from "./client-
|
|
19
|
+
import { c as platformErrorMessage, i as isCliOutdatedError, n as PlatformApiError, o as isHeadersTimeoutError, s as parsePlatformErrorBody } from "./client-B3LnB_bE.mjs";
|
|
20
20
|
import { f as import_picocolors, h as sanitizeTerminalText, m as printSuccess, o as formatCount, p as note, r as createSpinner, u as getErrorMessage } from "./output-BpgYODYx.mjs";
|
|
21
|
-
import { a as promptProjectSelection, i as reportProjectCreationWarnings, o as promptProjectSetupAction, r as promptAndCreateProject } from "./create-project-
|
|
21
|
+
import { a as promptProjectSelection, i as reportProjectCreationWarnings, o as promptProjectSetupAction, r as promptAndCreateProject } from "./create-project-Bxd02EHN.mjs";
|
|
22
22
|
import { o as detectPreset, s as formatProjectCommand, u as resolveProjectCommand } from "./cloudflare-process-8jEYIeim.mjs";
|
|
23
|
-
import { d as formatEnvReport, g as validateProdEnv, u as fetchRemoteSecretNames } from "./env-validation-
|
|
24
|
-
import { a as needsWrapper, i as generateWrapper } from "./wrapper-
|
|
23
|
+
import { d as formatEnvReport, g as validateProdEnv, u as fetchRemoteSecretNames } from "./env-validation-B3VobvXm.mjs";
|
|
24
|
+
import { a as needsWrapper, i as generateWrapper } from "./wrapper-BBl1rC32.mjs";
|
|
25
25
|
import { n as drizzleKitBin } from "./yarn-pnp-DLbEFMT0.mjs";
|
|
26
|
-
import { t as MANAGED_DEPLOY_BUILD_ENV } from "./deploy-transport-
|
|
26
|
+
import { t as MANAGED_DEPLOY_BUILD_ENV } from "./deploy-transport-DIq_gFTP.mjs";
|
|
27
27
|
import { cpSync, existsSync, mkdirSync, mkdtempSync, readFileSync, readdirSync, rmSync } from "node:fs";
|
|
28
28
|
import { createDeployArtifact, createDeployUploadPayload } from "@void/deploy-core";
|
|
29
29
|
import { createHash } from "node:crypto";
|
|
@@ -336,7 +336,9 @@ function toManifestSchedulesAndQueues(jobs, queues) {
|
|
|
336
336
|
name: q.name,
|
|
337
337
|
bindingName: q.bindingName,
|
|
338
338
|
...q.maxBatchSize != null && { maxBatchSize: q.maxBatchSize },
|
|
339
|
-
...q.maxBatchTimeout != null && { maxBatchTimeout: q.maxBatchTimeout }
|
|
339
|
+
...q.maxBatchTimeout != null && { maxBatchTimeout: q.maxBatchTimeout },
|
|
340
|
+
...q.maxRetries != null && { maxRetries: q.maxRetries },
|
|
341
|
+
...q.retryDelay != null && { retryDelay: q.retryDelay }
|
|
340
342
|
}))
|
|
341
343
|
};
|
|
342
344
|
}
|
|
@@ -1382,6 +1384,7 @@ function buildVoidManifest(opts) {
|
|
|
1382
1384
|
assetManifestVersion: 2,
|
|
1383
1385
|
bindings: {}
|
|
1384
1386
|
};
|
|
1387
|
+
if (opts.alwaysUseHttps !== void 0) manifest.alwaysUseHttps = opts.alwaysUseHttps;
|
|
1385
1388
|
if (opts.durableObjects?.length) {
|
|
1386
1389
|
manifest.version = 4;
|
|
1387
1390
|
manifest.durableObjects = { bindings: opts.durableObjects.map(({ bindingName, className }) => ({
|
|
@@ -1478,15 +1481,17 @@ function readWranglerHtmlHandling(rootConfig) {
|
|
|
1478
1481
|
function buildStaticManifest(opts) {
|
|
1479
1482
|
const { appType, hashedAssetsPrefix, headerRules, redirectRules, fallbackRules, notFound, html_handling } = opts;
|
|
1480
1483
|
const { assetConfig, fallbackRules: resolvedFallbackRules } = resolveSpaFallbackChain(appType, fallbackRules, notFound);
|
|
1484
|
+
const resolvedAssetConfig = html_handling === void 0 ? assetConfig : {
|
|
1485
|
+
...assetConfig,
|
|
1486
|
+
html_handling
|
|
1487
|
+
};
|
|
1481
1488
|
const manifest = {
|
|
1482
1489
|
version: 3,
|
|
1483
1490
|
assetManifestVersion: 2,
|
|
1484
1491
|
bindings: {},
|
|
1485
1492
|
type: appType,
|
|
1486
|
-
|
|
1487
|
-
|
|
1488
|
-
html_handling
|
|
1489
|
-
}
|
|
1493
|
+
...opts.alwaysUseHttps !== void 0 ? { alwaysUseHttps: opts.alwaysUseHttps } : {},
|
|
1494
|
+
assetConfig: resolvedAssetConfig
|
|
1490
1495
|
};
|
|
1491
1496
|
if (hashedAssetsPrefix) manifest.hashedAssetsPrefix = hashedAssetsPrefix;
|
|
1492
1497
|
if (headerRules && headerRules.length > 0) manifest.headerRules = headerRules;
|
|
@@ -1505,6 +1510,7 @@ function buildFrameworkManifest(opts) {
|
|
|
1505
1510
|
assetManifestVersion: 2,
|
|
1506
1511
|
bindings: {}
|
|
1507
1512
|
};
|
|
1513
|
+
if (opts.alwaysUseHttps !== void 0) manifest.alwaysUseHttps = opts.alwaysUseHttps;
|
|
1508
1514
|
applyResourceBindings(manifest, opts.bindings, opts.migrations?.length ?? 0, dialect, po?.bindingNames);
|
|
1509
1515
|
if (opts.migrations && opts.migrations.length > 0) manifest.migrations = toMigrationsManifest(opts.migrations, dialect);
|
|
1510
1516
|
if (opts.schedules && opts.schedules.length > 0) manifest.schedules = opts.schedules;
|
|
@@ -1577,7 +1583,7 @@ function assembleVoidManifest(pageScan, isFrameworkMode, opts, revalidateConfig,
|
|
|
1577
1583
|
pathRevalidate: !isrEnabled || isFrameworkMode || revalidateConfig == null || typeof revalidateConfig !== "object" ? void 0 : revalidateConfig
|
|
1578
1584
|
});
|
|
1579
1585
|
}
|
|
1580
|
-
async function runStaticDeploy(root, config, client, preset, skipBuild, gitMetadata, hashedAssetsPrefix, headerRules, redirectRules, fallbackRules, routing, cliLog, notFound) {
|
|
1586
|
+
async function runStaticDeploy(root, config, client, preset, skipBuild, gitMetadata, hashedAssetsPrefix, headerRules, redirectRules, fallbackRules, routing, cliLog, notFound, alwaysUseHttps) {
|
|
1581
1587
|
const typeLabel = preset.appType === "spa" ? "Static SPA" : "Static Site";
|
|
1582
1588
|
log.info(`${typeLabel} deploy`);
|
|
1583
1589
|
cliLog?.info("deploy_mode", {
|
|
@@ -1623,6 +1629,7 @@ async function runStaticDeploy(root, config, client, preset, skipBuild, gitMetad
|
|
|
1623
1629
|
const packageStartedAt = Date.now();
|
|
1624
1630
|
const manifest = buildStaticManifest({
|
|
1625
1631
|
appType: preset.appType,
|
|
1632
|
+
alwaysUseHttps: alwaysUseHttps ?? routing?.alwaysUseHttps,
|
|
1626
1633
|
hashedAssetsPrefix: hashedAssetsPrefix ?? "assets",
|
|
1627
1634
|
headerRules,
|
|
1628
1635
|
redirectRules,
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { a as join } from "./dist-ipQi0Q8y.mjs";
|
|
2
2
|
import { n as scanWranglerDotenvKeys } from "./dotenv-CNazY3-w.mjs";
|
|
3
3
|
import { t as CLOUDFLARE_DEPLOY_BUILD_ENV } from "./env-BaMz0j7H.mjs";
|
|
4
|
-
import { i as WRANGLER_AUTH_CREDENTIAL_ENV_VARS, t as CLOUDFLARE_PRESERVE_BINDINGS_BUILD_ENV } from "./version-metadata-
|
|
5
|
-
import { _ as provisionEnv, r as assertNoTransportRedirectInProjectDotenv, s as deleteEnvVarCaseAware, v as resolvePinnedApiBaseUrl } from "./provision-
|
|
4
|
+
import { i as WRANGLER_AUTH_CREDENTIAL_ENV_VARS, t as CLOUDFLARE_PRESERVE_BINDINGS_BUILD_ENV } from "./version-metadata-D2vfMQzv.mjs";
|
|
5
|
+
import { _ as provisionEnv, r as assertNoTransportRedirectInProjectDotenv, s as deleteEnvVarCaseAware, v as resolvePinnedApiBaseUrl } from "./provision-DztLJ97X.mjs";
|
|
6
6
|
import { readWranglerTopLevelString } from "@void/deploy-cloudflare";
|
|
7
7
|
//#region src/cli/deploy-transport.ts
|
|
8
8
|
/**
|
|
@@ -36,20 +36,21 @@ function scrubManagedDeployBuildMarkers(env) {
|
|
|
36
36
|
* top-level config this flow provisions + preflights. Scrubbed from every child env
|
|
37
37
|
* and fenced in the project dotenv (see below), on top of the provisioner's transport
|
|
38
38
|
* scrub/fence which owns the endpoint-redirect + `CLOUDFLARE_ENV` vars:
|
|
39
|
-
* - `WRANGLER_CI_OVERRIDE_NAME` —
|
|
40
|
-
*
|
|
41
|
-
* bare
|
|
42
|
-
* validated.
|
|
39
|
+
* - `WRANGLER_CI_OVERRIDE_NAME` — the Cloudflare tooling (wrangler and the `cf` CLI)
|
|
40
|
+
* applies it AFTER config load (`getCIOverrideName()`), REPLACING the upload name, so a
|
|
41
|
+
* bare deploy uploads a worker whose name the generated-config check never validated.
|
|
43
42
|
* - `CLOUDFLARE_VITE_WRANGLER_CONFIG_PATH` — the CF Vite plugin points the build at an
|
|
44
43
|
* ALTERNATE wrangler config, flattening a different binding set into
|
|
45
44
|
* `dist/ssr/wrangler.json`.
|
|
46
45
|
*/
|
|
47
46
|
const DEPLOY_CONFIG_OVERRIDE_ENV_VARS = ["WRANGLER_CI_OVERRIDE_NAME", "CLOUDFLARE_VITE_WRANGLER_CONFIG_PATH"];
|
|
48
47
|
/**
|
|
49
|
-
* The dotenv files wrangler
|
|
50
|
-
*
|
|
51
|
-
*
|
|
52
|
-
*
|
|
48
|
+
* The dotenv files wrangler loads into `process.env` (`override: true`) when no
|
|
49
|
+
* `--env` is named (`getDefaultEnvFiles("")`). Void runs its deploy steps through the
|
|
50
|
+
* `cf` CLI, not wrangler, but this set is kept for a user who runs `wrangler deploy` on
|
|
51
|
+
* the same config. It also covers the `.env` / `.env.local` files `cf` reads. A repo
|
|
52
|
+
* dotenv here would bring back `WRANGLER_CI_OVERRIDE_NAME` after the child-env scrub
|
|
53
|
+
* removed it.
|
|
53
54
|
*/
|
|
54
55
|
const DEPLOY_WRANGLER_DOTENV_FILES = [
|
|
55
56
|
".env",
|
|
@@ -61,7 +62,7 @@ const DEPLOY_WRANGLER_DOTENV_FILES = [
|
|
|
61
62
|
* The dotenv files Vite's `loadEnv(mode, …)` reads for a production `vite build`
|
|
62
63
|
* (`.env`, `.env.local`, `.env.production`, `.env.production.local`), where the CF Vite
|
|
63
64
|
* plugin picks up `CLOUDFLARE_ENV` / `CLOUDFLARE_VITE_WRANGLER_CONFIG_PATH` — a set
|
|
64
|
-
*
|
|
65
|
+
* that differs from the wrangler dotenv files above, so it is fenced separately for the build.
|
|
65
66
|
*/
|
|
66
67
|
const DEPLOY_VITE_DOTENV_FILES = [
|
|
67
68
|
".env",
|
|
@@ -100,7 +101,7 @@ function findWranglerCiOverrideDotenvFile(root, platform = process.platform) {
|
|
|
100
101
|
* FAIL CLOSED when the project's dotenv files declare a deploy-time config-override
|
|
101
102
|
* selector. wrangler / Vite reload dotenv on every command, so a repo dotenv would
|
|
102
103
|
* reintroduce a scrubbed var AFTER the child-env scrub — reselecting the upload worker
|
|
103
|
-
* name (wrangler
|
|
104
|
+
* name (the wrangler dotenv files) or the build's wrangler config (Vite production files).
|
|
104
105
|
* The provisioner's transport fence ({@link assertNoTransportRedirectInProjectDotenv})
|
|
105
106
|
* owns `CLOUDFLARE_ENV` + the endpoint-redirect vars; this closes the deploy-specific
|
|
106
107
|
* name/config-path selectors it does not cover, across BOTH consumers' file sets.
|
package/dist/deploy.d.mts
CHANGED
|
@@ -11,6 +11,8 @@ export type CfBuildOutput = {
|
|
|
11
11
|
dispose(): Promise<void>;
|
|
12
12
|
};
|
|
13
13
|
export type PrepareCfBuildOutputOptions = {
|
|
14
|
+
/** The app's package root. Defaults to the input directory. */
|
|
15
|
+
projectRoot?: string;
|
|
14
16
|
/** The Cloudflare account the build must target. */
|
|
15
17
|
accountId?: string;
|
|
16
18
|
/** The Vite build mode. Native output must match it; legacy output defaults to production. */
|
package/dist/deploy.mjs
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { a as join, c as resolve } from "./dist-ipQi0Q8y.mjs";
|
|
2
|
-
import { p as readConfig, u as isNodeTarget } from "./config-
|
|
2
|
+
import { p as readConfig, u as isNodeTarget } from "./config-OFOAimzt.mjs";
|
|
3
3
|
import { o as validateSsrEntry } from "./entry-BEM8ZuGP.mjs";
|
|
4
4
|
import { r as hasEmailHandlers } from "./email-B9ayYQEG.mjs";
|
|
5
5
|
import { a as resolveDistDir, c as hasDocumentRoutes, l as resolveAssetConfig, n as collectRevalidate, o as resolveWorkerDirName, s as hasApiRoutes } from "./isr-config-fZaJJ8t7.mjs";
|
|
6
|
-
import { t as analyzeApplication } from "./application-routing-
|
|
7
|
-
import { t as prepareCfBuildOutput$1 } from "./cf-build-output-
|
|
6
|
+
import { t as analyzeApplication } from "./application-routing-4719u_kf.mjs";
|
|
7
|
+
import { t as prepareCfBuildOutput$1 } from "./cf-build-output-XpNR9zoh.mjs";
|
|
8
8
|
import { o as detectPreset } from "./cloudflare-process-8jEYIeim.mjs";
|
|
9
|
-
import { I as resolveStaticDeployPreset, L as toManifestSchedulesAndQueues, M as resolveDeployWorkerMain, N as resolveDeployWranglerCompat, R as validateDeployMigrations, a as collectAndHashAssets, f as mergeAndLintRoutingRules, g as assertDeploySchemaDriftFree, i as buildStaticManifest, o as collectWorkerFiles, t as assembleVoidManifest, x as assertWorkerMainUploaded } from "./deploy-managed-static-
|
|
9
|
+
import { I as resolveStaticDeployPreset, L as toManifestSchedulesAndQueues, M as resolveDeployWorkerMain, N as resolveDeployWranglerCompat, R as validateDeployMigrations, a as collectAndHashAssets, f as mergeAndLintRoutingRules, g as assertDeploySchemaDriftFree, i as buildStaticManifest, o as collectWorkerFiles, t as assembleVoidManifest, x as assertWorkerMainUploaded } from "./deploy-managed-static-DjeBFG2c.mjs";
|
|
10
10
|
import { existsSync } from "node:fs";
|
|
11
11
|
import { createDeployArtifact } from "@void/deploy-core";
|
|
12
12
|
//#region src/deploy.ts
|
|
@@ -15,7 +15,7 @@ import { createDeployArtifact } from "@void/deploy-core";
|
|
|
15
15
|
* Experimental. Returns null for an unsupported build or a conflicting account or mode.
|
|
16
16
|
*/
|
|
17
17
|
async function prepareCfBuildOutput(directory, options = {}) {
|
|
18
|
-
const prepared = await prepareCfBuildOutput$1(directory, options.accountId, options.mode);
|
|
18
|
+
const prepared = await prepareCfBuildOutput$1(directory, options.accountId, options.mode, options.projectRoot);
|
|
19
19
|
return prepared && {
|
|
20
20
|
directory: prepared.directory,
|
|
21
21
|
...prepared.assetsDirectory ? { assetsDirectory: prepared.assetsDirectory } : {},
|
|
@@ -45,6 +45,7 @@ async function prepareDeployArtifact(root = process.cwd()) {
|
|
|
45
45
|
artifact: createDeployArtifact({
|
|
46
46
|
manifest: buildStaticManifest({
|
|
47
47
|
appType: preset.appType,
|
|
48
|
+
alwaysUseHttps: config.routing?.alwaysUseHttps,
|
|
48
49
|
hashedAssetsPrefix: "assets",
|
|
49
50
|
notFound: config.routing?.notFound,
|
|
50
51
|
...rules
|
|
@@ -80,6 +81,7 @@ async function prepareDeployArtifact(root = process.cwd()) {
|
|
|
80
81
|
const rules = mergeAndLintRoutingRules(clientDir, config.routing);
|
|
81
82
|
const manifest = assembleVoidManifest(pages ? scan.pages : null, false, {
|
|
82
83
|
bindings,
|
|
84
|
+
alwaysUseHttps: config.routing?.alwaysUseHttps,
|
|
83
85
|
vars: config.worker?.vars,
|
|
84
86
|
hasEmailHandlers: scan.email !== void 0 && hasEmailHandlers(scan.email),
|
|
85
87
|
migrations,
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { a as join, i as isAbsolute, n as dirname, s as relative } from "./dist-ipQi0Q8y.mjs";
|
|
2
2
|
import { i as resolveProjectPaths, n as readProjectPaths } from "./project-paths-DGu_QZ_Q.mjs";
|
|
3
|
-
import { c as getDatabaseCasing, l as getDatabaseDialect, m as resolveBindingNames, p as readConfig } from "./config-DHgSEWT7.mjs";
|
|
4
|
-
import { i as voidWarn } from "./log-BMwmN5Ae.mjs";
|
|
5
|
-
import { n as ensureProjectTsconfig } from "./project-tsconfig-Itv1f4WC.mjs";
|
|
6
|
-
import { n as generateDbDts, t as DRIZZLE_OPERATORS } from "./db-types-NGxPwnlt.mjs";
|
|
7
3
|
import { t as discoverSchema } from "./discover-LaV0tbIu.mjs";
|
|
4
|
+
import { c as getDatabaseCasing, l as getDatabaseDialect, m as resolveBindingNames, p as readConfig } from "./config-OFOAimzt.mjs";
|
|
5
|
+
import { i as voidWarn } from "./log-BMwmN5Ae.mjs";
|
|
6
|
+
import { n as ensureProjectTsconfig } from "./project-tsconfig-CVvk6Z_e.mjs";
|
|
7
|
+
import { n as generateDbDts, t as DRIZZLE_OPERATORS } from "./db-types-0eCiqYb1.mjs";
|
|
8
8
|
import { n as CLOUDFLARE_QUEUE_NAMES_BUILD_ENV } from "./env-BaMz0j7H.mjs";
|
|
9
9
|
import { createRequire } from "node:module";
|
|
10
10
|
import { existsSync, readFileSync, readdirSync } from "node:fs";
|
|
11
|
-
import { fileURLToPath } from "node:url";
|
|
12
11
|
import { normalizePath } from "vite";
|
|
12
|
+
import { fileURLToPath } from "node:url";
|
|
13
13
|
//#region src/plugin-drizzle.ts
|
|
14
14
|
const drizzleD1Resolved = fileURLToPath(import.meta.resolve("drizzle-orm/d1"));
|
|
15
15
|
const drizzleOrmResolved = fileURLToPath(import.meta.resolve("drizzle-orm"));
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { n as readDeploymentPlatform } from "./project-rqDnVsJN.mjs";
|
|
2
2
|
import { c as getToken } from "./auth-B6iOCjKI.mjs";
|
|
3
3
|
import { L as log } from "./dist-Cor9XGoz.mjs";
|
|
4
|
-
import { r as PlatformClient } from "./client-
|
|
4
|
+
import { r as PlatformClient } from "./client-B3LnB_bE.mjs";
|
|
5
5
|
import { f as import_picocolors, m as printSuccess, p as note } from "./output-BpgYODYx.mjs";
|
|
6
6
|
import { i as resolveCommandProjectId } from "./resolve-project-Xoi6eTWY.mjs";
|
|
7
7
|
//#region src/cli/domain.ts
|
|
@@ -25,7 +25,7 @@ async function runDomainCommand(root, args) {
|
|
|
25
25
|
}
|
|
26
26
|
async function runCloudflareDomainCommand(root, args) {
|
|
27
27
|
if (args.projectSlug) throw new Error("domain: --project selects a Void platform project and is not used for direct Cloudflare apps.");
|
|
28
|
-
const { changeCloudflareDomain, listCloudflareDomains } = await import("./cloudflare-operations-
|
|
28
|
+
const { changeCloudflareDomain, listCloudflareDomains } = await import("./cloudflare-operations-BtulCNOg.mjs");
|
|
29
29
|
if (args.subcommand === "add") {
|
|
30
30
|
const result = await changeCloudflareDomain(root, args.hostname, "add");
|
|
31
31
|
note("Cloudflare Custom Domains manages the DNS record and TLS certificate in the zone on your account.", "Cloudflare Domain");
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import { a as join } from "./dist-ipQi0Q8y.mjs";
|
|
2
2
|
import { n as readProjectPaths } from "./project-paths-DGu_QZ_Q.mjs";
|
|
3
|
-
import { p as readConfig } from "./config-
|
|
3
|
+
import { p as readConfig } from "./config-OFOAimzt.mjs";
|
|
4
4
|
import { i as scanEmailHandlersSync } from "./email-B9ayYQEG.mjs";
|
|
5
|
-
import { M as writeProvisionedWranglerConfig } from "./wrangler-
|
|
5
|
+
import { M as writeProvisionedWranglerConfig } from "./wrangler-I-scB_1t.mjs";
|
|
6
6
|
import { c as getToken, u as openBrowser } from "./auth-B6iOCjKI.mjs";
|
|
7
|
-
import { a as emailConfigInputs, c as renderAddressMap, i as createNodeEmailDns, l as renderEmailChecklist, o as preflightEmail, r as applyEmailSetup, s as probeMx } from "./email-cloudflare-
|
|
7
|
+
import { a as emailConfigInputs, c as renderAddressMap, i as createNodeEmailDns, l as renderEmailChecklist, o as preflightEmail, r as applyEmailSetup, s as probeMx } from "./email-cloudflare-PMbAev9Q.mjs";
|
|
8
8
|
import { A as confirm, L as log, U as password, tt as isCancel } from "./dist-Cor9XGoz.mjs";
|
|
9
|
-
import { n as PlatformApiError, r as PlatformClient } from "./client-
|
|
9
|
+
import { n as PlatformApiError, r as PlatformClient } from "./client-B3LnB_bE.mjs";
|
|
10
10
|
import { f as import_picocolors, l as formatUrl, m as printSuccess, p as note, r as createSpinner } from "./output-BpgYODYx.mjs";
|
|
11
11
|
import { i as resolveCommandProjectId } from "./resolve-project-Xoi6eTWY.mjs";
|
|
12
|
-
import { o as resolveDeployTransport } from "./deploy-transport-
|
|
13
|
-
import { a as discoverRootWranglerConfig, c as runWranglerAuthToken, l as deriveWorkerName, o as createDeployWranglerRunner, s as isWranglerNonInteractiveOrCI } from "./deploy-
|
|
12
|
+
import { o as resolveDeployTransport } from "./deploy-transport-DIq_gFTP.mjs";
|
|
13
|
+
import { a as discoverRootWranglerConfig, c as runWranglerAuthToken, l as deriveWorkerName, o as createDeployWranglerRunner, s as isWranglerNonInteractiveOrCI } from "./deploy-CdM-LAxX.mjs";
|
|
14
14
|
import { existsSync, mkdtempSync, rmSync, writeFileSync } from "node:fs";
|
|
15
15
|
import { tmpdir } from "node:os";
|
|
16
16
|
import { execSync } from "node:child_process";
|
|
@@ -1,17 +1,18 @@
|
|
|
1
1
|
import { n as __toESM } from "./rolldown-runtime-3h0WiCiA.mjs";
|
|
2
2
|
import { a as join, n as dirname, s as relative } from "./dist-ipQi0Q8y.mjs";
|
|
3
3
|
import { t as require_picocolors } from "./picocolors-BsDfhxIw.mjs";
|
|
4
|
-
import { p as readConfig } from "./config-
|
|
4
|
+
import { p as readConfig } from "./config-OFOAimzt.mjs";
|
|
5
5
|
import { i as voidWarn, r as voidLog } from "./log-BMwmN5Ae.mjs";
|
|
6
6
|
import { i as collectFiles } from "./isr-config-fZaJJ8t7.mjs";
|
|
7
7
|
import { i as readProjectIdField } from "./project-rqDnVsJN.mjs";
|
|
8
|
-
import { p as findBindingNameOwner, u as ensureWranglerCompat } from "./wrangler-
|
|
8
|
+
import { p as findBindingNameOwner, u as ensureWranglerCompat } from "./wrangler-I-scB_1t.mjs";
|
|
9
9
|
import { n as scopedAccessCredentials } from "./cf-access-BM9G0lhO.mjs";
|
|
10
10
|
import { n as ensurePlatformProxyAccess } from "./cf-access-CWP4avfP.mjs";
|
|
11
11
|
import { a as getApiUrl, c as getToken, o as getProxyUrl } from "./auth-B6iOCjKI.mjs";
|
|
12
12
|
import { u as stripInternalEnvKeys } from "./env-BaMz0j7H.mjs";
|
|
13
13
|
import { i as renderPrerenderPaths, n as outputFileForPath, r as readPrerenderPathsResponse } from "./prerender-render-CaShbHJ3.mjs";
|
|
14
|
-
import {
|
|
14
|
+
import { t as renderDefaultErrorPage } from "./error-pages-CLIJ7aYq.mjs";
|
|
15
|
+
import { a as buildEnv } from "./version-metadata-D2vfMQzv.mjs";
|
|
15
16
|
import { existsSync, mkdirSync, readFileSync, unlinkSync, writeFileSync } from "node:fs";
|
|
16
17
|
import { isRecord } from "@void/deploy-core";
|
|
17
18
|
import { execFile } from "node:child_process";
|
|
@@ -162,6 +163,12 @@ async function collectPrerenderPaths(options) {
|
|
|
162
163
|
await runner.close();
|
|
163
164
|
}
|
|
164
165
|
}
|
|
166
|
+
function ensureStatic404(clientDir) {
|
|
167
|
+
const file = join(clientDir, "404.html");
|
|
168
|
+
if (existsSync(file)) return;
|
|
169
|
+
mkdirSync(clientDir, { recursive: true });
|
|
170
|
+
writeFileSync(file, renderDefaultErrorPage(404));
|
|
171
|
+
}
|
|
165
172
|
/**
|
|
166
173
|
* Prerender pages by spinning up Miniflare with the built worker.
|
|
167
174
|
* Collects paths through the built worker's internal endpoint and then
|
|
@@ -176,12 +183,14 @@ async function prerenderPages(options) {
|
|
|
176
183
|
rendered: [],
|
|
177
184
|
failed: []
|
|
178
185
|
};
|
|
186
|
+
const result = await renderPrerenderPaths(paths, options.clientDir, (path) => runner.fetchPath(path), (path) => runner.fetchPageData(path), (path, outputFile, error) => {
|
|
187
|
+
if (error !== void 0) voidWarn(`prerender ${path} failed: ${error}`);
|
|
188
|
+
else voidLog(`prerender ${import_picocolors.default.blue(outputFile)}`);
|
|
189
|
+
});
|
|
190
|
+
ensureStatic404(options.clientDir);
|
|
179
191
|
return {
|
|
180
192
|
paths,
|
|
181
|
-
...
|
|
182
|
-
if (error !== void 0) voidWarn(`prerender ${path} failed: ${error}`);
|
|
183
|
-
else voidLog(`prerender ${import_picocolors.default.blue(outputFile)}`);
|
|
184
|
-
})
|
|
193
|
+
...result
|
|
185
194
|
};
|
|
186
195
|
} finally {
|
|
187
196
|
await runner.close();
|
|
@@ -281,6 +290,8 @@ async function prerenderPagesNode(options) {
|
|
|
281
290
|
ssrDir: options.ssrDir,
|
|
282
291
|
clientDir: options.clientDir
|
|
283
292
|
});
|
|
293
|
+
if (result.paths.length === 0) return result;
|
|
294
|
+
ensureStatic404(options.clientDir);
|
|
284
295
|
for (const path of result.rendered) voidLog(`prerender ${import_picocolors.default.blue(outputFileForPath(path))}`);
|
|
285
296
|
for (const { path, error } of result.failed) voidWarn(`prerender ${path} failed: ${error}`);
|
|
286
297
|
return result;
|
|
@@ -297,6 +308,8 @@ async function prerenderPagesNode(options) {
|
|
|
297
308
|
* request matching a negative rule never reaches the Worker, even when the
|
|
298
309
|
* file is missing. Misses and other paths in the folder keep the Worker's
|
|
299
310
|
* not-found, SPA and page handling.
|
|
311
|
+
* `routing.alwaysUseHttps` alone does not count as an edge rule: hashed files
|
|
312
|
+
* are only linked from pages the Worker has already moved to HTTPS.
|
|
300
313
|
*
|
|
301
314
|
* The asset layer does not know which files are fingerprinted, so a generated
|
|
302
315
|
* `_headers` file gives every bypassed chunk the immutable policy the Worker
|
|
@@ -3,9 +3,9 @@ import { n as readDeploymentPlatform, r as readProjectConfig } from "./project-r
|
|
|
3
3
|
import { c as getToken } from "./auth-B6iOCjKI.mjs";
|
|
4
4
|
import { r as generateEnvTypes, t as findEnvFile } from "./env-types-BicfKBhV.mjs";
|
|
5
5
|
import { H as outro, L as log } from "./dist-Cor9XGoz.mjs";
|
|
6
|
-
import { r as PlatformClient } from "./client-
|
|
6
|
+
import { r as PlatformClient } from "./client-B3LnB_bE.mjs";
|
|
7
7
|
import { m as printSuccess, p as note } from "./output-BpgYODYx.mjs";
|
|
8
|
-
import { d as formatEnvReport, g as validateProdEnv, u as fetchRemoteSecretNames } from "./env-validation-
|
|
8
|
+
import { d as formatEnvReport, g as validateProdEnv, u as fetchRemoteSecretNames } from "./env-validation-B3VobvXm.mjs";
|
|
9
9
|
import { mkdirSync, writeFileSync } from "node:fs";
|
|
10
10
|
//#region src/cli/env.ts
|
|
11
11
|
async function runEnvCommand(root, args) {
|
|
@@ -25,7 +25,7 @@ async function runCheck(root, useRemoteSecrets) {
|
|
|
25
25
|
const platform = readDeploymentPlatform(root);
|
|
26
26
|
if (platform === "none") throw new Error("env: Deployment is disabled. Run `void init` to choose a platform.");
|
|
27
27
|
if (platform === "cloudflare") {
|
|
28
|
-
const { listCloudflareSecrets, resolveCloudflareOperationContext } = await import("./cloudflare-operations-
|
|
28
|
+
const { listCloudflareSecrets, resolveCloudflareOperationContext } = await import("./cloudflare-operations-BtulCNOg.mjs");
|
|
29
29
|
remoteSecrets = await listCloudflareSecrets(resolveCloudflareOperationContext(root));
|
|
30
30
|
} else {
|
|
31
31
|
const token = getToken(root);
|
|
@@ -476,6 +476,7 @@ function secretListEnv(accountId, platform) {
|
|
|
476
476
|
scrub("CF_ACCESS_CLIENT_SECRET");
|
|
477
477
|
scrub("VOID_ACCESS_CREDENTIALS");
|
|
478
478
|
scrub("VOID_ACCESS_ORIGIN");
|
|
479
|
+
scrub("CF_ACCESS_READINESS_ORIGIN");
|
|
479
480
|
scrub("WRANGLER_LOG_SANITIZE");
|
|
480
481
|
env.WRANGLER_LOG_SANITIZE = "true";
|
|
481
482
|
if (accountId) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { r as SelfHostSchemaError, a as computeInvalidEmittedKeys, c as deriveSelfHostSchemaFacts, p as readEmittedWorkerVars } from "./env-validation-
|
|
1
|
+
export { r as SelfHostSchemaError, a as computeInvalidEmittedKeys, c as deriveSelfHostSchemaFacts, p as readEmittedWorkerVars } from "./env-validation-B3VobvXm.mjs";
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
//#region src/runtime/error-pages/404.html?raw
|
|
2
|
+
var _404_default = "<!doctype html>\n<html lang=\"en\">\n <head>\n <meta charset=\"utf-8\" />\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\" />\n <title>404: Not Found</title>\n <!-- inject:css -->\n <!--\n Do not add code here. At runtime, the file referenced by the tag below is\n inlined, replacing this entire block (including this comment).\n The tag is kept so you can preview this HTML file by opening it directly in a browser.\n -->\n <link rel=\"stylesheet\" href=\"./style.css\" />\n <!-- endinject -->\n <!-- inject:js -->\n <!--\n Do not add code here. At runtime, the file referenced by the tag below is\n inlined, replacing this entire block (including this comment).\n The tag is kept so you can preview this HTML file by opening it directly in a browser.\n -->\n <script src=\"./script.js\"><\/script>\n <!-- endinject -->\n </head>\n <body>\n <div class=\"error-page\">\n <div class=\"grid-cell\" aria-hidden=\"true\"></div>\n <div class=\"grid-cell\" aria-hidden=\"true\"></div>\n <div class=\"grid-cell\" aria-hidden=\"true\"></div>\n <div class=\"grid-cell\" aria-hidden=\"true\"></div>\n <main class=\"error-content\">\n <span class=\"grid-tick top left\" aria-hidden=\"true\"></span>\n <span class=\"grid-tick top right\" aria-hidden=\"true\"></span>\n <span class=\"grid-tick bottom left\" aria-hidden=\"true\"></span>\n <span class=\"grid-tick bottom right\" aria-hidden=\"true\"></span>\n <h1>\n <span class=\"error-code\">404</span><span class=\"error-title\">Lost in the void</span>\n </h1>\n <p class=\"error-description\">This page doesn't exist</p>\n <button class=\"error-action\" type=\"button\" id=\"void-error-back\" hidden>\n <span class=\"error-arrow\" aria-hidden=\"true\">←</span>Go back\n </button>\n </main>\n <div class=\"grid-cell\" aria-hidden=\"true\"></div>\n <div class=\"grid-cell\" aria-hidden=\"true\"></div>\n <div class=\"grid-cell\" aria-hidden=\"true\"></div>\n <div class=\"grid-cell\" aria-hidden=\"true\"></div>\n <canvas class=\"error-texture\" aria-hidden=\"true\"></canvas>\n </div>\n </body>\n</html>\n";
|
|
3
|
+
//#endregion
|
|
4
|
+
//#region src/runtime/error-pages/500.html?raw
|
|
5
|
+
var _500_default = "<!doctype html>\n<html lang=\"en\">\n <head>\n <meta charset=\"utf-8\" />\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\" />\n <title>500: Internal Server Error</title>\n <!-- inject:css -->\n <!--\n Do not add code here. At runtime, the file referenced by the tag below is\n inlined, replacing this entire block (including this comment).\n The tag is kept so you can preview this HTML file by opening it directly in a browser.\n -->\n <link rel=\"stylesheet\" href=\"./style.css\" />\n <!-- endinject -->\n <!-- inject:js -->\n <!--\n Do not add code here. At runtime, the file referenced by the tag below is\n inlined, replacing this entire block (including this comment).\n The tag is kept so you can preview this HTML file by opening it directly in a browser.\n -->\n <script src=\"./script.js\"><\/script>\n <!-- endinject -->\n </head>\n <body>\n <div class=\"error-page\">\n <div class=\"grid-cell\" aria-hidden=\"true\"></div>\n <div class=\"grid-cell\" aria-hidden=\"true\"></div>\n <div class=\"grid-cell\" aria-hidden=\"true\"></div>\n <div class=\"grid-cell\" aria-hidden=\"true\"></div>\n <main class=\"error-content\">\n <span class=\"grid-tick top left\" aria-hidden=\"true\"></span>\n <span class=\"grid-tick top right\" aria-hidden=\"true\"></span>\n <span class=\"grid-tick bottom left\" aria-hidden=\"true\"></span>\n <span class=\"grid-tick bottom right\" aria-hidden=\"true\"></span>\n <h1>\n <span class=\"error-code\">500</span><span class=\"error-title\">Something went wrong</span>\n </h1>\n <p class=\"error-description\">Please try again in a moment</p>\n <a class=\"error-action\" href=\"\"\n ><span class=\"error-arrow\" aria-hidden=\"true\">↻</span>Reload page</a\n >\n </main>\n <div class=\"grid-cell\" aria-hidden=\"true\"></div>\n <div class=\"grid-cell\" aria-hidden=\"true\"></div>\n <div class=\"grid-cell\" aria-hidden=\"true\"></div>\n <div class=\"grid-cell\" aria-hidden=\"true\"></div>\n <canvas class=\"error-texture\" aria-hidden=\"true\"></canvas>\n </div>\n </body>\n</html>\n";
|
|
6
|
+
//#endregion
|
|
7
|
+
//#region src/runtime/error-pages/inline.ts
|
|
8
|
+
const closing = "<!-- endinject -->";
|
|
9
|
+
function replaceAssetBlock(html, name, content) {
|
|
10
|
+
const opening = `<!-- inject:${name} -->`;
|
|
11
|
+
const start = html.indexOf(opening);
|
|
12
|
+
const end = html.indexOf(closing, start + opening.length);
|
|
13
|
+
if (start === -1 || end === -1 || html.lastIndexOf(opening) !== start) throw new Error(`Expected one complete ${name} block in the default error page.`);
|
|
14
|
+
return html.slice(0, start) + content + html.slice(end + 18);
|
|
15
|
+
}
|
|
16
|
+
function inlineErrorPageAssets(html, stylesheet, script) {
|
|
17
|
+
if (html.split(closing).length !== 3) throw new Error("Expected two endinject markers in the default error page.");
|
|
18
|
+
for (const [name, content] of [["css", `<style>\n${stylesheet}</style>`], ["js", `<script>\n${script}<\/script>`]]) html = replaceAssetBlock(html, name, content);
|
|
19
|
+
return html;
|
|
20
|
+
}
|
|
21
|
+
//#endregion
|
|
22
|
+
//#region src/runtime/error-pages/script.js?raw
|
|
23
|
+
var script_default = "(() => {\n const designs = ['signal', 'grid', 'fold'];\n document.documentElement.dataset.design = designs[Math.floor(Math.random() * designs.length)];\n\n function setup() {\n const back = document.getElementById('void-error-back');\n const canGoBack = window.navigation ? window.navigation.canGoBack : window.history.length > 1;\n if (back && canGoBack) {\n back.hidden = false;\n back.addEventListener('click', () => window.history.back());\n }\n\n if (document.documentElement.dataset.design !== 'signal') {\n return;\n }\n const canvas = document.querySelector('.error-texture');\n const ctx = canvas.getContext('2d');\n if (!ctx) {\n return;\n }\n\n function draw() {\n const { width, height } = canvas.getBoundingClientRect();\n const ratio = Math.min(window.devicePixelRatio || 1, 2);\n canvas.width = Math.round(width * ratio);\n canvas.height = Math.round(height * ratio);\n ctx.setTransform(ratio, 0, 0, ratio, 0, 0);\n const colors = getComputedStyle(canvas);\n const chars = ['·', '/', '0', '1', '+', '[', ']', '—'];\n ctx.font = '8px ui-monospace, monospace';\n ctx.textAlign = 'center';\n ctx.textBaseline = 'middle';\n ctx.fillStyle = colors.color;\n\n for (let y = 8, row = 0; y < height; y += 12, row++) {\n for (let x = 8, col = 0; x < width; x += 9, col++) {\n const distance = Math.hypot(\n (x - width / 2) / (width * 0.47),\n (y - height * 0.48) / (height * 0.55),\n );\n const seed = (Math.imul(row + 11, 61) ^ Math.imul(col + 7, 137)) >>> 0;\n const core = Math.max(0, Math.min(1, (distance - 0.28) / 0.55));\n const opacity = core * (0.15 + (seed % 7) * 0.025) * 0.75;\n if (seed % 17 === 0 || opacity < 0.015) {\n continue;\n }\n ctx.globalAlpha = opacity;\n ctx.fillText(chars[(seed >>> 3) % chars.length], x, y);\n }\n }\n\n ctx.globalAlpha = 1;\n ctx.strokeStyle = colors.borderTopColor;\n for (const [x, y] of [\n [28, 28],\n [width - 28, 28],\n [28, height - 28],\n [width - 28, height - 28],\n ]) {\n ctx.beginPath();\n ctx.moveTo(x - 4, y);\n ctx.lineTo(x + 4, y);\n ctx.moveTo(x, y - 4);\n ctx.lineTo(x, y + 4);\n ctx.stroke();\n }\n }\n\n new ResizeObserver(draw).observe(canvas);\n window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', draw);\n draw();\n }\n\n if (document.readyState === 'loading') {\n document.addEventListener('DOMContentLoaded', setup, { once: true });\n } else {\n setup();\n }\n})();\n";
|
|
24
|
+
//#endregion
|
|
25
|
+
//#region src/runtime/error-pages/style.css?raw
|
|
26
|
+
var style_default = ":root {\n color-scheme: light dark;\n --background: light-dark(#fff, #16171d);\n --foreground: light-dark(#16171d, #f6f5f8);\n --muted: light-dark(#6e6874, #a8a2ae);\n --line: light-dark(#e5e4e7, #36323c);\n --ink: light-dark(#4e4856, #c3bdcd);\n --corner: light-dark(#e5e4e7, #3b3440);\n background: var(--background);\n color: var(--foreground);\n font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;\n -webkit-font-smoothing: antialiased;\n}\n\n* {\n box-sizing: border-box;\n}\n\nbody {\n margin: 0;\n}\n\n.error-page {\n position: relative;\n isolation: isolate;\n display: flex;\n align-items: center;\n justify-content: center;\n min-block-size: 100svh;\n overflow: hidden;\n}\n\n.error-content {\n min-inline-size: 0;\n padding: 32px 24px;\n text-align: center;\n}\n\n.error-content h1 {\n display: flex;\n flex-direction: column;\n gap: 18px;\n margin: 0;\n font-weight: 500;\n}\n\n.error-code {\n font-size: 64px;\n line-height: 1;\n letter-spacing: -0.045em;\n}\n\n.error-title {\n font-size: 15px;\n line-height: 1.4;\n letter-spacing: -0.02em;\n text-wrap: balance;\n}\n\n.error-description {\n margin: 6px 0 0;\n color: var(--muted);\n font-size: 12px;\n line-height: 1.5;\n letter-spacing: -0.01em;\n}\n\n.error-action {\n position: relative;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: 7px;\n min-block-size: 32px;\n margin-block-start: 20px;\n padding: 6px 12px;\n border: 1px solid var(--line);\n border-radius: 6px;\n background: var(--background);\n color: var(--foreground);\n font:\n 500 12px/18px system-ui,\n -apple-system,\n BlinkMacSystemFont,\n 'Segoe UI',\n sans-serif;\n letter-spacing: -0.01em;\n text-decoration: none;\n white-space: nowrap;\n cursor: pointer;\n}\n\n.error-action::after {\n position: absolute;\n inset: -6px -3px;\n content: '';\n}\n\n.error-action:hover {\n border-color: var(--foreground);\n background: var(--foreground);\n color: var(--background);\n}\n\n.error-action:focus-visible {\n outline: 2px solid var(--foreground);\n outline-offset: 4px;\n}\n\n.error-action[hidden] {\n visibility: hidden;\n}\n\n.error-arrow {\n font-size: 15px;\n line-height: 14px;\n}\n\n.error-texture {\n position: absolute;\n z-index: -1;\n inset: 0;\n display: block;\n inline-size: 100%;\n block-size: 100%;\n border-color: var(--line);\n color: var(--ink);\n}\n\n.grid-cell,\n.grid-tick {\n display: none;\n}\n\n.grid-tick {\n position: absolute;\n z-index: 1;\n inline-size: 0;\n block-size: 0;\n border: 5px solid transparent;\n pointer-events: none;\n}\n\n:root[data-design='grid'] .error-page {\n display: grid;\n grid-template-columns: minmax(24px, 1fr) minmax(0, 456px) minmax(24px, 1fr);\n grid-template-rows: minmax(24px, 1fr) minmax(272px, auto) minmax(24px, 1fr);\n align-items: stretch;\n}\n\n:root[data-design='grid'] .grid-cell,\n:root[data-design='grid'] .error-content {\n min-inline-size: 0;\n border-inline-end: 1px solid var(--line);\n border-block-end: 1px solid var(--line);\n}\n\n:root[data-design='grid'] .grid-cell {\n display: block;\n}\n\n:root[data-design='grid'] .grid-cell:nth-child(3n) {\n border-inline-end: 0;\n}\n\n:root[data-design='grid'] .grid-cell:nth-child(n + 7) {\n border-block-end: 0;\n}\n\n:root[data-design='grid'] .error-content {\n position: relative;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 32px;\n}\n\n:root[data-design='grid'] .grid-tick {\n display: block;\n}\n\n.grid-tick.left {\n left: -1px;\n border-left-color: var(--corner);\n}\n\n.grid-tick.right {\n right: 0;\n border-right-color: var(--corner);\n}\n\n.grid-tick.top {\n top: -5px;\n}\n\n.grid-tick.bottom {\n bottom: -5px;\n}\n\n:root[data-design='grid'] .error-texture,\n:root[data-design='fold'] .error-texture {\n display: none;\n}\n\n:root[data-design='fold'] .error-page {\n padding: 40px 42px;\n}\n\n:root[data-design='fold'] .error-content {\n flex: 0 1 560px;\n margin-inline-end: auto;\n padding: 0;\n text-align: start;\n}\n\n:root[data-design='fold'] h1 {\n flex-direction: row;\n align-items: baseline;\n gap: 14px;\n}\n\n:root[data-design='fold'] .error-code,\n:root[data-design='fold'] .error-title {\n font-size: 26px;\n line-height: 1.2;\n letter-spacing: -0.025em;\n}\n\n:root[data-design='fold'] .error-code {\n flex: none;\n color: var(--muted);\n font-family: ui-monospace, 'SFMono-Regular', Consolas, monospace;\n font-weight: 400;\n letter-spacing: -0.045em;\n}\n\n:root[data-design='fold'] .error-description {\n margin-block-start: 12px;\n font-size: 14px;\n line-height: 1.6;\n text-wrap: pretty;\n}\n\n:root[data-design='fold'] .error-action {\n margin-block-start: 24px;\n}\n\n@supports (corner-shape: squircle) {\n .error-action {\n border-radius: 12px;\n corner-shape: squircle;\n }\n}\n\n@media (pointer: coarse) {\n .error-action {\n min-block-size: 40px;\n }\n}\n\n@media (max-width: 620px) {\n :root[data-design='fold'] .error-page {\n padding: 36px 30px;\n }\n\n :root[data-design='fold'] .error-code,\n :root[data-design='fold'] .error-title {\n font-size: 24px;\n }\n}\n\n@media (max-width: 440px) {\n .error-code {\n font-size: 56px;\n }\n\n :root[data-design='grid'] .error-page {\n grid-template-columns: 24px minmax(0, 1fr) 24px;\n }\n\n :root[data-design='grid'] .error-content {\n padding: 24px;\n }\n\n :root[data-design='fold'] .error-code {\n display: none;\n }\n\n :root[data-design='fold'] .error-action {\n margin-block-start: 20px;\n }\n}\n";
|
|
27
|
+
//#endregion
|
|
28
|
+
//#region src/runtime/error-pages/index.ts
|
|
29
|
+
const pages = {
|
|
30
|
+
404: inlineErrorPageAssets(_404_default, style_default, script_default),
|
|
31
|
+
500: inlineErrorPageAssets(_500_default, style_default, script_default)
|
|
32
|
+
};
|
|
33
|
+
function renderDefaultErrorPage(status) {
|
|
34
|
+
return pages[status];
|
|
35
|
+
}
|
|
36
|
+
//#endregion
|
|
37
|
+
export { renderDefaultErrorPage as t };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { r as runGenCommand } from "./gen-CFmsUsW1.mjs";
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { a as join, n as dirname, s as relative } from "./dist-ipQi0Q8y.mjs";
|
|
2
2
|
import { n as readProjectPaths } from "./project-paths-DGu_QZ_Q.mjs";
|
|
3
|
-
import { l as getDatabaseDialect, p as readConfig } from "./config-
|
|
3
|
+
import { l as getDatabaseDialect, p as readConfig } from "./config-OFOAimzt.mjs";
|
|
4
4
|
import { n as readJournal, t as collectMigrations } from "./collect-Dew86qce.mjs";
|
|
5
|
-
import { r as writeDrizzleConfig, t as PLACEHOLDER_DB_URL } from "./config-
|
|
5
|
+
import { r as writeDrizzleConfig, t as PLACEHOLDER_DB_URL } from "./config-tqMM6DwY.mjs";
|
|
6
6
|
import { t as assertJournalCoherence } from "./validate-CnZPMq4q.mjs";
|
|
7
7
|
import { K as select, L as log, O as cancel, tt as isCancel } from "./dist-Cor9XGoz.mjs";
|
|
8
8
|
import { m as printSuccess } from "./output-BpgYODYx.mjs";
|
|
@@ -329,7 +329,7 @@ async function runModel(root, name, columns) {
|
|
|
329
329
|
const existing = readFileSync(barrelPath, "utf-8");
|
|
330
330
|
if (!existing.includes(exportLine)) writeFileSync(barrelPath, existing.trimEnd() + "\n" + exportLine + "\n");
|
|
331
331
|
} else writeFileSync(barrelPath, exportLine + "\n");
|
|
332
|
-
const { prepareProject } = await import("./prepare-
|
|
332
|
+
const { prepareProject } = await import("./prepare-DU-tOpS5.mjs");
|
|
333
333
|
await prepareProject(root);
|
|
334
334
|
log.step(`Created ${relative(root, modelPath)}`);
|
|
335
335
|
log.step(`Updated ${relative(root, barrelPath)}`);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { r as readProjectConfig } from "./project-rqDnVsJN.mjs";
|
|
2
2
|
import { c as getToken, n as createCodeChallenge, r as createCodeVerifier, t as awaitBrowserCallback, u as openBrowser } from "./auth-B6iOCjKI.mjs";
|
|
3
3
|
import { A as confirm, K as select, L as log, O as cancel, X as text, tt as isCancel } from "./dist-Cor9XGoz.mjs";
|
|
4
|
-
import { c as platformErrorMessage, n as PlatformApiError, r as PlatformClient, s as parsePlatformErrorBody } from "./client-
|
|
4
|
+
import { c as platformErrorMessage, n as PlatformApiError, r as PlatformClient, s as parsePlatformErrorBody } from "./client-B3LnB_bE.mjs";
|
|
5
5
|
import { f as import_picocolors, l as formatUrl, m as printSuccess } from "./output-BpgYODYx.mjs";
|
|
6
6
|
import { a as resolveProjectBySlug, t as getRequestedProjectSlug } from "./resolve-project-Xoi6eTWY.mjs";
|
|
7
7
|
import { t as collectGitDeployMetadata } from "./git-metadata-D-gurjzG.mjs";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { l as VoidPlatformSandbox } from "./sandbox-q3waMc2T.mjs";
|
|
2
2
|
import { t as StandardSchemaV1 } from "./standard-schema-Fo_vCAZh.mjs";
|
|
3
3
|
import { n as HeadDescriptor } from "./head-C8K_iGe6.mjs";
|
|
4
|
-
import { r as AuthUser, t as AuthSession } from "./auth-
|
|
4
|
+
import { r as AuthUser, t as AuthSession } from "./auth-g2TQbDLD.mjs";
|
|
5
5
|
import { t as DevCssAsset } from "./types-w72dljaA.mjs";
|
|
6
6
|
import { Context, Env, ExecutionContext as ExecutionContext$1, MiddlewareHandler } from "hono";
|
|
7
7
|
import { RewriteDestination } from "void/routes";
|
|
@@ -64,6 +64,8 @@ type WorkerFetchOptions = {
|
|
|
64
64
|
withRuntimeEnv: (env: RuntimeEnvironment, fn: () => Promise<Response>) => Promise<Response>;
|
|
65
65
|
filterBindings: (env: RuntimeEnvironment) => RuntimeEnvironment;
|
|
66
66
|
validateEnv?: (env: RuntimeEnvironment) => Promise<void>;
|
|
67
|
+
/** Native Cloudflare production builds redirect public HTTP requests to HTTPS. */
|
|
68
|
+
alwaysUseHttps?: boolean;
|
|
67
69
|
/** Authored/generated version metadata binding used to prove the served native version. */
|
|
68
70
|
versionMetadataBinding?: string;
|
|
69
71
|
remoteEnv?: (env: RuntimeEnvironment) => RuntimeEnvironment;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { a as join } from "./dist-ipQi0Q8y.mjs";
|
|
2
|
-
import { a as convertRewritesConfig, d as isProtocolRelative, f as parseHostPrefixedSource, i as convertRedirectsConfig, n as convertFallbacksConfig, o as countSplats, r as convertHeadersConfig, t as VALID_REDIRECT_STATUSES } from "./config-
|
|
2
|
+
import { a as convertRewritesConfig, d as isProtocolRelative, f as parseHostPrefixedSource, i as convertRedirectsConfig, n as convertFallbacksConfig, o as countSplats, r as convertHeadersConfig, t as VALID_REDIRECT_STATUSES } from "./config-OFOAimzt.mjs";
|
|
3
3
|
import { i as voidWarn } from "./log-BMwmN5Ae.mjs";
|
|
4
4
|
import { existsSync, readFileSync } from "node:fs";
|
|
5
5
|
//#region src/cli/headers.ts
|
package/dist/index.d.mts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { n as HeadDescriptor } from "./head-C8K_iGe6.mjs";
|
|
2
|
-
import { r as AuthUser } from "./auth-
|
|
2
|
+
import { r as AuthUser } from "./auth-g2TQbDLD.mjs";
|
|
3
3
|
import { s as RouteEnvironment } from "./types-w72dljaA.mjs";
|
|
4
|
-
import { C as defer, E as ValidatorSlots, S as InferProps, T as HandlerInput, _ as defineQueue, a as CloudEnv, b as Deferred, c as QueueRetryOptions, d as TypedQueueHandler, f as VoidAssetRewriteError, g as defineMiddleware, h as defineHead, i as CloudContextVariables, l as RenderAssetTags, m as defineHandler, o as QueueBatch, p as basicAuth, r as CloudContext, s as QueueMessage, t as BasicAuthOptions, u as TypedHandler, v as defineRender, x as DeferredState, y as defineScheduled } from "./handler-
|
|
4
|
+
import { C as defer, E as ValidatorSlots, S as InferProps, T as HandlerInput, _ as defineQueue, a as CloudEnv, b as Deferred, c as QueueRetryOptions, d as TypedQueueHandler, f as VoidAssetRewriteError, g as defineMiddleware, h as defineHead, i as CloudContextVariables, l as RenderAssetTags, m as defineHandler, o as QueueBatch, p as basicAuth, r as CloudContext, s as QueueMessage, t as BasicAuthOptions, u as TypedHandler, v as defineRender, x as DeferredState, y as defineScheduled } from "./handler-BHktmuTL.mjs";
|
|
5
5
|
import { t as QueueMap } from "./queues-BWKt1Xo4.mjs";
|
|
6
6
|
import { PluginConfig } from "@cloudflare/vite-plugin";
|
|
7
7
|
import { Plugin } from "vite";
|