bun-types 1.3.6-canary.20260101T140646 → 1.3.6-canary.20260103T140611
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.
|
@@ -189,7 +189,7 @@ Isolated installs are conceptually similar to pnpm, so migration should be strai
|
|
|
189
189
|
|
|
190
190
|
```bash terminal icon="terminal"
|
|
191
191
|
# Remove pnpm files
|
|
192
|
-
|
|
192
|
+
rm -rf node_modules pnpm-lock.yaml
|
|
193
193
|
|
|
194
194
|
# Install with Bun's isolated linker
|
|
195
195
|
bun install --linker isolated
|
|
@@ -14,7 +14,7 @@ It is strongly recommended to use [PowerShell 7 (`pwsh.exe`)](https://learn.micr
|
|
|
14
14
|
By default, running unverified scripts are blocked.
|
|
15
15
|
|
|
16
16
|
```ps1
|
|
17
|
-
|
|
17
|
+
Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy Unrestricted
|
|
18
18
|
```
|
|
19
19
|
|
|
20
20
|
### System Dependencies
|
|
@@ -22,7 +22,7 @@ By default, running unverified scripts are blocked.
|
|
|
22
22
|
Bun v1.1 or later. We use Bun to run it's own code generators.
|
|
23
23
|
|
|
24
24
|
```ps1
|
|
25
|
-
|
|
25
|
+
irm bun.sh/install.ps1 | iex
|
|
26
26
|
```
|
|
27
27
|
|
|
28
28
|
[Visual Studio](https://visualstudio.microsoft.com) with the "Desktop Development with C++" workload. While installing, make sure to install Git as well, if Git for Windows is not already installed.
|
|
@@ -30,7 +30,7 @@ Bun v1.1 or later. We use Bun to run it's own code generators.
|
|
|
30
30
|
Visual Studio can be installed graphically using the wizard or through WinGet:
|
|
31
31
|
|
|
32
32
|
```ps1
|
|
33
|
-
|
|
33
|
+
winget install "Visual Studio Community 2022" --override "--add Microsoft.VisualStudio.Workload.NativeDesktop Microsoft.VisualStudio.Component.Git " -s msstore
|
|
34
34
|
```
|
|
35
35
|
|
|
36
36
|
After Visual Studio, you need the following:
|
|
@@ -48,10 +48,10 @@ After Visual Studio, you need the following:
|
|
|
48
48
|
[Scoop](https://scoop.sh) can be used to install these remaining tools easily.
|
|
49
49
|
|
|
50
50
|
```ps1 Scoop
|
|
51
|
-
|
|
52
|
-
|
|
51
|
+
irm https://get.scoop.sh | iex
|
|
52
|
+
scoop install nodejs-lts go rust nasm ruby perl ccache
|
|
53
53
|
# scoop seems to be buggy if you install llvm and the rest at the same time
|
|
54
|
-
|
|
54
|
+
scoop install llvm@19.1.7
|
|
55
55
|
```
|
|
56
56
|
|
|
57
57
|
<Note>
|
|
@@ -63,19 +63,19 @@ After Visual Studio, you need the following:
|
|
|
63
63
|
If you intend on building WebKit locally (optional), you should install these packages:
|
|
64
64
|
|
|
65
65
|
```ps1 Scoop
|
|
66
|
-
|
|
66
|
+
scoop install make cygwin python
|
|
67
67
|
```
|
|
68
68
|
|
|
69
69
|
From here on out, it is **expected you use a PowerShell Terminal with `.\scripts\vs-shell.ps1` sourced**. This script is available in the Bun repository and can be loaded by executing it:
|
|
70
70
|
|
|
71
71
|
```ps1
|
|
72
|
-
|
|
72
|
+
.\scripts\vs-shell.ps1
|
|
73
73
|
```
|
|
74
74
|
|
|
75
75
|
To verify, you can check for an MSVC-only command line such as `mt.exe`
|
|
76
76
|
|
|
77
77
|
```ps1
|
|
78
|
-
|
|
78
|
+
Get-Command mt
|
|
79
79
|
```
|
|
80
80
|
|
|
81
81
|
<Note>
|
|
@@ -86,16 +86,16 @@ To verify, you can check for an MSVC-only command line such as `mt.exe`
|
|
|
86
86
|
## Building
|
|
87
87
|
|
|
88
88
|
```ps1
|
|
89
|
-
|
|
89
|
+
bun run build
|
|
90
90
|
|
|
91
91
|
# after the initial `bun run build` you can use the following to build
|
|
92
|
-
|
|
92
|
+
ninja -Cbuild/debug
|
|
93
93
|
```
|
|
94
94
|
|
|
95
95
|
If this was successful, you should have a `bun-debug.exe` in the `build/debug` folder.
|
|
96
96
|
|
|
97
97
|
```ps1
|
|
98
|
-
|
|
98
|
+
.\build\debug\bun-debug.exe --revision
|
|
99
99
|
```
|
|
100
100
|
|
|
101
101
|
You should add this to `$Env:PATH`. The simplest way to do so is to open the start menu, type "Path", and then navigate the environment variables menu to add `C:\.....\bun\build\debug` to the user environment variable `PATH`. You should then restart your editor (if it does not update still, log out and log back in).
|
|
@@ -111,15 +111,15 @@ You can run the test suite either using `bun test <path>` or by using the wrappe
|
|
|
111
111
|
|
|
112
112
|
```ps1
|
|
113
113
|
# Setup
|
|
114
|
-
|
|
114
|
+
bun i --cwd packages\bun-internal-test
|
|
115
115
|
|
|
116
116
|
# Run the entire test suite with reporter
|
|
117
117
|
# the package.json script "test" uses "build/debug/bun-debug.exe" by default
|
|
118
|
-
|
|
118
|
+
bun run test
|
|
119
119
|
|
|
120
120
|
# Run an individual test file:
|
|
121
|
-
|
|
122
|
-
|
|
121
|
+
bun-debug test node\fs
|
|
122
|
+
bun-debug test "C:\bun\test\js\bun\resolve\import-meta.test.js"
|
|
123
123
|
```
|
|
124
124
|
|
|
125
125
|
## Troubleshooting
|
|
@@ -28,23 +28,23 @@ Using your system's package manager, install Bun's dependencies:
|
|
|
28
28
|
<CodeGroup>
|
|
29
29
|
|
|
30
30
|
```bash macOS (Homebrew)
|
|
31
|
-
|
|
31
|
+
brew install automake ccache cmake coreutils gnu-sed go icu4c libiconv libtool ninja pkg-config rust ruby
|
|
32
32
|
```
|
|
33
33
|
|
|
34
34
|
```bash Ubuntu/Debian
|
|
35
|
-
|
|
35
|
+
sudo apt install curl wget lsb-release software-properties-common cargo cmake git golang libtool ninja-build pkg-config rustc ruby-full xz-utils
|
|
36
36
|
```
|
|
37
37
|
|
|
38
38
|
```bash Arch
|
|
39
|
-
|
|
39
|
+
sudo pacman -S base-devel cmake git go libiconv libtool make ninja pkg-config python rust sed unzip ruby
|
|
40
40
|
```
|
|
41
41
|
|
|
42
42
|
```bash Fedora
|
|
43
|
-
|
|
43
|
+
sudo dnf install cargo clang19 llvm19 lld19 cmake git golang libtool ninja-build pkg-config rustc ruby libatomic-static libstdc++-static sed unzip which libicu-devel 'perl(Math::BigInt)'
|
|
44
44
|
```
|
|
45
45
|
|
|
46
46
|
```bash openSUSE Tumbleweed
|
|
47
|
-
|
|
47
|
+
sudo zypper install go cmake ninja automake git icu rustup && rustup toolchain install stable
|
|
48
48
|
```
|
|
49
49
|
|
|
50
50
|
</CodeGroup>
|
|
@@ -56,16 +56,16 @@ Before starting, you will need to already have a release build of Bun installed,
|
|
|
56
56
|
<CodeGroup>
|
|
57
57
|
|
|
58
58
|
```bash Native
|
|
59
|
-
|
|
59
|
+
curl -fsSL https://bun.com/install | bash
|
|
60
60
|
```
|
|
61
61
|
|
|
62
62
|
```bash npm
|
|
63
|
-
|
|
63
|
+
npm install -g bun
|
|
64
64
|
```
|
|
65
65
|
|
|
66
66
|
```bash Homebrew
|
|
67
|
-
|
|
68
|
-
|
|
67
|
+
brew tap oven-sh/bun
|
|
68
|
+
brew install bun
|
|
69
69
|
```
|
|
70
70
|
|
|
71
71
|
</CodeGroup>
|
|
@@ -76,19 +76,19 @@ ccache is used to cache compilation artifacts, significantly speeding up builds:
|
|
|
76
76
|
|
|
77
77
|
```bash
|
|
78
78
|
# For macOS
|
|
79
|
-
|
|
79
|
+
brew install ccache
|
|
80
80
|
|
|
81
81
|
# For Ubuntu/Debian
|
|
82
|
-
|
|
82
|
+
sudo apt install ccache
|
|
83
83
|
|
|
84
84
|
# For Arch
|
|
85
|
-
|
|
85
|
+
sudo pacman -S ccache
|
|
86
86
|
|
|
87
87
|
# For Fedora
|
|
88
|
-
|
|
88
|
+
sudo dnf install ccache
|
|
89
89
|
|
|
90
90
|
# For openSUSE
|
|
91
|
-
|
|
91
|
+
sudo zypper install ccache
|
|
92
92
|
```
|
|
93
93
|
|
|
94
94
|
Our build scripts will automatically detect and use `ccache` if available. You can check cache statistics with `ccache --show-stats`.
|
|
@@ -100,24 +100,24 @@ Bun requires LLVM 19 (`clang` is part of LLVM). This version requirement is to m
|
|
|
100
100
|
<CodeGroup>
|
|
101
101
|
|
|
102
102
|
```bash macOS (Homebrew)
|
|
103
|
-
|
|
103
|
+
brew install llvm@19
|
|
104
104
|
```
|
|
105
105
|
|
|
106
106
|
```bash Ubuntu/Debian
|
|
107
|
-
|
|
108
|
-
|
|
107
|
+
# LLVM has an automatic installation script that is compatible with all versions of Ubuntu
|
|
108
|
+
wget https://apt.llvm.org/llvm.sh -O - | sudo bash -s -- 19 all
|
|
109
109
|
```
|
|
110
110
|
|
|
111
111
|
```bash Arch
|
|
112
|
-
|
|
112
|
+
sudo pacman -S llvm clang lld
|
|
113
113
|
```
|
|
114
114
|
|
|
115
115
|
```bash Fedora
|
|
116
|
-
|
|
116
|
+
sudo dnf install llvm clang lld-devel
|
|
117
117
|
```
|
|
118
118
|
|
|
119
119
|
```bash openSUSE Tumbleweed
|
|
120
|
-
|
|
120
|
+
sudo zypper install clang19 lld19 llvm19
|
|
121
121
|
```
|
|
122
122
|
|
|
123
123
|
</CodeGroup>
|
|
@@ -127,7 +127,7 @@ If none of the above solutions apply, you will have to install it [manually](htt
|
|
|
127
127
|
Make sure Clang/LLVM 19 is in your path:
|
|
128
128
|
|
|
129
129
|
```bash
|
|
130
|
-
|
|
130
|
+
which clang-19
|
|
131
131
|
```
|
|
132
132
|
|
|
133
133
|
If not, run this to manually add it:
|
|
@@ -137,12 +137,12 @@ If not, run this to manually add it:
|
|
|
137
137
|
```bash macOS (Homebrew)
|
|
138
138
|
# use fish_add_path if you're using fish
|
|
139
139
|
# use path+="$(brew --prefix llvm@19)/bin" if you are using zsh
|
|
140
|
-
|
|
140
|
+
export PATH="$(brew --prefix llvm@19)/bin:$PATH"
|
|
141
141
|
```
|
|
142
142
|
|
|
143
143
|
```bash Arch
|
|
144
144
|
# use fish_add_path if you're using fish
|
|
145
|
-
|
|
145
|
+
export PATH="$PATH:/usr/lib/llvm19/bin"
|
|
146
146
|
```
|
|
147
147
|
|
|
148
148
|
</CodeGroup>
|
|
@@ -162,7 +162,7 @@ bun run build
|
|
|
162
162
|
The binary will be located at `./build/debug/bun-debug`. It is recommended to add this to your `$PATH`. To verify the build worked, let's print the version number on the development build of Bun.
|
|
163
163
|
|
|
164
164
|
```bash
|
|
165
|
-
|
|
165
|
+
build/debug/bun-debug --version
|
|
166
166
|
x.y.z_debug
|
|
167
167
|
```
|
|
168
168
|
|
|
@@ -261,17 +261,17 @@ WebKit is not cloned by default (to save time and disk space). To clone and buil
|
|
|
261
261
|
|
|
262
262
|
```bash
|
|
263
263
|
# Clone WebKit into ./vendor/WebKit
|
|
264
|
-
|
|
264
|
+
git clone https://github.com/oven-sh/WebKit vendor/WebKit
|
|
265
265
|
|
|
266
266
|
# Check out the commit hash specified in `set(WEBKIT_VERSION <commit_hash>)` in cmake/tools/SetupWebKit.cmake
|
|
267
|
-
|
|
267
|
+
git -C vendor/WebKit checkout <commit_hash>
|
|
268
268
|
|
|
269
269
|
# Make a debug build of JSC. This will output build artifacts in ./vendor/WebKit/WebKitBuild/Debug
|
|
270
270
|
# Optionally, you can use `bun run jsc:build` for a release build
|
|
271
271
|
bun run jsc:build:debug && rm vendor/WebKit/WebKitBuild/Debug/JavaScriptCore/DerivedSources/inspector/InspectorProtocolObjects.h
|
|
272
272
|
|
|
273
273
|
# After an initial run of `make jsc-debug`, you can rebuild JSC with:
|
|
274
|
-
|
|
274
|
+
cmake --build vendor/WebKit/WebKitBuild/Debug --target jsc && rm vendor/WebKit/WebKitBuild/Debug/JavaScriptCore/DerivedSources/inspector/InspectorProtocolObjects.h
|
|
275
275
|
|
|
276
276
|
# Build bun with the local JSC build
|
|
277
277
|
bun run build:local
|
|
@@ -322,20 +322,20 @@ is not able to compile a simple test program.
|
|
|
322
322
|
To fix the error, we need to update the GCC version to 11. To do this, we'll need to check if the latest version is available in the distribution's official repositories or use a third-party repository that provides GCC 11 packages. Here are general steps:
|
|
323
323
|
|
|
324
324
|
```bash
|
|
325
|
-
|
|
326
|
-
|
|
325
|
+
sudo apt update
|
|
326
|
+
sudo apt install gcc-11 g++-11
|
|
327
327
|
# If the above command fails with `Unable to locate package gcc-11` we need
|
|
328
328
|
# to add the APT repository
|
|
329
|
-
|
|
329
|
+
sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test
|
|
330
330
|
# Now run `apt install` again
|
|
331
|
-
|
|
331
|
+
sudo apt install gcc-11 g++-11
|
|
332
332
|
```
|
|
333
333
|
|
|
334
334
|
Now, we need to set GCC 11 as the default compiler:
|
|
335
335
|
|
|
336
336
|
```bash
|
|
337
|
-
|
|
338
|
-
|
|
337
|
+
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 100
|
|
338
|
+
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-11 100
|
|
339
339
|
```
|
|
340
340
|
|
|
341
341
|
### libarchive
|
|
@@ -343,7 +343,7 @@ $ sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-11 100
|
|
|
343
343
|
If you see an error on macOS when compiling `libarchive`, run:
|
|
344
344
|
|
|
345
345
|
```bash
|
|
346
|
-
|
|
346
|
+
brew install pkg-config
|
|
347
347
|
```
|
|
348
348
|
|
|
349
349
|
### macOS `library not found for -lSystem`
|
|
@@ -351,7 +351,7 @@ $ brew install pkg-config
|
|
|
351
351
|
If you see this error when compiling, run:
|
|
352
352
|
|
|
353
353
|
```bash
|
|
354
|
-
|
|
354
|
+
xcode-select --install
|
|
355
355
|
```
|
|
356
356
|
|
|
357
357
|
### Cannot find `libatomic.a`
|
|
@@ -19,7 +19,7 @@ If you're looking to create a brand new empty project, use [`bun init`](/docs/ru
|
|
|
19
19
|
`bun create ./MyComponent.tsx` turns an existing React component into a complete dev environment with hot reload and production builds in one command.
|
|
20
20
|
|
|
21
21
|
```bash
|
|
22
|
-
|
|
22
|
+
bun create ./MyComponent.jsx # .tsx also supported
|
|
23
23
|
```
|
|
24
24
|
|
|
25
25
|
<Frame>
|
package/package.json
CHANGED