0
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-10-29 08:58:01 -04:00
Commit graph

5453 commits

Author SHA1 Message Date
denobot
172e5f0a0c
1.38.5 (#21469)
Bumped versions for 1.38.5

Co-authored-by: bartlomieju <bartlomieju@users.noreply.github.com>
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2023-12-05 23:37:06 +01:00
Luca Casonato
91cd0a2bef
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 22:11:40 +01:00
Nayeem Rahman
889e396b7e
perf(lsp): check tsc request cancellation before execution (#21447) 2023-12-05 22:11:40 +01:00
Nayeem Rahman
e71df60ea3
perf(lsp): fix redundant clones for ts responses (#21445) 2023-12-05 22:11:40 +01:00
Bartek Iwańczuk
b012c1692a
refactor: faster args for op_load in TSC (#21438)
This commit changes the argument that "op_load" accepts, from
a serde struct to "&str". This should equal to a slightly better
performance.
2023-12-05 22:11:40 +01:00
Nayeem Rahman
14e940256c
perf(lsp): fix redundant serialization of sources (#21435) 2023-12-05 22:11:40 +01:00
Bartek Iwańczuk
c5b5400154
perf(lsp): better op performance logging (#21423) 2023-12-05 22:11:40 +01:00
Bartek Iwańczuk
950b712dda
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-05 22:11:39 +01:00
denobot
8c07f52a7c
1.38.4 (#21398)
Bumped versions for 1.38.4

Co-authored-by: bartlomieju <bartlomieju@users.noreply.github.com>
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2023-11-30 20:12:13 +01:00
Bartek Iwańczuk
aee84aa7fe
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-30 18:32:49 +01:00
Nayeem Rahman
7327957a20
perf(lsp): avoid redundant getNavigationTree() calls (#21396) 2023-11-30 18:32:34 +01:00
Bartek Iwańczuk
98a6c21821
perf(lsp): remove throttling of cancellation token (#21395)
This commit removes "ThrottledCancellationToken" in favor of
"CancellationToken".

Since calling into Rust to check if Tokio's cancellation token has
already been canceled is really cheap, there's no need for us to 
throttle this check and let TSC burn up CPU with heavy computation.
2023-11-30 18:32:27 +01:00
Nayeem Rahman
58101fa904
perf(lsp): cancel ts requests on future drop (#21387)
When an old request is obsoleted while the user is typing, the client
will say so to the server and tower-lsp will drop the future associated
with that request.

This wires that up to the ts server by having any request's token be
cancelled when the surrounding state is dropped.
2023-11-30 18:32:18 +01:00
David Sherret
510863de7a
fix(node): spawnSync's status was incorrect (#21359)
The exit code wasn't hooked up properly.
2023-11-30 18:32:05 +01:00
denobot
3193e93912
1.38.3 (#21319) 2023-11-24 04:49:42 +01:00
Bartek Iwańczuk
870eb91957
feat(unstable): tar up directory with deno.json (#21228)
Co-authored-by: David Sherret <dsherret@gmail.com>
Co-authored-by: Luca Casonato <lucacasonato@yahoo.com>
Co-authored-by: Luca Casonato <hello@lcas.dev>
2023-11-24 03:06:45 +01:00
Matt Mastracci
9d30227d16
chore: start codesigning mac release builds (#21303)
- Adds a codesigning step to all mac targets
- Adds a new ci-full label to the build to force aarch64 builds on any
PR
2023-11-24 03:06:45 +01:00
David Sherret
93194b185c
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-24 03:05:27 +01:00
David Sherret
e2cd312c62
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-24 03:05:27 +01:00
Yoshiya Hinosawa
d0574f788c
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-24 03:05:27 +01:00
Asher Gomez
ff8739d05f
refactor: replace deferred() from std/async with Promise.withResolvers() (#21234)
Closes #21041

---------

Signed-off-by: Asher Gomez <ashersaupingomez@gmail.com>
2023-11-24 03:05:26 +01:00
Bartek Iwańczuk
f16d6e6cd8
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-24 03:05:26 +01:00
Nayeem Rahman
e7d2648faa
fix(lsp): force shutdown after a timeout (#21251) 2023-11-24 03:05:26 +01:00
Bartek Iwańczuk
cffdbe9d79
fix: 'Promise was collected' error in REPL/jupyter (#21272)
Fixes #20528
2023-11-24 03:05:26 +01:00
Asher Gomez
55eda68421
docs: update Deno.* deprecation notices (#21283)
This PR updates the deprecation notices to point to the same replacement
APIs that the Standard Library points to. I've also tweaked the notices
to be a little more presentable/navigatable.

In particular, a follow-up PR in std will be made that documents the use
of `toArrayBuffer()`.

Closes #21193
Towards #20976
2023-11-24 03:05:26 +01:00
Asher Gomez
503f661303
chore: update to std@0.207.0 (#21284)
Closes #21002
2023-11-24 03:05:09 +01:00
David Sherret
f5075d851c
fix(fmt): maintain parens for jsx in member expr (#21280)
Fix in
0b44991bb9

Closes https://github.com/denoland/deno/issues/21279
2023-11-24 03:05:08 +01:00
citrusmunch
bd03606935
docs(cli/args/flags.rs): Update dead link for run example (#21277)
The `deno run` example in the help output uses
https://deno.land/std/examples/welcome.ts which no longer exists.

Replacing with https://examples.deno.land/hello-world.ts

Signed-off-by: citrusmunch <citrusmunch@users.noreply.github.com>
2023-11-24 03:05:08 +01:00
David Sherret
3b022f3472
fix: Deno.noColor should not be true when NO_COLOR is empty string (#21275)
Closes https://github.com/denoland/deno/issues/21274
2023-11-24 03:05:08 +01:00
Divy Srivastava
b81757cc56
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-24 03:05:07 +01:00
Bartek Iwańczuk
1dd019651b
chore: update deno_doc to 0.73.3 (#21262)
Removes some unnecessary dependencies.
2023-11-24 03:05:07 +01:00
Jérôme Benoit
f02c09be49
docs: typo fixlet in worker type comment (#21268) 2023-11-24 03:03:27 +01:00
Kenta Moriuchi
5a9833c760
fix(ext,runtime): add missing custom inspections (#21219) 2023-11-24 03:03:27 +01:00
Matt Mastracci
45be896436
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-24 03:03:26 +01:00
David Sherret
e635d66f4a
chore: combine TestCommandBuilder with DenoCmd (#21248) 2023-11-24 03:03:26 +01:00
Matt Mastracci
6a9a09c6f5
chore: disable curl --http2 tests (#21247) 2023-11-24 03:03:26 +01:00
Matt Mastracci
9bc489d2d0
test(cli): http test reliability fixes (#21246) 2023-11-24 03:03:25 +01:00
Florian Schwalm
0223ff36f1
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-24 03:03:25 +01:00
David Sherret
9c39172f55
refactor(upgrade): add unit tests for lsp upgrade check (#21244) 2023-11-24 03:03:25 +01:00
Matt Mastracci
04054cd787
chore: make http benches more reliable to start (#21240) 2023-11-24 03:03:25 +01:00
Matt Mastracci
d39a7f4cc9
chore: fix and deflake cert store fetch tests (#21241) 2023-11-24 03:03:25 +01:00
David Sherret
f7a9f432ea
ci: fix flaky stdio_streams_are_locked_in_permission_prompt (#21238)
Part of #21187
2023-11-24 03:03:25 +01:00
林炳权
53951d703c
chore: update to Rust 1.74 (#21210)
Update to Rust 1.74
2023-11-24 03:03:25 +01:00
David Sherret
7496bd8b0c
chore: various improvements to tests (#21222) 2023-11-24 03:03:24 +01:00
denobot
d3fb7d1a48
1.38.2 (#21229) 2023-11-17 13:15:07 +09:00
Bartek Iwańczuk
2b31634d61
feat(unstable): Workspaces support (#20410)
This commit adds unstable workspace support. This is extremely
bare-bones and
minimal first-pass at this.

With this change `deno.json` supports specifying `workspaces` key, that
accepts a list of subdirectories. Each workspace can have its own import
map. It's required to specify a `"name"` and `"version"` properties in the
configuration file for the workspace:

```jsonc
// deno.json
{
  "workspaces": [
     "a",
     "b"
  },
  "imports": {
    "express": "npm:express@5"
   }
}
```
``` jsonc
// a/deno.json
{
  "name": "a",
  "version": "1.0.2",
  "imports": {
    "kleur": "npm:kleur"
  }
}
```
```jsonc
// b/deno.json
{
  "name": "b",
  "version": "0.51.0",
  "imports": {
    "chalk": "npm:chalk"
  }
}
```

`--unstable-workspaces` flag is required to use this feature:
```
$ deno run --unstable-workspaces mod.ts
```

---------

Co-authored-by: David Sherret <dsherret@gmail.com>
2023-11-17 11:30:53 +09:00
David Sherret
dcacdcd727
fix(doc): issue discovering re-exports of re-exports sometimes (#21223) 2023-11-17 11:30:49 +09:00
David Sherret
e95d5cc7dc
fix(npm): support cjs entrypoint in node_modules folder (#21224)
Closes #21109
2023-11-17 11:30:46 +09:00
Igor Zinkovsky
66c64ac511
feat(ext/cron) modify Deno.cron API to make handler arg last (#21225)
This PR changes the `Deno.cron` API:
* Marks the existing function as deprecated
* Introduces 2 new overloads, where the handler arg is always last:
```ts
Deno.cron(
  name: string,
  schedule: string,
  handler: () => Promise<void> | void,
)

Deno.cron(
  name: string,
  schedule: string,
  options?: { backoffSchedule?: number[]; signal?: AbortSignal },
  handler: () => Promise<void> | void,
)
```

This PR also fixes a bug, when other crons continue execution after one
of the crons was closed using `signal`.
2023-11-17 11:30:43 +09:00
Matt Mastracci
fdc50d1592
feat(ext/net): use rustls_tokio_stream (#21205)
Fixes #21121 and #19498

Migrates fully to rustls_tokio_stream. We no longer need to maintain our
own TlsStream implementation to properly support duplex.

This should fix a number of errors with TLS and websockets, HTTP and
"other" places where it's failing.
2023-11-17 11:30:38 +09:00