summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-10-11feat(unstable/test): imperative test steps API (#12190)David Sherret
2021-10-11feat(runtime): improve error messages of runtime fs (#11984)Feng Yu
This commit annotates errors returned from FS Deno APIs to include paths that were passed to the API calls. Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2021-10-11fix(ext/ffi): types for nonblocking FFI (#12345)Divy Srivastava
2021-10-11refactor: integrate deno_graph into CLI (#12369)Kitson Kelly
2021-10-10refactor(metrics): move to core (#12386)Aaron O'Mullan
Avoids overhead of wrapping ops (and allocs when inspecting async-op futures)
2021-10-10bench(deno_common): track void ops (#12389)Aaron O'Mullan
To track overhead through the entire CLI opcall stack (metrics included, etc...)
2021-10-10feat: Show the URL of streaming WASM modules in stack traces (#12268)Andreu Botella
WebAssembly modules compiled through `WebAssembly.compile()` and similar non-streaming APIs don't have a URL associated to them, because they have been compiled from a buffer source. In stack traces, V8 will use a URL such as `wasm://wasm/d1c677ea`, with a hash of the module. However, wasm modules compiled through streaming APIs, like `WebAssembly.compileStreaming()`, do have a known URL, which can be obtained from the `Response` object passed into the streaming APIs. And as per the developer-facing display conventions in the WebAssembly Web API spec, this URL should be used in stack traces. This change implements that.
2021-10-10feat: Stabilize Deno.kill and Deno.Process.kill (#12375)Ryan Dahl
Co-authored-by: Luca Casonato <lucacasonato@yahoo.com>
2021-10-10test: remove duplicate import (#12374)Feng Yu
2021-10-10test(ext/ffi): add test for multiple buffers (#12373)Bartek Iwańczuk
2021-10-10feat: stabilize Deno.resolveDns (#12368)Satya Rohith
2021-10-10feat(ext/net): relevant errors for resolveDns (#12370)Satya Rohith
2021-10-08chore(wpt): Enable WPT worker tests (#12222)Andreu Botella
Classic workers were implemented in denoland#11338, which also enabled the WPT tests in the `workers` directory. However, the rest of WPT worker tests were not enabled because a number of them were hanging due to web-platform-tests/wpt#29777. Now that that WPT issue is fixed, the bulk of worker tests can be enabled. There are still a few tests that hang, and so haven't been enabled. In particular: - The following tests seem to hang because a promise fails to resolve. We can detect such cases in non-worker tests because the process will exit without calling the WPT completion callback, but in worker tests the worker message ops will keep the event loop running. This will be fixed when we add timeouts to WPT tests (denoland#9460). - `/fetch/api/basic/error-after-response.any.worker.html` - `/html/webappapis/microtask-queuing/queue-microtask-exceptions.any.worker.html` - `/webmessaging/message-channels/worker-post-after-close.any.worker.html` - `/webmessaging/message-channels/worker.any.worker.html` - `/websockets/Create-on-worker-shutdown.any.worker.html` - The following tests apparently hang because a promise rejection is never handled, which will kill the process in the main thread but not in workers (denoland#12221). - `/streams/readable-streams/async-iterator.any.worker.html` - `/workers/interfaces/WorkerUtils/importScripts/report-error-setTimeout-cross-origin.sub.any.worker.html` - `/workers/interfaces/WorkerUtils/importScripts/report-error-setTimeout-redirect-to-cross-origin.sub.any.worker.html` - `/workers/interfaces/WorkerUtils/importScripts/report-error-setTimeout-same-origin.sub.any.worker.html`
2021-10-08feat(ext/crypto): implement deriveBits for ECDH (p256) (#11873)Divy Srivastava
2021-10-08feat(compat): inject Node globals in REPL (#12352)Bartek Iwańczuk
2021-10-08feat(runtime): allow passing extensions via Worker options (#12362)Aaron O'Mullan
2021-10-08fix(ext/web): Format DOMException stack property (#12333)Kenta Moriuchi
2021-10-08fix(ext/ffi): missing "buffer" type definitions (#12371)Divy Srivastava
2021-10-08refactor: deduplicate `defineEventHandler` util (#12367)Andreu Botella
2021-10-07perf(fetch): fast path Uint8Array in extractBody() (#12351)Aaron O'Mullan
2021-10-07tests: make worker test deterministic (#12361)Nayeem Rahman
2021-10-07fix(runtime): Getting `navigator.hardwareConcurrency` on workers shouldn't ↵Andreu Botella
throw (#12354)
2021-10-07feat(core): cleaner opcall stack traces (#12358)Aaron O'Mullan
2021-10-07fix(ext/ffi): don't panic in dlopen (#12344)Divy Srivastava
2021-10-07fix(runtime): don't equate SIGINT to SIGKILL on Windows (#12356)Bert Belder
2021-10-06bench(op_baseline): measure Deno.core.isProxy() (#12347)Aaron O'Mullan
2021-10-06Revert "fix(cli): ensure empty lines don't count towards coverage (#11957)" ↵Bartek Iwańczuk
(#12348) This reverts commit d5b38a992933db5cb2d0221e9d82af191022dad5.
2021-10-06feat(compat): inject Node globals (#12342)Bartek Iwańczuk
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-06fix(ext/crypto): key generation based on AES key length (#12146)Divy Srivastava
2021-10-06feat(ext/crypto): export spki for RSA (#12114)Divy Srivastava
2021-10-06fix(cli): ensure empty lines don't count towards coverage (#11957)Casper Beyer
2021-10-05Remove some unused benchmarks (#12315)Ryan Dahl
2021-10-06fix(ext/ffi): formatting dlopen errors on Windows (#12301)Divy Srivastava
2021-10-06feat(compat): add support for node: prefixed built-ins (#12337)Bartek Iwańczuk
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-06feat(ext/ffi): add support for buffer arguments (#12335)Bartek Iwańczuk
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-05perf(webidl): fix typo from #12286 (#12336)Aaron O'Mullan
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-05feat(lint): add support for --watch flag (#11983)CGQAQ
2021-10-05feat(core): native binding names (#12290)Aaron O'Mullan
Makes native builtin functions easier to recognize when debugging/profiling, they would otherwise appear as "(anonymous)" functions
2021-10-05refactor(runtime): Worker bootstrap options (#12299)Aaron O'Mullan
2021-10-05chore: various op cleanup (#12329)Leo K
2021-10-05chore: merge v1.14.3 into main (#12327)Bartek Iwańczuk
2021-10-05feat(ext/ffi): Non-blocking FFI (#12274)Divy Srivastava
2021-10-05feat: add --compat flag to provide built-in Node modules (#12293)Bartek Iwańczuk
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-04chore: remove No*Permissions structs (#12316)Luca Casonato
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-04test: refactor lint tests into directories (#12317)Bartek Iwańczuk
Just reorganizing lint tests in such a way that adding new file in a directory doesn't change result of other tests.
2021-10-04perf(webidl): optimize createRecordConverter() (#12286)Aaron O'Mullan
Cuts self-time by ~6x, 172ns/iter => 22ns/iter benched on 1M Response builds / HeadersInit calls
2021-10-04refactor(core): split opcall into sync/async (#12312)Aaron O'Mullan
2021-10-04fix(core/runtime): sync_ops_cache if nuked Deno ns (#12302)Aaron O'Mullan
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-03perf(core): use opcall() directly (#12310)Aaron O'Mullan
Instead of the wrapper dispatch() func, also now forbids passing opIds to opSync()/opAsync() callers must always pass names
2021-10-03feat(web): Implement `DOMException`'s `stack` property. (#12294)Andreu Botella
As per WebIDL (https://heycam.github.io/webidl/#es-DOMException-specialness), if `Error` objects have a `stack` property, so should `DOMException` instances.