summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-06-01chore(core): Update certs for WPT (#19351)Matt Mastracci
2023-06-01chore(ext/http): add env var to disable writev syscall (#19338)Bartek Iwańczuk
2023-06-01chore(node_compat): add deno task for setting up and running tests (#19293)Hirotaka Tagawa / wafuwafu13
2023-05-31refactor(core): don't pass op state to prepare_module_load() (#19332)Nayeem Rahman
It's not used anymore. Subsequently allows removing `ModuleMap::op_state`, allowing `ModuleMap` to have a sane default so `JsRuntime::module_map` no longer needs to be optional.
2023-05-31refactor(ext/http): Expose internal serveHttpOnListener API for HTTP2 (#19331)Matt Mastracci
For the first implementation of node:http2, we'll use the internal version of `Deno.serve` which allows us to listen on a raw TCP connection rather than a listener. This is mostly a refactoring, and hooking up of `op_http_serve_on` that was never previously exposed (but designed for this purpose).
2023-05-31fix(runtime): add missing SIGIOT alias to SIGABRT (#19333)Marvin Hagemeister
2023-05-31feat(runtime): Add example for extension with ops (#19204)Exidex
Spend quite some time trying to get this working. With proper example would have been a lot faster. So this is pr with the example. I also rearranged examples a little bit to allow for addition of more examples
2023-05-31chore(ext/node): Implement stubs for Http2Session (#19329)Matt Mastracci
Fleshes out all the stubs for `node:http2`.
2023-05-31refactor: further work on node http client (#19327)Leo Kettmeir
Closes https://github.com/denoland/deno/issues/18300
2023-05-31chore(core): Split JsRuntimeForSnapshot from JsRuntime (#19308)Matt Mastracci
This cleans up `JsRuntime` a bit more: * We no longer print cargo's rerun-if-changed messages in `JsRuntime` -- those are printed elsewhere * We no longer special case the OwnedIsolate for snapshots. Instead we make use of an inner object that has the `Drop` impl and allows us to `std::mem::forget` it if we need to extract the isolate for a snapshot * The `snapshot` method is only available on `JsRuntimeForSnapshot`, not `JsRuntime`. * `OpState` construction is slightly cleaner, though I'd still like to extract more --------- Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2023-05-31fix(node): add missing process.reallyExit method (#19326)Marvin Hagemeister
This PR adds the missing `process.reallyExit()` method to node's `process` object. Was [pinged on twitter](https://twitter.com/biwanczuk/status/1663326659787862017) regarding running the `fastify` test suite in node. They use `node-tap` which has been around arguably the longest of the test frameworks and relies on a couple of old APIs. They have `signal-exit` as a dependency which in turn [makes use of `process.reallyExit()`](https://github.com/tapjs/signal-exit/blob/8fa7fc9a9c63f559af43d292b7eb727901775507/src/index.ts#L19). That function cannot be found anywhere in their documentation, but exists at runtime. See https://github.com/nodejs/node/blob/6a6b3c54022104cc110ab09044a2a0cecb8988e7/lib/internal/bootstrap/node.js#L172 This doesn't yet make `node-tap` work, but gets us one step closer.
2023-05-30perf(ext/http): Add a sync phase to http serving (#19321)Matt Mastracci
Under heavy load, we often have requests queued up that don't need an async call to retrieve. We can use a fast path sync op to drain this set of ready requests, and then fall back to the async op once we run out of work. This is a .5-1% bump in req/s on an M2 mac. About 90% of the handlers go through this sync phase (based on a simple instrumentation that is not included in this PR) and skip the async machinery entirely.
2023-05-30ci: bump CI cache version on CLI version bump (#19318)David Sherret
Automatically bump the CI cache version
2023-05-30fix: do not show cache initialization errors if stderr is piped (#18920)David Sherret
Closes #18918
2023-05-30feat(runtime): add `WorkerLogLevel` (#19316)David Sherret
This is not really used yet, but provides some infrastructure for doing more fine grained logging in JS. I will add warn messages in a future PR.
2023-05-29chore: forward v1.34.1 to main (#19312)Bartek Iwańczuk
Co-authored-by: denobot <33910674+denobot@users.noreply.github.com> Co-authored-by: bartlomieju <bartlomieju@users.noreply.github.com>
2023-05-30pin enum-as-inner dependency (#19311)Bartek Iwańczuk
Ref https://github.com/bluejekyll/enum-as-inner/issues/98 Had to pin it during the release to publish crates.
2023-05-29fix: use proper ALPN protocols if HTTP client is HTTP/1.1 only (#19303)Bartek Iwańczuk
Closes https://github.com/denoland/deno/issues/16923 --------- Co-authored-by: crowlkats <crowlkats@toaxl.com> Co-authored-by: Matt Mastracci <matthew@mastracci.com>
2023-05-29test(ext/node): add os_test.ts (#19305)egg
Part of #17840 I haven't made any changes or additions to the tests themselves, just moved the tests over and updated to match. --------- Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2023-05-29fix(node): http.IncomingMessageForClient.complete (#19302)Bartek Iwańczuk
Closes https://github.com/denoland/deno/issues/19238
2023-05-28refactor(core): Refactor and re-organize code for easier maintenance (#19287)Matt Mastracci
Part of some work to refactor and decouple the various parts of core.
2023-05-28refactor(core): remove ext: modules from the module map (#19040)Nayeem Rahman
Rather than disallowing `ext:` resolution, clear the module map after initializing extensions so extension modules are anonymized. This operation is explicitly called in `deno_runtime`. Re-inject `node:` specifiers into the module map after doing this. Fixes #17717.
2023-05-28fix(ext/http): fix a possible memleak in Brotli (#19250)Levente Kurusa
We probably need to free the BrotliEncoderState once the stream has finished.
2023-05-28chore: maybe fix cli/standalone/virtual_fs tests on main (#19295)David Sherret
Not sure why these don't fail on a PR run: https://github.com/denoland/deno/actions/runs/5102317156/jobs/9171796164 **Merge on approval**
2023-05-28chore: fix flaky test_include_dir_recursive (#19291)David Sherret
Maybe fixes this on main.
2023-05-27fix(compile): inline symlinks as files outside node_modules dir and warn for ↵David Sherret
directories (#19285) If a symlink within the `node_modules` directory lies outside that directory, it will now warn and inline the file. For directories, it will just warn for now. Probably fixes #19251 (I'm still unable to reproduce).
2023-05-27refactor(node/http): don't use readablestream for writing to request (#19282)Leo Kettmeir
Refactors the internal usage of a readablestream to write to the resource directly --------- Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2023-05-26fix(compile): implicit read permission to npm vfs (#19281)David Sherret
Closes #19280
2023-05-26refactor(node): use internal io and fs APIs (#19267)Bartek Iwańczuk
2023-05-26chore: upgrade rusty_v8 to 0.73.0 (#19278)Bartek Iwańczuk
2023-05-26fix(node): make 'v8.setFlagsFromString' a noop (#19271)Bartek Iwańczuk
Towards https://github.com/denoland/deno/issues/16460
2023-05-26chore: remove useless benchmark (#19272)Bartek Iwańczuk
This benchmark is useless and only gives several hundred thousand messages of failure. --------- Co-authored-by: David Sherret <dsherret@gmail.com>
2023-05-26chore(lsp/tests): diagnostic synchronization (reland) (#19270)David Sherret
Merge on approval as it fixes the flaky test.
2023-05-26fix(napi): properly handle arguments in napi_get_cb_info (#19269)Bartek Iwańczuk
Closes https://github.com/denoland/deno/issues/17213
2023-05-26fix(napi): clear currently registering module slot (#19249)Bartek Iwańczuk
This commit fixes problem with loading N-API modules that use the "old" way of registration (using "napi_module_register" API). The slot was not cleared after loading modules, causing subsequent calls that use the new way of registration (using "napi_register_module_v1" API) to try and load the previous module. Ref https://github.com/denoland/deno/issues/16460 --------- Co-authored-by: Divy Srivastava <dj.srivastava23@gmail.com>
2023-05-26Revert "chore(lsp/tests): diagnostic synchronization (#19264)" (#19268)Bartek Iwańczuk
This reverts commit 89026abe395c22eb2ace4ea5f948189daa1dadf1. This change caused LSP benchmarks to fail on `main`.
2023-05-26chore(lsp/tests): diagnostic synchronization (#19264)David Sherret
Fixes the flaky lsp test by having better synchronization of diagnostics between the client and server for testing purposes.
2023-05-26chore(node_compat): fix broken link and typo (#19265)Hirotaka Tagawa / wafuwafu13
2023-05-25fix(compile): improve panic message when stripping root path fails (#19258)David Sherret
I'm not sure what's going on here, so this will help us debug. For #19251
2023-05-25fix(compile): handle when DENO_DIR is readonly (#19257)David Sherret
Closes #19253
2023-05-25fix: don't print release notes on version check prompt (#19252)Luca Casonato
2023-05-241.34.0 (#19246)denobot
Co-authored-by: bartlomieju <bartlomieju@users.noreply.github.com> Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2023-05-24fix(ext/node): ClientRequest.setTimeout(0) should remove listeners (#19240)Levente Kurusa
Co-authored-by: crowlkats <crowlkats@toaxl.com>
2023-05-24refactor: upgrade to deno_npm 0.6 (#19244)David Sherret
2023-05-24feat(ext/fs): add isBlockDevice, isCharDevice, isFifo, isSocket to FileInfo ↵Hirotaka Tagawa / wafuwafu13
(#19008) `isFile`, `isDirectory`, `isSymlink` are defined in `Deno.FileInfo`, but `isBlockDevice`, `isCharacterDevice`, `isFIFO`, `isSocket` are not defined. --------- Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2023-05-24refactor(core): store pending ops per realm (#19054)Bartek Iwańczuk
Dispatches op per-realm, and allows JsRealm to be garbage collected. Slight improvement to benchmarks, but opens opportunity to clean up event loop. --------- Co-authored-by: Matt Mastracci <matthew@mastracci.com>
2023-05-24fix(npm): create `node_modules/.deno/node_modules` folder (#19242)David Sherret
This is what pnpm does and we were missing it. It makes modules work which have a dependency on something, but don't say they have that dependency, but that dep is still in the tree somewhere.
2023-05-24chore(core): Ensure that net test ports aren't used elsewhere (#19243)Matt Mastracci
Fixes occasional test flake due to overlapping ports
2023-05-24feat(ext/http): Brotli Compression (#19216)Levente Kurusa
Add Brotli streaming compression to HTTP
2023-05-24fix(napi): add napi_async_init and napi_async_destroy (#19234)Bartek Iwańczuk
We don't have support for "AsyncContext" in "node:async_hooks" module, so these two APIs are just noops. Towards https://github.com/denoland/deno/issues/18610.