Bartek Iwańczuk
0d3437079f
fix: update Cargo.lock and fix changes from cherry-pick PRs
2025-02-12 10:18:14 +01:00
Leo Kettmeir
93bfedc181
fix(streams): handle Resource stream error ( #27975 )
...
Fixes #27715
2025-02-12 10:10:22 +01:00
Jo Franchetti
c6422d3fd0
docs: adding examples and a see link to Websockets jdocs ( #27957 )
...
adding examples to websockets interfaces and a see link
---------
Co-authored-by: Phil Hawksworth <phil@deno.com>
2025-02-12 10:09:32 +01:00
Bartek Iwańczuk
9e5016c5f2
fix: allow creating TSC host without a snapshot ( #28058 )
2025-02-12 10:09:32 +01:00
Yoshiya Hinosawa
783fafb58f
test: clean up node_compat test runner ( #28028 )
2025-02-12 10:09:29 +01:00
Nayeem Rahman
966ad6b741
ci(lsp): capture and echo stderr by default ( #28032 )
2025-02-12 10:08:55 +01:00
Nayeem Rahman
cdc4463411
perf(lsp): cancellation checks in blocking code ( #27997 )
2025-02-12 10:08:30 +01:00
Marvin Hagemeister
4a60de43b2
fix: panic with js lint plugins and invalid js syntax ( #28006 )
...
Noticed that the LSP might panic during serialization when working on a
file with a syntax error.
This PR changes the serialization so that invalid nodes are simply
serialized to the invalid node `0`. The plugin code treats the node with
id `0` as an invalid node and will ignore it during visiting.
I'm not sure how to write a test for the LSP.
2025-02-12 10:08:00 +01:00
David Sherret
8d6d2cce59
perf(compile): use bytes already in memory after downloading executable ( #28000 )
...
Not sure if this will help https://github.com/denoland/deno/issues/27988
but it's better anyway.
2025-02-12 10:07:41 +01:00
HasanAlrimawi
2763654e63
fix(compile): never include the specified output executable in itself ( #27877 )
2025-02-12 10:06:38 +01:00
Bartek Iwańczuk
b32537f210
test: remove one of 'node_unit_tests::tls_test' tests ( #27985 )
...
It will be moved to `npm_smoke_tests` repo instead
2025-02-12 10:05:26 +01:00
Luca Casonato
daddfd9b11
fix(otel): custom span start + end times are fractional ms ( #27995 )
...
Previously they were treated as fractional seconds.
2025-02-12 10:05:26 +01:00
Yoshiya Hinosawa
e922da61c9
fix(ext/node): fix twitter-api-v2 compatibility ( #27971 )
2025-02-12 10:05:24 +01:00
Divy Srivastava
b14bed068c
fix(ext/node): fix missing privateKey.x in curve25519 JWK ( #27990 )
...
Fixes https://github.com/denoland/deno/issues/27972
2025-02-12 10:05:24 +01:00
David Sherret
7008c13429
chore: fix lockfile on main ( #27978 )
...
Every time I run `cargo test` or whatever the lockfile changes to this.
2025-02-12 10:04:29 +01:00
HasanAlrimawi
d744843e72
chore: move bench test to spec test ( #27970 )
2025-02-12 10:03:48 +01:00
snek
88f22dda3b
fix(ext/napi): napi_is_buffer tests for ArrayBufferView ( #27956 )
...
use correct type check
Fixes: https://github.com/denoland/deno/issues/27951
2025-02-12 10:03:37 +01:00
Divy Srivastava
83ef54f465
fix(ext/node): handle non-ws upgrade headers ( #27931 )
2025-02-12 10:03:32 +01:00
Yoshiya Hinosawa
491488628a
refactor(ext/fetch): do not share error instance ( #27941 )
2025-02-12 10:03:32 +01:00
Divy Srivastava
87f6fd18c6
fix(ext/node): expose brotli stream APIs ( #27943 )
...
Fixes https://github.com/denoland/deno/issues/27170
2025-02-12 10:03:32 +01:00
David Sherret
3c0df7a560
perf: node resolution cache ( #27838 )
...
This adds a cache for node resolution, which makes repeat lookups about
15x faster.
2025-02-12 10:03:32 +01:00
David Sherret
8a187295a6
refactor: extract out utf16 map from lsp to cli::util module ( #27950 )
2025-02-12 10:03:32 +01:00
Nathan Whitaker
f32b5f1ad1
fix(lsp): ignore a few more diagnostics for ambient modules ( #27949 )
...
Missed a few resolution errors
2025-02-12 10:03:32 +01:00
Divy Srivastava
4101cf4274
fix(ext/node): set process fields on own instance ( #27927 )
...
Ref https://github.com/denoland/deno/pull/27891#issuecomment-2626286689
```
% deno eval 'console.log(Object.getOwnPropertyNames(process))'
[
"_events",
"_eventsCount",
"_maxListeners",
"versions",
"stdin",
"stdout",
"stderr"
]
% target/debug/deno eval 'console.log(Object.getOwnPropertyNames(process))'
[
"_events",
"_eventsCount",
"_maxListeners",
"release",
"arch",
"report",
"title",
"argv",
"argv0",
"chdir",
"config",
"cpuUsage",
"cwd",
"env",
"execArgv",
"exit",
"abort",
"reallyExit",
"_exiting",
"exitCode",
"mainModule",
"nextTick",
"dlopen",
"pid",
"ppid",
"platform",
"setSourceMapsEnabled",
"hrtime",
"_kill",
"kill",
"memoryUsage",
"stderr",
"stdin",
"stdout",
"version",
"versions",
"emitWarning",
"binding",
"umask",
"getgid",
"getuid",
"getegid",
"geteuid",
"getBuiltinModule",
"_eval",
"execPath",
"uptime",
"allowedNodeEnvironmentFlags",
"features",
"noDeprecation"
]
```
2025-02-12 10:03:12 +01:00
Bartek Iwańczuk
5ad166abe2
fix(publish): correct coloring in --help ( #27939 )
2025-02-12 10:01:38 +01:00
Rano | Ranadeep
80bf743d01
fix(node): resolve module as maybe CJS when it's missing a file extension ( #27904 )
2025-02-12 10:01:20 +01:00
David Sherret
72cf2b16fe
fix(node): show directory import and missing extension suggestions ( #27905 )
...
Shows directory import and missing extension suggestions in error
messages similar but not exactly to node.
Closes #26802
Co-authored-by: Hajime-san <Hajime-san@users.noreply.github.com>
2025-02-12 10:01:20 +01:00
Nayeem Rahman
6f0cb697b6
Revert "fix(lsp): silence debug error for 'move to a new file' action ( #27780 )" ( #27903 )
2025-02-12 10:01:20 +01:00
Timothy
047b709472
docs: Temporal plaintime docs link ( #27879 )
2025-02-12 10:01:20 +01:00
Bartek Iwańczuk
fc901e1cb9
ci: update release template ( #27901 )
2025-02-12 10:01:20 +01:00
David Sherret
dbc14295e7
chore: fix some broken pty tests on windows ( #27899 )
...
These have been failing locally for some time.
2025-02-12 10:01:19 +01:00
Yoshiya Hinosawa
f43e121020
chore: update std in test util ( #27892 )
2025-02-12 10:01:19 +01:00
Divy Srivastava
452ce36281
fix(cli): Fix panic in load_native_certs
( #27863 )
...
Fixes https://github.com/denoland/deno/issues/27528
Can't really trigger the panic myself hence no test.
2025-02-12 10:01:19 +01:00
Yoshiya Hinosawa
55dd527341
fix(ext/node): support proxy http request ( #27871 )
2025-02-12 10:01:19 +01:00
Divy Srivastava
8d3a95170c
fix(ext/node): set process.env as own property ( #27891 )
...
Fixes `gcp-metadata@6.1.1`
```
% deno eval "import 'npm:gcp-metadata@6.1.1'" # main
error: Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'GOOGLE_SDK_NODE_LOGGING')
at Object.log (file:///Users/divy/Library/Caches/deno/npm/registry.npmjs.org/google-logging-utils/0.0.2/build/src/logging-utils.js:356:36)
at Object.<anonymous> (file:///Users/divy/Library/Caches/deno/npm/registry.npmjs.org/gcp-metadata/6.1.1/build/src/index.js:52:20)
at Object.<anonymous> (file:///Users/divy/Library/Caches/deno/npm/registry.npmjs.org/gcp-metadata/6.1.1/build/src/index.js:409:4)
at Module._compile (node:module:745:34)
at loadMaybeCjs (node:module:770:10)
at Object.Module._extensions..js (node:module:755:12)
at Module.load (node:module:662:32)
at Function.Module._load (node:module:534:12)
at Module.require (node:module:681:19)
at require (node:module:812:16)
% target/debug/deno eval "import 'npm:gcp-metadata@6.1.1'" # this PR
```
---------
Signed-off-by: Divy Srivastava <dj.srivastava23@gmail.com>
Co-authored-by: Yoshiya Hinosawa <stibium121@gmail.com>
2025-02-12 10:01:19 +01:00
denobot
46e2f9a47e
2.1.9 ( #27886 )
...
Bumped versions for 2.1.9
---------
Co-authored-by: bartlomieju <bartlomieju@users.noreply.github.com>
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2025-01-31 01:21:43 +01:00
Nathan Whitaker
0f117bbd68
perf(crypto): use ring for asm implementations of sha256/sha512 ( #27885 )
...
Currently we are using the pure rust backend of `sha2`, which has subpar
performance compared to asm implementations. We already depend on
`ring`, so just use that instead of `sha2` for sha256/sha512 digests.
This also speeds up things like S3 uploads, which calculate sha digests
of the uploaded objects. On my local machine, this speeds up uploading a
100MB file (to a localhost s3 provider via`@aws-sdk/client-s3`) by about
2x
<details>
<summary>Benchmark:</summary>
```ts
import { createHmac } from "node:crypto";
for (
const size of [1, 10, 100, 1_000, 10_000, 100_000, 1_000_000, 10_000_000]
) {
const input = "a".repeat(size);
Deno.bench({
name: `sha256-${size}`,
fn() {
const _hash = createHmac("sha256", input).update(input).digest();
},
});
Deno.bench({
name: `sha512-${size}`,
fn() {
const _hash = createHmac("sha512", input).update(input).digest();
},
});
}
```
</details>
<details>
<summary>Results (arm64 macOS):</summary>
```
--- sha256-1 ---
../../deno/target/release/deno 2.527 µs 1.240 times faster
/Users/nathanwhit/.deno/bin/deno 3.132 µs
--- sha512-1 ---
../../deno/target/release/deno 3.364 µs 1.071 times faster
/Users/nathanwhit/.deno/bin/deno 3.603 µs
--- sha256-10 ---
../../deno/target/release/deno 3.060 µs 1.027 times faster
/Users/nathanwhit/.deno/bin/deno 3.144 µs
--- sha512-10 ---
../../deno/target/release/deno 3.583 µs 1.047 times faster
/Users/nathanwhit/.deno/bin/deno 3.751 µs
--- sha256-100 ---
../../deno/target/release/deno 3.695 µs 1.244 times faster
/Users/nathanwhit/.deno/bin/deno 4.598 µs
--- sha512-100 ---
../../deno/target/release/deno 3.386 µs 1.188 times faster
/Users/nathanwhit/.deno/bin/deno 4.021 µs
--- sha256-1000 ---
../../deno/target/release/deno 4.007 µs 3.230 times faster
/Users/nathanwhit/.deno/bin/deno 12.944 µs
--- sha512-1000 ---
../../deno/target/release/deno 6.463 µs 1.466 times faster
/Users/nathanwhit/.deno/bin/deno 9.477 µs
--- sha256-10000 ---
../../deno/target/release/deno 11.674 µs 6.981 times faster
/Users/nathanwhit/.deno/bin/deno 81.493 µs
--- sha512-10000 ---
../../deno/target/release/deno 31.250 µs 1.740 times faster
/Users/nathanwhit/.deno/bin/deno 54.364 µs
--- sha256-100000 ---
../../deno/target/release/deno 82.800 µs 9.393 times faster
/Users/nathanwhit/.deno/bin/deno 777.719 µs
--- sha512-100000 ---
../../deno/target/release/deno 269.726 µs 1.851 times faster
/Users/nathanwhit/.deno/bin/deno 499.243 µs
--- sha256-1000000 ---
../../deno/target/release/deno 808.662 µs 9.427 times faster
/Users/nathanwhit/.deno/bin/deno 7.623 ms
--- sha512-1000000 ---
../../deno/target/release/deno 2.672 ms 1.795 times faster
/Users/nathanwhit/.deno/bin/deno 4.795 ms
--- sha256-10000000 ---
../../deno/target/release/deno 7.823 ms 9.868 times faster
/Users/nathanwhit/.deno/bin/deno 77.201 ms
--- sha512-10000000 ---
../../deno/target/release/deno 26.197 ms 1.846 times faster
/Users/nathanwhit/.deno/bin/deno 48.356 ms
```
</details>
<details>
<summary>Results (x86_64 linux):</summary>
```
--- sha256-1 ---
/home/nathanwhit/.deno/bin/deno 10.726 µs 1.229 times faster
../../../deno/target/release-lite/deno 13.184 µs
--- sha512-1 ---
/home/nathanwhit/.deno/bin/deno 13.177 µs 1.051 times faster
../../../deno/target/release-lite/deno 13.845 µs
--- sha256-10 ---
/home/nathanwhit/.deno/bin/deno 13.156 µs 1.047 times faster
../../../deno/target/release-lite/deno 13.780 µs
--- sha512-10 ---
/home/nathanwhit/.deno/bin/deno 14.386 µs 1.029 times faster
../../../deno/target/release-lite/deno 14.807 µs
--- sha256-100 ---
/home/nathanwhit/.deno/bin/deno 14.580 µs 1.083 times faster
../../../deno/target/release-lite/deno 15.789 µs
--- sha512-100 ---
/home/nathanwhit/.deno/bin/deno 13.477 µs 1.131 times faster
../../../deno/target/release-lite/deno 15.238 µs
--- sha256-1000 ---
../../../deno/target/release-lite/deno 17.208 µs 1.116 times faster
/home/nathanwhit/.deno/bin/deno 19.198 µs
--- sha512-1000 ---
../../../deno/target/release-lite/deno 21.168 µs 1.026 times faster
/home/nathanwhit/.deno/bin/deno 21.717 µs
--- sha256-10000 ---
../../../deno/target/release-lite/deno 33.586 µs 1.990 times faster
/home/nathanwhit/.deno/bin/deno 66.837 µs
--- sha512-10000 ---
../../../deno/target/release-lite/deno 53.338 µs 1.009 times faster
/home/nathanwhit/.deno/bin/deno 53.817 µs
--- sha256-100000 ---
../../../deno/target/release-lite/deno 168.238 µs 3.063 times faster
/home/nathanwhit/.deno/bin/deno 515.354 µs
--- sha512-100000 ---
../../../deno/target/release-lite/deno 383.311 µs 1.036 times faster
/home/nathanwhit/.deno/bin/deno 397.122 µs
--- sha256-1000000 ---
../../../deno/target/release-lite/deno 1.474 ms 3.471 times faster
/home/nathanwhit/.deno/bin/deno 5.115 ms
--- sha512-1000000 ---
../../../deno/target/release-lite/deno 3.658 ms 1.057 times faster
/home/nathanwhit/.deno/bin/deno 3.865 ms
--- sha256-10000000 ---
../../../deno/target/release-lite/deno 16.438 ms 3.136 times faster
/home/nathanwhit/.deno/bin/deno 51.556 ms
--- sha512-10000000 ---
../../../deno/target/release-lite/deno 37.128 ms 1.056 times faster
/home/nathanwhit/.deno/bin/deno 39.220 ms
```
</details>
2025-01-31 00:39:11 +01:00
snek
b4b02576d0
fix(ext/node): add http information support ( #27381 )
...
Implements some client and server events to improve compat.
This change makes AWS SDKs more reliable and faster in Deno.
Fixes: https://github.com/denoland/deno/issues/27239
2025-01-30 23:28:55 +01:00
denobot
318646f767
2.1.8 ( #27878 )
...
Bumped versions for 2.1.8
---------
Co-authored-by: bartlomieju <bartlomieju@users.noreply.github.com>
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2025-01-30 19:19:27 +01:00
Divy Srivastava
7b8dc972b9
fix(core): Fix create_stack_trace
from empty trace ( #27873 )
...
Fixes https://github.com/denoland/deno/issues/27849
2025-01-30 15:34:59 +01:00
Nathan Whitaker
c31b670323
fix(lsp): ignore errors on ambient module imports ( #27855 )
...
This makes it so imports of ambient modules (e.g. `$app/environment` in
svelte, any virtual module in vite, or other module provided by a
bundler) don't error in the LSP.
The way this works is that when we request diagnostics from TSC, we also
respond with the list of ambient modules. Then, in the diagnostics code,
we save diagnostics (produced by deno) that may be invalidated as an
ambient module and wait to publish the diagnostics until we've received
the ambient modules from TSC.
The actual ambient modules you get from TSC can contain globs, e.g.
`*.css`. So when we get new ambient modules, we compile them all into a
regex and check erroring imports against that regex. Ambient modules
should change rarely, so in most cases we should be using a pre-compiled
regex, which executes in linear time (wrt the specifier length).
TODO:
- Ideally we should only publish once, right now we publish with the
filtered specifiers and then the TSC ones
- deno check (#27633 )
2025-01-30 15:34:59 +01:00
David Sherret
ea837b678e
fix(init): correct dev task for --lib ( #27860 )
2025-01-30 15:34:59 +01:00
Divy Srivastava
ee4ae8bd6b
fix(ext/node): implement crypto.hash
( #27858 )
...
Implement
[`crypto.hash`](https://nodejs.org/api/crypto.html#cryptohashalgorithm-data-outputencoding )
- one-shot version of `createHash`
Fixes #24945
2025-01-30 15:34:58 +01:00
David Sherret
157feb9b7d
fix(check): better handling of TypeScript in npm packages for type checking ( #27853 )
...
1. Allows resolving to `.ts` files for type checking.
2. Probes for `.ts` files to use for type checking.
To emphasize, this is only for type checking.
2025-01-30 15:34:58 +01:00
Phil Hawksworth
e710340080
docs: jsdocs for URL web API ( #27850 )
...
Adds references and examples to the documentation of the URL properties
which surface here:
https://docs.deno.com/api/web/~/URL
✅ `./tools/lint.js`
✅ `./tools/format.js`
---------
Co-authored-by: David Sherret <dsherret@users.noreply.github.com>
2025-01-30 15:34:58 +01:00
David Sherret
7dd8e40f60
fix(check): compiler options from workspace members ( #27785 )
...
Co-authored-by: Nayeem Rahman <nayeemrmn99@gmail.com>
2025-01-30 15:34:58 +01:00
David Sherret
97e1f4b374
chore: fix two locally failing on windows tests ( #27845 )
2025-01-30 15:34:58 +01:00
David Sherret
5212dc37c5
fix(process/windows): correct command resolution when PATH env var not uppercase ( #27846 )
...
Closes #27768
2025-01-30 15:34:58 +01:00
jia wei
3097d99d76
fix(npmrc): merge .npmrc
in user's homedir and project ( #27119 )
2025-01-30 15:34:57 +01:00
Divy Srivastava
d58c70fbd1
fix(ext/node): clear tz cache when setting process.env.TZ ( #27826 )
2025-01-30 15:34:57 +01:00