summaryrefslogtreecommitdiff
path: root/cli/tests/integration/run_tests.rs
AgeCommit message (Collapse)Author
2022-09-14fix(ops): add node.js env variable allowlist (#15893)Colin Ihrig
This commit allows the Node compatibility layer to skip environment variable permission checks when --unstable is passed and the variable name is one that Node uses. Fixes: https://github.com/denoland/deno/issues/15890
2022-09-04fix(cli): allow using file resource synchronously while being used async ↵David Sherret
(#15747)
2022-08-24fix: resolve `jsxImportSource` relative to module (#15561)Luca Casonato
Previously `jsxImportSource` was resolved relative to the config file during graph building, and relative to the emitted module during runtime. This is now fixed so that the JSX import source is resolved relative to the module both during graph building and at runtime.
2022-08-21feat: `queueMicrotask()` error handling (#15522)Nayeem Rahman
Adds error event dispatching for queueMicrotask(). Consequently unhandled errors are now reported with Deno.core.terminate(), which is immune to the existing quirk with plainly thrown errors (#14158).
2022-08-21fix(core/runtime): always cancel termination in exception handling (#15514)Nayeem Rahman
2022-08-11fix(cli): allow configurations files to also be json modules (#15444)Nayeem Rahman
Closes #15440
2022-07-30fix(core): BorrowMutError in nested error (#15352)Bartek Iwańczuk
2022-07-23fix: unhandledrejection handling for sync throw in top level (#15279)Bartek Iwańczuk
Fixes an edge in "unhandledrejection" event that prevent synchronous errors being surfaced when throw from a top-level scope.
2022-07-21fix: proper typings for unhandledrejection event (#15271)Bartek Iwańczuk
2022-07-20Reland "feat: add "unhandledrejection" event support" (#15211)Bartek Iwańczuk
2022-07-20chore(cli): Ignore "experimentalDecorators" and "moduleDetection" options ↵Nayeem Rahman
(#15202)
2022-07-18feat: import.meta.resolve() (#15074)Bartek Iwańczuk
This commit adds new "import.meta.resolve()" API which allows to resolve specifiers relative to the module the API is called in. This API supports resolving using import maps.
2022-07-15Revert "feat: add "unhandledrejection" event support (#12994) (#15080)" (#15210)Bartek Iwańczuk
This reverts commit 1a7259b04b7229f6350a7a7c21b50497b5c80c17.
2022-07-14feat: add "unhandledrejection" event support (#12994) (#15080)Bartek Iwańczuk
Relanding #12994 This commit adds support for "unhandledrejection" event. This event will trigger event listeners registered using: "globalThis.addEventListener("unhandledrejection") "globalThis.onunhandledrejection" This is done by registering a default handler using "Deno.core.setPromiseRejectCallback" that allows to handle rejected promises in JavaScript instead of Rust. This commit will make it possible to polyfill "process.on("unhandledRejection")" in the Node compat layer. Co-authored-by: Colin Ihrig <cjihrig@gmail.com>
2022-07-14fix(cli): expand tsc roots when using checkJs (#15164)Rafael Ávila de Espíndola
A JS file can still point to a TS file, so we need to expand the roots in the checkJs case too. Fixes: #15163
2022-07-13fix(cli): synchronize async stdio/file reads and writes (#15092)David Sherret
Fixes a regression where async writes and reads could get out of order.
2022-07-12perf: use emit from swc instead of tsc (#15118)David Sherret
2022-07-11perf(cli/proc_state): Get error source lines from memory (#15031)Nayeem Rahman
2022-07-04Revert "feat: add "unhandledrejection" event support (#12994)" (#15075)Bartek Iwańczuk
This reverts commit f7af0b01a59aaac91473e2f920137004d39a310a.
2022-07-04feat: add "unhandledrejection" event support (#12994)Bartek Iwańczuk
This commit adds support for "unhandledrejection" event. This event will trigger event listeners registered using: "globalThis.addEventListener("unhandledrejection") "globalThis.onunhandledrejection" This is done by registering a default handler using "Deno.core.setPromiseRejectCallback" that allows to handle rejected promises in JavaScript instead of Rust. This commit will make it possible to polyfill "process.on("unhandledRejection")" in the Node compat layer. Co-authored-by: Colin Ihrig <cjihrig@gmail.com>
2022-06-28feat(web): add beforeunload event (#14830)Colin Ihrig
This commit adds the 'beforeunload' event. Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2022-06-25fix(modules): Immediately resolve follow-up dyn imports to a dyn imported ↵Andreu Botella
module (#14958) When a dynamically imported module gets resolved, any code that comes after an await import() to that module will continue running. However, if that is the last code in the evaluation of another dynamically imported module, that second module will not resolve until the next iteration of the event loop, even though it does not depend on the event loop at all. When the event loop is being blocked by a long-running operation, such as a long-running timer, or by an async op that might never end, such as with workers or BroadcastChannels, that will result in the second dynamically imported module not being resolved for a while, or ever. This change fixes this by running the dynamic module loading steps in a loop until no more dynamic modules can be resolved.
2022-06-24fix: don't error if Deno.bench() or Deno.test() are used in run subcommand ↵Bartek Iwańczuk
(#14946)
2022-06-20fix: do not panic running .d.cts and .d.mts files (#14917)David Sherret
2022-06-15fix(url): properly indent when inspecting URLs (#14867)cjihrig
This commit updates the custom inspect function for URL objects to pass the inspect options through so that the context is propagated and the resulting indentation is correct. Fixes: https://github.com/denoland/deno/issues/14171
2022-06-13Deno.exit() is an alias to self.close() in worker contexts (#14826)Bartek Iwańczuk
This commit changes Deno.exit() to be an alias to self.close() in worker contexts, and the provided exit code becomes is ignored.
2022-06-13feat: no type-check by default (#14691)Bartek Iwańczuk
This commit changes default default behavior of type checking for several subcommands. Instead of type checking and reporting type errors only for local files, the type checking is skipped entirely. Type checking can still be enabled using the "--check" flag. Following subcomands are affected: - deno cache - deno install - deno eval - deno run
2022-05-20fix: prevent Deno.exit to fail when dispatchEvent tampered (#14665)Yoshiya Hinosawa
Co-authored-by: Colin Ihrig <cjihrig@gmail.com>
2022-05-18refactor: use spawn API across codebase (#14414)Leo Kettmeir
2022-05-17feat: subcommands type-check only local files by default (#14623)Bartek Iwańczuk
This commit changes default mode of type-checking to "local" and adds "--check" flag to following subcommands: - deno bench - deno bundle - deno cache - deno compile - deno eval - deno install - deno test
2022-05-17BREAKING: Remove unstable Deno.emit and Deno.formatDiagnostics APIs (#14463)Bartek Iwańczuk
2022-05-13feat: add --no-config flag (#14555)Bartek Iwańczuk
This flag disables loading of configuration file, ie. it will not be automatically discovered and loaded. Of course this flag conflicts with "--config" flag and they cannot be used together.
2022-05-10fix(runtime/web_worker): Use biased select when getting module result (#14553)Nayeem Rahman
2022-05-08fix(core): avoid panic on non-string Error.name (#14529)Aaron O'Mullan
Fixes #14518
2022-04-29fix(cli): add dom.extras lib (#14430)Kitson Kelly
Closes: #12558 Fixes: #14344
2022-04-27fix(workers): Make `worker.terminate()` not block the current thread (#13941)Andreu Botella
Calling `worker.terminate()` used to kill the worker's isolate and then block until the worker's thread finished. This blocks the calling thread if the worker's event loop was blocked in a sync op (as with `Deno.sleepSync`), which wasn't realized at the time, but since the worker's isolate was killed at that moment, it would not block the calling thread if the worker was in a JS endless loop. However, in #12831, in order to work around a V8 bug, worker termination was changed to first set a signal to let the worker event loop know that termination has been requested, and only kill the isolate if the event loop has not finished after 2 seconds. However, this change kept the blocking, which meant that JS endless loops in the worker now blocked the parent for 2 seconds. As it turns out, after #12831 it is fine to signal termination and even kill the worker's isolate without waiting for the thread to finish, so this change does that. However, that might leave the async ops that receive messages and control data from the worker pending after `worker.terminate()`, which leads to odd results from the op sanitizer. Therefore, we set up a `CancelHandler` to cancel those ops when the worker is terminated.
2022-04-24fix(runtime/js/spawn): Pass stdio options for spawn() and spawnSync() (#14358)Nayeem Rahman
2022-04-19feat(ext/web): add globalThis.reportError() (#13799)Nayeem Rahman
2022-04-18feat: Add DENO_NO_PROMPT variable (#14209)Nayeem Rahman
This commit adds support for "DENO_NO_PROMPT" env variable, that can be used instead of "--no-prompt" flag to completely disable permission prompts.
2022-04-18fix(cli/emit): Check JS roots with // @ts-check (#14090)Nayeem Rahman
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-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-11feat: Add "deno check" subcommand for type checking (#14072)Bartek Iwańczuk
This commit adds new "deno check" subcommand. Currently it is an alias for "deno cache" with the difference that remote modules don't emit TS diagnostics by default. Prints warning for "deno run" subcommand if "--check" flag is not present and there's no "--no-check" flag. Adds "DENO_FUTURE_CHECK" env variable that allows to opt into new behavior now.
2022-04-01chore(tests): use custom temp dir creation for the tests (#14153)David Sherret
2022-03-25fix(ext/ffi): enforce unstable check on ops (#14115)Luca Casonato
2022-03-22chore: replace `.expect("...")` calls with `.unwrap()` in test code (#14081)David Sherret
2022-03-22fix(ext/fetch): Connect async error stack with user code (#13899)Nayeem Rahman
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-21chore: fix development issues on Windows (#14030)David Sherret
2022-02-25fix(cli): disable config discovery for remote script (#13745)Yoshiya Hinosawa