summaryrefslogtreecommitdiff
path: root/runtime/js
AgeCommit message (Collapse)Author
2021-06-07refactor(runtime): move performance API to timers extension (#10818)Satya Rohith
Co-authored-by: Luca Casonato <hello@lcas.dev>
2021-06-06feat(fetch): implement abort (#10863)Luca Casonato
This commit introduces fetch aborting via an AbortSignal.
2021-06-06feat(extensions/crypto): implement subtle.digest (#10796)Casper Beyer
Co-authored-by: Yacine Hmito yacinehmito@users.noreply.github.com
2021-06-06feat(web): Implement TextDecoderStream and TextEncoderStream (#10842)Andreu Botella
2021-06-05refactor(web): use encoding_rs for text encoding (#10844)Luca Casonato
This commit removes all JS based text encoding / text decoding. Instead encoding now happens in Rust via encoding_rs (already in tree). This implementation retains stream support, but adds the last missing encodings. We are incredibly close to 100% WPT on text encoding now. This should reduce our baseline heap by quite a bit.
2021-06-05fix(crypto): change Crypto to interface (#10853)Leo K
Co-authored-by: Luca Casonato <hello@lcas.dev>
2021-06-05fix(streams): expose ReadableByteStreamController & ↵Leo K
TransformStreamDefaultController (#10855)
2021-06-05webutil: replace cloneValue impl with serialize/deserialize (#10215)Elad Keyshawn
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2021-06-03feat(cli): support URL overload for `Deno.chdir` (#10793)Casper Beyer
2021-06-03feat(runtime): support URL overloads for `Deno.symlink` and ↵Casper Beyer
`Deno.symlinkSync` (#10664)
2021-06-03feat(runtime): support URL overloads for Deno.rename/Deno.renameSync (#10512)Casper Beyer
2021-06-01feat: add FsWatcher interface (#10798)Yoshiya Hinosawa
2021-05-31feat(cli): support URL overloads for `Deno.utime` and `Deno.utimeSync` (#10792)Casper Beyer
2021-05-28feat(cli): upgrade to TypeScript 4.3 (#9960)Kitson Kelly
2021-05-23feat(extensions): add BroadcastChannelBen Noordhuis
Co-Authored-By: Ben Noordhuis <info@bnoordhuis.nl> Fixes: #10354
2021-05-21fix(runtime/http): fix empty blob response (#10689)Yoshiya Hinosawa
2021-05-19fix(runtime/http): expose nextRequest() errors in respondWith() (#10384)Nayeem Rahman
2021-05-18chore: update deno_lint binary used in CI to v0.5.0 (#10652)Yusuke Tanaka
2021-05-17feat(runtime): support urls for `Deno.realPath` and `Deno.realPathSync` (#10626)Casper Beyer
2021-05-11feat(runtime/worker): Structured cloning worker message passing (#9323)Tim Ramlot
This commit upgrade "Worker.postMessage()" implementation to use structured clone algorithm instead of non-spec compliant JSON serialization.
2021-05-10feat: add WebStorage API (#7819)crowlKats
This commit introduces localStorage and sessionStorage.
2021-05-07fix: align plugin api with Extension (#10427)Elias Sjögreen
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-04-30refactor(core.js): provide window.__bootstrap (#10423)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-28chore: upgrade dprint plugins (#10397)Satya Rohith
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-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-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-20revert: Conn type changes in #10012 and #10061 (#10255)Kitson Kelly
Fixes #10200 (again) This reverts commit 9c7c9a35c12625bd4793c21539391d6b08d17e73 and a8057e3e06962a8d7c6330a085704bb4493eed04.
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-13fix(cli/dts): Make respondWith() return a Promise (#10128)Nayeem Rahman
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-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-12fix(runtime/js/timers): Use (0, eval) instead of eval() (#10103)Nayeem Rahman
2021-04-11feat: stabilize Deno.ftruncate and Deno.ftruncateSync (#10126)Casper Beyer
This stabilizes Deno.ftruncate and Deno.ftruncateSync. This is a well known system call and the interface is not going to change. Implicitly requires write permissions as the file has to be opened with write to be truncated.
2021-04-10feat(unstable): ALPN config in listenTls (#10065)Luca Casonato
This commit adds the ability for users to configure ALPN protocols when calling `Deno.listenTls`.