void 0.27.0 → 1.0.3
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/README.md +3 -1
- package/dist/{account-cmd-l-FM7Ioq.mjs → account-cmd-BTcUzv9L.mjs} +6 -6
- package/dist/{agents-B_pX_HmQ.mjs → agents-CuNtT0D_.mjs} +5 -2
- package/dist/{application-analysis-DKy02UY0.mjs → application-analysis-AB_YYWgH.mjs} +118 -135
- package/dist/{application-routing-DQyUh_5S.mjs → application-routing-L7V-TFhZ.mjs} +1 -2
- package/dist/atomic-write-Dq6R0BPN.mjs +18 -0
- package/dist/{auth-Dn2vw-SG.mjs → auth-B6iOCjKI.mjs} +23 -56
- package/dist/auth-Cbqi1iVX.mjs +1 -0
- package/dist/{auth-link-vz9Z2kmG.mjs → auth-link-DUJuvRx5.mjs} +11 -11
- package/dist/{auth-migrations-BwHgeEsD.mjs → auth-migrations-Cgs0k6lS.mjs} +28 -5
- package/dist/{auth-router-DvsCUVw4.mjs → auth-router-CIxiMG7i.mjs} +5 -5
- package/dist/base64-DVrOndmI.mjs +16 -0
- package/dist/{better-auth-shared-CPvWD3nG.d.mts → better-auth-shared-B74NJIus.d.mts} +8 -13
- package/dist/{better-auth-shared-DPpj8zxc.mjs → better-auth-shared-CMXlZG7W.mjs} +56 -68
- package/dist/{build-cmd-D6we0VjO.mjs → build-cmd-BkIv25PA.mjs} +6 -6
- package/dist/{cache-CZRdzKx1.mjs → cache-Ctzfig-W.mjs} +6 -6
- package/dist/{cancel-deploy-CQ3NnMvf.mjs → cancel-deploy-CD9o-SsC.mjs} +5 -5
- package/dist/{cf-access-TWNzXltp.mjs → cf-access-BM9G0lhO.mjs} +4 -3
- package/dist/{cf-access-BcIBSKqG.mjs → cf-access-CWP4avfP.mjs} +3 -7
- package/dist/cf-build-output-BU3hqdHu.mjs +1 -0
- package/dist/{cf-build-output-DjvB_872.mjs → cf-build-output-Bc8i3dzE.mjs} +2 -2
- package/dist/cf-user-agent-ChjQp2MU.mjs +33 -0
- package/dist/cli/cli.mjs +199 -312
- package/dist/cli/cloudflare-operation-process.mjs +41 -15
- package/dist/cli/env-schema-probe.d.mts +7 -44
- package/dist/cli/env-schema-probe.mjs +14 -80
- package/dist/client-B60PwCC4.mjs +1 -0
- package/dist/{client-DlDJuY0s.mjs → client-DM9Kcf4e.mjs} +161 -415
- package/dist/{cloudflare-auth-CuxfF6OA.mjs → cloudflare-auth-CqFBDo52.mjs} +12 -39
- package/dist/{cloudflare-cmd-lHqNlJGW.mjs → cloudflare-cmd-BIAF_BIY.mjs} +7 -6
- package/dist/{cloudflare-config-BmhBv3HV.mjs → cloudflare-config-DV60XFFK.mjs} +16 -28
- package/dist/{cloudflare-connect-2G3rL2rP.mjs → cloudflare-connect-WjwnVOJA.mjs} +4 -4
- package/dist/{cloudflare-operations-CwI1bChl.mjs → cloudflare-operations-B42EZeJy.mjs} +26 -34
- package/dist/cloudflare-operations-CrSUFRzJ.mjs +1 -0
- package/dist/{cloudflare-process-2-TfIEzB.mjs → cloudflare-process-CeDWJRhj.mjs} +12 -7
- package/dist/collect-Cae8A7Zr.mjs +1 -0
- package/dist/{collect-DiTn9yr6.mjs → collect-xjffdCdk.mjs} +1 -1
- package/dist/{config-CSa15FvD.d.mts → config-7qoq2p9v.d.mts} +2 -2
- package/dist/{config-CLYAosnQ.mjs → config-BEm9vRvS.mjs} +11 -5
- package/dist/{config-DiowPT80.mjs → config-Bx_1SpnO.mjs} +87 -177
- package/dist/{config-DPByhVck.mjs → config-D0GY5ItR.mjs} +1 -1
- package/dist/config-QrJWu0IX.mjs +1 -0
- package/dist/config-entry.d.mts +1 -1
- package/dist/{connect-BfPBHHm-.mjs → connect-CKtk-EZe.mjs} +9 -9
- package/dist/create-project-B-ewF_Af.mjs +1 -0
- package/dist/{create-project-BdXEFKal.mjs → create-project-yInGo72M.mjs} +8 -8
- package/dist/database-provider.mjs +1 -2
- package/dist/{db-Xs80hcaA.mjs → db-7I_gfdVq.mjs} +177 -268
- package/dist/db-types-Bb4WBWIs.mjs +49 -0
- package/dist/{delete-d2vuou3j.mjs → delete-Cy-M1u-r.mjs} +6 -6
- package/dist/deploy-9lgfhrXS.mjs +2 -0
- package/dist/deploy-BYYlnsiy.mjs +6164 -0
- package/dist/deploy-managed-static-Ca4TFdmx.mjs +1595 -0
- package/dist/deploy-transport-DWlWBe6M.mjs +180 -0
- package/dist/deploy.d.mts +10 -0
- package/dist/deploy.mjs +82 -0
- package/dist/dev-inbox-Rd6j_8vM.mjs +217 -0
- package/dist/discover-ClzFSwns.mjs +1 -0
- package/dist/{discover-CkCYv9T_.mjs → discover-D2PGT63u.mjs} +2 -2
- package/dist/dispatch-DrTTk8Xg.mjs +431 -0
- package/dist/{dist-D3m88sjf.mjs → dist-BVdsO7Py.mjs} +5 -6
- package/dist/dist-CfgIkieS.mjs +1 -0
- package/dist/{dist-BVqXeR_h.mjs → dist-ipQi0Q8y.mjs} +2 -3
- package/dist/{domain-BsDUBAvt.mjs → domain-CZGxPv9u.mjs} +8 -23
- package/dist/{dotenv-BfU6eqFt.mjs → dotenv-CNazY3-w.mjs} +4 -16
- package/dist/edge.mjs +1 -2
- package/dist/{email-d_Aux1vM.mjs → email-BcjSyAL0.mjs} +4 -20
- package/dist/{email-_lGAHOhp.mjs → email-DzyNVuoU.mjs} +100 -192
- package/dist/email-cloudflare-DfG6UEMm.mjs +1096 -0
- package/dist/email-protocol-D9nTvhCp.mjs +82 -0
- package/dist/{entry-CMAkqBmU.mjs → entry-ehmBvs5w.mjs} +2 -2
- package/dist/{env-DMA3cXZt.mjs → env-0jrMQJI_.mjs} +6 -14
- package/dist/{env-BxocywBB.mjs → env-BJjULvL0.mjs} +2 -2
- package/dist/{env-C74QepDE.mjs → env-Nx3yf50r.mjs} +9 -9
- package/dist/{env-public-DR7ZM6d-.d.mts → env-public-CCdykygU.d.mts} +6 -23
- package/dist/{env-raw-jZpP5n47.mjs → env-raw-D74P4ebM.mjs} +15 -21
- package/dist/{env-types-CwXgeMgL.mjs → env-types-DS2_y4X8.mjs} +2 -2
- package/dist/env-validation-BT7z-qpQ.mjs +1 -0
- package/dist/env-validation-DYxjz_Wo.mjs +488 -0
- package/dist/{gen-DtkQhvQg.mjs → gen-CufHEf42.mjs} +132 -254
- package/dist/gen-sXyp5DFO.mjs +1 -0
- package/dist/generate-ClI89brV.mjs +1 -0
- package/dist/{generate-GDbL7sUr.mjs → generate-Dat0UTry.mjs} +38 -4
- package/dist/generated-wrangler-config-DeWj5F9Y.mjs +18 -0
- package/dist/{github-cmd-DaDdBbSS.mjs → github-cmd-FU8EjFyU.mjs} +28 -72
- package/dist/{handler-BHAn2fZJ.mjs → handler-BZ1t7-Rv.mjs} +2 -2
- package/dist/{handler-CNAwjRcW.d.mts → handler-_PqY82xe.d.mts} +1 -1
- package/dist/{headers-DlfR78Nu.mjs → headers-Di1FsD3e.mjs} +26 -81
- package/dist/{help-0bTe_lID.mjs → help-BT2hovNI.mjs} +26 -14
- package/dist/help-i2YGGnTH.mjs +1 -0
- package/dist/{inbound-PfQDLXc5.mjs → inbound-BuTfm11U.mjs} +71 -222
- package/dist/{inbound-CH5Mksyy.d.mts → inbound-brj2-TM5.d.mts} +19 -58
- package/dist/index.d.mts +2 -18
- package/dist/index.mjs +714 -762
- package/dist/{info-PYWwkWyt.mjs → info-l249eUdH.mjs} +5 -5
- package/dist/{init-DaBGmaXC.mjs → init-D0A6M64Q.mjs} +229 -392
- package/dist/isr-config-fZaJJ8t7.mjs +165 -0
- package/dist/{link-C6fjafep.mjs → link-WMoJFf4i.mjs} +9 -9
- package/dist/{list-BTFBlqKl.mjs → list-CQ2EQEHL.mjs} +7 -18
- package/dist/{live-CgQuTpqD.mjs → live-BcHoTDFe.mjs} +19 -17
- package/dist/{live-Du8jXwOW.d.mts → live-DJONVlQK.d.mts} +1 -1
- package/dist/load-user-env-DD5qveNU.mjs +49 -0
- package/dist/{local-d1-ga5O_idV.mjs → local-d1-BxvQYEFi.mjs} +6 -6
- package/dist/{login-GKcNUmtI.mjs → login-C2T1oVG-.mjs} +12 -12
- package/dist/login-XD844Xs-.mjs +1 -0
- package/dist/{logs-BiMSULmc.mjs → logs-DnC1d7xB.mjs} +6 -6
- package/dist/{migrate-NLsjBbuM.mjs → migrate-BDIprOYd.mjs} +70 -22
- package/dist/migrate-BRwU-blY.mjs +1 -0
- package/dist/migration-handler-Cg0Y4EPu.mjs +470 -0
- package/dist/{migration-handler-DM4clYj5.d.mts → migration-handler-CwlEQUoo.d.mts} +17 -26
- package/dist/{mime-DxCznlJq.mjs → mime-srOklVVv.mjs} +92 -395
- package/dist/mysql-migration-sql-BIS5vbNk.mjs +241 -0
- package/dist/nitro.d.mts +30 -0
- package/dist/nitro.mjs +88 -0
- package/dist/{node-DJicPvPj.mjs → node-cPadMgUO.mjs} +9 -25
- package/dist/{operator-args-DOBhIaIg.mjs → operator-args-UnE8Y2eK.mjs} +27 -26
- package/dist/{operator-auth-BEZ_u0Cz.mjs → operator-auth-Cr2zCc-J.mjs} +2 -2
- package/dist/{operator-client-DbDv4vtE.mjs → operator-client-C-ROjk1I.mjs} +4 -4
- package/dist/operator-cmd-D6gnZsnK.mjs +1 -0
- package/dist/{operator-cmd-BT4hgavL.mjs → operator-cmd-DHieWtFp.mjs} +8 -8
- package/dist/{output-C50ag2r3.mjs → output-Ba6ZbrzY.mjs} +37 -6
- package/dist/{package-json-DXfiT1jV.mjs → package-json-BjYqR-So.mjs} +1 -1
- package/dist/pages/client.d.mts +1 -1
- package/dist/pages/client.mjs +91 -5
- package/dist/pages/head.mjs +1 -2
- package/dist/pages/index.d.mts +1 -2
- package/dist/pages/index.mjs +6 -6
- package/dist/pages/islands-plugin.mjs +5 -83
- package/dist/pages/prefetch.mjs +1 -2
- package/dist/pages/protocol.d.mts +2 -2
- package/dist/pages/protocol.mjs +1 -1
- package/dist/pages/serialize.mjs +1 -2
- package/dist/plan-CKX_jWnD.mjs +1 -0
- package/dist/platform-args-B0HeTh0C.mjs +1 -0
- package/dist/{platform-args-DUeXY9Om.mjs → platform-args-CaCL_1Ch.mjs} +43 -60
- package/dist/{platform-auth-config-CkSx3usH.mjs → platform-auth-config-Z16-I8nT.mjs} +11 -12
- package/dist/{platform-auth-protection-BJimB_p9.mjs → platform-auth-protection-BXwZiJSF.mjs} +37 -27
- package/dist/{platform-auth-recovery-BU6izFAU.mjs → platform-auth-recovery-CXjfqyOv.mjs} +9 -10
- package/dist/{platform-cmd-BbY1dWiM.mjs → platform-cmd-DaAOiWTl.mjs} +16 -16
- package/dist/platform-cmd-PT4YwMLM.mjs +1 -0
- package/dist/{platform-discovery-DIYz8V63.mjs → platform-discovery-CHhNs8Nn.mjs} +1 -1
- package/dist/{platform-domain-CHVS6cV0.mjs → platform-domain-CxpvUeo0.mjs} +6 -6
- package/dist/{platform-lifecycle-DzCwqhFq.mjs → platform-lifecycle-DBiS0cJd.mjs} +1693 -2120
- package/dist/platform-lifecycle-u9pMOvxC.mjs +1 -0
- package/dist/{platform-management-CuuVDhyt.mjs → platform-management-DhEFdQAf.mjs} +696 -130
- package/dist/platform-management-DvBS83rC.mjs +1 -0
- package/dist/{platform-plans-config-CN-heS4q.mjs → platform-plans-config-BWn1S2Rv.mjs} +16 -12
- package/dist/{platform-recovery-CskSJgLh.mjs → platform-recovery-BUGOB4RC.mjs} +6 -9
- package/dist/{platform-registry-Cjv2Qf0r.mjs → platform-registry-B9mWX9LO.mjs} +13 -18
- package/dist/{platform-setup-BBxRxmFC.mjs → platform-setup-YvN9VQXV.mjs} +21 -28
- package/dist/{plugin-inference-BlQbOL0P.mjs → plugin-inference-DsARdQKE.mjs} +18 -33
- package/dist/prepare-CYT6tAzD.mjs +1 -0
- package/dist/{prepare-Do96654b.mjs → prepare-DEB5SeVJ.mjs} +12 -13
- package/dist/{prepare-Dq9hTIbo.mjs → prepare-PQCgsny0.mjs} +4 -4
- package/dist/{prerender-render-Ct20jftc.mjs → prerender-render-Bfsumdkv.mjs} +8 -2
- package/dist/prerender-render.d.mts +2 -0
- package/dist/prerender-render.mjs +1 -2
- package/dist/{project-cmd-DaoRrn-8.mjs → project-cmd-DVatD8Ev.mjs} +20 -20
- package/dist/{project-paths-GgcMozYz.mjs → project-paths-DMvEeSau.mjs} +9 -14
- package/dist/{project-BAm2aB6Q.mjs → project-rqDnVsJN.mjs} +8 -4
- package/dist/project-slug-6cyz8E7k.mjs +1 -0
- package/dist/{project-team-Q_lCA7Io.mjs → project-team-DJrWEAG1.mjs} +7 -7
- package/dist/{project-token-BArgK9o1.mjs → project-token-CBgLBuL6.mjs} +6 -6
- package/dist/{project-tsconfig-CVJhNMxs.mjs → project-tsconfig-bveqhlYA.mjs} +3 -5
- package/dist/project-zdB3fs9G.mjs +1 -0
- package/dist/{project-zero-trust-KO9Hu2Pq.mjs → project-zero-trust-92gLtZ25.mjs} +6 -6
- package/dist/{protocol-BPZaNqBo.d.mts → protocol-4H7V_3Os.d.mts} +1 -1
- package/dist/{protocol-CfaUwNs8.mjs → protocol-RNP0u7UY.mjs} +9 -3
- package/dist/{provision-BfaLiWbj.mjs → provision-BnSSkiED.mjs} +119 -866
- package/dist/{requests-C7Oeoh5u.mjs → requests-7W1Pygt2.mjs} +5 -5
- package/dist/resolve-project-PnhzMtY6.mjs +1 -0
- package/dist/resolve-project-WpwkCB_c.mjs +48 -0
- package/dist/{rollback-DVAtrLAl.mjs → rollback-BcASVnwP.mjs} +8 -18
- package/dist/{route-types-CbtsIeFn.mjs → route-types-BZi26DVS.mjs} +9 -91
- package/dist/routing-assets-VkrKIbxE.mjs +139 -0
- package/dist/{runner-DMBKSrRk.mjs → runner-CabsQ-iM.mjs} +22 -34
- package/dist/runner-So9mYfcm.mjs +1 -0
- package/dist/runner-mysql-BhRaONkO.mjs +146 -0
- package/dist/runner-mysql-DWwE8jKi.mjs +1 -0
- package/dist/{runner-pg-DV8p_zjA.mjs → runner-pg-BRemq_GX.mjs} +3 -3
- package/dist/runner-pg-_Xncr3H5.mjs +1 -0
- package/dist/runtime/ai.mjs +23 -25
- package/dist/runtime/auth-client-react.mjs +1 -2
- package/dist/runtime/auth-client-solid.mjs +1 -2
- package/dist/runtime/auth-client-svelte.mjs +1 -2
- package/dist/runtime/auth-client-vue.mjs +1 -2
- package/dist/runtime/auth-client.mjs +1 -2
- package/dist/runtime/auth.mjs +1 -2
- package/dist/runtime/better-auth-mysql.d.mts +2 -5
- package/dist/runtime/better-auth-mysql.mjs +9 -31
- package/dist/runtime/better-auth-pg.d.mts +2 -5
- package/dist/runtime/better-auth-pg.mjs +6 -32
- package/dist/runtime/better-auth.d.mts +2 -4
- package/dist/runtime/better-auth.mjs +9 -19
- package/dist/runtime/db.mjs +6 -2
- package/dist/runtime/durable.d.mts +18 -1
- package/dist/runtime/durable.mjs +26 -2
- package/dist/runtime/email/testing.d.mts +1 -1
- package/dist/runtime/email/testing.mjs +9 -23
- package/dist/runtime/email-protocol.d.mts +12 -0
- package/dist/runtime/email-protocol.mjs +1 -70
- package/dist/runtime/email.d.mts +1 -1
- package/dist/runtime/email.mjs +79 -221
- package/dist/runtime/env-public.d.mts +1 -1
- package/dist/runtime/env-public.mjs +12 -38
- package/dist/runtime/env.d.mts +1 -12
- package/dist/runtime/env.mjs +1 -2
- package/dist/runtime/handler.d.mts +1 -1
- package/dist/runtime/handler.mjs +1 -1
- package/dist/runtime/isr.mjs +1 -1
- package/dist/runtime/kv.mjs +1 -1
- package/dist/runtime/limits.mjs +1 -2
- package/dist/runtime/live-client.d.mts +3 -2
- package/dist/runtime/live-server.d.mts +2 -1
- package/dist/runtime/live-server.mjs +1 -16
- package/dist/runtime/live.d.mts +1 -1
- package/dist/runtime/live.mjs +1 -2
- package/dist/runtime/log.d.mts +2 -1
- package/dist/runtime/migration-handler-mysql.d.mts +2 -2
- package/dist/runtime/migration-handler-mysql.mjs +39 -8
- package/dist/runtime/migration-handler-pg.d.mts +2 -2
- package/dist/runtime/migration-handler-pg.mjs +1 -1
- package/dist/runtime/migration-handler.d.mts +2 -2
- package/dist/runtime/migration-handler.mjs +1 -470
- package/dist/runtime/queues.mjs +1 -1
- package/dist/runtime/remote/binding-handler.mjs +62 -62
- package/dist/runtime/remote/index.mjs +16 -77
- package/dist/runtime/response.mjs +1 -2
- package/dist/runtime/route-url.mjs +1 -2
- package/dist/runtime/routing.d.mts +3 -5
- package/dist/runtime/routing.mjs +82 -218
- package/dist/runtime/sandbox-container.d.mts +2 -2
- package/dist/runtime/sandbox-container.mjs +1 -2
- package/dist/runtime/sandbox.d.mts +2 -2
- package/dist/runtime/sandbox.mjs +13 -6
- package/dist/runtime/seed.d.mts +2 -1
- package/dist/runtime/sse.mjs +1 -2
- package/dist/runtime/storage.mjs +1 -1
- package/dist/runtime/validator.d.mts +1 -1
- package/dist/runtime/validator.mjs +1 -2
- package/dist/runtime/ws-server.d.mts +4 -4
- package/dist/runtime/ws-server.mjs +6 -28
- package/dist/runtime/ws.d.mts +1 -1
- package/dist/{sandbox-container-Bo0eiFKz.d.mts → sandbox-container-ChQRum-j.d.mts} +3 -1
- package/dist/{sandbox-container-C6ItmVuN.mjs → sandbox-container-a9LRUtii.mjs} +13 -2
- package/dist/{sandbox-C5LFoJMf.d.mts → sandbox-q3waMc2T.d.mts} +1 -1
- package/dist/{scan-C3uDzz6J.mjs → scan-C0BMdmEd.mjs} +84 -7
- package/dist/{secret-BvtB7IjY.mjs → secret-bg73f1Ge.mjs} +63 -81
- package/dist/{serialize-BPvnNQuA.mjs → serialize-BtQyaYoC.mjs} +10 -4
- package/dist/{skills-BgVMvQdy.mjs → skills-C_yRTg0g.mjs} +3 -3
- package/dist/{subcommand-prompt-BSlnD1fI.mjs → subcommand-prompt-Bm3ZlYgA.mjs} +39 -44
- package/dist/sveltekit.d.mts +2 -1
- package/dist/sveltekit.mjs +1 -1
- package/dist/validate-BQFdf0Pi.mjs +1 -0
- package/dist/{validate-C9qJArv7.mjs → validate-CheZGRE7.mjs} +4 -8
- package/dist/version-metadata-DIrqEHQo.mjs +73 -0
- package/dist/{wrangler-D9KTuqnv.mjs → wrangler-BYs07Rxy.mjs} +119 -378
- package/dist/wrapper-CwhpNWtH.mjs +663 -0
- package/dist/{ws-CChrrAU-.d.mts → ws-aKVYB-fA.d.mts} +1 -1
- package/dist/yarn-pnp-DLbEFMT0.mjs +92 -0
- package/docs/guide/ai.md +8 -2
- package/docs/guide/auth.md +2 -0
- package/docs/guide/database/mysql.md +14 -3
- package/docs/guide/database/postgresql.md +2 -0
- package/docs/guide/database.md +3 -5
- package/docs/guide/durable-state.md +32 -4
- package/docs/guide/platform/administration/access.md +4 -0
- package/docs/guide/platform/administration/connected-apps.md +55 -0
- package/docs/guide/platform/installation/credentials.md +21 -3
- package/docs/guide/platform/installation/domains.md +1 -1
- package/docs/guide/platform/installation/maintenance.md +38 -1
- package/docs/guide/platform/installation/prerequisites.md +6 -2
- package/docs/guide/platform/installation/setup.md +23 -1
- package/docs/guide/platform/installation/uninstall.md +6 -1
- package/docs/guide/quickstart.md +2 -0
- package/docs/guide/sandboxes.md +3 -1
- package/docs/guide/self-hosted-platform.md +1 -1
- package/docs/integrations/cloudflare.md +2 -2
- package/docs/integrations/frameworks/analog.md +3 -11
- package/docs/integrations/frameworks/nuxt.md +7 -10
- package/docs/integrations/nodejs-bun-deno.md +2 -0
- package/docs/reference/api/deploy.md +23 -0
- package/docs/reference/api/pages.md +2 -0
- package/docs/reference/api.md +3 -1
- package/docs/reference/cli/database.md +9 -3
- package/docs/reference/cli/platform-installation.md +19 -7
- package/docs/reference/cli/setup.md +2 -0
- package/docs/reference/config.md +2 -0
- package/package.json +39 -36
- package/sandbox.Dockerfile +1 -1
- package/skills/void/SKILL.md +2 -1
- package/dist/auth-LMJcNESe.mjs +0 -2
- package/dist/cf-build-output-H9a97vME.mjs +0 -2
- package/dist/cf-user-agent-lKblH3zU.mjs +0 -17
- package/dist/client-tso2OfcG.mjs +0 -2
- package/dist/cloudflare-operations-BlYLlowZ.mjs +0 -2
- package/dist/collect-DLyFDiKW.mjs +0 -2
- package/dist/config-5r-YpMC-.mjs +0 -2
- package/dist/config-B_ggY-IO.mjs +0 -89
- package/dist/config-BtSFvXZx.mjs +0 -2
- package/dist/config-write-AHGesphx.mjs +0 -61
- package/dist/create-project-qFDC45zg.mjs +0 -2
- package/dist/deploy-Bqe1PYBw.mjs +0 -10458
- package/dist/deploy-VsWsVQkw.mjs +0 -2
- package/dist/dev-inbox-CK-UuPob.mjs +0 -297
- package/dist/discover-EDUf6JJw.mjs +0 -2
- package/dist/dist-Bx1z6Eva.mjs +0 -2
- package/dist/dist-_UUlL6bg.mjs +0 -2
- package/dist/env-validation-CrVNjsPm.mjs +0 -2
- package/dist/env-validation-Dxdx_5wo.mjs +0 -951
- package/dist/gen-dA9hW7AV.mjs +0 -2
- package/dist/head-client-DzmJGN4C.mjs +0 -90
- package/dist/help-DfQYVfGY.mjs +0 -2
- package/dist/login-mx_ydhmp.mjs +0 -2
- package/dist/migrate-BHp07yJE.mjs +0 -2
- package/dist/operator-cmd-CwBB-1yb.mjs +0 -2
- package/dist/pages/head-client.d.mts +0 -13
- package/dist/pages/head-client.mjs +0 -2
- package/dist/plan-CH2G51je.mjs +0 -2
- package/dist/platform-args-D4E1PjVw.mjs +0 -2
- package/dist/platform-cmd-BbmJiq5O.mjs +0 -2
- package/dist/platform-lifecycle-ByAlpkhV.mjs +0 -2
- package/dist/platform-management-CBOT4BSM.mjs +0 -2
- package/dist/prepare-DRUV-g3X.mjs +0 -2
- package/dist/project-DedqCp59.mjs +0 -2
- package/dist/project-slug-DofjTFd-.mjs +0 -2
- package/dist/provision-Wu9ZBk9L.mjs +0 -2
- package/dist/resolve-project-BIeYs9Cw.mjs +0 -2
- package/dist/resolve-project-CP8rZs_p.mjs +0 -28
- package/dist/runner-9wjsSZx-.mjs +0 -2
- package/dist/runner-mysql-CEzKtmFb.mjs +0 -54
- package/dist/runner-mysql-CkFqZ6CE.mjs +0 -2
- package/dist/runner-pg-BGYRFdRp.mjs +0 -2
- package/dist/runtime/env-helpers.d.mts +0 -2
- package/dist/runtime/env-helpers.mjs +0 -2
- package/dist/validate-BJr9LfXy.mjs +0 -2
- package/dist/yarn-pnp-CUX_iTPA.mjs +0 -188
|
@@ -1,9 +1,19 @@
|
|
|
1
1
|
import { n as __toESM } from "./rolldown-runtime-DXIUcv95.mjs";
|
|
2
2
|
import { t as require_picocolors } from "./picocolors-BTps1_gs.mjs";
|
|
3
|
-
import { B as note$1, H as outro, L as log, P as isCI, nt as settings, q as spinner } from "./dist-
|
|
3
|
+
import { B as note$1, H as outro, L as log, P as isCI, nt as settings, q as spinner } from "./dist-BVdsO7Py.mjs";
|
|
4
4
|
import { stripVTControlCharacters } from "node:util";
|
|
5
|
+
import terminalLink from "terminal-link";
|
|
5
6
|
//#region src/cli/output.ts
|
|
6
7
|
var import_picocolors = /* @__PURE__ */ __toESM(require_picocolors(), 1);
|
|
8
|
+
/** Keep the destination visible when the terminal cannot render a named hyperlink. */
|
|
9
|
+
function formatLink(text, url) {
|
|
10
|
+
return terminalLink(text, sanitizeTerminalText(url), { fallback: (label, href) => label === href ? label : `${label}: ${href}` });
|
|
11
|
+
}
|
|
12
|
+
/** Link a displayed URL without duplicating it in unsupported terminals or redirected output. */
|
|
13
|
+
function formatUrl(url) {
|
|
14
|
+
const text = sanitizeTerminalText(url);
|
|
15
|
+
return formatLink(text, text);
|
|
16
|
+
}
|
|
7
17
|
/** Complete an action with the same spacing, checkmark, and color on every target. */
|
|
8
18
|
function printSuccess(message) {
|
|
9
19
|
outro(`\n${import_picocolors.default.green(`✓ ${stripVTControlCharacters(message)}`)}`, { withGuide: false });
|
|
@@ -68,17 +78,26 @@ const MIN_NOTE_COLUMNS = 6;
|
|
|
68
78
|
*/
|
|
69
79
|
function note(...args) {
|
|
70
80
|
const [message, title, opts] = args;
|
|
81
|
+
const plainTitle = title && sanitizeTerminalText(stripVTControlCharacters(title));
|
|
82
|
+
const urlTitle = plainTitle && /^https?:\/\/\S+$/.test(plainTitle) ? plainTitle : void 0;
|
|
83
|
+
const boxedTitle = urlTitle ? ` ${urlTitle} ` : title;
|
|
71
84
|
const output = opts?.output ?? process.stdout;
|
|
72
85
|
const columns = output.columns;
|
|
73
|
-
|
|
86
|
+
const needsWidthFallback = typeof columns === "number" && columns < MIN_NOTE_COLUMNS;
|
|
87
|
+
if (!urlTitle && !needsWidthFallback) {
|
|
74
88
|
note$1(...args);
|
|
75
89
|
return;
|
|
76
90
|
}
|
|
91
|
+
let header = true;
|
|
77
92
|
const sized = {
|
|
78
|
-
columns: columns > 0 ? MIN_NOTE_COLUMNS : 80,
|
|
79
|
-
write
|
|
93
|
+
columns: needsWidthFallback ? columns > 0 ? MIN_NOTE_COLUMNS : 80 : columns,
|
|
94
|
+
write(chunk) {
|
|
95
|
+
if (header && urlTitle) chunk = chunk.replace(` ${urlTitle} `, ` ${formatUrl(urlTitle)} `);
|
|
96
|
+
header = false;
|
|
97
|
+
return output.write(chunk);
|
|
98
|
+
}
|
|
80
99
|
};
|
|
81
|
-
note$1(message,
|
|
100
|
+
note$1(message, boxedTitle, {
|
|
82
101
|
...opts,
|
|
83
102
|
output: sized
|
|
84
103
|
});
|
|
@@ -114,6 +133,18 @@ function ensureUtc(s) {
|
|
|
114
133
|
if (s.lastIndexOf("-") > 9) return s;
|
|
115
134
|
return s + "Z";
|
|
116
135
|
}
|
|
136
|
+
function formatRelativeTime(iso) {
|
|
137
|
+
const diffMs = Date.now() - new Date(ensureUtc(iso)).getTime();
|
|
138
|
+
if (diffMs < 6e4) return "just now";
|
|
139
|
+
const minutes = Math.floor(diffMs / 6e4);
|
|
140
|
+
if (minutes < 60) return `${minutes}m ago`;
|
|
141
|
+
const hours = Math.floor(minutes / 60);
|
|
142
|
+
if (hours < 24) return `${hours}h ago`;
|
|
143
|
+
return `${Math.floor(hours / 24)}d ago`;
|
|
144
|
+
}
|
|
145
|
+
function getErrorMessage(error) {
|
|
146
|
+
return error instanceof Error ? error.message : String(error);
|
|
147
|
+
}
|
|
117
148
|
/**
|
|
118
149
|
* Stack frames of an error a Worker reported, one line per frame. The log or
|
|
119
150
|
* exception line already shows `Name: message`, so a leading copy of that
|
|
@@ -128,4 +159,4 @@ function errorStackFrames(error) {
|
|
|
128
159
|
return frames.trimEnd() ? frames.trimEnd().split("\n") : [];
|
|
129
160
|
}
|
|
130
161
|
//#endregion
|
|
131
|
-
export {
|
|
162
|
+
export { tablePrefix as _, errorStackFrames as a, formatRelativeTime as c, helpLine as d, import_picocolors as f, sectionTitle as g, sanitizeTerminalText as h, dim as i, formatUrl as l, printSuccess as m, cliCommandName as n, formatCount as o, note as p, createSpinner as r, formatLink as s, categoryTitle as t, getErrorMessage as u };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as join, n as dirname } from "./dist-
|
|
1
|
+
import { a as join, n as dirname } from "./dist-ipQi0Q8y.mjs";
|
|
2
2
|
import { existsSync, readFileSync } from "node:fs";
|
|
3
3
|
//#region src/shared/package-json.ts
|
|
4
4
|
const DEFAULT_DEPENDENCY_FIELDS = ["dependencies", "devDependencies"];
|
package/dist/pages/client.d.mts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as interpolateRouteParams } from "../route-url-BgPja1GS.mjs";
|
|
2
|
-
import { t as PageObject } from "../protocol-
|
|
2
|
+
import { t as PageObject } from "../protocol-4H7V_3Os.mjs";
|
|
3
3
|
import { n as CacheForInput, r as CacheForResult } from "../prefetch-Ce6la4EI.mjs";
|
|
4
4
|
import { UsageLimitData } from "@void/edge";
|
|
5
5
|
import { ActionUrl, ResolveActionBody, ResolveActionParams } from "void/routes";
|
package/dist/pages/client.mjs
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { t as interpolateRouteParams } from "../route-url-BjGv_KKY.mjs";
|
|
2
|
-
import { n as initClientHead, t as applyClientHead } from "../head-client-DzmJGN4C.mjs";
|
|
3
2
|
import { n as parseCacheFor, t as PrefetchCache } from "../prefetch-Bsc_Pb6c.mjs";
|
|
4
3
|
import { readUsageLimit } from "@void/edge";
|
|
5
4
|
//#region src/pages/action-result.ts
|
|
@@ -60,6 +59,95 @@ async function createActionErrorFromResponse(response, url) {
|
|
|
60
59
|
});
|
|
61
60
|
}
|
|
62
61
|
//#endregion
|
|
62
|
+
//#region src/pages/head-client.ts
|
|
63
|
+
const ATTR = "data-void-head";
|
|
64
|
+
function elementDescriptorSignature(descriptor) {
|
|
65
|
+
const attrs = Object.entries(descriptor.attrs).sort(([a], [b]) => a.localeCompare(b));
|
|
66
|
+
return `${encodeURIComponent(descriptor.tag)}:${attrs.map(([key, value]) => `${encodeURIComponent(key)}=${encodeURIComponent(value)}`).join("&")}`;
|
|
67
|
+
}
|
|
68
|
+
function elementSignature(el) {
|
|
69
|
+
const attrs = {};
|
|
70
|
+
for (const attr of Array.from(el.attributes)) if (attr.name !== ATTR) attrs[attr.name] = attr.value;
|
|
71
|
+
return elementDescriptorSignature({
|
|
72
|
+
tag: el.tagName.toLowerCase(),
|
|
73
|
+
attrs
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
function createHeadElement(descriptor) {
|
|
77
|
+
const el = document.createElement(descriptor.tag);
|
|
78
|
+
for (const [key, value] of Object.entries(descriptor.attrs)) el.setAttribute(key, value);
|
|
79
|
+
el.setAttribute(ATTR, "");
|
|
80
|
+
return el;
|
|
81
|
+
}
|
|
82
|
+
function collectDesiredHeadElements(head) {
|
|
83
|
+
const desired = [];
|
|
84
|
+
if (head.meta) for (const entry of head.meta) {
|
|
85
|
+
const attrs = {};
|
|
86
|
+
if (entry.charset) attrs.charset = entry.charset;
|
|
87
|
+
if (entry.name) attrs.name = entry.name;
|
|
88
|
+
if (entry.property) attrs.property = entry.property;
|
|
89
|
+
if (entry.content !== void 0) attrs.content = entry.content;
|
|
90
|
+
desired.push({
|
|
91
|
+
tag: "meta",
|
|
92
|
+
attrs
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
if (head.link) for (const entry of head.link) {
|
|
96
|
+
const attrs = {};
|
|
97
|
+
for (const [key, value] of Object.entries(entry)) if (value != null) attrs[key] = value;
|
|
98
|
+
desired.push({
|
|
99
|
+
tag: "link",
|
|
100
|
+
attrs
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
return desired;
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Mark SSR-rendered head tags so they are cleaned up on the first SPA navigation.
|
|
107
|
+
* Call once after hydration with the initial page's head descriptor.
|
|
108
|
+
*/
|
|
109
|
+
function initClientHead(head) {
|
|
110
|
+
if (!head) return;
|
|
111
|
+
if (head.meta) for (const entry of head.meta) {
|
|
112
|
+
const selector = entry.charset ? "meta[charset]" : entry.property ? `meta[property="${entry.property}"]` : entry.name ? `meta[name="${entry.name}"]` : null;
|
|
113
|
+
if (!selector) continue;
|
|
114
|
+
const el = document.head.querySelector(selector);
|
|
115
|
+
if (el) el.setAttribute(ATTR, "");
|
|
116
|
+
}
|
|
117
|
+
if (head.link) for (const entry of head.link) {
|
|
118
|
+
const el = document.head.querySelector(`link[rel="${entry.rel}"][href="${entry.href}"]`);
|
|
119
|
+
if (el) el.setAttribute(ATTR, "");
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Apply head changes on SPA navigation.
|
|
124
|
+
* Preserves existing managed tags when their final attributes are unchanged.
|
|
125
|
+
*/
|
|
126
|
+
function applyClientHead(head) {
|
|
127
|
+
const existing = /* @__PURE__ */ new Map();
|
|
128
|
+
for (const el of document.head.querySelectorAll(`[${ATTR}]`)) {
|
|
129
|
+
const signature = elementSignature(el);
|
|
130
|
+
const elements = existing.get(signature);
|
|
131
|
+
if (elements) elements.push(el);
|
|
132
|
+
else existing.set(signature, [el]);
|
|
133
|
+
}
|
|
134
|
+
const desiredElements = [];
|
|
135
|
+
for (const descriptor of head ? collectDesiredHeadElements(head) : []) {
|
|
136
|
+
const signature = elementDescriptorSignature(descriptor);
|
|
137
|
+
const elements = existing.get(signature);
|
|
138
|
+
const preserved = elements?.shift();
|
|
139
|
+
if (elements && elements.length === 0) existing.delete(signature);
|
|
140
|
+
desiredElements.push(preserved ?? createHeadElement(descriptor));
|
|
141
|
+
}
|
|
142
|
+
for (const elements of existing.values()) for (const el of elements) el.remove();
|
|
143
|
+
let cursor = document.head.querySelector(`[${ATTR}]`);
|
|
144
|
+
for (const el of desiredElements) {
|
|
145
|
+
if (el !== cursor) document.head.insertBefore(el, cursor);
|
|
146
|
+
cursor = el.nextSibling;
|
|
147
|
+
}
|
|
148
|
+
if (head?.title !== void 0) document.title = head.title;
|
|
149
|
+
}
|
|
150
|
+
//#endregion
|
|
63
151
|
//#region src/pages/scroll-restoration.ts
|
|
64
152
|
const STORAGE_PREFIX = "void:scroll:";
|
|
65
153
|
function readKey(state) {
|
|
@@ -573,7 +661,6 @@ async function createPageNavigationEngine(config) {
|
|
|
573
661
|
buffer += decoder.decode(value, { stream: true });
|
|
574
662
|
processLines();
|
|
575
663
|
}
|
|
576
|
-
if (buffer.trim()) processLines();
|
|
577
664
|
} catch (e) {
|
|
578
665
|
if (!(e instanceof Error) || e.name !== "AbortError") deferredRegistry.rejectPending("Stream closed before resolution");
|
|
579
666
|
}
|
|
@@ -1047,7 +1134,7 @@ async function createVoidRouter(config) {
|
|
|
1047
1134
|
}
|
|
1048
1135
|
}
|
|
1049
1136
|
}
|
|
1050
|
-
const
|
|
1137
|
+
const router = {
|
|
1051
1138
|
_hoverDelay: engine._hoverDelay,
|
|
1052
1139
|
get url() {
|
|
1053
1140
|
return toUrl(routeUrl);
|
|
@@ -1065,7 +1152,7 @@ async function createVoidRouter(config) {
|
|
|
1065
1152
|
return applyNavigationResource(engine.prepareVisit(normalizeUrl(url), options));
|
|
1066
1153
|
},
|
|
1067
1154
|
refresh(options = {}) {
|
|
1068
|
-
return
|
|
1155
|
+
return router.visit(window.location.pathname + window.location.search, {
|
|
1069
1156
|
preserveState: true,
|
|
1070
1157
|
preserveScroll: true,
|
|
1071
1158
|
...options
|
|
@@ -1081,7 +1168,6 @@ async function createVoidRouter(config) {
|
|
|
1081
1168
|
engine.flushAll();
|
|
1082
1169
|
}
|
|
1083
1170
|
};
|
|
1084
|
-
const router = createRouterFacade(rawRouter, () => routeUrl, () => routeParams);
|
|
1085
1171
|
engine.setPopStateHandler((url, options) => {
|
|
1086
1172
|
router.visit(url, options);
|
|
1087
1173
|
});
|
package/dist/pages/head.mjs
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export { renderBodyAttrs, renderHeadToString, renderHtmlAttrs, resolveHead };
|
|
1
|
+
export { t as renderBodyAttrs, n as renderHeadToString, r as renderHtmlAttrs, i as resolveHead } from "../head-D2VF4ApL.mjs";
|
package/dist/pages/index.d.mts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { a as renderHtmlAttrs, i as renderHeadToString, n as HeadDescriptor, o as resolveHead, r as renderBodyAttrs, t as HeadConfig } from "../head-C8K_iGe6.mjs";
|
|
2
|
-
import "../config-
|
|
2
|
+
import "../config-7qoq2p9v.mjs";
|
|
3
3
|
import { i as PageDefinition, n as LayoutDefinition, o as PageScanResult, r as NamedLayoutDefinition } from "../types-BAp5AEBU.mjs";
|
|
4
4
|
import { t as serializePageData } from "../serialize-CfSwWfF2.mjs";
|
|
5
5
|
//#region src/project-paths.d.ts
|
|
@@ -17,7 +17,6 @@ type ProjectPaths = {
|
|
|
17
17
|
migrationsDir: string;
|
|
18
18
|
schemaFile: string;
|
|
19
19
|
schemaDir: string;
|
|
20
|
-
srcDir: string;
|
|
21
20
|
ssrDir: string;
|
|
22
21
|
sourceRelative: (path: string) => string;
|
|
23
22
|
authConfigCandidates: ReadonlyArray<string>;
|
package/dist/pages/index.mjs
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { a as join } from "../dist-
|
|
2
|
-
import { r as resolvePagesDir } from "../project-paths-
|
|
3
|
-
import {
|
|
4
|
-
import { a as resolveNamedLayout, i as resolveLayoutIds, n as resolveEffectiveLayoutChain, o as toLayoutId, r as resolveLayoutChain, t as scanPages } from "../scan-
|
|
5
|
-
import {
|
|
1
|
+
import { a as join } from "../dist-ipQi0Q8y.mjs";
|
|
2
|
+
import { r as resolvePagesDir } from "../project-paths-DMvEeSau.mjs";
|
|
3
|
+
import { d as readConfig } from "../config-Bx_1SpnO.mjs";
|
|
4
|
+
import { a as resolveNamedLayout, i as resolveLayoutIds, n as resolveEffectiveLayoutChain, o as toLayoutId, r as resolveLayoutChain, t as scanPages } from "../scan-C0BMdmEd.mjs";
|
|
5
|
+
import { r as parseRedirectsFile } from "../headers-Di1FsD3e.mjs";
|
|
6
6
|
import { i as resolveHead, n as renderHeadToString, r as renderHtmlAttrs, t as renderBodyAttrs } from "../head-D2VF4ApL.mjs";
|
|
7
|
-
import { t as serializePageData } from "../serialize-
|
|
7
|
+
import { t as serializePageData } from "../serialize-BtQyaYoC.mjs";
|
|
8
8
|
//#region src/pages/manifest.ts
|
|
9
9
|
/**
|
|
10
10
|
* Generates the component import map and layout tree as code strings.
|
|
@@ -1,86 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { n as
|
|
3
|
-
import { n as resolveEffectiveLayoutChain, t as scanPages } from "../scan-C3uDzz6J.mjs";
|
|
4
|
-
import { t as MagicString } from "../dist-Cegxq8gs.mjs";
|
|
1
|
+
import { c as resolve, n as dirname } from "../dist-ipQi0Q8y.mjs";
|
|
2
|
+
import { c as findIslandImports, l as findStaticCssImports, n as resolveEffectiveLayoutChain, s as editIslandSource, t as scanPages } from "../scan-C0BMdmEd.mjs";
|
|
5
3
|
import { existsSync, readFileSync, readdirSync } from "node:fs";
|
|
6
|
-
import { normalizePath
|
|
7
|
-
//#region src/pages/island-imports.ts
|
|
8
|
-
/** The whole JS/TS module, or each `<script>` block of a Vue/Svelte SFC with its offset in the file. */
|
|
9
|
-
function scriptBlocks(code, filename) {
|
|
10
|
-
if (!/\.(?:vue|svelte)$/.test(filename)) return [{
|
|
11
|
-
source: code,
|
|
12
|
-
offset: 0,
|
|
13
|
-
filename
|
|
14
|
-
}];
|
|
15
|
-
const scriptFilename = filename.replace(/\.(?:vue|svelte)$/, ".ts");
|
|
16
|
-
return [...code.matchAll(/<script\b[^>]*>([\s\S]*?)<\/script\s*>/gi)].map((match) => {
|
|
17
|
-
const source = match[1];
|
|
18
|
-
return {
|
|
19
|
-
source,
|
|
20
|
-
offset: match.index + match[0].indexOf(source),
|
|
21
|
-
filename: scriptFilename
|
|
22
|
-
};
|
|
23
|
-
});
|
|
24
|
-
}
|
|
25
|
-
/** Collect stylesheet imports from authored modules without treating dynamic imports or text as dependencies. */
|
|
26
|
-
function findStaticCssImports(code, filename) {
|
|
27
|
-
if (!code.includes("import")) return [];
|
|
28
|
-
const imports = [];
|
|
29
|
-
for (const script of scriptBlocks(code, filename)) {
|
|
30
|
-
if (!script.source.includes("import")) continue;
|
|
31
|
-
const program = parseSync(script.filename, script.source).program;
|
|
32
|
-
for (const node of program.body ?? []) {
|
|
33
|
-
const source = node.source;
|
|
34
|
-
if (node.type !== "ImportDeclaration" || !isLiteral(source) || typeof source.value !== "string" || !/\.(?:css|scss|sass|less|styl|stylus|pcss|postcss)$/.test(source.value) || node.start === void 0 || node.end === void 0) continue;
|
|
35
|
-
imports.push({
|
|
36
|
-
statement: script.source.slice(node.start, node.end),
|
|
37
|
-
specifier: source.value
|
|
38
|
-
});
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
return imports;
|
|
42
|
-
}
|
|
43
|
-
function editIslandSource(code, edits, options) {
|
|
44
|
-
const ms = new MagicString(code);
|
|
45
|
-
for (const edit of edits) ms.overwrite(edit.start, edit.end, edit.text);
|
|
46
|
-
for (const insertion of options?.insert ?? []) ms.appendLeft(insertion.offset, insertion.text);
|
|
47
|
-
if (options?.prepend) ms.prepend(options.prepend);
|
|
48
|
-
if (options?.append) ms.append(options.append);
|
|
49
|
-
return {
|
|
50
|
-
code: ms.toString(),
|
|
51
|
-
map: ms.generateMap({ hires: true })
|
|
52
|
-
};
|
|
53
|
-
}
|
|
54
|
-
/** Read island import attributes from JS/TS, or script blocks inside an SFC. */
|
|
55
|
-
function findIslandImports(code, filename) {
|
|
56
|
-
if (!code.includes("import") || !code.includes("island")) return [];
|
|
57
|
-
const imports = [];
|
|
58
|
-
for (const script of scriptBlocks(code, filename)) {
|
|
59
|
-
if (!script.source.includes("island")) continue;
|
|
60
|
-
const program = parseSync(script.filename, script.source).program;
|
|
61
|
-
for (const node of program.body ?? []) {
|
|
62
|
-
if (node.type !== "ImportDeclaration") continue;
|
|
63
|
-
const specifiers = node.specifiers;
|
|
64
|
-
const attributes = node.attributes;
|
|
65
|
-
const first = specifiers?.[0];
|
|
66
|
-
const attribute = attributes?.[0];
|
|
67
|
-
const key = attribute?.key;
|
|
68
|
-
const value = attribute?.value;
|
|
69
|
-
const source = node.source;
|
|
70
|
-
if (specifiers?.length !== 1 || first?.type !== "ImportDefaultSpecifier" || !isIdentifier(first.local) || attributes?.length !== 1 || !isIdentifier(key) || key.name !== "island" || !isLiteral(value) || typeof value.value !== "string" || !isLiteral(source) || typeof source.value !== "string" || source.start === void 0 || source.end === void 0 || node.start === void 0 || node.end === void 0) continue;
|
|
71
|
-
imports.push({
|
|
72
|
-
start: script.offset + node.start,
|
|
73
|
-
end: script.offset + node.end,
|
|
74
|
-
importName: first.local.name,
|
|
75
|
-
specifierRaw: script.source.slice(source.start, source.end),
|
|
76
|
-
specifier: source.value,
|
|
77
|
-
hydrate: value.value
|
|
78
|
-
});
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
return imports;
|
|
82
|
-
}
|
|
83
|
-
//#endregion
|
|
4
|
+
import { normalizePath } from "vite";
|
|
84
5
|
//#region src/pages/islands-plugin.ts
|
|
85
6
|
const ISLANDS_RENDERER_ID = "virtual:void-islands-renderer";
|
|
86
7
|
const ISLANDS_CLIENT_ENTRY_ID = "virtual:void-islands-client";
|
|
@@ -138,7 +59,8 @@ function rewriteCssImportForVirtualModule(matchedLine, specifier, sourceFilePath
|
|
|
138
59
|
}
|
|
139
60
|
/** Extract CSS import statements from a file and return them as @import rules. */
|
|
140
61
|
function extractCssImports(filePath) {
|
|
141
|
-
|
|
62
|
+
const code = readFileSync(filePath, "utf-8");
|
|
63
|
+
return findStaticCssImports(code, filePath).map(({ specifier }) => `@import ${JSON.stringify(specifier)};`).join("\n");
|
|
142
64
|
}
|
|
143
65
|
/** Compute which island pages need client-side JavaScript. */
|
|
144
66
|
function computePagesNeedingClientJS(pageScan, pagesDir, resolvedConfig) {
|
package/dist/pages/prefetch.mjs
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export { PrefetchCache, parseCacheFor };
|
|
1
|
+
export { t as PrefetchCache, n as parseCacheFor } from "../prefetch-Bsc_Pb6c.mjs";
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { w as ValidationError } from "../handler-
|
|
2
|
-
import { a as handlePageMutation, i as handlePageGet, n as PageRenderResult, o as safeJsonStringify, r as flattenValidationErrors, t as PageObject } from "../protocol-
|
|
1
|
+
import { w as ValidationError } from "../handler-_PqY82xe.mjs";
|
|
2
|
+
import { a as handlePageMutation, i as handlePageGet, n as PageRenderResult, o as safeJsonStringify, r as flattenValidationErrors, t as PageObject } from "../protocol-4H7V_3Os.mjs";
|
|
3
3
|
export { PageObject, PageRenderResult, ValidationError, flattenValidationErrors, handlePageGet, handlePageMutation, safeJsonStringify };
|
package/dist/pages/protocol.mjs
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { t as ValidationError } from "../validation-error-Dg9Recn1.mjs";
|
|
2
|
-
import { i as safeJsonStringify, n as handlePageGet, r as handlePageMutation, t as flattenValidationErrors } from "../protocol-
|
|
2
|
+
import { i as safeJsonStringify, n as handlePageGet, r as handlePageMutation, t as flattenValidationErrors } from "../protocol-RNP0u7UY.mjs";
|
|
3
3
|
export { ValidationError, flattenValidationErrors, handlePageGet, handlePageMutation, safeJsonStringify };
|
package/dist/pages/serialize.mjs
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export { serializePageData };
|
|
1
|
+
export { t as serializePageData } from "../serialize-BtQyaYoC.mjs";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { n as buildMigrationPlanBundle } from "./plan-BhLO2p4w.mjs";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { t as parsePlatformArgs } from "./platform-args-CaCL_1Ch.mjs";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { n as operatorGroups, r as parseOperatorArgs } from "./operator-args-
|
|
1
|
+
import { n as operatorGroups, r as parseOperatorArgs } from "./operator-args-UnE8Y2eK.mjs";
|
|
2
2
|
import { PLATFORM_LOGIN_KINDS, normalizePlatformDashboardUrl, parsePlatformLoginId } from "@void/platform";
|
|
3
3
|
import { parsePlatformPlanId } from "@void/platform/plans";
|
|
4
4
|
//#region src/cli/platform-config-args.ts
|
|
@@ -18,38 +18,14 @@ const PLATFORM_AUTH_ACTIONS = [
|
|
|
18
18
|
];
|
|
19
19
|
function parsePlatformConfigArgs(args) {
|
|
20
20
|
if (args.length && args[0] !== "auth") throw new Error("platform: Usage: void platform config auth [command] [options].");
|
|
21
|
-
const positional = [
|
|
22
|
-
const flags = /* @__PURE__ */ new Set();
|
|
23
|
-
const values = /* @__PURE__ */ new Map();
|
|
24
|
-
const valueFlags = [
|
|
21
|
+
const { positional, flags, values } = parseConfigFlags(args, "auth", [
|
|
25
22
|
"connection",
|
|
26
23
|
"installation",
|
|
27
24
|
"id",
|
|
28
25
|
"file",
|
|
29
26
|
"client-secret-env",
|
|
30
27
|
"test-id"
|
|
31
|
-
];
|
|
32
|
-
for (let index = 1; index < args.length; index++) {
|
|
33
|
-
const arg = args[index];
|
|
34
|
-
if (!arg.startsWith("-")) {
|
|
35
|
-
positional.push(arg);
|
|
36
|
-
continue;
|
|
37
|
-
}
|
|
38
|
-
const name = arg.slice(2);
|
|
39
|
-
if (!arg.startsWith("--") || ![
|
|
40
|
-
"json",
|
|
41
|
-
"plan",
|
|
42
|
-
"yes"
|
|
43
|
-
].includes(name) && !valueFlags.includes(name)) throw new Error(`platform: Unknown config auth flag ${arg}.`);
|
|
44
|
-
if (flags.has(name) || values.has(name)) throw new Error(`platform: Duplicate flag ${arg}.`);
|
|
45
|
-
if (!valueFlags.includes(name)) {
|
|
46
|
-
flags.add(name);
|
|
47
|
-
continue;
|
|
48
|
-
}
|
|
49
|
-
const value = args[++index];
|
|
50
|
-
if (!value || value.startsWith("-")) throw new Error(`platform: ${arg} requires a value.`);
|
|
51
|
-
values.set(name, value);
|
|
52
|
-
}
|
|
28
|
+
]);
|
|
53
29
|
const [action = "", target = "", ...extra] = positional;
|
|
54
30
|
if (extra.length || action && !PLATFORM_AUTH_ACTIONS.includes(action)) throw new Error(`platform: Usage: void platform config auth <${PLATFORM_AUTH_ACTIONS.join("|")}>.`);
|
|
55
31
|
const needsTarget = action && action !== "list" && action !== "initialize" && action !== "admission";
|
|
@@ -97,30 +73,11 @@ function parsePlatformConfigArgs(args) {
|
|
|
97
73
|
yes: flags.has("yes")
|
|
98
74
|
};
|
|
99
75
|
}
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
const PLATFORM_PLAN_ACTIONS = [
|
|
103
|
-
"show",
|
|
104
|
-
"add",
|
|
105
|
-
"set",
|
|
106
|
-
"reset",
|
|
107
|
-
"archive",
|
|
108
|
-
"restore",
|
|
109
|
-
"remove",
|
|
110
|
-
"default",
|
|
111
|
-
"sync"
|
|
112
|
-
];
|
|
113
|
-
function parsePlatformPlansArgs(args) {
|
|
76
|
+
/** Parses `config <group>` flags: --json, --plan, --yes, and the given value flags. */
|
|
77
|
+
function parseConfigFlags(args, group, valueFlags) {
|
|
114
78
|
const positional = [];
|
|
115
79
|
const flags = /* @__PURE__ */ new Set();
|
|
116
80
|
const values = /* @__PURE__ */ new Map();
|
|
117
|
-
const valueFlags = [
|
|
118
|
-
"connection",
|
|
119
|
-
"file",
|
|
120
|
-
"name",
|
|
121
|
-
"copy",
|
|
122
|
-
"replacement"
|
|
123
|
-
];
|
|
124
81
|
for (let index = 1; index < args.length; index++) {
|
|
125
82
|
const arg = args[index];
|
|
126
83
|
if (!arg.startsWith("-")) {
|
|
@@ -132,7 +89,7 @@ function parsePlatformPlansArgs(args) {
|
|
|
132
89
|
"json",
|
|
133
90
|
"plan",
|
|
134
91
|
"yes"
|
|
135
|
-
].includes(name) && !valueFlags.includes(name)) throw new Error(`platform: Unknown config
|
|
92
|
+
].includes(name) && !valueFlags.includes(name)) throw new Error(`platform: Unknown config ${group} flag ${arg}.`);
|
|
136
93
|
if (flags.has(name) || values.has(name)) throw new Error(`platform: Duplicate flag ${arg}.`);
|
|
137
94
|
if (!valueFlags.includes(name)) {
|
|
138
95
|
flags.add(name);
|
|
@@ -142,6 +99,33 @@ function parsePlatformPlansArgs(args) {
|
|
|
142
99
|
if (!value || value.startsWith("-")) throw new Error(`platform: ${arg} requires a value.`);
|
|
143
100
|
values.set(name, value);
|
|
144
101
|
}
|
|
102
|
+
return {
|
|
103
|
+
positional,
|
|
104
|
+
flags,
|
|
105
|
+
values
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
//#endregion
|
|
109
|
+
//#region src/cli/platform-plans-args.ts
|
|
110
|
+
const PLATFORM_PLAN_ACTIONS = [
|
|
111
|
+
"show",
|
|
112
|
+
"add",
|
|
113
|
+
"set",
|
|
114
|
+
"reset",
|
|
115
|
+
"archive",
|
|
116
|
+
"restore",
|
|
117
|
+
"remove",
|
|
118
|
+
"default",
|
|
119
|
+
"sync"
|
|
120
|
+
];
|
|
121
|
+
function parsePlatformPlansArgs(args) {
|
|
122
|
+
const { positional, flags, values } = parseConfigFlags(args, "plans", [
|
|
123
|
+
"connection",
|
|
124
|
+
"file",
|
|
125
|
+
"name",
|
|
126
|
+
"copy",
|
|
127
|
+
"replacement"
|
|
128
|
+
]);
|
|
145
129
|
const [action = "", target = "", ...extra] = positional;
|
|
146
130
|
if (extra.length || action && !PLATFORM_PLAN_ACTIONS.includes(action)) throw new Error(`platform: Usage: void platform config plans [${PLATFORM_PLAN_ACTIONS.join("|")}] [plan-id] [options].`);
|
|
147
131
|
const needsTarget = action && action !== "show" && action !== "sync";
|
|
@@ -228,7 +212,7 @@ const platformSubcommands = [
|
|
|
228
212
|
{
|
|
229
213
|
name: "repair",
|
|
230
214
|
arg: "[id]",
|
|
231
|
-
description: "Reconcile a platform
|
|
215
|
+
description: "Reconcile a platform, its dashboard origin, or unfinished login setup"
|
|
232
216
|
},
|
|
233
217
|
{
|
|
234
218
|
name: "disable",
|
|
@@ -271,6 +255,7 @@ function parseLifecycleSelector(rest, subcommand) {
|
|
|
271
255
|
const positional = [];
|
|
272
256
|
let runtime = "";
|
|
273
257
|
let fromRuntime = "";
|
|
258
|
+
let authConfig;
|
|
274
259
|
let dashboardUrl;
|
|
275
260
|
for (let index = 0; index < rest.length; index++) {
|
|
276
261
|
const arg = rest[index];
|
|
@@ -283,6 +268,10 @@ function parseLifecycleSelector(rest, subcommand) {
|
|
|
283
268
|
const [value, next] = readValue(rest, index, arg);
|
|
284
269
|
dashboardUrl = normalizePlatformDashboardUrl(value);
|
|
285
270
|
index = next;
|
|
271
|
+
} else if (arg === "--auth-config" && subcommand === "repair") {
|
|
272
|
+
const [value, next] = readValue(rest, index, arg);
|
|
273
|
+
authConfig = value;
|
|
274
|
+
index = next;
|
|
286
275
|
} else if (arg === "--from-runtime" && subcommand === "rollback") {
|
|
287
276
|
const [value, next] = readValue(rest, index, arg);
|
|
288
277
|
fromRuntime = value;
|
|
@@ -295,6 +284,7 @@ function parseLifecycleSelector(rest, subcommand) {
|
|
|
295
284
|
...parsed,
|
|
296
285
|
runtime,
|
|
297
286
|
fromRuntime,
|
|
287
|
+
...authConfig !== void 0 ? { authConfig } : {},
|
|
298
288
|
...dashboardUrl !== void 0 ? { dashboardUrl } : {}
|
|
299
289
|
};
|
|
300
290
|
}
|
|
@@ -362,21 +352,13 @@ function parsePlatformArgs(args) {
|
|
|
362
352
|
if (rest.length > 0) throw new Error(`platform: Unexpected argument '${rest[0]}'.`);
|
|
363
353
|
return { subcommand };
|
|
364
354
|
}
|
|
365
|
-
if (subcommand === "use") {
|
|
355
|
+
if (subcommand === "use" || subcommand === "status") {
|
|
366
356
|
const { selector } = parseSelector(rest, subcommand);
|
|
367
357
|
return {
|
|
368
358
|
subcommand,
|
|
369
359
|
selector
|
|
370
360
|
};
|
|
371
361
|
}
|
|
372
|
-
if (subcommand === "status") {
|
|
373
|
-
const { selector, plan } = parseSelector(rest, subcommand);
|
|
374
|
-
if (plan) throw new Error("platform: Unknown flag '--plan'.");
|
|
375
|
-
return {
|
|
376
|
-
subcommand,
|
|
377
|
-
selector
|
|
378
|
-
};
|
|
379
|
-
}
|
|
380
362
|
if (subcommand === "discover") {
|
|
381
363
|
let account = "";
|
|
382
364
|
let selector = "";
|
|
@@ -396,7 +378,7 @@ function parsePlatformArgs(args) {
|
|
|
396
378
|
};
|
|
397
379
|
}
|
|
398
380
|
if (subcommand === "upgrade" || subcommand === "rollback" || subcommand === "repair" || subcommand === "disable" || subcommand === "enable") {
|
|
399
|
-
const { selector, plan, runtime, fromRuntime, yes, dashboardUrl } = parseLifecycleSelector(rest, subcommand);
|
|
381
|
+
const { selector, plan, runtime, fromRuntime, yes, authConfig, dashboardUrl } = parseLifecycleSelector(rest, subcommand);
|
|
400
382
|
return subcommand === "rollback" ? {
|
|
401
383
|
subcommand,
|
|
402
384
|
selector,
|
|
@@ -410,6 +392,7 @@ function parsePlatformArgs(args) {
|
|
|
410
392
|
plan,
|
|
411
393
|
runtime,
|
|
412
394
|
yes,
|
|
395
|
+
...authConfig !== void 0 ? { authConfig } : {},
|
|
413
396
|
...dashboardUrl !== void 0 ? { dashboardUrl } : {}
|
|
414
397
|
};
|
|
415
398
|
}
|
|
@@ -1,13 +1,12 @@
|
|
|
1
|
-
import { u as openBrowser } from "./auth-
|
|
2
|
-
import { A as confirm, K as select, U as password, X as text, z as multiselect } from "./dist-
|
|
3
|
-
import {
|
|
4
|
-
import { n as OperatorClient } from "./operator-client-
|
|
5
|
-
import { a as resolveOperatorOrigin, r as readOperatorToken } from "./operator-auth-
|
|
6
|
-
import { i as humanLines } from "./operator-cmd-
|
|
7
|
-
import { o as platformPromptAnswer } from "./platform-setup-
|
|
1
|
+
import { u as openBrowser } from "./auth-B6iOCjKI.mjs";
|
|
2
|
+
import { A as confirm, K as select, U as password, X as text, z as multiselect } from "./dist-BVdsO7Py.mjs";
|
|
3
|
+
import { l as formatUrl, m as printSuccess } from "./output-Ba6ZbrzY.mjs";
|
|
4
|
+
import { n as OperatorClient } from "./operator-client-C-ROjk1I.mjs";
|
|
5
|
+
import { a as resolveOperatorOrigin, r as readOperatorToken } from "./operator-auth-Cr2zCc-J.mjs";
|
|
6
|
+
import { i as humanLines } from "./operator-cmd-DHieWtFp.mjs";
|
|
7
|
+
import { o as platformPromptAnswer } from "./platform-setup-YvN9VQXV.mjs";
|
|
8
8
|
import { parsePlatformAdmissionPolicy, parsePlatformLoginConfiguration } from "@void/platform";
|
|
9
9
|
import { stripVTControlCharacters } from "node:util";
|
|
10
|
-
import { execFile } from "node:child_process";
|
|
11
10
|
import { setTimeout } from "node:timers/promises";
|
|
12
11
|
import { readFile } from "node:fs/promises";
|
|
13
12
|
//#region src/cli/platform-auth-config.ts
|
|
@@ -46,8 +45,8 @@ async function waitForPlatformLoginTest(client, launch, signal) {
|
|
|
46
45
|
if (url.origin !== client.origin || url.pathname !== "/auth/test" || url.username || url.password || url.hash) throw new Error("platform: The login test belongs to a different platform.");
|
|
47
46
|
const expiry = Date.parse(launch.expiresAt);
|
|
48
47
|
if (!Number.isFinite(expiry) || expiry > Date.now() + 66e4) throw new Error("platform: Invalid login test expiry.");
|
|
49
|
-
console.log(`Complete the login test in your browser: ${url.href}`);
|
|
50
|
-
openBrowser(url.href
|
|
48
|
+
console.log(`Complete the login test in your browser: ${formatUrl(url.href)}`);
|
|
49
|
+
openBrowser(url.href);
|
|
51
50
|
while (Date.now() < expiry) {
|
|
52
51
|
signal?.throwIfAborted();
|
|
53
52
|
const result = await client.request(`/config/auth/tests/${encodeURIComponent(launch.id)}`, { signal });
|
|
@@ -143,11 +142,11 @@ async function configurationInput(args, existing) {
|
|
|
143
142
|
}
|
|
144
143
|
async function runPlatformAuthConfig(args) {
|
|
145
144
|
if (args.action === "recover") {
|
|
146
|
-
const { runPlatformAuthRecovery } = await import("./platform-auth-recovery-
|
|
145
|
+
const { runPlatformAuthRecovery } = await import("./platform-auth-recovery-CXjfqyOv.mjs");
|
|
147
146
|
return runPlatformAuthRecovery(args);
|
|
148
147
|
}
|
|
149
148
|
if (args.action === "protection") {
|
|
150
|
-
const { runPlatformProtectionConfig } = await import("./platform-auth-protection-
|
|
149
|
+
const { runPlatformProtectionConfig } = await import("./platform-auth-protection-BXwZiJSF.mjs");
|
|
151
150
|
return runPlatformProtectionConfig(args);
|
|
152
151
|
}
|
|
153
152
|
const origin = resolveOperatorOrigin(args.connection);
|