Commit Graph

137 Commits

Author SHA1 Message Date
Claude Bot
b15373bacc Add SQLQueryPerformanceEntry support for MySQL and PostgreSQL
Implements SQL query performance tracking that integrates with the Performance API:

- Adds SQLQueryPerformanceEntry C++ class extending PerformanceEntry
- Adds `performanceEntries: boolean` option to SQL constructors
- Tracks query timing with SQL command extraction (SELECT, INSERT, etc.)
- Integrates with performance.getEntries(), getEntriesByType(), getEntriesByName()
- Includes security-conscious approach (excludes parameter values)
- Works with MySQL and PostgreSQL connections

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-28 06:55:03 +00:00
Jarred Sumner
404ac7fe9d Use Object.create(null) instead of { __proto__: null } (#21997)
### What does this PR do?

Trying to workaround a performance regression potentially introduced in
2f0cc5324e


### How did you verify your code works?
2025-08-23 15:12:09 -07:00
Carl Jackson
92b38fdf80 sql: support array of strings in SQLHelper (#21572)
### What does this PR do?
Support the following:
```javascript
const nom = await sql`SELECT name FROM food WHERE category IN ${sql(['bun', 'baozi', 'xiaolongbao'])}`;
```

Previously, only e.g., `sql([1, 2, 3])` was supported.

To be honest I'm not sure what the semantics of SQLHelper *ought* to be.
I'm pretty sure objects ought to be auto-inferred. I'm not sure about
arrays, but given the rest of the code in `SQLHelper` trying to read the
tea leaves on stringified numeric keys I figured someone cared about
this use case. I don't know about other types, but I'm pretty sure that
`Object.keys("bun") === [0, 1, 2]` is an oversight and unintended.
(Incidentally, the reason numbers previously worked is because
`Object.keys(4) === []`). I decided that all non-objects and non-arrays
should be treated as not having auto-inferred columns.

Fixes #18637 

### How did you verify your code works?
I wrote a test, but was unable to run it (or any other tests in this
file) locally due to Docker struggles. I sure hope it works!
2025-08-22 17:05:05 -07:00
Jarred Sumner
0e37dc4e78 Fixes #20729 (#22048)
### What does this PR do?

Fixes #20729

### How did you verify your code works?

There is a test

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-08-22 03:41:49 -07:00
Ciro Spaciari
ecbf103bf5 feat(MYSQL) Bun.SQL mysql support (#21968)
### What does this PR do?
Add MySQL support, Refactor will be in a followup PR
### How did you verify your code works?
A lot of tests

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: cirospaciari <6379399+cirospaciari@users.noreply.github.com>
2025-08-21 15:28:15 -07:00
Alistair Smith
784271f85e SQLite in Bun.sql (#21640)
### What does this PR do?

Support sqlite in the Bun.sql API

Fixes #18951
Fixes #19701

### How did you verify your code works?

tests

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Jarred Sumner <jarred@jarredsumner.com>
2025-08-19 23:15:53 -07:00
Jarred Sumner
4fa69773a3 Introduce Bun.stripANSI (#21801)
### What does this PR do?

Introduce `Bun.stripANSI`, a SIMD-accelerated drop-in replacement for
the popular `"strip-ansi"` package.

`Bun.stripANSI` performs >10x faster and fixes several bugs in
`strip-ansi`, like [this long-standing
one](https://github.com/chalk/strip-ansi/issues/43).

### How did you verify your code works?

There are tests that check the output of `strip-ansi` matches
`Bun.stripANSI`. For cases where `strip-ansi`'s behavior is incorrect,
the expected value is manually provided.

---------

Co-authored-by: Jarred-Sumner <709451+Jarred-Sumner@users.noreply.github.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Claude Bot <claude-bot@bun.sh>
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: taylor.fish <contact@taylor.fish>
2025-08-14 22:42:05 -07:00
Ciro Spaciari
ed6f099e5e fix(tls) fix ciphers (#21545)
### What does this PR do?
Uses same ciphers than node.js for compatibility and do the same error
checking on empty ciphers
Fixes https://github.com/oven-sh/bun/issues/9425
Fixes https://github.com/oven-sh/bun/issues/21518
Fixes https://github.com/oven-sh/bun/issues/19859
Fixes https://github.com/oven-sh/bun/issues/18980

You can see more about redis ciphers here
https://redis.io/docs/latest/operate/rs/security/encryption/tls/ciphers/
this should fix redis related ciphers issues
### How did you verify your code works?
Tests

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-08-04 19:42:40 -07:00
Michael H
15b7cd8c18 node:fs.glob support array of excludes and globs (#20883) 2025-07-16 03:08:54 -07:00
Meghan Denny
392acbee5a js: internal/validators: define simple validators in js (#20897) 2025-07-09 16:45:40 -07:00
Jarred Sumner
4cc61a1b8c Fix NODE_PATH for bun build (#20576)
Co-authored-by: Jarred-Sumner <709451+Jarred-Sumner@users.noreply.github.com>
2025-06-22 20:51:45 -07:00
Michael H
25dbe5cf3f fs.glob set onlyFiles: false so it can match folders (#20510) 2025-06-21 23:45:38 -07:00
Michael H
3aedf0692c make options argument not required for fs.promises.glob (#20480) 2025-06-19 12:55:32 -07:00
Dylan Conway
ce8767cdc8 add HTTPParser (#20049)
Co-authored-by: Jarred Sumner <jarred@jarredsumner.com>
2025-05-31 16:21:08 -07:00
Meghan Denny
809992229f node:net rework (#18962)
Co-authored-by: nektro <5464072+nektro@users.noreply.github.com>
2025-05-28 17:04:37 -07:00
Alistair Smith
58c1372b50 Implements Node.js behaviour for parallel/test-tls-set-ciphers-error.js (#19443) 2025-05-26 13:13:59 -07:00
Kai Tamkun
392212b090 node:vm compatibility (#19703) 2025-05-23 22:59:58 -07:00
Meghan Denny
d774baa28a tidyings from 18962 (#19644) 2025-05-14 18:47:51 -07:00
Ciro Spaciari
0a0205be6e compat(node:http) more (#19527)
Co-authored-by: cirospaciari <6379399+cirospaciari@users.noreply.github.com>
Co-authored-by: 190n <ben@bun.sh>
2025-05-10 21:28:31 -07:00
Jarred Sumner
14b439a115 Fix formatters not running in CI + delete unnecessary files (#19433) 2025-05-08 23:22:16 -07:00
Dylan Conway
8deac8b3b9 node:util fixes (#19439) 2025-05-05 19:40:57 -07:00
Jarred Sumner
7521e45b17 --console & console: true (#19427)
Co-authored-by: Zack Radisic <56137411+zackradisic@users.noreply.github.com>
2025-05-02 12:55:57 -07:00
Meghan Denny
9e201eff9e node:net: implement BlockList (#19277) 2025-05-01 16:09:44 -07:00
Meghan Denny
11978cd48d node: fix test-http-client-request-options.js (#19377) 2025-04-29 18:29:47 -07:00
pfg
b97561f3f8 mime api (test-mime-api, test-mime-whatwg) (#19284) 2025-04-25 23:40:09 -07:00
Ciro Spaciari
59b2a60790 compat(node:http) more passing (#19236)
Co-authored-by: Dylan Conway <35280289+dylan-conway@users.noreply.github.com>
Co-authored-by: 190n <ben@bun.sh>
Co-authored-by: Jarred Sumner <jarred@jarredsumner.com>
2025-04-24 19:26:55 -07:00
Alistair Smith
9f0ba15995 Fix test-{https,tls}-options-boolean-check (#19225) 2025-04-23 22:18:43 -07:00
Kai Tamkun
506afcbc7e More node:http compatibility (#19173) 2025-04-23 16:44:32 -07:00
Kai Tamkun
78fd584c0d Split up HTTP (#19099) 2025-04-21 16:08:34 -07:00
Jarred Sumner
032713c58c Fix several lints (#19121) 2025-04-19 05:41:34 -07:00
Ciro Spaciari
218ee99155 compat(node:http) more compatibility improvements (#19063) 2025-04-18 19:57:02 -07:00
pfg
d9c77be90d node child process maxbuf support (#18293) 2025-04-03 17:03:26 -07:00
chloe caruso
b5cbf16cb8 module pr 2 (#18266) 2025-03-20 00:45:44 -07:00
Meghan Denny
2024fa09d7 js: fix many typescript errors (#18272)
Co-authored-by: Dylan Conway <35280289+dylan-conway@users.noreply.github.com>
2025-03-19 22:39:24 -07:00
Jarred Sumner
46b2a58c25 Small improvements to internal types 2025-03-19 19:26:13 -07:00
pfg
fdd181d68d Even more child process tests passing (#18052) 2025-03-11 22:52:12 -07:00
Meghan Denny
ba7f59355f js: de-class-ify node:net.Socket (#17997) 2025-03-10 23:37:11 -07:00
Kai Tamkun
4a0e982bb2 node:http improvements (#17093)
Co-authored-by: Jarred Sumner <jarred@jarredsumner.com>
Co-authored-by: Pham Minh Triet <92496972+Nanome203@users.noreply.github.com>
Co-authored-by: snwy <snwy@snwy.me>
Co-authored-by: Ciro Spaciari <ciro.spaciari@gmail.com>
Co-authored-by: cirospaciari <cirospaciari@users.noreply.github.com>
Co-authored-by: Ben Grant <ben@bun.sh>
2025-03-10 20:19:29 -07:00
Don Isaac
4840217156 fix(node/net): infinite loop when connect is called without args (#17921) 2025-03-05 19:00:08 -08:00
Dylan Conway
99cbdfb004 node:crypto: move Sign and Verify to c++ (#17692)
Co-authored-by: Jarred Sumner <jarred@jarredsumner.com>
2025-03-01 03:01:39 -08:00
Meghan Denny
cc481465b5 node: fix test-net-socket-timeout.js (#17745) 2025-02-26 22:41:38 -08:00
190n
b3edef5989 node:timers fixes (#16855) 2025-02-26 16:45:02 -08:00
Don Isaac
db5b915559 fix(node/net): better net.Server compatibility (#17638) 2025-02-24 19:24:10 -08:00
Don Isaac
61edc58362 feat(node/net): add SocketAddress (#17154)
Co-authored-by: DonIsaac <22823424+DonIsaac@users.noreply.github.com>
2025-02-24 11:18:16 -08:00
chloe caruso
b082572dcb DevServer: source map and error modal improvements (#17476) 2025-02-20 16:40:57 -08:00
Meghan Denny
b418b7794a node:buffer: fix write (#17323) 2025-02-14 23:30:18 -08:00
Meghan Denny
6353fa4806 node:buffer: fix read (#17299) 2025-02-12 23:37:36 -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
Don Isaac
146ec7791b fix(node/assert): port more test cases from node (#16895)
Co-authored-by: DonIsaac <22823424+DonIsaac@users.noreply.github.com>
Co-authored-by: Dylan Conway <35280289+dylan-conway@users.noreply.github.com>
2025-02-06 14:29:59 -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