Commit graph

10496 commits

Author SHA1 Message Date
Nayeem Rahman
0a738dc49d
perf(lsp): check tsc request cancellation before execution (#21447) 2023-12-03 22:07:40 +00:00
Nayeem Rahman
28c527c8f5
perf(lsp): fix redundant clones for ts responses (#21445) 2023-12-03 19:02:14 +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
Bartek Iwańczuk
39c7d8dafe
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-03 02:07:04 +00:00
Bartek Iwańczuk
f6b889b432
refactor: snapshotting of runtime/ and cli/ (#21430)
This commit removes some of the technical debt related 
to snapshotting JS code:
- "cli/ops/mod.rs" and "cli/build.rs" no longer define "cli" extension
which was not required anymore
- Cargo features for "deno_runtime" crate have been unified in
"cli/Cargo.toml"
- "cli/build.rs" uses "deno_runtime::snapshot::create_runtime_snapshot"
API
instead of copy-pasting the code
- "cli/js/99_main.js" was completely removed as it's not necessary
anymore

Towards https://github.com/denoland/deno/issues/21137
2023-12-02 23:40:27 +00:00
Nayeem Rahman
0f990d9d92
perf(lsp): fix redundant serialization of sources (#21435) 2023-12-02 23:28:46 +00:00
David Sherret
f29075ae4c
fix(node): setting process.exitCode should change exit code of process (#21429) 2023-12-02 16:03:37 +00:00
Leo Kettmeir
61a4e88e38
fix(cli/installer): percent decode name (#21392) 2023-12-02 14:33:22 +01: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
Bartek Iwańczuk
ec0207e9b1
perf(lsp): better op performance logging (#21423) 2023-12-01 22:57:52 +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
David Sherret
d8e8497eb3
fix(fmt): remove trailing comma for single type param in default export in jsx (#21425) 2023-12-01 14:50:38 -05:00
Ian Bull
e087851e54
fix(perm): allow-net with port 80 (#21221) 2023-12-01 19:03:53 +01:00
liruifengv
fc8f060ee3
fix(permissions): fix panics when revoking net permission (#21388)
fix #21385
2023-12-01 18:45:51 +01:00
John Spurlock
eae82b34d4
Update doc for deno fmt --no-semicolons arg. (#21414)
Include default, like other bools.

---------

Signed-off-by: John Spurlock <47259736+johnspurlock-skymethod@users.noreply.github.com>
2023-12-01 16:26:06 +00: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
Igor Zinkovsky
5f6181df4a
fix(cron): move deprecated Deno.cron overload (#21407)
Moving the deprecated `Deno.cron` overload to be the last one.
2023-11-30 15:52:48 -08:00
Luca Casonato
9444bab186
fix: correct the batch upload length (#21401) 2023-11-30 23:07:26 +01:00
Bartek Iwańczuk
b69001bb49
chore: forward v1.38.4 release commit to main (#21400)
Co-authored-by: denobot <33910674+denobot@users.noreply.github.com>
2023-11-30 23:06:54 +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
Laurence Rowe
8050cbf39e
perf(ext/web): Avoid changing prototype by setting hostObjectBrand directly (#21358) 2023-11-30 14:06:16 -07:00
Luca Casonato
ffa09541d7
fix: batch upload authentication (#21397) 2023-11-30 19:54:54 +01:00
Jordan Harband
334c118c97
refactor (parseCssColor): use parseInt, avoid unnecessary coercion (#20856)
Upstream some changes from https://github.com/nodejs/node/pull/49205

Signed-off-by: Jordan Harband <ljharb@gmail.com>
2023-11-30 18:33:44 +00:00
Nayeem Rahman
91626bac49
perf(lsp): avoid redundant getNavigationTree() calls (#21396) 2023-11-30 16:23:47 +00:00
Bartek Iwańczuk
c803c0eaab
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 15:43:35 +00:00
Yoshiya Hinosawa
3591ba8578
fix(ext/node): fix os.freemem (#21347) 2023-11-30 22:06:01 +09:00
Nayeem Rahman
595a2be024
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 03:35:39 +00: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
Luca Casonato
7e56a0466f
fix: use correct import map in tar & upload (#21380) 2023-11-29 13:59:30 +00:00
Yoshiya Hinosawa
e332fa4a83
fix(ext/node): add util.parseArgs (#21342) 2023-11-29 15:42:58 +09:00
Igor Zinkovsky
75ec650f08
chore(ext/kv): update denokv crates (#21357) 2023-11-28 21:04:07 -08:00
Leo Kettmeir
32c041c8d7
Reland "fix(ext/console): fix inspecting iterators error. (#20720)" (#21370) 2023-11-28 16:07:48 +01:00
David Sherret
be4cd5eebf
chore: small changes to issue templates (#21372) 2023-11-28 09:57:21 -05: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
45fe3ccccf
chore: fix issue templates (#21367) 2023-11-28 02:09:58 +00:00
Matt Mastracci
4a2672bc29
chore: add retries to autobahn (#21365) 2023-11-28 01:44:48 +00:00
Birk Skyum
bee1187093
chore: issue templates (#20850)
Co-authored-by: David Sherret <dsherret@users.noreply.github.com>
2023-11-28 01:14:05 +00: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
d65a297943
chore: fix formatting (#21364) 2023-11-28 00:03:15 +00:00
David Sherret
e52033f0f7
fix(fmt/jupyter): handle "source" property that's a string (#21361)
It was corrupting the file.
2023-11-27 23:15:50 +00:00
Matt Mastracci
8ce4ddc407
chore(ext/http): fix E0446 on some compiler versions (#21362)
Rust 1.74 may have made this code temporarily valid in [#113126 Replace
old private-in-public diagnostic with type privacy
lints](https://github.com/rust-lang/rust/pull/113126), so we didn't
catch it at build time.

It fails in 1.73 and +nightly, however.
2023-11-27 23:12:55 +00: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
Matt Mastracci
5ab7c702bb
chore: bump deno_core (#21351) 2023-11-27 16:01:27 -07:00
David Sherret
3c88654552
chore: temp fix for tools/format.js (#21360) 2023-11-27 22:51:00 +00:00
Kevin Whinnery
537e0320f0
chore: Fix typo in README (#21354)
Correct a small error in the recent README update.

---------

Signed-off-by: Kevin Whinnery <kevin.whinnery@gmail.com>
2023-11-27 21:43:35 +00:00