# bun

Published articles for bun.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Bun runtime now supports large functions and extended max duration

DevFeed: [Bun runtime now supports large functions and extended max duration](<https://devfeed.tech/articles/bun-runtime-now-supports-large-functions-and-extended-max-duration-830.md>)

Original publisher: [Read original article](<https://vercel.com/changelog/bun-runtime-now-supports-large-functions-and-extended-max-duration>)

Author: Florentin Eckl

Published: 2026-08-24T00:00:00Z

Content type: release

Language: en

Sources: [Vercel News](<https://devfeed.tech/sources/vercel-news.md>)

Topics: [Bun](<https://devfeed.tech/topics/bun.md>), [Vercel](<https://devfeed.tech/topics/vercel.md>), [Node.js](<https://devfeed.tech/topics/node-js.md>), [Python](<https://devfeed.tech/topics/python.md>)

Tags: [2026](<https://devfeed.tech/tags/2026.md>), [bun](<https://devfeed.tech/tags/bun.md>), [compute](<https://devfeed.tech/tags/compute.md>), [enterprise](<https://devfeed.tech/tags/enterprise.md>), [features](<https://devfeed.tech/tags/features.md>), [node-js](<https://devfeed.tech/tags/node-js.md>), [python](<https://devfeed.tech/tags/python.md>), [vercel](<https://devfeed.tech/tags/vercel.md>)

### AI overview

Vercel Functions now supports larger package sizes and longer execution times for the Bun runtime. In beta, Fluid compute enables packages up to 5GB uncompressed and function durations up to 30 minutes for Pro and Enterprise teams.

### Source excerpt

The Bun runtime on Vercel Functions now supports larger package sizes up to 5GB uncompressed and extended max duration for up to 30 minutes, two betas that previously ran on Node.js and Python only. Large functions raise the standard 250MB package size limit to 5GB, and extended max duration raises the generally available 800-second ceiling to 1800 seconds for Pro and Enterprise teams. Both features require Fluid compute to be enabled. New projects are enrolled in the large functions beta automatically, while existing projects created before July 2026 opt in by adding VERCEL_SUPPORT_LARGE_FUNCTIONS=1 as an environment variable in your project settings, then redeploying. Durations above 800 seconds are set per function in vercel.json rather than as a project-level default: The server.ts entry point serves the long-running route with Bun: During the beta, these features are unavailable on projects using Secure Compute or Static IPs. Read the large functions and extended max duration documentation. Read more

## Bun 1.4 lands on Appwrite: the first Bun written in Rust

DevFeed: [Bun 1.4 lands on Appwrite: the first Bun written in Rust](<https://devfeed.tech/articles/bun-1-4-lands-on-appwrite-the-first-bun-written-in-rust-16418.md>)

Original publisher: [Read original article](<https://appwrite.io/blog/post/announcing-bun-1-4-runtime>)

Author: Atharva Deosthale

Published: 2026-08-21T00:00:00Z

Content type: release

Language: en

Sources: [Appwrite Blog](<https://devfeed.tech/sources/appwrite-blog.md>)

Topics: [Bun](<https://devfeed.tech/topics/bun.md>), [Appwrite](<https://devfeed.tech/topics/appwrite.md>), [Rust](<https://devfeed.tech/topics/rust.md>), [OpenTelemetry](<https://devfeed.tech/topics/opentelemetry.md>), [Playwright](<https://devfeed.tech/topics/playwright.md>)

Tags: [announcements](<https://devfeed.tech/tags/announcements.md>), [build](<https://devfeed.tech/tags/build.md>), [bun](<https://devfeed.tech/tags/bun.md>), [node](<https://devfeed.tech/tags/node.md>), [npm](<https://devfeed.tech/tags/npm.md>), [opentelemetry](<https://devfeed.tech/tags/opentelemetry.md>), [playwright](<https://devfeed.tech/tags/playwright.md>), [release](<https://devfeed.tech/tags/release.md>), [rust](<https://devfeed.tech/tags/rust.md>)

### AI overview

Bun 1.4 is available on Appwrite Cloud for Appwrite Functions and Sites. The release is the first Bun version written in Rust and includes improved Node.js 26 compatibility, faster startup and installs, lower memory and idle CPU use, native Web Streams, and new built-in APIs. The article also describes upgrade considerations and benchmarks against Bun 1.3 and Node 26.

### Source excerpt

Bun 1.4 is now available as a runtime for Appwrite Functions and as a build runtime for Appwrite Sites. We benchmarked it against Bun 1.3 and Node 26.

## How to Configure Playwright Test to run smoke tests, headed tests, and debug versions through scripts in package.json

DevFeed: [How to Configure Playwright Test to run smoke tests, headed tests, and debug versions through scripts in package.json](<https://devfeed.tech/articles/how-to-configure-playwright-test-to-run-smoke-tests-headed-tests-and-debug-versions-through-scripts-in-package-json-22419.md>)

Original publisher: [Read original article](<https://www.tjmaher.com/2026/08/how-to-configure-playwright-test-to-run.html>)

Author: T.J. Maher (noreply@blogger.com)

Published: 2026-08-20T02:13:32Z

Content type: tutorial

Language: en

Sources: [T.J. Maher](<https://devfeed.tech/sources/t-j-maher.md>)

Topics: [Playwright](<https://devfeed.tech/topics/playwright.md>), [Script](<https://devfeed.tech/topics/script.md>), [Bun](<https://devfeed.tech/topics/bun.md>), [Smoke Tests](<https://devfeed.tech/topics/smoke-tests.md>), [test](<https://devfeed.tech/topics/test.md>), [Package manager](<https://devfeed.tech/topics/package-manager.md>)

Tags: [bun](<https://devfeed.tech/tags/bun.md>), [bun-create-playwright](<https://devfeed.tech/tags/bun-create-playwright.md>), [commands](<https://devfeed.tech/tags/commands.md>), [gitlab](<https://devfeed.tech/tags/gitlab.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [install](<https://devfeed.tech/tags/install.md>), [playwright](<https://devfeed.tech/tags/playwright.md>), [test](<https://devfeed.tech/tags/test.md>), [tests](<https://devfeed.tech/tags/tests.md>)

### AI overview

A tutorial on configuring Playwright Test commands in package.json scripts. It demonstrates shortcuts for headed, traced, Chromium, Firefox, WebKit, smoke, debugging, reporting, linting, formatting, and type-checking workflows, and explains using Bun and bunx to run commands.

### Source excerpt

Earlier, we went over how we could create scripts in the package.json file of our Playwright framework to add typechecking, linting, and formatting your code with prettier. Want to see the entire bun-create-playwright project? It is on tinyurl.com/bun-create-playwright! With this post, we will explore how the built-in test runner for Playwright Test can run headed tests, debug versions of tests, and smoke tests. ... and shortcuts for all of these can be set up in the scripts in your package.json! If you are using "bun" as a package manager, as we are in bun-create-playwright, just type out "bun run", a space and then the shortcut such as: bun run test package.json "scripts": { "test": "playwright test", "test:headed": "playwright test --headed", "test:trace": "playwright test --trace on", "test:chromium": "playwright test --project=chromium", "test:firefox": "playwright test --project=firefox", "test:webkit": "playwright test --project=webkit", "test:smoke": "playwright test --project=chromium --grep '@smoke'", "test:flaky": "playwright test --project=chromium --repeat-each=20", "test:ui": "playwright test --ui", "test:debug": "playwright test --debug", "test:failed": "playwright test --last-failed", "test:login": "playwright test tests/login.spec.ts", "test:secure-area": "playwright test tests/secure-area.spec.ts", "report:list": "playwright test --reporter=list", "report:line": "playwright test --reporter=line", "report:dot": "playwright test --reporter=dot", "report:blob": "playwright test --reporter=blob", "report": "playwright show-report", "codegen": "playwright codegen", "lint": "eslint .", "lint:ci": "eslint . --max-warnings 0", "lint:fix": "eslint . --fix", "format": "prettier --write .", "format:check": "prettier --check .", "format:debug": "prettier --check . --log-level debug", "format:diff": "prettier --list-different", "typecheck": "tsc --noEmit" }, bun-create-playwright / package.json Do you need to really set up shortcuts like these? Certainly not! B

## Bun 1.4 is now available in Vercel Functions

DevFeed: [Bun 1.4 is now available in Vercel Functions](<https://devfeed.tech/articles/bun-1-4-is-now-available-in-vercel-functions-829.md>)

Original publisher: [Read original article](<https://vercel.com/changelog/bun-1-4-is-now-available-in-vercel-functions>)

Author: Tom Lienard

Published: 2026-08-20T00:00:00Z

Content type: release

Language: en

Sources: [Vercel News](<https://devfeed.tech/sources/vercel-news.md>)

Topics: [Bun](<https://devfeed.tech/topics/bun.md>), [Vercel](<https://devfeed.tech/topics/vercel.md>), [Rust](<https://devfeed.tech/topics/rust.md>), [Node.js](<https://devfeed.tech/topics/node-js.md>), [WebSocket](<https://devfeed.tech/topics/websocket.md>), [Zig](<https://devfeed.tech/topics/zig.md>), [Hono](<https://devfeed.tech/topics/honojs.md>), [Next.js](<https://devfeed.tech/topics/next-js.md>)

Tags: [2](<https://devfeed.tech/tags/2.md>), [bun](<https://devfeed.tech/tags/bun.md>), [compatibility](<https://devfeed.tech/tags/compatibility.md>), [compute](<https://devfeed.tech/tags/compute.md>), [cpu](<https://devfeed.tech/tags/cpu.md>), [features](<https://devfeed.tech/tags/features.md>), [frameworks](<https://devfeed.tech/tags/frameworks.md>), [next-js](<https://devfeed.tech/tags/next-js.md>), [node](<https://devfeed.tech/tags/node.md>), [node-js](<https://devfeed.tech/tags/node-js.md>), [performance](<https://devfeed.tech/tags/performance.md>), [release](<https://devfeed.tech/tags/release.md>), [rust](<https://devfeed.tech/tags/rust.md>), [support](<https://devfeed.tech/tags/support.md>), [update](<https://devfeed.tech/tags/update.md>), [vercel](<https://devfeed.tech/tags/vercel.md>), [zig](<https://devfeed.tech/tags/zig.md>)

### AI overview

Vercel Functions now support Bun 1.4, which rewrites Bun from Zig to Rust and includes resolved issues, additional Node.js compatibility tests, new features, and performance improvements. Bun runs on Fluid compute, supports Active CPU pricing and WebSockets, and works with frameworks including Next.js and Hono. Upgrading is an explicit opt-in because of breaking changes.

### Source excerpt

Vercel Functions now support the new Bun 1.4 release, a rewrite of Bun from Zig to Rust, with over 2,900 issues resolved, more than 1,500 additional Node.js compatibility tests passing, and new features and performance improvements. Bun on Vercel Functions: Runs on Fluid compute with Active CPU pricing Supports WebSockets and Bun.serve() Supports common frameworks such as Next.js, Elysia, and Hono To update from the previous Bun version, set bunVersion to 1.4.x in vercel.json. Upgrading is an explicit opt-in because Bun 1.4 has several breaking changes. Review the breaking changes and update your application before upgrading. Learn more about using Bun on Vercel in the runtime documentation. Read more

## Running the WorkOS API locally

DevFeed: [Running the WorkOS API locally](<https://devfeed.tech/articles/running-the-workos-api-locally-16055.md>)

Original publisher: [Read original article](<https://workos.com/blog/running-the-workos-api-locally>)

Author: WorkOS

Published: 2026-08-17T20:30:39Z

Content type: tutorial

Language: en

Sources: [WorkOS Blog](<https://devfeed.tech/sources/workos-blog.md>)

Topics: [API](<https://devfeed.tech/topics/api.md>), [Testing](<https://devfeed.tech/topics/testing.md>), [Development](<https://devfeed.tech/topics/development.md>), [servers](<https://devfeed.tech/topics/servers.md>), [SDKs](<https://devfeed.tech/topics/sdks.md>), [OpenAPI Specification](<https://devfeed.tech/topics/openapi.md>), [Authentication](<https://devfeed.tech/topics/authentication.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [authentication](<https://devfeed.tech/tags/authentication.md>), [automated](<https://devfeed.tech/tags/automated.md>), [backend](<https://devfeed.tech/tags/backend.md>), [bun](<https://devfeed.tech/tags/bun.md>), [docker](<https://devfeed.tech/tags/docker.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [linux](<https://devfeed.tech/tags/linux.md>), [local](<https://devfeed.tech/tags/local.md>), [macos](<https://devfeed.tech/tags/macos.md>), [npm](<https://devfeed.tech/tags/npm.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [openapi](<https://devfeed.tech/tags/openapi.md>), [python](<https://devfeed.tech/tags/python.md>), [tests](<https://devfeed.tech/tags/tests.md>), [windows](<https://devfeed.tech/tags/windows.md>)

### AI overview

This tutorial introduces WorkOS Emulate, an open-source local WorkOS API server for development and automated testing. It explains how to run it locally or in CI, connect WorkOS SDKs by overriding the base URL, and use seeded data for repeatable authentication and integration tests without contacting a live WorkOS environment.

### Source excerpt

WorkOS Emulate runs the WorkOS API on your own machine, so your tests can seed real data, drive full login flows, and force failures without touching prod.

## Implementing Page Objects in Playwright

DevFeed: [Implementing Page Objects in Playwright](<https://devfeed.tech/articles/implementing-page-objects-in-playwright-22420.md>)

Original publisher: [Read original article](<https://www.tjmaher.com/2026/08/implementing-page-objects-in-playwright.html>)

Author: T.J. Maher (noreply@blogger.com)

Published: 2026-08-16T22:04:38Z

Content type: tutorial

Language: en

Sources: [T.J. Maher](<https://devfeed.tech/sources/t-j-maher.md>)

Topics: [Playwright](<https://devfeed.tech/topics/playwright.md>), [selectors](<https://devfeed.tech/topics/selectors.md>), [test](<https://devfeed.tech/topics/test.md>), [Development](<https://devfeed.tech/topics/development.md>)

Tags: [bun](<https://devfeed.tech/tags/bun.md>), [bun-create-playwright](<https://devfeed.tech/tags/bun-create-playwright.md>), [code](<https://devfeed.tech/tags/code.md>), [gitlab](<https://devfeed.tech/tags/gitlab.md>), [jest](<https://devfeed.tech/tags/jest.md>), [page-object](<https://devfeed.tech/tags/page-object.md>), [playwright](<https://devfeed.tech/tags/playwright.md>), [selectors](<https://devfeed.tech/tags/selectors.md>), [test](<https://devfeed.tech/tags/test.md>), [tests](<https://devfeed.tech/tags/tests.md>)

### AI overview

A tutorial on using Playwright page objects to organize web application tests, centralize selectors, reduce repetition, and simplify maintenance. It compares Playwright Test and Library approaches and demonstrates setting up a login-page object.

### Source excerpt

Picture a login screen, such as The-Internet / Login. On this LoginPage, there is: a heading: Login Page a user name textbox with the label, "Username" a password textbox with the label, "Password" a login button, with the role of a button, and the name of "Login" a flash message that appears if you enter invalid credentials such as "NotAUser" and "NotAPassword". If you successfully log in with "tomsmith" and "SuperSecretPassword!, there is a SecureArea: a heading: "Secure Area" a flash message "You logged into a secure area!" a Logout button. Sure, you could interact with each web element in your test... but what if the username text box locator changes? You would have to update multiple tests every time the element changed. ... Instead, you could place it in a Page Object, something that Playwright handles well! "A page object represents a part of your web application. An e-commerce web application might have a home page, a listings page and a checkout page. Each of them can be represented by page object models. "Page objects simplify authoring by creating a higher-level API which suits your application and simplify maintenance by capturing element selectors in one place and create reusable code to avoid repetition". Using Playwright's Built-In Test Runner? Or Something Else? You may have noticed in https://playwright.dev/docs/pom that there are two different styles of page objects. One for "Test". One for "Library". Test: If you are writing actual Playwright test suites, and Playwright's built in test runner, use the Test section as a guide when creating page objects. Library: If you are integrating Playwright into an existing test framework such as Jest or Cucumber and just want browser automation, instead of having pre-built page fixtures, etc, you can use this format. Setting Up Page Objects Let's review a page object I created for the main login page on my GitLab account for the bun-create-typescript project, tests/pages/LoginPage.ts. The first thing we do is

## How Playwright Frameworks get configured with playwright.config.ts

DevFeed: [How Playwright Frameworks get configured with playwright.config.ts](<https://devfeed.tech/articles/how-playwright-frameworks-get-configured-with-playwright-config-ts-22418.md>)

Original publisher: [Read original article](<https://www.tjmaher.com/2026/08/how-playwright-frameworks-get.html>)

Author: T.J. Maher (noreply@blogger.com)

Published: 2026-08-15T02:30:20Z

Content type: tutorial

Language: en

Sources: [T.J. Maher](<https://devfeed.tech/sources/t-j-maher.md>)

Topics: [Playwright](<https://devfeed.tech/topics/playwright.md>), [Testing](<https://devfeed.tech/topics/testing.md>), [CI/CD](<https://devfeed.tech/topics/cicd.md>), [browsers](<https://devfeed.tech/topics/browsers.md>), [Framework](<https://devfeed.tech/topics/framework.md>)

Tags: [browsers](<https://devfeed.tech/tags/browsers.md>), [bun](<https://devfeed.tech/tags/bun.md>), [bun-create-playwright](<https://devfeed.tech/tags/bun-create-playwright.md>), [ci-cd](<https://devfeed.tech/tags/ci-cd.md>), [config](<https://devfeed.tech/tags/config.md>), [playwright](<https://devfeed.tech/tags/playwright.md>), [testing](<https://devfeed.tech/tags/testing.md>)

### AI overview

This tutorial examines the playwright.config.ts file generated by `bun create playwright`. It explains default test settings, browser projects for Chromium, Firefox, and WebKit, mobile and branded browser configurations, and how retries differ between local runs and CI/CD pipelines.

### Source excerpt

When we installed bun, a new package manager owned by Anthropic, then ran "bun create playwright", a new automation framework was stood up, along with sample tests, and a Playwright configuration file. In this post, we will be examining the file generated: playwright.config.ts. Personally, I find the pre-generated file very hard to scan... there are so many options and documentation in the comments, it is difficult for me to focus on the code. Let's examine just the code generated below. If you need to see the whole file, you can see it here: https://playwright.dev/docs/test-configuration Playwright.dev / Configuration mentions, "Playwright has many options to configure how your tests are run. You can specify these options in the configuration file". What is Configured By Default? import { defineConfig, devices } from '@playwright/test'; export default defineConfig({ testDir: './tests', fullyParallel: true, forbidOnly: !!process.env.CI, retries: process.env.CI ? 2 : 0, workers: process.env.CI ? 1 : undefined, reporter: 'html', // baseURL: 'http://localhost:3000', /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */ trace: 'on-first-retry', }, /* Configure projects for major browsers */ projects: [ { name: 'chromium', use: { ...devices['Desktop Chrome'] }, }, { name: 'firefox', use: { ...devices['Desktop Firefox'] }, }, { name: 'webkit', use: { ...devices['Desktop Safari'] }, }, }); I know what you are thinking ... What the heck is process.env.CI ? 2 : 0? This is know as a ternary operator. It is a shorthand for: "If A then B, else C". You can run tests two ways: Locally, on your local machine, or through a CI / CD Pipeline like Jenkins, GitHub Actions, or GitLab. If you are running tests on CI / CD, the process.env.CI would automatically get set. Since A is true, the value of retries would be "2". If you are running tests locally, the process.env.CI would NOT get set. Since A is false, the value "0" would be selected. CI /

## Checking code with lint, formatting it with prettier

DevFeed: [Checking code with lint, formatting it with prettier](<https://devfeed.tech/articles/checking-code-with-lint-formatting-it-with-prettier-22415.md>)

Original publisher: [Read original article](<https://www.tjmaher.com/2026/08/checking-code-with-lint-formatting-it.html>)

Author: T.J. Maher (noreply@blogger.com)

Published: 2026-08-10T23:23:45Z

Content type: tutorial

Language: en

Sources: [T.J. Maher](<https://devfeed.tech/sources/t-j-maher.md>)

Topics: [ESLint](<https://devfeed.tech/topics/eslint.md>), [Prettier](<https://devfeed.tech/topics/prettier.md>), [Playwright](<https://devfeed.tech/topics/playwright.md>), [Programming](<https://devfeed.tech/topics/programming.md>)

Tags: [bun](<https://devfeed.tech/tags/bun.md>), [bun-create-playwright](<https://devfeed.tech/tags/bun-create-playwright.md>), [eslint](<https://devfeed.tech/tags/eslint.md>), [formatting](<https://devfeed.tech/tags/formatting.md>), [linter](<https://devfeed.tech/tags/linter.md>), [playwright](<https://devfeed.tech/tags/playwright.md>), [typescript](<https://devfeed.tech/tags/typescript.md>)

### AI overview

This tutorial explains how to add ESLint for static analysis and Prettier for consistent code formatting in a Playwright project. It also discusses eslint-plugin-playwright and using eslint-config-prettier to reduce conflicts between ESLint and Prettier.

### Source excerpt

Now that we've installed bun, Anthropic's package manager, scaffolded a Playwright framework and closely examined the results, and added typechecking with TypeScript's compiler, it's time to add ways to check the code with lint, and reformat the code with prettier. We will be using: ESLint, as the static-analysis tool to review the code without running it. Little bits of fluff -- like syntax errors, structural bugs, anti-patterns, and code style violations -- can collect on your code, so it helps to run a linter to help catch it all, such as ESLint. There is also a linter, eslint-plugin-playwright, for Playwright tests. Prettier enforces a consistent code style across your entire codebase. Because ESLint and Prettier can conflict, we will be using Prettier's eslint-config-prettier, which turns off all rules that are unnecessary or might conflict with ESLint. What is a Linter? According to the Wikiwand entry for Lint, "Stephen C. Johnson, a computer scientist at Bell Labs, came up with the term 'lint' in 1978 while debugging the yacc grammar he was writing for C and dealing with portability issues stemming from porting Unix to a 32-bit machine. The term was borrowed from lint, the tiny bits of fiber and fluff shed by clothing, as the command he wrote would act like a lint trap in a clothes dryer, capturing waste fibers while leaving whole fabrics intact. The lint program was released outside of Bell Labs in Unix V7, in 1979. "In his 1978 paper, Johnson explained his reasons for creating a new program to detect errors: '...the general notion of having two programs is a good one' because they concentrate on different things, thereby allowing the programmer to 'concentrate at one stage of the programming process solely on the algorithms, data structures, and correctness of the program, and then later retrofit, with the aid of lint, the desirable properties of universality and portability' " What is ESLint? Website: https://eslint.org/ GitHub: https://github.com/eslint/e

## Bun runtime for Vercel Functions now accepts Bun.serve as an entrypoint

DevFeed: [Bun runtime for Vercel Functions now accepts Bun.serve as an entrypoint](<https://devfeed.tech/articles/bun-runtime-for-vercel-functions-now-accepts-bun-serve-as-an-entrypoint-831.md>)

Original publisher: [Read original article](<https://vercel.com/changelog/bun-serve-entrypoint-for-vercel-functions>)

Author: Florentin Eckl

Published: 2026-08-10T00:00:00Z

Content type: release

Language: en

Sources: [Vercel News](<https://devfeed.tech/sources/vercel-news.md>)

Topics: [Bun](<https://devfeed.tech/topics/bun.md>), [Vercel](<https://devfeed.tech/topics/vercel.md>), [WebSocket](<https://devfeed.tech/topics/websocket.md>), [servers](<https://devfeed.tech/topics/servers.md>)

Tags: [bun](<https://devfeed.tech/tags/bun.md>), [compute](<https://devfeed.tech/tags/compute.md>), [concurrent](<https://devfeed.tech/tags/concurrent.md>), [data](<https://devfeed.tech/tags/data.md>), [external](<https://devfeed.tech/tags/external.md>), [pricing](<https://devfeed.tech/tags/pricing.md>), [server](<https://devfeed.tech/tags/server.md>), [vercel](<https://devfeed.tech/tags/vercel.md>)

### AI overview

Vercel Functions now support Bun.serve() as a Bun runtime entrypoint, including WebSocket handlers. Locally run Bun servers can deploy as-is without being wrapped in a framework, with routes defined in a project-level server.ts file.

### Source excerpt

The Bun runtime for Vercel Functions now supports Bun.serve() as a function entrypoint, including WebSocket handlers. The server you run locally with Bun deploys as-is, without being wrapped in a framework. Enable the runtime by setting "bunVersion": "1.x" in vercel.json. Deploy a routes-based server Create a server with a routes map in server.ts at the project root. Accept WebSocket connections Add a websocket handler and call server.upgrade(request) in fetch to upgrade matching requests. The rest of the server stays the same. WebSocket connections run on Fluid compute with Active CPU pricing, so you pay only for time spent processing messages, not idle connection time. A connection is pinned to one function instance for its lifetime, and a single instance can handle multiple concurrent connections. Use an external data store to coordinate messages across instances. Read the documentation to get started. Read more

## Add Type Checking and TSConfig to Bun-Create-Playwright

DevFeed: [Add Type Checking and TSConfig to Bun-Create-Playwright](<https://devfeed.tech/articles/add-type-checking-and-tsconfig-to-bun-create-playwright-22414.md>)

Original publisher: [Read original article](<https://www.tjmaher.com/2026/08/add-type-checking-and-tsconfig-to-bun.html>)

Author: T.J. Maher (noreply@blogger.com)

Published: 2026-08-08T03:10:43Z

Content type: tutorial

Language: en

Sources: [T.J. Maher](<https://devfeed.tech/sources/t-j-maher.md>)

Topics: [Bun](<https://devfeed.tech/topics/bun.md>), [TypeScript](<https://devfeed.tech/topics/typescript.md>), [Playwright](<https://devfeed.tech/topics/playwright.md>), [Compiler](<https://devfeed.tech/topics/compiler.md>), [Code](<https://devfeed.tech/topics/code.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>)

Tags: [bun](<https://devfeed.tech/tags/bun.md>), [bun-create-playwright](<https://devfeed.tech/tags/bun-create-playwright.md>), [code](<https://devfeed.tech/tags/code.md>), [compiler](<https://devfeed.tech/tags/compiler.md>), [playwright](<https://devfeed.tech/tags/playwright.md>), [terminal](<https://devfeed.tech/tags/terminal.md>), [typescript](<https://devfeed.tech/tags/typescript.md>)

### AI overview

This tutorial adds TypeScript type checking and tsconfig configuration to a Bun-Create-Playwright project. It explains why Playwright should be run alongside the TypeScript compiler and demonstrates using tsc --noEmit to check code without emitting output files.

### Source excerpt

Now that we have installed bun, Anthropic's package manager, and scaffolded a Playwright framework and closely examined the results, we are going to explore with our Bun-Create-Playwright project ways to check if our code is correct. The first method we will be exploring is typechecking. Why Typechecking? As the Playwright.dev / Node.js Introduction mentions: "[...] Playwright does not check the types and will run tests even if there are non-critical TypeScript compilation errors. We recommend you run TypeScript compiler alongside Playwright. "[...] Note that Playwright only supports the following tsconfig options: allowJs, baseUrl, paths, references and extends. "[...] By default, Playwright will look up a closest tsconfig for each imported file by going up the directory structure and looking for tsconfig.json or jsconfig.json. This way, you can create a tests/tsconfig.json file that will be used only for your tests and Playwright will pick it up automatically".Before we go further down this road... What is Type Checking? According to Type Checking in TypeScript: A Beginners Guide, every piece of data in TypeScript is given a "type", and this "type" determines what properties the data has, and what methods are available to it. The types can be things like a Number, String, Enum, Boolean, Array, Object, Type assertions, or others. Since all data in TypeScript is given a type, it means that the TypeScript compiler, tsc, can check every property to make sure it is being used correctly. It makes sure that the expected properties exist and that the methods and functions are all compatible. And best of all, you can run these checks in your IDE as you are writing the code! To run typechecking against our code, all we have to do is execute from the Terminal: tsc --noEmit Since we are just kicking the tires of our code to see what happens, we don't need to emit "compiler output files like JavaScript source code, source-maps or declarations. This makes room for another tool

## Scaffold and Run Playwright Tests with Bun

DevFeed: [Scaffold and Run Playwright Tests with Bun](<https://devfeed.tech/articles/what-happens-when-you-scaffold-a-playwright-framework-and-run-installed-tests-using-bun-22425.md>)

Original publisher: [Read original article](<https://www.tjmaher.com/2026/08/what-happens-when-you-create-playwright.html>)

Author: T.J. Maher (noreply@blogger.com)

Published: 2026-08-06T17:37:06Z

Content type: tutorial

Language: en

Sources: [T.J. Maher](<https://devfeed.tech/sources/t-j-maher.md>)

Topics: [Playwright](<https://devfeed.tech/topics/playwright.md>), [Bun](<https://devfeed.tech/topics/bun.md>), [Node.js](<https://devfeed.tech/topics/node-js.md>), [TypeScript](<https://devfeed.tech/topics/typescript.md>), [Windows](<https://devfeed.tech/topics/windows.md>)

Tags: [bun](<https://devfeed.tech/tags/bun.md>), [bun-create-playwright](<https://devfeed.tech/tags/bun-create-playwright.md>), [playwright](<https://devfeed.tech/tags/playwright.md>), [test](<https://devfeed.tech/tags/test.md>), [typescript](<https://devfeed.tech/tags/typescript.md>), [windows](<https://devfeed.tech/tags/windows.md>)

### AI overview

A tutorial on creating a TypeScript Playwright project with Bun, installing its browsers on Windows, configuring a Bun lockfile and test script, and running the included tests. It notes that Playwright's test runner remains a Node.js program and documents an additional Bun and Playwright installation step for a Windows bug.

### Source excerpt

We covered in the last blog post how to install bun, a new package manager. In this blog post, we will look into using bun to install a new Playwright framework. Create the Playwright Framework Once I installed bun on my Windows PC and was up and running I created a new folder, "bun-create-playwright". I opened up that folder in VS Code, along with a new PowerShell terminal. In that terminal I entered: bun create playwright This activated the interactive Playwright installer that Playwright comes with. I selected I wanted it to create for me a TypeScript project, placing the tests in the default folder, tests, but I decided not to add a GitHub Actions workflow. I wanted to experiment with using GitLab. I chose it to set up and install all the browsers for me... which it did... using NPX, part of Node. Wait a second, when it comes to our Playwright framework, doesn't bun replace node? No. Bun might be a JavaScript runtime, a package manager, and a bundler shipped as a single software tool, but in our case we are simply using it as a package manager in our Playwright framework. Bun works alongside Node.js in the Playwright project. We still use Playwright's test runner, a Node.js program. Bun handles installations and run tasks. Alert: Windows Bug! Initially, that wasn't enough to install Playwright's internal browsers. There is a bug with bun + Playwright Windows where we also need to: bun add --dev @playwright/test bunx playwright install That was enough for the browsers to install. Create the Bun Lock File After the browsers are installed, we need to install bun in our project, to create from the package.json a bun installation. Run in the Terminal: bun install Review the newly created file bun.lock.file in the root directory of the project. Delete the package-lock.json file. Add the test script to the Package.json If you look in the package.json file, you can see that the scripts code block is currently empty. "scripts": {} Inside this code block, we will be addin

## Introducing bun, a new package manager and JavaScript runtime environment

DevFeed: [Introducing bun, a new package manager and JavaScript runtime environment](<https://devfeed.tech/articles/introducing-bun-a-new-package-manager-and-javascript-runtime-environment-22421.md>)

Original publisher: [Read original article](<https://www.tjmaher.com/2026/08/introducing-bun-new-package-manager-and.html>)

Author: T.J. Maher (noreply@blogger.com)

Published: 2026-08-06T01:58:25Z

Content type: article

Language: en

Sources: [T.J. Maher](<https://devfeed.tech/sources/t-j-maher.md>)

Topics: [Bun](<https://devfeed.tech/topics/bun.md>), [Package manager](<https://devfeed.tech/topics/package-manager.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [Playwright](<https://devfeed.tech/topics/playwright.md>), [Node.js](<https://devfeed.tech/topics/node-js.md>)

Tags: [bun](<https://devfeed.tech/tags/bun.md>), [bun-create-playwright](<https://devfeed.tech/tags/bun-create-playwright.md>), [getting-started](<https://devfeed.tech/tags/getting-started.md>), [installation](<https://devfeed.tech/tags/installation.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [node-js](<https://devfeed.tech/tags/node-js.md>), [playwright](<https://devfeed.tech/tags/playwright.md>), [test-automation](<https://devfeed.tech/tags/test-automation.md>), [typescript](<https://devfeed.tech/tags/typescript.md>)

### AI overview

This article examines Bun as a JavaScript package manager and runtime, including its use with Playwright projects. It explains how Bun compares with npm, Yarn, and pnpm, and discusses its integrated tooling and claimed performance advantages.

### Source excerpt

New job? New toolset to explore! In this post I'll be investigating a new JavaScript package manager and runtime environment called bun.sh. You may have noticed on Playwright.Dev's Getting Started / Installation section there are three different ways to install a ui or api test automation framework with the latest version of Playwright: npm init playwright@latest yarn create playwright pnpm create playwright For this blog post I'll be investigating a fourth way, the new toolset they just started using at work, bun.sh. bun create playwright What is npm, yarn, pnpm, and bun? These are called package managers. What is a package? Developing a project, you don't have to figure out how to code everything yourself. You can include in your projects outside libraries, or "packages" of code from from the public JavaScript registry npmjs.com. The problem is that these packages then need to be downloaded, installed, managed, and updated whenever they are updated. JavaScript projects can use a package manager, such as bun, to help this process. When putting together a Playwright automation framework based around JavaScript and TypeScript, Playwright uses the Node.js JavaScript runtime environment, to run its test runner, execute automation scripts, and manage its browser instances.(See Nodejs.org / About ) There is a division of labor: Node.js runs these internal functions like running tests. NPM, Yarn, PNPM, and now Bun handle the packages. Why are there so many package managers? Each has its own specialization. The original NPM is bundled already with Node.js. Yarn is a Facebook toolset that was created when NPM was found to work too slow. PNPM was created to be smaller and therefore faster. And bun was built for quick startup and installation speed, good especially if you have a CI/ CD pipeline that has a LOT of packages to install each time the tests run. NPM, released in 2010, is the Node Package Manager for Node.js, a JavaScript Runtime Environment. According to NodeJS.org

## Bun's migration from Zig to Rust reduced the estimated timeline from 1-2 years to 11 days

DevFeed: [Bun's migration from Zig to Rust reduced the estimated timeline from 1-2 years to 11 days](<https://devfeed.tech/articles/the-pulse-what-can-we-learn-from-bun-s-rapid-rust-rewrite-with-ai-40930.md>)

Original publisher: [Read original article](<https://blog.pragmaticengineer.com/the-pulse-what-can-we-learn-from-buns-rapid-rust-rewrite-with-ai/>)

Author: Ivan Klaric

Published: 2026-07-16T16:50:20Z

Content type: opinion

Language: en

Sources: [The Pragmatic Engineer](<https://devfeed.tech/sources/the-pragmatic-engineer-2.md>)

Topics: [Bun](<https://devfeed.tech/topics/bun.md>), [migration](<https://devfeed.tech/topics/migration.md>), [Rust](<https://devfeed.tech/topics/rust.md>), [Zig](<https://devfeed.tech/topics/zig.md>), [Fable](<https://devfeed.tech/topics/fable.md>), [Memory Leaks](<https://devfeed.tech/topics/memory-leaks.md>)

Tags: [bun](<https://devfeed.tech/tags/bun.md>), [fable](<https://devfeed.tech/tags/fable.md>), [memory-leaks](<https://devfeed.tech/tags/memory-leaks.md>), [migration](<https://devfeed.tech/tags/migration.md>), [rust](<https://devfeed.tech/tags/rust.md>), [zig](<https://devfeed.tech/tags/zig.md>)

### AI overview

The article examines Bun's rewrite from Zig to Rust, focusing on memory-safety problems and the migration approach. It reports that the migration timeline was shortened from an estimated 1-2 years to 11 days, while emphasizing that thorough testing was required.

### Source excerpt

To a sceptic, spending $165K to migrate Bun from Zig to Rust sounds very expensive. But to a realist, shortening a 1-2 year migration down to 11 days opens amazing new opportunities for devs. However, a thoroughly-tested project is required to pull it off.

## Fixing JavaScript observability, one library at a time

DevFeed: [Fixing JavaScript observability, one library at a time](<https://devfeed.tech/articles/fixing-javascript-observability-one-library-at-a-time-24099.md>)

Original publisher: [Read original article](<https://blog.sentry.io/fixing-javascript-observability/>)

Author: Abdelrahman Awad

Published: 2026-05-07T00:00:00Z

Content type: opinion

Language: en

Sources: [Sentry Blog](<https://devfeed.tech/sources/sentry-blog.md>)

Topics: [observability](<https://devfeed.tech/topics/observability.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [tracing](<https://devfeed.tech/topics/tracing.md>), [Instrumentation](<https://devfeed.tech/topics/instrumentation.md>), [Node.js](<https://devfeed.tech/topics/node-js.md>), [OpenTelemetry](<https://devfeed.tech/topics/opentelemetry.md>)

Tags: [bun](<https://devfeed.tech/tags/bun.md>), [instrumentation](<https://devfeed.tech/tags/instrumentation.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [node-js](<https://devfeed.tech/tags/node-js.md>), [observability](<https://devfeed.tech/tags/observability.md>), [opentelemetry](<https://devfeed.tech/tags/opentelemetry.md>), [tracing](<https://devfeed.tech/tags/tracing.md>)

### AI overview

Sentry describes an effort to replace monkey-patching in server-side JavaScript APM tools with Node's TracingChannel API. The approach lets libraries publish structured events that observability tools can consume without patching, loader hooks, or strict initialization ordering, with stated support across Node, Bun, and Deno.

### Source excerpt

Sentry is adding TracingChannel support to 44 JavaScript libraries upstream, replacing fragile monkey-patching with native observability that works across all runtimes.

## Chainguard artifacts safe from npm supply chain attack targeting SAP developer dependencies with 2.25M+ monthly downloads

DevFeed: [Chainguard artifacts safe from npm supply chain attack targeting SAP developer dependencies with 2.25M+ monthly downloads](<https://devfeed.tech/articles/chainguard-artifacts-safe-from-npm-supply-chain-attack-targeting-sap-developer-dependencies-with-2-25m-monthly-downloads-12929.md>)

Original publisher: [Read original article](<https://www.chainguard.dev/unchained/chainguard-artifacts-safe-from-npm-supply-chain-attack-targeting-sap-developer-dependencies>)

Published: 2026-04-29T00:00:00Z

Content type: article

Language: en

Sources: [Chainguard: Unchained](<https://devfeed.tech/sources/chainguard-unchained.md>)

Topics: [Security](<https://devfeed.tech/topics/security.md>), [npm](<https://devfeed.tech/topics/npm.md>), [npm packages](<https://devfeed.tech/topics/npm-packages.md>), [chainguard](<https://devfeed.tech/topics/chainguard.md>), [GitHub](<https://devfeed.tech/topics/github.md>), [container images](<https://devfeed.tech/topics/container-images.md>), [Bun](<https://devfeed.tech/topics/bun.md>), [Node.js](<https://devfeed.tech/topics/node-js.md>)

Tags: [bun](<https://devfeed.tech/tags/bun.md>), [chainguard-containers](<https://devfeed.tech/tags/chainguard-containers.md>), [chainguard-libraries](<https://devfeed.tech/tags/chainguard-libraries.md>), [github](<https://devfeed.tech/tags/github.md>), [malicious-packages](<https://devfeed.tech/tags/malicious-packages.md>), [mini-shai-hulud](<https://devfeed.tech/tags/mini-shai-hulud.md>), [node-js](<https://devfeed.tech/tags/node-js.md>), [npm](<https://devfeed.tech/tags/npm.md>), [npm-malware](<https://devfeed.tech/tags/npm-malware.md>), [npm-worm](<https://devfeed.tech/tags/npm-worm.md>), [sap](<https://devfeed.tech/tags/sap.md>), [security](<https://devfeed.tech/tags/security.md>), [shai-hulud](<https://devfeed.tech/tags/shai-hulud.md>), [supply-chain](<https://devfeed.tech/tags/supply-chain.md>), [tokens](<https://devfeed.tech/tags/tokens.md>)

### AI overview

A Shai-Hulud-style npm supply-chain attack compromised four SAP Cloud Application Programming Model dependencies with more than 2.25 million combined monthly downloads. The malicious packages used a preinstall hook to download Bun and harvest GitHub tokens, npm tokens, and other developer secrets. Chainguard customers were protected because Chainguard Libraries for JavaScript does not build or serve packages containing install-time scripts, and Chainguard Factory terminated rebuilds when it detected the hook.

### Source excerpt

New npm worm targets 2.25M-download packages. Chainguard customers stayed protected by blocking install-time scripts and malicious dependencies.

## How fast do browsers correct UTF-16 strings?

DevFeed: [How fast do browsers correct UTF-16 strings?](<https://devfeed.tech/articles/how-fast-do-browsers-correct-utf-16-strings-29392.md>)

Original publisher: [Read original article](<https://lemire.me/blog/2026/02/21/how-fast-do-browsers-correct-utf-16-strings/>)

Author: Daniel Lemire

Published: 2026-02-21T20:07:17Z

Content type: article

Language: en

Sources: [Daniel Lemire](<https://devfeed.tech/sources/daniel-lemire.md>)

Topics: [JavaScript](<https://devfeed.tech/topics/javascript.md>), [Benchmark](<https://devfeed.tech/topics/benchmark.md>), [Chrome](<https://devfeed.tech/topics/chrome.md>), [Chromium](<https://devfeed.tech/topics/chromium.md>), [Edge](<https://devfeed.tech/topics/edge.md>), [Bun](<https://devfeed.tech/topics/bun.md>)

Tags: [benchmark](<https://devfeed.tech/tags/benchmark.md>), [browsers](<https://devfeed.tech/tags/browsers.md>), [bun](<https://devfeed.tech/tags/bun.md>), [chrome](<https://devfeed.tech/tags/chrome.md>), [chromium](<https://devfeed.tech/tags/chromium.md>), [edge](<https://devfeed.tech/tags/edge.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [programming](<https://devfeed.tech/tags/programming.md>)

### AI overview

This article explains how JavaScript represents UTF-16 strings, how invalid surrogate sequences can be repaired with toWellFormed, and how fast the operation runs. A benchmark across browsers and JavaScript runtimes found varied performance; Chromium-based browsers exceeded ten gigabytes per second in the reported test.

### Source excerpt

JavaScript represents strings using Unicode, like most programming languages today. Each character in a JavaScript string is stored using one or two 16-bit words. The following JavaScript code might surprise some programmers because a single character becomes two 16-bit words. > t="🧰" '🧰' > t.length 2 > t[0] '\ud83e' > t[1] '\uddf0' The convention is ... Continue reading How fast do browsers correct UTF-16 strings?

## DigitalOcean App Platform Adds Native Bun Support

DevFeed: [DigitalOcean App Platform Adds Native Bun Support](<https://devfeed.tech/articles/speed-up-your-javascript-apps-native-bun-support-is-now-available-on-app-platform-19918.md>)

Original publisher: [Read original article](<https://www.digitalocean.com/blog/now-available-bun-support-app-platform>)

Author: Dinesh Murthy

Published: 2025-12-19T03:17:43Z

Content type: release

Language: en

Sources: [DigitalOcean](<https://devfeed.tech/sources/digitalocean.md>)

Topics: [Bun](<https://devfeed.tech/topics/bun.md>), [Digital Ocean](<https://devfeed.tech/topics/digital-ocean.md>), [Deployment](<https://devfeed.tech/topics/deployment.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [Node.js](<https://devfeed.tech/topics/node-js.md>), [Next.js](<https://devfeed.tech/topics/next-js.md>)

Tags: [bun](<https://devfeed.tech/tags/bun.md>), [cloud](<https://devfeed.tech/tags/cloud.md>), [deployment](<https://devfeed.tech/tags/deployment.md>), [digitalocean](<https://devfeed.tech/tags/digitalocean.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [next-js](<https://devfeed.tech/tags/next-js.md>), [node-js](<https://devfeed.tech/tags/node-js.md>), [platform](<https://devfeed.tech/tags/platform.md>), [serverless](<https://devfeed.tech/tags/serverless.md>)

### AI overview

DigitalOcean App Platform now supports deploying Bun applications directly from a code repository. Its Cloud Native Buildpacks detect, build, deploy, and run Bun applications without requiring configuration or a Dockerfile.

### Source excerpt

The JavaScript ecosystem is rapidly evolving to meet the growing performance and integration demands of modern, AI-driven applications. Bun is a popular framework for developers that offers an all-in-one runtime, bundler, and package manager and is considered a drop-in replacement for Node.js. With its faster startup times and lower memory usage than traditional runtimes, Bun is a top request from our customers. Today, we're excited to announce native Bun support on DigitalOcean App Platform. Now, you can deploy Bun applications directly from your code repository without writing a single line of configuration. App Platform's Cloud Native Buildpacks will automatically detect, build, deploy and run your Bun apps. Benefits Performance: Bun is a modern, high-performance JavaScript runtime with integrated tooling, optimized for fast startup and efficient execution. Zero Configuration: You don't need to maintain a Dockerfile. Just push your code into your git repo, and we'll handle the runtime setup. Seamless Next.js Support: Bun works natively with Next.js, allowing you to deploy your full-stack React applications with the same ease. Deployment Paths in App Platform App Platform supports three distinct workflows as part of deployment. Cloud Native Buildpacks (The "Code-First" Way): You simply connect a GitHub, GitLab, or Bitbucket repository. We analyze your code, detect the language, and build it automatically. Dockerfiles: You include a Dockerfile in your repo. We detect it and build the image according to your instructions. Pre-Built Images: You build the container image locally and push it to the DigitalOcean Container Registry (DOCR). We deploy exactly what you pushed. How to Get Started with Bun If you're new to Bun, getting started is straightforward. Bun is designed to be a drop-in replacement for Node.js, meaning you can often use your existing code and package.json with minimal changes. Install Bun: Fast-track your setup by installing Bun globally on your local

## Zed Productivity Workflows and Hidden Features from the Team and Community

DevFeed: [Zed Productivity Workflows and Hidden Features from the Team and Community](<https://devfeed.tech/articles/hidden-gems-part-2-13484.md>)

Original publisher: [Read original article](<https://zed.dev/blog/hidden-gems-part-2>)

Author: Joseph Lyons

Published: 2025-12-11T00:00:00Z

Content type: tutorial

Language: en

Sources: [Zed Industries - Blog](<https://devfeed.tech/sources/zed-industries-blog.md>)

Topics: [Bun](<https://devfeed.tech/topics/bun.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>), [Terminal](<https://devfeed.tech/topics/terminal.md>), [Extension](<https://devfeed.tech/topics/extension.md>)

Tags: [bun](<https://devfeed.tech/tags/bun.md>), [community](<https://devfeed.tech/tags/community.md>), [extension](<https://devfeed.tech/tags/extension.md>), [productivity](<https://devfeed.tech/tags/productivity.md>), [terminal](<https://devfeed.tech/tags/terminal.md>), [tests](<https://devfeed.tech/tags/tests.md>), [workflows](<https://devfeed.tech/tags/workflows.md>)

### AI overview

This article presents productivity workflows and hidden Zed features contributed by the team and community. It explains how to customize and rerun tasks, configure Bun test tasks, add file and tab icons, create custom keybindings, and attach terminals to project-specific tmux sessions.

### Source excerpt

Favorite workflows and hidden features from the Zed team and community.

## Sharing Excess Uses Neon Database Branches for Development Environments

DevFeed: [Sharing Excess Uses Neon Database Branches for Development Environments](<https://devfeed.tech/articles/branching-as-the-environment-how-sharing-excess-ships-faster-on-neon-5040.md>)

Original publisher: [Read original article](<https://neon.com/blog/branching-as-the-environment-how-sharing-excess-ships-faster-on-neon>)

Author: Taraneh Dohmer

Published: 2025-10-23T17:49:17Z

Content type: article

Language: en

Sources: [Blog -- Neon Docs](<https://devfeed.tech/sources/blog-neon-docs.md>)

Topics: [Database](<https://devfeed.tech/topics/database.md>), [Drizzle](<https://devfeed.tech/topics/drizzle.md>), [Bun](<https://devfeed.tech/topics/bun.md>), [React](<https://devfeed.tech/topics/react.md>), [Vite](<https://devfeed.tech/topics/vite.md>)

Tags: [bun](<https://devfeed.tech/tags/bun.md>), [case-studies](<https://devfeed.tech/tags/case-studies.md>), [database](<https://devfeed.tech/tags/database.md>), [drizzle](<https://devfeed.tech/tags/drizzle.md>), [react](<https://devfeed.tech/tags/react.md>), [vite](<https://devfeed.tech/tags/vite.md>)

### AI overview

This case study describes how Sharing Excess, a nonprofit food-rescue organization, uses Neon database branches for production, staging, and per-developer environments. Its three-person engineering team uses a Bun and TypeScript monorepo with React, Vite, Hono, Postgres, and Drizzle ORM.

### Source excerpt

"For a small team, branching and scale-to-zero just make our lives markedly easier. We're able to use real data without risky scripts touching production, and we don't pay overnight for what we don't use." -- Ryan McHenry, Head of Technology, Sharing Excess What is Sharing Excess?...

## Databuddy Is Open-Sourcing Privacy-First Analytics, Built on Neon

DevFeed: [Databuddy Is Open-Sourcing Privacy-First Analytics, Built on Neon](<https://devfeed.tech/articles/databuddy-is-open-sourcing-privacy-first-analytics-built-on-neon-5176.md>)

Original publisher: [Read original article](<https://neon.com/blog/databuddy-is-open-sourcing-privacy-first-analytics-built-on-neon>)

Author: Carlota Soto

Published: 2025-08-28T15:50:25Z

Content type: article

Language: en

Sources: [Blog -- Neon Docs](<https://devfeed.tech/sources/blog-neon-docs.md>)

Topics: [product analytics](<https://devfeed.tech/topics/product-analytics.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>), [Next.js](<https://devfeed.tech/topics/next-js.md>), [Tailwind CSS](<https://devfeed.tech/topics/tailwind.md>), [Bun](<https://devfeed.tech/topics/bun.md>), [Front end](<https://devfeed.tech/topics/frontend.md>), [Supabase](<https://devfeed.tech/topics/supabase.md>), [Back end](<https://devfeed.tech/topics/backend.md>), [Prisma](<https://devfeed.tech/topics/prisma.md>)

Tags: [analytics](<https://devfeed.tech/tags/analytics.md>), [backend](<https://devfeed.tech/tags/backend.md>), [bun](<https://devfeed.tech/tags/bun.md>), [case-studies](<https://devfeed.tech/tags/case-studies.md>), [frontend](<https://devfeed.tech/tags/frontend.md>), [next-js](<https://devfeed.tech/tags/next-js.md>), [open](<https://devfeed.tech/tags/open.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [privacy](<https://devfeed.tech/tags/privacy.md>), [product-analytics](<https://devfeed.tech/tags/product-analytics.md>), [self-hosted](<https://devfeed.tech/tags/self-hosted.md>), [web](<https://devfeed.tech/tags/web.md>)

### AI overview

The article introduces Databuddy, a privacy-first web and product analytics platform that is open source and available through a free plan. It describes the project's preference for a composable stack and explains why its creator chose Neon for serverless Postgres, citing simplicity, performance, and reduced maintenance. The supplied text also identifies a frontend built with Next.js, Tailwind CSS, and Bun, while the API-layer description is truncated.

### Source excerpt

"I was surprised by how fast Neon was. It was faster than my self-hosted setup and Prisma Postgres. This plus the convenience of the Free Plan makes it a no-brainer for building your projects." (Issa Nassar, founder of Databuddy) Databuddy is a new privacy-first web and product a...

## @neondatabase/serverless hits 1.0.0

DevFeed: [@neondatabase/serverless hits 1.0.0](<https://devfeed.tech/articles/neondatabase-serverless-hits-1-0-0-5789.md>)

Original publisher: [Read original article](<https://neon.com/blog/serverless-driver-ga>)

Author: George MacKerron

Published: 2025-03-25T18:41:48Z

Content type: release

Language: en

Sources: [Blog -- Neon Docs](<https://devfeed.tech/sources/blog-neon-docs.md>)

Topics: [Serverless](<https://devfeed.tech/topics/serverless.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [TypeScript](<https://devfeed.tech/topics/typescript.md>), [SQL](<https://devfeed.tech/topics/sql.md>), [WebSocket](<https://devfeed.tech/topics/websocket.md>), [Security](<https://devfeed.tech/topics/security.md>), [V8](<https://devfeed.tech/topics/v8.md>), [Bun](<https://devfeed.tech/topics/bun.md>), [Cloudflare Workers](<https://devfeed.tech/topics/cloudflare-workers.md>), [Deno](<https://devfeed.tech/topics/deno.md>), [Chrome](<https://devfeed.tech/topics/chrome.md>), [Firefox](<https://devfeed.tech/topics/firefox.md>)

Tags: [bun](<https://devfeed.tech/tags/bun.md>), [chrome](<https://devfeed.tech/tags/chrome.md>), [cloudflare-workers](<https://devfeed.tech/tags/cloudflare-workers.md>), [company](<https://devfeed.tech/tags/company.md>), [drizzle](<https://devfeed.tech/tags/drizzle.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [firefox](<https://devfeed.tech/tags/firefox.md>), [http](<https://devfeed.tech/tags/http.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [prisma](<https://devfeed.tech/tags/prisma.md>), [security](<https://devfeed.tech/tags/security.md>), [serverless](<https://devfeed.tech/tags/serverless.md>), [sql](<https://devfeed.tech/tags/sql.md>), [typescript](<https://devfeed.tech/tags/typescript.md>), [workers](<https://devfeed.tech/tags/workers.md>)

### AI overview

Neon's serverless driver for JavaScript and TypeScript reaches version 1.0.0. The release refactors the codebase, automates TypeScript type bundling, adds CI coverage across several runtimes and platforms, and supports Prisma and Drizzle adapters. It also introduces composable tagged-template SQL queries over HTTP and includes security-related changes.

### Source excerpt

Neon's serverless driver for JavaScript and TypeScript carries SQL queries over HTTP and WebSockets. It's designed for use in environments where raw TCP connections aren't available and/or low connection latencies are important. That includes V8 isolate-based serverless functions...

## A New Nx Experience for TypeScript Monorepos and Beyond

DevFeed: [A New Nx Experience for TypeScript Monorepos and Beyond](<https://devfeed.tech/articles/a-new-nx-experience-for-typescript-monorepos-and-beyond-21416.md>)

Original publisher: [Read original article](<https://nx.dev/blog/new-nx-experience-for-typescript-monorepos>)

Author: Juri Strumpflohner

Published: 2025-01-29T00:00:00Z

Content type: release

Language: en

Sources: [Juri Strumpflohner](<https://devfeed.tech/sources/juri-strumpflohner.md>)

Topics: [TypeScript](<https://devfeed.tech/topics/typescript.md>), [Developer experience](<https://devfeed.tech/topics/developer-experience.md>), [Package manager](<https://devfeed.tech/topics/package-manager.md>)

Tags: [bun](<https://devfeed.tech/tags/bun.md>), [developer-experience](<https://devfeed.tech/tags/developer-experience.md>), [monorepo](<https://devfeed.tech/tags/monorepo.md>), [monorepo-tools](<https://devfeed.tech/tags/monorepo-tools.md>), [npm](<https://devfeed.tech/tags/npm.md>), [npm-workspaces](<https://devfeed.tech/tags/npm-workspaces.md>), [nx](<https://devfeed.tech/tags/nx.md>), [pnpm](<https://devfeed.tech/tags/pnpm.md>), [release](<https://devfeed.tech/tags/release.md>), [tooling](<https://devfeed.tech/tags/tooling.md>), [typescript](<https://devfeed.tech/tags/typescript.md>)

### AI overview

Nx introduces a workspaces-based setup that combines NPM, Yarn, PNPM, or Bun workspaces with TypeScript project references for monorepos. The article explains the expected performance, memory-use, and editor-support benefits, while noting that the feature is initially behind a flag.

### Source excerpt

Discover how Nx's new workspaces setup combines package managers with TypeScript project references for better performance and developer experience in monorepos.

## Docusaurus 3.7

DevFeed: [Docusaurus 3.7](<https://devfeed.tech/articles/docusaurus-3-7-40948.md>)

Original publisher: [Read original article](<https://docusaurus.io/blog/releases/3.7>)

Author: Sébastien Lorber

Published: 2025-01-03T00:00:00Z

Content type: release

Language: en

Sources: [Docusaurus Blog](<https://devfeed.tech/sources/docusaurus-blog.md>)

Topics: [React](<https://devfeed.tech/topics/react.md>), [changelog](<https://devfeed.tech/topics/changelog.md>), [upgrade](<https://devfeed.tech/topics/upgrade.md>), [SVG](<https://devfeed.tech/topics/svg.md>), [Algolia](<https://devfeed.tech/topics/algolia.md>), [Bun](<https://devfeed.tech/topics/bun.md>)

Tags: [algolia](<https://devfeed.tech/tags/algolia.md>), [bun](<https://devfeed.tech/tags/bun.md>), [changes](<https://devfeed.tech/tags/changes.md>), [react](<https://devfeed.tech/tags/react.md>), [release](<https://devfeed.tech/tags/release.md>), [svg](<https://devfeed.tech/tags/svg.md>), [upgrade](<https://devfeed.tech/tags/upgrade.md>), [version](<https://devfeed.tech/tags/version.md>)

### AI overview

Docusaurus 3.7 adds React 19 support, makes React 19 the default for newly initialized sites, and retains React 18 support for existing sites. The release also adds configurable SVGR options and includes other updates to integrations, performance, and translations.

### Source excerpt

We are happy to announce Docusaurus 3.7.

## New Chainguard Images November 2024: Bun, CockroachDB, Open Liberty

DevFeed: [New Chainguard Images November 2024: Bun, CockroachDB, Open Liberty](<https://devfeed.tech/articles/new-chainguard-images-november-2024-bun-cockroachdb-open-liberty-13179.md>)

Original publisher: [Read original article](<https://www.chainguard.dev/unchained/new-chainguard-images-november-2024-bun-cockroachdb-open-liberty>)

Published: 2024-12-18T00:00:00Z

Content type: release

Language: en

Sources: [Chainguard: Unchained](<https://devfeed.tech/sources/chainguard-unchained.md>)

Topics: [chainguard images](<https://devfeed.tech/topics/chainguard-images.md>), [Bun](<https://devfeed.tech/topics/bun.md>), [CockroachDB](<https://devfeed.tech/topics/cockroachdb.md>), [open liberty](<https://devfeed.tech/topics/open-liberty.md>)

Tags: [bun](<https://devfeed.tech/tags/bun.md>), [chainguard-images](<https://devfeed.tech/tags/chainguard-images.md>), [cockroachdb](<https://devfeed.tech/tags/cockroachdb.md>), [container-images](<https://devfeed.tech/tags/container-images.md>), [open-liberty](<https://devfeed.tech/tags/open-liberty.md>), [selenium](<https://devfeed.tech/tags/selenium.md>), [zero-cves](<https://devfeed.tech/tags/zero-cves.md>)

### AI overview

Chainguard announces 70 container images built in November 2024, including images for Open Liberty, CockroachDB, and Bun. The article describes the new images and their stated runtime, database, and JavaScript-tooling use cases.

### Source excerpt

Check out the new zero-CVE Chainguard Images built in November 2024, including offerings for Bun, CockroachDB, Open Liberty, Selenium, and more.

[Next page](<https://devfeed.tech/tags/bun.md?cursor=WyIyMDI0LTEyLTE4VDAwOjAwOjAwKzAwOjAwIiwgImQ5NmYxOTMxLTg4MGItNGZiZi04NDlmLWIxMTQ1MGRhZTQyZSJd>)