Bartek Iwańczuk
b686907a45
feat(compat): inject Node globals ( #12342 )
...
This commit adds automatic injection of Node globals when "--compat" flag
is present.
This is done by executing "https://deno.land/std/node/global.ts " as a "side module",
before main module is executed.
This commit makes "--compat" required to be used with "--unstable" flag, as some
of Node globals require unstable Deno APIs.
2021-10-06 19:07:04 +02:00
Divy Srivastava
b033a7a6d4
fix(ext/crypto): key generation based on AES key length ( #12146 )
2021-10-06 11:24:41 +02:00
Divy Srivastava
3aa8591595
feat(ext/crypto): export spki for RSA ( #12114 )
2021-10-06 11:18:12 +02:00
Casper Beyer
d5b38a9929
fix(cli): ensure empty lines don't count towards coverage ( #11957 )
2021-10-06 07:05:18 +02:00
Ryan Dahl
10c415eaaa
Remove some unused benchmarks ( #12315 )
2021-10-05 22:27:44 -04:00
Divy Srivastava
2b39e74477
fix(ext/ffi): formatting dlopen errors on Windows ( #12301 )
2021-10-06 02:13:56 +02:00
Bartek Iwańczuk
37a24c7bdf
feat(compat): add support for node: prefixed built-ins ( #12337 )
...
Adds support for "node:" prefix for Node built-ins in "--compat" mode.
As per https://nodejs.org/api/esm.html#esm_node_imports
2021-10-06 01:25:13 +02:00
Bartek Iwańczuk
3faf75aa88
feat(ext/ffi): add support for buffer arguments ( #12335 )
...
This commit adds support for passing buffer arguments across
FFI boundary.
Co-authored-by: eliassjogreen <eliassjogreen1@gmail.com>
Co-authored-by: Bert Belder <bertbelder@gmail.com>
2021-10-06 00:27:05 +02:00
Aaron O'Mullan
58bb63f355
perf(webidl): fix typo from #12286 ( #12336 )
...
In a tweak commit of #12286 I accidentally eliminated the else branch ... running the slow & the fast path providing a worst of both worlds path
2021-10-05 23:37:50 +02:00
CGQAQ
c555b31d40
feat(lint): add support for --watch flag ( #11983 )
2021-10-05 23:07:38 +02:00
Aaron O'Mullan
22328f8758
feat(core): native binding names ( #12290 )
...
Makes native builtin functions easier to recognize when debugging/profiling, they would otherwise appear as "(anonymous)" functions
2021-10-05 22:55:51 +02:00
Aaron O'Mullan
678a881f63
refactor(runtime): Worker bootstrap options ( #12299 )
2021-10-05 22:41:14 +02:00
Leo K
77a00ce1fb
chore: various op cleanup ( #12329 )
2021-10-05 22:38:27 +02:00
Bartek Iwańczuk
d67e858506
chore: merge v1.14.3 into main ( #12327 )
2021-10-05 21:40:39 +02:00
Divy Srivastava
80aee99c9e
feat(ext/ffi): Non-blocking FFI ( #12274 )
2021-10-05 14:50:00 +02:00
Bartek Iwańczuk
f1d3a17043
feat: add --compat flag to provide built-in Node modules ( #12293 )
...
This commit adds "--compat" flag. When the flag is passed a set of mappings for
built-in Node modules is injected into the import map. If user doesn't
explicitly provide an import map (using "--import-map" flag) then a map is
created on the fly. If there are already existing mappings in import map that
would clash with built-in Node modules a set of diagnostics is printed to the
terminal with suggestions how to proceed.
2021-10-05 01:35:55 +02:00
Luca Casonato
64a7187238
chore: remove No*Permissions structs ( #12316 )
...
These are confusing. They say they are "for users that don't care about
permissions", but that isn't correct. `NoTimersPermissions` disables
permissions instead of enabling them.
I would argue that implementors should decide what permissions they want
themselves, and not take our opinionated permissions struct.
2021-10-04 22:56:24 +02:00
Bartek Iwańczuk
c6ae41fd87
test: refactor lint tests into directories ( #12317 )
...
Just reorganizing lint tests in such a way that adding new file in a directory doesn't change result of other tests.
2021-10-04 18:16:49 +02:00
Aaron O'Mullan
5f41f822e7
perf(webidl): optimize createRecordConverter() ( #12286 )
...
Cuts self-time by ~6x, 172ns/iter => 22ns/iter benched on 1M Response builds / HeadersInit calls
2021-10-04 15:39:32 +02:00
Aaron O'Mullan
ea7a63cd5a
refactor(core): split opcall into sync/async ( #12312 )
2021-10-04 12:34:53 +02:00
Aaron O'Mullan
4a1300edde
fix(core/runtime): sync_ops_cache if nuked Deno ns ( #12302 )
...
Decouple JsRuntime::sync_ops_cache() from the availability of the Deno.* namespace in the global scope
This avoids crashes when calling sync_ops_cache() on a bootstrapped WebWorker who has dropped its Deno.* namespace
It's also just cleaner and more robust ...
2021-10-04 11:45:41 +02:00
Aaron O'Mullan
11acdf1ea8
perf(core): use opcall() directly ( #12310 )
...
Instead of the wrapper dispatch() func, also now forbids passing opIds to opSync()/opAsync() callers must always pass names
2021-10-03 21:02:50 +02:00
Andreu Botella
2170a41d97
feat(web): Implement DOMException
's stack
property. ( #12294 )
...
As per WebIDL (https://heycam.github.io/webidl/#es-DOMException-specialness ),
if `Error` objects have a `stack` property, so should `DOMException`
instances.
2021-10-03 17:21:49 +02:00
Divy Srivastava
8884141c3f
fix(ext/crypto): missing Aes key typings ( #12307 )
2021-10-03 15:24:46 +02:00
Ahab
198f5b9514
fix(ext/net): should not panic when listening to unix abstract address ( #12300 )
2021-10-02 19:09:59 +02:00
Divy Srivastava
21520f5ff1
feat(ext/crypto): decode RSAES-OAEP-params with default values ( #12292 )
2021-10-02 15:20:53 +02:00
Aaron O'Mullan
26de516558
feat(core): implement Deno.core.isProxy() ( #12288 )
2021-10-01 20:25:33 +02:00
Divy Srivastava
1dfa35b2ba
fix(ext/crypto): use NotSupportedError for importKey() ( #12289 )
2021-10-01 13:16:11 +02:00
Aaron O'Mullan
f68825eda0
perf(fetch): optimize fillHeaders() key iteration ( #12287 )
...
Reduces self-time by ~70x (~70ms => ~1ms on 1M iters)
for...in filtered by hasOwnProperty yields the same set of keys as Object.keys()
2021-10-01 12:17:16 +02:00
Divy Srivastava
5065c7bcd9
feat(ext/crypto): implement wrapKey ( #12125 )
2021-10-01 11:39:49 +02:00
Nayeem Rahman
b354eaa247
fix(runtime/js/workers): throw errors instead of using an op ( #12249 )
2021-10-01 11:30:55 +02:00
Divy Srivastava
c0b6c0eea5
fix(ext/crypto): decode id-RSASSA-PSS with default params ( #12147 )
2021-10-01 11:14:16 +02:00
Aaron O'Mullan
7f390612a3
perf(web): optimize byteLowerCase() ( #12282 )
2021-10-01 01:03:51 +02:00
Aaron O'Mullan
b3ceafaa5d
tools(bench): rebootstrap ( #12281 )
...
Enable deno devs to bench/profile/test JS code changes without doing a full --release rebuild.
Incremental release builds take ~4mn on M1s, often more on other machines ...
2021-10-01 00:42:24 +02:00
Casper Beyer
6bf5c850e6
fix(runtime/testing): format aggregate errors ( #12183 )
2021-09-30 21:54:56 +02:00
David Sherret
c3e441c5b5
fix: worker environment permissions should accept an array ( #12250 )
2021-09-30 15:50:59 -04:00
David Sherret
cdac190583
chore: ensure first process in shared flock test does not enter and exit lock before second enters ( #12255 )
2021-09-30 15:45:13 -04:00
Aaron O'Mullan
72836478f2
perf(webidl): optimize createDictionaryConverter() ( #12279 )
...
On a benchmark constructing Responses with headers this shaves off 25%
2021-09-30 21:33:12 +02:00
Andreu Botella
a2632c86b1
fix: Don't panic when a worker is closed in the reactions to a wasm operation. ( #12270 )
2021-09-30 19:52:58 +02:00
Aaron O'Mullan
68e5cdaff0
perf(web): ~400x faster http header trimming ( #12277 )
...
Use a regex substring match with a first/last char fastpath instead of 2 regex replaces. Roughly ~400x faster (423ms vs 0.7ms in profiled runs)
2021-09-30 18:39:55 +02:00
Sylvain Cau
ee2e25fba7
feat(cli/uninstall): add uninstall command ( #12209 )
2021-09-30 11:38:07 -04:00
Yoshiya Hinosawa
f602d63f48
fix(repl): avoid panic when assigned to globalThis ( #12273 )
2021-10-01 00:25:58 +09:00
Luca Casonato
0d7a417f33
feat(tls): custom in memory CA certificates ( #12219 )
...
This adds support for using in memory CA certificates for
`Deno.startTLS`, `Deno.connectTLS` and `Deno.createHttpClient`.
`certFile` is deprecated in `startTls` and `connectTls`, and removed
from `Deno.createHttpClient`.
2021-09-30 09:26:15 +02:00
mynane
62920e4ef5
fix(ext/http): merge identical if/else branches ( #12269 )
2021-09-29 11:55:10 -07:00
Aaron O'Mullan
4cf744032d
perf(web/Event): move last class field to constructor ( #12265 )
2021-09-29 20:50:25 +02:00
Ahab
923d9c7786
fix(ext/fetch): avoid panic when header is invalid ( #12244 )
2021-09-29 18:42:06 +02:00
Aaron O'Mullan
c896ba2e19
perf(webidl/DOMString): don't wrap string primitives ( #12266 )
2021-09-29 18:06:29 +02:00
Aaron O'Mullan
cd913e51ef
bench(cli): add deno_http_native_headers.js ( #12267 )
2021-09-29 18:06:20 +02:00
Andreu Botella
cdb252af0a
feat: support serializing WebAssembly.Module
objects ( #12140 )
2021-09-29 10:47:24 +02:00
Luca Casonato
5b526e5d17
feat: stabilize URLPattern API ( #12256 )
2021-09-29 10:42:32 +02:00