summaryrefslogtreecommitdiff
path: root/runtime
AgeCommit message (Collapse)Author
2021-05-10feat: add WebStorage API (#7819)crowlKats
This commit introduces localStorage and sessionStorage.
2021-05-08cleanup(ops): remove unused ZeroCopyBuf arg-types (#10530)Aaron O'Mullan
2021-05-07fix: align plugin api with Extension (#10427)Elias Sjögreen
2021-05-06refactor(ops): replace `ZeroCopyBuf` arg by 2nd generic deserializable arg ↵Aaron O'Mullan
(#10448)
2021-05-06chore: update wgpu and realign to spec (#9760)Luca Casonato
2021-05-03fix(core): error registration could pollute constructors (#10422)Aaron O'Mullan
Co-authored-by: Luca Casonato <lucacasonato@yahoo.com>
2021-05-02refactor(runtime): use Extensions (#10461)Aaron O'Mullan
2021-05-02cleanup(runtime): re-export deno_timers like all other deno crates (#10464)Aaron O'Mullan
2021-04-30refactor(core): provide builtins as an Extension (#10449)Aaron O'Mullan
2021-04-30Rename crate_ops to extensions (#10431)Andy Hayden
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-28refactor(extensions): reintroduce builder (#10412)Aaron O'Mullan
2021-04-28feat(test): run test modules in parallel (#9815)Casper Beyer
This commit adds support for running test in parallel. Entire test runner functionality has been rewritten from JavaScript to Rust and a set of ops was added to support reporting in Rust. A new "--jobs" flag was added to "deno test" that allows to configure how many threads will be used. When given no value it defaults to 2.
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-28chore: upgrade dprint plugins (#10397)Satya Rohith
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-25feat(cli): add test permissions to Deno.test (#10188)Casper Beyer
This commits adds adds "permissions" option to the test definitions which allows tests to run with different permission sets than the process's permission. The change will only be in effect within the test function, once the test has completed the original process permission set is restored. Test permissions cannot exceed the process's permission. You can only narrow or drop permissions, failure to acquire a permission results in an error being thrown and the test case will fail.
2021-04-26refactor(cli): rename Deno.emit() bundle options to "module" and "classic" ↵Nayeem Rahman
(#10332)
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-23chore: release crates (#10327)Luca Casonato
Release crates for the cli 1.9.2 release.
2021-04-23chore: update dependencies (#10325)Luca Casonato
This updates swc_* crates to latest, and various other deps.
2021-04-23fix(runtime/js/http): cancel body on response failure (#10225)Nayeem Rahman
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: do not panic on not found cwd (#10238)Satya Rohith
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-20fix(runtime): include HTTP op in WebWorker (#10207)Satya Rohith
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-20revert: Conn type changes in #10012 and #10061 (#10255)Kitson Kelly
Fixes #10200 (again) This reverts commit 9c7c9a35c12625bd4793c21539391d6b08d17e73 and a8057e3e06962a8d7c6330a085704bb4493eed04.
2021-04-19fix(rt/http): correct URL in Request (#10256)Luca Casonato
This commit fixes the URL returned from `request.url` in the HTTP server to be fully qualified. This previously existed, but was removed and accidentially not readded during optimizations of the HTTP ops. Returning a non fully qualified URL from `Request#url` is not spec compliant.
2021-04-19fix(runtime): handle race condition in postMessage where worker has ↵Liam Murphy
terminated (#10239) The panic was caused by the lack of an error class mapping for futures::channel::TrySendError, but it shouldn't have been throwing an error in the first place - when a worker has terminated, postMessage should just return. The issue was that the termination message hadn't yet been recieved, so it was carrying on with trying to send the message. This adds another check on the Rust side for if the channel is closed, and if it is the worker is treated as terminated.
2021-04-16fix(#10200): weaken types so non-breaking (#10205)Kitson Kelly
Fixes #10200
2021-04-15fix(#10182): hang during http server response (#10197)Ryan Dahl
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-14perf(js/http): avoid v8 deopt in async iterator (#10160)Aaron O'Mullan
2021-04-13chore: release crates (#10164)Bartek Iwańczuk
2021-04-13fix(cli/dts): Make respondWith() return a Promise (#10128)Nayeem Rahman
2021-04-13feat(permissions): allow env permission to take values (#9825)crowlKats
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-12refactor(deno): remove concept of bin & json ops (#10145)Aaron O'Mullan
2021-04-12fix(runtime/js/http): Correctly parse user response headers (#10076)Nayeem Rahman
2021-04-12feat(runtime): add truncate and truncateSync methods to Deno.File (#10130)Casper Beyer
2021-04-12feat(runtime): add stat and statSync methods to Deno.File (#10107)Casper Beyer
2021-04-12perf(runtime): optimize PermissionState::check (#9993)Aaron O'Mullan
2021-04-12feat(runtime): stabilize Deno.fstat and Deno.fstatSync (#10108)Casper Beyer
This commit stabilizes Deno.fstat and Deno.fstatSync which are well known system calls and have a stable interface.
2021-04-12feat: Add Deno.memoryUsage() (#9986)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>