summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-10-29Revert "fix(ext/node): fix dns.lookup result ordering (#26264)" (#26621)Yoshiya Hinosawa
This reverts commit d59599fc187c559ee231882773e1c5a2b932fc3d. Closes #26588
2024-10-29fix(ext/napi): export dynamic symbols list for {Free,Open}BSD (#26605)Volker Schlecht
The two BSD ports are reusing the Linux code here.
2024-10-29fix(ext/node): compatibility with {Free,Open}BSD (#26604)Volker Schlecht
Ports for both BSDs contain patches to the same effect. See https://github.com/freebsd/freebsd-ports/blob/main/www/deno/files/patch-ext_node_ops_fs.rs and https://github.com/openbsd/ports/blob/8644910cae24458306b6a7c4ef4ef7811bc3d1f5/lang/deno/patches/patch-ext_node_ops_fs_rs
2024-10-29refactor(init): inline routing in deno init --serve template (#26595)Yoshiya Hinosawa
2024-10-29Revert "fix(ext/node): use primordials in `ext/node/polyfills/https.ts` ↵Bartek Iwańczuk
(#26323)" (#26613) …s` (#26323)" This reverts commit afb33b3c2597c9ec943f71218b236486fbc86e23. Reverting because it caused a regression - https://github.com/denoland/deno/issues/26612. Closes https://github.com/denoland/deno/issues/26612.
2024-10-29fix: provide hints in terminal errors for Node.js globals (#26610)Bartek Iwańczuk
Add info/hint for terminal errors related to Node.js globals: - __filename - __dirname - Buffer - global - setImmediate - clearImmediate Closes https://github.com/denoland/deno/issues/17494
2024-10-28fix(check): expose more globals from @types/node (#26603)David Sherret
Extracted out of https://github.com/denoland/deno/pull/26558 Closes https://github.com/denoland/deno/issues/26578
2024-10-28fix: report exceptions from nextTick (#26579)snek
Fixes: https://github.com/denoland/deno/issues/24713 Fixes: https://github.com/denoland/deno/issues/25855
2024-10-28fix(compile): regression handling redirects (#26586)David Sherret
Closes https://github.com/denoland/deno/issues/26583
2024-10-28fix(npm): match npm bearer token generation (#26544)Marvin Hagemeister
Spend some time stepping through the npm client code and noticed that the bearer token was different from ours. They do some double encoding and @dsherret helped me in matching the encoding behavior. Fixes https://github.com/denoland/deno/issues/26033
2024-10-28fix: do not panic when failing to write to http cache (#26591)David Sherret
Closes https://github.com/denoland/deno/issues/26189 Closes https://github.com/denoland/deno/issues/26575
2024-10-27fix(ext/node): add path to `fs.stat` and `fs.statSync` error (#26037)familyboat
2024-10-27fix(watch): don't panic on invalid file specifiers (#26577)Bartek Iwańczuk
Removes an unwrap that falsely assumed the specifier is a valid file path. Fixes https://github.com/denoland/deno/issues/26209
2024-10-26docs(readme): Add winget instructions (#25136)Meir Blachman
Signed-off-by: Meir Blachman <meirblachman@gmail.com> Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2024-10-27fix(cli): Make --watcher CLEAR_SCREEN clear scrollback buffer as well as ↵Chris Veness
visible screen (#25997) The --watch option should clear the screen scrollback buffer as well as the screen itself. On Ubuntu (22.04 Jammy) the 'clear' command generates "\x1B[H\x1B[2J\x1B[3J"; that is: - \E[H - cursor home - \E[2J - clear entire screen - \E[3J - clear entire screen & scrollback buffer. By contrast, Deno defined CLEAR_SCREEN as "\x1B[2J\x1B[1;1H", which fails to clear the scrollback buffer. The "\E[H\E[2J\E[3J" sequence works on MacOS (Sonoma) (using printf); I'm not able to test on Windows. Closes https://github.com/denoland/deno/issues/26514
2024-10-26fix(ext/node): use primordials in ↵Mayank Kumar
ext\node\polyfills\internal\crypto\_randomInt.ts (#26534) Towards #24236
2024-10-26perf: pass transpiled module to deno_core as known string (#26555)David Sherret
2024-10-25fix(lsp): make missing import action fix infallible (#26539)Nayeem Rahman
2024-10-25fix(install): cache json exports of JSR packages (#26552)Nathan Whitaker
Fixes https://github.com/denoland/deno/issues/26509. Ended up being a `deno_graph` bug causing the error to surface. This PR updates `deno_graph` to pick up the fix and reverts the temporary workaround that skipped JSON exports.
2024-10-25fix(upgrade): stop running `deno lsp` processes on windows before attempting ↵David Sherret
to replace executable (#26542)
2024-10-25fix(check): ignore resolving `jsxImportSource` when jsx is not used in graph ↵David Sherret
(#26548)
2024-10-25fix(install): regression - do not panic when config file contains \r\n ↵David Sherret
newlines (#26547) This is specifically for `deno install`/`deno add` commands. * https://github.com/dprint/jsonc-parser/pull/49 Closes https://github.com/denoland/deno/issues/26543
2024-10-25feat(lsp): "typescript.preferences.preferTypeOnlyAutoImports" setting (#26546)Nayeem Rahman
2024-10-25chore: forward v2.0.3 commit to main (#26535)Bartek Iwańczuk
Forwarding v2.0.3 commit to `main` Co-authored-by: denobot <33910674+denobot@users.noreply.github.com> Co-authored-by: bartlomieju <bartlomieju@users.noreply.github.com>
2024-10-25build: use 'fs' feature of 'nix' crate in ext/fs (#26533)Bartek Iwańczuk
Hot-fix to unblock `v2.0.3` release
2024-10-24fix(install): don't cache json exports of JSR packages (for now) (#26530)Nathan Whitaker
Temporary fix for #26509, so people don't get errors.
2024-10-24chore: remove print debugging from test server (#26529)David Sherret
Accidentally added in https://github.com/denoland/deno/pull/26473/files
2024-10-25fix(ext/node): refactor http.ServerResponse into function class (#26210)Nicola Bovolato
While testing, I found out that light-my-request relies on `ServerResponse.connection`, which is deprecated, so I added that and `socket`, the non deprecated property. It also relies on an undocumented `_header` property, apparently for [raw header processing](https://github.com/fastify/light-my-request/blob/v6.1.0/lib/response.js#L180-L186). I added it as an empty string, feel free to provide other approaches. Fixes #19901 Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2024-10-24bench: remove http benchmarks (#26484)Bartek Iwańczuk
These benchmarks run on GitHub Actions and are extremely noisy, thus not providing much value.
2024-10-24fix: add 'fmt-component' to unstable features in schema file (#26526)Bartek Iwańczuk
Closes https://github.com/denoland/deno/issues/26510
2024-10-24perf(compile): pass module source data from binary directly to v8 (#26494)David Sherret
This changes denort to pass a static reference of the moude source bytes found in the binary to v8 instead of copying it.
2024-10-24fix(fmt): --ext flag requires to pass files (#26525)Bartek Iwańczuk
To avoid situations like described in https://github.com/denoland/deno/issues/26402 using `deno fmt` with `--ext` flag now requires to explicitly specify list of files (or globs) to format. Closes https://github.com/denoland/deno/issues/26402
2024-10-24fix: `.npmrc` settings not being passed to install/add command (#26473)Marvin Hagemeister
We weren't passing the resolved npmrc settings to the install commands. This lead us to always fall back to the default registry url instead of using the one from npmrc. Fixes https://github.com/denoland/deno/issues/26139 Fixes https://github.com/denoland/deno/issues/26033 Fixes https://github.com/denoland/deno/issues/25924 Fixes https://github.com/denoland/deno/issues/25822 Fixes https://github.com/denoland/deno/issues/26152 --------- Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2024-10-24refactor(ext/node): use concrete error types (#26419)Leo Kettmeir
2024-10-24Revert "fix(runtime): send ws ping frames from inspector server (#263… ↵Bartek Iwańczuk
(#26513)
2024-10-24fix(config): schemas for lint rule and tag autocompletion (#26515)Nayeem Rahman
2024-10-24fix(node/util): support array formats in `styleText` (#26507)Marvin Hagemeister
We missed adding support for an array of formats being passed to `util.styleText`. Fixes https://github.com/denoland/deno/issues/26496
2024-10-24feat: support node-api in denort (#26389)snek
exposes node-api symbols in denort so that `deno compile` can run native addons.
2024-10-24fix(ext/node): cancel pending ipc writes on channel close (#26504)Nathan Whitaker
Fixes the issue described in https://github.com/denoland/deno/issues/23882#issuecomment-2423316362. The parent was starting to send a message right before the process would exit, and the channel closed in the middle of the write. Unlike with reads, we weren't cancelling the pending writes, which resulted in a `Broken pipe` error surfacing to the user.
2024-10-23fix(ext/node): only set our end of child process pipe to nonblocking mode ↵Nathan Whitaker
(#26495) Fixes playwright on linux, as reported in https://github.com/denoland/deno/issues/16899#issuecomment-2378268454. The issue was that we were opening the socket in nonblocking mode, which meant that subprocesses trying to use it would get a `EWOULDBLOCK` error (unexpectedly). The fix here is to only set nonblocking mode on our end (which we need to use asynchronously)
2024-10-24fix(ext/ffi): return u64/i64 as bigints from nonblocking ffi calls (#26486)Divy Srivastava
Fixes https://github.com/denoland/deno/issues/25194
2024-10-23fix(install): cache all exports of JSR packages listed in `deno.json` (#26501)Nathan Whitaker
Fixes #26498. This was a sort of intentional decision originally, as I wanted to avoid caching extra files that may not be needed. It seems like that behavior is unintuitive, so I propose we cache all of the exports of listed jsr packages when you run a bare `deno install`.
2024-10-23fix(install): cache type only module deps in `deno install` (#26497)Nathan Whitaker
Fixes https://github.com/denoland/deno/issues/26180.
2024-10-23fix(node:tls): set TLSSocket.alpnProtocol for client connections (#26476)Satya Rohith
Towards https://github.com/denoland/deno/issues/26127
2024-10-23fix: share inotify fd across watchers (#26200)Divy Srivastava
Fixes https://github.com/denoland/deno/issues/26104 Fixes https://github.com/denoland/deno/issues/26071 Fixes https://github.com/denoland/deno/issues/17757
2024-10-23fix(ext/node): map `ERROR_INVALID_NAME` to `ENOENT` on windows (#26475)Yoshiya Hinosawa
In libuv on windows, `ERROR_INVALID_NAME` is mapped to `ENOENT`, but it is mapped to `EINVAL` in our compat implementation, which causes the issue #24899. ref: https://github.com/libuv/libuv/blob/d4ab6fbba4669935a6bc23645372dfe4ac29ab39/src/win/error.c#L138 closes #24899 closes #26411 closes #23635 closes #21165 closes #19067
2024-10-22fix(check): support `--frozen` on deno check (#26479)Nathan Whitaker
Fixes https://github.com/denoland/deno/issues/26391
2024-10-22refactor: add 'docs' suggestion (#26463)Bartek Iwańczuk
Adds another kind to `FixSuggestionKind` specifically for links documentation pages.
2024-10-22fix(cli): increase size of blocking task threadpool on windows (#26465)Nathan Whitaker
Fixes #26179. The original error reported in that issue is fixed on canary, but in local testing on my windows machine, `next build` would just hang forever. After some digging, what happens is that at some point in next build, readFile promises (from `fs/promises` ) just never resolve, and so next hangs. It turns out the issue is saturating tokio's blocking task thread pool. We previously limited the number of blocking threads to 32, and at some point those threads are all in use and there's no thread available for the file reads. What's taking up all of those threads? The answer turns out to be `tokio::process`. On windows, child process stdio uses the blocking threadpool: https://github.com/tokio-rs/tokio/pull/4824. When you poll the child's stdio on windows, it spawns a blocking task per poll, and calls `std::io::Read::read` in the blocking context. That call can block until data is available. Putting it all together, what happens is that Next.js spawns `2 * the number of CPU cores` deno child subprocesses to do work. We implement `child_process` with `tokio::process`. When the child processes' stdio get polled, blocking tasks get spawned, and those blocking tasks might block until data is available. So if you have 16 cores (as I do), there are going to be potentially >32 blocking task threadpool threads taken just by the child processes. That leaves no room for other tasks to make progress --- To fix this, for now, increase the size of the blocking threadpool on windows. 4 * the number of CPU cores should be enough to leave room for other tasks to make progress. Longer term, this can be fixed more properly when we handroll our own subprocess code (needed for detached processes and additional pipes on windows).
2024-10-22fix: unpin tokio version (#26457)Ronny Chan
Fixes https://github.com/denoland/deno/issues/26455 Signed-off-by: Ronny Chan <ronny.chan@okta.com>