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
Jarred Sumner
75f0ac4395
Add Windows metadata flags to bun build --compile ( #22067 )
...
## Summary
- Adds support for setting Windows executable metadata through CLI flags
when using `bun build --compile`
- Implements efficient single-operation metadata updates using the
rescle library
- Provides comprehensive error handling and validation
## New CLI Flags
- `--windows-title`: Set the application title
- `--windows-publisher`: Set the publisher/company name
- `--windows-version`: Set the file version (e.g. "1.0.0.0")
- `--windows-description`: Set the file description
- `--windows-copyright`: Set the copyright notice
## JavaScript API
These options are also available through the `Bun.build()` JavaScript
API:
```javascript
await Bun.build({
entrypoints: ["./app.js"],
outfile: "./app.exe",
compile: true,
windows: {
title: "My Application",
publisher: "My Company",
version: "1.0.0.0",
description: "Application description",
copyright: "© 2025 My Company"
}
});
```
## Implementation Details
- Uses a unified `rescle__setWindowsMetadata` C++ function that loads
the Windows executable only once for efficiency
- Properly handles UTF-16 string conversion for Windows APIs
- Validates version format (supports "1", "1.2", "1.2.3", or "1.2.3.4"
formats)
- Returns specific error codes for better debugging
- All operations return errors instead of calling `Global.exit(1)`
## Test Plan
Comprehensive test suite added in
`test/bundler/compile-windows-metadata.test.ts` covering:
- All CLI flags individually and in combination
- JavaScript API usage
- Error cases (invalid versions, missing --compile flag, etc.)
- Special character handling in metadata strings
All 20 tests passing (1 skipped as not applicable on Windows).
🤖 Generated with [Claude Code](https://claude.ai/code )
---------
Co-authored-by: Zack Radisic <zack@theradisic.com >
Co-authored-by: Claude <noreply@anthropic.com >
Co-authored-by: Jarred-Sumner <709451+Jarred-Sumner@users.noreply.github.com >
2025-08-23 00:33:24 -07:00
Jarred Sumner
df61e88dc0
Fix potential crash in new Bun.Transpiler() ( #21650 )
...
### What does this PR do?
The `then` function in `transpiler.transform` can cause GC, which means
it can cause the `Transpiler` to become freed, which means that if that
same transpiler is in use by another run on the other thread, it could
have pointers to invalid memory.
Also, `ESMCondition` has unnecesasry memory allocations and there is a
very tiny memory leak in optionsFromLoaders
### How did you verify your code works?
Existing tests
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-08-07 15:16:44 -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
Michael H
f4444c0e4d
fix --tsconfig-override ( #21045 )
2025-07-15 22:00:17 -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
Jarred Sumner
6ebad50543
Introduce ahead of time bundling for HTML imports with bun build ( #20265 )
...
Co-authored-by: Jarred-Sumner <709451+Jarred-Sumner@users.noreply.github.com >
Co-authored-by: Dylan Conway <dylan.conway567@gmail.com >
Co-authored-by: dylan-conway <35280289+dylan-conway@users.noreply.github.com >
2025-06-10 21:26:00 -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
Dylan Conway
4a210138a9
implement --no-addons flag and "node-addons" export condition ( #19530 )
2025-05-09 18:07:55 -07:00
Christoph
b7c5bd0922
Fix crash on empty text file import ( #19165 )
...
Co-authored-by: Jarred Sumner <jarred@jarredsumner.com >
2025-04-25 23:42:41 -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
chloe caruso
4ec410e0d7
internal: make @import("bun") work in zig ( #19096 )
2025-04-17 12:32:47 -07:00
chloe caruso
903706dccf
file descriptor rewrite ( #18790 )
2025-04-15 09:37:11 -07:00
chloe caruso
c29933f823
implement require.extensions attempt 2 ( #18686 )
2025-04-01 14:31:16 -07:00
Jarred Sumner
f38d35f7c9
Revert #18562 #18478 ( #18610 )
2025-03-28 20:23:49 -07:00
chloe caruso
70ddfb55e6
implement require.extensions ( #18478 )
2025-03-27 14:58:24 -07:00
Don Isaac
75144ab881
fix: reflect-metadata import order ( #18086 )
...
Co-authored-by: DonIsaac <22823424+DonIsaac@users.noreply.github.com >
2025-03-26 16:19:45 -07:00
Dylan Conway
a3585ff961
node:crypto: implement hkdf and hkdfSync (#18312 )
2025-03-21 01:03:01 -07:00
chloe caruso
b5cbf16cb8
module pr 2 ( #18266 )
2025-03-20 00:45:44 -07:00
Ashcon Partovi
6e1f1c4da7
Initial support for node:test ( #18140 )
2025-03-19 11:49:00 -07: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
2fb121e2ed
restore stubbed code paths in OutputFile.writeToDisk ( #15278 )
2025-02-27 15:42:21 -08:00
Meghan Denny
04703bd3cc
zig: catch JSValue.toZigString/getZigString thrown exceptions ( #17508 )
2025-02-21 22:55:03 -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
Jarred Sumner
a3ea521c98
Fix mime type for assets in HTML routes ( #17513 )
...
Co-authored-by: chloe caruso <git@paperclover.net >
2025-02-20 22:30:48 -08:00
Jarred Sumner
ba8573494a
Add shadcn, tailwind and react detection & templates to bun create. Also: bun install --analyze <files...> ( #17035 )
2025-02-09 09:36:57 -08:00
Jarred Sumner
7a918d24a7
Fix loading react-jsxdev instead of react-jsx ( #17013 )
...
Co-authored-by: chloe caruso <git@paperclover.net >
2025-02-03 14:10:09 -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
ee1932e92c
Don't run json files ( #16733 )
2025-01-24 22:08:01 -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
Zack Radisic
703b9962c7
CSS tests and bundler plugins in serve ( #16558 )
2025-01-21 01:16:48 -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
522f2b91a0
Introduce experimental support for on-demand bundling via HTML imports and Bun.serve() ( #16395 )
2025-01-15 01:00:23 -08:00
Michael H
70362c316e
allow importing bun.lock (+ types for it) ( #16244 )
...
Co-authored-by: RiskyMH <RiskyMH@users.noreply.github.com >
2025-01-12 20:08:56 -08:00
Jarred Sumner
da54e81955
Support bundling HTML files and their js, css, and assets in Bun.build and bun build ( #15940 )
2024-12-23 11:04:38 -08:00
dave caruso
41924211f2
add throw: true in Bun.build, to be made default in 1.2 ( #15861 )
2024-12-18 19:27:59 -08:00
dave caruso
baff3c900e
bake: fix the big regressions ( #15544 )
...
Co-authored-by: paperdave <paperdave@users.noreply.github.com >
2024-12-03 22:15:59 -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
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
Meghan Denny
c3f63bcdc4
zig: make throwInvalidArguments use JSError ( #15305 )
2024-11-21 16:19:13 -08:00
Zack Radisic
3c95d5d011
Fix bundler crash with onLoad plugins on copy-file loaders used on entrypoints ( #15231 )
2024-11-18 18:50:01 -08:00
Meghan Denny
befb269b2d
zig: align fromJS methods to using JSError ( #15165 )
2024-11-15 22:14:18 -08:00
Meghan Denny
f8979b05b1
rid nearly all use of ExceptionRef in zig ( #15100 )
...
Co-authored-by: nektro <nektro@users.noreply.github.com >
2024-11-13 15:23:52 -08:00
dave caruso
e93c5ad993
feat(bake): css, production build, dev separateSSRGraph=false ( #14622 )
...
Co-authored-by: Jarred Sumner <jarred@jarredsumner.com >
Co-authored-by: paperdave <paperdave@users.noreply.github.com >
Co-authored-by: Jarred-Sumner <Jarred-Sumner@users.noreply.github.com >
2024-10-27 01:57:36 -07:00
Bjorn Beishline
7f5860331e
Fixed compilation issues with no outdir ( #14717 )
...
Co-authored-by: Meghan Denny <meghan@bun.sh >
2024-10-25 18:43:58 -07:00