Commit graph

6514 commits

Author SHA1 Message Date
Satya Rohith fb094ae026
chore: bump crate version for 1.15.0 (#12406) 2021-10-12 22:16:15 +05:30
David Sherret 9b1f0c8ba3
chore: upgrade crates based on deno ast 0.3 (#12403) 2021-10-12 09:58:04 -04:00
Divy Srivastava b1e7452cd3
feat(ext/crypto): support importing/exporting raw AES keys (#12392) 2021-10-12 15:48:08 +02:00
Luca Casonato fef8b08614
feat: update to V8 9.5 (#12399) 2021-10-12 13:30:39 +02:00
Divy Srivastava 58f04d8e46
feat(ext/crypto): implement deriveKey (#12117) 2021-10-12 16:09:46 +05:30
Bartek Iwańczuk f332d72f16
fix(lsp): lint diagnostics respect config file (#12338)
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-12 00:02:33 +02:00
Aaron O'Mullan 5bad8e1773
perf(webidl): inline ResponseInit converter (#12285) 2021-10-11 23:43:52 +02:00
Bartek Iwańczuk 5508a0f45e
feat(compat): pin specific version of std/node (#12396) 2021-10-11 23:14:46 +02:00
Andreu Botella fbcbbd7ae3
fix(runtime): Declare Window.self and DedicatedWorkerGlobalScope.name 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-11 18:50:18 +02:00
Luca Casonato c40d5040cd
fix(http): don't expose body on GET/HEAD requests (#12260)
GET/HEAD requests can't have bodies according to `fetch` spec. This
commit changes the HTTP server to hide request bodies for requests with
GET or HEAD methods.
2021-10-11 18:39:55 +02:00
Divy Srivastava 70978fd05a
feat(ext/crypto): support importing raw ECDSA keys (#11871) 2021-10-11 17:00:48 +02:00
Casper Beyer 1683044ed9
feat: provide ops details for ops sanitizer failures (#12188) 2021-10-11 17:00:33 +02:00
Divy Srivastava 3b2cb8e711
feat(ext/crypto): implement AES-CBC encryption & decryption (#12123)
* initial stuff

* stuff

* merge stuff

* cleanup

* fmt

* length

* update lockfile

* decrypt

* fixy

* clippy hello?

* hmm

* fixs

* fix lint

* add AesCbcParams

* fixes

* fixy

* lockfile fixy

* fix dumb assertions

* re run CI

* rerun CI

* rerun CI
2021-10-11 16:37:51 +02:00
David Sherret 426ebf854a
feat(unstable/test): imperative test steps API (#12190) 2021-10-11 09:45:02 -04:00
Feng Yu 668b400ff2
feat(runtime): improve error messages of runtime fs (#11984)
This commit annotates errors returned from FS Deno APIs to include
paths that were passed to the API calls.

Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2021-10-11 15:21:18 +02:00
Divy Srivastava 423b02d889
fix(ext/ffi): types for nonblocking FFI (#12345) 2021-10-11 15:09:11 +02:00
Kitson Kelly a7baf5f2bb
refactor: integrate deno_graph into CLI (#12369) 2021-10-11 08:26:22 +11:00
Aaron O'Mullan 5a8a989b78
refactor(metrics): move to core (#12386)
Avoids overhead of wrapping ops (and allocs when inspecting async-op futures)
2021-10-10 17:20:30 +02:00
Aaron O'Mullan f2ac7ff23a
bench(deno_common): track void ops (#12389)
To track overhead through the entire CLI opcall stack (metrics included, etc...)
2021-10-10 16:36:55 +02:00
Andreu Botella 5edd277161
feat: Show the URL of streaming WASM modules in stack traces (#12268)
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-10 16:03:23 +02:00
Ryan Dahl 6ac0337165
feat: Stabilize Deno.kill and Deno.Process.kill (#12375)
Co-authored-by: Luca Casonato <lucacasonato@yahoo.com>
2021-10-10 15:48:26 +02:00
Feng Yu ffea0f198c
test: remove duplicate import (#12374) 2021-10-10 15:24:03 +02:00
Bartek Iwańczuk 76de56091b
test(ext/ffi): add test for multiple buffers (#12373) 2021-10-10 15:18:02 +02:00
Satya Rohith 29f9e14457
feat: stabilize Deno.resolveDns (#12368) 2021-10-10 15:46:11 +05:30
Satya Rohith 25771b3d9b
feat(ext/net): relevant errors for resolveDns (#12370) 2021-10-10 15:44:45 +05:30
Andreu Botella 66804d26f3
chore(wpt): Enable WPT worker tests (#12222)
Classic workers were implemented in denoland#11338, which also enabled the WPT
tests in the `workers` directory. However, the rest of WPT worker tests
were not enabled because a number of them were hanging due to
web-platform-tests/wpt#29777. Now that that WPT issue is fixed, the bulk
of worker tests can be enabled.

There are still a few tests that hang, and so haven't been enabled. In
particular:

- The following tests seem to hang because a promise fails to resolve.
  We can detect such cases in non-worker tests because the process will
  exit without calling the WPT completion callback, but in worker tests
  the worker message ops will keep the event loop running. This will be
  fixed when we add timeouts to WPT tests (denoland#9460).

  - `/fetch/api/basic/error-after-response.any.worker.html`
  - `/html/webappapis/microtask-queuing/queue-microtask-exceptions.any.worker.html`
  - `/webmessaging/message-channels/worker-post-after-close.any.worker.html`
  - `/webmessaging/message-channels/worker.any.worker.html`
  - `/websockets/Create-on-worker-shutdown.any.worker.html`

- The following tests apparently hang because a promise rejection is
  never handled, which will kill the process in the main thread but not
  in workers (denoland#12221).

  - `/streams/readable-streams/async-iterator.any.worker.html`
  - `/workers/interfaces/WorkerUtils/importScripts/report-error-setTimeout-cross-origin.sub.any.worker.html`
  - `/workers/interfaces/WorkerUtils/importScripts/report-error-setTimeout-redirect-to-cross-origin.sub.any.worker.html`
  - `/workers/interfaces/WorkerUtils/importScripts/report-error-setTimeout-same-origin.sub.any.worker.html`
2021-10-08 17:44:38 +02:00
Divy Srivastava a5d3c8b06c
feat(ext/crypto): implement deriveBits for ECDH (p256) (#11873) 2021-10-08 17:29:36 +02:00
Bartek Iwańczuk c49a057599
feat(compat): inject Node globals in REPL (#12352) 2021-10-08 17:11:33 +02:00
Aaron O'Mullan 6b43e862fd
feat(runtime): allow passing extensions via Worker options (#12362) 2021-10-08 17:03:49 +02:00
Kenta Moriuchi 5f405bf114
fix(ext/web): Format DOMException stack property (#12333) 2021-10-08 17:01:02 +02:00
Divy Srivastava 2155e7545f
fix(ext/ffi): missing "buffer" type definitions (#12371) 2021-10-08 16:32:57 +02:00
Andreu Botella 74e5b68682
refactor: deduplicate defineEventHandler util (#12367) 2021-10-08 09:53:31 +02:00
Aaron O'Mullan 7e38ae17ea
perf(fetch): fast path Uint8Array in extractBody() (#12351) 2021-10-07 22:57:17 +02:00
Nayeem Rahman 330aaae936
tests: make worker test deterministic (#12361) 2021-10-07 22:53:09 +02:00
Andreu Botella e8b3ffd155
fix(runtime): Getting navigator.hardwareConcurrency on workers shouldn't throw (#12354) 2021-10-07 19:39:33 +02:00
Aaron O'Mullan 370c27e09a
feat(core): cleaner opcall stack traces (#12358) 2021-10-07 18:39:27 +02:00
Divy Srivastava ab2e0a465e
fix(ext/ffi): don't panic in dlopen (#12344) 2021-10-07 11:03:00 -04:00
Bert Belder 822047b845
fix(runtime): don't equate SIGINT to SIGKILL on Windows (#12356) 2021-10-07 16:31:02 +02:00
Aaron O'Mullan c4b995ffe6
bench(op_baseline): measure Deno.core.isProxy() (#12347) 2021-10-06 20:18:25 +02:00
Bartek Iwańczuk 4e3068be63
Revert "fix(cli): ensure empty lines don't count towards coverage (#11957)" (#12348)
This reverts commit d5b38a9929.
2021-10-06 19:28:28 +02:00
Bartek Iwańczuk b686907a45
feat(compat): inject Node globals (#12342)
This commit adds automatic injection of Node globals when "--compat" flag
is present.

This is done by executing "https://deno.land/std/node/global.ts" as a "side module",
before main module is executed.

This commit makes "--compat" required to be used with "--unstable" flag, as some
of Node globals require unstable Deno APIs.
2021-10-06 19:07:04 +02:00
Divy Srivastava b033a7a6d4
fix(ext/crypto): key generation based on AES key length (#12146) 2021-10-06 11:24:41 +02:00
Divy Srivastava 3aa8591595
feat(ext/crypto): export spki for RSA (#12114) 2021-10-06 11:18:12 +02:00
Casper Beyer d5b38a9929
fix(cli): ensure empty lines don't count towards coverage (#11957) 2021-10-06 07:05:18 +02:00
Ryan Dahl 10c415eaaa
Remove some unused benchmarks (#12315) 2021-10-05 22:27:44 -04:00
Divy Srivastava 2b39e74477
fix(ext/ffi): formatting dlopen errors on Windows (#12301) 2021-10-06 02:13:56 +02:00
Bartek Iwańczuk 37a24c7bdf
feat(compat): add support for node: prefixed built-ins (#12337)
Adds support for "node:" prefix for Node built-ins in "--compat" mode.

As per https://nodejs.org/api/esm.html#esm_node_imports
2021-10-06 01:25:13 +02:00
Bartek Iwańczuk 3faf75aa88
feat(ext/ffi): add support for buffer arguments (#12335)
This commit adds support for passing buffer arguments across 
FFI boundary.


Co-authored-by: eliassjogreen <eliassjogreen1@gmail.com>
Co-authored-by: Bert Belder <bertbelder@gmail.com>
2021-10-06 00:27:05 +02:00
Aaron O'Mullan 58bb63f355
perf(webidl): fix typo from #12286 (#12336)
In a tweak commit of #12286 I accidentally eliminated the else branch ... running the slow & the fast path providing a worst of both worlds path
2021-10-05 23:37:50 +02:00
CGQAQ c555b31d40
feat(lint): add support for --watch flag (#11983) 2021-10-05 23:07:38 +02:00