Divy Srivastava
ed90e2baee
fix(ci): copyright year for console_test.ts ( #21787 )
...
Missed in
b2cd254c35 (diff-0c2dcdd1ce20382e6ddefe52956cf2f570f18063cf09067f8a7ca44abaf33122)
2024-01-04 20:34:55 +01:00
Kenta Moriuchi
ab60d9e6a3
fix: strict type check for cross realms ( #21669 )
...
Deno v1.39 introduces `vm.runInNewContext`. This may cause problems when
using `Object.prototype.isPrototypeOf` to check built-in types.
```js
import vm from "node:vm";
const err = new Error();
const crossErr = vm.runInNewContext(`new Error()`);
console.assert( !(crossErr instanceof Error) );
console.assert( Object.getPrototypeOf(err) !== Object.getPrototypeOf(crossErr) );
```
This PR changes to check using internal slots solves them.
---
current:
```
> import vm from "node:vm";
undefined
> vm.runInNewContext(`new Error("message")`)
Error {}
> vm.runInNewContext(`new Date("2018-12-10T02:26:59.002Z")`)
Date {}
```
this PR:
```
> import vm from "node:vm";
undefined
> vm.runInNewContext(`new Error("message")`)
Error: message
at <anonymous>:1:1
> vm.runInNewContext(`new Date("2018-12-10T02:26:59.002Z")`)
2018-12-10T02:26:59.002Z
```
---------
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2024-01-04 20:34:55 +01:00
David Sherret
f45cf71fde
fix(unstable/byonm): support using an import map with byonm ( #21786 )
...
Supports mixing an import map with byonm.
2024-01-04 20:34:55 +01:00
Divy Srivastava
9c4431758d
fix(ext/node): UdpSocket ref and unref ( #21777 )
2024-01-04 20:34:55 +01:00
nokazn
7f9d870cc0
fix(cli): respect exclude
option for deno check
command ( #21779 )
...
This PR fixes #21658 .
- `check` subcommand sees `exclude` option in `deno.json`. When some
paths passed with `check` command listed in `exclude`, they are ignored.
- When some files are listed in `exclude` and imported indirectly among
module graph, they are checked.
2024-01-04 20:34:55 +01:00
Matt Mastracci
5d7ebea99f
fix(cli): harden permission stdio check ( #21778 )
...
Harden the code that does permission checks to protect against
re-opening of stdin.
Code that runs FFI is vulnerable to an attack where fd 0 is closed
during a permission check and re-opened with a file that contains a
positive response (ie: `y` or `A`). While FFI code is dangerous in
general, we can make it more difficult for FFI-enabled code to bypass
additional permission checks.
- Checks to see if the underlying file for stdin has changed from the
start to the end of the permission check (detects races)
- Checks to see if the message is excessively long (lowering the window
for races)
- Checks to see if stdin and stderr are still terminals at the end of
the function (making races more difficult)
2024-01-04 20:34:54 +01:00
David Sherret
38dda38a3b
fix(jupyter): error message when install fails due to jupyter command not being on PATH ( #21767 )
...
We were failing silently in this scenario.
2024-01-04 20:34:54 +01:00
Matt Mastracci
cf148779f0
fix(cli): make signals tests more reliable ( #21772 )
...
Delivering POSIX signals too quickly may result in signal coalescing.
2024-01-04 20:34:54 +01:00
Jovi De Croock
53c876ffd3
fix(node/zlib): accept dataview and buffer in zlib bindings ( #21756 )
...
Fixes #20516
Follow up to #21747 and #21746
This tackles the last point of #20516 where certain inputs weren't
accepted in the other zlib methods
This adds the `toU8` conversion of `_brotli` to `_zlib.mjs`, when we
create the ZLibBuffer, we'll sanitize the input. I noticed that the
async had no handler for `string` input so I added that as well.
2024-01-04 20:34:54 +01:00
Nayeem Rahman
2d561a8cf3
chore: ignore hanging lsp jsx test ( #21771 )
2024-01-04 20:34:53 +01:00
Bartek Iwańczuk
2eb2d109ef
chore: upgrade deno_core to 0.241.0 ( #21765 )
2024-01-04 20:34:53 +01:00
Nayeem Rahman
04c9c6c1c6
feat(lsp): cache jsxImportSource automatically ( #21687 )
2024-01-04 20:34:53 +01:00
Bartek Iwańczuk
31318e9ae0
chore: increase unit test timeout to 3m ( #21760 )
...
Alternative to #21758 to fix timing out tests on Windows.
2024-01-04 20:34:53 +01:00
Divy Srivastava
551140e475
fix(ext/node): implement os.machine ( #21751 )
2024-01-04 20:34:52 +01:00
Divy Srivastava
4fa779f220
fix(ext/http): use arraybuffer binaryType for server websocket ( #21741 )
...
Ref
https://github.com/denoland/deno/issues/15340#issuecomment-1872353134
2024-01-04 20:34:52 +01:00
Divy Srivastava
eb8bf806b3
fix(ext/node): querystring stringify without encode callback ( #21740 )
...
Fixes https://github.com/denoland/deno/issues/21734
Changes:
- Use default encode when options do not provide a encode callback.
- Remove internal TS for `node:querystring`. Its not helping catching
bugs like this because of invalid type assumptions and use of `any`,
more of a maintenance burden.
2024-01-04 20:34:52 +01:00
Divy Srivastava
97604ef522
Revert "fix(runtime): Make native modal keyboard interaction consistent with browsers" ( #21739 )
...
Reverts denoland/deno#18453
Fixes https://github.com/denoland/deno/issues/21602
https://github.com/denoland/deno/issues/21631
https://github.com/denoland/deno/issues/21641
Reasons for revert:
- alert() and confirm() swallowed ^C with raw mode.
- prompt() did not re-raise the interrupt signal from rustyline.
- Default 'Y' on confirm() is a bad default and breaking change.
cc @lionel-rowe
2024-01-04 20:34:52 +01:00
林炳权
217b9ecb20
chore: update to Rust 1.75 ( #21731 )
2024-01-04 20:34:52 +01:00
David Sherret
21dd7f8a7f
chore: update copyright to 2024 ( #21753 )
2024-01-04 20:34:51 +01:00
Raashid Anwar
857cf1f154
fix(http_client): Fix Deno.createHttpClient to accept poolIdleTimeout parameter ( #21603 )
...
Fixed the bug `Deno.createHttpClient` to accept `poolIdleTimeout` parameter.
Fixes https://github.com/denoland/deno/issues/21546
2024-01-04 20:34:51 +01:00
Jovi De Croock
ce539e9189
fix(node/zlib): consistently return buffer ( #21747 )
...
This fixes point 3 of https://github.com/denoland/deno/issues/20516
This PR creates consistency between the sync and async versions of the
brotli compress where we will always return a buffer like Node.
2024-01-04 20:34:51 +01:00
Jovi De Croock
2319c51dc0
fix(node/zlib): cast Dataview and Buffer to uint8 ( #21746 )
...
This fixes point 2 of #20516
This adds a conversion from Dataview/Buffer by returning `obj.buffer`
which can be converted to a `UInt8Array`.
Question: Regarding point 4 of the mentioned issue would it be
appropriate to copy the toU8 helper to the `zlib.mjs` methods?
2024-01-04 20:34:51 +01:00
Joel Walker
a267225a17
fix: Object.groupBy
return type should be a partial ( #21680 )
...
Signed-off-by: Joel Walker <joelwalker1995@gmail.com>
2024-01-04 20:34:50 +01:00
Bartek Iwańczuk
f9df3833c7
chore: disable PTR_HOST dns test for Node compat ( #21735 )
...
These tests started failing on CI on Dec 28th, 2023 returning
ENOTFOUND. It's unclear what's going on, since `dig -x
8.8.8.8.in-addr.arpa`.
It needs a deeper investigation, but I want to unblock main branch
in the meantime.
2024-01-04 20:34:50 +01:00
Bartek Iwańczuk
b7f2bff5e3
fix(node): support nested tests in "node:test" ( #21717 )
...
Closes https://github.com/denoland/deno/issues/21679
2024-01-04 20:34:50 +01:00
Bartek Iwańczuk
53d33490b4
fix: allow npm: specifiers in import.meta.resolve ( #21716 )
...
Closes https://github.com/denoland/deno/issues/21298 .
"npm:" specifiers are matched against import map entries
and if no match is found they are passed through.
2024-01-04 20:34:50 +01:00
Divy Srivastava
2df2cd10d2
fix(node): Implement os.cpus() ( #21697 )
...
Fixes https://github.com/denoland/deno/issues/21666
Zero added dependency and tries to match the libuv implementation
2024-01-04 20:34:49 +01:00
Nayeem Rahman
730835498c
perf(lsp): use LanguageServiceHost::getProjectVersion() ( #21719 )
2024-01-04 20:34:49 +01:00
Bartek Iwańczuk
69cc117015
refactor: simplify hyper, http, h2 deps ( #21715 )
...
Main change is that:
- "hyper" has been renamed to "hyper_v014" to signal that it's legacy
- "hyper1" has been renamed to "hyper" and should be the default
2024-01-04 20:34:49 +01:00
Lino Le Van
5efae447a4
fix(ext/node): Implement aes-192-ecb
and aes-256-ecb
( #21710 )
2024-01-04 20:34:49 +01:00
Matt Mastracci
936d265f8a
perf: remove opAsync ( #21690 )
...
`opAsync` requires a lookup by name on each async call. This is a
mechanical translation of all opAsync calls to ensureFastOps.
The `opAsync` API on Deno.core will be removed at a later time.
2024-01-04 20:34:48 +01:00
Bartek Iwańczuk
69bb85ce0d
refactor: change cli/ to use hyper 1.1 ( #21705 )
2024-01-04 20:34:48 +01:00
Divy Srivastava
1149ec8848
fix(ext/node): add ClientRequest#setNoDelay ( #21694 )
...
Fixes https://github.com/denoland/deno/issues/18316
2024-01-04 20:34:47 +01:00
Heyang Zhou
b30dc11c4f
fix(unstable): kv watch should stop when db is closed ( #21665 )
...
Fixes #21634 .
2024-01-04 20:34:46 +01:00
Divy Srivastava
26cf06ed9f
fix(node): child_process kill cancel pending IPC reads ( #21647 )
2023-12-20 07:55:09 +05:30
Divy Srivastava
5aa27c45f1
fix(node): add crypto.pseudoRandomBytes ( #21649 )
2023-12-20 07:54:55 +05:30
Kenta Moriuchi
68241234fa
fix(console): inspect for {Set,Map}Iterator
and Weak{Set,Map}
( #21554 )
2023-12-19 15:05:49 +09:00
Bartek Iwańczuk
5b2caed7fd
fix(coverage): error if no files found ( #21615 )
...
This commit fixes a panic in `deno coverage` command if the file
to be covered doesn't produce any coverage data.
Fixes https://github.com/denoland/deno/issues/21580
2023-12-18 11:43:27 +01:00
Bartek Iwańczuk
a44a5de430
refactor: factor out cdp::ExceptionThrown notification ( #21623 )
...
Just removing some duplicated code.
2023-12-18 11:43:02 +01:00
Raashid Anwar
9ede8d7b69
fix(bench): added group banner to bench output. ( #21551 )
...
Added group banner to bench output.
---------
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2023-12-17 22:57:14 +00:00
Bartek Iwańczuk
62e3f5060e
refactor: check if scope and package exist before publish ( #21575 )
...
Signed-off-by: Bartek Iwańczuk <biwanczuk@gmail.com>
Co-authored-by: Luca Casonato <lucacasonato@yahoo.com>
2023-12-15 10:27:10 +00:00
David Sherret
ac04787c30
fix(node): support resolving a package.json import to a builtin node module ( #21576 )
...
Closes https://github.com/denoland/deno/issues/21501
2023-12-14 15:09:05 +00:00
Divy Srivastava
5ace65485f
fix(node): return false from vm.isContext ( #21568 )
...
https://github.com/denoland/deno/issues/20851#issuecomment-1779226106
for `jsdom`
2023-12-14 10:19:50 +00:00
Divy Srivastava
38002ffdd7
fix(zlib): handle no flush flag in handle_.write ( #21432 )
...
Fixes https://github.com/denoland/deno/issues/21096
2023-12-13 09:58:56 -07:00
Heyang Zhou
10ab8c1ef1
feat(unstable): append commit versionstamp to key ( #21556 )
2023-12-14 00:58:20 +08:00
Matt Mastracci
76a6ea5775
refactor(cli): update to new deno_core promise/call methods ( #21519 )
2023-12-13 08:07:26 -07:00
Divy Srivastava
461ef6bdd8
fix(websockets): server socket field initialization ( #21433 )
2023-12-13 14:21:34 +00:00
lionel-rowe
346d812709
fix(runtime): Make native modal keyboard interaction consistent with browsers ( #18453 )
...
Fixes https://github.com/denoland/deno/issues/18223 .
Fixes https://github.com/denoland/deno/issues/21477
---------
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
Co-authored-by: David Sherret <dsherret@gmail.com>
2023-12-13 11:31:12 +01:00
Divy Srivastava
5a91a065b8
fix: implement child_process IPC ( #21490 )
...
This PR implements the Node child_process IPC functionality in Deno on
Unix systems.
For `fd > 2` a duplex unix pipe is set up between the parent and child
processes. Currently implements data passing via the channel in the JSON
serialization format.
2023-12-13 11:14:16 +01:00
Bartek Iwańczuk
bbf8f69cb9
test: integration tests for tarring/unfurling ( #21544 )
2023-12-13 11:00:45 +01:00