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

2439 commits

Author SHA1 Message Date
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
sigmaSd
cfb9478a43
fix(runtime): print process name in case of spawn error (#19855)
Fix https://github.com/denoland/deno/issues/19400

Co-authored-by: David Sherret <dsherret@users.noreply.github.com>
2023-07-19 01:24:30 +02:00
Leo Kettmeir
bab0294db6
fix(node/net): Server connection callback include socket value (#19779) 2023-07-19 00:33:43 +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
b83dac3b14
fix(npm): improve error message importing non-existent file in a node_modules npm package (#19835) 2023-07-14 17:47:15 +00:00
Elian Cordoba
0223ad72a9
fix(npm): improve error message on directory import in npm package (#19538)
Co-authored-by: David Sherret <dsherret@users.noreply.github.com>
2023-07-14 16:47:18 +00:00
David Sherret
b03d82e5d3
fix(tsc): more informative diagnostic when Deno does not exist (#19825)
Also improved the diagnostic when using something like `Deno.openKv` and
it doesn't exist.
2023-07-13 23:29:51 +00:00
Bartek Iwańczuk
5bc24c8a20
chore: disable failing node compat test (#19811) 2023-07-12 19:30:37 +00: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
David Sherret
be9e73d340
fix(lsp): remove quotes and period surrounding specifier in uncached messages (#19794) 2023-07-11 02:27:22 +00:00
David Sherret
0d8af65621
fix(lsp): exclude files in deno.json "exclude" (#19791)
Closes #19788
2023-07-10 21:03:19 -04:00
David Sherret
fe91cd5b84
chore(tests): update info_with_compiled_source to use TestContextBuilder (#19783) 2023-07-10 14:01:01 +00: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
Luca Casonato
679a0c428c
tests: add more jsxImportSource regression tests (#15592)
This commit adds some regression tests for using `jsxImportSource` in
the config file in combination with an import map.

These underlying issues were fixed by #15561.

Closes #13389
Closes #14723

---------

Co-authored-by: Aapo Alasuutari <aapo.alasuutari@gmail.com>
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2023-07-07 01:22:22 +02:00
Yoshiya Hinosawa
cd2525d4cf
test(ext/node): clean up node:path test cases (#19610) 2023-07-05 16:13:34 +09:00
Bartek Iwańczuk
6d0c658023
fix: move Deno.serve to stable namespace (#19718)
This was missed in #19141
2023-07-04 23:04:26 +00:00
await-ovo
686ec85f52
fix(ext/node): Define performance.timeOrigin as getter property (#19714) 2023-07-04 20:19:18 +03:00
David Sherret
a3986b641c
fix: bump default @types/node version range to 18.16.19 (#19706) 2023-07-04 15:27:04 +00:00
Bartek Iwańczuk
39872646eb
feat: stabilize 'alpnProtocols' setting (#19704)
Ref https://github.com/denoland/deno/issues/19685
2023-07-04 15:28:50 +02:00
Bartek Iwańczuk
aaabff710f
tests: deflake _fs_read_test.ts again (#19705) 2023-07-04 02:43:04 +00:00
Bartek Iwańczuk
cafbf0a7a1
tests: deflake _fs_read_test.ts (#19699)
Closes https://github.com/denoland/deno/issues/19632
2023-07-03 20:54:54 -04:00
Bartek Iwańczuk
3c8bbc434d
feat: Stabilize Deno.serve() API (#19141)
This commit stabilizes "Deno.serve()", which becomes the
preferred way to create HTTP servers in Deno.

Documentation was adjusted for each overload of "Deno.serve()"
API and the API always binds to "127.0.0.1:8000" by default.
2023-07-04 01:46:32 +02:00
David Sherret
7a7e0748e3
feat: upgrade to TypeScript 5.1.6 (#19695)
Integrates https://github.com/denoland/TypeScript/pull/7
2023-07-04 00:36:35 +02:00
await-ovo
208e65d33a
fix(npm): escape export identifier in double quoted string (#19694) 2023-07-03 18:41:09 +00:00
ud2
d632cce129
fix(dts): make globals available on globalThis (#19438)
This PR changes Web IDL interfaces to be declared with `var` instead of
`class`, so that accessing them via `globalThis` does not raise type
errors.

Closes #13390.
2023-07-03 14:36:55 -04:00
David Sherret
e8a866ca8a
feat(lsp): support import maps in quick fix and auto-imports (#19692)
Closes https://github.com/denoland/vscode_deno/issues/849
Closes #15330
Closes #10951
Closes #13623
2023-07-03 14:09:24 -04:00
Bartek Iwańczuk
26c2abef7f
fix: Update typings for Deno.errors namespace (#19688)
Follow up to https://github.com/denoland/deno/pull/19514, where I forgot
to update type declarations.
2023-07-03 15:30:39 +02: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
Bartek Iwańczuk
0ddfd5d52a
test: ignore fmt_check_all_files_on_each_change_test (#19682)
Ref https://github.com/denoland/deno/issues/19629
2023-07-02 04:12:03 +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
David Sherret
cfbc9b471f
feat(lsp): basic support of auto-imports for npm specifiers (#19675)
Closes #19625
Closes https://github.com/denoland/vscode_deno/issues/857
2023-07-02 01:07:57 +00:00
Matt Mastracci
e746b6d806
refactor(core): Extract deno_core (#19658)
`deno_core` is moving out! You'll find it at
https://github.com/denoland/deno_core/ once this PR lands.
2023-07-02 00:00:14 +00:00
Nayeem Rahman
b9c0e7cd55
Reland "fix(cli): don't store blob and data urls in the module cache" (#18581)
Relands #18261 now that
https://github.com/lucacasonato/esbuild_deno_loader/pull/54 is landed
and used by fresh.
Fixes #18260.
2023-07-02 00:52:30 +02:00
Luca Casonato
476e4ed03c
fix(ext/kv): expose Deno.AtomicOperation (#19674) 2023-07-01 09:24:15 +02:00
Hans
aec761f755
test(ext/node): add perf_hooks test (#19648) 2023-06-30 16:46:48 +09:00
Kaique da Silva
9befc5cd48
test(ext/node): added unit test for net node modules compat from std (#19663) 2023-06-30 11:44:14 +09:00
Kaique da Silva
fc335bd28d
test(ext/node): added assertion errors test (#19609) 2023-06-30 11:22:04 +09:00
Leo Kettmeir
4db534d461
fix(node/http): add setKeepAlive to FakeSocket (#19659)
Closes #19535
2023-06-30 03:39:16 +02:00
Nicholas Berlette
b6253370cc
fix(console): correct the parseCssColor algorithm (#19645)
This is a fix for issue #19644, concerning the `parseCssColor` function
in the file `ext/console/01_console.js`. Changes made on lines
2756-2758. To sum it up:

> The internal `parseCssColor` function currently parses 3/4-digit hex
colors incorrectly. For example, it parses the string `#FFFFFF` as
`[255, 255, 255]` (as expected), but returns `[240, 240, 240]` for
`#FFF`, when it should return the same triplet as the former.

While it's not going to cause a fatal runtime error, it did bug me
enough to fix it real quick.
2023-06-28 19:46:30 -06:00
Matt Mastracci
30f2cd3d1e
chore: reconfigure windows builder storage (#19601)
Use `C:` drive to build on Windows, as `D:` is too limited.
2023-06-28 13:41:47 -06:00
nasa
d82b5f3bec
fix(cli): Fix the bug where the command description is not displayed. (#19604) 2023-06-28 02:57:20 +02:00
Heyang Zhou
805c922a5c
fix(kv): assertReject should always be awaited (#19612) 2023-06-27 16:41:29 +08:00
Felipe Baltor
814edcdd57
test(ext/node): port crypto_test.ts from deno_std (#19561) 2023-06-27 11:04:49 +09:00