-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
0657f07
commit 22a20f6
Showing
1 changed file
with
60 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,64 @@ | ||
# bun-hot-reload | ||
|
||
# Acknowledgements | ||
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: | ||
|
||
```bash | ||
bun add bun-hot-reload | ||
``` | ||
|
||
## Usage | ||
|
||
```ts | ||
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" }, | ||
}); | ||
}, | ||
}), | ||
); | ||
``` | ||
|
||
## 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](https://github.com/aabccd021/bun-html-live-reload) and [code by Nullndr](https://stackoverflow.com/a/77805915). |