Commit Graph

84 Commits

Author SHA1 Message Date
Marko Vejnovic
17b503b389 Redis PUB/SUB 2.0 (#22568)
### What does this PR do?

**This PR is created because [the previous PR I
opened](https://github.com/oven-sh/bun/pull/21728) had some concerning
issues.** Thanks @Jarred-Sumner for the help.

The goal of this PR is to introduce PUB/SUB functionality to the
built-in Redis client. Based on the fact that the current Redis API does
not appear to have compatibility with `io-redis` or `redis-node`, I've
decided to do away with existing APIs and API compatibility with these
existing libraries.

I have decided to base my implementation on the [`redis-node` pub/sub
API](https://github.com/redis/node-redis/blob/master/docs/pub-sub.md).

#### Random Things That Happened

- [x] Refactored the build scripts so that `valgrind` can be disabled.
- [x] Added a `numeric` namespace in `harness.ts` with useful
mathematical libraries.
- [x] Added a mechanism in `cppbind.ts` to disable static assertions
(specifically to allow `check_slow` even when returning a `JSValue`).
Implemented via `// NOLINT[NEXTLINE]?\(.*\)` macros.
- [x] Fixed inconsistencies in error handling of `JSMap`.

### How did you verify your code works?

I've written a set of unit tests to hopefully catch the major use-cases
of this feature. They all appear to pass.


#### Future Improvements

I would have a lot more confidence in our Redis implementation if we
tested it with a test suite running over a network which emulates a high
network failure rate. There are large amounts of edge cases that are
worthwhile to grab, but I think we can roll that out in a future PR.

### Future Tasks

- [ ] Tests over flaky network
- [ ] Use the custom private members over `_<member>`.

---------

Co-authored-by: Jarred Sumner <jarred@jarredsumner.com>
2025-09-26 03:06:18 -07:00
Jarred Sumner
afcdd90b77 docs 2025-09-07 18:51:39 -07:00
Alistair Smith
d3abdc489e fix: Register install security scanner api in docs (#22131) 2025-08-25 13:38:14 -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
robobun
422991719d docs: add isolated installs to navigation (#21217)
Co-authored-by: Claude Bot <claude-bot@bun.sh>
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Jarred Sumner <jarred@jarredsumner.com>
2025-07-19 22:27:44 -07:00
Michael H
0ee633663e Implement bun why (#20847)
Co-authored-by: Jarred Sumner <jarred@jarredsumner.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-07-16 02:00:53 -07:00
Jarred Sumner
a8e4489e10 Add docs for bun pm audit (#19885)
Co-authored-by: Alistair Smith <hi@alistair.sh>
Co-authored-by: alii <25351731+alii@users.noreply.github.com>
2025-05-26 21:56:32 -07:00
Jarred Sumner
3605531e34 Remove empty page 2025-05-25 12:09:25 -07:00
Dylan Conway
98ee30eccf Implement catalogs in bun install (#19809)
Co-authored-by: graphite-app[bot] <96075541+graphite-app[bot]@users.noreply.github.com>
Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
Co-authored-by: Jarred-Sumner <Jarred-Sumner@users.noreply.github.com>
2025-05-20 23:03:21 -07:00
Jarred Sumner
ec87a27d87 Introduce Bun.redis - a builtin Redis client for Bun (#18812) 2025-04-08 03:34:00 -07:00
Jarred Sumner
c40663bdf1 Add more documentation on bun test 2025-04-03 13:34:06 -07:00
Jarred Sumner
21853d08de more cookie docs 2025-03-26 15:32:39 -07:00
Jarred Sumner
b6502189e8 Update nav.ts 2025-03-26 15:13:02 -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
Meghan Denny
9d6729fef3 docs: simplify bundler headings 2025-03-07 01:34:01 -08:00
Zack Radisic
e6cb0de539 CSS modules (#17958) 2025-03-06 23:35:06 -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
1ea14f483c Introduce bun ./index.html (#16993) 2025-02-03 04:06:12 -08:00
pfg
b0c5a7655d Update docs for bun.lock (#16585) 2025-01-21 22:09:23 -08:00
Ciro Spaciari
16054fa5e8 SQL documentation (#16557)
Co-authored-by: Meghan Denny <meghan@bun.sh>
Co-authored-by: Jarred Sumner <jarred@jarredsumner.com>
2025-01-21 04:08:16 -08:00
Jarred Sumner
274859584d Add docs for html imports 2025-01-15 16:33:24 -08:00
Jarred Sumner
cc5ee01752 Initial S3 docs 2025-01-03 23:08:14 -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
b39632c921 feat: new binding generator (#15638) 2024-12-10 12:43:17 -08:00
Dylan Conway
39b1c0111e add docs for bun publish (#14327) 2024-10-03 03:41:11 -07:00
Zack Radisic
274e5a2022 CSS Parser (#14122)
Co-authored-by: Jarred Sumner <jarred@jarredsumner.com>
2024-09-26 13:39:26 -07:00
Jarred Sumner
8dfa2abb53 Update nav.ts 2024-09-19 23:26:05 -07:00
Dylan Conway
ba2ea6fbb2 add --filter and package pattern arguments to bun outdated (#13557) 2024-08-27 00:18:27 -07:00
Jarred Sumner
1a6ead667b Introduce bun --fetch-preconnect <url> ./my-script.ts (#12698) 2024-07-22 03:41:59 -07:00
Zack Radisic
861be5560e Support reading from .npmrc (#11979)
Co-authored-by: Jarred Sumner <jarred@jarredsumner.com>
2024-06-29 18:11:23 -07:00
Jarred Sumner
3003dcb58f Update patch docs 2024-06-18 21:30:53 -07:00
Jarred Sumner
09438eb50c Add DNS docs page 2024-05-19 18:10:24 -07:00
João Lucas de Oliveira Lopes
57b529d181 fix: udp docs navbar (#10579) 2024-04-27 16:44:24 -07:00
Georgijs
e2c36aabff add docs for UDP (#10562)
Co-authored-by: Georgijs Vilums <=>
2024-04-26 21:08:51 -07:00
Georgijs
545cb546cc feat(cli): --filter flag (#8185)
* Skeleton code for `bun run --workspace`

* Update run_command.zig

* implement directory traversal to find workspace root

* finish --workspace implementation

* clean up changes in run_command.zig

* add workspace tests, update harness to handle nested dirs

* [autofix.ci] apply automated fixes

* basic filtering

* [autofix.ci] apply automated fixes

* working filter without patterns

* update tests, filter mostly working

* simplify package name parsing, commit tests

* support filter even without workspace setup

* move filter arg handling to separate source file

* use bun.sys.chdir, match root package for scripts

* fix exit code handling

* ignore node_modules and directories starting with . in --filter

* progress converting --filter to use iterators

* convert filtering to use iterators

* cleanup

* implement DirEntry access method for glob (currently crashing)

* cleanup and fixes

* run js files in subprocess when filter flag passed

* clean up dead code

* fix fd leak in run_command.zig

* [autofix.ci] apply automated fixes

* fix issues after merge

* use posix-spawn in runBinary, fix resource PATH variable resource leak

* move filter argument to runtime category

* fix test harness

* add js and binary tests to filter-workspace

* [autofix.ci] apply automated fixes

* fix compile after merge

* [autofix.ci] apply automated fixes

* clean up filter-workspace test

* [autofix.ci] apply automated fixes

* fixes to running binaries

* fix actually setting cwd_override

* windows fixes

* address some review comments

* handle malformed JSON

* add various tests

* [autofix.ci] apply automated fixes

* update docs for filter

* [autofix.ci] apply automated fixes

* reset tinycc commit

* filtered run prototype

* make pretty

* implement abort handler (not working)

* make prettier

* prep for windows

* windows path and printing fixes

* implement log-style output (not tui)

* fix issues when logging to file

* revert a bunch of unecessary changes

* cleanup

* implement dependency order execution

* detect  circular dependencies, fix cancel hang

* Fix `$PATH`

* ignore dep order on loop, stream on linux, sort pkgs

* support pre and post scripts

* add more filter tests, print elapsed time

* enable 'bun --filter' without run

* fix harness after merge

* [autofix.ci] apply automated fixes

* print number of scripts we're waiting for

* update docs, fix windows build

* fix tests on windows

* [autofix.ci] apply automated fixes

* fix uninitialized memory

* use terminal synchronized update sequences

* Add skip list

* Preallocate

* Use current bun in tests

---------

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: Jarred Sumner <jarred@jarredsumner.com>
2024-04-11 19:06:50 -07:00
dave caruso
358be9e727 docs: update the windows build documentation and list it on the docs site 2024-01-25 04:15:41 -08:00
Jarred Sumner
dcfec52b11 Update nav.ts 2024-01-19 18:55:29 -08:00
Jarred Sumner
5e520884cd Add to docs 2024-01-19 18:35:46 -08:00
Jarred Sumner
87eedc29d5 Move the standalone executable page 2024-01-15 18:13:28 -08:00
Jarred Sumner
bc4146295f Update nav.ts 2023-11-22 16:13:41 -08:00
Jarred Sumner
45f2eac44c Add a doc on Bun.semver 2023-11-08 04:32:29 -08:00
Colin McDonnell
2a8f3a3b4e Development -> Contributing (#6538)
Co-authored-by: Colin McDonnell <colin@KennyM1.local>
2023-10-16 16:11:03 -04:00
Colin McDonnell
4fab8fee21 Update descriptions 2023-10-12 23:19:53 -07:00
Colin McDonnell
4e67862753 Add overrides/resolutions docs (#6476) 2023-10-12 23:05:20 -07:00
cyfung1031
44dd744f0a docs: rearranged cli/runtime related sections (#6275)
* docs: rearranged cli/runtime related sections

* docs: update README.md for the updated docs path

* Updates

* Rearrange

* Rearrange

* Add files

* readme

---------

Co-authored-by: Colin McDonnell <colinmcd94@gmail.com>
2023-10-10 16:34:35 -07:00
Vilsol
eca93d4257 docs: fix typo in lockflie nav (#5576)
Looks like someone shifted their hand a bit to the right.

Changes `ytrr` to `tree`
2023-09-16 21:43:43 -07:00
Colin McDonnell
332141a6f2 Rework bunfig docs 2023-09-14 20:54:53 -07:00
Colin McDonnell
fbafbd3394 Reorganize Intro section 2023-09-13 21:36:35 -07:00
Colin McDonnell
66c0401426 Make TypeScript instructions easier to find 2023-09-13 21:22:41 -07:00
Samuel Rigaud
263382103f docs: fix typos (#5151) 2023-09-12 18:50:05 -07:00