@depup/bun-types 1.3.11-depup.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/CLAUDE.md +105 -0
- package/README.md +25 -0
- package/bun.d.ts +8712 -0
- package/bun.ns.d.ts +5 -0
- package/bundle.d.ts +74 -0
- package/changes.json +5 -0
- package/deprecated.d.ts +184 -0
- package/devserver.d.ts +187 -0
- package/docs/README.md +28 -0
- package/docs/bundler/bytecode.mdx +447 -0
- package/docs/bundler/css.mdx +1024 -0
- package/docs/bundler/esbuild.mdx +304 -0
- package/docs/bundler/executables.mdx +1318 -0
- package/docs/bundler/fullstack.mdx +1086 -0
- package/docs/bundler/hot-reloading.mdx +229 -0
- package/docs/bundler/html-static.mdx +498 -0
- package/docs/bundler/index.mdx +1840 -0
- package/docs/bundler/loaders.mdx +451 -0
- package/docs/bundler/macros.mdx +328 -0
- package/docs/bundler/minifier.mdx +1286 -0
- package/docs/bundler/plugins.mdx +477 -0
- package/docs/bundler/standalone-html.mdx +314 -0
- package/docs/feedback.mdx +75 -0
- package/docs/guides/binary/arraybuffer-to-array.mdx +29 -0
- package/docs/guides/binary/arraybuffer-to-blob.mdx +26 -0
- package/docs/guides/binary/arraybuffer-to-buffer.mdx +27 -0
- package/docs/guides/binary/arraybuffer-to-string.mdx +17 -0
- package/docs/guides/binary/arraybuffer-to-typedarray.mdx +41 -0
- package/docs/guides/binary/blob-to-arraybuffer.mdx +16 -0
- package/docs/guides/binary/blob-to-dataview.mdx +16 -0
- package/docs/guides/binary/blob-to-stream.mdx +16 -0
- package/docs/guides/binary/blob-to-string.mdx +17 -0
- package/docs/guides/binary/blob-to-typedarray.mdx +16 -0
- package/docs/guides/binary/buffer-to-arraybuffer.mdx +16 -0
- package/docs/guides/binary/buffer-to-blob.mdx +16 -0
- package/docs/guides/binary/buffer-to-readablestream.mdx +43 -0
- package/docs/guides/binary/buffer-to-string.mdx +27 -0
- package/docs/guides/binary/buffer-to-typedarray.mdx +16 -0
- package/docs/guides/binary/dataview-to-string.mdx +17 -0
- package/docs/guides/binary/typedarray-to-arraybuffer.mdx +27 -0
- package/docs/guides/binary/typedarray-to-blob.mdx +18 -0
- package/docs/guides/binary/typedarray-to-buffer.mdx +16 -0
- package/docs/guides/binary/typedarray-to-dataview.mdx +16 -0
- package/docs/guides/binary/typedarray-to-readablestream.mdx +43 -0
- package/docs/guides/binary/typedarray-to-string.mdx +18 -0
- package/docs/guides/deployment/aws-lambda.mdx +204 -0
- package/docs/guides/deployment/digital-ocean.mdx +161 -0
- package/docs/guides/deployment/google-cloud-run.mdx +194 -0
- package/docs/guides/deployment/railway.mdx +145 -0
- package/docs/guides/deployment/render.mdx +82 -0
- package/docs/guides/deployment/vercel.mdx +97 -0
- package/docs/guides/ecosystem/astro.mdx +82 -0
- package/docs/guides/ecosystem/discordjs.mdx +80 -0
- package/docs/guides/ecosystem/docker.mdx +151 -0
- package/docs/guides/ecosystem/drizzle.mdx +195 -0
- package/docs/guides/ecosystem/elysia.mdx +31 -0
- package/docs/guides/ecosystem/express.mdx +43 -0
- package/docs/guides/ecosystem/gel.mdx +261 -0
- package/docs/guides/ecosystem/hono.mdx +47 -0
- package/docs/guides/ecosystem/mongoose.mdx +92 -0
- package/docs/guides/ecosystem/neon-drizzle.mdx +234 -0
- package/docs/guides/ecosystem/neon-serverless-postgres.mdx +60 -0
- package/docs/guides/ecosystem/nextjs.mdx +103 -0
- package/docs/guides/ecosystem/nuxt.mdx +96 -0
- package/docs/guides/ecosystem/pm2.mdx +55 -0
- package/docs/guides/ecosystem/prisma-postgres.mdx +169 -0
- package/docs/guides/ecosystem/prisma.mdx +164 -0
- package/docs/guides/ecosystem/qwik.mdx +114 -0
- package/docs/guides/ecosystem/react.mdx +52 -0
- package/docs/guides/ecosystem/remix.mdx +97 -0
- package/docs/guides/ecosystem/sentry.mdx +54 -0
- package/docs/guides/ecosystem/solidstart.mdx +62 -0
- package/docs/guides/ecosystem/ssr-react.mdx +49 -0
- package/docs/guides/ecosystem/stric.mdx +54 -0
- package/docs/guides/ecosystem/sveltekit.mdx +138 -0
- package/docs/guides/ecosystem/systemd.mdx +114 -0
- package/docs/guides/ecosystem/tanstack-start.mdx +791 -0
- package/docs/guides/ecosystem/upstash.mdx +87 -0
- package/docs/guides/ecosystem/vite.mdx +77 -0
- package/docs/guides/html-rewriter/extract-links.mdx +71 -0
- package/docs/guides/html-rewriter/extract-social-meta.mdx +97 -0
- package/docs/guides/http/cluster.mdx +69 -0
- package/docs/guides/http/fetch-unix.mdx +35 -0
- package/docs/guides/http/fetch.mdx +26 -0
- package/docs/guides/http/file-uploads.mdx +97 -0
- package/docs/guides/http/hot.mdx +28 -0
- package/docs/guides/http/proxy.mdx +50 -0
- package/docs/guides/http/server.mdx +48 -0
- package/docs/guides/http/simple.mdx +20 -0
- package/docs/guides/http/sse.mdx +91 -0
- package/docs/guides/http/stream-file.mdx +50 -0
- package/docs/guides/http/stream-iterator.mdx +49 -0
- package/docs/guides/http/stream-node-streams-in-bun.mdx +22 -0
- package/docs/guides/http/tls.mdx +32 -0
- package/docs/guides/index.mdx +10 -0
- package/docs/guides/install/add-dev.mdx +28 -0
- package/docs/guides/install/add-git.mdx +40 -0
- package/docs/guides/install/add-optional.mdx +27 -0
- package/docs/guides/install/add-peer.mdx +45 -0
- package/docs/guides/install/add-tarball.mdx +35 -0
- package/docs/guides/install/add.mdx +44 -0
- package/docs/guides/install/azure-artifacts.mdx +76 -0
- package/docs/guides/install/cicd.mdx +43 -0
- package/docs/guides/install/custom-registry.mdx +32 -0
- package/docs/guides/install/from-npm-install-to-bun-install.mdx +230 -0
- package/docs/guides/install/git-diff-bun-lockfile.mdx +48 -0
- package/docs/guides/install/jfrog-artifactory.mdx +28 -0
- package/docs/guides/install/npm-alias.mdx +25 -0
- package/docs/guides/install/registry-scope.mdx +40 -0
- package/docs/guides/install/trusted.mdx +52 -0
- package/docs/guides/install/workspaces.mdx +70 -0
- package/docs/guides/install/yarnlock.mdx +51 -0
- package/docs/guides/process/argv.mdx +66 -0
- package/docs/guides/process/ctrl-c.mdx +18 -0
- package/docs/guides/process/ipc.mdx +69 -0
- package/docs/guides/process/nanoseconds.mdx +15 -0
- package/docs/guides/process/os-signals.mdx +31 -0
- package/docs/guides/process/spawn-stderr.mdx +34 -0
- package/docs/guides/process/spawn-stdout.mdx +28 -0
- package/docs/guides/process/spawn.mdx +43 -0
- package/docs/guides/process/stdin.mdx +62 -0
- package/docs/guides/read-file/arraybuffer.mdx +30 -0
- package/docs/guides/read-file/buffer.mdx +21 -0
- package/docs/guides/read-file/exists.mdx +18 -0
- package/docs/guides/read-file/json.mdx +19 -0
- package/docs/guides/read-file/mime.mdx +22 -0
- package/docs/guides/read-file/stream.mdx +28 -0
- package/docs/guides/read-file/string.mdx +24 -0
- package/docs/guides/read-file/uint8array.mdx +23 -0
- package/docs/guides/read-file/watch.mdx +66 -0
- package/docs/guides/runtime/build-time-constants.mdx +295 -0
- package/docs/guides/runtime/cicd.mdx +45 -0
- package/docs/guides/runtime/codesign-macos-executable.mdx +61 -0
- package/docs/guides/runtime/define-constant.mdx +149 -0
- package/docs/guides/runtime/delete-directory.mdx +39 -0
- package/docs/guides/runtime/delete-file.mdx +21 -0
- package/docs/guides/runtime/heap-snapshot.mdx +28 -0
- package/docs/guides/runtime/import-html.mdx +15 -0
- package/docs/guides/runtime/import-json.mdx +46 -0
- package/docs/guides/runtime/import-json5.mdx +74 -0
- package/docs/guides/runtime/import-toml.mdx +32 -0
- package/docs/guides/runtime/import-yaml.mdx +104 -0
- package/docs/guides/runtime/read-env.mdx +37 -0
- package/docs/guides/runtime/set-env.mdx +51 -0
- package/docs/guides/runtime/shell.mdx +42 -0
- package/docs/guides/runtime/timezone.mdx +38 -0
- package/docs/guides/runtime/tsconfig-paths.mdx +31 -0
- package/docs/guides/runtime/typescript.mdx +51 -0
- package/docs/guides/runtime/vscode-debugger.mdx +47 -0
- package/docs/guides/runtime/web-debugger.mdx +103 -0
- package/docs/guides/streams/node-readable-to-arraybuffer.mdx +13 -0
- package/docs/guides/streams/node-readable-to-blob.mdx +13 -0
- package/docs/guides/streams/node-readable-to-json.mdx +14 -0
- package/docs/guides/streams/node-readable-to-string.mdx +14 -0
- package/docs/guides/streams/node-readable-to-uint8array.mdx +13 -0
- package/docs/guides/streams/to-array.mdx +16 -0
- package/docs/guides/streams/to-arraybuffer.mdx +16 -0
- package/docs/guides/streams/to-blob.mdx +16 -0
- package/docs/guides/streams/to-buffer.mdx +17 -0
- package/docs/guides/streams/to-json.mdx +16 -0
- package/docs/guides/streams/to-string.mdx +16 -0
- package/docs/guides/streams/to-typedarray.mdx +24 -0
- package/docs/guides/test/bail.mdx +24 -0
- package/docs/guides/test/concurrent-test-glob.mdx +146 -0
- package/docs/guides/test/coverage-threshold.mdx +67 -0
- package/docs/guides/test/coverage.mdx +49 -0
- package/docs/guides/test/happy-dom.mdx +73 -0
- package/docs/guides/test/migrate-from-jest.mdx +125 -0
- package/docs/guides/test/mock-clock.mdx +50 -0
- package/docs/guides/test/mock-functions.mdx +70 -0
- package/docs/guides/test/rerun-each.mdx +16 -0
- package/docs/guides/test/run-tests.mdx +116 -0
- package/docs/guides/test/skip-tests.mdx +43 -0
- package/docs/guides/test/snapshot.mdx +102 -0
- package/docs/guides/test/spy-on.mdx +49 -0
- package/docs/guides/test/svelte-test.mdx +113 -0
- package/docs/guides/test/testing-library.mdx +93 -0
- package/docs/guides/test/timeout.mdx +17 -0
- package/docs/guides/test/todo-tests.mdx +74 -0
- package/docs/guides/test/update-snapshots.mdx +49 -0
- package/docs/guides/test/watch-mode.mdx +24 -0
- package/docs/guides/util/base64.mdx +17 -0
- package/docs/guides/util/deep-equals.mdx +41 -0
- package/docs/guides/util/deflate.mdx +20 -0
- package/docs/guides/util/detect-bun.mdx +28 -0
- package/docs/guides/util/entrypoint.mdx +19 -0
- package/docs/guides/util/escape-html.mdx +24 -0
- package/docs/guides/util/file-url-to-path.mdx +16 -0
- package/docs/guides/util/gzip.mdx +20 -0
- package/docs/guides/util/hash-a-password.mdx +56 -0
- package/docs/guides/util/import-meta-dir.mdx +15 -0
- package/docs/guides/util/import-meta-file.mdx +15 -0
- package/docs/guides/util/import-meta-path.mdx +15 -0
- package/docs/guides/util/javascript-uuid.mdx +25 -0
- package/docs/guides/util/main.mdx +43 -0
- package/docs/guides/util/path-to-file-url.mdx +16 -0
- package/docs/guides/util/sleep.mdx +24 -0
- package/docs/guides/util/upgrade.mdx +93 -0
- package/docs/guides/util/version.mdx +23 -0
- package/docs/guides/util/which-path-to-executable-bin.mdx +17 -0
- package/docs/guides/websocket/compression.mdx +33 -0
- package/docs/guides/websocket/context.mdx +79 -0
- package/docs/guides/websocket/pubsub.mdx +43 -0
- package/docs/guides/websocket/simple.mdx +38 -0
- package/docs/guides/write-file/append.mdx +54 -0
- package/docs/guides/write-file/basic.mdx +46 -0
- package/docs/guides/write-file/blob.mdx +30 -0
- package/docs/guides/write-file/cat.mdx +19 -0
- package/docs/guides/write-file/file-cp.mdx +18 -0
- package/docs/guides/write-file/filesink.mdx +54 -0
- package/docs/guides/write-file/response.mdx +19 -0
- package/docs/guides/write-file/stdout.mdx +23 -0
- package/docs/guides/write-file/stream.mdx +19 -0
- package/docs/guides/write-file/unlink.mdx +18 -0
- package/docs/index.mdx +133 -0
- package/docs/installation.mdx +372 -0
- package/docs/pm/bunx.mdx +91 -0
- package/docs/pm/catalogs.mdx +292 -0
- package/docs/pm/cli/add.mdx +179 -0
- package/docs/pm/cli/audit.mdx +60 -0
- package/docs/pm/cli/info.mdx +70 -0
- package/docs/pm/cli/install.mdx +591 -0
- package/docs/pm/cli/link.mdx +61 -0
- package/docs/pm/cli/outdated.mdx +197 -0
- package/docs/pm/cli/patch.mdx +69 -0
- package/docs/pm/cli/pm.mdx +323 -0
- package/docs/pm/cli/publish.mdx +131 -0
- package/docs/pm/cli/remove.mdx +16 -0
- package/docs/pm/cli/update.mdx +140 -0
- package/docs/pm/cli/why.mdx +84 -0
- package/docs/pm/filter.mdx +127 -0
- package/docs/pm/global-cache.mdx +72 -0
- package/docs/pm/isolated-installs.mdx +220 -0
- package/docs/pm/lifecycle.mdx +64 -0
- package/docs/pm/lockfile.mdx +64 -0
- package/docs/pm/npmrc.mdx +245 -0
- package/docs/pm/overrides.mdx +83 -0
- package/docs/pm/scopes-registries.mdx +35 -0
- package/docs/pm/security-scanner-api.mdx +95 -0
- package/docs/pm/workspaces.mdx +115 -0
- package/docs/project/benchmarking.mdx +296 -0
- package/docs/project/bindgen.mdx +223 -0
- package/docs/project/building-windows.mdx +143 -0
- package/docs/project/contributing.mdx +366 -0
- package/docs/project/feedback.mdx +20 -0
- package/docs/project/license.mdx +78 -0
- package/docs/project/roadmap.mdx +8 -0
- package/docs/quickstart.mdx +251 -0
- package/docs/runtime/archive.mdx +452 -0
- package/docs/runtime/auto-install.mdx +97 -0
- package/docs/runtime/binary-data.mdx +846 -0
- package/docs/runtime/bun-apis.mdx +60 -0
- package/docs/runtime/bunfig.mdx +765 -0
- package/docs/runtime/c-compiler.mdx +204 -0
- package/docs/runtime/child-process.mdx +659 -0
- package/docs/runtime/color.mdx +267 -0
- package/docs/runtime/console.mdx +67 -0
- package/docs/runtime/cookies.mdx +454 -0
- package/docs/runtime/cron.mdx +358 -0
- package/docs/runtime/csrf.mdx +171 -0
- package/docs/runtime/debugger.mdx +335 -0
- package/docs/runtime/environment-variables.mdx +231 -0
- package/docs/runtime/ffi.mdx +567 -0
- package/docs/runtime/file-io.mdx +306 -0
- package/docs/runtime/file-system-router.mdx +118 -0
- package/docs/runtime/file-types.mdx +482 -0
- package/docs/runtime/glob.mdx +181 -0
- package/docs/runtime/globals.mdx +72 -0
- package/docs/runtime/hashing.mdx +315 -0
- package/docs/runtime/html-rewriter.mdx +333 -0
- package/docs/runtime/http/cookies.mdx +79 -0
- package/docs/runtime/http/error-handling.mdx +40 -0
- package/docs/runtime/http/metrics.mdx +36 -0
- package/docs/runtime/http/routing.mdx +289 -0
- package/docs/runtime/http/server.mdx +672 -0
- package/docs/runtime/http/tls.mdx +101 -0
- package/docs/runtime/http/websockets.mdx +414 -0
- package/docs/runtime/index.mdx +223 -0
- package/docs/runtime/json5.mdx +271 -0
- package/docs/runtime/jsonl.mdx +188 -0
- package/docs/runtime/jsx.mdx +115 -0
- package/docs/runtime/markdown.mdx +381 -0
- package/docs/runtime/module-resolution.mdx +374 -0
- package/docs/runtime/networking/dns.mdx +111 -0
- package/docs/runtime/networking/fetch.mdx +484 -0
- package/docs/runtime/networking/tcp.mdx +239 -0
- package/docs/runtime/networking/udp.mdx +180 -0
- package/docs/runtime/node-api.mdx +19 -0
- package/docs/runtime/nodejs-compat.mdx +468 -0
- package/docs/runtime/plugins.mdx +419 -0
- package/docs/runtime/redis.mdx +583 -0
- package/docs/runtime/repl.mdx +176 -0
- package/docs/runtime/s3.mdx +881 -0
- package/docs/runtime/secrets.mdx +340 -0
- package/docs/runtime/semver.mdx +57 -0
- package/docs/runtime/shell.mdx +637 -0
- package/docs/runtime/sql.mdx +1404 -0
- package/docs/runtime/sqlite.mdx +721 -0
- package/docs/runtime/streams.mdx +232 -0
- package/docs/runtime/templating/create.mdx +269 -0
- package/docs/runtime/templating/init.mdx +58 -0
- package/docs/runtime/toml.mdx +238 -0
- package/docs/runtime/transpiler.mdx +288 -0
- package/docs/runtime/typescript.mdx +58 -0
- package/docs/runtime/utils.mdx +1010 -0
- package/docs/runtime/watch-mode.mdx +161 -0
- package/docs/runtime/web-apis.mdx +29 -0
- package/docs/runtime/workers.mdx +314 -0
- package/docs/runtime/yaml.mdx +470 -0
- package/docs/snippets/cli/add.mdx +166 -0
- package/docs/snippets/cli/build.mdx +197 -0
- package/docs/snippets/cli/bunx.mdx +49 -0
- package/docs/snippets/cli/feedback.mdx +17 -0
- package/docs/snippets/cli/init.mdx +84 -0
- package/docs/snippets/cli/install.mdx +173 -0
- package/docs/snippets/cli/link.mdx +163 -0
- package/docs/snippets/cli/outdated.mdx +140 -0
- package/docs/snippets/cli/patch.mdx +171 -0
- package/docs/snippets/cli/publish.mdx +198 -0
- package/docs/snippets/cli/remove.mdx +146 -0
- package/docs/snippets/cli/run.mdx +305 -0
- package/docs/snippets/cli/test.mdx +105 -0
- package/docs/snippets/cli/update.mdx +144 -0
- package/docs/test/code-coverage.mdx +409 -0
- package/docs/test/configuration.mdx +574 -0
- package/docs/test/dates-times.mdx +129 -0
- package/docs/test/discovery.mdx +90 -0
- package/docs/test/dom.mdx +226 -0
- package/docs/test/index.mdx +409 -0
- package/docs/test/lifecycle.mdx +366 -0
- package/docs/test/mocks.mdx +637 -0
- package/docs/test/reporters.mdx +126 -0
- package/docs/test/runtime-behavior.mdx +342 -0
- package/docs/test/snapshots.mdx +434 -0
- package/docs/test/writing-tests.mdx +672 -0
- package/docs/typescript.mdx +54 -0
- package/extensions.d.ts +40 -0
- package/fetch.d.ts +79 -0
- package/ffi.d.ts +1154 -0
- package/globals.d.ts +2067 -0
- package/html-rewriter.d.ts +186 -0
- package/index.d.ts +32 -0
- package/jsc.d.ts +233 -0
- package/jsx.d.ts +11 -0
- package/overrides.d.ts +376 -0
- package/package.json +53 -0
- package/redis.d.ts +3352 -0
- package/s3.d.ts +1354 -0
- package/security.d.ts +101 -0
- package/serve.d.ts +1296 -0
- package/shell.d.ts +380 -0
- package/sql.d.ts +887 -0
- package/sqlite.d.ts +1322 -0
- package/test-globals.d.ts +22 -0
- package/test.d.ts +2392 -0
- package/vendor/expect-type/branding.d.ts +283 -0
- package/vendor/expect-type/index.d.ts +1207 -0
- package/vendor/expect-type/messages.d.ts +395 -0
- package/vendor/expect-type/overloads.d.ts +669 -0
- package/vendor/expect-type/utils.d.ts +431 -0
- package/wasm.d.ts +193 -0
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Build an app with SolidStart and Bun
|
|
3
|
+
sidebarTitle: "SolidStart with Bun"
|
|
4
|
+
mode: center
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Initialize a SolidStart app with `create-solid`. You can specify the `--solidstart` flag to create a SolidStart project, and `--ts` for TypeScript support. When prompted for a template, select `basic` for a minimal starter app.
|
|
8
|
+
|
|
9
|
+
```sh terminal icon="terminal"
|
|
10
|
+
bun create solid my-app --solidstart --ts
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
```txt
|
|
14
|
+
┌
|
|
15
|
+
Create-Solid v0.6.11
|
|
16
|
+
│
|
|
17
|
+
◇ Project Name
|
|
18
|
+
│ my-app
|
|
19
|
+
│
|
|
20
|
+
◇ Which template would you like to use?
|
|
21
|
+
│ basic
|
|
22
|
+
│
|
|
23
|
+
◇ Project created 🎉
|
|
24
|
+
│
|
|
25
|
+
◇ To get started, run: ─╮
|
|
26
|
+
│ │
|
|
27
|
+
│ cd my-app │
|
|
28
|
+
│ bun install │
|
|
29
|
+
│ bun dev │
|
|
30
|
+
│ │
|
|
31
|
+
├────────────────────────╯
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
As instructed by the `create-solid` CLI, install the dependencies.
|
|
37
|
+
|
|
38
|
+
```sh terminal icon="terminal"
|
|
39
|
+
cd my-app
|
|
40
|
+
bun install
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
Then run the development server with `bun dev`.
|
|
44
|
+
|
|
45
|
+
```sh terminal icon="terminal"
|
|
46
|
+
bun dev
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
```txt
|
|
50
|
+
$ vinxi dev
|
|
51
|
+
vinxi v0.5.8
|
|
52
|
+
vinxi starting dev server
|
|
53
|
+
|
|
54
|
+
➜ Local: http://localhost:3000/
|
|
55
|
+
➜ Network: use --host to expose
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
Open [localhost:3000](http://localhost:3000). Any changes you make to `src/routes/index.tsx` will be hot-reloaded automatically.
|
|
59
|
+
|
|
60
|
+
---
|
|
61
|
+
|
|
62
|
+
Refer to the [SolidStart website](https://docs.solidjs.com/solid-start) for complete framework documentation.
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Server-side render (SSR) a React component
|
|
3
|
+
sidebarTitle: "SSR React with Bun"
|
|
4
|
+
mode: center
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
To get started, install `react` & `react-dom`:
|
|
8
|
+
|
|
9
|
+
```sh terminal icon="terminal"
|
|
10
|
+
# Any package manager can be used
|
|
11
|
+
bun add react react-dom
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
To render a React component to an HTML stream server-side (SSR):
|
|
17
|
+
|
|
18
|
+
```tsx ssr-react.tsx icon="file-code"
|
|
19
|
+
import { renderToReadableStream } from "react-dom/server";
|
|
20
|
+
|
|
21
|
+
function Component(props: { message: string }) {
|
|
22
|
+
return (
|
|
23
|
+
<body>
|
|
24
|
+
<h1>{props.message}</h1>
|
|
25
|
+
</body>
|
|
26
|
+
);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
const stream = await renderToReadableStream(<Component message="Hello from server!" />);
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
Combining this with `Bun.serve()`, we get a simple SSR HTTP server:
|
|
35
|
+
|
|
36
|
+
```tsx server.tsx icon="/icons/typescript.svg"
|
|
37
|
+
Bun.serve({
|
|
38
|
+
async fetch() {
|
|
39
|
+
const stream = await renderToReadableStream(<Component message="Hello from server!" />);
|
|
40
|
+
return new Response(stream, {
|
|
41
|
+
headers: { "Content-Type": "text/html" },
|
|
42
|
+
});
|
|
43
|
+
},
|
|
44
|
+
});
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
React `19` and later includes an [SSR optimization](https://github.com/facebook/react/pull/25597) that takes advantage of Bun's "direct" `ReadableStream` implementation. If you run into an error like `export named 'renderToReadableStream' not found`, please make sure to install version `19` of `react` & `react-dom`, or import from `react-dom/server.browser` instead of `react-dom/server`. See [facebook/react#28941](https://github.com/facebook/react/issues/28941) for more information.
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Build an HTTP server using StricJS and Bun
|
|
3
|
+
sidebarTitle: "StricJS with Bun"
|
|
4
|
+
mode: center
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
[StricJS](https://github.com/bunsvr) is a Bun framework for building high-performance web applications and APIs.
|
|
8
|
+
|
|
9
|
+
- **Fast** — Stric is one of the fastest Bun frameworks. See [benchmark](https://github.com/bunsvr/benchmark) for more details.
|
|
10
|
+
- **Minimal** — The basic components like `@stricjs/router` and `@stricjs/utils` are under 50kB and require no external dependencies.
|
|
11
|
+
- **Extensible** — Stric includes with a plugin system, dependency injection, and optional optimizations for handling requests.
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
Use `bun init` to create an empty project.
|
|
16
|
+
|
|
17
|
+
```bash terminal icon="terminal"
|
|
18
|
+
mkdir myapp
|
|
19
|
+
cd myapp
|
|
20
|
+
bun init
|
|
21
|
+
bun add @stricjs/router @stricjs/utils
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
To implement a simple HTTP server with StricJS:
|
|
27
|
+
|
|
28
|
+
```ts index.ts icon="file-code"
|
|
29
|
+
import { Router } from "@stricjs/router";
|
|
30
|
+
|
|
31
|
+
export default new Router().get("/", () => new Response("Hi"));
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
To serve static files from `/public`:
|
|
37
|
+
|
|
38
|
+
```ts index.ts icon="file-code"
|
|
39
|
+
import { dir } from "@stricjs/utils";
|
|
40
|
+
|
|
41
|
+
export default new Router().get("/", () => new Response("Hi")).get("/*", dir("./public"));
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
Run the file in watch mode to start the development server.
|
|
47
|
+
|
|
48
|
+
```bash terminal icon="terminal"
|
|
49
|
+
bun --watch run index.ts
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
---
|
|
53
|
+
|
|
54
|
+
For more info, see Stric's [documentation](https://stricjs.netlify.app).
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Build an app with SvelteKit and Bun
|
|
3
|
+
sidebarTitle: "SvelteKit with Bun"
|
|
4
|
+
mode: center
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Use `sv create my-app` to create a SvelteKit project with SvelteKit CLI. Answer the prompts to select a template and set up your development environment.
|
|
8
|
+
|
|
9
|
+
```sh terminal icon="terminal"
|
|
10
|
+
bunx sv create my-app
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
```txt
|
|
14
|
+
┌ Welcome to the Svelte CLI! (v0.5.7)
|
|
15
|
+
│
|
|
16
|
+
◇ Which template would you like?
|
|
17
|
+
│ SvelteKit demo
|
|
18
|
+
│
|
|
19
|
+
◇ Add type checking with Typescript?
|
|
20
|
+
│ Yes, using Typescript syntax
|
|
21
|
+
│
|
|
22
|
+
◆ Project created
|
|
23
|
+
│
|
|
24
|
+
◇ What would you like to add to your project?
|
|
25
|
+
│ none
|
|
26
|
+
│
|
|
27
|
+
◇ Which package manager do you want to install dependencies with?
|
|
28
|
+
│ bun
|
|
29
|
+
│
|
|
30
|
+
◇ Successfully installed dependencies
|
|
31
|
+
│
|
|
32
|
+
◇ Project next steps ─────────────────────────────────────────────────────╮
|
|
33
|
+
│ │
|
|
34
|
+
│ 1: cd my-app │
|
|
35
|
+
│ 2: git init && git add -A && git commit -m "Initial commit" (optional) │
|
|
36
|
+
│ 3: bun run dev -- --open │
|
|
37
|
+
│ │
|
|
38
|
+
│ To close the dev server, hit Ctrl-C │
|
|
39
|
+
│ │
|
|
40
|
+
│ Stuck? Visit us at https://svelte.dev/chat │
|
|
41
|
+
│ │
|
|
42
|
+
├──────────────────────────────────────────────────────────────────────────╯
|
|
43
|
+
│
|
|
44
|
+
└ You're all set!
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
Once the project is initialized, `cd` into the new project. You don't need to run 'bun install' since the dependencies are already installed.
|
|
50
|
+
|
|
51
|
+
Then start the development server with `bun --bun run dev`.
|
|
52
|
+
|
|
53
|
+
To run the dev server with Node.js instead of Bun, you can omit the `--bun` flag.
|
|
54
|
+
|
|
55
|
+
```sh terminal icon="terminal"
|
|
56
|
+
cd my-app
|
|
57
|
+
bun --bun run dev
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
```txt
|
|
61
|
+
$ vite dev
|
|
62
|
+
Forced re-optimization of dependencies
|
|
63
|
+
|
|
64
|
+
VITE v5.4.10 ready in 424 ms
|
|
65
|
+
|
|
66
|
+
➜ Local: http://localhost:5173/
|
|
67
|
+
➜ Network: use --host to expose
|
|
68
|
+
➜ press h + enter to show help
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
---
|
|
72
|
+
|
|
73
|
+
Visit [http://localhost:5173](http://localhost:5173/) in a browser to see the template app.
|
|
74
|
+
|
|
75
|
+
<Frame>
|
|
76
|
+

|
|
77
|
+
</Frame>
|
|
78
|
+
|
|
79
|
+
---
|
|
80
|
+
|
|
81
|
+
If you edit and save `src/routes/+page.svelte`, you should see your changes hot-reloaded in the browser.
|
|
82
|
+
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
To build for production, you'll need to add the right SvelteKit adapter. Currently we recommend the
|
|
86
|
+
|
|
87
|
+
`bun add -D svelte-adapter-bun`.
|
|
88
|
+
|
|
89
|
+
Now, make the following changes to your `svelte.config.js`.
|
|
90
|
+
|
|
91
|
+
```js svelte.config.js icon="file-code"
|
|
92
|
+
import adapter from "@sveltejs/adapter-auto"; // [!code --]
|
|
93
|
+
import adapter from "svelte-adapter-bun"; // [!code ++]
|
|
94
|
+
import { vitePreprocess } from "@sveltejs/vite-plugin-svelte";
|
|
95
|
+
|
|
96
|
+
/** @type {import('@sveltejs/kit').Config} */
|
|
97
|
+
const config = {
|
|
98
|
+
// Consult https://svelte.dev/docs/kit/integrations#preprocessors
|
|
99
|
+
// for more information about preprocessors
|
|
100
|
+
preprocess: vitePreprocess(),
|
|
101
|
+
|
|
102
|
+
kit: {
|
|
103
|
+
// adapter-auto only supports some environments, see https://svelte.dev/docs/kit/adapter-auto for a list.
|
|
104
|
+
// If your environment is not supported, or you settled on a specific environment, switch out the adapter.
|
|
105
|
+
// See https://svelte.dev/docs/kit/adapters for more information about adapters.
|
|
106
|
+
adapter: adapter(),
|
|
107
|
+
},
|
|
108
|
+
};
|
|
109
|
+
|
|
110
|
+
export default config;
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
---
|
|
114
|
+
|
|
115
|
+
To build a production bundle:
|
|
116
|
+
|
|
117
|
+
```sh terminal icon="terminal"
|
|
118
|
+
bun --bun run build
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
```txt
|
|
122
|
+
$ vite build
|
|
123
|
+
vite v5.4.10 building SSR bundle for production...
|
|
124
|
+
"confetti" is imported from external module "@neoconfetti/svelte" but never used in "src/routes/sverdle/+page.svelte".
|
|
125
|
+
✓ 130 modules transformed.
|
|
126
|
+
vite v5.4.10 building for production...
|
|
127
|
+
✓ 148 modules transformed.
|
|
128
|
+
...
|
|
129
|
+
✓ built in 231ms
|
|
130
|
+
...
|
|
131
|
+
✓ built in 899ms
|
|
132
|
+
|
|
133
|
+
Run npm run preview to preview your production build locally.
|
|
134
|
+
|
|
135
|
+
> Using svelte-adapter-bun
|
|
136
|
+
✔ Start server with: bun ./build/index.js
|
|
137
|
+
✔ done
|
|
138
|
+
```
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Run Bun as a daemon with systemd
|
|
3
|
+
sidebarTitle: "systemd with Bun"
|
|
4
|
+
mode: center
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
[systemd](https://systemd.io) is an init system and service manager for Linux operating systems that manages the startup and control of system processes and services.
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
To run a Bun application as a daemon using **systemd** you'll need to create a _service file_ in `/lib/systemd/system/`.
|
|
12
|
+
|
|
13
|
+
```sh terminal icon="terminal"
|
|
14
|
+
cd /lib/systemd/system
|
|
15
|
+
touch my-app.service
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
Here is a typical service file that runs an application on system start. You can use this as a template for your own service. Replace `YOUR_USER` with the name of the user you want to run the application as. To run as `root`, replace `YOUR_USER` with `root`, though this is generally not recommended for security reasons.
|
|
21
|
+
|
|
22
|
+
Refer to the [systemd documentation](https://www.freedesktop.org/software/systemd/man/systemd.service.html) for more information on each setting.
|
|
23
|
+
|
|
24
|
+
```ini my-app.service icon="file-code"
|
|
25
|
+
[Unit]
|
|
26
|
+
# describe the app
|
|
27
|
+
Description=My App
|
|
28
|
+
# start the app after the network is available
|
|
29
|
+
After=network.target
|
|
30
|
+
|
|
31
|
+
[Service]
|
|
32
|
+
# usually you'll use 'simple'
|
|
33
|
+
# one of https://www.freedesktop.org/software/systemd/man/systemd.service.html#Type=
|
|
34
|
+
Type=simple
|
|
35
|
+
# which user to use when starting the app
|
|
36
|
+
User=YOUR_USER
|
|
37
|
+
# path to your application's root directory
|
|
38
|
+
WorkingDirectory=/home/YOUR_USER/path/to/my-app
|
|
39
|
+
# the command to start the app
|
|
40
|
+
# requires absolute paths
|
|
41
|
+
ExecStart=/home/YOUR_USER/.bun/bin/bun run index.ts
|
|
42
|
+
# restart policy
|
|
43
|
+
# one of {no|on-success|on-failure|on-abnormal|on-watchdog|on-abort|always}
|
|
44
|
+
Restart=always
|
|
45
|
+
|
|
46
|
+
[Install]
|
|
47
|
+
# start the app automatically
|
|
48
|
+
WantedBy=multi-user.target
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
|
|
53
|
+
If your application starts a webserver, note that non-`root` users are not able to listen on ports 80 or 443 by default. To permanently allow Bun to listen on these ports when executed by a non-`root` user, use the following command. This step isn't necessary when running as `root`.
|
|
54
|
+
|
|
55
|
+
```bash terminal icon="terminal"
|
|
56
|
+
setcap CAP_NET_BIND_SERVICE=+eip ~/.bun/bin/bun
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
---
|
|
60
|
+
|
|
61
|
+
With the service file configured, you can now _enable_ the service. Once enabled, it will start automatically on reboot. This requires `sudo` permissions.
|
|
62
|
+
|
|
63
|
+
```bash terminal icon="terminal"
|
|
64
|
+
systemctl enable my-app
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
To start the service without rebooting, you can manually _start_ it.
|
|
70
|
+
|
|
71
|
+
```bash terminal icon="terminal"
|
|
72
|
+
systemctl start my-app
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
Check the status of your application with `systemctl status`. If you've started your app successfully, you should see something like this:
|
|
78
|
+
|
|
79
|
+
```bash terminal icon="terminal"
|
|
80
|
+
systemctl status my-app
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
```txt
|
|
84
|
+
● my-app.service - My App
|
|
85
|
+
Loaded: loaded (/lib/systemd/system/my-app.service; enabled; preset: enabled)
|
|
86
|
+
Active: active (running) since Thu 2023-10-12 11:34:08 UTC; 1h 8min ago
|
|
87
|
+
Main PID: 309641 (bun)
|
|
88
|
+
Tasks: 3 (limit: 503)
|
|
89
|
+
Memory: 40.9M
|
|
90
|
+
CPU: 1.093s
|
|
91
|
+
CGroup: /system.slice/my-app.service
|
|
92
|
+
└─309641 /home/YOUR_USER/.bun/bin/bun run /home/YOUR_USER/application/index.ts
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
---
|
|
96
|
+
|
|
97
|
+
To update the service, edit the contents of the service file, then reload the daemon.
|
|
98
|
+
|
|
99
|
+
```bash terminal icon="terminal"
|
|
100
|
+
systemctl daemon-reload
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
---
|
|
104
|
+
|
|
105
|
+
For a complete guide on the service unit configuration, you can check [this page](https://www.freedesktop.org/software/systemd/man/systemd.service.html). Or refer to this cheatsheet of common commands:
|
|
106
|
+
|
|
107
|
+
```bash terminal icon="terminal"
|
|
108
|
+
systemctl daemon-reload # tell systemd that some files got changed
|
|
109
|
+
systemctl enable my-app # enable the app (to allow auto-start)
|
|
110
|
+
systemctl disable my-app # disable the app (turns off auto-start)
|
|
111
|
+
systemctl start my-app # start the app if is stopped
|
|
112
|
+
systemctl stop my-app # stop the app
|
|
113
|
+
systemctl restart my-app # restart the app
|
|
114
|
+
```
|