David Sherret
7fdc3c8f1f
fix(compile/npm): ignore symlinks to non-existent paths in node_modules directory ( #21479 )
...
Part of https://github.com/denoland/deno/issues/21476
2023-12-06 16:25:24 -05:00
David Sherret
9bdc9e4ecb
fix(npm): do not create symlink for non-system optional dep in node_modules directory ( #21478 )
...
Closes https://github.com/denoland/deno/issues/21476
2023-12-06 14:24:00 -05:00
Yoshiya Hinosawa
f75eb12801
test(ext/node): compare free memory in log scale ( #21475 )
2023-12-07 00:32:39 +09:00
Jamie
8c0fb9003d
feat(ext/web): add ImageData Web API ( #21183 )
...
Fixes #19288
Adds the `ImageData` Web API.
This would be beneficial to projects using `ImageData` as a convenient
transport layer for pixel data. This is common in Web Assembly projects
that manipulate images. Having this global available in Deno would
improve compatibility of existing JS libraries.
**References**
- [MDN ImageData Web
API](https://developer.mozilla.org/en-US/docs/Web/API/ImageData )
- [whatwg HTML Standard Canvas
Spec](https://html.spec.whatwg.org/multipage/canvas.html#pixel-manipulation )
2023-12-06 14:20:28 +01:00
Yusuke Tanaka
dadd8b3d66
feat(ext/fetch): allow Deno.HttpClient
to be declared with using
( #21453 )
...
This commit adds a method of `Symbol.dispose` to the object returned
from `Deno.createHttpClient`, so we can make use of [explicit resource
management](https://github.com/tc39/proposal-explicit-resource-management )
by declaring it with `using`.
2023-12-06 16:52:59 +09:00
Bartek Iwańczuk
bd7a6bb016
chore: forward v1.38.5 release commit to main ( #21472 )
...
Co-authored-by: denobot <33910674+denobot@users.noreply.github.com>
2023-12-06 00:53:16 +00:00
Raashid Anwar
cac17267fb
fix(ext/kv): throw error if already closed ( #21459 )
...
If KV is closed and tries to listen queue should throw an error
closes #20991
2023-12-05 10:16:47 -08:00
Matt Mastracci
4a9f429501
refactor(cli): refactor bench/test for future module changes ( #21460 )
...
Extracting some refactorings for the module work that will land in
https://github.com/denoland/deno_core/pull/359/
2023-12-05 09:26:06 -07:00
Luca Casonato
74e39a927c
feat(unstable): kv.watch() ( #21147 )
...
This commit adds support for a new `kv.watch()` method that allows
watching for changes to a key-value pair. This is useful for cases
where you want to be notified when a key-value pair changes, but
don't want to have to poll for changes.
---------
Co-authored-by: losfair <zhy20000919@hotmail.com>
2023-12-05 21:21:46 +08:00
David Sherret
a24d3e8763
perf(node/fs): faster existsSync
when not exists ( #21458 )
2023-12-04 21:05:40 +00:00
Divy Srivastava
32438d25c3
fix(ext/node): sign with PEM private keys ( #21287 )
...
Add support for signing with a RSA PEM private key: `pkcs8` and `pkcs1`.
Fixes https://github.com/denoland/deno/issues/18972
Ref #21124
Verified fix with `npm:sshpk`. Unverfied but fixes
`npm:google-auth-library`, `npm:web-push` & `oracle/oci-typescript-sdk`
---------
Signed-off-by: Divy Srivastava <dj.srivastava23@gmail.com>
2023-12-03 09:58:13 +05:30
David Sherret
f29075ae4c
fix(node): setting process.exitCode should change exit code of process ( #21429 )
2023-12-02 16:03:37 +00:00
Asher Gomez
d2b5254c33
chore: update std to 0.208.0 ( #21318 )
...
Re-attempt at #21284 . I was more thorough this time.
---------
Signed-off-by: Asher Gomez <ashersaupingomez@gmail.com>
2023-12-02 03:20:06 +01:00
David Sherret
a1d823e27d
feat(compile): support discovering modules for more dynamic arguments ( #21381 )
...
This PR causes Deno to include more files in the graph based on how a
template literal looks that's provided to a dynamic import:
```ts
const file = await import(`./dir/${expr}`);
```
In this case, it will search the `dir` directory and descendant
directories for any .js/jsx/etc modules and include them in the graph.
To opt out of this behaviour, move the template literal to a separate
line:
```ts
const specifier = `./dir/${expr}`
const file = await import(specifier);
```
2023-12-01 20:12:10 +00:00
liruifengv
fc8f060ee3
fix(permissions): fix panics when revoking net permission ( #21388 )
...
fix #21385
2023-12-01 18:45:51 +01:00
Matt Mastracci
e6e708e46c
refactor: use resourceForReadableStream for fetch ( #20217 )
...
Switch `ext/fetch` over to `resourceForReadableStream` to simplify and
unify implementation with `ext/serve`. This allows us to work in Rust
with resources only.
Two additional changes made to `resourceForReadableStream` were
required:
- Add an optional length to `resourceForReadableStream` which translates
to `size_hint`
- Fix a bug where writing to a closed stream that was full would panic
2023-12-01 08:56:10 -07:00
Daniel Mizerski
687ae870d1
fix(ext/node): add stubbed process.report ( #21373 )
...
Co-authored-by: Yoshiya Hinosawa <stibium121@gmail.com>
2023-12-01 15:36:11 +09:00
Bartek Iwańczuk
fe90ba650d
refactor(lsp): log names ( #21413 )
...
This commit changes LSP log names by prefixing them, we now have these
prefixes:
- `lsp.*` - requests coming from the client
- `tsc.request.*` - requests coming from clients that are routed to TSC
- `tsc.op.*` - ops called by the TS host
- `tsc.host.*` - requests that call JavaScript runtime that runs
TypeScript compiler host
Additionall `Performance::mark` was split into `Performance::mark` and
`Performance::mark_with_args` to reduce verbosity of code and logs.
2023-12-01 03:54:59 +01:00
Raashid Anwar
ab755a07d8
feat(cron): added the support for json type schedule to cron api ( #21340 )
...
Added the support for JSON type schedule to cron API; previously it was string only.
fixes #21122
2023-11-30 13:51:56 -08:00
Yoshiya Hinosawa
3591ba8578
fix(ext/node): fix os.freemem ( #21347 )
2023-11-30 22:06:01 +09:00
Bartek Iwańczuk
6718be87c8
perf(lsp): add performance marks for TSC requests ( #21383 )
...
This should help us get a better picture where most of the time is spent
(the TSC or the surrounding Rust code).
2023-11-29 21:18:23 +00:00
Jakub Jirutka
ae327d0a83
build(cli): allow to build without upgrade feature ( #19910 )
...
The self-upgrade feature is undesirable when deno is installed from
(Linux) distribution repository - using a system package manager. This
change will allow package maintainers to build deno with the "upgrade"
subcommand and background check disabled.
When the user runs `deno upgrade <args>` and the upgrade feature is
disabled, it will exit with error message explaining that this deno
binary was built without the upgrade feature.
Note: This patch is already used in the Alpine Linux’s
[deno](https://pkgs.alpinelinux.org/packages?name=deno ) package.
2023-11-29 18:52:25 +00:00
David Sherret
9ac405d587
feat(compile): support "bring your own node_modules" in deno compile ( #21377 )
...
Not tested thoroughly. This is a good start.
Closes #21350
2023-11-29 09:32:23 -05:00
Yoshiya Hinosawa
e332fa4a83
fix(ext/node): add util.parseArgs ( #21342 )
2023-11-29 15:42:58 +09:00
Yoshiya Hinosawa
567d7ff923
fix(ext/node): fix Buffer.copy when sourceStart > source.length ( #21345 )
2023-11-28 22:28:07 +09:00
Yoshiya Hinosawa
4ed9278bf4
fix(ext/node): fix duplexify compatibility ( #21346 )
2023-11-28 12:14:57 +09:00
David Sherret
d4ef471744
fix(node): spawnSync
's status
was incorrect ( #21359 )
...
The exit code wasn't hooked up properly.
2023-11-27 19:54:01 -05:00
David Sherret
3e83d686a8
ci: make upgrade_lsp_repl_sleeps less flaky ( #21363 )
...
Makes this test less flaky by allowing way more time for the test to
occur in.
2023-11-27 23:12:17 +00:00
scarf
2b7e145e56
feat(fmt): support formatting code blocks in Jupyter notebooks ( #21310 )
2023-11-27 10:32:12 -05:00
David Sherret
a4ec7dfae0
feat(unstable): --unstable-unsafe-proto ( #21313 )
...
Closes https://github.com/denoland/deno/issues/21276
2023-11-25 11:41:21 -05:00
Yoshiya Hinosawa
7d8f0ae038
chore(ext/node): remove unnecessary test case ( #21337 )
...
This test case is covered by the last case in
5710fffb12/cli/tests/node_compat/test/parallel/test-stream2-transform.js
and not necessary anymore.
2023-11-25 12:20:47 +09:00
Yoshiya Hinosawa
5710fffb12
chore: update node_compat test suites to v18.18.2 ( #21328 )
2023-11-25 11:35:36 +09:00
David Sherret
60b5d32d90
fix(lsp): handle byonm specifiers in jupyter notebooks ( #21332 )
...
Part of https://github.com/denoland/deno/issues/21308
2023-11-24 17:35:33 -05:00
Bartek Iwańczuk
998d9061ef
chore: deflake unit_node/crypto/crypto_key_test.ts ( #21331 )
...
Ref https://github.com/denoland/deno/issues/21187
On CI we are going to run only fast tests, with an option to
pass `SLOW_TESTS=1` env var to enable more comprehensive tests.
2023-11-24 12:56:05 -07:00
David Sherret
d8961a9dfe
chore: fix upgrade_prompt test on main ( #21314 )
...
Issue was main does canary builds, which broke this test because it
didn't handle searching for a canary release. Tested by building as
canary locally.
2023-11-23 17:54:27 +00:00
David Sherret
eda3850f84
chore: add upgrade prompt integration test ( #21273 )
...
1. Adds an upgrade prompt integration test.
1. Adds a test for when the upgrade check takes a long time in the repl.
2023-11-23 16:20:40 +00:00
Yoshiya Hinosawa
bf42467e21
fix(ext/node): fix node:stream.Writable ( #21297 )
...
This change applies the same fix as
https://github.com/nodejs/node/pull/46818 , and the original example
given in #20456 works as expected.
closes #20456
2023-11-23 09:57:05 +09:00
Asher Gomez
616354e76c
refactor: replace deferred()
from std/async
with Promise.withResolvers()
( #21234 )
...
Closes #21041
---------
Signed-off-by: Asher Gomez <ashersaupingomez@gmail.com>
2023-11-22 12:11:20 +01:00
Bartek Iwańczuk
0ffcb46e0f
Revert "chore: update to std@0.207.0
( #21284 )" ( #21295 )
...
This reverts commit 20aa0796e6
.
`main` has been failing consistenly on `kv_undelivered_test` and
`serve_test` after this upgrade.
2023-11-22 04:13:56 +00:00
Bartek Iwańczuk
a8c24d2a8b
fix: 'Promise was collected' error in REPL/jupyter ( #21272 )
...
Fixes #20528
2023-11-22 03:45:34 +01:00
Asher Gomez
20aa0796e6
chore: update to std@0.207.0
( #21284 )
...
Closes #21002
2023-11-22 02:03:03 +01:00
David Sherret
1eefe3e42b
fix: Deno.noColor should not be true when NO_COLOR is empty string ( #21275 )
...
Closes https://github.com/denoland/deno/issues/21274
2023-11-20 15:58:22 -05:00
Divy Srivastava
c97a97240b
fix(ext/node): handle closing process.stdin more than once ( #21267 )
...
Fixes https://github.com/denoland/deno/issues/21112
Aligns more towards what Node.js does. Closing stdin more than once is a
nop.
2023-11-20 18:57:18 +05:30
Kenta Moriuchi
c806fbdabe
fix(ext,runtime): add missing custom inspections ( #21219 )
2023-11-19 09:13:38 +01:00
Matt Mastracci
679b7bb8fa
fix(ext/http): fix crash in dropped Deno.serve requests ( #21252 )
...
Fixes #21250
We were attempting to recycle dropped resource responses too early.
2023-11-18 13:16:53 -07:00
David Sherret
c213ad380f
chore: combine TestCommandBuilder
with DenoCmd
( #21248 )
2023-11-17 22:46:15 -05:00
Matt Mastracci
4a2d8c4bbd
chore: disable curl --http2 tests ( #21247 )
2023-11-18 02:08:16 +00:00
Matt Mastracci
23119fc1d4
test(cli): http test reliability fixes ( #21246 )
2023-11-17 16:19:00 -07:00
Florian Schwalm
20bf697ba6
chore(cli): Fix rename test for XFS ( #21215 )
...
Renaming a directory to a path where a non-empty directory already
exists was asserted to always fail with `ENOTEMPTY`
According to glibc manual the function may also fail with `EEXIST` on
"some other systems". One such case is using XFS [^1].
This commit handles the EEXIST case.
[^1]:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/fs/xfs/xfs_inode.c?h=v4.18&id=94710cac0ef4ee177a63b5227664b38c95bbf703#n3082
2023-11-17 15:24:10 -07:00
David Sherret
daab366b03
ci: fix flaky stdio_streams_are_locked_in_permission_prompt ( #21238 )
...
Part of #21187
2023-11-17 16:57:11 +00:00