summaryrefslogtreecommitdiff
path: root/cli/tests/integration
AgeCommit message (Collapse)Author
2021-11-30fix(test): Improve reliability of `deno test`'s op sanitizer with timers ↵Andreu Botella
(#12934) Although not easy to replicate in the wild, the `deno test` op sanitizer can fail when there are intervals that started before a test runs, since the op sanitizer can end up running in the time between the timer op for an interval's run resolves and the op for the next run starts. This change fixes that by adding a new macrotask callback that will run after the timer macrotask queue has drained. This ensures that there is a timer op if there are any timers which are unresolved by the time the op sanitizer runs.
2021-11-30feat: add `--no-check=remote` flag (#12766)Kitson Kelly
Closes #11970
2021-11-29fix(workers): Make `worker.terminate()` not immediately kill the isolate ↵Andreu Botella
(#12831) Due to a bug in V8, terminating an isolate while a module with top-level await is being evaluated would crash the process. This change makes it so calling `worker.terminate()` will signal the worker to terminate at the next iteration of the event loop, and it schedules a proper termination of the worker's isolate after 2 seconds.
2021-11-29Revert "fix(test): Improve reliability of `deno test`'s op sanitizer with ↵Bartek Iwańczuk
timers (#12908)" (#12929) This reverts commit d335343a79afbcfe719109af510fe7a1dd0df2e8.
2021-11-28fix(test): Improve reliability of `deno test`'s op sanitizer with timers ↵Andreu Botella
(#12908) Although not easy to replicate in the wild, the `deno test` op sanitizer can fail when there are intervals that started before a test runs, since the op sanitizer can end up running in the time between the timer op for an interval's run resolves and the op for the next run starts. This change fixes that by adding a new macrotask callback that will run after the timer macrotask queue has drained. This ensures that there is a timer op if there are any timers which are unresolved by the time the op sanitizer runs.
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-25chore: upgrade lspower to 1.4.0 (#12894)Bartek Iwańczuk
2021-11-24fix(lsp): lsp should respect include/exclude files in format config (#12876)David Sherret
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-23fix(cli/compile): skip bundling for pre-bundled code (#12687)Zheyu Zhang
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-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-23feat(lsp): add type definition provider (#12789)Kitson Kelly
2021-11-23feat(lsp): add workspace symbol provider (#12787)Kitson Kelly
2021-11-18fix(lsp): tag deprecated diagnostics properly (#12801)Kitson Kelly
2021-11-17fix(lsp): retain module dependencies when parse is invalid (#12782)Kitson Kelly
Fixes #12753
2021-11-16tests(lsp): regression test for providing completions when editing documents ↵Yacine Hmito
(#12776) Ref: #12753
2021-11-16fix(cli): short-circuit in prepare_module_load() (#12604)Nayeem Rahman
2021-11-15fix(test): support typechecking docs with CRLF line endings (#12748)Geert-Jan Zwiers
2021-11-09feat(cli): support React 17 JSX transforms (#12631)Kitson Kelly
Closes #8440
2021-11-08feat(compat): add .code to dyn import error (#12633)Yoshiya Hinosawa
2021-11-08fix(lsp): display module types only dependencies on hover (#12683)Kitson Kelly
Fixes: #12675
2021-11-07fix(lsp): display signature docs as markdown (#12636)Luca Casonato
These were previously displayed as plain text. Now they are displayed as `MarkupContent` with type `Markdown`.
2021-11-04fix(lint): use recommended tag if there is no tags in config file or flags ↵Zheyu Zhang
(#12644)
2021-11-04Revert "feat(cli): enable `useUnknownInCatchVariables` by default" (#12643)Luca Casonato
This partially reverts commit a065604155991dbf4417b606d4562d275cd8955f. Co-authored-by: Kitson Kelly <me@kitsonkelly.com>
2021-11-03fix: Deno.emit crashes with BorrowMutError (#12627)Ryan Dahl
Warn on await_holding_refcell_ref clippy rule to avoid this in the future. Fixes #12453
2021-11-01fix(fmt/lint): strip unc paths on Windows when displaying file paths in lint ↵David Sherret
and fmt (#12606)
2021-10-30fix(cli): linter/formater watches current directory without args (#12550)Zheyu Zhang
2021-10-30fix(cli): lint/format all discoverd files on each change (#12518)Zheyu Zhang
2021-10-29refactor(lsp): use deno_graph and single document struct (#12535)Kitson Kelly
Closes #12473
2021-10-28feat(compat): integrate import map and classic resolutions in ESM resolution ↵Bartek Iwańczuk
(#12549) This commit integrates import map and "classic" resolutions in the "--compat" mode when using ES modules; in effect "http:", "https:" and "blob:" imports now work in compat mode. The algorithm works as follows: 1. If there's an import map, try to resolve using it and if succeeded return the specifier 2. Try to resolve using "Node ESM resolution", and if succeeded return the specifier 3. Fall back to regular ESM resolution
2021-10-28feat(cli): enable `useUnknownInCatchVariables` by default (#12547)Kitson Kelly
Closes #11826 **BREAKING CHANGE** this behaviour was disable when introduced in Deno 1.14/TypeScript 4.4. It will highlight code that unsafely handles variables that are caught, and will cause type errors in unsafe code.
2021-10-27feat(ext/webstorage): use implied origin when --location not set (#12548)Kitson Kelly
Closes #11882 BREAKING CHANGE: Previously when `--location` was set, the unique storage key was derived from the the URL of the location instead of just the origin. This change correctly uses just the origin. This may cause previously persisted storage to change its key and data to not be available with the same location as before.
2021-10-26fix(cli): do not cache emit when diagnostics present (#12541)Kitson Kelly
Fixes #12471
2021-10-21compat: add DENO_NODE_COMPAT_URL env variable (#12508)Bartek Iwańczuk
2021-10-19fix(core/bindings): use is_instance_of_error() instead of is_native_error() ↵Nayeem Rahman
(#12479)
2021-10-18feat(unstable): Node CJS and ESM resolvers for compat mode (#12424)Bartek Iwańczuk
This commit adds CJS and ESM Node resolvers to the "--compat" mode. The functionality is spread across "cli/compat" module and Node compatibility layer in "deno_std/node"; this stems from the fact that ES module resolution can only be implemented in Rust as it needs to directly integrated with "deno_core"; however "deno_std/node" already provided CJS module resolution. Currently this resolution is only active when running a files using "deno run --compat --unstable <filename>", and is not available in other subcommands, which will be changed in follow up commits.
2021-10-18fix(cli/fmt_errors): don't panic on source line formatting errors (#12449)Nayeem Rahman
Returns empty values in case of errors, source lines are non-essential anyway. These errors can happen e.g. when source files change at runtime. A warning is also printed to help us track when it happens in unexpected cases besides this.
2021-10-13fix(runtime/ops/worker_host): move permission arg parsing to Rust (#12297)Nayeem Rahman
2021-10-13chore: test for bundling export specifier with alias (#12421)David Sherret
2021-10-12fix(lsp): lint diagnostics respect config file (#12338)Bartek Iwańczuk
This commit fixes problem with LSP where diagnostics coming from "deno lint" don't respect configuration file. LSP was changed to store "Option<ConfigFile>", "Option<LintConfig>" and "Option<FmtConfig>" on "Inner"; as well as storing "Option<LintConfig>" and "Option<FmtConfig>" on "StateSnapshot". Co-authored-by: Kitson Kelly <me@kitsonkelly.com>
2021-10-11feat(compat): pin specific version of std/node (#12396)Bartek Iwańczuk
2021-10-11fix(runtime): Declare `Window.self` and `DedicatedWorkerGlobalScope.name` ↵Andreu Botella
with `util.writable()` (#12378) `Window`'s `self` property and `DedicatedWorkerGlobalScope`'s `name` property are defined as Web IDL read-only attributes with the `[Replaceable]` extended attribute, meaning that their setter will redefine the property as a data property with the set value, rather than changing some internal state. Deno currently defines them as read-only data properties instead. Given that Web IDL requires all attributes to be accessor properties rather than data properties, but Deno exposes almost all of those properties as either read-only or writable data properties, it makes sense to expose `[Replaceable]` properties as writable as well – as is already the case with `WindowOrWorkerGlobalScope`'s `performance` property.
2021-10-11feat: provide ops details for ops sanitizer failures (#12188)Casper Beyer
2021-10-11feat(unstable/test): imperative test steps API (#12190)David Sherret
2021-10-11refactor: integrate deno_graph into CLI (#12369)Kitson Kelly
2021-10-10feat: Show the URL of streaming WASM modules in stack traces (#12268)Andreu Botella
WebAssembly modules compiled through `WebAssembly.compile()` and similar non-streaming APIs don't have a URL associated to them, because they have been compiled from a buffer source. In stack traces, V8 will use a URL such as `wasm://wasm/d1c677ea`, with a hash of the module. However, wasm modules compiled through streaming APIs, like `WebAssembly.compileStreaming()`, do have a known URL, which can be obtained from the `Response` object passed into the streaming APIs. And as per the developer-facing display conventions in the WebAssembly Web API spec, this URL should be used in stack traces. This change implements that.
2021-10-10feat: stabilize Deno.resolveDns (#12368)Satya Rohith