void 0.1.6 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENT_PROMPT.md +15 -0
- package/README.md +62 -123
- package/dist/auth-BdsJ0Aff.d.mts +43 -0
- package/dist/auth-cmd-Dx8oPKZC.mjs +43 -0
- package/dist/auth-migrations-BAtAck2g.mjs +117 -0
- package/dist/better-auth-shared-C9_GHSkR.d.mts +71 -0
- package/dist/better-auth-shared-CdYmQGry.mjs +163 -0
- package/dist/cache-W82I8ihI.mjs +47 -0
- package/dist/cancel-deploy-BOBTqqh0.mjs +59 -0
- package/dist/cf-access-Dee5cXxL.mjs +22 -0
- package/dist/chunk-DJd-R1mw.mjs +34 -0
- package/dist/cli/cli.d.mts +1 -0
- package/dist/cli/cli.mjs +1807 -0
- package/dist/client-snXOjrp1.mjs +565 -0
- package/dist/collect-CjeZgz5D.mjs +55 -0
- package/dist/config-BIa9HwVX.mjs +573 -0
- package/dist/config-BzM9Dy7T.mjs +37 -0
- package/dist/config-CvHtTM0q.mjs +30 -0
- package/dist/create-project-BIA15W7z.mjs +90 -0
- package/dist/db-DsRoMcfN.mjs +895 -0
- package/dist/defer-DcxEsVH1.mjs +49 -0
- package/dist/delete-DAP6yDc7.mjs +64 -0
- package/dist/deploy-BPKblFx6.mjs +2424 -0
- package/dist/discover-B7FkXBLB.mjs +40 -0
- package/dist/dist-DUyXJLkq.mjs +2667 -0
- package/dist/dist-Dayj3gCK.mjs +1287 -0
- package/dist/domain-BGofcQ6I.mjs +79 -0
- package/dist/dotenv-DwO4ti0Z.mjs +173 -0
- package/dist/drizzle-NnudE_UN.mjs +232 -0
- package/dist/env-CyG3tvU0.mjs +301 -0
- package/dist/env-helpers-Dr9Y7RnE.d.mts +52 -0
- package/dist/env-raw-BDL4TvdN.mjs +32 -0
- package/dist/env-types-DknSA4SO.mjs +64 -0
- package/dist/env-validation-DJKjR_8q.mjs +163 -0
- package/dist/fetch-error-BQ8sZ5Nd.mjs +266 -0
- package/dist/fetch-error-CVZ5CGA-.d.mts +20 -0
- package/dist/gen-U0Ktr4Zd.mjs +761 -0
- package/dist/handler-B0ds0OHJ.d.mts +269 -0
- package/dist/head-P-egrtFE.d.mts +45 -0
- package/dist/headers-DCXc7mDs.mjs +279 -0
- package/dist/index.d.mts +32 -0
- package/dist/index.mjs +4695 -0
- package/dist/init-C7wS5iGP.mjs +2625 -0
- package/dist/link-p2R6NbgN.mjs +49 -0
- package/dist/list-Bfel-QLc.mjs +113 -0
- package/dist/log-DXdqnmhF.mjs +26 -0
- package/dist/login-CkcXUiIu.mjs +72 -0
- package/dist/logs-DmkrRvx6.mjs +98 -0
- package/dist/magic-string.es-D6g9UnIy.mjs +1011 -0
- package/dist/mcp-CaQzfeUi.mjs +373 -0
- package/dist/node-DDfXj10V.mjs +54 -0
- package/dist/output-BwlcIYSR.mjs +139 -0
- package/dist/pages/client.d.mts +198 -0
- package/dist/pages/client.mjs +980 -0
- package/dist/pages/head-client.d.mts +15 -0
- package/dist/pages/head-client.mjs +90 -0
- package/dist/pages/head.d.mts +2 -0
- package/dist/pages/head.mjs +112 -0
- package/dist/pages/index.d.mts +38 -0
- package/dist/pages/index.mjs +76 -0
- package/dist/pages/islands-plugin.d.mts +50 -0
- package/dist/pages/islands-plugin.mjs +195 -0
- package/dist/pages/prefetch.d.mts +31 -0
- package/dist/pages/prefetch.mjs +90 -0
- package/dist/pages/protocol.d.mts +3 -0
- package/dist/pages/protocol.mjs +193 -0
- package/dist/pages/serialize.d.mts +10 -0
- package/dist/pages/serialize.mjs +14 -0
- package/dist/pathe.M-eThtNZ-D-kmWkCS.mjs +150 -0
- package/dist/plugin-inference-oZ6Ybu2_.mjs +2447 -0
- package/dist/prepare-BAtWufvm.mjs +99 -0
- package/dist/preset-D4I73kT4.mjs +221 -0
- package/dist/project-TqORyHn8.mjs +72 -0
- package/dist/project-cmd-B7lQp3F3.mjs +67 -0
- package/dist/project-slug-CKam8lF9.mjs +11 -0
- package/dist/project-tsconfig-DfkESbDL.mjs +63 -0
- package/dist/protocol-BWzXs2A2.d.mts +34 -0
- package/dist/providers-B3aMxWzP.mjs +67 -0
- package/dist/resolve-project-Br5BR03U.mjs +29 -0
- package/dist/rollback-gyC59l7U.mjs +92 -0
- package/dist/route-types-DReF1gUY.mjs +255 -0
- package/dist/routes-stub.d.mts +55 -0
- package/dist/routes-stub.mjs +1 -0
- package/dist/runner-6Ep3fNQu.mjs +123 -0
- package/dist/runner-pg-D0wWHYnr.mjs +57 -0
- package/dist/runtime/ai.d.mts +127 -0
- package/dist/runtime/ai.mjs +348 -0
- package/dist/runtime/auth-client-react.d.mts +8 -0
- package/dist/runtime/auth-client-react.mjs +6 -0
- package/dist/runtime/auth-client-solid.d.mts +8 -0
- package/dist/runtime/auth-client-solid.mjs +6 -0
- package/dist/runtime/auth-client-svelte.d.mts +8 -0
- package/dist/runtime/auth-client-svelte.mjs +6 -0
- package/dist/runtime/auth-client-vue.d.mts +8 -0
- package/dist/runtime/auth-client-vue.mjs +6 -0
- package/dist/runtime/auth-client.d.mts +8 -0
- package/dist/runtime/auth-client.mjs +6 -0
- package/dist/runtime/auth.d.mts +2 -0
- package/dist/runtime/auth.mjs +22 -0
- package/dist/runtime/better-auth-pg.d.mts +11 -0
- package/dist/runtime/better-auth-pg.mjs +51 -0
- package/dist/runtime/better-auth.d.mts +11 -0
- package/dist/runtime/better-auth.mjs +33 -0
- package/dist/runtime/client.d.mts +6 -0
- package/dist/runtime/client.mjs +5 -0
- package/dist/runtime/db-pg.d.mts +2 -0
- package/dist/runtime/db-pg.mjs +1 -0
- package/dist/runtime/db.d.mts +17 -0
- package/dist/runtime/db.mjs +30 -0
- package/dist/runtime/drizzle-arktype.d.mts +1 -0
- package/dist/runtime/drizzle-arktype.mjs +2 -0
- package/dist/runtime/drizzle-valibot.d.mts +1 -0
- package/dist/runtime/drizzle-valibot.mjs +2 -0
- package/dist/runtime/drizzle-zod.d.mts +1 -0
- package/dist/runtime/drizzle-zod.mjs +2 -0
- package/dist/runtime/env-helpers.d.mts +2 -0
- package/dist/runtime/env-helpers.mjs +173 -0
- package/dist/runtime/env-public-client.d.mts +22 -0
- package/dist/runtime/env-public-client.mjs +54 -0
- package/dist/runtime/env-public.d.mts +143 -0
- package/dist/runtime/env-public.mjs +366 -0
- package/dist/runtime/env.d.mts +13 -0
- package/dist/runtime/env.mjs +51 -0
- package/dist/runtime/fetch-stream.d.mts +51 -0
- package/dist/runtime/fetch-stream.mjs +81 -0
- package/dist/runtime/fetch.d.mts +59 -0
- package/dist/runtime/fetch.mjs +18 -0
- package/dist/runtime/handler.d.mts +3 -0
- package/dist/runtime/handler.mjs +85 -0
- package/dist/runtime/isr.d.mts +26 -0
- package/dist/runtime/isr.mjs +43 -0
- package/dist/runtime/kv.d.mts +48 -0
- package/dist/runtime/kv.mjs +106 -0
- package/dist/runtime/log.d.mts +24 -0
- package/dist/runtime/log.mjs +31 -0
- package/dist/runtime/migration-handler-pg.d.mts +6 -0
- package/dist/runtime/migration-handler-pg.mjs +85 -0
- package/dist/runtime/migration-handler.d.mts +19 -0
- package/dist/runtime/migration-handler.mjs +92 -0
- package/dist/runtime/queues.d.mts +7 -0
- package/dist/runtime/queues.mjs +8 -0
- package/dist/runtime/remote/binding-handler.d.mts +15 -0
- package/dist/runtime/remote/binding-handler.mjs +208 -0
- package/dist/runtime/remote/index.d.mts +8 -0
- package/dist/runtime/remote/index.mjs +461 -0
- package/dist/runtime/response.d.mts +14 -0
- package/dist/runtime/response.mjs +30 -0
- package/dist/runtime/sandbox.d.mts +17 -0
- package/dist/runtime/sandbox.mjs +19 -0
- package/dist/runtime/schema-d1.d.mts +1 -0
- package/dist/runtime/schema-d1.mjs +2 -0
- package/dist/runtime/schema-pg.d.mts +1 -0
- package/dist/runtime/schema-pg.mjs +2 -0
- package/dist/runtime/seed.d.mts +30 -0
- package/dist/runtime/seed.mjs +6 -0
- package/dist/runtime/storage.d.mts +7 -0
- package/dist/runtime/storage.mjs +14 -0
- package/dist/runtime/validator.d.mts +2 -0
- package/dist/runtime/validator.mjs +72 -0
- package/dist/runtime/ws-server.d.mts +26 -0
- package/dist/runtime/ws-server.mjs +296 -0
- package/dist/runtime/ws.d.mts +123 -0
- package/dist/runtime/ws.mjs +103 -0
- package/dist/scan-Ba4hFwlH.mjs +324 -0
- package/dist/scan-C6HMEIdW.mjs +318 -0
- package/dist/secret-CeRSukgM.mjs +109 -0
- package/dist/skills-ipldjlKE.mjs +62 -0
- package/dist/standard-schema-9CRjx-uR.d.mts +42 -0
- package/dist/subcommand-prompt-BKjuNAPb.mjs +349 -0
- package/dist/sveltekit.d.mts +20 -0
- package/dist/sveltekit.mjs +61 -0
- package/dist/types-mHOEwpW4.d.mts +57 -0
- package/dist/validate-CaMavMxu.mjs +146 -0
- package/dist/yarn-pnp-BFqMV_bl.mjs +196 -0
- package/getting-started-prompt.txt +26 -0
- package/package.json +322 -30
- package/schema.json +364 -0
- package/skills/migrate-vite-cloudflare-to-void/SKILL.md +175 -0
- package/skills/void/SKILL.md +75 -0
- package/skills/void/command/void.md +7 -0
- package/skills/void/docs/guide/ai.md +235 -0
- package/skills/void/docs/guide/app-types.md +103 -0
- package/skills/void/docs/guide/auth.md +257 -0
- package/skills/void/docs/guide/database/d1.md +106 -0
- package/skills/void/docs/guide/database/postgresql.md +106 -0
- package/skills/void/docs/guide/database.md +418 -0
- package/skills/void/docs/guide/deployment.md +98 -0
- package/skills/void/docs/guide/edge/headers.md +79 -0
- package/skills/void/docs/guide/edge/prerendering.md +83 -0
- package/skills/void/docs/guide/edge/redirects.md +116 -0
- package/skills/void/docs/guide/edge/revalidation.md +131 -0
- package/skills/void/docs/guide/edge/rewrites.md +354 -0
- package/skills/void/docs/guide/edge/static-assets.md +72 -0
- package/skills/void/docs/guide/env-vars.md +298 -0
- package/skills/void/docs/guide/index.md +80 -0
- package/skills/void/docs/guide/jobs.md +91 -0
- package/skills/void/docs/guide/kv.md +107 -0
- package/skills/void/docs/guide/pages-routing/actions-and-forms.md +419 -0
- package/skills/void/docs/guide/pages-routing/head.md +130 -0
- package/skills/void/docs/guide/pages-routing/islands.md +405 -0
- package/skills/void/docs/guide/pages-routing/layouts.md +362 -0
- package/skills/void/docs/guide/pages-routing/loaders.md +267 -0
- package/skills/void/docs/guide/pages-routing/markdown.md +625 -0
- package/skills/void/docs/guide/pages-routing/overview.md +236 -0
- package/skills/void/docs/guide/pages-routing/view-transitions.md +140 -0
- package/skills/void/docs/guide/queues.md +140 -0
- package/skills/void/docs/guide/quickstart.md +233 -0
- package/skills/void/docs/guide/remote-dev.md +67 -0
- package/skills/void/docs/guide/sandboxes.md +82 -0
- package/skills/void/docs/guide/server-routing.md +246 -0
- package/skills/void/docs/guide/ssg.md +74 -0
- package/skills/void/docs/guide/ssr.md +105 -0
- package/skills/void/docs/guide/storage.md +67 -0
- package/skills/void/docs/guide/type-safety.md +179 -0
- package/skills/void/docs/guide/typed-fetch.md +113 -0
- package/skills/void/docs/guide/websockets.md +190 -0
- package/skills/void/docs/index.md +48 -0
- package/skills/void/docs/integrations/agents.md +84 -0
- package/skills/void/docs/integrations/cloudflare.md +284 -0
- package/skills/void/docs/integrations/frameworks/analog.md +182 -0
- package/skills/void/docs/integrations/frameworks/astro.md +197 -0
- package/skills/void/docs/integrations/frameworks/nuxt.md +164 -0
- package/skills/void/docs/integrations/frameworks/overview.md +136 -0
- package/skills/void/docs/integrations/frameworks/react-router.md +137 -0
- package/skills/void/docs/integrations/frameworks/sveltekit.md +191 -0
- package/skills/void/docs/integrations/frameworks/tanstack-start.md +140 -0
- package/skills/void/docs/integrations/hono.md +97 -0
- package/skills/void/docs/integrations/nodejs-bun-deno.md +210 -0
- package/skills/void/docs/node_modules/@iconify/vue/README.md +408 -0
- package/skills/void/docs/node_modules/@iconify/vue/offline/readme.md +5 -0
- package/skills/void/docs/node_modules/@voidzero-dev/vitepress-theme/README.md +103 -0
- package/skills/void/docs/node_modules/oxc-minify/README.md +78 -0
- package/skills/void/docs/node_modules/reka-ui/README.md +80 -0
- package/skills/void/docs/node_modules/vitepress/README.md +28 -0
- package/skills/void/docs/node_modules/vitepress/template/api-examples.md +49 -0
- package/skills/void/docs/node_modules/vitepress/template/index.md +28 -0
- package/skills/void/docs/node_modules/vitepress/template/markdown-examples.md +85 -0
- package/skills/void/docs/node_modules/vitepress-plugin-group-icons/README.md +101 -0
- package/skills/void/docs/node_modules/void/AGENTS.md +204 -0
- package/skills/void/docs/node_modules/void/AGENT_PROMPT.md +15 -0
- package/skills/void/docs/node_modules/void/README.md +89 -0
- package/skills/void/docs/node_modules/void/node_modules/@clack/prompts/CHANGELOG.md +591 -0
- package/skills/void/docs/node_modules/void/node_modules/@clack/prompts/README.md +375 -0
- package/skills/void/docs/node_modules/void/node_modules/@cloudflare/sandbox/README.md +174 -0
- package/skills/void/docs/node_modules/void/node_modules/@cloudflare/vite-plugin/README.md +37 -0
- package/skills/void/docs/node_modules/void/node_modules/@cloudflare/workers-types/README.md +135 -0
- package/skills/void/docs/node_modules/void/node_modules/@electric-sql/pglite/README.md +189 -0
- package/skills/void/docs/node_modules/void/node_modules/@hono/oauth-providers/CHANGELOG.md +143 -0
- package/skills/void/docs/node_modules/void/node_modules/@hono/oauth-providers/README.md +1272 -0
- package/skills/void/docs/node_modules/void/node_modules/@napi-rs/keyring/README.md +19 -0
- package/skills/void/docs/node_modules/void/node_modules/@types/better-sqlite3/README.md +15 -0
- package/skills/void/docs/node_modules/void/node_modules/@types/node/README.md +15 -0
- package/skills/void/docs/node_modules/void/node_modules/@types/pg/README.md +15 -0
- package/skills/void/docs/node_modules/void/node_modules/@typescript/native-preview/README.md +22 -0
- package/skills/void/docs/node_modules/void/node_modules/@typescript/native-preview/vendor/vscode-jsonrpc/README.md +69 -0
- package/skills/void/docs/node_modules/void/node_modules/@void/md/README.md +152 -0
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/@shikijs/engine-javascript/README.md +9 -0
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/@shikijs/transformers/README.md +9 -0
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/@types/node/README.md +15 -0
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/gray-matter/CHANGELOG.md +24 -0
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/gray-matter/README.md +565 -0
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/markdown-exit/README.md +124 -0
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/markdown-it-anchor/README.md +600 -0
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/markdown-it-attrs/README.md +386 -0
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/markdown-it-container/README.md +95 -0
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/markdown-it-emoji/README.md +101 -0
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/pathe/README.md +73 -0
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/shiki/README.md +15 -0
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/tinyglobby/README.md +25 -0
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/tsdown/README.md +55 -0
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite/LICENSE.md +2230 -0
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite/README.md +20 -0
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vue/README.md +58 -0
- package/skills/void/docs/node_modules/void/node_modules/arktype/README.md +165 -0
- package/skills/void/docs/node_modules/void/node_modules/better-auth/LICENSE.md +20 -0
- package/skills/void/docs/node_modules/void/node_modules/better-auth/README.md +32 -0
- package/skills/void/docs/node_modules/void/node_modules/better-sqlite3/README.md +99 -0
- package/skills/void/docs/node_modules/void/node_modules/blake3-jit/README.md +108 -0
- package/skills/void/docs/node_modules/void/node_modules/drizzle-arktype/README.md +51 -0
- package/skills/void/docs/node_modules/void/node_modules/drizzle-kit/README.md +79 -0
- package/skills/void/docs/node_modules/void/node_modules/drizzle-orm/README.md +44 -0
- package/skills/void/docs/node_modules/void/node_modules/drizzle-valibot/README.md +51 -0
- package/skills/void/docs/node_modules/void/node_modules/drizzle-zod/README.md +65 -0
- package/skills/void/docs/node_modules/void/node_modules/es-module-lexer/README.md +390 -0
- package/skills/void/docs/node_modules/void/node_modules/estree-walker/README.md +48 -0
- package/skills/void/docs/node_modules/void/node_modules/hono/README.md +85 -0
- package/skills/void/docs/node_modules/void/node_modules/ignore/README.md +452 -0
- package/skills/void/docs/node_modules/void/node_modules/jsonc-parser/CHANGELOG.md +76 -0
- package/{LICENSE → skills/void/docs/node_modules/void/node_modules/jsonc-parser/LICENSE.md} +21 -21
- package/skills/void/docs/node_modules/void/node_modules/jsonc-parser/README.md +364 -0
- package/skills/void/docs/node_modules/void/node_modules/jsonc-parser/SECURITY.md +41 -0
- package/skills/void/docs/node_modules/void/node_modules/magic-string/README.md +325 -0
- package/skills/void/docs/node_modules/void/node_modules/ofetch/README.md +398 -0
- package/skills/void/docs/node_modules/void/node_modules/pathe/README.md +73 -0
- package/skills/void/docs/node_modules/void/node_modules/pg/README.md +95 -0
- package/skills/void/docs/node_modules/void/node_modules/pglite-server/LICENSE.md +21 -0
- package/skills/void/docs/node_modules/void/node_modules/pglite-server/README.md +135 -0
- package/skills/void/docs/node_modules/void/node_modules/picocolors/README.md +21 -0
- package/skills/void/docs/node_modules/void/node_modules/tinyglobby/README.md +25 -0
- package/skills/void/docs/node_modules/void/node_modules/tsdown/README.md +55 -0
- package/skills/void/docs/node_modules/void/node_modules/valibot/LICENSE.md +9 -0
- package/skills/void/docs/node_modules/void/node_modules/valibot/README.md +94 -0
- package/skills/void/docs/node_modules/void/node_modules/vite/LICENSE.md +2230 -0
- package/skills/void/docs/node_modules/void/node_modules/vite/README.md +20 -0
- package/skills/void/docs/node_modules/void/node_modules/wrangler/README.md +63 -0
- package/skills/void/docs/node_modules/void/node_modules/zod/README.md +191 -0
- package/skills/void/docs/node_modules/void/skills/migrate-vite-cloudflare-to-void/SKILL.md +175 -0
- package/skills/void/docs/node_modules/void/skills/void/SKILL.md +75 -0
- package/skills/void/docs/node_modules/void/skills/void/command/void.md +7 -0
- package/skills/void/docs/reference/api.md +917 -0
- package/skills/void/docs/reference/cli.md +561 -0
- package/skills/void/docs/reference/config.md +408 -0
- package/skills/void/docs/reference/resource-inference.md +149 -0
- package/skills/void/docs/reference/structure.md +176 -0
- package/.npmignore +0 -29
- package/.travis.yml +0 -9
- package/favicon.ico +0 -0
- package/index.js +0 -14
- package/lib/Job.js +0 -150
- package/lib/Void.js +0 -99
- package/lib/scan.js +0 -19
- package/test/credentials.js +0 -20
- package/test/job.js +0 -64
- package/test/static/dir1/test6.html +0 -0
- package/test/static/dir2/test7.html +0 -0
- package/test/static/dir2/test8.html +0 -0
- package/test/static/dir2/test9.html +0 -0
- package/test/static/test1.html +0 -0
- package/test/static/test2.html +0 -0
- package/test/static/test3.html +0 -0
- package/test/void.js +0 -31
- /package/{test/static/dir1/test4.html → skills/void/docs/integrations/auth-providers.md} +0 -0
- /package/{test/static/dir1/test5.html → skills/void/docs/integrations/payment-processors.md} +0 -0
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# Vite ⚡
|
|
2
|
+
|
|
3
|
+
> Next Generation Frontend Tooling
|
|
4
|
+
|
|
5
|
+
- 💡 Instant Server Start
|
|
6
|
+
- ⚡️ Lightning Fast HMR
|
|
7
|
+
- 🛠️ Rich Features
|
|
8
|
+
- 📦 Optimized Build
|
|
9
|
+
- 🔩 Universal Plugin Interface
|
|
10
|
+
- 🔑 Fully Typed APIs
|
|
11
|
+
|
|
12
|
+
Vite (French word for "quick", pronounced [`/viːt/`](https://cdn.jsdelivr.net/gh/vitejs/vite@main/docs/public/vite.mp3), like "veet") is a build tool that aims to provide a faster and leaner development experience for modern web projects. It consists of two major parts:
|
|
13
|
+
|
|
14
|
+
- A dev server that provides [rich feature enhancements](https://vite.dev/guide/features) over [native ES modules](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Modules), for example extremely fast [Hot Module Replacement (HMR)](https://vite.dev/guide/features#hot-module-replacement).
|
|
15
|
+
|
|
16
|
+
- A build command that bundles your code with [Rolldown](https://rolldown.rs), pre-configured to output highly optimized static assets for production.
|
|
17
|
+
|
|
18
|
+
In addition, Vite is highly extensible via its [Plugin API](https://vite.dev/guide/api-plugin.html) and [JavaScript API](https://vite.dev/guide/api-javascript.html) with full typing support.
|
|
19
|
+
|
|
20
|
+
[Read the Docs to Learn More](https://vite.dev).
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
# vue
|
|
2
|
+
|
|
3
|
+
## Which dist file to use?
|
|
4
|
+
|
|
5
|
+
### From CDN or without a Bundler
|
|
6
|
+
|
|
7
|
+
- **`vue(.runtime).global(.prod).js`**:
|
|
8
|
+
- For direct use via `<script src="...">` in the browser. Exposes the `Vue` global.
|
|
9
|
+
- Note that global builds are not [UMD](https://github.com/umdjs/umd) builds. They are built as [IIFEs](https://developer.mozilla.org/en-US/docs/Glossary/IIFE) and are only meant for direct use via `<script src="...">`.
|
|
10
|
+
- In-browser template compilation:
|
|
11
|
+
- **`vue.global.js`** is the "full" build that includes both the compiler and the runtime so it supports compiling templates on the fly.
|
|
12
|
+
- **`vue.runtime.global.js`** contains only the runtime and requires templates to be pre-compiled during a build step.
|
|
13
|
+
- Inlines all Vue core internal packages - i.e. it's a single file with no dependencies on other files. This means you **must** import everything from this file and this file only to ensure you are getting the same instance of code.
|
|
14
|
+
- Contains hard-coded prod/dev branches, and the prod build is pre-minified. Use the `*.prod.js` files for production.
|
|
15
|
+
|
|
16
|
+
- **`vue(.runtime).esm-browser(.prod).js`**:
|
|
17
|
+
- For usage via native ES modules imports (in browser via `<script type="module">`).
|
|
18
|
+
- Shares the same runtime compilation, dependency inlining and hard-coded prod/dev behavior with the global build.
|
|
19
|
+
|
|
20
|
+
### With a Bundler
|
|
21
|
+
|
|
22
|
+
- **`vue(.runtime).esm-bundler.js`**:
|
|
23
|
+
- For use with bundlers like `webpack`, `rollup` and `parcel`.
|
|
24
|
+
- Leaves prod/dev branches with `process.env.NODE_ENV` guards (must be replaced by bundler)
|
|
25
|
+
- Does not ship minified builds (to be done together with the rest of the code after bundling)
|
|
26
|
+
- Imports dependencies (e.g. `@vue/runtime-core`, `@vue/compiler-core`)
|
|
27
|
+
- Imported dependencies are also `esm-bundler` builds and will in turn import their dependencies (e.g. `@vue/runtime-core` imports `@vue/reactivity`)
|
|
28
|
+
- This means you **can** install/import these deps individually without ending up with different instances of these dependencies, but you must make sure they all resolve to the same version.
|
|
29
|
+
- In-browser template compilation:
|
|
30
|
+
- **`vue.runtime.esm-bundler.js` (default)** is runtime only, and requires all templates to be pre-compiled. This is the default entry for bundlers (via `module` field in `package.json`) because when using a bundler templates are typically pre-compiled (e.g. in `*.vue` files).
|
|
31
|
+
- **`vue.esm-bundler.js`**: includes the runtime compiler. Use this if you are using a bundler but still want runtime template compilation (e.g. in-DOM templates or templates via inline JavaScript strings). You will need to configure your bundler to alias `vue` to this file.
|
|
32
|
+
|
|
33
|
+
#### Bundler Build Feature Flags
|
|
34
|
+
|
|
35
|
+
[Detailed Reference on vuejs.org](https://vuejs.org/api/compile-time-flags.html)
|
|
36
|
+
|
|
37
|
+
`esm-bundler` builds of Vue expose global feature flags that can be overwritten at compile time:
|
|
38
|
+
|
|
39
|
+
- `__VUE_OPTIONS_API__`
|
|
40
|
+
- Default: `true`
|
|
41
|
+
- Enable / disable Options API support
|
|
42
|
+
|
|
43
|
+
- `__VUE_PROD_DEVTOOLS__`
|
|
44
|
+
- Default: `false`
|
|
45
|
+
- Enable / disable devtools support in production
|
|
46
|
+
|
|
47
|
+
- `__VUE_PROD_HYDRATION_MISMATCH_DETAILS__`
|
|
48
|
+
- Default: `false`
|
|
49
|
+
- Enable / disable detailed warnings for hydration mismatches in production
|
|
50
|
+
|
|
51
|
+
The build will work without configuring these flags, however it is **strongly recommended** to properly configure them in order to get proper tree-shaking in the final bundle.
|
|
52
|
+
|
|
53
|
+
### For Server-Side Rendering
|
|
54
|
+
|
|
55
|
+
- **`vue.cjs(.prod).js`**:
|
|
56
|
+
- For use in Node.js server-side rendering via `require()`.
|
|
57
|
+
- If you bundle your app with webpack with `target: 'node'` and properly externalize `vue`, this is the build that will be loaded.
|
|
58
|
+
- The dev/prod files are pre-built, but the appropriate file is automatically required based on `process.env.NODE_ENV`.
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
<h1 align="center">ArkType</h1>
|
|
2
|
+
<h3 align="center"><i>TypeScript's 1:1 validator, optimized from editor to runtime</i></h1>
|
|
3
|
+
|
|
4
|
+
ArkType is a runtime validation library that parses optimized validators from familiar, type-safe syntax.
|
|
5
|
+
|
|
6
|
+
It can be used to check external data like JSON payloads or forms at the boundaries of your code (similar to Zod).
|
|
7
|
+
|
|
8
|
+
<video
|
|
9
|
+
autoPlay
|
|
10
|
+
loop
|
|
11
|
+
controls
|
|
12
|
+
playsInline
|
|
13
|
+
muted
|
|
14
|
+
disablePictureInPicture
|
|
15
|
+
src="https://github.com/user-attachments/assets/69fdded6-50a9-402d-a28c-afa58db63c90"
|
|
16
|
+
/>
|
|
17
|
+
|
|
18
|
+
## Docs
|
|
19
|
+
|
|
20
|
+
See our [docs site](https://arktype.io)
|
|
21
|
+
|
|
22
|
+
## Contributions
|
|
23
|
+
|
|
24
|
+
We accept and encourage pull requests from outside ArkType. Planned work is tracked in [this GitHub project](https://github.com/orgs/arktypeio/projects/4).
|
|
25
|
+
|
|
26
|
+
Depending on your level of familiarity with type systems and TS generics, some parts of the codebase may be hard to jump into. That said, there's plenty of opportunities for more straightforward contributions. We'd generally recommend starting with one of these issues labeled [external-contributor-friendly](https://github.com/orgs/arktypeio/projects/4/?filterQuery=label%3A%22external-contributor-friendly%22).
|
|
27
|
+
|
|
28
|
+
If you're planning on submitting a non-trivial fix or a new feature, please [create an issue first](https://github.com/arktypeio/arktype/issues/new) so everyone's on the same page. The last thing we want is for you to spend time on a submission we're unable to merge.
|
|
29
|
+
|
|
30
|
+
When you're ready, check out our [guide](./.github/CONTRIBUTING.md) to get started!
|
|
31
|
+
|
|
32
|
+
## License
|
|
33
|
+
|
|
34
|
+
This project is licensed under the terms of the
|
|
35
|
+
[MIT license](./LICENSE).
|
|
36
|
+
|
|
37
|
+
## Code of Conduct
|
|
38
|
+
|
|
39
|
+
We will not tolerate any form of disrespect toward members of our community. Please refer to our [Code of Conduct](./.github/CODE_OF_CONDUCT.md) and reach out to david@arktype.io immediately if you've seen or experienced an interaction that may violate these standards.
|
|
40
|
+
|
|
41
|
+
## Sponsorship
|
|
42
|
+
|
|
43
|
+
We've been working full-time on this project for multiple years and it means a lot to have the community behind us.
|
|
44
|
+
|
|
45
|
+
If the project has been useful to you and you are in a financial position to do so, please chip in via [GitHub Sponsors](https://github.com/sponsors/arktypeio).
|
|
46
|
+
|
|
47
|
+
Otherwise, consider sending me an email (david@arktype.io) or [message me on Discord](https://arktype.io/discord) to let me know you're a fan of ArkType. Either would make my day!
|
|
48
|
+
|
|
49
|
+
### ArkSponsors ⛵
|
|
50
|
+
|
|
51
|
+
<table>
|
|
52
|
+
<tr>
|
|
53
|
+
<th>mintlify</th>
|
|
54
|
+
<th>get-convex</th>
|
|
55
|
+
<th>inspatiallabs</th>
|
|
56
|
+
<th>sam-goodwin</th>
|
|
57
|
+
</tr>
|
|
58
|
+
<tr>
|
|
59
|
+
<td>
|
|
60
|
+
<a href="https://github.com/mintlify"
|
|
61
|
+
><img
|
|
62
|
+
height="64px"
|
|
63
|
+
src="https://avatars.githubusercontent.com/mintlify"
|
|
64
|
+
/></a>
|
|
65
|
+
</td>
|
|
66
|
+
<td>
|
|
67
|
+
<a href="https://github.com/get-convex"
|
|
68
|
+
><img
|
|
69
|
+
height="64px"
|
|
70
|
+
src="https://avatars.githubusercontent.com/get-convex"
|
|
71
|
+
/></a>
|
|
72
|
+
</td>
|
|
73
|
+
<td>
|
|
74
|
+
<a href="https://github.com/inspatiallabs"
|
|
75
|
+
><img
|
|
76
|
+
height="64px"
|
|
77
|
+
src="https://avatars.githubusercontent.com/inspatiallabs"
|
|
78
|
+
/></a>
|
|
79
|
+
</td>
|
|
80
|
+
<td>
|
|
81
|
+
<a href="https://github.com/sam-goodwin"
|
|
82
|
+
><img
|
|
83
|
+
height="64px"
|
|
84
|
+
src="https://avatars.githubusercontent.com/sam-goodwin"
|
|
85
|
+
/></a>
|
|
86
|
+
</td>
|
|
87
|
+
</tr>
|
|
88
|
+
</table>
|
|
89
|
+
|
|
90
|
+
### Sponsors 🥰
|
|
91
|
+
|
|
92
|
+
<table>
|
|
93
|
+
<tr>
|
|
94
|
+
<th>tmm</th>
|
|
95
|
+
<th>mewhhaha</th>
|
|
96
|
+
<th>jahands</th>
|
|
97
|
+
<th>drwpwrs</th>
|
|
98
|
+
<th>Phalangers</th>
|
|
99
|
+
</tr>
|
|
100
|
+
<tr>
|
|
101
|
+
<td>
|
|
102
|
+
<a href="https://github.com/tmm"
|
|
103
|
+
><img
|
|
104
|
+
height="64px"
|
|
105
|
+
src="https://avatars.githubusercontent.com/tmm"
|
|
106
|
+
/></a>
|
|
107
|
+
</td>
|
|
108
|
+
<td>
|
|
109
|
+
<a href="https://github.com/mewhhaha"
|
|
110
|
+
><img
|
|
111
|
+
height="64px"
|
|
112
|
+
src="https://avatars.githubusercontent.com/mewhhaha"
|
|
113
|
+
/></a>
|
|
114
|
+
</td>
|
|
115
|
+
<td>
|
|
116
|
+
<a href="https://github.com/jahands"
|
|
117
|
+
><img
|
|
118
|
+
height="64px"
|
|
119
|
+
src="https://avatars.githubusercontent.com/jahands"
|
|
120
|
+
/></a>
|
|
121
|
+
</td>
|
|
122
|
+
<td>
|
|
123
|
+
<a href="https://github.com/drwpwrs"
|
|
124
|
+
><img
|
|
125
|
+
height="64px"
|
|
126
|
+
src="https://avatars.githubusercontent.com/drwpwrs"
|
|
127
|
+
/></a>
|
|
128
|
+
</td>
|
|
129
|
+
<td>
|
|
130
|
+
<a href="https://github.com/Phalangers"
|
|
131
|
+
><img
|
|
132
|
+
height="64px"
|
|
133
|
+
src="https://avatars.githubusercontent.com/Phalangers"
|
|
134
|
+
/></a>
|
|
135
|
+
</td>
|
|
136
|
+
</tr>
|
|
137
|
+
<tr>
|
|
138
|
+
<th>WilliamConnatser</th>
|
|
139
|
+
<th>JameEnder</th>
|
|
140
|
+
<th>tylim88</th>
|
|
141
|
+
</tr>
|
|
142
|
+
<tr>
|
|
143
|
+
<td>
|
|
144
|
+
<a href="https://github.com/WilliamConnatser"
|
|
145
|
+
><img
|
|
146
|
+
height="64px"
|
|
147
|
+
src="https://avatars.githubusercontent.com/WilliamConnatser"
|
|
148
|
+
/></a>
|
|
149
|
+
</td>
|
|
150
|
+
<td>
|
|
151
|
+
<a href="https://github.com/JameEnder"
|
|
152
|
+
><img
|
|
153
|
+
height="64px"
|
|
154
|
+
src="https://avatars.githubusercontent.com/JameEnder"
|
|
155
|
+
/></a>
|
|
156
|
+
</td>
|
|
157
|
+
<td>
|
|
158
|
+
<a href="https://github.com/tylim88"
|
|
159
|
+
><img
|
|
160
|
+
height="64px"
|
|
161
|
+
src="https://avatars.githubusercontent.com/tylim88"
|
|
162
|
+
/></a>
|
|
163
|
+
</td>
|
|
164
|
+
</tr>
|
|
165
|
+
</table>
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
The MIT License (MIT)
|
|
2
|
+
Copyright (c) 2024 - present, Bereket Engida
|
|
3
|
+
|
|
4
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
|
5
|
+
this software and associated documentation files (the “Software”), to deal in
|
|
6
|
+
the Software without restriction, including without limitation the rights to
|
|
7
|
+
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
|
8
|
+
the Software, and to permit persons to whom the Software is furnished to do so,
|
|
9
|
+
subject to the following conditions:
|
|
10
|
+
|
|
11
|
+
The above copyright notice and this permission notice shall be included in all
|
|
12
|
+
copies or substantial portions of the Software.
|
|
13
|
+
|
|
14
|
+
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
15
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
|
16
|
+
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
|
17
|
+
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
|
|
18
|
+
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
|
|
19
|
+
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
|
20
|
+
DEALINGS IN THE SOFTWARE.
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
<div align="center">
|
|
2
|
+
<picture>
|
|
3
|
+
<source srcset="https://github.com/better-auth/better-auth/blob/main/banner-dark.png?raw=true" media="(prefers-color-scheme: dark)"/>
|
|
4
|
+
<source srcset="https://github.com/better-auth/better-auth/blob/main/banner-light.png?raw=true" media="(prefers-color-scheme: light)"/>
|
|
5
|
+
<img src="https://github.com/better-auth/better-auth/blob/main/banner-light.png?raw=true" alt="Better Auth Logo"/>
|
|
6
|
+
</picture>
|
|
7
|
+
|
|
8
|
+
[](https://npm.chart.dev/better-auth?primary=neutral&gray=neutral&theme=dark)
|
|
9
|
+
[](https://www.npmjs.com/package/better-auth)
|
|
10
|
+
[](https://github.com/better-auth/better-auth/stargazers)
|
|
11
|
+
|
|
12
|
+
<p>
|
|
13
|
+
<a href="https://discord.gg/better-auth">Discord</a>
|
|
14
|
+
·
|
|
15
|
+
<a href="https://better-auth.com">Website</a>
|
|
16
|
+
·
|
|
17
|
+
<a href="https://github.com/better-auth/better-auth/issues">Issues</a>
|
|
18
|
+
</p>
|
|
19
|
+
</div>
|
|
20
|
+
|
|
21
|
+
## Better Auth
|
|
22
|
+
|
|
23
|
+
Better Auth is a framework-agnostic authentication (and authorization) framework for TypeScript. It provides a comprehensive set of features out of the box and includes a plugin ecosystem that simplifies adding advanced functionalities with minimal code in a short amount of time. Whether you need 2FA, multi-tenant support, or other complex features, it lets you focus on building your actual application instead of reinventing the wheel.
|
|
24
|
+
|
|
25
|
+
## Getting Started
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
npm i better-auth
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
Read the [Installation Guide](https://better-auth.com/docs/installation) to
|
|
32
|
+
learn more.
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
# better-sqlite3 [](https://github.com/JoshuaWise/better-sqlite3/actions/workflows/build.yml?query=branch%3Amaster)
|
|
2
|
+
|
|
3
|
+
The fastest and simplest library for SQLite in Node.js.
|
|
4
|
+
|
|
5
|
+
- Full transaction support
|
|
6
|
+
- High performance, efficiency, and safety
|
|
7
|
+
- Easy-to-use synchronous API *(better concurrency than an asynchronous API... yes, you read that correctly)*
|
|
8
|
+
- Support for user-defined functions, aggregates, virtual tables, and extensions
|
|
9
|
+
- 64-bit integers *(invisible until you need them)*
|
|
10
|
+
- Worker thread support *(for large/slow queries)*
|
|
11
|
+
|
|
12
|
+
## Help this project stay strong! 💪
|
|
13
|
+
|
|
14
|
+
`better-sqlite3` is used by thousands of developers and engineers on a daily basis. Long nights and weekends were spent keeping this project strong and dependable, with no ask for compensation or funding, until now. If your company uses `better-sqlite3`, ask your manager to consider supporting the project:
|
|
15
|
+
|
|
16
|
+
- [Become a GitHub sponsor](https://github.com/sponsors/JoshuaWise)
|
|
17
|
+
- [Become a backer on Patreon](https://www.patreon.com/joshuawise)
|
|
18
|
+
- [Make a one-time donation on PayPal](https://www.paypal.me/joshuathomaswise)
|
|
19
|
+
|
|
20
|
+
## How other libraries compare
|
|
21
|
+
|
|
22
|
+
| |select 1 row `get()` |select 100 rows `all()` |select 100 rows `iterate()` 1-by-1|insert 1 row `run()`|insert 100 rows in a transaction|
|
|
23
|
+
|---|---|---|---|---|---|
|
|
24
|
+
|better-sqlite3|1x|1x|1x|1x|1x|
|
|
25
|
+
|[sqlite](https://www.npmjs.com/package/sqlite) and [sqlite3](https://www.npmjs.com/package/sqlite3)|11.7x slower|2.9x slower|24.4x slower|2.8x slower|15.6x slower|
|
|
26
|
+
|
|
27
|
+
> You can verify these results by [running the benchmark yourself](./docs/benchmark.md).
|
|
28
|
+
|
|
29
|
+
## Installation
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
npm install better-sqlite3
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
> Requires a [currently supported Node.js](https://nodejs.org/en/about/previous-releases) version. Prebuilt binaries are available for [LTS versions](https://nodejs.org/en/about/previous-releases). If you have trouble installing, check the [troubleshooting guide](./docs/troubleshooting.md).
|
|
36
|
+
|
|
37
|
+
## Usage
|
|
38
|
+
|
|
39
|
+
```js
|
|
40
|
+
const db = require('better-sqlite3')('foobar.db', options);
|
|
41
|
+
|
|
42
|
+
const row = db.prepare('SELECT * FROM users WHERE id = ?').get(userId);
|
|
43
|
+
console.log(row.firstName, row.lastName, row.email);
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
Though not required, [it is generally important to set the WAL pragma for performance reasons](https://github.com/WiseLibs/better-sqlite3/blob/master/docs/performance.md).
|
|
47
|
+
|
|
48
|
+
```js
|
|
49
|
+
db.pragma('journal_mode = WAL');
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
##### In ES6 module notation:
|
|
53
|
+
|
|
54
|
+
```js
|
|
55
|
+
import Database from 'better-sqlite3';
|
|
56
|
+
const db = new Database('foobar.db', options);
|
|
57
|
+
db.pragma('journal_mode = WAL');
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
## Why should I use this instead of [node-sqlite3](https://github.com/mapbox/node-sqlite3)?
|
|
61
|
+
|
|
62
|
+
- `node-sqlite3` uses asynchronous APIs for tasks that are either CPU-bound or serialized. That's not only bad design, but it wastes tons of resources. It also causes [mutex thrashing](https://en.wikipedia.org/wiki/Resource_contention) which has devastating effects on performance.
|
|
63
|
+
- `node-sqlite3` exposes low-level (C language) memory management functions. `better-sqlite3` does it the JavaScript way, allowing the garbage collector to worry about memory management.
|
|
64
|
+
- `better-sqlite3` is simpler to use, and it provides nice utilities for some operations that are very difficult or impossible in `node-sqlite3`.
|
|
65
|
+
- `better-sqlite3` is much faster than `node-sqlite3` in most cases, and just as fast in all other cases.
|
|
66
|
+
|
|
67
|
+
#### When is this library not appropriate?
|
|
68
|
+
|
|
69
|
+
In most cases, if you're attempting something that cannot be reasonably accomplished with `better-sqlite3`, it probably cannot be reasonably accomplished with SQLite in general. For example, if you're executing queries that take one second to complete, and you expect to have many concurrent users executing those queries, no amount of asynchronicity will save you from SQLite's serialized nature. Fortunately, SQLite is very *very* fast. With proper indexing, we've been able to achieve upward of 2000 queries per second with 5-way-joins in a 60 GB database, where each query was handling 5–50 kilobytes of real data.
|
|
70
|
+
|
|
71
|
+
If you have a performance problem, the most likely causes are inefficient queries, improper indexing, or a lack of [WAL mode](./docs/performance.md)—not `better-sqlite3` itself. However, there are some cases where `better-sqlite3` could be inappropriate:
|
|
72
|
+
|
|
73
|
+
- If you expect a high volume of concurrent reads each returning many megabytes of data (i.e., videos)
|
|
74
|
+
- If you expect a high volume of concurrent writes (i.e., a social media site)
|
|
75
|
+
- If your database's size is near the terabyte range
|
|
76
|
+
|
|
77
|
+
For these situations, you should probably use a full-fledged RDBMS such as [PostgreSQL](https://www.postgresql.org/).
|
|
78
|
+
|
|
79
|
+
## Upgrading
|
|
80
|
+
|
|
81
|
+
Upgrading your `better-sqlite3` dependency can potentially introduce breaking changes, either in the `better-sqlite3` API (if you upgrade to a new [major version](https://semver.org/)), or between your existing database(s) and the underlying version of SQLite. Before upgrading, review:
|
|
82
|
+
|
|
83
|
+
* [`better-sqlite3` release notes](https://github.com/WiseLibs/better-sqlite3/releases)
|
|
84
|
+
* [SQLite release history](https://www.sqlite.org/changes.html)
|
|
85
|
+
|
|
86
|
+
# Documentation
|
|
87
|
+
|
|
88
|
+
- [API documentation](./docs/api.md)
|
|
89
|
+
- [Performance](./docs/performance.md) (also see [benchmark results](./docs/benchmark.md))
|
|
90
|
+
- [64-bit integer support](./docs/integer.md)
|
|
91
|
+
- [Worker thread support](./docs/threads.md)
|
|
92
|
+
- [Unsafe mode (advanced)](./docs/unsafe.md)
|
|
93
|
+
- [SQLite compilation (advanced)](./docs/compilation.md)
|
|
94
|
+
- [Contribution rules](./docs/contribution.md)
|
|
95
|
+
- [Code of conduct](./docs/conduct.md)
|
|
96
|
+
|
|
97
|
+
# License
|
|
98
|
+
|
|
99
|
+
[MIT](./LICENSE)
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
# blake3-jit
|
|
2
|
+
|
|
3
|
+
[](https://github.com/Brooooooklyn/blake3-jit/actions/workflows/ci.yml)
|
|
4
|
+
|
|
5
|
+
High-performance BLAKE3 implementation with runtime JIT WASM SIMD.
|
|
6
|
+
|
|
7
|
+
## Features
|
|
8
|
+
|
|
9
|
+
- **1.38 GB/s** peak throughput on large inputs
|
|
10
|
+
- **Pure JS + JIT WASM SIMD** - no `.wasm` files to ship
|
|
11
|
+
- All BLAKE3 modes: hash, keyed (MAC), derive_key
|
|
12
|
+
- XOF (eXtendable Output Function) support
|
|
13
|
+
- Zero dependencies, tree-shakeable
|
|
14
|
+
|
|
15
|
+
## Installation
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
npm install blake3-jit
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## Usage
|
|
22
|
+
|
|
23
|
+
```typescript
|
|
24
|
+
import { hash, createHasher, createKeyed, createDeriveKey } from "blake3-jit";
|
|
25
|
+
|
|
26
|
+
// One-shot hashing
|
|
27
|
+
const digest = hash(new Uint8Array([1, 2, 3]));
|
|
28
|
+
|
|
29
|
+
// Incremental hashing
|
|
30
|
+
const hasher = createHasher();
|
|
31
|
+
hasher.update(chunk1);
|
|
32
|
+
hasher.update(chunk2);
|
|
33
|
+
const result = hasher.finalize();
|
|
34
|
+
|
|
35
|
+
// Keyed hashing (MAC)
|
|
36
|
+
const mac = createKeyed(key).update(message).finalize();
|
|
37
|
+
|
|
38
|
+
// Key derivation
|
|
39
|
+
const derived = createDeriveKey("my-app v1").update(material).finalize(32);
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## API
|
|
43
|
+
|
|
44
|
+
### One-shot Functions
|
|
45
|
+
|
|
46
|
+
```typescript
|
|
47
|
+
hash(input: Uint8Array, outputLength?: number): Uint8Array
|
|
48
|
+
hashInto(input: Uint8Array, output: Uint8Array, outputLength?: number): void
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
### Incremental Hashing
|
|
52
|
+
|
|
53
|
+
```typescript
|
|
54
|
+
createHasher(): Hasher
|
|
55
|
+
createKeyed(key: Uint8Array): Hasher // 32-byte key for MAC
|
|
56
|
+
createDeriveKey(context: string): Hasher // Key derivation
|
|
57
|
+
|
|
58
|
+
class Hasher {
|
|
59
|
+
update(data: Uint8Array): this
|
|
60
|
+
finalize(outputLength?: number): Uint8Array
|
|
61
|
+
finalizeXof(): XofReader
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
class XofReader {
|
|
65
|
+
read(length: number): Uint8Array
|
|
66
|
+
}
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
### SIMD Control
|
|
70
|
+
|
|
71
|
+
```typescript
|
|
72
|
+
warmupSimd(): boolean // Pre-initialize WASM SIMD
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
## Architecture
|
|
76
|
+
|
|
77
|
+
```
|
|
78
|
+
blake3-jit
|
|
79
|
+
├── JS Path (<4KB) Pure JavaScript, SMI-optimized compress
|
|
80
|
+
└── WASM SIMD (>=4KB) 4-way parallel, JIT-generated at runtime
|
|
81
|
+
├── compress4x Single block x 4 chunks
|
|
82
|
+
├── compressChunks4x 16 blocks x 4 chunks batched
|
|
83
|
+
└── compressParent Merkle tree merges
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
**Key optimizations:**
|
|
87
|
+
|
|
88
|
+
- SMI variables force V8 32-bit integer ALU
|
|
89
|
+
- Arena pattern: all buffers in WASM linear memory (zero GC)
|
|
90
|
+
- Runtime WASM codegen eliminates `.wasm` file dependency
|
|
91
|
+
|
|
92
|
+
## Benchmarks
|
|
93
|
+
|
|
94
|
+
Compared against native Rust (`@napi-rs/blake-hash`):
|
|
95
|
+
|
|
96
|
+
| Size | blake3-jit | @napi-rs | Notes |
|
|
97
|
+
| ---- | ---------- | --------- | --------------- |
|
|
98
|
+
| 96B | 362 MB/s | 149 MB/s | **2.4x faster** |
|
|
99
|
+
| 512B | 748 MB/s | 521 MB/s | **1.4x faster** |
|
|
100
|
+
| 1KB | 811 MB/s | 701 MB/s | **1.2x faster** |
|
|
101
|
+
| 32KB | 1.36 GB/s | 1.97 GB/s | native wins |
|
|
102
|
+
| 1MB | 1.38 GB/s | 2.06 GB/s | native wins |
|
|
103
|
+
|
|
104
|
+
**Pure JS beats native Rust for small inputs** due to FFI overhead.
|
|
105
|
+
|
|
106
|
+
## License
|
|
107
|
+
|
|
108
|
+
MIT
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
`drizzle-arktype` is a plugin for [Drizzle ORM](https://github.com/drizzle-team/drizzle-orm) that allows you to generate [arktype](https://arktype.io/) schemas from Drizzle ORM schemas.
|
|
2
|
+
|
|
3
|
+
**Features**
|
|
4
|
+
|
|
5
|
+
- Create a select schema for tables, views and enums.
|
|
6
|
+
- Create insert and update schemas for tables.
|
|
7
|
+
- Supports all dialects: PostgreSQL, MySQL and SQLite.
|
|
8
|
+
|
|
9
|
+
# Usage
|
|
10
|
+
|
|
11
|
+
```ts
|
|
12
|
+
import { pgEnum, pgTable, serial, text, timestamp } from 'drizzle-orm/pg-core';
|
|
13
|
+
import { createInsertSchema, createSelectSchema } from 'drizzle-arktype';
|
|
14
|
+
import { type } from 'arktype';
|
|
15
|
+
|
|
16
|
+
const users = pgTable('users', {
|
|
17
|
+
id: serial('id').primaryKey(),
|
|
18
|
+
name: text('name').notNull(),
|
|
19
|
+
email: text('email').notNull(),
|
|
20
|
+
role: text('role', { enum: ['admin', 'user'] }).notNull(),
|
|
21
|
+
createdAt: timestamp('created_at').notNull().defaultNow(),
|
|
22
|
+
});
|
|
23
|
+
|
|
24
|
+
// Schema for inserting a user - can be used to validate API requests
|
|
25
|
+
const insertUserSchema = createInsertSchema(users);
|
|
26
|
+
|
|
27
|
+
// Schema for updating a user - can be used to validate API requests
|
|
28
|
+
const updateUserSchema = createUpdateSchema(users);
|
|
29
|
+
|
|
30
|
+
// Schema for selecting a user - can be used to validate API responses
|
|
31
|
+
const selectUserSchema = createSelectSchema(users);
|
|
32
|
+
|
|
33
|
+
// Overriding the fields
|
|
34
|
+
const insertUserSchema = createInsertSchema(users, {
|
|
35
|
+
role: type('string'),
|
|
36
|
+
});
|
|
37
|
+
|
|
38
|
+
// Refining the fields - useful if you want to change the fields before they become nullable/optional in the final schema
|
|
39
|
+
const insertUserSchema = createInsertSchema(users, {
|
|
40
|
+
id: (schema) => schema.atLeast(1),
|
|
41
|
+
role: type('string'),
|
|
42
|
+
});
|
|
43
|
+
|
|
44
|
+
// Usage
|
|
45
|
+
|
|
46
|
+
const isUserValid = parse(insertUserSchema, {
|
|
47
|
+
name: 'John Doe',
|
|
48
|
+
email: 'johndoe@test.com',
|
|
49
|
+
role: 'admin',
|
|
50
|
+
});
|
|
51
|
+
```
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
## Drizzle Kit
|
|
2
|
+
|
|
3
|
+
Drizzle Kit is a CLI migrator tool for Drizzle ORM. It is probably the one and only tool that lets you completely automatically generate SQL migrations and covers ~95% of the common cases like deletions and renames by prompting user input.
|
|
4
|
+
<https://github.com/drizzle-team/drizzle-kit-mirror> - is a mirror repository for issues.
|
|
5
|
+
|
|
6
|
+
## Documentation
|
|
7
|
+
|
|
8
|
+
Check the full documentation on [the website](https://orm.drizzle.team/kit-docs/overview).
|
|
9
|
+
|
|
10
|
+
### How it works
|
|
11
|
+
|
|
12
|
+
Drizzle Kit traverses a schema module and generates a snapshot to compare with the previous version, if there is one.
|
|
13
|
+
Based on the difference, it will generate all needed SQL migrations. If there are any cases that can't be resolved automatically, such as renames, it will prompt the user for input.
|
|
14
|
+
|
|
15
|
+
For example, for this schema module:
|
|
16
|
+
|
|
17
|
+
```typescript
|
|
18
|
+
// src/db/schema.ts
|
|
19
|
+
|
|
20
|
+
import { integer, pgTable, serial, text, varchar } from "drizzle-orm/pg-core";
|
|
21
|
+
|
|
22
|
+
const users = pgTable("users", {
|
|
23
|
+
id: serial("id").primaryKey(),
|
|
24
|
+
fullName: varchar("full_name", { length: 256 }),
|
|
25
|
+
}, (table) => ({
|
|
26
|
+
nameIdx: index("name_idx", table.fullName),
|
|
27
|
+
})
|
|
28
|
+
);
|
|
29
|
+
|
|
30
|
+
export const authOtp = pgTable("auth_otp", {
|
|
31
|
+
id: serial("id").primaryKey(),
|
|
32
|
+
phone: varchar("phone", { length: 256 }),
|
|
33
|
+
userId: integer("user_id").references(() => users.id),
|
|
34
|
+
});
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
It will generate:
|
|
38
|
+
|
|
39
|
+
```SQL
|
|
40
|
+
CREATE TABLE IF NOT EXISTS auth_otp (
|
|
41
|
+
"id" SERIAL PRIMARY KEY,
|
|
42
|
+
"phone" character varying(256),
|
|
43
|
+
"user_id" INT
|
|
44
|
+
);
|
|
45
|
+
|
|
46
|
+
CREATE TABLE IF NOT EXISTS users (
|
|
47
|
+
"id" SERIAL PRIMARY KEY,
|
|
48
|
+
"full_name" character varying(256)
|
|
49
|
+
);
|
|
50
|
+
|
|
51
|
+
DO $$ BEGIN
|
|
52
|
+
ALTER TABLE auth_otp ADD CONSTRAINT auth_otp_user_id_fkey FOREIGN KEY ("user_id") REFERENCES users(id);
|
|
53
|
+
EXCEPTION
|
|
54
|
+
WHEN duplicate_object THEN null;
|
|
55
|
+
END $$;
|
|
56
|
+
|
|
57
|
+
CREATE INDEX IF NOT EXISTS users_full_name_index ON users (full_name);
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
### Installation & configuration
|
|
61
|
+
|
|
62
|
+
```shell
|
|
63
|
+
npm install -D drizzle-kit
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
Running with CLI options:
|
|
67
|
+
|
|
68
|
+
```jsonc
|
|
69
|
+
// package.json
|
|
70
|
+
{
|
|
71
|
+
"scripts": {
|
|
72
|
+
"generate": "drizzle-kit generate --out migrations-folder --schema src/db/schema.ts"
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
```shell
|
|
78
|
+
npm run generate
|
|
79
|
+
```
|