Nayeem Rahman
5cae343991
refactor(lsp): move fields from Documents to LspResolver ( #23585 )
2024-04-30 02:41:19 +01:00
Kenta Moriuchi
783533d2e3
FUTURE: remove import assertions support for JavaScript ( #23541 )
...
Ref #17944 , https://github.com/swc-project/swc/issues/8893
TypeScript removes the `assert` keywords in the transpile, so this PR
only works for JavaScript files
2024-04-29 22:43:05 +02:00
David Sherret
4384a126bb
fix: handle specifying an import map in an ancestor dir of deno.json ( #23602 )
...
* https://github.com/denoland/deno_config/pull/51
Closes https://github.com/denoland/deno/issues/21440
2024-04-29 14:32:27 -04:00
David Sherret
e6f4c8f531
fix(fmt/md): better handling of lists in block quotes ( #23604 )
...
* https://github.com/dprint/dprint-plugin-markdown/pull/94
2024-04-29 20:29:00 +02:00
David Sherret
48daf2dc88
chore: add tests for moduleGraph2 ( #23603 )
...
Also did some renames from underscores to hyphens
2024-04-29 14:09:58 -04:00
Leo Kettmeir
67d00fb1e3
fix: reenable syntax highlighting for doc html generator ( #23570 )
...
This was forgotten to be renabled a while back when we made it optional
2024-04-29 11:03:51 -07:00
Matt Mastracci
56fec538e1
fix(ext/http): ensure signal is created iff requested ( #23601 )
...
This correctly creates the `AbortSignal` regardless of when we request
it. If the signal is requested after the request has completed, the
signal is created in the aborted state.
Using GC counts, we can see a reduction in object creation:
This PR: 440
deno 1.42.4: 1650
deno 1.43.0+b02ffec: 874
2024-04-29 09:40:02 -06:00
David Sherret
da52058a94
chore: migrate bench, publish, and more itests to spec tests ( #23584 )
2024-04-29 10:08:27 -04:00
Divy Srivastava
b02ffec37c
fix(ext/node): exporting rsa public keys ( #23596 )
...
Initial support for exporting rsa public KeyObject.
Current assumption is that RSA keys are stored in pkcs1 der format in
key storage.
Ref https://github.com/denoland/deno/issues/23471
Ref https://github.com/denoland/deno/issues/18928
Ref https://github.com/denoland/deno/issues/21124
2024-04-29 19:16:38 +05:30
David Sherret
7d93704591
refactor: remove conditional color code in bench reporter ( #23593 )
...
There is no need for this conditional code because it's handled by the
`colors` module.
2024-04-29 09:27:55 -04:00
Yoshiya Hinosawa
0b454056a8
refactor: remove dead code in node stream polyfill ( #23597 )
2024-04-29 19:55:51 +09:00
Satya Rohith
b8444066ea
fix(ext/node): support NODE_DEBUG env ( #23583 )
2024-04-29 09:36:53 +00:00
Satya Rohith
455cf1743f
fix(ext/node): add support for MessagePort.removeListener/off ( #23598 )
...
Closes https://github.com/denoland/deno/issues/23564
2024-04-29 08:53:54 +00:00
Yoshiya Hinosawa
021a0dc9b1
chore(tools): update release template ( #23582 )
2024-04-28 20:22:17 +09:00
David Sherret
651e3e9e6d
fix(compile): certain jsr specifiers sometimes can't load ( #23567 )
...
When returning a jsr specifier for resolve it seems like deno core does
not work properly and hangs.
Closes https://github.com/denoland/deno/issues/23551
Closes https://github.com/denoland/deno/issues/23139
2024-04-27 21:11:57 +00:00
Nayeem Rahman
e0f849289f
chore(lsp): remove ConfigSnapshot ( #23579 )
2024-04-27 21:35:41 +01:00
Yoshiya Hinosawa
8178f758bc
fix(ext/node): support process.stdin.unref() ( #22865 )
...
This PR adds private `[REF]()` and `[UNREF]()` methods to Stdin class,
and call them from Node.js polyfill layer (`TTY` class). This enables
`process.stdin.unref()` and `process.stdin.ref()` for the case when
stdin is terminal.
closes #21796
2024-04-27 20:25:18 +09:00
Bartek Iwańczuk
e3d79c1703
test: cleanup npm test registry code ( #23578 )
...
Required for https://github.com/denoland/deno/pull/23560
2024-04-26 22:55:43 +02:00
Nayeem Rahman
f8ddcc4f78
refactor(lsp): unify resolver types into LspResolver ( #23514 )
2024-04-26 21:39:33 +01:00
Leo Kettmeir
c519355624
feat(ci): category & unstable tags checker ( #23568 )
2024-04-26 09:04:29 -07:00
Bartek Iwańczuk
0b0af5c635
test: update for private npm registry test server ( #23572 )
...
Factored out from https://github.com/denoland/deno/pull/23560 to make it
easier to review.
2024-04-26 15:41:53 +00:00
Matt Mastracci
8c9caeb418
chore: rework TLS code in test server ( #23566 )
...
In order to make the reqwest/rustls upgrade more straightforward, we
refactor the test server to depend on deno_tls.
2024-04-25 17:00:04 -04:00
Matt Mastracci
084eafe508
perf(ext/http): recover memory for serve and optimize AbortController ( #23559 )
...
Max rps without a signal is unchanged, however we can drastically reduce
memory usage by not creating the signal until needed, and we can
optimize the rps in the case where the signal is created.
With a quick memory benchmark, it looks like this helps pretty
drastically with # of GCs when benchmarking w/wrk:
- 1.42.4: 1763
- canary: 1093
- this patch: 874
This branch:
```
Running 10s test @ http://localhost:8080/
2 threads and 10 connections
Thread Stats Avg Stdev Max +/- Stdev
Latency 87.33us 439.95us 20.68ms 99.67%
Req/Sec 66.70k 6.39k 74.11k 83.66%
1340255 requests in 10.10s, 191.73MB read
Requests/sec: 132696.90
Transfer/sec: 18.98MB
cpu: Apple M2 Pro
runtime: deno 1.43.0 (aarch64-apple-darwin)
file:///Users/matt/Documents/scripts/bench_request.js
benchmark time (avg) iter/s (min … max) p75 p99 p995
----------------------------------------------------------------------------------------------- -----------------------------
newRequest 986.5 ns/iter 1,013,682.6 (878.2 ns … 1.18 µs) 1.01 µs 1.18 µs 1.18 µs
newAbortController 18 ns/iter 55,541,104.1 (15.6 ns … 42.62 ns) 17.71 ns 25.05 ns 26.27 ns
newAbortControllerSignal 18.66 ns/iter 53,578,966.7 (16.49 ns … 32.16 ns) 18.71 ns 25.67 ns 26.39 ns
newAbortControllerSignalOnAbort 106.49 ns/iter 9,390,164.9 (97.87 ns … 120.61 ns) 108.6 ns 114.24 ns 115.89 ns
newAbortControllerSignalAddEventListener 86.92 ns/iter 11,504,880.2 (81.88 ns … 103.15 ns) 90 ns 98.28 ns 99.55 ns
newAbortControllerSignalOnAbortNoListener 3.01 µs/iter 331,964.4 (2.97 µs … 3.1 µs) 3.06 µs 3.1 µs 3.1 µs
newAbortControllerSignalOnAbortAbort 3.26 µs/iter 306,662.6 (3.22 µs … 3.36 µs) 3.27 µs 3.36 µs 3.36 µs
```
Latest canary:
```
Running 10s test @ http://localhost:8080/
2 threads and 10 connections
Thread Stats Avg Stdev Max +/- Stdev
Latency 72.86us 71.23us 4.47ms 99.05%
Req/Sec 64.66k 5.54k 72.48k 82.18%
1299015 requests in 10.10s, 185.83MB read
Requests/sec: 128616.02
Transfer/sec: 18.40MB
cpu: Apple M2 Pro
runtime: deno 1.43.0+bc4aa5f (aarch64-apple-darwin)
file:///Users/matt/Documents/scripts/bench_request.js
benchmark time (avg) iter/s (min … max) p75 p99 p995
----------------------------------------------------------------------------------------------- -----------------------------
newRequest 1.25 µs/iter 800,005.2 (1.01 µs … 4.18 µs) 1.16 µs 4.18 µs 4.18 µs
newAbortController 18.56 ns/iter 53,868,204.3 (16.04 ns … 38.73 ns) 18.38 ns 26.1 ns 26.63 ns
newAbortControllerSignal 18.72 ns/iter 53,430,746.1 (16.13 ns … 36.71 ns) 18.71 ns 26.19 ns 26.98 ns
newAbortControllerSignalOnAbort 193.91 ns/iter 5,156,992.4 (184.25 ns … 211.41 ns) 194.96 ns 207.87 ns 209.4 ns
newAbortControllerSignalAddEventListener 171.45 ns/iter 5,832,569.2 (153 ns … 182.03 ns) 176.17 ns 180.75 ns 181.05 ns
newAbortControllerSignalOnAbortNoListener 3.07 µs/iter 326,263.3 (2.98 µs … 3.17 µs) 3.08 µs 3.17 µs 3.17 µs
newAbortControllerSignalOnAbortAbort 3.32 µs/iter 301,344.6 (3.29 µs … 3.4 µs) 3.33 µs 3.4 µs 3.4 µs
```
2024-04-25 14:52:24 -04:00
David Sherret
bc4aa5f901
fix(npm): do not panic hitting root dir while resolving npm package ( #23556 )
...
Closes https://github.com/denoland/deno/issues/23029
2024-04-25 14:13:55 +00:00
Divy Srivastava
1a5b6296c5
chore: fix cargo publish CI ( #23550 )
...
The `cargo-publish` CI is failing
https://github.com/denoland/deno/actions/runs/8830423538/job/24243524040#step:7:5180
2024-04-25 17:16:36 +05:30
denobot
8321106b78
1.43.0 ( #23549 )
...
Bumped versions for 1.43.0
Co-authored-by: littledivy <littledivy@users.noreply.github.com>
2024-04-25 15:14:26 +05:30
Divy Srivastava
e98862deb2
perf(ext/http): cache abort signal error ( #23548 )
...
Fixes a perf regression introduced in
eed2598e6c
([flamegraph](https://profiler.firefox.com/public/83whz7mrfkshk5q6hd6hjmrmw8tgmw67s96m4p0/flame-graph/?globalTrackOrder=0&hiddenLocalTracksByPid=12691-0we&symbolServer=http%3A%2F%2F127.0.0.1%3A3000%2F316cvciry38ippl9i74fmcxrd5q9asfrr28xp02&thread=0&v=10 ))
this patch:
```
Summary:
Success rate: 100.00%
Total: 10.0007 secs
Slowest: 0.0145 secs
Fastest: 0.0001 secs
Average: 0.0006 secs
Requests/sec: 80341.4816
Total data: 9.19 MiB
Size/request: 12
Size/sec: 941.44 KiB
```
main:
```
Summary:
Success rate: 100.00%
Total: 10.0007 secs
Slowest: 0.0068 secs
Fastest: 0.0002 secs
Average: 0.0009 secs
Requests/sec: 56560.0551
Total data: 6.47 MiB
Size/request: 12
Size/sec: 662.75 KiB
```
2024-04-25 09:20:01 +02:00
Bartek Iwańczuk
115dedde22
fix: unref stdin read ( #23534 )
...
Closes https://github.com/denoland/deno_core/issues/648
Co-authored-by: Matt Mastracci <matthew@mastracci.com>
2024-04-25 05:32:01 +00:00
chirsz
1de162f1c1
feat(ext/webgpu): support UnsafeWindowSurface
on wayland ( #23423 )
2024-04-25 09:58:16 +05:30
David Sherret
f3284529f1
feat(jsr): support importing from jsr via HTTPS specifiers (except for type checking) ( #23513 )
...
Closes https://github.com/jsr-io/jsr/issues/322
2024-04-24 21:43:34 +00:00
Leo Kettmeir
5a7414e163
chore: update deno_doc ( #23544 )
2024-04-24 20:34:21 +00:00
Nayeem Rahman
ac71d876d7
fix(lsp): inherit missing fmt and lint config from parent scopes ( #23547 )
2024-04-24 22:14:01 +02:00
David Sherret
63e0f3647f
fix(config): move json schema unstable examples to item ( #23506 )
2024-04-24 16:13:33 -04:00
Nathan Whitaker
764f390163
chore(cli): Add workspaces property to config schema ( #23546 )
2024-04-24 12:56:23 -07:00
Nathan Whitaker
a6c2472949
chore(lsp): Print out stack trace if exception occurs in TS request ( #23543 )
...
Before this PR, there would just be an uninformative "Error occurred"
message, after this PR you'll get a stack trace in the LSP output window
like this:
```text
Error during TS request "$getSupportedCodeFixes":
Error: i threw an exception
at serverRequest (ext:deno_tsc/99_main_compiler.js:1089:11)
```
2024-04-24 19:46:08 +00:00
Matt Mastracci
2f8825a935
feat: Add deno serve
subcommand ( #23511 )
...
By default, `deno serve` will assign port 8000 (like `Deno.serve`).
Users may choose a different port using `--port`.
`deno serve /tmp/file.ts`
`server.ts`:
```ts
export default {
fetch(req) {
return new Response("hello world!\n");
},
};
```
2024-04-24 19:45:49 +00:00
David Sherret
c1bd9503dd
chore(lsp): revert respect shouldCreateNewSourceFile ( #23535 )
...
Reverts https://github.com/denoland/deno/pull/23515 but adds a comment
for why this is ignored
2024-04-24 15:39:26 -04:00
David Sherret
ded6afccf2
fix(publish): --dry-publish should error for gitignored excluded files ( #23540 )
...
Files that were gitignored only were not included in the diagnostic.
2024-04-24 18:52:05 +00:00
Matt Mastracci
da70608700
fix(ext/net): check for TLS using undefined rather than using ReflectHas ( #23538 )
...
Fixes #23537
2024-04-24 14:27:15 -04:00
Matt Mastracci
eed2598e6c
feat(ext/http): Implement request.signal for Deno.serve ( #23425 )
...
When the response has been successfully send, we abort the
`Request.signal` property to indicate that all resources associated with
this transaction may be torn down.
2024-04-24 14:03:37 -04:00
Matt Mastracci
b60822f6e0
chore: use deno_unsync through deno_core ( #23532 )
2024-04-24 16:57:34 +00:00
Bartek Iwańczuk
b424959d3e
fix(ext/node): worker_threads copies env object ( #23536 )
...
Most common argument to `env` option for `worker_threads.Worker` will be
`process.env`.
In Deno `process.env` is a `Proxy` which can't be cloned using
structured clone algorithm.
So to be safe, I'm creating a copy of actual object before it's sent to
the worker thread.
Ref #23522
2024-04-24 16:17:28 +00:00
Nathan Whitaker
5294885a5a
fix(lsp): Fix logic for coalescing pending changes + clear script names cache when file is closed ( #23517 )
2024-04-23 15:29:29 -07:00
David Sherret
cfa0fcd8c8
chore(lsp): respect shouldCreateNewSourceFile parameter ( #23515 )
2024-04-23 22:16:26 +00:00
Bartek Iwańczuk
90a167a1a2
test: add private npm registry ( #23510 )
...
This commit adds a "private npm registry" to the test server. This
registry requires to send an appropriate Authorization header.
Towards https://github.com/denoland/deno/issues/16105
2024-04-23 22:54:34 +02:00
Kenta Moriuchi
aff7a64544
fix: Float16Array support ( #23512 )
...
Ref #23490 , #23277
* remove `--js-float16array` flag (This flag has already added to
deno_core)
* add some `Float16Array` support
2024-04-23 22:54:19 +02:00
Matt Mastracci
ae62443ae0
chore: bump deno_core ( #23497 )
...
Fixes #21686
Unblocks #23490
2024-04-23 15:51:38 +00:00
Nathan Whitaker
8a367d3cc3
fix(cli): Don't panic on invalid emit options ( #23463 )
...
Fixes #23456 .
2024-04-23 08:50:50 -07:00
Nathan Whitaker
804b97c636
perf(lsp): Call serverRequest
via V8 instead of via executeScript
( #23409 )
...
Doesn't have a noticeable perf impact from my benchmarking, but
theoretically should be better.
2024-04-23 08:50:30 -07:00
Bartek Iwańczuk
35220f0069
fix(workspace): provide workspace members as 'imports' in import map ( #23492 )
...
This commit changes the workspace support to provide all workspace
members to be available as imports based on their names and versions.
Closes https://github.com/denoland/deno/issues/23343
2024-04-23 17:21:06 +02:00