Commit Graph

38 Commits

Author SHA1 Message Date
Jarred Sumner
fdfbb18531 Support reading embedded files in compiled executables (#3405)
* Support reading embedded files in compiled executables

* 💅

---------

Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
2023-06-25 16:32:27 -07:00
Ciro Spaciari
069b42a7cc [feat] fs.watch (#3249)
* initial support

* add types

* fix comment

* fix types

* bigfix up

* more fixes

* fix some encoding support for watch

* fix rename event

* fixup

* fix latin1

* add fs_events, still failing some tests

* fixuup

* remove unecesary check

* readd tests ops

* this is necessary? just testing CI/CD weird errors

* just use dupe here

* cleanup and fix deinit

* fix zig upgrade
2023-06-23 23:24:34 -07:00
Dylan Conway
5fa13625a1 upgrade zig to v0.11.0-dev.3737+9eb008717 (#3374)
* progress

* finish `@memset/@memcpy` update

* Update build.zig

* change `@enumToInt` to `@intFromEnum` and friends

* update zig versions

* it was 1

* add link to issue

* add `compileError` reminder

* fix merge

* format

* upgrade to llvm 16

* Revert "upgrade to llvm 16"

This reverts commit cc930ceb1c.

---------

Co-authored-by: Jarred Sumner <jarred@jarredsumner.com>
Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
2023-06-21 23:38:18 -07:00
Jarred Sumner
fdb7940c4e Fix a bunch of bugs (#3352)
* Fix a bunch of bugs

* undo that one

* Fix crash in readdir()

* woops

* woops

* Add comment

* ✂️

* Make `readlink()` and `realpath` use much less memory

* Update BunString.cpp

* woopsie

* Unnecessary

* Don't commit these

---------

Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
2023-06-18 10:47:42 -07:00
dave caruso
42d8b7183c random fixes that help vite/sveltekit (#3140)
* existsSync with invalid paths should return false

* partially support file urls (does not do percent encoding)

* add utf16 support for Path.isAbsoluteString

* Update src/resolver/resolver.zig

Co-authored-by: Jarred Sumner <jarred@jarredsumner.com>

* fixups

* revert

* prettier format

---------

Co-authored-by: Jarred Sumner <jarred@jarredsumner.com>
2023-06-01 16:48:37 -07:00
Ciro Spaciari
3870f674f9 fix(tls.connect) fix SNI on tls sockets and also servername (mongodb) (#2934)
* fixes SNI on tls sockets and also servername

* 💅

* 💅

* add support for https and wss

* fix bun types

* support Bun.file on ca, key and cert

* 💅

* add setTimeout (makes fastify run)

* fix httpVersion

* fix WebSocketServer and add listen event

* fix ws exports and http listening

* fix default import

* bump uws

* add nodebuffer compatibility

* fix drain and allow more passing tests to run

* fix enqueud messages

* default to arraybuffer

* fix constructor binaryType

* fmt

* fixup

* skip some tests

* skip more

* skip fault tests

* reuse encoder instance

* fix handshake WS Client

* temporary revert handshake fix

* fix handshake

* disable all socket.io test temp

* fixup

* add back socket.io tests

* use node_fs to read cert, ca and key on server.zig

* throw the error returned by NodeFS

* 💅
2023-05-21 09:50:53 -07:00
Jarred Sumner
4f7198f780 Fixes https://github.com/oven-sh/bun/issues/2931 2023-05-17 20:19:31 -07:00
Ciro Spaciari
bc7d0adcf9 fix(fs) mkdtemp and mkdtempSync errors (#2851)
* fix mkdtemp

* fmt

* fix errno
2023-05-11 14:23:33 -07:00
Jarred Sumner
990f53f986 Don't preallocate unless its profitable 2023-04-27 03:45:09 -07:00
Jarred Sumner
4558ea712a very slightly faster open() and writeFileSync() (#2759)
* Make open() slightly faster on macOS

* Support using `writeFileSync` from native code

* Add `openat$NOCANCEL` symbol

* fixups for linux

* do benchmark

---------

Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
2023-04-27 03:35:46 -07:00
Jarred Sumner
ea47ed0ee5 Fix broken autocomplete 2023-04-19 00:01:27 -07:00
Jarred Sumner
b76384351c More bug fixes (#2486)
* readline_promises test fix

* fix `escapeHTML` for baseline builds

* fs test fixes, use `tmpdir()`

* add paths for `resolve.test.js`

* isError with toString symbol and error prototype

* comment about `toString`

* skip async macro transform

* test cleanup, skip stack format test

* readline undo and redo fix

* capture error from readline keypress

* Update tcp-server.test.ts

* use `removefileat` for recursive rmdir

* use strong for `signal.reason`

* initialize `m_flags`

* directory with file fs test

* recursive option

* import expect

* could be less than

* move abort signal tests to another process

* fix typecheck

---------

Co-authored-by: Dylan Conway <dylan.conway567@gmail.com>
2023-03-28 18:23:50 -07:00
Jarred Sumner
7416672e93 Fix edgecase in some arg parsing in fs module 2023-02-17 22:03:22 -08:00
Justin Whear
7762f3fad7 Fix #1516 (#2089)
`FileSystemFlags.fromJS` was hardcoded to return O_RDONLY when the flag value
 was null or undefined and this caused breakage when used with write functions.
Updated the function to take a `default` argument so that the caller can specify
 a sane default for their use.
2023-02-16 14:01:07 -08:00
Jarred Sumner
aa0762e466 Implement FormData (#2051)
* Backport std::forward change

* Implement `FormData`

* Fix io_darwin headers issue

* Implement `Blob` support in FormData

* Add test for file upload

* Fix bug with Blob not reading Content-Type

* Finish implementing FormData

* Add FormData to types

---------

Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
2023-02-13 00:50:15 -08:00
Jarred Sumner
05f3a22cba Use new bindings for Stat
Fixes #1999
2023-02-06 18:40:52 -08:00
Jarred Sumner
2c31beda75 Fixes #1887 2023-01-24 00:14:59 -08:00
Jarred Sumner
c0dd284136 Upgrade to latest Zig (#1610)
* @min and @max

* builtins and some trivial ones

* Most of them

* more

* more!

* More Progress

* wip

* Update tagged_pointer.zig

* Update http_client_async.zig

* Most of the iterable dir changes

* alright

* Remove usages of deprecated formatters

* 📷

* fmt

* Update shimmer.zig

* wip

* wip

* wip

* progress

* more

* Latest

* stuck on error

* latest

* workaround stage2

* wip

* Update string_immutable.zig

* wip

* Migrate `Dirent` and `require("fs')` to use JSC<>Zig bindings

* Fix build errors

* Fixup most of the test failures

* Fix `make headers`

* Fix "outside package path" error

* Fixup aligned alloc

* Add missing file

* linux

* More linux fixes

* use latest peechy

* Fix transpiler test failure

* Forgot about these

* Fixup test failure

* Update node-timers.test.ts

* [node:htt] Fix `undefined is not an object` error

Fixes https://github.com/oven-sh/bun/issues/1618

* Update http.exports.js

* Make this test less flaky

* fix hashes

* Fix hex formatting and zls issues

* Download zig version

* Update Dockerfile

* Update Dockerfile

* Update uws

* Update Dockerfile

* Set llvm version

* Update README.md

* Update uws

* Update Dockerfile

* Update io_linux.zig

* Update bun.zig

* Log output

* workaround strange @cInclude error

* Make ffi tests better

* Don't use cImport

* Update c.zig

* Update c-bindings.cpp

* call setOutputDir

* Update Dockerfile

* Use a longer name

* latest

* Update serve.test.ts

Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
Co-authored-by: Veikka Tuominen <git@vexu.eu>
2022-12-28 00:51:22 -08:00
Jarred Sumner
81317a52ea Fix glibc symbol version issues preventing bun install from being used in older glibc versions (#1580)
* Prevent integer overflow in connectError

* Add missing deepEquals() type to Bun

* fix missing glibc symbols

* Fix missing symbol issues

* Try this

* Update glibc-versions-hack.cpp

* Update glibc-versions-hack.cpp

* Update glibc-versions-hack.cpp

Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
2022-12-06 14:14:27 -08:00
Jarred Sumner
b631ea7d72 import everything from "bun" where possible 2022-11-29 02:42:56 -08:00
Jarred Sumner
ac36ea51cf possibly more reliable Bun.spawn (#1547)
* wip

* wip

* Fix bug with stdin

* zig fmt

* seems to work!

* Update streams.test.js

Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
2022-11-23 07:14:33 -08:00
Jarred SUmner
20eff9f6d2 Bugfixes and perf improvements to child_process 2022-11-14 04:08:36 -08:00
Jarred Sumner
21bf3ddaf2 Redo how we poll pipes (#1496)
* Fix pipe

* Handle unregistered

* Fix failing test
2022-11-12 18:30:12 -08:00
Jarred Sumner
072cd5a745 Fix UAF in canary 2022-11-07 00:50:32 -08:00
Jarred Sumner
897d7bd564 Add way to explicitly coercion object to int32 2022-11-06 17:59:32 -08:00
Jarred Sumner
40623cf967 Implement fs.rm cross-platformly 2022-10-11 00:03:32 -07:00
Jarred Sumner
28f7240dd3 Handle more edgecases in fs.rm on macOS 2022-10-05 18:07:41 -07:00
Jarred Sumner
d3ef6c330a node:fs implement rm on macOS
no linux yet
2022-10-03 01:10:38 -07:00
Jarred Sumner
c600196b1a [node:fs] Fix readFileSync on non-regular files
Fixes https://github.com/oven-sh/bun/issues/1220
2022-09-09 19:26:02 -07:00
Jarred Sumner
7a5cfc4bae Return a Buffer object for fs.readFile 2022-09-06 07:22:52 -07:00
Jarred Sumner
64b3d28d41 Update node_fs.zig 2022-08-26 01:59:13 -07:00
Zilin Zhu
07a4b26697 fix mkdtemp (#1151)
* fix mkdtemp

* Update src/bun.js/node/node_fs.zig

* Update src/bun.js/node/node_fs.zig

Co-authored-by: Jarred Sumner <jarred@jarredsumner.com>
2022-08-26 01:22:25 -07:00
Jarred Sumner
e3c2a95e5f Faster TextDecoder 2022-08-18 19:06:29 -07:00
Jarred Sumner
01f567e915 add some comments 2022-08-09 06:05:20 -07:00
Jarred Sumner
16f24086f8 [node compat] Improve fs.copyFileSync performance on macOS 2022-08-09 05:48:20 -07:00
Jarred Sumner
8ae4c745e1 Improve fs.copyFile performance on Linux (#1035)
* [fs] Improve fs.copyFile performance on Linux

* Add a fs.copyFileSync benchmark

* Fix build error

* Update node.mitata.mjs

* Be more careful with permission

Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
2022-08-09 05:44:39 -07:00
Jarred Sumner
f6002b799b Delete BunStream 2022-07-02 01:36:04 -07:00
Jarred Sumner
729d445b68 change the directory structure 2022-06-22 23:21:48 -07:00