summaryrefslogtreecommitdiff
path: root/core
AgeCommit message (Collapse)Author
2022-05-181.22.0 (#14657)denobot
Co-authored-by: Divy Srivastava <dj.srivastava23@gmail.com>
2022-05-17fix(core): support classifying ENOTDIR (#14646)Aaron O'Mullan
2022-05-17feat(core): deterministic snapshots (#14037)Divy Srivastava
2022-05-15perf(core): optimize encode on large strings (#14619)Aaron O'Mullan
Follow up to serde_v8's #14450
2022-05-15Revert "core: don't include_str extension js code (#10786)" (#14614)Aaron O'Mullan
This reverts commit 10e50a120744de71d6915af4ae93f8231607573d Alternative to #13217, IMO the tradeoffs made by #10786 aren't worth it. It breaks abstractions (crates being self-contained, deno_core without snapshotting etc...) and causes pain points / gotchas for both embedders & devs for a relatively minimal gain in incremental build time ... Closes #11030
2022-05-14chore: upgrade rusty_v8 to 0.42.1 (#14597)Divy Srivastava
2022-05-13chore(runtime): Make some ops in ext and runtime infallible. (#14589)Andreu Botella
Co-authored-by: Aaron O'Mullan <aaron.omullan@gmail.com>
2022-05-12feat(ops): infallible / result-free ops (#14585)Aaron O'Mullan
2022-05-12feat(ops): #[op(v8)] (#14582)Aaron O'Mullan
2022-05-121.21.3 (#14584)Bert Belder
2022-05-08fix(core): avoid panic on non-string Error.name (#14529)Aaron O'Mullan
Fixes #14518
2022-05-07refactor(core): add AssertedModuleType enum (#14501)Bartek Iwańczuk
Co-authored-by: Luca Casonato <hello@lcas.dev>
2022-05-051.21.2 (#14508)Colin Ihrig
1.21.2
2022-05-05refactor(core): use Box<u8> for ModuleSource.code instead of a String (#14487)Bartek Iwańczuk
2022-05-05chore: update deps (#14416)Luca Casonato
2022-05-03refactor: add core.formatLocationFilename, remove op_format_filename (#14474)Bartek Iwańczuk
This commit moves "op_format_location" to "core/ops_builtin.rs" and removes "Deno.core.createPrepareStackTrace" in favor of "Deno.core.prepareStackTrace". Co-authored-by: Aaron O'Mullan <aaron.omullan@gmail.com>
2022-04-28Forward 1.21.1 (#14428)Leo Kettmeir
2022-04-27refactor: Remove PrettyJsError and js_error_create_fn (#14378)Nayeem Rahman
This commit: - removes "fmt_errors::PrettyJsError" in favor of "format_js_error" fn - removes "deno_core::JsError::create" and "deno_core::RuntimeOptions::js_error_create_fn" - adds new option to "deno_runtime::ops::worker_host::init"
2022-04-26refactor(core): Remove ErrWithV8Handle (#14394)Nayeem Rahman
2022-04-25cleanup(serde_v8): disambiguate ZeroCopyBuf (#14380)Aaron O'Mullan
2022-04-22chore: bump crates (#14365)Luca Casonato
2022-04-22Reland "perf(http): optimize ReadableStreams backed by a resource" (#14346)Divy Srivastava
2022-04-201.21.0 (#14336)denobot
Co-authored-by: ry <ry@users.noreply.github.com> Co-authored-by: David Sherret <dsherret@gmail.com>
2022-04-21Revert various PRs related to "ext/http" (#14339)Bartek Iwańczuk
* Revert "feat(ext/http): stream auto resp body compression (#14325)" * Revert "core: introduce `resource.read_return` (#14331)" * Revert "perf(http): optimize `ReadableStream`s backed by a resource (#14284)"
2022-04-20upgrade: rusty_v8 0.42.0 (#14334)Ryan Dahl
2022-04-20core: introduce `resource.read_return` (#14331)Divy Srivastava
2022-04-18perf: move Deno.writeTextFile and like functions to Rust (#14221)David Sherret
Co-authored-by: Luca Casonato <hello@lcas.dev>
2022-04-17feat(core): Add initial support for realms (#14019)Andreu Botella
This commit adds tentative support for multiple realms in "deno_core". It adds the "JsRealm" API that adds methods like "JsRuntime"'s "handle_scope", "global_object" and "execute_script" specific to the realm.
2022-04-16feat: Better formatting for AggregateError (#14285)Bartek Iwańczuk
This commit adds "aggregated" field to "deno_core::JsError" that stores instances of "JsError" recursively to properly handle "AggregateError" formatting. Appropriate logics was added to "PrettyJsError" and "console" API to format AggregateErrors. Co-authored-by: Nayeem Rahman <nayeemrmn99@gmail.com>
2022-04-15refactor: Move source map lookups to core (#14274)Nayeem Rahman
The following transformations gradually faced by "JsError" have all been moved up front to "JsError::from_v8_exception()": - finding the first non-"deno:" source line; - moving "JsError::script_resource_name" etc. into the first error stack in case of syntax errors; - source mapping "JsError::script_resource_name" etc. when wrapping the error even though the frame locations are source mapped earlier; - removing "JsError::{script_resource_name,line_number,start_column,end_column}" entirely in favour of "js_error.frames.get(0)". We also no longer pass a js-side callback to "core/02_error.js" from cli. I avoided doing this on previous occasions because the source map lookups were in an awkward place.
2022-04-15feat(test): format user code output (#14271)Bartek Iwańczuk
This commit changes "deno test" to better denote user output coming from test cases. This is done by printing "---- output ----" and "---- output end ----" markers if an output is produced. The output from "console" and "Deno.core.print" is captured, as well as direct writes to "Deno.stdout" and "Deno.stderr". To achieve that new APIs were added to "deno_core" crate, that allow to replace an existing resource with a different one (while keeping resource ids intact). Resources for stdout and stderr are replaced by pipes. Co-authored-by: David Sherret <dsherret@gmail.com>
2022-04-14chore: forward v1.20.6 release commit to main (#14288)David Sherret
2022-04-13refactor(core/error): Clarify JsError message fields (#14269)Nayeem Rahman
2022-04-13feat(ext/web): Add error events for event listener and timer errors (#14159)Nayeem Rahman
- feat: Add handleable error event for even listener errors - feat: Add handleable error event for setTimeout()/setInterval() errors - feat: Add Deno.core.destructureError() - feat: Add Deno.core.terminate() - fix: Don't throw listener errors from dispatchEvent() - fix: Use biased mode when selecting between mod_evaluate() and run_event_loop() results
2022-04-08fix: upgrade to swc_ecmascript 0.143 (#14238)David Sherret
2022-04-08refactor(core): OpCtx (#14228)Aaron O'Mullan
2022-04-07chore: forward v1.20.5 release commit to main (#14232)David Sherret
2022-04-02chore: update tokio, tokio-util and libc dependencies (#14174)Bartek Iwańczuk
2022-04-02feat(serde_v8): DetachedBuffer (#14102)Aaron O'Mullan
2022-04-02feat(ops): #[op(unstable)] (#14124)Aaron O'Mullan
2022-03-311.20.4 (#14168)David Sherret
2022-03-27perf: micro-optimize core.encode (#14120)Divy Srivastava
2022-03-25chore: forward v1.20.3 release commit to main (#14121)Luca Casonato
2022-03-241.20.2Kitson Kelly
2022-03-22chore(core): Remove a note that is no longer relevant. (#14069)Andreu Botella
This note about how `v8::SnapshotCreator::create_blob` must not be called from a `HandleScope` stopped being relevant in #6801, and was now attached to code that had nothing to do with `HandleScope`s.
2022-03-22feat(core): disableable extensions & ops (#14063)Aaron O'Mullan
Streamlines a common middleware pattern and provides foundations for avoiding variably sized v8::ExternalReferences & enabling fully monomorphic op callpaths
2022-03-22feat(core): Add JsRuntime::get_module_namespace to access the namespace ↵Filip Kieres
object of a module (#14026)
2022-03-22feat: upgrade to swc_ecmascript 0.137.0 (#14067)David Sherret
2022-03-22fix(fetch): Fix uncaught rejection panic with ↵Andreu Botella
`WebAssembly.instantiateStreaming` (#13925) When an exception is thrown during the processing of streaming WebAssembly, `op_wasm_streaming_abort` is called. This op calls into V8, which synchronously rejects the promise and calls into the promise rejection handler, if applicable. But calling an op borrows the isolate's `JsRuntimeState` for the duration of the op, which means it is borrowed when V8 calls into `promise_reject_callback`, which tries to borrow it again, panicking. This change changes `op_wasm_streaming_abort` from an op to a binding (`Deno.core.abortWasmStreaming`). Although that binding must borrow the `JsRuntimeState` in order to access the `WasmStreamingResource` stored in the `OpTable`, it also takes ownership of that `WasmStreamingResource` instance, which means it can drop any borrows of the `JsRuntimeState` before calling into V8.
2022-03-21fix(core): variadic opSync/opAsync (#14062)Aaron O'Mullan