aboutsummaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorGravatar dave caruso <me@paperdave.net> 2023-06-02 22:03:16 -0400
committerGravatar GitHub <noreply@github.com> 2023-06-02 19:03:16 -0700
commitf798a0cfe8372e7df62d9514e6785e6f16549d25 (patch)
tree81204276db9636ae4b10ae9de859900da6b6b437 /docs
parent51846d0277aa58a69557668cb930448bd62de0bf (diff)
downloadbun-f798a0cfe8372e7df62d9514e6785e6f16549d25.tar.gz
bun-f798a0cfe8372e7df62d9514e6785e6f16549d25.tar.zst
bun-f798a0cfe8372e7df62d9514e6785e6f16549d25.zip
fix readableStreamToArrayBuffer (#3181)
* fix discord.js again * remove one of the async hooks warnings * clarify hardcoded modules docs
Diffstat (limited to 'docs')
-rw-r--r--docs/project/development.md12
1 files changed, 9 insertions, 3 deletions
diff --git a/docs/project/development.md b/docs/project/development.md
index 8d90aabac..878838429 100644
--- a/docs/project/development.md
+++ b/docs/project/development.md
@@ -148,11 +148,17 @@ $ make generate-sink
You probably won't need to run that one much.
-## Modifying ESM core modules
+## Modifying ESM hardcoded modules
-Certain modules like `node:fs`, `node:path`, `node:stream`, and `bun:sqlite` are implemented in JavaScript. These live in `src/bun.js/*.exports.js` files.
+Certain modules like `node:fs`, `node:stream`, `bun:sqlite`, and `ws` are implemented in JavaScript. These live in `src/js/{node,bun,thirdparty}` files and are pre-bundled using Bun. The bundled code is committed so CI builds can run without needing a copy of Bun.
-While Bun is in beta, you can modify them at runtime in release builds via the environment variable `BUN_OVERRIDE_MODULE_PATH`. When set, Bun will look in the override directory for `<name>.exports.js` before checking the files from `src/bun.js` (which are now baked in to the binary). This lets you test changes to the ESM modules without needing to re-compile Bun.
+When these are changed, run:
+
+```
+$ make hardcoded
+```
+
+In debug builds, Bun automatically loads these from the filesystem, wherever it was compiled, so no need to re-run `make dev`. In release builds, this same behavior can be done via the environment variable `BUN_OVERRIDE_MODULE_PATH`. When set to the repository root, Bun will read from the bundled modules in the repository instead of the ones baked into the binary.
## Release build