WingLim
476fa4deda
feat(encoding): support BOM detection with test passed ( #6074 )
2023-10-03 10:28:59 -07:00
Jarred Sumner
abfc10afeb
Revert "feat(encoding): support BOM detection ( #5550 )"
...
This reverts commit 5f66b4e729 .
This caused test failures in text-encoder. cc @WingLim
2023-09-21 07:10:07 -07:00
WingLim
5f66b4e729
feat(encoding): support BOM detection ( #5550 )
...
* fix(encoding): export `getIgnoreBOM`
* feat(encoding): support ignoreBOM
* fix(encoding): not replace BOM to 0xFFFD
* chore: use strict equal
2023-09-20 18:44:05 -07:00
WingLim
a098c6e5f6
feat(encoding): TextDecoder support undefined ( #5387 )
...
* feat(encoding): TextDecoder support undefined
* chore: format test file
2023-09-16 22:41:52 -07:00
Dylan Conway
70a5cfe908
fix text decode trim ( #4495 )
...
* remove trim
* separate function
* a test
* trim when `stream` is true
---------
Co-authored-by: Jarred Sumner <jarred@jarredsumner.com >
2023-09-05 17:53:31 -07:00
Jarred Sumner
e2a17344dc
just kernel32 things ( #4354 )
...
* just kernel32 things
* more
* Update linux_c.zig
* Update windows_c.zig
* Add workaround
Workaround https://github.com/ziglang/zig/issues/16980
* Rename http.zig to bun_dev_http_server.zig
* Rename usages
* more
* more
* more
* thanks tigerbeetle
* Rename `JSC.Node.Syscall` -> `bun.sys`
* more
* woops
* more!
* hmm
* it says there are only 37 errors, but that's not true
* populate argv
* it says 32 errors!
* 24 errors
* fix regular build
* 12 left!
* Still 12 left!
* more
* 2 errors left...
* 1 more error
* Add link to Tigerbeetle
* Fix the remainign error
* Fix test timeout
* Update syscall.zig
---------
Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com >
2023-08-28 04:39:16 -07:00
Jarred Sumner
1b8f569792
Fix memory leak in buffer.toString("hex") ( #4235 )
...
Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com >
2023-08-21 03:31:33 -07:00
Jarred Sumner
943a664224
Remove most C API usages, add debugger pretty printers for Headers, URLSearchParams, FormData, Worker, EventTarget ( #4187 )
...
* Add pretty printers for `Headers`, `URLSearchParams`, and `FormData`
* [untested] Add way to code generate getInternalProperties
* bump
* Bump Webkit
* Ref the event loop while loaded
* wip
* checkpoint
* another checkpoint
* The code has been written
* Fixup exports
* Fix all the errors
* Fix bug
* [console.log] Fix bug when printing non-reified types missing values
* Fix loading hash table
* fix plugin
* Fix ref & unref
* auto-unref
* various fixes
* Update bun.zig
* Set toStringTag
* Delete code for macro JSX
* Delete code for `bun dev` HTTP JS
* Move Bun.serve to C++ API
* Delete JSC C API code
* ✂️ 💀 code
* Use JSC C++ for `confirm`, `Crypto`, `prompt`, `alert`
* more dead code
* Update exports.zig
* Use JSC C++ API for FFI
* Remove remaining usages
* Remove remaining usages
* Update ffi.ts
* Update InternalModuleRegistryConstants.h
* draw the rest of the owl
* Update webcore.zig
* bind it
* Fix performance regression in crypto.randomUIUD()
* Update js_parser.zig
---------
Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com >
2023-08-18 19:58:03 -07:00
Ciro Spaciari
2634c64aa3
Fix prisma linux generation ( #4150 )
...
* check
* fmt + fix
* fmt
* ops
* add more targets
* more targets
* oops
* update bun lock and prisma
* manually add openssl
* targets on sqlite
2023-08-16 16:12:02 -07:00
Jarred Sumner
115704b27b
Fix memory leak in base64url ( #4111 )
...
Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com >
2023-08-10 16:43:19 -07:00
Jarred Sumner
e25833d009
Fixes #4062 ( #4106 )
...
* Fixes #4062
* Update encoding.zig
* Use faster C++ impl
* Update wtf-bindings.cpp
* undo
* Fixup
---------
Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com >
2023-08-10 13:32:04 -07:00
Ai Hoshino
385d440694
Fix constructing buffer from a UTF16 string with the Latin1 encoding. ( #4086 )
...
Close : #3914
2023-08-09 09:45:50 -07:00
Jarred Sumner
9ecae59bbb
Fix memory leak in response.clone(), further reduce memory usage of Request & Response ( #3902 )
...
* Atomize respsone.url & response.statusText
* Fix warning
* Atomize Request & Response URLs when possible
* Fix memory leak in response.clone()
bun/bench/snippets on jarred/atomize
❯ mem bun --smol request-response-clone.mjs
cpu: Apple M1 Max
runtime: bun 0.7.2 (arm64-darwin)
benchmark time (avg) (min … max) p75 p99 p995
-------------------------------------------------------- -----------------------------
req.clone().url 77.3 ns/iter (40.35 ns … 222.64 ns) 91.53 ns 128.11 ns 172.78 ns
resp.clone().url 162.43 ns/iter (116 ns … 337.77 ns) 177.4 ns 232.38 ns 262.65 ns
Peak memory usage: 60 MB
bun/bench/snippets on jarred/atomize
❯ mem bun-0.7.1 --smol request-response-clone.mjs
cpu: Apple M1 Max
runtime: bun 0.7.1 (arm64-darwin)
benchmark time (avg) (min … max) p75 p99 p995
-------------------------------------------------------- -----------------------------
req.clone().url 115.85 ns/iter (80.35 ns … 247.39 ns) 128.19 ns 181.93 ns 207.23 ns
resp.clone().url 252.32 ns/iter (202.6 ns … 351.07 ns) 266.56 ns 325.88 ns 334.73 ns
Peak memory usage: 1179 MB
* Update tests
* Update js_ast.zig
* Update test
---------
Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com >
2023-07-30 23:51:43 -07:00
Ai Hoshino
1ecd9f8a18
handle latin1 in Bun__encoding__toString. ( #3739 )
...
Close : #3738
2023-07-21 22:01:26 -07:00
Julian
c383c6cd81
Pass constructor arguments to TextDecoder ( #3692 )
...
* Make TextDecoder constructor use options parameter
The constructor now actually sets TextDecoder properties using the
options parameter.
* Defer decoder allocation to end of constructor
* Verify types of TextDecoder options
* TextDecoder throw TypeError on failure
* Tidying
2023-07-20 14:50:54 -07:00
Dylan Conway
661355546a
zig upgrade ( #3667 )
...
* upgrade
* more fixes
* Bump Zig
---------
Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com >
2023-07-18 01:20:20 -07:00
Jarred Sumner
963d4311e6
Fixes #3530 ( #3587 )
...
* Fixes #3530
* Handle OOM
* Add test
---------
Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com >
2023-07-09 22:36:24 -07:00
Jarred Sumner
983039a18a
Fixes #3508
2023-07-03 13:16:57 -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
42606d6aed
Rename ptr to _unsafe_ptr_do_not_use ( #3163 )
...
* Rename `ptr` to `_unsafe_ptr_do_not_use`
* Fixup
---------
Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com >
2023-06-01 18:02:41 -07:00
Jarred Sumner
ea47ed0ee5
Fix broken autocomplete
2023-04-19 00:01:27 -07:00
Dylan Conway
a9c41c67e6
Fix several bugs ( #2418 )
...
* utf16 codepoint with replacement character
* Fix test failure with `TextEncoder("ascii')`
* Add missing type
* Fix Response.prototype.bodyUsed and Request.prototype.bodyUsed
* Fix bug with scrypt error not clearing
* Update server.zig
* oopsie
2023-03-18 00:55:05 -07:00
Alex Lam S.L
28346e4a39
improve Buffer compatibility with Node.js ( #2341 )
...
* improve `Buffer` compatibility with Node.js
* use `memmove()`
allow `encoding` to be `undefined`
2023-03-07 22:29:29 -08:00
Dylan Conway
3f04f8d0a6
Upgrade Zig ( #2151 )
...
* fixup
* Upgrade Zig
* Remove bad assertion
* strings
* bump
* mode -> optimize
* optimize
* Linux build
* Update bindgen.zig
2023-02-23 23:57:19 -08:00
Jarred Sumner
ca2e708be1
speed it up a little more
2023-02-05 07:07:35 -08:00
Jarred Sumner
e8fe6dd2f8
Faster Buffer.toString("ascii")
2023-02-05 04:14:16 -08:00
Dylan Conway
f572305013
another
2023-02-03 11:50:23 -08:00
Dylan Conway
17b4e5ce08
integers overflowing
2023-02-03 11:47:21 -08:00
Dylan Conway
3c23f9ad57
fix text encoding for utf8 ( #1967 )
...
* use character
* replacement character
* also test encoding decoded points
* increase length by 1
2023-02-01 18:48:09 -08:00
Jarred Sumner
8b8bd6a405
remove log that appears in production
2023-01-30 16:14:23 -08:00
Ciro Spaciari
aa10799d8a
fix utf16le fill and utf8 partial write of utf16 ( #1943 )
2023-01-30 12:21:23 -08:00
Jarred Sumner
552a1940eb
[buffer] More passing Node.js tests
2023-01-29 21:27:42 -08:00
Ciro Spaciari
6d06606135
Implement all pending resolve methods in DNS ( #1903 )
...
* initial steps to create generic resolve
* add soa
* add naptr
* add naptr
* add mx and fix naptr
* add resolve caa
* fix Caa test
* fix toJS from caa
* add resolveNs
* add resolvePtr
* fix resolvePtr test
* add resolveCname
* add resolve rrtype options (still missing ANY)
* fix Naptr
* fix drainPendingCares
2023-01-26 18:36:53 -08:00
Ciro Spaciari
b3533fb3a8
fix(Buffer) Fix arguments in buffer.write, fix size returned from buffer.write for utf16, fix size calc for base64, fix calc for hex byte size ( #1881 )
...
* fix buffer write when more than 2 args are passed
* fix encoding parameter
* better buffer write tests
* fix ucs2/utf8 len return
* fix base64 size in Buffer write
* fix hex encoding size
* actual fix base64
* actual fix base64
* fix segfault
* add fill parameter in Buffer.alloc
* use createUnitialized when alloc have fill parameter, use RETURN_IF_EXCEPTION when static casting
* fix utf16le, ucs2 copying in Buffer write
2023-01-23 16:48:52 -08:00
Jarred Sumner
df999306c0
✂️ duplicate code
2023-01-23 05:05:54 -08:00
Jarred Sumner
f993975ae6
make this code easier to read
2023-01-19 21:00:53 -08:00
Jarred SUmner
996ef44c02
Split some things into more files and use bun namespace instead of import more
2023-01-13 11:27:16 -08:00
Jarred Sumner
85eda20587
Introduce Bun.CryptoHasher
2022-12-29 06:05:43 -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
Dylan Conway
0a30bf0212
make sure to not use incomplete characters ( #1575 )
2022-12-03 02:59:17 -08:00
Jarred Sumner
b631ea7d72
import everything from "bun" where possible
2022-11-29 02:42:56 -08:00
Jarred Sumner
4ee11d922c
Cleanup some of the encoding code
2022-11-27 22:09:56 -08:00
Jarred Sumner
af3931371e
Fix Buffer.from(text, "base64") and Buffer.toString("base64")
2022-11-08 21:30:54 -08:00
Jarred Sumner
1604666988
20% faster TextDecoder on small inputs
2022-11-08 12:55:45 -08:00
Carter Snook
0bfd00e734
feat(core): optimize zig slice ( #1408 )
...
* feat(core): optimize zig slice
* address concerns
2022-10-27 21:25:32 -07:00
Jarred Sumner
7060008b83
Treat invalid buffer value as utf8 string
2022-10-21 22:53:32 -07:00
Jarred Sumner
ac72f28fc8
Fix body mixin
2022-09-30 20:38:25 -07:00
Zilin Zhu
2dc07d7505
Fix failing Buffer tests ( #1197 )
2022-09-01 23:11:09 -07:00
Zilin Zhu
700c31dd13
Add native StringDecoder ( #1188 )
...
* Add native StringDecoder
* fix upon reviews
* add Constructor and use LazyClassStructure
2022-09-01 12:56:41 -07:00