taylor.fish
437e15bae5
Replace catch bun.outOfMemory() with safer alternatives ( #22141 )
...
Replace `catch bun.outOfMemory()`, which can accidentally catch
non-OOM-related errors, with either `bun.handleOom` or a manual `catch
|err| switch (err)`.
(For internal tracking: fixes STAB-1070)
---------
Co-authored-by: Dylan Conway <dylan.conway567@gmail.com >
2025-08-26 12:50:25 -07:00
Dylan Conway
8fad98ffdb
Add Bun.YAML.parse and YAML imports ( #22073 )
...
### What does this PR do?
This PR adds builtin YAML parsing with `Bun.YAML.parse`
```js
import { YAML } from "bun";
const items = YAML.parse("- item1");
console.log(items); // [ "item1" ]
```
Also YAML imports work just like JSON and TOML imports
```js
import pkg from "./package.yaml"
console.log({ pkg }); // { pkg: { name: "pkg", version: "1.1.1" } }
```
### How did you verify your code works?
Added some tests for YAML imports and parsed values.
---------
Co-authored-by: Claude Bot <claude-bot@bun.sh >
Co-authored-by: Claude <noreply@anthropic.com >
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Jarred Sumner <jarred@jarredsumner.com >
2025-08-23 06:55:30 -07:00
taylor.fish
7717693c70
Dev server refactoring, part 1 (mainly IncrementalGraph) ( #22010 )
...
* `IncrementalGraph(.client).File` packs its fields in a specific way to
save space, but it makes the struct hard to use and error-prone (e.g.,
untagged unions with tags stored in a separate `flags` struct). This PR
changes `File` to have a human-readable layout, but adds methods to
convert it to and from `File.Packed`, a packed version with the same
space efficiency as before.
* Reduce the need to pass the dev allocator to functions (e.g.,
`deinit`) by storing it as a struct field via the new `DevAllocator`
type. This type has no overhead in release builds, or when
`AllocationScope` is disabled.
* Use owned pointers in `PackedMap`.
* Use `bun.ptr.Shared` for `PackedMap` instead of the old
`bun.ptr.RefPtr`.
* Add `bun.ptr.ScopedOwned`, which is like `bun.ptr.Owned`, but can
store an `AllocationScope`. No overhead in release builds or when
`AllocationScope` is disabled.
* Reduce redundant allocators in `BundleV2`.
* Add owned pointer conversions to `MutableString`.
* Make `AllocationScope` behave like a pointer, so it can be moved
without invalidating allocations. This eliminates the need for
self-references.
* Change memory cost algorithm so it doesn't rely on “dedupe bits”.
These bits used to take advantage of padding but there is now no padding
in `PackedMap`.
* Replace `VoidFieldTypes` with `useAllFields`; this eliminates the need
for `voidFieldTypesDiscardHelper`.
(For internal tracking: fixes STAB-1035, STAB-1036, STAB-1037,
STAB-1038, STAB-1039, STAB-1040, STAB-1041, STAB-1042, STAB-1043,
STAB-1044, STAB-1045)
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Jarred Sumner <jarred@jarredsumner.com >
Co-authored-by: Claude Bot <claude-bot@bun.sh >
Co-authored-by: Claude <noreply@anthropic.com >
2025-08-22 23:04:58 -07:00
Jarred Sumner
93f92658b3
Try mimalloc v3 ( #17378 )
...
(For internal tracking: fixes ENG-19852)
---------
Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-authored-by: Jarred-Sumner <709451+Jarred-Sumner@users.noreply.github.com >
Co-authored-by: Kai Tamkun <kai@tamkun.io >
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: taylor.fish <contact@taylor.fish >
2025-07-29 18:07:15 -07:00
taylor.fish
07cd45deae
Refactor Zig imports and file structure (part 1) ( #21270 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-07-22 17:51:38 -07:00
pfg
83760fc446
Sort imports in all files ( #21119 )
...
Co-authored-by: taylor.fish <contact@taylor.fish >
2025-07-21 13:26:47 -07:00
Jarred Sumner
9e4700ee2d
Remove unused Symbol.for(primitive) calls in bundler ( #20888 )
...
Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
Co-authored-by: Jarred Sumner <Jarred-Sumner@users.noreply.github.com >
2025-07-12 00:52:07 -07:00
Michael H
a473657adb
[bun build] in cjs node, dont convert module to require.module ( #20343 )
2025-06-16 16:56:54 -07:00
Jarred Sumner
498186764a
Remove a memcpy ( #20261 )
...
Co-authored-by: Jarred-Sumner <709451+Jarred-Sumner@users.noreply.github.com >
2025-06-08 05:07:09 -07:00
Jarred Sumner
3ea6133c46
CI: Remove unused top-level decls in formatter in zig ( #19879 )
...
Co-authored-by: Jarred-Sumner <709451+Jarred-Sumner@users.noreply.github.com >
Co-authored-by: graphite-app[bot] <96075541+graphite-app[bot]@users.noreply.github.com>
2025-05-23 22:49:48 -07:00
chloe caruso
32c1dcb70d
dev server: unref source maps ( #19371 )
...
Co-authored-by: Jarred Sumner <jarred@jarredsumner.com >
Co-authored-by: graphite-app[bot] <96075541+graphite-app[bot]@users.noreply.github.com>
2025-05-02 04:13:54 -07:00
chloe caruso
3349c995b5
no usingnamespace, organize jsc namespace, enable -fincremental ( #19122 )
...
Co-authored-by: Dylan Conway <35280289+dylan-conway@users.noreply.github.com >
2025-04-22 16:34:15 -07:00
Jarred Sumner
0471254e4e
Use Highway SIMD ( #19134 )
...
Co-authored-by: Dylan Conway <dylan.conway567@gmail.com >
Co-authored-by: Dylan Conway <35280289+dylan-conway@users.noreply.github.com >
Co-authored-by: Jarred-Sumner <709451+Jarred-Sumner@users.noreply.github.com >
2025-04-21 23:28:03 -07:00
chloe caruso
4ec410e0d7
internal: make @import("bun") work in zig ( #19096 )
2025-04-17 12:32:47 -07:00
Don Isaac
f730a355bf
fix: BufferWriter never returns an error ( #18981 )
...
Co-authored-by: Jarred Sumner <jarred@jarredsumner.com >
2025-04-13 08:57:41 -07:00
Jarred Sumner
f575d3ff24
Fixes #18899 ( #18920 )
2025-04-10 14:58:46 -07:00
Jarred Sumner
f3da1b80bc
Use macOS signpost api for tracing ( #14871 )
...
Co-authored-by: Jarred-Sumner <Jarred-Sumner@users.noreply.github.com >
Co-authored-by: Don Isaac <donald.isaac@gmail.com >
Co-authored-by: DonIsaac <DonIsaac@users.noreply.github.com >
Co-authored-by: Jarred-Sumner <709451+Jarred-Sumner@users.noreply.github.com >
2025-03-31 04:13:11 -07:00
Jarred Sumner
fee911194a
Remove dead code from js_printer ( #18619 )
2025-03-29 04:46:23 -07:00
190n
de4182f305
chore: upgrade zig to 0.14.0 ( #17820 )
...
Co-authored-by: 190n <7763597+190n@users.noreply.github.com >
Co-authored-by: Zack Radisic <56137411+zackradisic@users.noreply.github.com >
Co-authored-by: pfg <pfg@pfg.pw >
Co-authored-by: pfgithub <6010774+pfgithub@users.noreply.github.com >
Co-authored-by: Dylan Conway <dylan.conway567@gmail.com >
2025-03-14 22:13:31 -07:00
chloe caruso
589fa6274d
dev server: forgotten changes ( #17985 )
...
Co-authored-by: Jarred Sumner <jarred@jarredsumner.com >
2025-03-07 17:53:07 -08:00
chloe caruso
66cf62c3c4
dev server: rewrite HMRModule, support sync esm + hot.accept ( #17954 )
...
Co-authored-by: Jarred Sumner <jarred@jarredsumner.com >
2025-03-07 15:12:16 -08:00
Zack Radisic
e6cb0de539
CSS modules ( #17958 )
2025-03-06 23:35:06 -08:00
pfg
d502df353c
Support import with { type: "json" } and others ( #16624 )
2025-03-06 15:04:29 -08:00
chloe caruso
483302d09d
dev server: fix some small css bugs ( #17883 )
2025-03-03 20:37:39 -08:00
chloe caruso
25c95f3bdc
hmr stability fixes ( #17794 )
2025-03-01 00:07:20 -08:00
chloe caruso
4f58ff7933
changes to JSC.Strong, fix memory leaks in dev server ( #17738 )
2025-02-27 15:09:35 -08:00
chloe caruso
ac8fb0e1f5
fix(bundler): bundling invalid html / export star as / react refresh fixes ( #17685 )
2025-02-25 22:04:10 -08:00
chloe caruso
3b956757d9
disable async in script tags in dev server ( #17517 )
...
Co-authored-by: Jarred Sumner <jarred@jarredsumner.com >
2025-02-21 11:28:27 -08:00
chloe caruso
dc5fae461d
Implement simple barrel file optimization ( #17514 )
...
Co-authored-by: Jarred Sumner <jarred@jarredsumner.com >
2025-02-20 22:50:51 -08:00
chloe caruso
f912e0abc4
hot module reloading for HTML import development mode ( #16955 )
2025-02-08 00:31:30 -08:00
Meghan Denny
26d3688e53
zig: update to 0.14.0-dev ( #16862 )
...
Co-authored-by: nektro <5464072+nektro@users.noreply.github.com >
2025-02-01 01:11:02 -08:00
pfg
108b1c7324
Allow indented inline snapshots ( #16685 )
2025-01-24 18:13:27 -08:00
Meghan Denny
af79cebf9e
unflag experimental css and html ( #16561 )
...
Co-authored-by: nektro <5464072+nektro@users.noreply.github.com >
Co-authored-by: Zack Radisic <56137411+zackradisic@users.noreply.github.com >
2025-01-21 06:44:54 -08:00
pfg
0d17843251
Fix bun run folder ( #15117 )
...
Co-authored-by: pfgithub <pfgithub@users.noreply.github.com >
2025-01-17 22:08:07 -08:00
Jarred Sumner
c2e150f916
Revert "Skip javascriptcore's first parse step for ES Modules" ( #16370 )
2025-01-13 01:24:48 -08:00
pfg
ccc7bde7c6
Skip javascriptcore's first parse step for ES Modules ( #15758 )
2025-01-09 19:31:44 -08:00
Jarred Sumner
2465ccae53
Re-sync our Mutex implementation with zig stdlib ( #16271 )
2025-01-08 21:09:27 -08:00
chloe caruso
a3cbf974eb
transpiler: dont inline import.meta.require ( #16222 )
2025-01-07 23:14:09 -08:00
Jarred Sumner
d4c0432a5f
Refactor JS parser visitor step into individual functions to reduce stack space usage ( #15993 )
2024-12-25 23:02:05 -08:00
dave caruso
8aa451c2dc
bake(dev): plugins in dev server, with other fixes ( #15467 )
...
Co-authored-by: paperdave <paperdave@users.noreply.github.com >
Co-authored-by: Jarred Sumner <jarred@jarredsumner.com >
2024-11-29 19:07:56 -08:00
Kai Tamkun
7fd16ebffa
Fix incorrect public TS class field name minification ( #15411 )
2024-11-27 14:06:09 -08:00
dave caruso
dc01a5d6a8
feat(DevServer): batch bundles & run them asynchronously ( #15181 )
...
Co-authored-by: Ashcon Partovi <ashcon@partovi.net >
2024-11-25 18:55:47 -08:00
pfg
78b495aff5
fix \uFFFF printing regression ( #15330 )
...
Co-authored-by: Jarred Sumner <jarred@jarredsumner.com >
2024-11-21 22:01:27 -08:00
pfg
d8987ccdb8
Remove assertion in js printer triggering for unicode comments ( #15143 )
2024-11-14 00:14:43 -08:00
dave caruso
32ddf343ee
bake: csr, streaming ssr, serve integration, safer jsvalue functions, &more ( #14900 )
...
Co-authored-by: paperdave <paperdave@users.noreply.github.com >
Co-authored-by: Jarred Sumner <jarred@jarredsumner.com >
2024-11-13 18:19:12 -08:00
pfg
56f7c8887b
Fix unicode imports, unicode-escaped variable names, and printClauseAlias not working for utf-8 ( #15009 )
2024-11-11 13:27:42 -08:00
Meghan Denny
50d80a805d
pm: fix weird package.json formatting after install ( #14801 )
2024-10-26 01:36:25 -07:00
dave caruso
d2fe1ce1c8
feat(bake): handle bundle errors, re-assemble full client payloads, initial error modal ( #14504 )
2024-10-14 16:49:38 -07:00
Jarred Sumner
c77fc5daa0
Implement --drop ( #14492 )
...
Co-authored-by: dave caruso <me@paperdave.net >
2024-10-11 20:52:23 -07:00
Zack Radisic
a01f9d8e1b
Integrate CSS with bundler ( #14281 )
...
Co-authored-by: Jarred Sumner <jarred@jarredsumner.com >
Co-authored-by: Zack Radisic <zackradisic@Mac.attlocal.net >
Co-authored-by: zackradisic <zackradisic@users.noreply.github.com >
Co-authored-by: Zack Radisic <zackradisic@Zacks-MBP.attlocal.net >
2024-10-04 20:23:10 -07:00