0
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2025-03-11 14:47:26 -04:00
Commit graph

787 commits

Author SHA1 Message Date
Divy Srivastava
7f65a5d58a
chore(ext/webidl): Add dictionary converter microbenchmark (#17435)
This commits add a `webidl.createDictionaryConverter` converter
microbenchmark.

There are 2 PRs currently open that need a microbenchmark for webidl
dictionary converter. See https://github.com/denoland/deno/pull/16594
and https://github.com/denoland/deno/pull/16407

Closes https://github.com/denoland/deno/issues/17436
2023-01-16 21:35:23 +01:00
Garcia
a4d50f8075
fix(ext/ffi): use SafeMap in getTypeSizeAndAlignment (#17305) 2023-01-16 21:35:23 +01:00
Isaiah Gamble
2df72a6e54
fix(ext/flash): Fix panic when JS caller doesn't consume request body (#16173)
If the JS handler gets a POST, PUT, or PATCH request, but doesn't
`await` the body, deno would panic because it will try to read the body
even though the request has already been handled.

Not sure how/where to test this case, so I could use some help with
that.
2023-01-16 21:35:23 +01:00
Geert-Jan Zwiers
183305c05e
fix(ext/fetch): remove Response.trailer from types (#17284) 2023-01-16 21:35:01 +01:00
Kenta Moriuchi
ac056e0aa6
fix(core): Add Generator and AsyncGenerator to promordials (#17241) 2023-01-16 21:35:00 +01:00
Divy Srivastava
9be8f61f52
chore: use rustfmt imports_granularity option (#17421)
Closes https://github.com/denoland/deno/issues/2699
Closes https://github.com/denoland/deno/issues/2347

Uses unstable rustfmt features. Since dprint invokes `rustfmt` we do not
need to switch the cargo toolchain to nightly. Do we care about
formatting stability of our codebase across Rust versions? (I don't)
2023-01-16 21:35:00 +01:00
Isaiah Gamble
d731f1bf35
fix(ext/fetch) Fix request clone error in flash server (#16174) 2023-01-16 21:35:00 +01:00
Yiyu Lin
e989882162
refactor: clean up unwrap and clone (#17282)
Co-authored-by: Divy Srivastava <dj.srivastava23@gmail.com>
2023-01-16 21:35:00 +01:00
Bartek Iwańczuk
e4ca366c88
fix(napi): functions related to errors (#17370)
This commits fixes various NAPI functions related to creation and
throwing of errors.
2023-01-16 21:34:39 +01:00
Kamil Ogórek
5208a4a36a
fix(ext/flash): Fix typo in 'chunked' flash ops (#17302)
Just a `s/chuncked/chunked/g`.
2023-01-16 21:34:39 +01:00
Kamil Ogórek
4cc9e2e325
fix(ext/flash): Correctly handle errors for chunked responses (#17303)
The leading cause of the problem was that `handleResponse` has
`tryRespondChunked` passed as an argument, which in turn is implemented
as a call to `core.ops.op_try_flash_respond_chuncked`, that throws in
the repro code.

`handleResponse` was not handled correctly, as it not returned any
value, and had no `catch` attached to it.
It also effectively was never correctly handled inside two other blocks
with `resp.then` and `PromisePrototypeCatch(PromisePrototypeThen(resp,
"..."))` as well, as it just short-circuited the promise with an empty
resolve, instead of relying on the last `(async () => {})` block.

This change makes `handleResponse` return a correct value and attach
`onError` handler to the "non-thenable" variant of response handling
code.
2023-01-16 21:34:15 +01:00
Kiryl Dziamura
c7bff76c41
fix(npm): use original node regex in npm resolution (#17404)
Fixes regex for matching conditional exports in a package.
Updated to the same regex Node.js uses.
2023-01-16 21:33:12 +01:00
Bartek Iwańczuk
d464df3a25
fix(napi): allow cleanup hook to remove itself (#17402)
This commit fixes "cleanup hooks" in NAPI integration in two ways:
- don't hold to RefCell's borrow while iterating over hooks
- allow a hook to remove itself when being called
2023-01-16 21:32:01 +01:00
denobot
9806dcc914
1.29.3 (#17395)
Co-authored-by: David Sherret <dsherret@users.noreply.github.com>
2023-01-13 12:17:13 -05:00
Yiyu Lin
3f270c1760 chore: add copyright_checker tool and add the missing copyright (#17285) 2023-01-13 11:20:20 -05:00
Leo Kettmeir
95d4fb624f fix(webidl): properly implement setlike (#17363) 2023-01-13 11:20:18 -05:00
Divy Srivastava
5a01dbf43f fix(napi): Implement napi_threadsafe_function ref and unref (#17304)
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2023-01-13 11:20:17 -05:00
Leo Kettmeir
b851b3ab74 fix: check if BroadcastChannel is open before sending (#17366)
Fixes #16978
2023-01-13 11:20:17 -05:00
Leo Kettmeir
32e9299e32 fix: don't panic on resolveDns if unsupported record type is specified (#17336)
Fixes #14373
2023-01-13 11:20:15 -05:00
Bartek Iwańczuk
b34a87a110 fix(napi): support for env cleanup hooks (#17324)
This commit adds support for "napi_add_env_cleanup_hook" and
"napi_remove_env_cleanup_hook" function for Node-API.
2023-01-13 11:20:14 -05:00
Bartek Iwańczuk
aa79603674 fix(napi): handle static properties in classes (#17320)
Adds support for static properties when using "napi_define_class".
2023-01-13 11:20:14 -05:00
Bartek Iwańczuk
1c2db072b5 fix(npm): allow to read package.json if permissions are granted (#17209)
This commit changes signature of "deno_core::ModuleLoader::resolve" to pass
an enum indicating whether or not we're resolving a specifier for dynamic import.

Additionally "CliModuleLoader" was changes to store both "parent permissions" (or
"root permissions") as well as "dynamic permissions" that allow to check for permissions
in top-level module load an dynamic imports.

Then all code paths that have anything to do with Node/npm compat are now checking
for permissions which are passed from module loader instance associated with given
worker.
2023-01-13 11:20:14 -05:00
Marcos Casagrande
49b5ac947f fix(ext/web/streams): fix ReadableStream asyncIterator (#16276) 2023-01-13 11:20:14 -05:00
Leo Kettmeir
deefb3b40b feat(core): allow specifying name and dependencies of an Extension (#17301) 2023-01-13 11:20:13 -05:00
Dj
11b1e901ad feat(ext/ffi): structs by value (#15060)
Adds support for passing and returning structs as buffers to FFI. This does not implement fastapi support for structs. Needed for certain system APIs such as AppKit on macOS.
2023-01-13 11:20:13 -05:00
David Sherret
ab07129ee7 fix(npm): handle declaration file resolution where packages incorrectly define "types" last in "exports" (#17290)
Closes #17279
2023-01-13 11:20:12 -05:00
Kenta Moriuchi
32d66b7425 perf(ext,runtime): remove using SafeArrayIterator from for-of (#17255) 2023-01-13 11:20:11 -05:00
Yiyu Lin
b72d244bbd refactor(cli,core,ext,rt): remove some unnecessary clone or malloc (#17274) 2023-01-13 11:20:11 -05:00
denobot
14c4c8f934
1.29.2 (#17276)
Co-authored-by: bartlomieju <bartlomieju@users.noreply.github.com>
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2023-01-05 14:37:23 +01:00
David Sherret
f1ff5edc42
fix: upgrade deno_ast to 0.23 (#17269)
Closes #17172
Closes #15669
Closes #8529
2023-01-05 13:06:22 +01:00
Yiyu Lin
d5ed8a0a9f
chore(cli,ext,rt): remove some unnecessary clone or malloc (#17261) 2023-01-05 13:06:22 +01:00
David Sherret
2fee8394a9
chore: update copyright year to 2023 (#17247)
Yearly tradition of creating extra noise in git.
2023-01-05 13:05:49 +01:00
Kamil Ogórek
5c9e7662d7
fix(ext/net): Remove unstable check from op_node_unstable_net_listen_udp (#17207)
The whole point of creating this alternative operation was to allow
usage in node, without `--unstable` flag.
Introduced and I believe missed in
https://github.com/denoland/deno/pull/16520/
2023-01-05 13:05:48 +01:00
Bartek Iwańczuk
2b15b07753
feat(unstable): Add Deno.Conn.ref()/unref() (#17170)
This commit adds "Deno.Conn.ref()" and "Deno.Conn.unref()" methods.

These methods can be used to make connection block or not block the
event loop from finishing. Refing/unrefing only influences "read" 
operations - ie. scheduling writes to a connection _do_ keep event 
loop alive.

Required for https://github.com/denoland/deno/issues/16710
2023-01-05 13:05:48 +01:00
Kamil Ogórek
36a936c5aa
fix(ext/fetch): Guard against invalid URL before its used by reqwest (#17164) 2023-01-05 13:05:16 +01:00
Kenta Moriuchi
b1cee59fcb
fix(ext): Add checks for owning properties in for-in loops (#17139)
In the for-in loops, there were a few places where we forgot to check if
objects owned some properties, so I added them.
2023-01-05 13:05:16 +01:00
Ryan Dahl
a26cd4d073
chore: bump deno_fetch and deno_http versions (#17124)
https://github.com/denoland/deno/pull/17081
https://github.com/denoland/deno/pull/17126
2023-01-05 13:04:39 +01:00
Luca Casonato
9cd9a68b00
fix(ext/http): close stream on resp body error (#17126)
Previously, errored streaming response bodies did not cause the HTTP
stream to be aborted. It instead caused the stream to be closed gracefully,
which had the result that the client could not detect the difference
between a successful response and an errored response.

This commit fixes the issue by aborting the stream on error.
2023-01-05 13:04:38 +01:00
Kenta Moriuchi
60b0deb726
chore: Update dlint (#17031)
Introduces `SafeSetIterator` and `SafeMapIterator` to primordials
2023-01-05 13:04:38 +01:00
Leo Kettmeir
69997a9ae2
fix: display URL in invalid URL error (#17128) 2023-01-05 13:04:37 +01:00
Bartek Iwańczuk
8df1210b63
fix(npm): conditional exports with --node-modules-dir (#17111)
This commit fixes conditional exports in `require()` implementation
if `--node-modules-dir` flag is used.
2023-01-05 13:04:00 +01:00
Luca Casonato
c059c12a1e
fix(ext/fetch): handle errors in req body stream (#17081)
Right now an error in a request body stream causes an uncatchable
global promise rejection. This PR fixes this to instead propagate the
error correctly into the promise returned from `fetch`.

It additionally fixes errored readable stream bodies being treated as
successfully completed bodies by Rust.
2023-01-05 13:03:42 +01:00
linbingquan
eb27ea6c58
chore: update to Rust 1.66.0 (#17078) 2023-01-05 13:03:11 +01:00
Bartek Iwańczuk
bd8d529d54
fix(npm): fix require resolution if using --node-modules-dir (#17087)
In our `require()` implementation we use a special logic to resolve
"base path" when looking for matching packages, however this logic
is in contradiction to what needs to happen if there's a local
"node_modules"
directory used. This commit changes require implementation to be aware
if we're running off of global node modules cache or a local one.
2023-01-05 13:03:10 +01:00
David Sherret
98e7c91be4
fix(npm): improve exports resolution when type checking (#17071)
Closes #17012
2023-01-05 13:02:42 +01:00
denobot
145013ab7f
1.29.1 (#17064)
Co-authored-by: dsherret <dsherret@users.noreply.github.com>
2022-12-15 11:32:14 -05:00
Bartek Iwańczuk
585ec1218f
Revert "feat(ops): Fast zero copy string arguments (#16777)" (#17063)
This reverts commit 9b2b8df927.

Closes https://github.com/dsherret/ts-morph/issues/1372
Closes https://github.com/denoland/deno/issues/16979
2022-12-15 15:26:10 +00:00
denobot
0d4e4af7ac
1.29.0 (#17052)
Co-authored-by: bartlomieju <bartlomieju@users.noreply.github.com>
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2022-12-15 00:22:54 +01:00
Bartek Iwańczuk
f9db129bdf
feat: Stabilize Deno.TcpConn.setNoDelay() and Deno.TcpConn.setKeepAlive() (#17003)
This commit stabilizes following APIs:
- `Deno.TcpConn.setNoDelay()`
- `Deno.TcpConn.setKeepAlive()`
2022-12-14 00:54:11 +01:00
Divy Srivastava
ac4b5de656
feat(napi): improve napi coverage (#16198) 2022-12-13 19:56:53 +05:30