Bartek Iwańczuk
6405b5f454
fix(node): polyfill process.title ( #20044 )
...
Closes https://github.com/denoland/deno/issues/19777
2023-08-04 14:31:13 +02:00
Bartek Iwańczuk
8d8a89ceea
fix(node): repl._builtinLibs ( #20046 )
...
Ref https://github.com/denoland/deno/issues/19733
2023-08-04 14:30:48 +02:00
Matt Mastracci
7f8bf2537d
refactor(ext/fetch): refactor fetch to use new write_error method ( #20029 )
...
This is a prerequisite for fast streams work -- this particular resource
used a custom `mpsc`-style stream, and this work will allow us to unify
it with the streams in `ext/http` in time.
Instead of using Option as an internal semaphore for "correctly
completed EOF", we allow code to propagate errors into the channel which
can be picked up by downstream sinks like Hyper. EOF is signalled using
a more standard sender drop.
2023-08-03 14:27:25 -06:00
denobot
6ba245fe25
1.36.0 ( #20036 )
...
Co-authored-by: bartlomieju <bartlomieju@users.noreply.github.com>
2023-08-03 18:26:25 +02:00
Bartek Iwańczuk
d9c85e016f
fix(node): node:test reports correct location ( #20025 )
...
Also removed some noisy output that caused test flakiness.
2023-08-02 17:11:04 +02:00
await-ovo
fec34d8069
fix(ext/node): fix import json using npm specifier ( #19723 )
2023-08-01 23:20:08 +00:00
Bartek Iwańczuk
21f1b2f62b
feat(node): add polyfill for node:test module ( #20002 )
...
This commit provides basic polyfill for "node:test" module. Currently
only top-level "test" function is polyfilled, all remaining functions from
that module throw not implemented errors.
2023-08-02 01:17:38 +02:00
David Sherret
5e89d1a0ab
ci: lint on all operating systems ( #20012 )
2023-08-01 16:08:41 -04:00
Leo Kettmeir
aa8078b688
feat(node/os): implement getPriority, setPriority & userInfo ( #19370 )
...
Takes #4202 over
Closes #17850
---------
Co-authored-by: ecyrbe <ecyrbe@gmail.com>
2023-07-31 22:29:09 +02:00
Luca Casonato
78ceeec6be
perf: faster node globals access in cjs ( #19997 )
...
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2023-07-31 19:45:32 +00:00
Nayeem Rahman
d5efdeeff1
refactor: update core extension api usage ( #19952 )
2023-07-31 18:19:15 +00:00
David Sherret
99daad0541
refactor: NodeCodeTranslator - optional source to translate_cjs_to_esm ( #20000 )
2023-07-31 17:46:58 +00:00
David Sherret
279030f2b8
fix(npm): improve declaration resolution for filename with different extensions ( #19966 )
...
postcss was importing `./index.js` from `./index.d.mts` where there also
existed a `./index.d.ts`.
Closes #19575
2023-07-28 11:24:22 -04:00
Divy Srivastava
bddf5acf89
chore: remove unused dependencies ( #19962 )
2023-07-28 15:10:13 +05:30
David Sherret
cfc0c80642
fix(node): package path not exported error - add if types resolution was occurring ( #19963 )
2023-07-27 16:27:01 +00:00
denobot
89ba3f820c
1.35.3 ( #19947 )
...
Bumped versions for 1.35.3
Co-authored-by: mmastrac <mmastrac@users.noreply.github.com>
2023-07-26 10:18:02 -04:00
Bartek Iwańczuk
06209f824c
perf: cache node resolution when accesing a global ( #19930 )
...
Reclaims some of the performance hit introduced by
https://github.com/denoland/deno/pull/19307 .
2023-07-25 23:43:00 +02:00
Bartek Iwańczuk
bd79baea5e
fix(node): add writable and readable fields to FakeSocket ( #19931 )
...
Closes https://github.com/denoland/deno/issues/19927
2023-07-25 07:17:53 +00:00
David Sherret
40008c73bb
refactor(ext/node): CjsCodeAnalyzer - analyze_cjs optionally pass source text ( #19896 )
2023-07-24 15:35:13 -04:00
Vedant Pandey
d7a9ed9714
fix(node_compat): Wrap require resolve exports in try catch block ( #19592 )
...
Potentially closes #19499
2023-07-24 11:30:03 +03:00
Luca Casonato
15290499b5
fix(ext/node): inspector with seggregated globals ( #19917 )
...
V8 doesn't like having internal slots on the "real" globalThis object.
This commit works around this limitation by storing the inner globalThis
objects for segregated globals in a context slot.
2023-07-24 00:39:37 +02:00
sigmaSd
5a3dbe1a62
chore: update commonjs loading docs ( #19904 )
2023-07-22 05:48:06 +02:00
Leo Kettmeir
da709729e3
fix(node/http): add encrypted field to FakeSocket ( #19886 )
...
Fixes #19557
2023-07-21 02:18:07 +02:00
denobot
0c3bbf7acd
chore: forward v1.35.2 release commit to main ( #19887 )
...
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2023-07-20 05:11:50 +02:00
Luca Casonato
e511022c74
feat(ext/node): properly segregate node globals ( #19307 )
...
Code run within Deno-mode and Node-mode should have access to a
slightly different set of globals. Previously this was done through a
compile time code-transform for Node-mode, but this is not ideal and has
many edge cases, for example Node's globalThis having a different
identity than Deno's globalThis.
This commit makes the `globalThis` of the entire runtime a semi-proxy.
This proxy returns a different set of globals depending on the caller's
mode. This is not a full proxy, because it is shadowed by "real"
properties on globalThis. This is done to avoid the overhead of a full
proxy for all globalThis operations.
The globals between Deno-mode and Node-mode are now properly segregated.
This means that code running in Deno-mode will not have access to Node's
globals, and vice versa. Deleting a managed global in Deno-mode will
NOT delete the corresponding global in Node-mode, and vice versa.
---------
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
Co-authored-by: Aapo Alasuutari <aapo.alasuutari@gmail.com>
2023-07-19 10:30:04 +02:00
Leo Kettmeir
bf4e99cbd7
fix(node/http): call callback after request is sent ( #19871 )
...
Fixes #19762
2023-07-19 01:30:19 +02:00
Leo Kettmeir
bab0294db6
fix(node/net): Server connection callback include socket value ( #19779 )
2023-07-19 00:33:43 +02:00
Divy Srivastava
51b3534b3d
fix(ext/node): check if resource can be used with write_vectored ( #19868 )
...
Fixes https://github.com/denoland/deno/issues/19766
Fixes https://github.com/denoland/deno/issues/19846
2023-07-18 23:34:26 +02:00
Bartek Iwańczuk
7e1218cd8f
fix(node): add process.dlopen API ( #19860 )
...
Fixes https://github.com/denoland/deno/issues/19830
2023-07-18 15:13:17 +02:00
David Sherret
b09af6a424
fix(npm): support dynamic import of Deno TS from npm package ( #19858 )
...
Closes #19843
2023-07-17 17:17:58 -04:00
David Sherret
4ebe3bdb06
fix(node): improve error message requiring non-npm es module ( #19856 )
...
Closes #19842
Closes #16913
2023-07-17 16:19:00 -04:00
David Sherret
7a9f7f3419
fix(node): improve require esm error messages ( #19853 )
...
Part of #19842 .
Closes #19583
Closes #16913
2023-07-17 14:00:44 -04:00
await-ovo
37241e9b1e
fix(ext/node): fix stream/promises export ( #19820 )
2023-07-17 22:10:34 +09:00
David Sherret
2f4b73410a
chore: forward 1.35.1 back to main ( #19814 )
2023-07-12 21:36:42 -04:00
Leo Kettmeir
9d5f6f67d6
fix(node/http): add destroy to FakeSocket ( #19796 )
...
Closes #19782
2023-07-11 15:08:35 +02:00
Leo Kettmeir
4cfc54931d
fix(node/http): allow callback in first argument of end call ( #19778 )
...
Closes #19762
2023-07-11 14:49:19 +02:00
Leo Kettmeir
5cda141f2d
fix(node/http): server use FakeSocket and add end method ( #19660 )
...
Fixes #19324
2023-07-10 13:48:35 +02:00
David Sherret
f3095b8d31
chore: upgrade to dprint 0.39 ( #19768 )
2023-07-08 18:34:08 +00:00
Divy Srivastava
e4870d84be
perf(ext/node): native vectored write for server streams ( #19752 )
...
```
# main
$ ./load_test 10 0.0.0.0 8080 0 0
Using message size of 20 bytes
Running benchmark now...
Msg/sec: 106182.250000
Msg/sec: 110279.750000
^C
# this PR
$ ./load_test 10 0.0.0.0 8080 0 0
Using message size of 20 bytes
Running benchmark now...
Msg/sec: 131632.250000
Msg/sec: 134754.250000
^C
```
2023-07-07 22:17:08 +05:30
Bartek Iwańczuk
de630b9b78
perf(node/async_hooks): optimize AsyncLocalStorage ( #19729 )
...
This makes the implementation of "AsyncLocalStorage" from
"node:async_hooks" 3.5x faster than before for noop benchmark
(measuring baseline overhead). It's still 3.5x slower than not
using `AsyncLocalStorage` and 1.64x slower than using
noop promise hooks.
2023-07-06 13:05:10 +02:00
Divy Srivastava
57fae55d82
perf(ext/node): optimize net streams ( #19678 )
...
~4.5x improvement in `npm:ws` echo benchmark:
```
$ ./load_test 10 0.0.0.0 8080 0 0
Using message size of 20 bytes
Running benchmark now...
Msg/sec: 101083.750000
Msg/sec: 103606.000000
^C
$ ./load_test 10 0.0.0.0 8080 0 0
Using message size of 20 bytes
Running benchmark now...
Msg/sec: 24906.750000
Msg/sec: 28478.000000
^C
```
2023-07-05 22:45:10 +05:30
denobot
1ac5fddf54
1.35.0 ( #19717 )
...
Bumped versions for 1.35.0
Co-authored-by: bartlomieju <bartlomieju@users.noreply.github.com>
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2023-07-05 01:58:01 +02:00
await-ovo
686ec85f52
fix(ext/node): Define performance.timeOrigin as getter property ( #19714 )
2023-07-04 20:19:18 +03:00
await-ovo
208e65d33a
fix(npm): escape export identifier in double quoted string ( #19694 )
2023-07-03 18:41:09 +00:00
await-ovo
0f4051a37a
fix(ext/node): ignore cancelled timer when node timer refresh ( #19637 )
...
For timers that have already executed clearTimeout, there is no need to recreate a new timer when refresh is executed again.
2023-07-02 19:11:34 +00:00
Bartek Iwańczuk
01f0d03ae8
refactor: rename built-in node modules from ext:deno_node/ to node: ( #19680 )
...
Closes https://github.com/denoland/deno/issues/19510
2023-07-02 20:19:30 +02:00
David Sherret
3b9845d891
fix(npm): handle more reserved words as cjs exports ( #19672 )
...
Closes #19665
2023-07-01 21:43:17 -04:00
Leo Kettmeir
4db534d461
fix(node/http): add setKeepAlive to FakeSocket ( #19659 )
...
Closes #19535
2023-06-30 03:39:16 +02:00
Bartek Iwańczuk
f372688f22
fix: lint on main branch ( #19622 )
2023-06-27 17:35:19 +09:00
Kenta Moriuchi
e16b74d792
chore(ext/node): disable prefer-primordials on a per-file basis ( #19553 )
2023-06-27 15:18:22 +09:00