void 0.10.13 → 0.20.1
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/AGENTS_TEMPLATE.md +6 -0
- package/{skills/void/docs/node_modules/void/node_modules/pglite-server/LICENSE.md → LICENSE} +1 -1
- package/README.md +34 -8
- package/dist/{auth-qgMlYp7Z.d.mts → auth-DkcFflXV.d.mts} +10 -11
- package/dist/auth-W9WII-mN.mjs +630 -0
- package/dist/{auth-cmd-BqsdZJp5.mjs → auth-cmd-CAH62yDU.mjs} +4 -3
- package/dist/{auth-migrations-BTZ-ATvQ.mjs → auth-migrations-9vif1uj8.mjs} +53 -12
- package/dist/{better-auth-shared-BQooDxbw.mjs → better-auth-shared-CYw1T3k4.mjs} +7 -10
- package/dist/{better-auth-shared-DealXecJ.d.mts → better-auth-shared-DSCeohOK.d.mts} +10 -5
- package/dist/{build-cmd-Bujrv5q-.mjs → build-cmd-CJvZvPQO.mjs} +6 -4
- package/dist/{cache-C11V8Fxq.mjs → cache-BlNeQjuP.mjs} +9 -5
- package/dist/{cancel-deploy-fwFYF04b.mjs → cancel-deploy-CmlAZ9P6.mjs} +3 -2
- package/dist/cf-access-AJ1ehiFR.mjs +42 -0
- package/dist/cf-access-DsSsZUPr.mjs +67 -0
- package/dist/cli/cli.d.mts +1 -1
- package/dist/cli/cli.mjs +1735 -165
- package/dist/cli/env-schema-probe.d.mts +48 -61
- package/dist/cli/env-schema-probe.mjs +10 -58
- package/dist/{client-Gb71-XkG.mjs → client-Clirrol3.mjs} +120 -463
- package/dist/cloudflare-auth-B1QtTO1b.mjs +217 -0
- package/dist/cloudflare-cmd-B6_OZx2V.mjs +62 -0
- package/dist/cloudflare-connect-j5D4hhrG.mjs +56 -0
- package/dist/cloudflare-operations-CPTpRW6d.mjs +566 -0
- package/dist/{config-qHGgPuWT.mjs → config-BQFq7QvD.mjs} +75 -41
- package/dist/{config-CutEMNGJ.mjs → config-NOG_U1aK.mjs} +10 -15
- package/dist/connect-C04Wdy_h.mjs +79 -0
- package/dist/{create-project-DsYvl3TB.mjs → create-project-ChGZ1DFd.mjs} +26 -16
- package/dist/database-provider.d.mts +21 -0
- package/dist/database-provider.mjs +6 -0
- package/dist/{db-C0i0sYMS.mjs → db-D2d_mUsB.mjs} +612 -117
- package/dist/{delete-mh6p-zkQ.mjs → delete-D8GigDk8.mjs} +9 -6
- package/dist/{deploy-jBJT1fUT.mjs → deploy-iXZ3F0N6.mjs} +3252 -1995
- package/dist/dev-inbox-DkgRWLkW.mjs +307 -0
- package/dist/{discover-CJHyvYfR.mjs → discover-xvfrgJeo.mjs} +3 -3
- package/dist/{magic-string.es-ZQjdJFFn.mjs → dist-BR1quN_w.mjs} +570 -216
- package/dist/{dist-DaKKDf8D.mjs → dist-BrsS7cai.mjs} +17 -2
- package/dist/{dist-BuiRJkTd.mjs → dist-m40_XgNh.mjs} +48 -33
- package/dist/{domain-DiaNQbrl.mjs → domain-B1VmoSr0.mjs} +41 -4
- package/dist/dotenv-VQxupEUv.mjs +181 -0
- package/dist/edge.d.mts +2 -0
- package/dist/edge.mjs +2 -0
- package/dist/email-Ce6SQq-i.mjs +182 -0
- package/dist/email-uKyQYUVY.mjs +1016 -0
- package/dist/{entry-D7yy4xVH.mjs → entry-DU3oDoQ3.mjs} +2 -2
- package/dist/env-BcQzYgoG.mjs +73 -0
- package/dist/env-D4Emu-M_.mjs +95 -0
- package/dist/env-helpers-CyKtOBpj.d.mts +22 -0
- package/dist/env-public-D_6u46fX.d.mts +135 -0
- package/dist/{env-types-QBj-ndax.mjs → env-types-BNPhro-M.mjs} +2 -2
- package/dist/{env-validation-Dea3v3ej.mjs → env-validation-ENpMy6Ez.mjs} +68 -122
- package/dist/{gen-BzXf3Jh2.mjs → gen-DI2YwdBM.mjs} +70 -15
- package/dist/generate-RTK8_kK1.mjs +47 -0
- package/dist/{github-cmd-DKcGUNsj.mjs → github-cmd-xItS5Zwf.mjs} +39 -31
- package/dist/{handler-Cjh8uM3Y.d.mts → handler-D1hLsObx.d.mts} +124 -122
- package/dist/{head-nmvOgFjd.d.mts → head-Do8P4puT.d.mts} +9 -8
- package/dist/{headers-ChAADPQu.mjs → headers-D8QfRX9Y.mjs} +12 -10
- package/dist/inbound-2d0zi2yS.mjs +706 -0
- package/dist/inbound-afAcWeQ9.d.mts +363 -0
- package/dist/index.d.mts +61 -34
- package/dist/index.mjs +1012 -293
- package/dist/{init-7JCAcKNQ.mjs → init-BD-9THgn.mjs} +329 -271
- package/dist/link-RMdgjF1v.mjs +52 -0
- package/dist/{list-CPwFDZ_c.mjs → list-3F52R_yO.mjs} +37 -5
- package/dist/{runner-kapo9aPs.mjs → local-d1-D2I6Ox5F.mjs} +116 -6
- package/dist/{login-BT3H8PN3.mjs → login-pV69H-ZO.mjs} +17 -15
- package/dist/{logs-Bt313ax7.mjs → logs-DFHHD6wE.mjs} +16 -2
- package/dist/mime-BJD7d_qL.mjs +1216 -0
- package/dist/neon-DHwd2zvC.mjs +54 -0
- package/dist/{node-pRg81HqV.mjs → node-Dk3H2jmU.mjs} +29 -8
- package/dist/operator-cmd-DYWRbWUA.mjs +348 -0
- package/dist/{agents-CtgBYqld.mjs → output-tFQLLj26.mjs} +676 -211
- package/dist/{package-json-Cx1osYo6.mjs → package-json-CPoWX79C.mjs} +1 -1
- package/dist/pages/client.d.mts +43 -41
- package/dist/pages/client.mjs +40 -33
- package/dist/pages/head-client.d.mts +10 -12
- package/dist/pages/head.d.mts +1 -1
- package/dist/pages/index.d.mts +37 -14
- package/dist/pages/index.mjs +5 -5
- package/dist/pages/islands-plugin.d.mts +25 -27
- package/dist/pages/islands-plugin.mjs +6 -4
- package/dist/pages/prefetch.d.mts +6 -7
- package/dist/pages/protocol.d.mts +2 -2
- package/dist/pages/protocol.mjs +2 -1
- package/dist/pages/serialize.d.mts +7 -8
- package/dist/platform-cmd-DxJ2FRwR.mjs +123 -0
- package/dist/platform-domain-ChvbJkdy.mjs +228 -0
- package/dist/platform-lifecycle-DN4MzJF_.mjs +4450 -0
- package/dist/platform-management-Db2PXw0B.mjs +698 -0
- package/dist/platform-recovery-C_YO-tIs.mjs +99 -0
- package/dist/{plugin-inference-DMeavIJ6.mjs → plugin-inference-BDRfZngg.mjs} +35 -19
- package/dist/prepare-BfJvFUtJ.mjs +14 -0
- package/dist/{prepare-BvvgAz-3.mjs → prepare-CBetXvsN.mjs} +15 -24
- package/dist/{preset-BjyR3lzz.mjs → preset-lAy0B0BQ.mjs} +25 -212
- package/dist/{project-cmd-D_w-4w5B.mjs → project-cmd-Mo0V9yKS.mjs} +25 -12
- package/dist/{project-paths-BQd7OmIo.mjs → project-paths-SK8nMHPp.mjs} +3 -1
- package/dist/{project-tsconfig-B-QtXjLQ.mjs → project-tsconfig-Ql2XsSQp.mjs} +2 -2
- package/dist/{protocol-Bnb0LFp3.d.mts → protocol-C-pqYJjE.d.mts} +3 -4
- package/dist/{provision-CPx2ZxsH.mjs → provision-Blnstcm2.mjs} +78 -45
- package/dist/r2-conditions-D1Wk8i7b.mjs +30 -0
- package/dist/{requests-B8sZxaFM.mjs → requests-BcKOVpRg.mjs} +5 -3
- package/dist/{resolve-project-BBMtLLV9.mjs → resolve-project--Vxawf7z.mjs} +2 -2
- package/dist/rollback-Bx85-0xh.mjs +166 -0
- package/dist/{rolldown-runtime-DJK8HYOj.mjs → rolldown-runtime-rQ84J-ij.mjs} +1 -1
- package/dist/{route-types-z1jtHEi_.mjs → route-types-Da-DpyUp.mjs} +77 -25
- package/dist/routes-stub.d.mts +22 -23
- package/dist/runner-mysql-7BPUNGmL.mjs +61 -0
- package/dist/{runner-pg-CHM76xuC.mjs → runner-pg-BkEza-dX.mjs} +18 -6
- package/dist/runtime/ai.d.mts +21 -14
- package/dist/runtime/ai.mjs +5 -4
- package/dist/runtime/auth-client-react.d.mts +3 -5
- package/dist/runtime/auth-client-solid.d.mts +3 -5
- package/dist/runtime/auth-client-svelte.d.mts +3 -5
- package/dist/runtime/auth-client-vue.d.mts +3 -5
- package/dist/runtime/auth-client.d.mts +3 -5
- package/dist/runtime/auth.d.mts +1 -1
- package/dist/runtime/better-auth-mysql.d.mts +10 -0
- package/dist/runtime/better-auth-mysql.mjs +49 -0
- package/dist/runtime/better-auth-pg.d.mts +8 -9
- package/dist/runtime/better-auth-pg.mjs +2 -2
- package/dist/runtime/better-auth.d.mts +8 -9
- package/dist/runtime/better-auth.mjs +2 -2
- 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/db-mysql.d.mts +2 -0
- package/dist/runtime/db-mysql.mjs +1 -0
- package/dist/runtime/db.d.mts +10 -11
- package/dist/runtime/durable.d.mts +47 -0
- package/dist/runtime/durable.mjs +146 -0
- package/dist/runtime/email/testing.d.mts +112 -0
- package/dist/runtime/email/testing.mjs +283 -0
- package/dist/runtime/email.d.mts +30 -0
- package/dist/runtime/email.mjs +573 -0
- package/dist/runtime/env-helpers.d.mts +2 -2
- package/dist/runtime/env-helpers.mjs +5 -42
- package/dist/runtime/env-public-client.d.mts +10 -11
- package/dist/runtime/env-public-client.mjs +1 -1
- package/dist/runtime/env-public.d.mts +2 -2
- package/dist/runtime/env-public.mjs +104 -49
- package/dist/runtime/env.d.mts +19 -18
- package/dist/runtime/env.mjs +15 -2
- package/dist/runtime/fetch-stream.d.mts +20 -21
- package/dist/runtime/fetch.d.mts +15 -16
- package/dist/runtime/handler.d.mts +1 -1
- package/dist/runtime/isr.d.mts +21 -22
- package/dist/runtime/isr.mjs +26 -8
- package/dist/runtime/kv.d.mts +9 -10
- package/dist/runtime/live-client.d.mts +5 -7
- package/dist/runtime/live-client.mjs +9 -7
- package/dist/runtime/live-server.d.mts +4 -5
- package/dist/runtime/live.d.mts +22 -24
- package/dist/runtime/live.mjs +1 -1
- package/dist/runtime/log.d.mts +16 -17
- package/dist/runtime/migration-handler-mysql.d.mts +4 -0
- package/dist/runtime/migration-handler-mysql.mjs +81 -0
- package/dist/runtime/migration-handler-pg.d.mts +2 -4
- package/dist/runtime/migration-handler.d.mts +5 -6
- package/dist/runtime/migration-handler.mjs +4 -3
- package/dist/runtime/queues.d.mts +3 -4
- package/dist/runtime/queues.mjs +2 -1
- package/dist/runtime/remote/binding-handler.d.mts +10 -12
- package/dist/runtime/remote/binding-handler.mjs +24 -3
- package/dist/runtime/remote/index.d.mts +5 -6
- package/dist/runtime/remote/index.mjs +21 -18
- package/dist/runtime/response.d.mts +10 -11
- package/dist/runtime/sandbox.d.mts +56 -55
- package/dist/runtime/sandbox.mjs +57 -49
- package/dist/runtime/schema-mysql.d.mts +1 -0
- package/dist/runtime/schema-mysql.mjs +2 -0
- package/dist/runtime/seed.d.mts +14 -9
- package/dist/runtime/sse-client.d.mts +6 -7
- package/dist/runtime/sse.d.mts +11 -12
- package/dist/runtime/storage.d.mts +3 -4
- package/dist/runtime/validator.d.mts +1 -1
- package/dist/runtime/ws-server.d.mts +12 -12
- package/dist/runtime/ws-server.mjs +32 -4
- package/dist/runtime/ws.d.mts +19 -21
- package/dist/{scan-ChWt4pX1.mjs → scan-BMH4rzlv.mjs} +42 -19
- package/dist/{scan-NU4xKGci.mjs → scan-CpK-57ug.mjs} +5 -4
- package/dist/{secret-Dt32J6RI.mjs → secret-ByhJ9AMl.mjs} +62 -5
- package/dist/{skills-CLjN0uUO.mjs → skills-Q46GZMO-.mjs} +6 -4
- package/dist/sqlite-validation-BzKMWnO4.mjs +25 -0
- package/dist/{standard-schema-DJ0HW7QP.d.mts → standard-schema-Fo_vCAZh.d.mts} +6 -6
- package/dist/{subcommand-prompt-BzV8iQZo.mjs → subcommand-prompt-WfySCQ7S.mjs} +67 -48
- package/dist/sveltekit.d.mts +12 -11
- package/dist/sveltekit.mjs +1 -1
- package/dist/types-BAp5AEBU.d.mts +79 -0
- package/dist/types-CKWnYgfy.d.mts +1 -0
- package/dist/{validate-Cw_RLeTj.mjs → validate-tBBN_dXH.mjs} +4 -3
- package/dist/wrangler--imS8n0d.mjs +1796 -0
- package/dist/{yarn-pnp-DJn3SAHF.mjs → yarn-pnp-DxSInkzL.mjs} +1 -1
- package/package.json +79 -65
- package/schema.json +22 -3
- package/skills/void/SKILL.md +59 -2
- package/skills/void/docs/guide/ai.md +32 -14
- package/skills/void/docs/guide/app-types.md +6 -6
- package/skills/void/docs/guide/auth.md +14 -16
- package/skills/void/docs/guide/database/d1.md +6 -0
- package/skills/void/docs/guide/database/mysql.md +60 -0
- package/skills/void/docs/guide/database/postgresql.md +14 -9
- package/skills/void/docs/guide/database.md +39 -26
- package/skills/void/docs/guide/deployment.md +99 -25
- package/skills/void/docs/guide/durable-state.md +140 -0
- package/skills/void/docs/guide/edge/headers.md +5 -5
- package/skills/void/docs/guide/edge/prerendering.md +2 -0
- package/skills/void/docs/guide/edge/revalidation.md +21 -6
- package/skills/void/docs/guide/edge/rewrites.md +18 -14
- package/skills/void/docs/guide/edge/static-assets.md +12 -10
- package/skills/void/docs/guide/email.md +640 -0
- package/skills/void/docs/guide/env-migration.md +109 -0
- package/skills/void/docs/guide/env-vars.md +70 -248
- package/skills/void/docs/guide/index.md +15 -17
- package/skills/void/docs/guide/jobs.md +8 -5
- package/skills/void/docs/guide/live.md +7 -15
- package/skills/void/docs/guide/pages-routing/actions-and-forms.md +8 -4
- package/skills/void/docs/guide/pages-routing/islands.md +3 -3
- package/skills/void/docs/guide/pages-routing/loaders.md +6 -4
- package/skills/void/docs/guide/pages-routing/overview.md +7 -7
- package/skills/void/docs/guide/platform-administration.md +212 -0
- package/skills/void/docs/guide/platform-development.md +264 -0
- package/skills/void/docs/guide/queues.md +10 -10
- package/skills/void/docs/guide/quickstart.md +46 -67
- package/skills/void/docs/guide/remote-dev.md +8 -6
- package/skills/void/docs/guide/sandboxes.md +33 -16
- package/skills/void/docs/guide/self-hosted-platform.md +553 -0
- package/skills/void/docs/guide/server-routing.md +5 -5
- package/skills/void/docs/guide/sse.md +4 -4
- package/skills/void/docs/guide/ssg.md +5 -3
- package/skills/void/docs/guide/storage.md +2 -2
- package/skills/void/docs/guide/websockets.md +15 -7
- package/skills/void/docs/index.md +3 -3
- package/skills/void/docs/integrations/agents.md +6 -64
- package/skills/void/docs/integrations/cloudflare.md +165 -146
- package/skills/void/docs/integrations/frameworks/analog.md +4 -4
- package/skills/void/docs/integrations/frameworks/astro.md +5 -5
- package/skills/void/docs/integrations/frameworks/nuxt.md +5 -5
- package/skills/void/docs/integrations/frameworks/overview.md +3 -3
- package/skills/void/docs/integrations/frameworks/react-router.md +3 -3
- package/skills/void/docs/integrations/frameworks/sveltekit.md +3 -3
- package/skills/void/docs/integrations/frameworks/tanstack-start.md +2 -2
- package/skills/void/docs/integrations/nodejs-bun-deno.md +11 -4
- package/skills/void/docs/reference/api.md +42 -6
- package/skills/void/docs/reference/cli.md +665 -160
- package/skills/void/docs/reference/config.md +67 -27
- package/skills/void/docs/reference/resource-inference.md +13 -9
- package/skills/void/docs/reference/structure.md +9 -11
- package/AGENT_PROMPT.md +0 -19
- package/dist/cf-access-Bqw81xAf.mjs +0 -22
- package/dist/env-CZy5MorI.mjs +0 -299
- package/dist/env-helpers-z4stu8uc.d.mts +0 -52
- package/dist/env-mask-Dd47NbR6.mjs +0 -90
- package/dist/env-public-BfiLcMBk.d.mts +0 -140
- package/dist/link-CdGHSIy-.mjs +0 -45
- package/dist/mcp-DoM3_nhd.mjs +0 -377
- package/dist/project-paths-GpziKeQQ.d.mts +0 -25
- package/dist/providers-BNKRacMr.d.mts +0 -7
- package/dist/proxy-D-3_D-Gl.mjs +0 -5
- package/dist/rollback-CkvTFXx5.mjs +0 -90
- package/dist/runtime/isr-cache.d.mts +0 -207
- package/dist/runtime/isr-cache.mjs +0 -523
- package/dist/types-lLjNE9Qp.d.mts +0 -51
- package/getting-started-prompt.txt +0 -28
- package/skills/void/command/void.md +0 -7
- package/skills/void/docs/integrations/auth-providers.md +0 -0
- package/skills/void/docs/integrations/payment-processors.md +0 -0
- package/skills/void/docs/node_modules/@iconify/vue/README.md +0 -408
- package/skills/void/docs/node_modules/@iconify/vue/offline/readme.md +0 -5
- package/skills/void/docs/node_modules/@voidzero-dev/vitepress-theme/README.md +0 -103
- package/skills/void/docs/node_modules/oxc-minify/README.md +0 -78
- package/skills/void/docs/node_modules/reka-ui/README.md +0 -80
- package/skills/void/docs/node_modules/vitepress/README.md +0 -28
- package/skills/void/docs/node_modules/vitepress/template/api-examples.md +0 -49
- package/skills/void/docs/node_modules/vitepress/template/index.md +0 -28
- package/skills/void/docs/node_modules/vitepress/template/markdown-examples.md +0 -85
- package/skills/void/docs/node_modules/vitepress-plugin-group-icons/README.md +0 -101
- package/skills/void/docs/node_modules/void/AGENT_PROMPT.md +0 -19
- package/skills/void/docs/node_modules/void/CLAUDE.md +0 -221
- package/skills/void/docs/node_modules/void/README.md +0 -90
- package/skills/void/docs/node_modules/void/node_modules/@clack/prompts/CHANGELOG.md +0 -685
- package/skills/void/docs/node_modules/void/node_modules/@clack/prompts/README.md +0 -396
- package/skills/void/docs/node_modules/void/node_modules/@cloudflare/sandbox/README.md +0 -219
- package/skills/void/docs/node_modules/void/node_modules/@cloudflare/vite-plugin/README.md +0 -37
- package/skills/void/docs/node_modules/void/node_modules/@cloudflare/workers-types/README.md +0 -135
- package/skills/void/docs/node_modules/void/node_modules/@electric-sql/pglite/README.md +0 -189
- package/skills/void/docs/node_modules/void/node_modules/@hono/oauth-providers/CHANGELOG.md +0 -143
- package/skills/void/docs/node_modules/void/node_modules/@hono/oauth-providers/README.md +0 -1272
- package/skills/void/docs/node_modules/void/node_modules/@napi-rs/keyring/README.md +0 -19
- package/skills/void/docs/node_modules/void/node_modules/@types/better-sqlite3/README.md +0 -15
- package/skills/void/docs/node_modules/void/node_modules/@types/node/README.md +0 -15
- package/skills/void/docs/node_modules/void/node_modules/@types/pg/README.md +0 -15
- package/skills/void/docs/node_modules/void/node_modules/@types/proper-lockfile/README.md +0 -51
- package/skills/void/docs/node_modules/void/node_modules/@typescript/native-preview/README.md +0 -22
- package/skills/void/docs/node_modules/void/node_modules/@typescript/native-preview/vendor/vscode-jsonrpc/README.md +0 -69
- package/skills/void/docs/node_modules/void/node_modules/@void/md/README.md +0 -153
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/@shikijs/engine-javascript/README.md +0 -9
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/@shikijs/transformers/README.md +0 -9
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/@types/node/README.md +0 -15
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/gray-matter/CHANGELOG.md +0 -24
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/gray-matter/README.md +0 -565
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/markdown-exit/README.md +0 -127
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/markdown-it-anchor/README.md +0 -600
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/markdown-it-attrs/README.md +0 -386
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/markdown-it-container/README.md +0 -95
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/markdown-it-emoji/README.md +0 -101
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/markdown-it-footnote/README.md +0 -135
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/pathslash/README.md +0 -64
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/shiki/README.md +0 -15
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/tinyglobby/README.md +0 -25
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/AGENTS.md +0 -16
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/README.md +0 -220
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/config/build.md +0 -21
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/config/check.md +0 -35
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/config/create.md +0 -70
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/config/fmt.md +0 -20
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/config/index.md +0 -35
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/config/lint.md +0 -26
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/config/pack.md +0 -17
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/config/run.md +0 -364
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/config/staged.md +0 -15
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/config/test.md +0 -18
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/automatic-data-tracking.md +0 -145
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/build.md +0 -40
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/cache.md +0 -107
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/check.md +0 -60
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/ci.md +0 -62
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/commit-hooks.md +0 -60
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/create.md +0 -341
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/dev.md +0 -24
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/docker.md +0 -175
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/env.md +0 -167
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/fmt.md +0 -41
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/github-actions-cache.md +0 -165
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/ide-integration.md +0 -101
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/implode.md +0 -23
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/index.md +0 -134
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/install.md +0 -199
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/lint.md +0 -50
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/migrate-rules.md +0 -347
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/migrate.md +0 -197
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/monorepo.md +0 -176
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/pack.md +0 -69
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/run.md +0 -356
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/test.md +0 -35
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/troubleshooting.md +0 -108
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/upgrade.md +0 -101
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/vpx.md +0 -66
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/why.md +0 -39
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/index.md +0 -12
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/team.md +0 -35
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/templates/generator/README.md +0 -35
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/templates/monorepo/README.md +0 -29
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vue/README.md +0 -58
- package/skills/void/docs/node_modules/void/node_modules/arktype/README.md +0 -165
- package/skills/void/docs/node_modules/void/node_modules/better-auth/LICENSE.md +0 -20
- package/skills/void/docs/node_modules/void/node_modules/better-auth/README.md +0 -32
- package/skills/void/docs/node_modules/void/node_modules/better-sqlite3/README.md +0 -99
- package/skills/void/docs/node_modules/void/node_modules/blake3-jit/README.md +0 -108
- package/skills/void/docs/node_modules/void/node_modules/drizzle-arktype/README.md +0 -51
- package/skills/void/docs/node_modules/void/node_modules/drizzle-kit/README.md +0 -79
- package/skills/void/docs/node_modules/void/node_modules/drizzle-orm/README.md +0 -44
- package/skills/void/docs/node_modules/void/node_modules/drizzle-valibot/README.md +0 -51
- package/skills/void/docs/node_modules/void/node_modules/drizzle-zod/README.md +0 -65
- package/skills/void/docs/node_modules/void/node_modules/es-module-lexer/README.md +0 -403
- package/skills/void/docs/node_modules/void/node_modules/estree-walker/README.md +0 -48
- package/skills/void/docs/node_modules/void/node_modules/hono/README.md +0 -85
- package/skills/void/docs/node_modules/void/node_modules/ignore/README.md +0 -452
- package/skills/void/docs/node_modules/void/node_modules/jsonc-parser/CHANGELOG.md +0 -76
- package/skills/void/docs/node_modules/void/node_modules/jsonc-parser/LICENSE.md +0 -21
- package/skills/void/docs/node_modules/void/node_modules/jsonc-parser/README.md +0 -364
- package/skills/void/docs/node_modules/void/node_modules/jsonc-parser/SECURITY.md +0 -41
- package/skills/void/docs/node_modules/void/node_modules/magic-string/README.md +0 -325
- package/skills/void/docs/node_modules/void/node_modules/ofetch/README.md +0 -398
- package/skills/void/docs/node_modules/void/node_modules/pathslash/README.md +0 -64
- package/skills/void/docs/node_modules/void/node_modules/pg/README.md +0 -96
- package/skills/void/docs/node_modules/void/node_modules/pglite-server/README.md +0 -135
- package/skills/void/docs/node_modules/void/node_modules/picocolors/README.md +0 -21
- package/skills/void/docs/node_modules/void/node_modules/proper-lockfile/CHANGELOG.md +0 -108
- package/skills/void/docs/node_modules/void/node_modules/proper-lockfile/README.md +0 -183
- package/skills/void/docs/node_modules/void/node_modules/tinyglobby/README.md +0 -25
- package/skills/void/docs/node_modules/void/node_modules/valibot/LICENSE.md +0 -9
- package/skills/void/docs/node_modules/void/node_modules/valibot/README.md +0 -94
- package/skills/void/docs/node_modules/void/node_modules/vite-plus/AGENTS.md +0 -16
- package/skills/void/docs/node_modules/void/node_modules/vite-plus/README.md +0 -220
- package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/config/build.md +0 -21
- package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/config/check.md +0 -35
- package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/config/create.md +0 -70
- package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/config/fmt.md +0 -20
- package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/config/index.md +0 -35
- package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/config/lint.md +0 -26
- package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/config/pack.md +0 -17
- package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/config/run.md +0 -364
- package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/config/staged.md +0 -15
- package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/config/test.md +0 -18
- package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/automatic-data-tracking.md +0 -145
- package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/build.md +0 -40
- package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/cache.md +0 -107
- package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/check.md +0 -60
- package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/ci.md +0 -62
- package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/commit-hooks.md +0 -60
- package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/create.md +0 -341
- package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/dev.md +0 -24
- package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/docker.md +0 -175
- package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/env.md +0 -167
- package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/fmt.md +0 -41
- package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/github-actions-cache.md +0 -165
- package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/ide-integration.md +0 -101
- package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/implode.md +0 -23
- package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/index.md +0 -134
- package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/install.md +0 -199
- package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/lint.md +0 -50
- package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/migrate-rules.md +0 -347
- package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/migrate.md +0 -197
- package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/monorepo.md +0 -176
- package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/pack.md +0 -69
- package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/run.md +0 -356
- package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/test.md +0 -35
- package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/troubleshooting.md +0 -108
- package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/upgrade.md +0 -101
- package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/vpx.md +0 -66
- package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/why.md +0 -39
- package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/index.md +0 -12
- package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/team.md +0 -35
- package/skills/void/docs/node_modules/void/node_modules/vite-plus/templates/generator/README.md +0 -35
- package/skills/void/docs/node_modules/void/node_modules/vite-plus/templates/monorepo/README.md +0 -29
- package/skills/void/docs/node_modules/void/node_modules/wrangler/README.md +0 -63
- package/skills/void/docs/node_modules/void/node_modules/zod/README.md +0 -191
- package/skills/void/docs/node_modules/void/skills/migrate-vite-cloudflare-to-void/SKILL.md +0 -175
- package/skills/void/docs/node_modules/void/skills/void/SKILL.md +0 -76
- package/skills/void/docs/node_modules/void/skills/void/command/void.md +0 -7
- package/skills/void/docs/node_modules/void/test/e2e/README.md +0 -85
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
//#region src/runtime/auth-migrations.ts
|
|
2
|
-
function quoteIdentifier(name) {
|
|
3
|
-
return `"${name.replaceAll("\"", "\"\"")}"`;
|
|
2
|
+
function quoteIdentifier(name, dialect) {
|
|
3
|
+
return dialect === "mysql" ? `\`${name.replaceAll("`", "``")}\`` : `"${name.replaceAll("\"", "\"\"")}"`;
|
|
4
4
|
}
|
|
5
5
|
function quotePragmaArg(name) {
|
|
6
6
|
return `'${name.replaceAll("'", "''")}'`;
|
|
@@ -10,6 +10,17 @@ function createIndexName(tableName, fieldName, unique) {
|
|
|
10
10
|
}
|
|
11
11
|
function resolveColumnType(dialect, idStrategy, fieldName, field) {
|
|
12
12
|
const useIdType = fieldName === "id" || field.references?.field === "id";
|
|
13
|
+
if (dialect === "mysql") {
|
|
14
|
+
if (useIdType) {
|
|
15
|
+
if (fieldName === "id" && idStrategy === "serial") return "int AUTO_INCREMENT";
|
|
16
|
+
return idStrategy === "serial" ? "int" : idStrategy === "uuid" ? "varchar(36)" : "varchar(255)";
|
|
17
|
+
}
|
|
18
|
+
if (field.type === "boolean") return "boolean";
|
|
19
|
+
if (field.type === "date") return "datetime(3)";
|
|
20
|
+
if (field.type === "number") return field.bigint ? "bigint" : "int";
|
|
21
|
+
if (field.type === "json" || field.type === "string[]" || field.type === "number[]") return "json";
|
|
22
|
+
return field.unbounded ? "text" : "varchar(255)";
|
|
23
|
+
}
|
|
13
24
|
if (dialect === "postgresql") {
|
|
14
25
|
if (useIdType) {
|
|
15
26
|
if (fieldName === "id" && idStrategy === "serial") return "integer GENERATED BY DEFAULT AS IDENTITY";
|
|
@@ -29,10 +40,10 @@ function resolveColumnType(dialect, idStrategy, fieldName, field) {
|
|
|
29
40
|
return "TEXT";
|
|
30
41
|
}
|
|
31
42
|
function buildColumnDefinition(dialect, schema, fieldName, field, options = {}) {
|
|
32
|
-
const parts = [`${quoteIdentifier(fieldName)} ${resolveColumnType(dialect, schema.idStrategy, fieldName, field)}`];
|
|
43
|
+
const parts = [`${quoteIdentifier(fieldName, dialect)} ${resolveColumnType(dialect, schema.idStrategy, fieldName, field)}`];
|
|
33
44
|
if (options.primaryKey) parts.push("PRIMARY KEY");
|
|
34
45
|
if (field.required || options.primaryKey) parts.push("NOT NULL");
|
|
35
|
-
if (field.references) parts.push(`REFERENCES ${quoteIdentifier(field.references.table)}(${quoteIdentifier(field.references.field)}) ON DELETE ${String(field.references.onDelete ?? "cascade").toUpperCase()}`);
|
|
46
|
+
if (field.references) parts.push(`REFERENCES ${quoteIdentifier(field.references.table, dialect)}(${quoteIdentifier(field.references.field, dialect)}) ON DELETE ${String(field.references.onDelete ?? "cascade").toUpperCase()}`);
|
|
36
47
|
return parts.join(" ");
|
|
37
48
|
}
|
|
38
49
|
function buildCreateTableSql(schema, table) {
|
|
@@ -44,14 +55,17 @@ function buildCreateTableSql(schema, table) {
|
|
|
44
55
|
index: false,
|
|
45
56
|
bigint: false
|
|
46
57
|
}, { primaryKey: true }), ...Object.entries(table.fields).map(([fieldName, field]) => buildColumnDefinition(dialect, schema, fieldName, field))];
|
|
47
|
-
return `CREATE TABLE IF NOT EXISTS ${quoteIdentifier(table.name)} (${columns.join(", ")})`;
|
|
58
|
+
return `CREATE TABLE IF NOT EXISTS ${quoteIdentifier(table.name, dialect)} (${columns.join(", ")})`;
|
|
48
59
|
}
|
|
49
60
|
function buildAddColumnSql(schema, tableName, fieldName, field) {
|
|
50
|
-
const ifNotExists = schema.dialect === "
|
|
51
|
-
return `ALTER TABLE ${quoteIdentifier(tableName)} ADD COLUMN${ifNotExists} ${buildColumnDefinition(schema.dialect, schema, fieldName, field)}`;
|
|
61
|
+
const ifNotExists = schema.dialect === "sqlite" ? "" : " IF NOT EXISTS";
|
|
62
|
+
return `ALTER TABLE ${quoteIdentifier(tableName, schema.dialect)} ADD COLUMN${ifNotExists} ${buildColumnDefinition(schema.dialect, schema, fieldName, field)}`;
|
|
52
63
|
}
|
|
53
|
-
function
|
|
54
|
-
return `
|
|
64
|
+
function buildModifyMySqlColumnSql(schema, tableName, fieldName, field) {
|
|
65
|
+
return `ALTER TABLE ${quoteIdentifier(tableName, "mysql")} MODIFY COLUMN ${buildColumnDefinition("mysql", schema, fieldName, field)}`;
|
|
66
|
+
}
|
|
67
|
+
function buildCreateIndexSql(dialect, tableName, fieldName, unique) {
|
|
68
|
+
return `CREATE ${unique ? "UNIQUE " : ""}INDEX${dialect === "mysql" ? "" : " IF NOT EXISTS"} ${quoteIdentifier(createIndexName(tableName, fieldName, unique), dialect)} ON ${quoteIdentifier(tableName, dialect)} (${quoteIdentifier(fieldName, dialect)})`;
|
|
55
69
|
}
|
|
56
70
|
async function ensureSqliteIndexes(runner, table) {
|
|
57
71
|
const indexRows = await runner.all(`PRAGMA index_list(${quotePragmaArg(table.name)})`);
|
|
@@ -60,7 +74,7 @@ async function ensureSqliteIndexes(runner, table) {
|
|
|
60
74
|
if (!field.index && !field.unique) continue;
|
|
61
75
|
const indexName = createIndexName(table.name, fieldName, field.unique);
|
|
62
76
|
if (existingIndexes.has(indexName)) continue;
|
|
63
|
-
await runner.run(buildCreateIndexSql(table.name, fieldName, field.unique));
|
|
77
|
+
await runner.run(buildCreateIndexSql("sqlite", table.name, fieldName, field.unique));
|
|
64
78
|
}
|
|
65
79
|
}
|
|
66
80
|
async function ensurePgIndexes(runner, schemaName, table) {
|
|
@@ -70,7 +84,7 @@ async function ensurePgIndexes(runner, schemaName, table) {
|
|
|
70
84
|
if (!field.index && !field.unique) continue;
|
|
71
85
|
const indexName = createIndexName(table.name, fieldName, field.unique);
|
|
72
86
|
if (existingIndexes.has(indexName)) continue;
|
|
73
|
-
await runner.run(buildCreateIndexSql(table.name, fieldName, field.unique));
|
|
87
|
+
await runner.run(buildCreateIndexSql("postgresql", table.name, fieldName, field.unique));
|
|
74
88
|
}
|
|
75
89
|
}
|
|
76
90
|
async function applySqliteAuthMigrations(runner, schema) {
|
|
@@ -113,5 +127,32 @@ async function applyPgAuthMigrations(runner, schema) {
|
|
|
113
127
|
await ensurePgIndexes(runner, schemaName, table);
|
|
114
128
|
}
|
|
115
129
|
}
|
|
130
|
+
async function applyMySqlAuthMigrations(runner, schema) {
|
|
131
|
+
const databaseRows = await runner.all("SELECT DATABASE() AS database_name");
|
|
132
|
+
const databaseName = String(databaseRows[0]?.database_name ?? "");
|
|
133
|
+
const tableRows = await runner.all("SELECT table_name FROM information_schema.tables WHERE table_schema = ? AND table_type = 'BASE TABLE'", [databaseName]);
|
|
134
|
+
const existingTables = new Set(tableRows.map((row) => String(row.table_name)));
|
|
135
|
+
for (const table of schema.tables) {
|
|
136
|
+
if (!existingTables.has(table.name)) {
|
|
137
|
+
await runner.run(buildCreateTableSql(schema, table));
|
|
138
|
+
existingTables.add(table.name);
|
|
139
|
+
} else {
|
|
140
|
+
const columnRows = await runner.all("SELECT column_name, data_type, character_maximum_length FROM information_schema.columns WHERE table_schema = ? AND table_name = ?", [databaseName, table.name]);
|
|
141
|
+
const existingColumns = new Map(columnRows.map((row) => [String(row.column_name), row]));
|
|
142
|
+
for (const [fieldName, field] of Object.entries(table.fields)) {
|
|
143
|
+
const existingColumn = existingColumns.get(fieldName);
|
|
144
|
+
if (!existingColumn) await runner.run(buildAddColumnSql(schema, table.name, fieldName, field));
|
|
145
|
+
else if (field.unbounded && String(existingColumn.data_type ?? "").toLowerCase() === "varchar") await runner.run(buildModifyMySqlColumnSql(schema, table.name, fieldName, field));
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
const indexRows = await runner.all("SELECT index_name FROM information_schema.statistics WHERE table_schema = ? AND table_name = ?", [databaseName, table.name]);
|
|
149
|
+
const existingIndexes = new Set(indexRows.map((row) => String(row.index_name)));
|
|
150
|
+
for (const [fieldName, field] of Object.entries(table.fields)) {
|
|
151
|
+
if (!field.index && !field.unique) continue;
|
|
152
|
+
const indexName = createIndexName(table.name, fieldName, field.unique);
|
|
153
|
+
if (!existingIndexes.has(indexName)) await runner.run(buildCreateIndexSql("mysql", table.name, fieldName, field.unique));
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
}
|
|
116
157
|
//#endregion
|
|
117
|
-
export {
|
|
158
|
+
export { applyPgAuthMigrations as n, applySqliteAuthMigrations as r, applyMySqlAuthMigrations as t };
|
|
@@ -22,7 +22,7 @@ const PASSWORD_SALT_LENGTH = 16;
|
|
|
22
22
|
const SCRYPT_KEY_LENGTH = 64;
|
|
23
23
|
const SCRYPT_OPTIONS = {
|
|
24
24
|
N: 16384,
|
|
25
|
-
maxmem:
|
|
25
|
+
maxmem: 67108864,
|
|
26
26
|
p: 1,
|
|
27
27
|
r: 16
|
|
28
28
|
};
|
|
@@ -46,8 +46,9 @@ const voidAuthPassword = {
|
|
|
46
46
|
const [salt, key, ...extra] = hash.split(":");
|
|
47
47
|
if (!salt || !key || extra.length > 0) return false;
|
|
48
48
|
const storedKey = Buffer.from(key, "hex");
|
|
49
|
-
if (key.length !==
|
|
50
|
-
|
|
49
|
+
if (key.length !== 128 || storedKey.length !== SCRYPT_KEY_LENGTH) return false;
|
|
50
|
+
const targetKey = await derivePasswordKey(password, salt);
|
|
51
|
+
return timingSafeEqual(targetKey, storedKey);
|
|
51
52
|
}
|
|
52
53
|
};
|
|
53
54
|
function resolveEmailAndPassword(configuredProviders) {
|
|
@@ -79,14 +80,10 @@ function resolveSocialProviders(env, configuredProviders) {
|
|
|
79
80
|
}
|
|
80
81
|
return Object.keys(providers).length > 0 ? providers : void 0;
|
|
81
82
|
}
|
|
82
|
-
function appendAuthHeaders(
|
|
83
|
+
function appendAuthHeaders(c, source) {
|
|
83
84
|
if (!source) return;
|
|
84
85
|
source.forEach((value, key) => {
|
|
85
|
-
|
|
86
|
-
target.append(key, value);
|
|
87
|
-
return;
|
|
88
|
-
}
|
|
89
|
-
target.set(key, value);
|
|
86
|
+
c.header(key, value, { append: key.toLowerCase() === "set-cookie" });
|
|
90
87
|
});
|
|
91
88
|
}
|
|
92
89
|
function resolveUserConfig(userConfig, defaults, request, env, dialect) {
|
|
@@ -181,7 +178,7 @@ function createVoidAuthRuntime(dialect, resolveDatabase, runVoidAuthMigrations)
|
|
|
181
178
|
}, async () => {
|
|
182
179
|
await next();
|
|
183
180
|
});
|
|
184
|
-
appendAuthHeaders(c
|
|
181
|
+
appendAuthHeaders(c, result.headers);
|
|
185
182
|
} finally {
|
|
186
183
|
await dispose();
|
|
187
184
|
}
|
|
@@ -1,9 +1,13 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { i as VoidAuthConfig, n as AuthState } from "./auth-qgMlYp7Z.mjs";
|
|
1
|
+
import { i as VoidAuthConfig, n as AuthState } from "./auth-DkcFflXV.mjs";
|
|
3
2
|
import { DBFieldAttribute } from "better-auth/db";
|
|
4
3
|
import { BetterAuthOptions, betterAuth } from "better-auth";
|
|
5
4
|
import { Context } from "hono";
|
|
6
|
-
|
|
5
|
+
//#region src/auth/providers.d.ts
|
|
6
|
+
declare const VOID_SOCIAL_AUTH_PROVIDERS: readonly ["apple", "atlassian", "cognito", "discord", "dropbox", "facebook", "figma", "github", "gitlab", "google", "huggingface", "kakao", "kick", "line", "linear", "linkedin", "microsoft", "naver", "notion", "paybin", "paypal", "polar", "railway", "reddit", "roblox", "salesforce", "slack", "spotify", "tiktok", "twitch", "twitter", "vercel", "vk", "zoom"];
|
|
7
|
+
declare const VOID_EMAIL_AUTH_PROVIDER = "email";
|
|
8
|
+
declare const VOID_AUTH_PROVIDERS: readonly [typeof VOID_EMAIL_AUTH_PROVIDER, ...typeof VOID_SOCIAL_AUTH_PROVIDERS];
|
|
9
|
+
type VoidAuthProvider = (typeof VOID_AUTH_PROVIDERS)[number];
|
|
10
|
+
//#endregion
|
|
7
11
|
//#region src/auth/drizzle.d.ts
|
|
8
12
|
type AuthIdStrategy = "serial" | "text" | "uuid";
|
|
9
13
|
type VoidAuthMigrationField = {
|
|
@@ -12,6 +16,7 @@ type VoidAuthMigrationField = {
|
|
|
12
16
|
unique: boolean;
|
|
13
17
|
index: boolean;
|
|
14
18
|
bigint: boolean;
|
|
19
|
+
unbounded?: boolean;
|
|
15
20
|
references?: {
|
|
16
21
|
table: string;
|
|
17
22
|
field: string;
|
|
@@ -24,13 +29,13 @@ type VoidAuthMigrationTable = {
|
|
|
24
29
|
fields: Record<string, VoidAuthMigrationField>;
|
|
25
30
|
};
|
|
26
31
|
type VoidAuthMigrationSchema = {
|
|
27
|
-
dialect: "sqlite" | "postgresql";
|
|
32
|
+
dialect: "sqlite" | "postgresql" | "mysql";
|
|
28
33
|
idStrategy: AuthIdStrategy;
|
|
29
34
|
tables: Array<VoidAuthMigrationTable>;
|
|
30
35
|
};
|
|
31
36
|
//#endregion
|
|
32
37
|
//#region src/runtime/better-auth-shared.d.ts
|
|
33
|
-
type VoidAuthDialect = "sqlite" | "postgresql";
|
|
38
|
+
type VoidAuthDialect = "sqlite" | "postgresql" | "mysql";
|
|
34
39
|
type VoidAuthRuntimeOptions = {
|
|
35
40
|
dialect: VoidAuthDialect;
|
|
36
41
|
providers: Array<VoidAuthProvider> | null;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { D as
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import { D as log, E as intro, a as dim, c as import_picocolors, k as outro, r as cliTitle } from "./output-tFQLLj26.mjs";
|
|
2
|
+
import { c as getToken, x as readProjectConfig } from "./auth-W9WII-mN.mjs";
|
|
3
|
+
import { n as PlatformClient, t as PlatformApiError } from "./client-Clirrol3.mjs";
|
|
4
|
+
import { r as resolveProjectBySlug, t as getRequestedProjectSlug } from "./resolve-project--Vxawf7z.mjs";
|
|
4
5
|
import { appendFileSync, writeFileSync } from "node:fs";
|
|
5
6
|
//#region src/cli/build-cmd.ts
|
|
6
7
|
const POLL_MS = 1e3;
|
|
@@ -69,7 +70,8 @@ async function runBuildLogsCommand(root, args) {
|
|
|
69
70
|
let projectId;
|
|
70
71
|
const requestedSlug = getRequestedProjectSlug({ projectSlug: args.projectName });
|
|
71
72
|
if (requestedSlug) {
|
|
72
|
-
const
|
|
73
|
+
const projects = await client.listProjects();
|
|
74
|
+
const resolved = resolveProjectBySlug(projects, requestedSlug);
|
|
73
75
|
if (!resolved) {
|
|
74
76
|
log.error(`build: No project found with slug '${requestedSlug}'.`);
|
|
75
77
|
process.exit(1);
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { D as
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import { D as log, E as intro, a as dim, i as createSpinner, k as outro, r as cliTitle } from "./output-tFQLLj26.mjs";
|
|
2
|
+
import { c as getToken, x as readProjectConfig } from "./auth-W9WII-mN.mjs";
|
|
3
|
+
import { n as PlatformClient } from "./client-Clirrol3.mjs";
|
|
4
|
+
import { r as resolveProjectBySlug, t as getRequestedProjectSlug } from "./resolve-project--Vxawf7z.mjs";
|
|
4
5
|
//#region src/cli/cache.ts
|
|
5
6
|
async function runPurgeCacheCommand(root, projectSlug) {
|
|
6
7
|
console.log();
|
|
@@ -10,11 +11,13 @@ async function runPurgeCacheCommand(root, projectSlug) {
|
|
|
10
11
|
log.error("Not logged in. Run `void auth login` first.");
|
|
11
12
|
process.exit(1);
|
|
12
13
|
}
|
|
13
|
-
const client = new PlatformClient(token, { root });
|
|
14
14
|
const requestedSlug = getRequestedProjectSlug({ projectSlug });
|
|
15
15
|
let projectId;
|
|
16
|
+
let client;
|
|
16
17
|
if (requestedSlug) {
|
|
17
|
-
|
|
18
|
+
client = new PlatformClient(token, { root });
|
|
19
|
+
const projects = await client.listProjects();
|
|
20
|
+
const config = resolveProjectBySlug(projects, requestedSlug);
|
|
18
21
|
if (!config) {
|
|
19
22
|
log.error(`project: No project found with slug '${requestedSlug}'.`);
|
|
20
23
|
process.exit(1);
|
|
@@ -27,6 +30,7 @@ async function runPurgeCacheCommand(root, projectSlug) {
|
|
|
27
30
|
process.exit(1);
|
|
28
31
|
}
|
|
29
32
|
projectId = linked.projectId;
|
|
33
|
+
client = new PlatformClient(token, { root });
|
|
30
34
|
}
|
|
31
35
|
const s = createSpinner();
|
|
32
36
|
s.start("Purging cache...");
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { D as
|
|
2
|
-
import {
|
|
1
|
+
import { D as log, E as intro, F as isCancel, k as outro, r as cliTitle, w as confirm } from "./output-tFQLLj26.mjs";
|
|
2
|
+
import { c as getToken, x as readProjectConfig } from "./auth-W9WII-mN.mjs";
|
|
3
|
+
import { n as PlatformClient } from "./client-Clirrol3.mjs";
|
|
3
4
|
//#region src/cli/cancel-deploy.ts
|
|
4
5
|
const ACTIVE_STATUSES = /* @__PURE__ */ new Set([
|
|
5
6
|
"pending",
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
//#region src/shared/cf-access.ts
|
|
2
|
+
/**
|
|
3
|
+
* Resolve Cloudflare Access headers from an env-like object.
|
|
4
|
+
*
|
|
5
|
+
* Priority:
|
|
6
|
+
* 1. Service token pair (`CF_ACCESS_CLIENT_ID` + `CF_ACCESS_CLIENT_SECRET`) — CI path
|
|
7
|
+
* 2. User JWT (`CF_ACCESS_TOKEN`) — dev path, typically populated via `cloudflared access token`
|
|
8
|
+
* 3. No headers — prod, or unprotected hostnames
|
|
9
|
+
*/
|
|
10
|
+
function isVoidAccessGatedUrl(targetUrl) {
|
|
11
|
+
try {
|
|
12
|
+
const url = new URL(targetUrl);
|
|
13
|
+
return url.protocol === "https:" && (url.hostname.endsWith(".staging.void.cloud") || url.hostname.endsWith(".staging.void.app"));
|
|
14
|
+
} catch {
|
|
15
|
+
return false;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
function accessHeaders(env) {
|
|
19
|
+
const id = env.CF_ACCESS_CLIENT_ID;
|
|
20
|
+
const secret = env.CF_ACCESS_CLIENT_SECRET;
|
|
21
|
+
if (typeof id === "string" && typeof secret === "string" && id.length > 0 && secret.length > 0) return {
|
|
22
|
+
"CF-Access-Client-Id": id,
|
|
23
|
+
"CF-Access-Client-Secret": secret
|
|
24
|
+
};
|
|
25
|
+
const token = env.CF_ACCESS_TOKEN;
|
|
26
|
+
if (typeof token === "string" && token.length > 0) return { "cf-access-token": token };
|
|
27
|
+
return {};
|
|
28
|
+
}
|
|
29
|
+
/** Attach shared Void Access credentials only to known hosted staging origins. */
|
|
30
|
+
function cfAccessHeaders(env, targetUrl) {
|
|
31
|
+
return isVoidAccessGatedUrl(targetUrl) ? accessHeaders(env) : {};
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Capture credentials for a Cloudflare Worker readiness request whose target
|
|
35
|
+
* is resolved and constrained by the direct-deploy adapter rather than a
|
|
36
|
+
* user-connected Void platform URL.
|
|
37
|
+
*/
|
|
38
|
+
function trustedCloudflareWorkerAccessHeaders(env) {
|
|
39
|
+
return accessHeaders(env);
|
|
40
|
+
}
|
|
41
|
+
//#endregion
|
|
42
|
+
export { isVoidAccessGatedUrl as n, trustedCloudflareWorkerAccessHeaders as r, cfAccessHeaders as t };
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { n as isVoidAccessGatedUrl } from "./cf-access-AJ1ehiFR.mjs";
|
|
2
|
+
import { spawnSync } from "node:child_process";
|
|
3
|
+
//#region src/cli/cf-access.ts
|
|
4
|
+
const probedHosts = /* @__PURE__ */ new Set();
|
|
5
|
+
/**
|
|
6
|
+
* If the CLI is about to talk to a Cloudflare-Access-gated staging host,
|
|
7
|
+
* probe the locally-installed `cloudflared` binary for a cached user JWT
|
|
8
|
+
* and export it as `CF_ACCESS_TOKEN`. On interactive shells with no cached
|
|
9
|
+
* token, open a browser login flow to populate the cache, then re-read it.
|
|
10
|
+
*
|
|
11
|
+
* Cached per-host so that an early non-gated call (e.g. prod) does not
|
|
12
|
+
* permanently disable the probe for a later gated call (e.g. staging) in
|
|
13
|
+
* the same process. Noop when:
|
|
14
|
+
* - a service-token pair is already set (CI path)
|
|
15
|
+
* - `CF_ACCESS_TOKEN` is already set (manual override or prior probe)
|
|
16
|
+
* - the target host is not gated
|
|
17
|
+
* - `cloudflared` is not installed
|
|
18
|
+
*/
|
|
19
|
+
function ensureCloudflaredToken(apiUrl) {
|
|
20
|
+
if (process.env.CF_ACCESS_CLIENT_ID && process.env.CF_ACCESS_CLIENT_SECRET) return;
|
|
21
|
+
if (process.env.CF_ACCESS_TOKEN) return;
|
|
22
|
+
if (!isVoidAccessGatedUrl(apiUrl)) return;
|
|
23
|
+
const host = new URL(apiUrl).hostname;
|
|
24
|
+
if (probedHosts.has(host)) return;
|
|
25
|
+
probedHosts.add(host);
|
|
26
|
+
let token = runCloudflared([
|
|
27
|
+
"access",
|
|
28
|
+
"token",
|
|
29
|
+
`-app=${apiUrl}`
|
|
30
|
+
]);
|
|
31
|
+
if (!token && process.stdin.isTTY && process.stdout.isTTY) {
|
|
32
|
+
runCloudflared([
|
|
33
|
+
"access",
|
|
34
|
+
"login",
|
|
35
|
+
apiUrl
|
|
36
|
+
], {
|
|
37
|
+
inherit: true,
|
|
38
|
+
timeoutMs: 12e4
|
|
39
|
+
});
|
|
40
|
+
token = runCloudflared([
|
|
41
|
+
"access",
|
|
42
|
+
"token",
|
|
43
|
+
`-app=${apiUrl}`
|
|
44
|
+
]);
|
|
45
|
+
}
|
|
46
|
+
if (token) process.env.CF_ACCESS_TOKEN = token;
|
|
47
|
+
}
|
|
48
|
+
function runCloudflared(args, opts) {
|
|
49
|
+
try {
|
|
50
|
+
const result = spawnSync("cloudflared", args, {
|
|
51
|
+
encoding: "utf-8",
|
|
52
|
+
stdio: opts?.inherit ? "inherit" : [
|
|
53
|
+
"ignore",
|
|
54
|
+
"pipe",
|
|
55
|
+
"pipe"
|
|
56
|
+
],
|
|
57
|
+
timeout: opts?.timeoutMs ?? 5e3
|
|
58
|
+
});
|
|
59
|
+
if (result.error || result.status !== 0) return null;
|
|
60
|
+
const out = (result.stdout ?? "").trim();
|
|
61
|
+
return out.length > 0 ? out : null;
|
|
62
|
+
} catch {
|
|
63
|
+
return null;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
//#endregion
|
|
67
|
+
export { ensureCloudflaredToken as t };
|
package/dist/cli/cli.d.mts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export {}
|