prjct-cli 0.28.3 → 0.29.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/CHANGELOG.md +26 -118
- package/CLAUDE.md +170 -0
- package/README.md +14 -1
- package/core/agentic/agent-router.ts +0 -15
- package/core/agentic/command-executor.ts +5 -53
- package/core/agentic/index.ts +1 -11
- package/core/agentic/prompt-builder.ts +2 -83
- package/core/agentic/template-loader.ts +32 -107
- package/core/commands/command-data.ts +33 -0
- package/core/commands/commands.ts +12 -4
- package/core/commands/registry.ts +37 -0
- package/core/domain/agent-loader.ts +9 -7
- package/core/domain/context-estimator.ts +15 -15
- package/core/index.ts +2 -0
- package/core/infrastructure/config-manager.ts +4 -25
- package/core/infrastructure/setup.ts +182 -86
- package/core/integrations/issue-tracker/enricher.ts +281 -0
- package/core/integrations/issue-tracker/index.ts +8 -0
- package/core/integrations/issue-tracker/manager.ts +284 -0
- package/core/integrations/issue-tracker/types.ts +321 -0
- package/core/integrations/linear/client.ts +375 -0
- package/core/integrations/linear/index.ts +6 -0
- package/core/integrations/notion/client.ts +413 -0
- package/core/integrations/notion/index.ts +46 -0
- package/core/integrations/notion/setup.ts +235 -0
- package/core/integrations/notion/sync.ts +818 -0
- package/core/integrations/notion/templates.ts +246 -0
- package/core/plugin/builtin/notion.ts +178 -0
- package/core/schemas/enriched-task.ts +278 -0
- package/core/schemas/outcomes.ts +471 -14
- package/core/schemas/prd.ts +437 -0
- package/core/schemas/roadmap.ts +188 -4
- package/core/server/index.ts +1 -0
- package/core/server/routes-extended.ts +544 -0
- package/core/server/server.ts +10 -0
- package/core/session/session-log-manager.ts +0 -17
- package/core/types/config.ts +1 -1
- package/core/types/index.ts +2 -0
- package/core/types/integrations.ts +56 -20
- package/core/types/storage.ts +8 -0
- package/core/types/task.ts +4 -0
- package/dist/bin/prjct.mjs +1457 -765
- package/package.json +2 -1
- package/packages/shared/node_modules/@types/bun/LICENSE +21 -0
- package/packages/shared/node_modules/@types/bun/README.md +20 -0
- package/packages/shared/node_modules/@types/bun/index.d.ts +1 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/CLAUDE.md +105 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/README.md +33 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/bun.d.ts +7032 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/bun.ns.d.ts +5 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/bundle.d.ts +74 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/deprecated.d.ts +184 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/devserver.d.ts +187 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/README.md +28 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/bundler/bytecode.mdx +465 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/bundler/css.mdx +1024 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/bundler/esbuild.mdx +298 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/bundler/executables.mdx +1277 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/bundler/fullstack.mdx +1086 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/bundler/hot-reloading.mdx +229 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/bundler/html-static.mdx +488 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/bundler/index.mdx +1604 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/bundler/loaders.mdx +451 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/bundler/macros.mdx +328 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/bundler/minifier.mdx +1286 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/bundler/plugins.mdx +425 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/feedback.mdx +75 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/binary/arraybuffer-to-array.mdx +29 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/binary/arraybuffer-to-blob.mdx +26 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/binary/arraybuffer-to-buffer.mdx +27 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/binary/arraybuffer-to-string.mdx +17 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/binary/arraybuffer-to-typedarray.mdx +41 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/binary/blob-to-arraybuffer.mdx +16 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/binary/blob-to-dataview.mdx +16 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/binary/blob-to-stream.mdx +16 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/binary/blob-to-string.mdx +17 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/binary/blob-to-typedarray.mdx +16 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/binary/buffer-to-arraybuffer.mdx +16 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/binary/buffer-to-blob.mdx +16 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/binary/buffer-to-readablestream.mdx +43 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/binary/buffer-to-string.mdx +27 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/binary/buffer-to-typedarray.mdx +16 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/binary/dataview-to-string.mdx +17 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/binary/typedarray-to-arraybuffer.mdx +27 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/binary/typedarray-to-blob.mdx +18 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/binary/typedarray-to-buffer.mdx +16 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/binary/typedarray-to-dataview.mdx +16 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/binary/typedarray-to-readablestream.mdx +43 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/binary/typedarray-to-string.mdx +18 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/deployment/aws-lambda.mdx +204 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/deployment/digital-ocean.mdx +161 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/deployment/google-cloud-run.mdx +194 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/deployment/railway.mdx +145 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/deployment/render.mdx +82 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/deployment/vercel.mdx +97 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/ecosystem/astro.mdx +82 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/ecosystem/discordjs.mdx +80 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/ecosystem/docker.mdx +151 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/ecosystem/drizzle.mdx +195 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/ecosystem/elysia.mdx +31 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/ecosystem/express.mdx +43 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/ecosystem/gel.mdx +261 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/ecosystem/hono.mdx +47 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/ecosystem/mongoose.mdx +92 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/ecosystem/neon-drizzle.mdx +234 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/ecosystem/neon-serverless-postgres.mdx +60 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/ecosystem/nextjs.mdx +103 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/ecosystem/nuxt.mdx +96 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/ecosystem/pm2.mdx +55 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/ecosystem/prisma-postgres.mdx +169 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/ecosystem/prisma.mdx +164 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/ecosystem/qwik.mdx +114 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/ecosystem/react.mdx +52 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/ecosystem/remix.mdx +97 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/ecosystem/sentry.mdx +54 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/ecosystem/solidstart.mdx +62 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/ecosystem/ssr-react.mdx +49 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/ecosystem/stric.mdx +54 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/ecosystem/sveltekit.mdx +138 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/ecosystem/systemd.mdx +114 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/ecosystem/tanstack-start.mdx +791 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/ecosystem/upstash.mdx +87 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/ecosystem/vite.mdx +77 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/html-rewriter/extract-links.mdx +71 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/html-rewriter/extract-social-meta.mdx +97 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/http/cluster.mdx +69 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/http/fetch-unix.mdx +35 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/http/fetch.mdx +26 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/http/file-uploads.mdx +97 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/http/hot.mdx +28 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/http/proxy.mdx +50 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/http/server.mdx +48 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/http/simple.mdx +20 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/http/stream-file.mdx +50 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/http/stream-iterator.mdx +49 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/http/stream-node-streams-in-bun.mdx +22 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/http/tls.mdx +32 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/index.mdx +10 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/install/add-dev.mdx +28 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/install/add-git.mdx +40 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/install/add-optional.mdx +27 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/install/add-peer.mdx +45 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/install/add-tarball.mdx +35 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/install/add.mdx +44 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/install/azure-artifacts.mdx +76 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/install/cicd.mdx +43 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/install/custom-registry.mdx +32 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/install/from-npm-install-to-bun-install.mdx +230 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/install/git-diff-bun-lockfile.mdx +48 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/install/jfrog-artifactory.mdx +28 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/install/npm-alias.mdx +25 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/install/registry-scope.mdx +40 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/install/trusted.mdx +52 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/install/workspaces.mdx +70 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/install/yarnlock.mdx +51 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/process/argv.mdx +66 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/process/ctrl-c.mdx +18 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/process/ipc.mdx +69 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/process/nanoseconds.mdx +15 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/process/os-signals.mdx +31 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/process/spawn-stderr.mdx +34 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/process/spawn-stdout.mdx +28 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/process/spawn.mdx +43 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/process/stdin.mdx +62 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/read-file/arraybuffer.mdx +30 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/read-file/buffer.mdx +21 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/read-file/exists.mdx +18 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/read-file/json.mdx +19 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/read-file/mime.mdx +22 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/read-file/stream.mdx +28 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/read-file/string.mdx +24 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/read-file/uint8array.mdx +23 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/read-file/watch.mdx +66 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/runtime/build-time-constants.mdx +295 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/runtime/cicd.mdx +45 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/runtime/codesign-macos-executable.mdx +61 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/runtime/define-constant.mdx +149 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/runtime/delete-directory.mdx +39 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/runtime/delete-file.mdx +21 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/runtime/heap-snapshot.mdx +28 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/runtime/import-html.mdx +15 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/runtime/import-json.mdx +46 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/runtime/import-toml.mdx +32 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/runtime/import-yaml.mdx +104 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/runtime/read-env.mdx +37 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/runtime/set-env.mdx +51 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/runtime/shell.mdx +42 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/runtime/timezone.mdx +38 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/runtime/tsconfig-paths.mdx +31 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/runtime/typescript.mdx +51 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/runtime/vscode-debugger.mdx +47 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/runtime/web-debugger.mdx +103 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/streams/node-readable-to-arraybuffer.mdx +13 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/streams/node-readable-to-blob.mdx +13 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/streams/node-readable-to-json.mdx +14 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/streams/node-readable-to-string.mdx +14 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/streams/node-readable-to-uint8array.mdx +13 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/streams/to-array.mdx +16 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/streams/to-arraybuffer.mdx +16 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/streams/to-blob.mdx +16 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/streams/to-buffer.mdx +17 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/streams/to-json.mdx +16 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/streams/to-string.mdx +16 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/streams/to-typedarray.mdx +24 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/test/bail.mdx +24 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/test/concurrent-test-glob.mdx +146 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/test/coverage-threshold.mdx +67 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/test/coverage.mdx +49 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/test/happy-dom.mdx +73 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/test/migrate-from-jest.mdx +125 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/test/mock-clock.mdx +50 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/test/mock-functions.mdx +70 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/test/rerun-each.mdx +16 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/test/run-tests.mdx +116 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/test/skip-tests.mdx +43 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/test/snapshot.mdx +102 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/test/spy-on.mdx +49 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/test/svelte-test.mdx +113 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/test/testing-library.mdx +93 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/test/timeout.mdx +17 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/test/todo-tests.mdx +74 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/test/update-snapshots.mdx +49 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/test/watch-mode.mdx +24 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/util/base64.mdx +17 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/util/deep-equals.mdx +41 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/util/deflate.mdx +20 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/util/detect-bun.mdx +28 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/util/entrypoint.mdx +19 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/util/escape-html.mdx +24 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/util/file-url-to-path.mdx +16 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/util/gzip.mdx +20 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/util/hash-a-password.mdx +56 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/util/import-meta-dir.mdx +15 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/util/import-meta-file.mdx +15 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/util/import-meta-path.mdx +15 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/util/javascript-uuid.mdx +25 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/util/main.mdx +43 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/util/path-to-file-url.mdx +16 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/util/sleep.mdx +24 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/util/upgrade.mdx +93 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/util/version.mdx +23 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/util/which-path-to-executable-bin.mdx +17 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/websocket/compression.mdx +33 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/websocket/context.mdx +79 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/websocket/pubsub.mdx +43 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/websocket/simple.mdx +38 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/write-file/append.mdx +54 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/write-file/basic.mdx +46 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/write-file/blob.mdx +30 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/write-file/cat.mdx +19 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/write-file/file-cp.mdx +18 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/write-file/filesink.mdx +54 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/write-file/response.mdx +19 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/write-file/stdout.mdx +23 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/write-file/stream.mdx +19 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/write-file/unlink.mdx +18 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/index.mdx +133 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/installation.mdx +365 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/pm/bunx.mdx +91 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/pm/catalogs.mdx +292 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/pm/cli/add.mdx +179 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/pm/cli/audit.mdx +60 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/pm/cli/info.mdx +70 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/pm/cli/install.mdx +606 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/pm/cli/link.mdx +61 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/pm/cli/outdated.mdx +197 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/pm/cli/patch.mdx +69 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/pm/cli/pm.mdx +323 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/pm/cli/publish.mdx +131 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/pm/cli/remove.mdx +16 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/pm/cli/update.mdx +140 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/pm/cli/why.mdx +84 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/pm/filter.mdx +102 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/pm/global-cache.mdx +72 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/pm/isolated-installs.mdx +220 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/pm/lifecycle.mdx +64 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/pm/lockfile.mdx +64 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/pm/npmrc.mdx +111 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/pm/overrides.mdx +83 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/pm/scopes-registries.mdx +35 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/pm/security-scanner-api.mdx +95 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/pm/workspaces.mdx +115 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/project/benchmarking.mdx +241 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/project/bindgen.mdx +223 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/project/building-windows.mdx +133 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/project/contributing.mdx +388 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/project/feedback.mdx +20 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/project/license.mdx +78 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/project/roadmap.mdx +8 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/quickstart.mdx +251 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/auto-install.mdx +97 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/binary-data.mdx +846 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/bun-apis.mdx +59 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/bunfig.mdx +723 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/c-compiler.mdx +204 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/child-process.mdx +659 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/color.mdx +267 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/console.mdx +67 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/cookies.mdx +454 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/debugger.mdx +335 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/environment-variables.mdx +231 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/ffi.mdx +565 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/file-io.mdx +306 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/file-system-router.mdx +118 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/file-types.mdx +435 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/glob.mdx +181 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/globals.mdx +72 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/hashing.mdx +315 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/html-rewriter.mdx +333 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/http/cookies.mdx +79 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/http/error-handling.mdx +40 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/http/metrics.mdx +36 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/http/routing.mdx +289 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/http/server.mdx +645 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/http/tls.mdx +101 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/http/websockets.mdx +414 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/index.mdx +223 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/jsx.mdx +115 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/module-resolution.mdx +374 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/networking/dns.mdx +111 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/networking/fetch.mdx +484 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/networking/tcp.mdx +239 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/networking/udp.mdx +129 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/node-api.mdx +19 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/nodejs-compat.mdx +468 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/plugins.mdx +419 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/redis.mdx +583 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/s3.mdx +863 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/secrets.mdx +340 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/semver.mdx +57 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/shell.mdx +637 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/sql.mdx +1404 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/sqlite.mdx +721 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/streams.mdx +232 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/templating/create.mdx +269 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/templating/init.mdx +58 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/transpiler.mdx +288 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/typescript.mdx +58 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/utils.mdx +922 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/watch-mode.mdx +161 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/web-apis.mdx +29 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/workers.mdx +314 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/yaml.mdx +469 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/snippets/cli/add.mdx +166 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/snippets/cli/build.mdx +196 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/snippets/cli/bunx.mdx +49 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/snippets/cli/feedback.mdx +17 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/snippets/cli/init.mdx +84 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/snippets/cli/install.mdx +173 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/snippets/cli/link.mdx +163 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/snippets/cli/outdated.mdx +140 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/snippets/cli/patch.mdx +171 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/snippets/cli/publish.mdx +198 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/snippets/cli/remove.mdx +146 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/snippets/cli/run.mdx +293 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/snippets/cli/test.mdx +100 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/snippets/cli/update.mdx +144 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/test/code-coverage.mdx +409 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/test/configuration.mdx +514 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/test/dates-times.mdx +129 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/test/discovery.mdx +90 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/test/dom.mdx +226 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/test/index.mdx +380 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/test/lifecycle.mdx +366 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/test/mocks.mdx +637 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/test/reporters.mdx +126 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/test/runtime-behavior.mdx +342 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/test/snapshots.mdx +434 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/test/writing-tests.mdx +672 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/typescript.mdx +54 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/extensions.d.ts +35 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/fetch.d.ts +79 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/ffi.d.ts +1154 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/globals.d.ts +2067 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/html-rewriter.d.ts +186 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/index.d.ts +32 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/jsc.d.ts +233 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/overrides.d.ts +376 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/package.json +37 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/redis.d.ts +3352 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/s3.d.ts +1299 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/security.d.ts +101 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/serve.d.ts +1296 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/shell.d.ts +380 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/sql.d.ts +887 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/sqlite.d.ts +1321 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/test-globals.d.ts +22 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/test.d.ts +2391 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/vendor/expect-type/branding.d.ts +283 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/vendor/expect-type/index.d.ts +1207 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/vendor/expect-type/messages.d.ts +395 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/vendor/expect-type/overloads.d.ts +669 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/vendor/expect-type/utils.d.ts +431 -0
- package/packages/shared/node_modules/@types/bun/node_modules/bun-types/wasm.d.ts +193 -0
- package/packages/shared/node_modules/@types/bun/package.json +53 -0
- package/scripts/postinstall.js +69 -0
- package/templates/agentic/agents/uxui.md +218 -0
- package/templates/agentic/subagent-generation.md +81 -241
- package/templates/commands/cleanup.md +0 -5
- package/templates/commands/dashboard.md +686 -0
- package/templates/commands/enrich.md +345 -0
- package/templates/commands/feature.md +46 -0
- package/templates/commands/impact.md +864 -0
- package/templates/commands/init.md +44 -1
- package/templates/commands/linear.md +287 -0
- package/templates/commands/now.md +53 -0
- package/templates/commands/plan.md +696 -0
- package/templates/commands/prd.md +356 -0
- package/templates/commands/ship.md +81 -111
- package/templates/commands/sync.md +640 -154
- package/templates/commands/task.md +128 -55
- package/templates/context/dashboard.md +256 -0
- package/templates/context/roadmap.md +221 -0
- package/templates/global/CLAUDE.md +35 -166
- package/templates/mcp-config.json +46 -23
- package/templates/skills/notion-push.md +116 -0
- package/templates/skills/notion-setup.md +199 -0
- package/templates/skills/notion-sync.md +290 -0
- package/templates/subagents/domain/backend.md +106 -0
- package/templates/subagents/domain/database.md +118 -0
- package/templates/subagents/domain/devops.md +149 -0
- package/templates/subagents/domain/frontend.md +100 -0
- package/templates/subagents/domain/testing.md +166 -0
- package/templates/subagents/pm-expert.md +366 -0
- package/templates/subagents/workflow/chief-architect.md +657 -0
- package/core/agentic/token-estimator.ts +0 -264
- package/core/infrastructure/slash-command-registry.ts +0 -176
- package/templates/guides/agent-generation.md +0 -164
- package/templates/guides/integrations.md +0 -149
- package/templates/shared/validation.md +0 -75
package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/ecosystem/gel.mdx
ADDED
|
@@ -0,0 +1,261 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Use Gel with Bun
|
|
3
|
+
sidebarTitle: Gel with Bun
|
|
4
|
+
mode: center
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Gel (formerly EdgeDB) is a graph-relational database powered by Postgres under the hood. It provides a declarative schema language, migrations system, and object-oriented query language, in addition to supporting raw SQL queries. It solves the object-relational mapping problem at the database layer, eliminating the need for an ORM library in your application code.
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
First, [install Gel](https://docs.geldata.com/learn/installation) if you haven't already.
|
|
12
|
+
|
|
13
|
+
<CodeGroup>
|
|
14
|
+
|
|
15
|
+
```sh Linux/macOS terminal icon="terminal"
|
|
16
|
+
curl https://www.geldata.com/sh --proto "=https" -sSf1 | sh
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
```sh Windows terminal icon="windows"
|
|
20
|
+
irm https://www.geldata.com/ps1 | iex
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
```sh Homebrew terminal icon="terminal"
|
|
24
|
+
brew install geldata/tap/gel-cli
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
</CodeGroup>
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
Use `bun init` to create a fresh project.
|
|
32
|
+
|
|
33
|
+
```sh terminal icon="terminal"
|
|
34
|
+
mkdir my-edgedb-app
|
|
35
|
+
cd my-edgedb-app
|
|
36
|
+
bun init -y
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
We'll use the Gel CLI to initialize a Gel instance for our project. This creates a `gel.toml` file in our project root.
|
|
42
|
+
|
|
43
|
+
```sh terminal icon="terminal"
|
|
44
|
+
gel project init
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
```txt
|
|
48
|
+
No `gel.toml` found in `/Users/colinmcd94/Documents/bun/fun/examples/my-gel-app` or above
|
|
49
|
+
Do you want to initialize a new project? [Y/n]
|
|
50
|
+
> Y
|
|
51
|
+
Specify the name of Gel instance to use with this project [default: my_gel_app]:
|
|
52
|
+
> my_gel_app
|
|
53
|
+
Checking Gel versions...
|
|
54
|
+
Specify the version of Gel to use with this project [default: x.y]:
|
|
55
|
+
> x.y
|
|
56
|
+
┌─────────────────────┬──────────────────────────────────────────────────────────────────┐
|
|
57
|
+
│ Project directory │ /Users/colinmcd94/Documents/bun/fun/examples/my-gel-app │
|
|
58
|
+
│ Project config │ /Users/colinmcd94/Documents/bun/fun/examples/my-gel-app/gel.toml│
|
|
59
|
+
│ Schema dir (empty) │ /Users/colinmcd94/Documents/bun/fun/examples/my-gel-app/dbschema│
|
|
60
|
+
│ Installation method │ portable package │
|
|
61
|
+
│ Version │ x.y+6d5921b │
|
|
62
|
+
│ Instance name │ my_gel_app │
|
|
63
|
+
└─────────────────────┴──────────────────────────────────────────────────────────────────┘
|
|
64
|
+
Version x.y+6d5921b is already downloaded
|
|
65
|
+
Initializing Gel instance...
|
|
66
|
+
Applying migrations...
|
|
67
|
+
Everything is up to date. Revision initial
|
|
68
|
+
Project initialized.
|
|
69
|
+
To connect to my_gel_app, run `gel`
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
---
|
|
73
|
+
|
|
74
|
+
To see if the database is running, let's open a REPL and run a simple query.
|
|
75
|
+
|
|
76
|
+
```sh terminal icon="terminal"
|
|
77
|
+
gel
|
|
78
|
+
gel> select 1 + 1;
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
```txt
|
|
82
|
+
2
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
Then run `\quit` to exit the REPL.
|
|
86
|
+
|
|
87
|
+
```sh terminal icon="terminal"
|
|
88
|
+
gel> \quit
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
---
|
|
92
|
+
|
|
93
|
+
With the project initialized, we can define a schema. The `gel project init` command already created a `dbschema/default.esdl` file to contain our schema.
|
|
94
|
+
|
|
95
|
+
```txt File Tree icon="folder-tree"
|
|
96
|
+
dbschema
|
|
97
|
+
├── default.esdl
|
|
98
|
+
└── migrations
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
---
|
|
102
|
+
|
|
103
|
+
Open that file and paste the following contents.
|
|
104
|
+
|
|
105
|
+
```ts default.esdl icon="file-code"
|
|
106
|
+
module default {
|
|
107
|
+
type Movie {
|
|
108
|
+
required title: str;
|
|
109
|
+
releaseYear: int64;
|
|
110
|
+
}
|
|
111
|
+
};
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
---
|
|
115
|
+
|
|
116
|
+
Then generate and apply an initial migration.
|
|
117
|
+
|
|
118
|
+
```sh terminal icon="terminal"
|
|
119
|
+
gel migration create
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
```txt
|
|
123
|
+
Created /Users/colinmcd94/Documents/bun/fun/examples/my-gel-app/dbschema/migrations/00001.edgeql, id: m1uwekrn4ni4qs7ul7hfar4xemm5kkxlpswolcoyqj3xdhweomwjrq
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
```sh terminal icon="terminal"
|
|
127
|
+
gel migrate
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
```txt
|
|
131
|
+
Applied m1uwekrn4ni4qs7ul7hfar4xemm5kkxlpswolcoyqj3xdhweomwjrq (00001.edgeql)
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
---
|
|
135
|
+
|
|
136
|
+
With our schema applied, let's execute some queries using Gel's JavaScript client library. We'll install the client library and Gel's codegen CLI, and create a `seed.ts`.file.
|
|
137
|
+
|
|
138
|
+
```sh terminal icon="terminal"
|
|
139
|
+
bun add gel
|
|
140
|
+
bun add -D @gel/generate
|
|
141
|
+
touch seed.ts
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
---
|
|
145
|
+
|
|
146
|
+
Paste the following code into `seed.ts`.
|
|
147
|
+
|
|
148
|
+
The client auto-connects to the database. We insert a couple movies using the `.execute()` method. We will use EdgeQL's `for` expression to turn this bulk insert into a single optimized query.
|
|
149
|
+
|
|
150
|
+
```ts seed.ts icon="/icons/typescript.svg"
|
|
151
|
+
import { createClient } from "gel";
|
|
152
|
+
|
|
153
|
+
const client = createClient();
|
|
154
|
+
|
|
155
|
+
const INSERT_MOVIE = `
|
|
156
|
+
with movies := <array<tuple<title: str, year: int64>>>$movies
|
|
157
|
+
for movie in array_unpack(movies) union (
|
|
158
|
+
insert Movie {
|
|
159
|
+
title := movie.title,
|
|
160
|
+
releaseYear := movie.year,
|
|
161
|
+
}
|
|
162
|
+
)
|
|
163
|
+
`;
|
|
164
|
+
|
|
165
|
+
const movies = [
|
|
166
|
+
{ title: "The Matrix", year: 1999 },
|
|
167
|
+
{ title: "The Matrix Reloaded", year: 2003 },
|
|
168
|
+
{ title: "The Matrix Revolutions", year: 2003 },
|
|
169
|
+
];
|
|
170
|
+
|
|
171
|
+
await client.execute(INSERT_MOVIE, { movies });
|
|
172
|
+
|
|
173
|
+
console.log(`Seeding complete.`);
|
|
174
|
+
process.exit();
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
---
|
|
178
|
+
|
|
179
|
+
Then run this file with Bun.
|
|
180
|
+
|
|
181
|
+
```sh terminal icon="terminal"
|
|
182
|
+
bun run seed.ts
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
```txt
|
|
186
|
+
Seeding complete.
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
---
|
|
190
|
+
|
|
191
|
+
Gel implements a number of code generation tools for TypeScript. To query our newly seeded database in a typesafe way, we'll use `@gel/generate` to code-generate the EdgeQL query builder.
|
|
192
|
+
|
|
193
|
+
```sh terminal icon="terminal"
|
|
194
|
+
bunx @gel/generate edgeql-js
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
```txt
|
|
198
|
+
Generating query builder...
|
|
199
|
+
Detected tsconfig.json, generating TypeScript files.
|
|
200
|
+
To override this, use the --target flag.
|
|
201
|
+
Run `npx @edgedb/generate --help` for full options.
|
|
202
|
+
Introspecting database schema...
|
|
203
|
+
Writing files to ./dbschema/edgeql-js
|
|
204
|
+
Generation complete! 🤘
|
|
205
|
+
Checking the generated query builder into version control
|
|
206
|
+
is not recommended. Would you like to update .gitignore to ignore
|
|
207
|
+
the query builder directory? The following line will be added:
|
|
208
|
+
|
|
209
|
+
dbschema/edgeql-js
|
|
210
|
+
|
|
211
|
+
[y/n] (leave blank for "y")
|
|
212
|
+
> y
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
---
|
|
216
|
+
|
|
217
|
+
In `index.ts`, we can import the generated query builder from `./dbschema/edgeql-js` and write a simple select query.
|
|
218
|
+
|
|
219
|
+
```ts index.ts icon="/icons/typescript.svg"
|
|
220
|
+
import { createClient } from "gel";
|
|
221
|
+
import e from "./dbschema/edgeql-js";
|
|
222
|
+
|
|
223
|
+
const client = createClient();
|
|
224
|
+
|
|
225
|
+
const query = e.select(e.Movie, () => ({
|
|
226
|
+
title: true,
|
|
227
|
+
releaseYear: true,
|
|
228
|
+
}));
|
|
229
|
+
|
|
230
|
+
const results = await query.run(client);
|
|
231
|
+
console.log(results);
|
|
232
|
+
|
|
233
|
+
results; // { title: string, releaseYear: number | null }[]
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
---
|
|
237
|
+
|
|
238
|
+
Running the file with Bun, we can see the list of movies we inserted.
|
|
239
|
+
|
|
240
|
+
```sh terminal icon="terminal"
|
|
241
|
+
bun run index.ts
|
|
242
|
+
```
|
|
243
|
+
|
|
244
|
+
```txt
|
|
245
|
+
[
|
|
246
|
+
{
|
|
247
|
+
title: "The Matrix",
|
|
248
|
+
releaseYear: 1999
|
|
249
|
+
}, {
|
|
250
|
+
title: "The Matrix Reloaded",
|
|
251
|
+
releaseYear: 2003
|
|
252
|
+
}, {
|
|
253
|
+
title: "The Matrix Revolutions",
|
|
254
|
+
releaseYear: 2003
|
|
255
|
+
}
|
|
256
|
+
]
|
|
257
|
+
```
|
|
258
|
+
|
|
259
|
+
---
|
|
260
|
+
|
|
261
|
+
For complete documentation, refer to the [Gel docs](https://docs.geldata.com/).
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Build an HTTP server using Hono and Bun
|
|
3
|
+
sidebarTitle: Hono with Bun
|
|
4
|
+
mode: center
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
[Hono](https://github.com/honojs/hono) is a lightweight ultrafast web framework designed for the edge.
|
|
8
|
+
|
|
9
|
+
```ts server.ts icon="/icons/typescript.svg"
|
|
10
|
+
import { Hono } from "hono";
|
|
11
|
+
const app = new Hono();
|
|
12
|
+
|
|
13
|
+
app.get("/", c => c.text("Hono!"));
|
|
14
|
+
|
|
15
|
+
export default app;
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
Use `create-hono` to get started with one of Hono's project templates. Select `bun` when prompted for a template.
|
|
21
|
+
|
|
22
|
+
```sh terminal icon="terminal"
|
|
23
|
+
bun create hono myapp
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
```txt
|
|
27
|
+
✔ Which template do you want to use? › bun
|
|
28
|
+
cloned honojs/starter#main to /path/to/myapp
|
|
29
|
+
✔ Copied project files
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
```sh terminal icon="terminal"
|
|
33
|
+
cd myapp
|
|
34
|
+
bun install
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
Then start the dev server and visit [localhost:3000](http://localhost:3000).
|
|
40
|
+
|
|
41
|
+
```sh terminal icon="terminal"
|
|
42
|
+
bun run dev
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
Refer to Hono's guide on [getting started with Bun](https://hono.dev/getting-started/bun) for more information.
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Read and write data to MongoDB using Mongoose and Bun
|
|
3
|
+
sidebarTitle: Mongoose with Bun
|
|
4
|
+
mode: center
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
MongoDB and Mongoose work out of the box with Bun. This guide assumes you've already installed MongoDB and are running it as background process/service on your development machine. Follow [this guide](https://www.mongodb.com/docs/manual/installation/) for details.
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
Once MongoDB is running, create a directory and initialize it with `bun init`.
|
|
12
|
+
|
|
13
|
+
```sh terminal icon="terminal"
|
|
14
|
+
mkdir mongoose-app
|
|
15
|
+
cd mongoose-app
|
|
16
|
+
bun init
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
Then add Mongoose as a dependency.
|
|
22
|
+
|
|
23
|
+
```sh terminal icon="terminal"
|
|
24
|
+
bun add mongoose
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
In `schema.ts` we'll declare and export a simple `Animal` model.
|
|
30
|
+
|
|
31
|
+
```ts schema.ts icon="/icons/typescript.svg"
|
|
32
|
+
import * as mongoose from "mongoose";
|
|
33
|
+
|
|
34
|
+
const animalSchema = new mongoose.Schema(
|
|
35
|
+
{
|
|
36
|
+
title: { type: String, required: true },
|
|
37
|
+
sound: { type: String, required: true },
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
methods: {
|
|
41
|
+
speak() {
|
|
42
|
+
console.log(`${this.sound}!`);
|
|
43
|
+
},
|
|
44
|
+
},
|
|
45
|
+
},
|
|
46
|
+
);
|
|
47
|
+
|
|
48
|
+
export type Animal = mongoose.InferSchemaType<typeof animalSchema>;
|
|
49
|
+
export const Animal = mongoose.model("Animal", animalSchema);
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
---
|
|
53
|
+
|
|
54
|
+
Now from `index.ts` we can import `Animal`, connect to MongoDB, and add some data to our database.
|
|
55
|
+
|
|
56
|
+
```ts index.ts icon="/icons/typescript.svg"
|
|
57
|
+
import * as mongoose from "mongoose";
|
|
58
|
+
import { Animal } from "./schema";
|
|
59
|
+
|
|
60
|
+
// connect to database
|
|
61
|
+
await mongoose.connect("mongodb://127.0.0.1:27017/mongoose-app");
|
|
62
|
+
|
|
63
|
+
// create new Animal
|
|
64
|
+
const cow = new Animal({
|
|
65
|
+
title: "Cow",
|
|
66
|
+
sound: "Moo",
|
|
67
|
+
});
|
|
68
|
+
await cow.save(); // saves to the database
|
|
69
|
+
|
|
70
|
+
// read all Animals
|
|
71
|
+
const animals = await Animal.find();
|
|
72
|
+
animals[0].speak(); // logs "Moo!"
|
|
73
|
+
|
|
74
|
+
// disconnect
|
|
75
|
+
await mongoose.disconnect();
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
---
|
|
79
|
+
|
|
80
|
+
Let's run this with `bun run`.
|
|
81
|
+
|
|
82
|
+
```bash terminal icon="terminal"
|
|
83
|
+
bun run index.ts
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
```txt
|
|
87
|
+
Moo!
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
---
|
|
91
|
+
|
|
92
|
+
This is a simple introduction to using Mongoose with TypeScript and Bun. As you build your application, refer to the official [MongoDB](https://www.mongodb.com/docs) and [Mongoose](https://mongoosejs.com/docs/) sites for complete documentation.
|
|
@@ -0,0 +1,234 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Use Neon Postgres through Drizzle ORM
|
|
3
|
+
sidebarTitle: Neon Drizzle with Bun
|
|
4
|
+
mode: center
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
[Neon](https://neon.tech/) is a fully managed serverless Postgres, separating compute and storage to offer features like autoscaling, branching and bottomless storage. Neon can be used from Bun directly using the `@neondatabase/serverless` driver or through an ORM like `Drizzle`.
|
|
8
|
+
|
|
9
|
+
Drizzle ORM supports both a SQL-like "query builder" API and an ORM-like [Queries API](https://orm.drizzle.team/docs/rqb). Get started by creating a project directory, initializing the directory using `bun init`, and installing Drizzle and the [Neon serverless driver](https://github.com/neondatabase/serverless/).
|
|
10
|
+
|
|
11
|
+
```sh terminal icon="terminal"
|
|
12
|
+
mkdir bun-drizzle-neon
|
|
13
|
+
cd bun-drizzle-neon
|
|
14
|
+
bun init -y
|
|
15
|
+
bun add drizzle-orm @neondatabase/serverless
|
|
16
|
+
bun add -D drizzle-kit
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
Create a `.env.local` file and add your [Neon Postgres connection string](https://neon.tech/docs/connect/connect-from-any-app) to it.
|
|
22
|
+
|
|
23
|
+
```ini .env.local icon="settings"
|
|
24
|
+
DATABASE_URL=postgresql://usertitle:password@ep-adj-noun-guid.us-east-1.aws.neon.tech/neondb?sslmode=require
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
We will connect to the Neon database using the Neon serverless driver, wrapped in a Drizzle database instance.
|
|
30
|
+
|
|
31
|
+
```ts db.ts icon="/icons/typescript.svg"
|
|
32
|
+
import { neon } from "@neondatabase/serverless";
|
|
33
|
+
import { drizzle } from "drizzle-orm/neon-http";
|
|
34
|
+
|
|
35
|
+
// Bun automatically loads the DATABASE_URL from .env.local
|
|
36
|
+
// Refer to: https://bun.com/docs/runtime/environment-variables for more information
|
|
37
|
+
const sql = neon(process.env.DATABASE_URL!);
|
|
38
|
+
|
|
39
|
+
export const db = drizzle(sql);
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
To see the database in action, add these lines to `index.ts`.
|
|
45
|
+
|
|
46
|
+
```ts index.ts icon="/icons/typescript.svg"
|
|
47
|
+
import { db } from "./db";
|
|
48
|
+
import { sql } from "drizzle-orm";
|
|
49
|
+
|
|
50
|
+
const query = sql`select 'hello world' as text`;
|
|
51
|
+
const result = await db.execute(query);
|
|
52
|
+
console.log(result.rows);
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
Then run `index.ts` with Bun.
|
|
58
|
+
|
|
59
|
+
```sh terminal icon="terminal"
|
|
60
|
+
bun run index.ts
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
```txt
|
|
64
|
+
[
|
|
65
|
+
{
|
|
66
|
+
text: "hello world",
|
|
67
|
+
}
|
|
68
|
+
]
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
---
|
|
72
|
+
|
|
73
|
+
We can define a schema for our database using Drizzle ORM primitives. Create a `schema.ts` file and add this code.
|
|
74
|
+
|
|
75
|
+
```ts schema.ts icon="/icons/typescript.svg"
|
|
76
|
+
import { pgTable, integer, serial, text, timestamp } from "drizzle-orm/pg-core";
|
|
77
|
+
|
|
78
|
+
export const authors = pgTable("authors", {
|
|
79
|
+
id: serial("id").primaryKey(),
|
|
80
|
+
title: text("name").notNull(),
|
|
81
|
+
bio: text("bio"),
|
|
82
|
+
createdAt: timestamp("created_at").notNull().defaultNow(),
|
|
83
|
+
});
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
---
|
|
87
|
+
|
|
88
|
+
We then use the `drizzle-kit` CLI to generate an initial SQL migration.
|
|
89
|
+
|
|
90
|
+
```sh
|
|
91
|
+
bunx drizzle-kit generate --dialect postgresql --schema ./schema.ts --out ./drizzle
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
---
|
|
95
|
+
|
|
96
|
+
This creates a new `drizzle` directory containing a `.sql` migration file and `meta` directory.
|
|
97
|
+
|
|
98
|
+
```txt File Tree icon="folder-tree"
|
|
99
|
+
drizzle
|
|
100
|
+
├── 0000_aspiring_post.sql
|
|
101
|
+
└── meta
|
|
102
|
+
├── 0000_snapshot.json
|
|
103
|
+
└── _journal.json
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
---
|
|
107
|
+
|
|
108
|
+
We can execute these migrations with a simple `migrate.ts` script. This script creates a new connection to the Neon database and executes all unexecuted migrations in the `drizzle` directory.
|
|
109
|
+
|
|
110
|
+
```ts migrate.ts
|
|
111
|
+
import { db } from "./db";
|
|
112
|
+
import { migrate } from "drizzle-orm/neon-http/migrator";
|
|
113
|
+
|
|
114
|
+
const main = async () => {
|
|
115
|
+
try {
|
|
116
|
+
await migrate(db, { migrationsFolder: "drizzle" });
|
|
117
|
+
console.log("Migration completed");
|
|
118
|
+
} catch (error) {
|
|
119
|
+
console.error("Error during migration:", error);
|
|
120
|
+
process.exit(1);
|
|
121
|
+
}
|
|
122
|
+
};
|
|
123
|
+
|
|
124
|
+
main();
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
---
|
|
128
|
+
|
|
129
|
+
We can run this script with `bun` to execute the migration.
|
|
130
|
+
|
|
131
|
+
```sh terminal icon="terminal"
|
|
132
|
+
bun run migrate.ts
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
```txt
|
|
136
|
+
Migration completed
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
---
|
|
140
|
+
|
|
141
|
+
We can now add some data to our database. Create a `seed.ts` file with the following contents.
|
|
142
|
+
|
|
143
|
+
```ts seed.ts icon="/icons/typescript.svg"
|
|
144
|
+
import { db } from "./db";
|
|
145
|
+
import * as schema from "./schema";
|
|
146
|
+
|
|
147
|
+
async function seed() {
|
|
148
|
+
await db.insert(schema.authors).values([
|
|
149
|
+
{
|
|
150
|
+
title: "J.R.R. Tolkien",
|
|
151
|
+
bio: "The creator of Middle-earth and author of The Lord of the Rings.",
|
|
152
|
+
},
|
|
153
|
+
{
|
|
154
|
+
title: "George R.R. Martin",
|
|
155
|
+
bio: "The author of the epic fantasy series A Song of Ice and Fire.",
|
|
156
|
+
},
|
|
157
|
+
{
|
|
158
|
+
title: "J.K. Rowling",
|
|
159
|
+
bio: "The creator of the Harry Potter series.",
|
|
160
|
+
},
|
|
161
|
+
]);
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
async function main() {
|
|
165
|
+
try {
|
|
166
|
+
await seed();
|
|
167
|
+
console.log("Seeding completed");
|
|
168
|
+
} catch (error) {
|
|
169
|
+
console.error("Error during seeding:", error);
|
|
170
|
+
process.exit(1);
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
main();
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
---
|
|
178
|
+
|
|
179
|
+
Then run this file.
|
|
180
|
+
|
|
181
|
+
```sh terminal icon="terminal"
|
|
182
|
+
bun run seed.ts
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
```txt
|
|
186
|
+
Seeding completed
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
---
|
|
190
|
+
|
|
191
|
+
We now have a database with a schema and sample data. We can use Drizzle to query it. Replace the contents of `index.ts` with the following.
|
|
192
|
+
|
|
193
|
+
```ts index.ts icon="/icons/typescript.svg"
|
|
194
|
+
import * as schema from "./schema";
|
|
195
|
+
import { db } from "./db";
|
|
196
|
+
|
|
197
|
+
const result = await db.select().from(schema.authors);
|
|
198
|
+
console.log(result);
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
---
|
|
202
|
+
|
|
203
|
+
Then run the file. You should see the three authors we inserted.
|
|
204
|
+
|
|
205
|
+
```sh terminal icon="terminal"
|
|
206
|
+
bun run index.ts
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
```txt
|
|
210
|
+
[
|
|
211
|
+
{
|
|
212
|
+
id: 1,
|
|
213
|
+
title: "J.R.R. Tolkien",
|
|
214
|
+
bio: "The creator of Middle-earth and author of The Lord of the Rings.",
|
|
215
|
+
createdAt: 2024-05-11T10:28:46.029Z,
|
|
216
|
+
}, {
|
|
217
|
+
id: 2,
|
|
218
|
+
title: "George R.R. Martin",
|
|
219
|
+
bio: "The author of the epic fantasy series A Song of Ice and Fire.",
|
|
220
|
+
createdAt: 2024-05-11T10:28:46.029Z,
|
|
221
|
+
}, {
|
|
222
|
+
id: 3,
|
|
223
|
+
title: "J.K. Rowling",
|
|
224
|
+
bio: "The creator of the Harry Potter series.",
|
|
225
|
+
createdAt: 2024-05-11T10:28:46.029Z,
|
|
226
|
+
}
|
|
227
|
+
]
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
---
|
|
231
|
+
|
|
232
|
+
This example used the Neon serverless driver's SQL-over-HTTP functionality. Neon's serverless driver also exposes `Client` and `Pool` constructors to enable sessions, interactive transactions, and node-postgres compatibility. Refer to [Neon's documentation](https://neon.tech/docs/serverless/serverless-driver) for a complete overview.
|
|
233
|
+
|
|
234
|
+
Refer to the [Drizzle website](https://orm.drizzle.team/docs/overview) for more documentation on using the Drizzle ORM.
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Use Neon's Serverless Postgres with Bun
|
|
3
|
+
sidebarTitle: Neon Serverless Postgres with Bun
|
|
4
|
+
mode: center
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
[Neon](https://neon.tech/) is a fully managed serverless Postgres. Neon separates compute and storage to offer modern developer features such as autoscaling, branching, bottomless storage, and more.
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
Get started by creating a project directory, initializing the directory using `bun init`, and adding the [Neon serverless driver](https://github.com/neondatabase/serverless/) as a project dependency.
|
|
12
|
+
|
|
13
|
+
```sh terminal icon="terminal"
|
|
14
|
+
mkdir bun-neon-postgres
|
|
15
|
+
cd bun-neon-postgres
|
|
16
|
+
bun init -y
|
|
17
|
+
bun add @neondatabase/serverless
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
Create a `.env.local` file and add your [Neon Postgres connection string](https://neon.tech/docs/connect/connect-from-any-app) to it.
|
|
23
|
+
|
|
24
|
+
```ini .env.local icon="settings"
|
|
25
|
+
DATABASE_URL=postgresql://usertitle:password@ep-adj-noun-guid.us-east-1.aws.neon.tech/neondb?sslmode=require
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
Paste the following code into your project's `index.ts` file.
|
|
31
|
+
|
|
32
|
+
```ts index.ts icon="/icons/typescript.svg"
|
|
33
|
+
import { neon } from "@neondatabase/serverless";
|
|
34
|
+
|
|
35
|
+
// Bun automatically loads the DATABASE_URL from .env.local
|
|
36
|
+
// Refer to: https://bun.com/docs/runtime/environment-variables for more information
|
|
37
|
+
const sql = neon(process.env.DATABASE_URL);
|
|
38
|
+
|
|
39
|
+
const rows = await sql`SELECT version()`;
|
|
40
|
+
|
|
41
|
+
console.log(rows[0].version);
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
Start the program using `bun ./index.ts`. The Postgres version should be printed to the console.
|
|
47
|
+
|
|
48
|
+
```sh terminal icon="terminal"
|
|
49
|
+
bun ./index.ts
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
```txt
|
|
53
|
+
PostgreSQL 16.2 on x86_64-pc-linux-gnu, compiled by gcc (Debian 10.2.1-6) 10.2.1 20210110, 64-bit
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
---
|
|
57
|
+
|
|
58
|
+
This example used the Neon serverless driver's SQL-over-HTTP functionality. Neon's serverless driver also exposes `Client` and `Pool` constructors to enable sessions, interactive transactions, and node-postgres compatibility.
|
|
59
|
+
|
|
60
|
+
Refer to [Neon's documentation](https://neon.tech/docs/serverless/serverless-driver) for a complete overview of the serverless driver.
|