summaryrefslogtreecommitdiff
path: root/op_crates
AgeCommit message (Collapse)Author
2021-04-30Rename crate_ops to extensions (#10431)Andy Hayden
2021-04-30refactor(websocket): use ZeroCopyBuf to return binary data (#10446)crowlKats
2021-04-30refactor(core): initialize extensions in runtime constructor (#10421)Aaron O'Mullan
This ensures that provided extensions are all correctly setup and ready to use once the JsRuntime constructor returns Note: this will also initialize ops for to-be-snapshotted runtimes
2021-04-30refactor(core.js): provide window.__bootstrap (#10423)Aaron O'Mullan
2021-04-29fix(op_crate/fetch): infinite loop on fill headers (#10406)William Perron
Fixes a pesky bug in the fetch implementation where if the init part is specified in `fetch` instead of the `Request` constructor, the fillHeaders function receives two references to the same object, causing it to append to the same list being iterated over.
2021-04-28refactor(extensions): reintroduce builder (#10412)Aaron O'Mullan
2021-04-28core: introduce extensions (#9800)Aaron O'Mullan
Extensions allow declarative extensions to "JsRuntime" (ops, state, JS or middleware). This allows for: - `op_crates` to be plug-and-play & self-contained, reducing complexity leaked to consumers - op middleware (like metrics_op) to be opt-in and for new middleware (unstable, tracing,...) - `MainWorker` and `WebWorker` to be composable, allowing users to extend workers with their ops whilst benefiting from the other infrastructure (inspector, etc...) In short extensions improve deno's modularity, reducing complexity and leaky abstractions for embedders and the internal codebase.
2021-04-28refactor(core): simplify module loading code (#10385)Bartek Iwańczuk
General cleanup of module loading code, tried to reduce indentation in various methods on "JsRuntime" to improve readability. Added "JsRuntime::handle_scope" helper function, which returns a "v8::HandleScope". This was done to reduce a code pattern that happens all over the "deno_core". Additionally if event loop hangs during loading of dynamic modules a list of currently pending dynamic imports is printed.
2021-04-28chore: upgrade dprint plugins (#10397)Satya Rohith
2021-04-27fix(console): circular customInspect (#10338)Aaron O'Mullan
2021-04-26fix(tls): throw meaningful error when hostname is invalid (#10387)Bert Belder
`InvalidDNSNameError` is thrown when a string is not a valid hostname, e.g. it contains invalid characters, or starts with a numeric digit. It does not involve a (failed) DNS lookup.
2021-04-26remove #![deny(warnings)] (#10376)Ryan Dahl
Prefer RUSTFLAGS="-D warnings" to prevent warnings, but cannot enable yet due to #10378.
2021-04-25refactor(core): move op cache sync responsibility to rust space (#10340)Aaron O'Mullan
Even if bootstrapping the JS runtime is low level, it's an abstraction leak of core to require users to call `Deno.core.ops()` in JS space. So instead we're introducing a `JsRuntime::sync_ops_cache()` method, once we have runtime extensions a new runtime will ensure the ops cache is setup (for the provided extensions) and then loading/unloading plugins should be the only operations that require op cache syncs
2021-04-23fix(op_crates/fetch): Prevent throwing when inspecting a request (#10335)Jesse Jackson
Fixes: #10334
2021-04-23chore: release crates (#10327)Luca Casonato
Release crates for the cli 1.9.2 release.
2021-04-23fix(op_crates/webgpu): move non-null op buffer arg check when needed (#10319)crowlKats
2021-04-23fix: parse websocket messages correctly (#10318)Luca Casonato
2021-04-21refactor(core): simplify error handling (#10297)Aaron O'Mullan
- register builtin v8 errors in core.js so consumers don't have to - remove complexity of error args handling (consumers must provide a constructor with custom args, core simply provides msg arg)
2021-04-21fix(fetch): Response inspect regression (#10295)Aaron O'Mullan
2021-04-21chore: release crates (#10269)Bartek Iwańczuk
* Revert "tooling(bench_util): benching and profiling utilities (#10223)" This reverts commit 733a00030582375c43fa156e978f25df6ecc9e9a. * Upgrade notify
2021-04-20chore: align fetch to spec (#10203)Luca Casonato
This commit aligns the `fetch` API and the `Request` / `Response` classes belonging to it to the spec. This commit enables all the relevant `fetch` WPT tests. Spec compliance is now at around 90%. Performance is essentially identical now (within 1% of 1.9.0).
2021-04-20chore: update copyright headers (#10243)Yoshiya Hinosawa
2021-04-19refactor(op_crates/websocket): use Serialize for return values (#10220)crowlKats
2021-04-19op_crates/url: basic url_parse bench (#10245)Aaron O'Mullan
2021-04-19chore: align `Headers` to spec (#10199)Luca Casonato
This commit aligns `Headers` to spec. It also removes the now unused 03_dom_iterable.js file. We now pass all relevant `Headers` WPT. We do not implement any sort of header filtering, as we are a server side runtime. This is likely not the most efficient implementation of `Headers` yet. It is however spec compliant. Once all the APIs in the `HTTP` hot loop are correct we can start optimizing them. It is likely that this commit reduces bench throughput temporarily.
2021-04-14chore: align FormData to spec (#10169)Luca Casonato
This PR aligns `FormData` to spec. All WPT tests are passing.
2021-04-14refactor: move timers to deno_timers op crate (#10179)Ben Noordhuis
Move timers out of runtime/ and into a standalone op crate.
2021-04-13chore: release crates (#10164)Bartek Iwańczuk
2021-04-13perf: lazy header instantiation for HTTP requests (#10150)Luca Casonato
This commit introduces a performance optimization for the native HTTP server. From my testing it is about 2-6% faster than `main`. Request headers in the HTTP servers are now lazilly instatated when they are accessed, rather than being preemptively wrapped in the `Headers` class.
2021-04-13perf(fetch): optimize normalizeMethod() (#10154)Aaron O'Mullan
2021-04-12refactor(deno): remove concept of bin & json ops (#10145)Aaron O'Mullan
2021-04-12feat(runtime/permissions): prompt fallback (#9376)crowlKats
Co-authored-by: Yoshiya Hinosawa <stibium121@gmail.com> Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2021-04-11fix(op_crates/console): console.table value misalignment with varying keys ↵Liam Murphy
(#10127)
2021-04-11feat: blob URL support in fetch (#10120)Luca Casonato
This commit adds blob URL support in `fetch`. Tested via WPT. This is the first op_crate to have a rust dependency on a different op_crate.
2021-04-11refactor(op_crates/web): remove unused code path in TextEncoder (#10104)Thiago de Arruda Padilha
According to https://developer.mozilla.org/en-US/docs/Web/API/TextEncoder, TextEncoder should ignore the "encoding" parameter and always use "utf-8".
2021-04-10feat: data URL support in fetch (#10054)Luca Casonato
This commit adds data URL support in `fetch`. Tested via wpt.
2021-04-09feat(lsp): add registry import auto-complete (#9934)Kitson Kelly
2021-04-08chore: update deps (#10058)Luca Casonato
This commit updates crate dependencies.
2021-04-08fix: enable FileReader wpt and align to spec (#10063)Luca Casonato
This adds some algorithms from the whatwg mimesniff, whatwg infra, and whatwg encoding specs that FileReader needs to use internally.
2021-04-08chore: update deno_file to use deno_webidl (#10042)Luca Casonato
This changes the custom input converters in deno_file to use deno_webidl converters.
2021-04-07feat: blob URL support (#10045)Luca Casonato
This commit adds blob URL support. Blob URLs are stored in a process global storage, that can be accessed from all workers, and the module loader. Blob URLs can be created using `URL.createObjectURL` and revoked using `URL.revokeObjectURL`. This commit does not add support for `fetch`ing blob URLs. This will be added in a follow up commit.
2021-04-06fix(webgpu): correct GPUFeatureName webidl to match typings (#10023)crowlKats
2021-04-06refactor: add deno_file op crate (#10019)Luca Casonato
Also enables WPT for FileReader.
2021-04-05refactor: convert ops to use serde_v8 (#10009)Aaron O'Mullan
This commit rewrites most of the ops to use "serde_v8" instead of "json" serialization.
2021-04-02refactor(ops): remove variadic buffers (#9944)Aaron O'Mullan
2021-04-02chore: bump dependent crates for cli (#9964)Kitson Kelly
2021-04-02Revert "fix(cli): align type definitions to spec (#9782)" (#9961)Kitson Kelly
This reverts commit f8aff8edcdb7330a8cc397e2af2ec445533ce970.
2021-04-02fix(websocket): ignore resource close error (#9755)Luca Casonato
It is possible that the WebSocket is already closed when we try to close it with `WebSocket#close` or in the `error` or `close` events. Currently this leads to an uncatchable promise rejection. This changes this so that closing an already closed WebSocket is a noop.
2021-04-01fix(cli): align type definitions to spec (#9782)Casper Beyer
Fixes #5666
2021-03-27fix: update wpt + align AbortController (#9907)crowlKats