summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-04-28chore(lsp): remove dead code (#10409)Satya Rohith
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-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-28docs: edit wording for consistency/grammar (#10375)dev-nicolaos
2021-04-28ci: build only lib and bins (#10401)Yoshiya Hinosawa
Currently we specify --all-targets when building. It's equivalent of --lib --bins --tests --benches --examples, but in test release jobs, we don't need to build everything. So this PR reduces build target to only --bin deno --bin test_server in build phase, and reduces test targets to --bins --lib --tests. This skips the building of benches and examples in test release jobs.
2021-04-28chore: upgrade dprint plugins (#10397)Satya Rohith
2021-04-28docs: document how to stop file watcher (#10403)Yoshiya Hinosawa
2021-04-27test(cli): run unit tests using Deno.test (#10330)Casper Beyer
Co-authored-by: Luca Casonato <lucacasonato@yahoo.com>
2021-04-27remove --unstable flag from CLI features (#10190)Bartek Iwańczuk
2021-04-27fix(console): circular customInspect (#10338)Aaron O'Mullan
2021-04-27docs: fix ftruncateSync example (#10393)Yoshiya Hinosawa
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-27docs: remove --lite command line flag (#10386)Ryan Dahl
2021-04-26Remove denort optimization (#10350)Ryan Dahl
denort is an optimization to "deno compile" to produce slightly smaller output. It's a decent idea, but causes a lot of negative side-effects: - Deno's link time is a source of constant agony both locally and in CI, denort doubles link time. - The release process is a long and arduous undertaking with many manual steps. denort necessitates an additional manual zip + upload from M1 apple computers. - The "deno compile" interface is complicated with the "--lite" option. This is confusing for uses ("why wouldn't you want lite?"). The benefits of this feature do not outweigh the negatives. We must find a different approach to optimizing "deno compile" output.
2021-04-26feat(core): enable wasm threading support (#10116)Casper Beyer
2021-04-26feat: Support deno-fmt-ignore-file for markdown formatting (#10191)David Sherret
2021-04-26fix: invalid types for asynchronous and synchronous `File#truncate` (#10353)Carter Snook
2021-04-26flamebench: streamline profiling benches (#10121)Aaron O'Mullan
2021-04-26remove #![deny(warnings)] (#10376)Ryan Dahl
Prefer RUSTFLAGS="-D warnings" to prevent warnings, but cannot enable yet due to #10378.
2021-04-26tests: enable idlharness wpt (#10371)Luca Casonato
This enables more test cases that expose issues in our implementation.
2021-04-26fix(#10360): clarify JSDoc for `Deno.noColor` (#10373)Carter Snook
Fixes #10360 Co-authored-by: Luca Casonato <lucacasonato@yahoo.com>
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-26fix(#10362): include range for export statements (#10369)Satya Rohith
Fixes #10362
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-25refactor(core): move builtin ops to their own file (#10336)Aaron O'Mullan
2021-04-25feat(core): allow async opcalls in snapshots (#10308)Aaron O'Mullan
2021-04-25fix(cli/dts): sleepSync doesn't return a Promise (#10358)Aaron O'Mullan
Per its name its synchronous for the current thread
2021-04-24feat(cli/upgrade): add download progress (#10343)crowlKats
2021-04-24ci: only run WPT on linux (#10351)Ryan Dahl
2021-04-24docs: updated link (#10345)Anssi Eteläniemi
2021-04-23refactor: use 'data-url' crate to process data URLs in lsp & file_fetcher ↵Satya Rohith
(#10196) Closes: #10118
2021-04-23fix(op_crates/fetch): Prevent throwing when inspecting a request (#10335)Jesse Jackson
Fixes: #10334
2021-04-23Key CI cache on build profile (#10333)Ryan Dahl
We are aware that "lint debug ubuntu" and "test debug ubuntu" are sharing caches - and that it is not ideal. Likely the lint cache will be written first, and test-debug will have to build extra. However neither are the bottleneck now. We proceed on the assumption that we're hitting the 5 GB cache limit on a single PR, inducing a forever-rolling behavior. If "test debug ubuntu" becomes the bottleneck in the future we will revisit.
2021-04-23Use ubuntu-latest-xl on more CI jobs (#10322)Ryan Dahl
2021-04-23refactor(core): rename send() to opcall() (#10307)Aaron O'Mullan
I think it's a better fit since recv() was killed and opcall <> syscall (send/recv was too reminiscent of request/response and custom payloads)
2021-04-231.9.2Luca Casonato
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-23fix(cli): standalone bin corruption on M1 (#10311)Aaron O'Mullan
2021-04-23fix(op_crates/webgpu): move non-null op buffer arg check when needed (#10319)crowlKats
2021-04-23chore: remove dead code (#10321)Ryan Dahl
2021-04-23fix: parse websocket messages correctly (#10318)Luca Casonato
2021-04-22fix(#10292): Don't gray-out internal frames (#10293)Ryan Dahl
2021-04-22ci: separate cache for cargo home and build output (#10306)Yoshiya Hinosawa
2021-04-21fix(#10302): flaky worker test (#10303)Ryan Dahl
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-21refactor(core): kill recv() and init() (#10299)Aaron O'Mullan
`init()` was previously needed to init the shared queue, but now that it's gone `init()` only registers the async msg handler which is snapshot safe and constant since the op layer refactor.