bun-hot-reload
TypeScript icon, indicating that this package has built-in type declarations

1.0.2 • Public • Published

bun-hot-reload

The bun-hot-reload package is designed to enhance your Bun development experience by providing a seamless hot reloading feature. This tool watches for file changes in your project and automatically rebuilds your application, signaling the client to reload the updated content. It integrates directly into your Bun server, offering both ease of use and efficiency in development workflows.

Features

  • Automatic Rebuilding: Automatically rebuilds your application on file changes.
  • Customizable Watch Paths: Allows specifying custom paths to watch for changes, tailoring the tool to your project's needs.
  • Flexible Configuration: Offers options to customize the hot reload path, reload command, and more.
  • Development Efficiency: Designed to save time during development by reducing the need for manual rebuilds and reloads.

Installation

To install bun-hot-reload, you can use the Bun package manager:

bun add bun-hot-reload

Usage

import configureHotReload from "bun-hot-reload";
import { renderToString } from "react-dom/server";
import { App } from "./app";

Bun.serve(
  configureHotReload({
    fetch: async (_req) => {
      return new Response(renderToString(<App />), {
        headers: { "Content-Type": "text/html" },
      });
    },
  }),
);

Hot Reload Example

Configuration

bun-hot-reload provides several options to customize the hot reloading behavior:

watchPaths: Specifies the paths that should be watched for changes. Defaults to the current working directory. hotReloadPath: The path used for the hot reload WebSocket connection. Defaults to /bun-hot-reload. reloadCommand: The command sent over WebSocket to trigger a reload. Defaults to reload. buildConfig: Configuration options for Bun's build command, allowing for custom build processes.

Development Notes

This package is intended for use in development environments only. It automatically disables itself in production environments to ensure performance and security. Ensure your client-side code is capable of handling WebSocket connections for hot reloading to function correctly.

Contributing

Contributions to bun-hot-reload are welcome! Whether it's bug reports, feature requests, or pull requests, your input helps make this tool better for everyone.

License

bun-hot-reload is released under the MIT License. See the LICENSE file for more details.

Acknowledgements

This implementation is influenced by bun-html-live-reload and code by Nullndr.

Package Sidebar

Install

npm i bun-hot-reload

Weekly Downloads

4

Version

1.0.2

License

MIT

Unpacked Size

10.2 kB

Total Files

7

Last publish

Collaborators

  • yoshikouki2