summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-11-28feat(core): intercept unhandled promise rejections (#12910)Ben Noordhuis
Provide a programmatic means of intercepting rejected promises without a .catch() handler. Needed for Node compat mode. Also do a first pass at uncaughtException support because they're closely intertwined in Node. It's like that Frank Sinatra song: you can't have one without the other. Stepping stone for #7013.
2021-11-28feat(runtime): add op_set_exit_code (#12911)Ben Noordhuis
Set the exit code to use if none is provided to Deno.exit(), or when Deno exits naturally. Needed for process.exitCode Node compat. Paves the way for #12888.
2021-11-26feat(ext/net): ALPN support in `Deno.connectTls()` (#12786)Yury Selivanov
2021-11-26feat(etc/fetch): Support `WebAssembly.instantiateStreaming` for file fetches ↵Andreu Botella
(#12901) Fetching of local files, added in #12545, returns a response with no headers, including the `Content-Type` header. This currently makes it not work with the WebAssembly streaming APIs, which require the response to have a content type of `application/wasm`. Since the only way to obtain a `Response` object with a non-empty `url` field is via `fetch()`, this change changes the content type requirement to only apply to responses whose url has the `file:` scheme.
2021-11-25refactor(repl): move rustyline sync channel communication into struct (#12900)David Sherret
2021-11-25feat(core): Add ability to "ref" and "unref" pending ops (#12889)Bartek Iwańczuk
This commit adds an ability to "ref" or "unref" pending ops. Up to this point Deno had a notion of "async ops" and "unref async ops"; the former keep event loop alive, while the latter do not block event loop from finishing. It was not possible to change between op types after dispatching, one had to decide which type to use before dispatch. Instead of storing ops in two separate "FuturesUnordered" collections, now ops are stored in a single collection, with supplemental "HashSet" storing ids of promises that were "unrefed". Two APIs were added to "Deno.core": "Deno.core.refOp(promiseId)" which allows to mark promise id to be "refed" and keep event loop alive (the default behavior) "Deno.core.unrefOp(promiseId)" which allows to mark promise id as "unrefed" which won't block event loop from exiting
2021-11-25fix(ext/crypto): throw on key & op algo mismatch (#12838)Luca Casonato
2021-11-25fix(cli): fix slow test, unbreak ci (#12897)Ben Noordhuis
Reduce the number of iterations from 1,024 to 128. On my big bruiser of a desktop machine it already takes up close to a minute to complete when nothing else is running so no way it's going to finish in the allotted time on the CI. The fact that the test used to pass may be indicative of a performance regression somewhere but it's not clear to me when or where that would have been introduced. Fixes #12887.
2021-11-25tests: add 'await' to all invocations of 'assertRejects' (#12893)Bartek Iwańczuk
2021-11-25chore: upgrade lspower to 1.4.0 (#12894)Bartek Iwańczuk
2021-11-24chore: merge v1.16.3 into main (#12892)Bert Belder
2021-11-24fix(lsp): lsp should respect include/exclude files in format config (#12876)David Sherret
2021-11-24chore: upgrade Rust version to `1.56.1` (#12870)Abdfn
2021-11-24compat: support compat mode in REPL (#12882)Bartek Iwańczuk
This commit introduces "ProcState::maybe_resolver" field, which stores a single instance of resolver for the whole lifetime of the process, instead of creating these resolvers for each creation of module graph. As a result, this resolver can be used in fallback case where graph is not constructed (REPL, loading modules using "require") unifying resolution logic.
2021-11-24chore: speed up compat tests (#12884)Bartek Iwańczuk
This commit speeds up compat tests by using local copy of "deno_std" instead of downloading it from https://deno.land for each test. Additionally type checking is skipped.
2021-11-24chore: update std submodule to 0.115.1 (#12883)Bartek Iwańczuk
2021-11-23chore(lsp): fix possible race condition with tests expecting 3 ↵David Sherret
publishDiagnostics messages (#12868) The tests expect 3 publish notifications. It was possible for less than 3 to occur if two or more tasks set the diagnostics in the collection, exited the lock at the same time, then called `publish_diagnostics`
2021-11-23fix(cli/compile): skip bundling for pre-bundled code (#12687)Zheyu Zhang
2021-11-24refactor(cli): deduplicate source cache for redirected specifiers (#12795)Nayeem Rahman
2021-11-24fix(cli): don't cache .tsbuildinfo unless emitting (#12830)Nayeem Rahman
Fixes #12755 Fixes #12807 Fixes #12832
2021-11-23tests: remove 'fmt_check_tests_dir' test (#12875)Bartek Iwańczuk
2021-11-23fix(lsp): normalize urls in did_change_watched_files (#12873)igorsaux
2021-11-23refactor: remove "unitTest" wrapper from cli/tests/unit (#12750)Bartek Iwańczuk
2021-11-23fix(cli): config file should resolve paths relative to the config file (#12867)David Sherret
* Add `specifier_to_file_path` to support converting a ModuleSpecifier with a unix-style path to a PathBuf on Windows.
2021-11-23feat(test): Add more overloads for "Deno.test" (#12749)Bartek Iwańczuk
This commit adds 4 more overloads to "Deno.test()" API. ``` // Deno.test(function testName() { }); export function test(fn: (t: TestContext) => void | Promise<void>): void; // Deno.test("test name", { only: true }, function() { }); export function test( name: string, options: Omit<TestDefinition, "name">, fn: (t: TestContext) => void | Promise<void>, ): void; // Deno.test({ name: "test name" }, function() { }); export function test( options: Omit<TestDefinition, "fn">, fn: (t: TestContext) => void | Promise<void>, ): void; // Deno.test({ only: true }, function testName() { }); export function test( options: Omit<TestDefinition, "fn" | "name">, fn: (t: TestContext) => void | Promise<void>, ): void; ```
2021-11-23fix: support "other" event type in FSWatcher (#12836)Luca Casonato
This commit adds support for "other" events in `FSWatcher`. Flags on events are now exposed via the `flag` property on `FsEvent`.
2021-11-23revert: store header keys lower case internally (#12837)Luca Casonato
This reverts commit 49ec3d10ad90851f4d28274a3f0fe96c642204ac.
2021-11-23feat(lsp): add type definition provider (#12789)Kitson Kelly
2021-11-23feat(lsp): add workspace symbol provider (#12787)Kitson Kelly
2021-11-22fix(lsp): use lint exclude files list from the config file (#12825)igorsaux
2021-11-22fix(ext/crypto): don't panic on decryption failure (#12840)Luca Casonato
2021-11-22fix(runtime): support reading /proc using readFile (#12839)Luca Casonato
2021-11-22tests: extend readFile file length during read (#12835)Luca Casonato
This commit adds some tests that demonstrate that Deno.readFile reads the entire file, even if the read file is extended during read.
2021-11-22core(examples): Deserialize the result of execute_script (#12806)Giacomo Rizzi
Example of transforming execute_script response to a serde_json::Value Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2021-11-22fix(core): don't panic when evaluating module after termination (#12833)Bartek Iwańczuk
2021-11-20fix(test): do not throw on error.errors.map (#12810)Yacine Hmito
In tests, the function to format errors would assume that any error with a property `errors` would be an `AggregateError`, and therefore the property `errors` would contain an error. This is not necessarily the case.
2021-11-19fix(fmt): markdown formatting was incorrectly removing some non-breaking ↵David Sherret
space html entities (#12818)
2021-11-19fix(core): keep event loop alive if there are ticks scheduled (#12814)Ben Noordhuis
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2021-11-18refactor(lsp): remove `Documents` mutex and require `Documents` to be ↵David Sherret
mutated to change it (#12747)
2021-11-18fix(lsp): tag deprecated diagnostics properly (#12801)Kitson Kelly
2021-11-17test(ext/http): DELETE requests should always have body (#12798)Bert Belder
Refs: #12741 Refs: #12746
2021-11-17chore(ext/http): deno fmt (#12798)Bert Belder
2021-11-17upgrade: v8 crate 0.35.0 (V8 9.7.106.5) (#12797)Bert Belder
Fixes: #11406
2021-11-171.16.2 (#12794)David Sherret
2021-11-17chore: bump crates for 1.16.2 (#12792)David Sherret
2021-11-17fix(lsp): retain module dependencies when parse is invalid (#12782)Kitson Kelly
Fixes #12753
2021-11-16feat(core): Deno.core.setNextTickCallback (#12771)Bartek Iwańczuk
This commit adds several new "Deno.core" bindings: * "setNextTickCallback" * "hasScheduledTick" * "setHasScheduledTick" * "runMicrotasks" Additionally it changes "Deno.core.setMacrotaskCallback" to allow registering multiple callbacks. All these changes were necessary to polyfill "process.nextTick" in Node compat layer. Co-authored-by: Ben Noordhuis <info@bnoordhuis.nl>
2021-11-16refactor: re-export anyhow from deno_core (#12777)Ryan Dahl
2021-11-16tests(lsp): regression test for providing completions when editing documents ↵Yacine Hmito
(#12776) Ref: #12753
2021-11-15refactor: clean up cli/file_fetcher.rs (#12772)Ryan Dahl