Commit Graph

81 Commits

Author SHA1 Message Date
Jarred Sumner
19054ebc35 [napi] Implement node_api_create_syntax_error, node_api_symbol_for, node_api_throw_syntax_error
These were marked as experimental
2023-08-19 18:34:56 -07:00
Jarred Sumner
507761b463 Fix crash impacting sharp & resvg (#4221)
Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
2023-08-19 18:17:16 -07:00
Jarred Sumner
1db119ec11 Fix memory leak (#3887)
* Fix memory leak

* Remove an extra copy

* Further fixes

---------

Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
2023-07-30 02:03:32 -07:00
Jarred Sumner
c6a3467625 Unified event loop (#3741)
* Unified event loop

* Update WebKit, add test for es-module-lexer

* Update README.md

* Use async wasm

* Explicitly set whether concurrenttask should be deinit'd

* Update package.json

---------

Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
2023-07-22 04:31:58 -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
a76b07a802 cleanup 2023-07-04 01:18:13 -07:00
Jarred SUmner
33bc507f74 Fix napi 2023-07-04 01:04:18 -07:00
Jarred Sumner
b26b0d886c Fix napi bug 2023-07-03 15:57:10 -07:00
Jarred Sumner
983039a18a Fixes #3508 2023-07-03 13:16:57 -07:00
Jarred Sumner
f00e2be548 Use BunString in SystemError (#3485)
* Use `BunString` in SystemError

* Use Bun::toStringRef when we will de-ref strings

* Move `napi_create_error` to C++ to support `code` being a Symbol potentially

* Update blob.zig

* Make this test less flaky

---------

Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
2023-07-01 17:37:44 -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
Ciro Spaciari
51846d0277 [napi] some fixes for prisma (#3176)
* patch create object, so it can be used on wrap

* cleanup

* cleanup

* dont override napiRef

* make wrap strong ref

* workaround tests

* remove work around
2023-06-02 17:56:16 -07:00
Jarred Sumner
0f2a79b9c1 Fix crash in test.todo + remove JSC C API usages in bun:test (#3079)
* Fix crash in test.todo

* remove usages of JSC C API in bun:test

* Remove additional JSC-C API usages

* fix `make headers`

* URLSearchParams.length

* FormData length

* URLSearchParams length

* Fix `make headers`

* very fancy length

* Fix bug with exceptions being ignored sometimes

* Add tests for extension toHaveLength

---------

Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
2023-05-26 03:32:28 -07:00
Jarred Sumner
f95a81e05d [napi] Fix crash in napi_create_external_buffer
This impacted LightningCSS when garbage collection ran. cc @devongovett
2023-05-05 17:16:47 -07:00
Jarred Sumner
4be3548829 add to symbols.txt 2023-04-30 00:55:09 -07:00
Jarred Sumner
229f5f7770 Export 4 missing napi symbols on macOS 2023-04-29 16:04:08 -07:00
Jarred Sumner
ea47ed0ee5 Fix broken autocomplete 2023-04-19 00:01:27 -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
ce01a31e94 [napi] Fix crash in creating arrays > 8 elements long 2023-02-16 03:11:22 -08:00
Jarred Sumner
49cd122bda Add more logging to napi 2023-02-15 18:08:31 -08:00
Jarred Sumner
1125728097 Incorrect implementation of napi_create_threadsafe_function 2023-02-15 18:08:31 -08:00
Jarred Sumner
e860e12be5 don't return an error there 2023-02-15 03:28:35 -08:00
Jarred Sumner
ad0bee532c Fix cast 2023-02-15 03:18:54 -08:00
Derrick Farris
739de2c9cd feat(napi): add napi_get_value_bigint_words (#2061)
* feat(napi): add `napi_get_value_bigint_words`

* fix(napi): handle `napi_get_value_bigint_words` arr too small
2023-02-13 03:07:18 -08:00
Derrick Farris
9eba1e0e3f [WIP] feat(napi): add napi-fatal-exception (#2054)
* feat(napi): add `napi-fatal-exception`

* fix(napi): fatal_exception - add symbol to list, don't optimize away
2023-02-11 20:20:25 -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
6f682c6369 Use more specific function 2023-01-24 03:03:57 -08:00
Jarred Sumner
05b1ce39d2 Faster string length in napi 2023-01-24 03:03:44 -08:00
Jarred Sumner
6cf87d022f [napi] Clean up some string handling code 2023-01-24 02:59:51 -08:00
Jarred Sumner
aa456805dd [napi] Handle missing description in napi_create_symbol 2023-01-23 15:09:18 -08:00
Jarred Sumner
d54e23ca33 [napi] Fix potential crash in napi_create_buffer_copy, napi_create_buffer 2023-01-16 15:48:14 -08:00
Jarred Sumner
83a5c9f3da [internal] Fix checking for Error object 2023-01-08 07:37:51 -08:00
Jarred Sumner
8dc811e4aa Add missing null check
Fixes https://github.com/oven-sh/bun/issues/1739

probably
2023-01-06 16:41:34 -08:00
Jarred Sumner
f191993c8f Clean up some napi code 2023-01-05 14:49:41 -08:00
Jarred Sumner
59639ba654 Fixes #1733 2023-01-05 14:06:27 -08:00
Jarred Sumner
f79301c620 Implement napi_make_callback 2023-01-03 12:36:56 -08:00
Jarred Sumner
4ae33cbf45 Stub out missing napi functions and include error message 2023-01-03 10:55:13 -08:00
Jarred Sumner
59655d0587 Fix spec issue with napi_get_typedarray_info 2023-01-03 10:32:22 -08:00
Alex Lam S.L
8a29c64302 clean up Promise handling (#1697) 2023-01-01 16:37:45 -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
1bdb4b2466 [napi] Fix assertion failure when argv is null 2022-12-17 12:26:19 -08:00
Jarred Sumner
01ed3045cb [napi] Implement napi_create_bigint_words
warning: not tested
2022-12-16 00:40:08 -08:00
Jarred Sumner
b631ea7d72 import everything from "bun" where possible 2022-11-29 02:42:56 -08:00
Jarred Sumner
68b55cd855 Implement a singleton version of napi_get_instance_data and napi_set_instance_data
Still need to figure out how to do this without adding a layer of indirection to the global object as exposed to NAPI Addons

This code is not tested
2022-11-19 01:18:58 -08:00
Dylan Conway
43b4e1b67b bun test matchers and tests (#1526)
* ignore webkit for cherry-pick

* toContain and toBeTruthy

* toBe null, undefined, falsy, toHaveProperty, .not

* markBindings

* remove toHaveProperty, undo ignore webkit, more tests

* undo ignore webkit

* remove bad tests

* check if length property exists for toHaveLength()

* fix call signature

* handle argument that is not an integer

* getLengthOfArray returns u64

* switch to truncate

* toHaveLength() edge cases

* add toBooleanSlow()

* infinity, nan, negative
2022-11-18 23:03:39 -08:00
Jarred Sumner
f3fb712051 Fix crash in process.env.FOO = bar that happened sometimes 2022-11-18 03:47:10 -08:00
Jarred Sumner
dddbce8a41 Implement napi_create_external and napi_get_value_external 2022-11-10 15:05:23 -08:00
Jarred Sumner
1b1b96aff8 add more logging 2022-10-15 21:01:50 -07:00
Jarred Sumner
9050e6ee87 Use PollRef in napi 2022-09-30 01:04:20 -07:00