1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-12-18 13:22:55 -05:00
Commit graph

1115 commits

Author SHA1 Message Date
Yoshiya Hinosawa
de21a780fd
fix(ext/node): add req.socket.remoteAddress (#18733) 2023-04-18 16:00:51 +09:00
Yoshiya Hinosawa
559a61b879
chore: update node compat config (#18736) 2023-04-18 00:36:49 +09:00
Bartek Iwańczuk
52d235391c
chore: add test duration to WPT (#18680)
To make it easier to debug which tests are slowing us down.

Tests taking more than 5s have duration printed in red,
taking more than 1s in yellow and less than 1s are printed 
without color.
2023-04-13 10:03:15 -04:00
Kenta Moriuchi
2dc2016837
feat(ext/url): URL.canParse (#18286) 2023-04-04 13:34:12 +02:00
David Sherret
d939a5e96c
ci: improve release docs (#18562) 2023-04-02 17:53:52 +00:00
Kenta Moriuchi
03edd48edd
chore: Turn back on dlintPreferPrimordials (#17715)
Closes #17709
2023-04-02 19:41:41 +02:00
David Sherret
30065af0f2
chore(release): improve merge commit back to main for patch releases (#18554)
This change commits with conflicts that can then be resolved manually.
2023-04-01 16:58:55 +00:00
Bartek Iwańczuk
381f5801f9
Revert "refactor(ext/node): Use Deno.inspect (#17960)" (#18491)
This reverts commit a3529d0232.

This change made debugging Node tests very hard - `AssertionError` is
now printed as `[Circular *1]` giving no visibility what failed.

We need to align two implementations together and remove this one then.
2023-03-30 15:33:28 +00:00
Yoshiya Hinosawa
8b596cbae1
chore: document Node.js compat test setup script (#18381) 2023-03-26 12:22:09 +03:00
Kenta Moriuchi
255b06d793
chore: update wpt again (#18384)
This reverts commit 4c2269d64a.

> This update introduced more flakiness to the tests on CI, we are going
> to investigate and reland this update after Deno 1.32.0 is released.
2023-03-25 03:27:49 +00:00
Ryan Dahl
a3529d0232
refactor(ext/node): Use Deno.inspect (#17960)
No need for two almost identical implementations of the same thing

---------

Co-authored-by: Yoshiya Hinosawa <stibium121@gmail.com>
Co-authored-by: Aapo Alasuutari <aapo.alasuutari@gmail.com>
2023-03-23 10:01:07 -04:00
Bartek Iwańczuk
4c2269d64a
Revert "chore: update wpt (#18335)" (#18355)
This reverts commit 29fb7709ed.

This update introduced more flakiness to the tests on CI, we are going
to investigate and reland this update after Deno 1.32.0 is released.
2023-03-22 17:17:52 +00:00
Kenta Moriuchi
29fb7709ed
chore: update wpt (#18335) 2023-03-22 15:43:20 +01:00
Cre3per
fd0658fb42
feat(cli): --ext parameter for run, compile, and bundle (#17172)
Adds `--ext` to `deno run`, closes #5088

Additionally

- Adds `--ext` to `deno compile` and `deno bundle`
2023-03-22 10:15:53 -04:00
Matt Mastracci
08849a48ca
chore(tools): Copyright checker had a bad interpolation (#18328)
The copyright checker was erroring out with a bad interpolation if
errors existed.
2023-03-21 10:31:34 -06:00
David Sherret
0366d6833f
docs(release): update to include deno_docker release workflow (#18323) 2023-03-21 11:38:59 -04:00
Yoshiya Hinosawa
aa729a42b4
chore(tools): restore node compat test setup script (#18290) 2023-03-21 22:38:07 +09:00
Bartek Iwańczuk
a5ad3a44b5
chore(ci): allow 'Reland' PR title prefix (#18273) 2023-03-18 21:15:45 +00:00
Leo Kettmeir
35196eab27
BREAKING(unstable): remove WebGPU (#18094)
This PR _**temporarily**_ removes WebGPU (which has behind the
`--unstable` flag in Deno), due to performance complications due to its
presence.

It will be brought back in the future; as a point of reference, Chrome
will ship WebGPU to stable on 26/04/2023.

---------

Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2023-03-17 00:29:32 +01:00
Bartek Iwańczuk
8efda832e2
chore(ci): allow 'BREAKING' PR title prefix (#18238)
So that we can land PRs like https://github.com/denoland/deno/pull/18237
or https://github.com/denoland/deno/pull/18094
2023-03-16 22:42:29 +00:00
David Sherret
b9d9cd17c9
chore: upgrade deno_automation to 0.19.0 (#18213)
I updated the lockfile with:

```
deno cache --lock=tools/deno.lock.json --lock-write ./tools/wpt.ts ./tools/upload_wptfyi.js ./tools/release/deps.ts
```
2023-03-16 09:26:30 -04:00
Bartek Iwańczuk
392f91da00
test: ignore global-immutable-prototype.any.worker.html (#18208)
This test is very flaky on CI, ignoring it for now.

https://github.com/denoland/deno/issues/17405
2023-03-15 22:40:56 -04:00
David Sherret
6c05b776e0
chore: parallelize lint steps (#18214) 2023-03-15 22:39:40 -04:00
Filip Skokan
72ced37821
fix(wpt): set META_TITLE on global for the testharness (#18193)
Fixes hopefully the last mismatch of reported test titles.

-
[redirect-schemes.any.html](https://wpt.fyi/results/fetch/api/redirect/redirect-schemes.any.html?run_id=5139017526411264&run_id=5093839906275328)
-
[redirect-schemes.any.worker.html](https://wpt.fyi/results/fetch/api/redirect/redirect-schemes.any.worker.html?run_id=5139017526411264&run_id=5093839906275328)
-
ebf6814ebd/resources/testharness.js (L4754-L4756)
2023-03-15 14:03:07 +01:00
Lino Le Van
eb990efcce
feat(ext/url): URLSearchParams.size (#17884) 2023-03-14 20:28:33 +00:00
David Sherret
b9d2ac32d5
chore(ci): verify the PR title as part of linting (#18163)
This verifies the PR title as part of the lint step.
2023-03-13 18:59:13 +00:00
Filip Skokan
92c388761a
wpt: only tag daily runs as master (#18155)
This PR updates the WPT upload script so that it only labels runs that
come from the daily WPT job as "master".

This is so that only the daily synchronized runs get selected when
viewing dashboards such as
[this](https://wpt.fyi/results/?label=master&label=experimental&product=deno&product=node.js&product=chrome&product=edge&product=firefox&product=safari&aligned&view=subtest&q=deno%3A%21missing).
2023-03-13 13:24:16 +01:00
Bartek Iwańczuk
215528f499
build: run clippy with --all-features (#18115) 2023-03-10 21:07:28 +09:00
Bartek Iwańczuk
72fe9bb470
refactor: rename InternalModuleLoader to ExtModuleLoader, use ext: scheme for snapshotted modules (#18041)
This commit renames "deno_core::InternalModuleLoader" to
"ExtModuleLoader" and changes the specifiers used by the 
modules loaded from this loader to "ext:".

"internal:" scheme was really ambiguous and it's more characters than
"ext:", which should result in slightly smaller snapshot size.

Closes https://github.com/denoland/deno/issues/18020
2023-03-08 12:44:54 +01:00
Filip Skokan
7d13d65468
fix(ext/crypto): correctly limit ECDSA and hash algorithms (#18030)
Closes #18029
2023-03-05 12:34:07 +00:00
Filip Skokan
1b42ab4605
wpt: unlock nightly with --no-ignore (#17998)
When I was testing the code in #17892 I had updated expectations and
didn't catch this.

This PR fixes the the expectation file format to not be checked when
--no-ignore is passed during
[nightly](https://github.com/denoland/deno/actions/runs/4319520368/jobs/7538796572#step:9:46)
runs.
2023-03-03 14:50:18 +01:00
Filip Skokan
64503fabd8
test(wpt): implement process timeout, fix expectations update, and more... (#17892)
- relands #17872
- updates the timeouts to be re-configurable just for CI
- fixes `./tools/wpt.ts update`
- adds option not "ignore" during, applied to wpt epoch runs only
2023-03-02 23:05:17 +01:00
Bartek Iwańczuk
93a712fbac
Revert "test(wpt): implement process timeout (#17872)" (#17886)
This reverts commit 5fcbdd6228.
2023-02-23 02:34:19 +01:00
Filip Skokan
5fcbdd6228
test(wpt): implement process timeout (#17872)
```
response-consume-stream.any.js
Blob-stream.any.js
```

These tests just hang whenever they get to use byob mode. This PR adds a
timeout to the spawned process so that the WPTs finish running.

This first broke the daily run due to
7b49c547d4

Also fixes "Untitled" test names in
https://wpt.fyi/results/dom/events/Event-constructors.any.html?label=experimental&label=master&product=deno&product=chrome&aligned&view=subtest
2023-02-22 21:45:21 +01:00
Yoshiya Hinosawa
a01af067d7
test: add node compat tests (#17805) 2023-02-17 23:58:52 +09:00
Bartek Iwańczuk
4c2380af5c
test: add unit tests from std/node (#17794)
Adds two test files: "cli/tests/unit_node/process_test.ts" and
"cli/tests/unit_node/child_process_test.ts"

---------

Co-authored-by: Yoshiya Hinosawa <stibium121@gmail.com>
2023-02-16 14:30:14 +01:00
David Sherret
b3e88e0681
refactor: deno_graph 0.43 upgrade (#17692) 2023-02-09 22:00:23 -05:00
Leo Kettmeir
49af1ab18d
refactor: remove prefix from include_js_files & use extension name (#17683) 2023-02-07 21:09:50 +00:00
Leo Kettmeir
b4aa153097
refactor: Use ES modules for internal runtime code (#17648)
This PR refactors all internal js files (except core) to be written as
ES modules.
`__bootstrap`has been mostly replaced with static imports in form in
`internal:[path to file from repo root]`.
To specify if files are ESM, an `esm` method has been added to
`Extension`, similar to the `js` method.
A new ModuleLoader called `InternalModuleLoader` has been added to
enable the loading of internal specifiers, which is used in all
situations except when a snapshot is only loaded, and not a new one is
created from it.

---------

Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2023-02-07 20:22:46 +01:00
Leo Kettmeir
84a96110cd
refactor: rename deno specifiers to internal (#17655) 2023-02-05 17:49:20 +01:00
David Sherret
09d9437897
chore: add release checklist step to check the benchmarks page (#17632)
The 1.30.1 release had a performance regression that would have been
caught by looking at the benchmarks page. This adds a pre-flight step to
the release checklist for the person doing the release to go to this
page and look at the output.

This would have prevented #17629
2023-02-02 23:41:46 +00:00
Leo Kettmeir
3035dee9f1
chore: update webgpu (#17534) 2023-01-30 15:14:16 +01:00
Kenta Moriuchi
7b6339da6a
fix(core): Add lint check for core (#17223)
The prefer-primordials lint was skipped for `core/*.js`.
2023-01-26 16:56:42 +05:30
Bartek Iwańczuk
abd9610530
refactor: remove Deno.core (#16881)
This commit removes "Deno.core" namespace. It is strictly private API
that has no stability guarantees, we were supposed to remove it long time ago.

Co-authored-by: Yoshiya Hinosawa <stibium121@gmail.com>
2023-01-24 18:54:10 +01:00
Kenta Moriuchi
6da958d7ec
chore: update dlint to v0.37.0 for GitHub Actions (#17295)
Updated third_party dlint to v0.37.0 for GitHub Actions. This PR
includes following changes:
 
* fix(prefer-primordials): Stop using array pattern assignments
* fix(prefer-primordials): Stop using global intrinsics except for
`SharedArrayBuffer`
* feat(guard-for-in): Apply new guard-for-in rule
2023-01-16 17:17:18 +01:00
Asher Gomez
7683ba5e90
chore: update std submodule and its imports (#17408) 2023-01-15 21:09:26 +01:00
David Sherret
3d423e114e
chore: small cleanup of scripts in ./tools and run copyright checker in lint.js (#17393) 2023-01-13 13:42:15 -05:00
Yiyu Lin
a00e432297
chore: add copyright_checker tool and add the missing copyright (#17285) 2023-01-13 16:51:32 +09:00
David Sherret
b4f32c8d14
chore(ci): try some wpt parallelism (#17375) 2023-01-12 19:12:20 -05:00
David Sherret
e246f06cfb
chore(ci): ci refactor - Part 1 - Generate ci yaml by js (#17335) 2023-01-10 19:16:11 -05:00
Marcos Casagrande
45768f0e83
fix(ext/web/streams): fix ReadableStream asyncIterator (#16276) 2023-01-09 21:17:36 +01:00
David Sherret
10e4b2e140
chore: update copyright year to 2023 (#17247)
Yearly tradition of creating extra noise in git.
2023-01-02 21:00:42 +00:00
Luca Casonato
923370f18f
fix(ext/fetch): new Request should soft clone (#16869)
Previously the inner request object of the original and the new request
were the same, causing the requests to be entangled and mutable changes
to one to be visible to the other. This fixes that.
2022-12-06 09:39:04 +01:00
Bartek Iwańczuk
4d07ed0efa
chore: rewrite tests and utils to use Deno.Command API (#16895)
Since "Deno.spawn()", "Deno.spawnSync()" and "Deno.spawnChild"
are getting deprecated, this commits rewrites all tests and utilities to
use "Deno.Command" API instead.
2022-12-02 14:43:17 +01:00
Geert-Jan Zwiers
0a82f3c0e9
chore(tools): update deprecated commands in format and lint tool (#16864)
Updates tools/format.js and tools/lint.js from Deno.spawn to
Deno.Command API.
2022-12-01 16:51:47 +01:00
David Sherret
623dbe7a57
chore: remove unnecessary lifetimes (#16878)
It seems we don't really need to allow these clippy rules.
2022-11-30 19:19:32 +00:00
David Sherret
2d4c46c975
refactor: create util folder, move nap_sym to napi/sym, move http_cache to cache folder (#16857) 2022-11-28 17:28:54 -05:00
David Sherret
e0dd275935
refactor: move generated_symbol_exports_list_* files to napi folder (#16822) 2022-11-25 18:49:02 -05:00
David Sherret
dcb4ffb93a
refactor: move dts files, diagnostics.rs, and tsc.rs to tsc folder (#16820) 2022-11-25 18:29:48 -05:00
Leo Kettmeir
13e3acf71d
chore: workspace inheritance (#16343) 2022-11-22 21:07:35 +01:00
Divy Srivastava
5b9620df7a
feat(ops): implement fast lazy async ops (#16579)
Implements fast scheduling of deferred op futures. 

```rs
#[op(fast)]
async fn op_read(
  state: Rc<RefCell<OpState>>,
  rid: ResourceId,
  buf: &mut [u8],
) -> Result<u32, Error> {
  // ...
}
```

The future is scheduled via a fast API call and polled by the event loop
after being woken up by its waker.
2022-11-11 19:14:53 +05:30
Divy Srivastava
bc33a4b2e0
refactor(ops): Rewrite fast call optimizer and codegen (#16514) 2022-11-10 17:23:31 +05:30
Marcos Casagrande
7bd2c607dd
fix(ext/response): make error, json, redirect enumerable (#16497) 2022-11-10 00:31:14 +01:00
Divy Srivastava
6cd9343e8b
perf(ext/web): optimize transferArrayBuffer (#16294)
Avoid copying enqueued data + misc optimizations to skip webidl
converter.
2022-10-26 18:28:25 +05:30
David Sherret
e203bd9c5a
fix: upgrade swc_ecma_parser to 0.122.19 - deno_ast 0.20 (#16406) 2022-10-25 11:55:57 -04:00
Andreu Botella
dbcbf53ab5
experiment(ext/web): Don't expose event classes during the bootstrap phase (#16213) 2022-10-24 16:14:17 +02:00
Marcos Casagrande
5828ce7675
test(wpt): add mimesniff tests (#16225)
This PR enables 1027/1911
[mimesniff](https://wpt.fyi/results/mimesniff/mime-types?label=master&product=chrome%5Bexperimental%5D&product=firefox%5Bexperimental%5D&product=safari%5Bexperimental%5D&product=deno&aligned&view=subtest)
tests.
2022-10-24 16:11:24 +02:00
Leo Kettmeir
e4940135e6
chore: update release checklist for apiland (#16334) 2022-10-18 16:46:19 +02:00
Bartek Iwańczuk
b560246f30
fix: move generated napi symbols to cli/ (#16330)
<!--
Before submitting a PR, please read http://deno.land/manual/contributing

1. Give the PR a descriptive title.

  Examples of good title:
    - fix(std/http): Fix race condition in server
    - docs(console): Update docstrings
    - feat(doc): Handle nested reexports

  Examples of bad title:
    - fix #7123
    - update docs
    - fix bugs

2. Ensure there is a related issue and it is referenced in the PR text.
3. Ensure there are tests that cover the changes.
4. Ensure `cargo test` passes.
5. Ensure `./tools/format.js` passes without changing files.
6. Ensure `./tools/lint.js` passes.
-->
2022-10-18 13:20:11 +02:00
Marcos Casagrande
d0e78ca5c6
fix(ext/fetch): set accept-encoding: identity if range header is present (#16197)
https://fetch.spec.whatwg.org/#http-network-or-cache-fetch

> If httpRequest’s header list contains `Range`, then append
(`Accept-Encoding`, `identity`)
> to httpRequest’s header list.
> 
> This avoids a failure when handling content codings with a part of an
encoded response.
> Additionally, many servers mistakenly ignore `Range` headers if a
non-identity encoding is accepted.
2022-10-17 15:39:41 +02:00
Luke Channings
d2c8b5f087
fix(build) fix linux symbols export list format (#16313)
Fixes the error reported in #16304.

> = note:
/usr/bin/ld:/home/abotella/Projects/deno/cli/generated_symbol_exports_list_linux.def:1:
syntax error in dynamic list
          collect2: error: ld returned 1 exit status

This was caused by the format of the symbols list on Linux being
malformed (as the error implies).
The format is documented in ld's
[VERSION](https://sourceware.org/binutils/docs/ld/VERSION.html) as well
as:

>  --export-dynamic-symbol-list=file
           Specify a --export-dynamic-symbol for each pattern in the
           file.  The format of the file is the same as the version node
           without scope and node name.  See VERSION for more
           information.

Previously, the format for the Linux symbols list was simply a list of
symbols, now it follows the format:

```
{ symbol_name_a;  ...; symbol_name_z };
```
2022-10-17 00:53:35 +02:00
Marcos Casagrande
5252ff5dbd
fix(ext/cache): illegal constructor (#16205) 2022-10-16 23:03:17 +05:30
Luke Channings
fa22956a86
refactor(build): better handle old glibc (#16238)
Follow-up to #16208.

- Refactors build.rs behaviour to use `-exported_symbols_list` /
`--export-dynamic-symbol-list`
- Since all build systems now rely on a symbols list file, I have added
`generate_exported_symbols_list`, which derives the symbol list file
depending on the platform, which makes `tools/napi/generate_link_win.js`
redundant.
- Fixes a missed instance of `i8` being used instead of `c_char`

Co-authored-by: Divy Srivastava <dj.srivastava23@gmail.com>
2022-10-15 20:51:04 +05:30
Marcos Casagrande
e6e2898190
fix(ext/web/streams): enqueue to second branch before closing (#16269)
Co-authored-by: Luca Casonato <hello@lcas.dev>
2022-10-14 09:51:39 +00:00
Marcos Casagrande
0d6dbc08be
fix(ext/fetch): throw TypeError on non-Uint8Array chunk (#16262) 2022-10-14 11:38:17 +02:00
Marcos Casagrande
50c7b89369
fix(ext/web/streams): resolve cancelPromise in ReadableStreamTee (#16266) 2022-10-14 11:29:01 +02:00
Marcos Casagrande
d47b17d37d
fix(ext/fetch): throw TypeError on read failure (#16219) 2022-10-12 09:23:33 +02:00
Marcos Casagrande
cc3e2b9b1a
fix(ext/fetch): reject immediately on aborted signal (#16190)
Enabled the following test:

edc428e8e2/fetch/api/abort/general.any.js (L185-L201)
2022-10-08 16:08:47 -04:00
Marcos Casagrande
1fc1ae0005
test(ext/fetch): enable fetch/content-type/multipart.window WPT (#16209)
This PR enables the following test:

https://github.com/web-platform-tests/wpt/blob/master/fetch/content-type/multipart.window.js
2022-10-08 15:57:31 -04:00
Marcos Casagrande
a5d55fe6ea
fix(ext/fetch): support empty formdata (#16165)
This PR adds support for empty `FormData` parsing in
`Response`/`Request`

```js
new Response(new FormData()).formData()
```

ref: https://github.com/web-platform-tests/wpt/issues/28607
2022-10-07 13:59:30 +02:00
Colin Ihrig
c27234888f
fix(napi): move napi symbols file (#16179)
The current location was causing failures during v1.26.1 publication.

<!--
Before submitting a PR, please read http://deno.land/manual/contributing

1. Give the PR a descriptive title.

  Examples of good title:
    - fix(std/http): Fix race condition in server
    - docs(console): Update docstrings
    - feat(doc): Handle nested reexports

  Examples of bad title:
    - fix #7123
    - update docs
    - fix bugs

2. Ensure there is a related issue and it is referenced in the PR text.
3. Ensure there are tests that cover the changes.
4. Ensure `cargo test` passes.
5. Ensure `./tools/format.js` passes without changing files.
6. Ensure `./tools/lint.js` passes.
-->
2022-10-07 09:21:43 +05:30
Divy Srivastava
0b016a7fb8
feat(npm): implement Node API (#13633)
This PR implements the NAPI for loading native modules into Deno. 

Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
Co-authored-by: DjDeveloper <43033058+DjDeveloperr@users.noreply.github.com>
Co-authored-by: Ryan Dahl <ry@tinyclouds.org>
2022-10-05 19:36:44 +05:30
Marcos Casagrande
569287b15b
perf(ext/fetch): consume body using ops (#16038)
This commit adds a fast path to `Request` and `Response` that
make consuming request bodies much faster when using `Body#text`,
`Body#arrayBuffer`, and `Body#blob`, if the body is a FastStream.
Because the response bodies for `fetch` are FastStream, this speeds up
consuming `fetch` response bodies significantly.
2022-10-04 15:48:50 +02:00
Filip Skokan
aa710aac98
fix(ext/crypto): ecdh spki key import/export roundtrip (#16152) 2022-10-04 17:09:41 +05:30
Filip Skokan
7742ad77fa
fix(ext/crypto): curve25519 import export (#16140) 2022-10-03 23:06:25 -07:00
Bartek Iwańczuk
9c861ec430
chore(wpt): ignore some flaky tests (#16073) 2022-09-28 17:37:26 +02:00
Satya Rohith
b312279e58
feat: implement Web Cache API (#15829) 2022-09-28 17:41:12 +05:30
Bartek Iwańczuk
abdb6aad6e
chore(wpt): add ability to ignore a test file (#16056) 2022-09-27 23:32:17 +02:00
Divy Srivastava
f02f2425d5
feat(ext/crypto): add x25519 and Ed25519 CFRG curves (#14119) 2022-09-27 17:43:42 +05:30
Divy Srivastava
11ced3c10e
chore: update wpt (#15979) 2022-09-22 14:37:50 +05:30
David Sherret
1464b756a4
refactor: move out test files from root testdata directory into sub directories (#15949) 2022-09-19 10:32:21 -04:00
Divy Srivastava
5fe660ecd7
perf(web): optimize encodeInto() (#15922) 2022-09-17 16:48:15 +05:30
Divy Srivastava
429759fe8b
chore: bump url crate to 2.3.0 (#15800) 2022-09-07 19:07:46 +05:30
Bartek Iwańczuk
b62ef4d37b
refactor(cli): Remove cli/node dependency on cli/compat (#15654) 2022-08-29 20:19:54 +02:00
David Sherret
376665d115
fix: avoid global declaration collisions in cjs (#15608)
* Use a default stack size * 2 in debug for Windows because swc using so much stack size. We should look into this more later though.
2022-08-25 20:24:18 -04:00
David Sherret
0fe590bbcb
chore: fix publish for circular dependencies (#15598) 2022-08-25 17:01:02 -04:00
Nayeem Rahman
97954003cc
feat: queueMicrotask() error handling (#15522)
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-21 20:16:42 +02:00
Mathias Lafeldt
1848c7e361
Fix: Honor linter rules in CI and locally (#15492)
RUSTFLAGS take precedence over `target.<triple>.rustflags`. Therefore,
setting the env var globally in CI would always override whatever linter
rules are allowed or denied in .cargo/config.toml.

With this change, we ensure that problems are detected both in CI and
locally, using either cargo clippy or lint.js.
2022-08-19 08:17:18 -04:00
Divy Srivastava
25a109d9ea
chore(bench): add flash router benchmarks (#15495) 2022-08-19 15:54:54 +05:30
Divy Srivastava
cd21cff299
feat(ext/flash): An optimized http/1.1 server (#15405)
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
Co-authored-by: Ben Noordhuis <info@bnoordhuis.nl>
Co-authored-by: crowlkats <crowlkats@toaxl.com>
Co-authored-by: Ryan Dahl <ry@tinyclouds.org>
2022-08-18 17:35:02 +05:30
Bartek Iwańczuk
5a4f84a0e1
chore: upgrade rusty_v8 to 0.48.1 (#15310) 2022-08-15 14:12:11 +02:00
Mathias Lafeldt
883269f1f1
chore: move lint rules to cargo config for better editor integration (#15453) 2022-08-11 19:13:27 +05:30
David Sherret
af618e3b8f
chore: make the start_release workflow go faster (#15416) 2022-08-08 19:31:45 -04:00
David Sherret
102595976f
chore: use gist for release instruction checklist (#15414) 2022-08-06 09:45:34 -04:00
Nayeem Rahman
bfdce3cc35
chore(tools): update wpt setup to new spawn api (#15407) 2022-08-05 12:48:54 +02:00
Satya Rohith
e98e0da8b2
fix(tools): upgrade to new Deno.spawn api (#15265) 2022-07-21 14:15:15 +05:30
Bartek Iwańczuk
d53936eb7d
Reland "feat: add "unhandledrejection" event support" (#15211) 2022-07-20 20:28:19 +02:00
Dante Issaias
2b1f145c3e
chore(ext): update webgpu (#15059) 2022-07-20 02:22:26 +02:00
David Sherret
9b4ae0868d
chore: update deno automation to 0.12 (#15248) 2022-07-19 16:35:58 -04:00
David Sherret
c79ab64b5d
chore: update docland and dotland release instructions (#15238) 2022-07-18 19:24:11 -04:00
Bartek Iwańczuk
f9b692e68e
Revert "feat: add "unhandledrejection" event support (#12994) (#15080)" (#15210)
This reverts commit 1a7259b04b.
2022-07-15 01:06:20 +02:00
Bartek Iwańczuk
1a7259b04b
feat: add "unhandledrejection" event support (#12994) (#15080)
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-14 22:39:20 +02:00
David Sherret
be837ed70f
chore(ci): fix post publish for forwarding release commit back to main (#15088) 2022-07-05 15:15:45 -04:00
denobot
ef312e0050 1.23.3 (#15081)
Co-authored-by: David Sherret <dsherret@gmail.com>
2022-07-05 14:24:40 -04:00
Bartek Iwańczuk
06934db883
Revert "feat: add "unhandledrejection" event support (#12994)" (#15075)
This reverts commit f7af0b01a5.
2022-07-04 23:34:39 +02:00
Bartek Iwańczuk
f7af0b01a5
feat: add "unhandledrejection" event support (#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-04 21:14:58 +02:00
Rafael Ávila de Espíndola
2d15e926f9
fix: update to TypeScript 4.7.4 (#15022) 2022-07-04 15:13:50 +10:00
David Sherret
3d8ba30ea0
chore: forward 1.23.2 to main (#15027)
Co-authored-by: David Sherret <dsherret@gmail.com>
2022-06-30 18:01:08 -04:00
Mark Ladyshau
6743b3227b
fix(ext/web): remove ErrorEventInit's error default (#14809) 2022-06-29 14:29:08 +02:00
Luca Casonato
8d82ba7299
build: require safety comments on unsafe code (#13870)
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
Co-authored-by: Divy Srivastava <dj.srivastava23@gmail.com>
2022-06-26 00:13:24 +02:00
Mark Ladyshau
60869c2598
fix(ext/fetch): add accept-language default header to fetch (#14882) 2022-06-19 23:33:24 +02:00
David Sherret
f564497630
fix(fmt): should fail --check on parse error (#14907) 2022-06-18 12:44:43 -04:00
Colin Ihrig
367e006e06
fix(ext/web): add EventTarget brand checking (#14637)
This commit adds brand checking to EventTarget. It also fixes a
bug where deno would crash if an abort signal was aborted on the
global addEventListener().
2022-06-17 11:05:02 -04:00
cjihrig
231b8fe27a update expectations 2022-06-16 12:05:33 -04:00
cjihrig
95312ab53a fix: make Performance global an EventTarget
This commit updates the Performance global to extend
EventTarget.
2022-06-16 12:05:33 -04:00
Kayla Washburn
e1d488ab88
feature(web): enable deflate-raw compression format (#14863) 2022-06-14 10:10:28 -06:00
Divy Srivastava
4305bb4bd8
chore(bench): generalized HTTP benchmarks framework (#14815) 2022-06-08 17:33:38 +05:30
Luca Casonato
bcff2d787b
tests: re-generate WPT certificates (#14774) 2022-06-02 00:50:48 +02:00
David Sherret
da416f0249
fix(scripts/release): add unstable flag when running ./tools/format.js (#14743) 2022-05-27 12:14:37 -04:00
Mark Ladyshau
402b497299
fix(core): rethrow exception during structured cloning serialization (#14671)
- Introduced optional callback for Deno.core.serialize API, that returns
cloning error if there is one.
- Removed try/catch in seralize structured clone function and throw error from
callback.
- Removed "Object with a getter that throws" assertion from WPT.
2022-05-26 17:14:38 +02:00
Bartek Iwańczuk
3aa6d5d8b0
chore: upgrade rusty_v8 to 0.43.1 (#14713) 2022-05-26 13:13:01 +02:00
Leo Kettmeir
3c97bbe165
fix(ext/websocket): WebSocket dispatch single close event (#13443) 2022-05-23 13:21:11 +02:00
Leo Kettmeir
4e1ca1d178
refactor: use spawn API across codebase (#14414) 2022-05-18 22:00:11 +02:00
Colin Ihrig
1fa75f75c9
fix(ext/web): throw if listener and signal are null (#14601)
This commit fixes a failing WPT test by making EventTarget's
addEventListener() method throw if both the listener and the
signal option are null.

Fixes: https://github.com/denoland/deno/issues/14593
2022-05-16 10:46:39 -04:00
Geert-Jan Zwiers
0568be863b
feat(ext/web): add performance.toJSON (#14548) 2022-05-13 18:36:00 +02:00
Luca Casonato
a5b50d0915
feat(ext/web): implement static Response.json (#14566)
This commit adds support for the static `Response.json` method.
2022-05-13 14:28:05 +02:00
Luca Casonato
eed7afc3aa
chore: update wpt (#14592) 2022-05-13 13:34:53 +02:00
Luca Casonato
2f7f41533b
fix(ext/web): brand check in performance.timeOrigin (#14550) 2022-05-10 02:31:35 +02:00
Colin Ihrig
ff49bd9e32
chore: improve release docs (#14506)
This commit fixes a typo and the test command used in deno_std.
2022-05-06 15:09:33 -04:00
Geert-Jan Zwiers
dd1d6a0f67
feat(web): add performance.timeOrigin (#14489)
Add support for the `performance.timeOrigin` web API.

Co-authored-by: Jovi De Croock <decroockjovi@gmail.com>
2022-05-06 19:37:18 +02:00
Kitson Kelly
ef26a267ae
fix(cli): add dom.extras lib (#14430)
Closes: #12558
Fixes: #14344
2022-04-29 13:47:58 +10:00
David Sherret
2724235ec7
chore: add release step failure instructions (#14352) 2022-04-21 12:33:37 -04:00
David Sherret
0cd61f2260
chore(scripts): allow running version_bump workflow without releasing deno_std yet (#14341) 2022-04-21 09:51:12 -04:00
denobot
29c8cd8aae
1.21.0 (#14336)
Co-authored-by: ry <ry@users.noreply.github.com>
Co-authored-by: David Sherret <dsherret@gmail.com>
2022-04-20 21:50:16 -04:00
Nayeem Rahman
c30d95f2e3
feat(ext/web): add globalThis.reportError() (#13799) 2022-04-19 10:59:51 +02:00
Luca Casonato
ca3b20df3c
chore: update wpt (#14313) 2022-04-18 21:17:19 +02:00
Feng Yu
32aaefd9ee
fix(tools/wpt): replace deprecated writeAllSync and writeAll (#14282) 2022-04-16 17:28:15 +02:00
David Sherret
b4af648c15
chore: release fixes based on doing the v1.20.6 release (#14289) 2022-04-15 09:39:41 -04:00
Bartek Iwańczuk
f7e7f54849
chore: use lock file for tooling scripts (#14253)
This commit adds lock file for maintenance scripts in "tools/"
directory. 

The lock file is stored in "tools/deno.lock.json".
2022-04-13 18:51:16 +02:00
Bartek Iwańczuk
c154ac5168
chore: use local copy of std in tools/bench/ scripts (#14251) 2022-04-11 11:46:23 +02:00
David Sherret
a4eee007ef
chore: update release instructions based on 1.20.5 release (#14239) 2022-04-08 12:32:25 -04:00
David Sherret
b2aaf708ab
chore: forward v1.20.5 release commit to main (#14232) 2022-04-07 14:40:20 -04:00
David Sherret
e33329b47e
chore(ci): automatically open PR to forward patch release back to main (#14180) 2022-04-04 14:56:29 -04:00
David Sherret
fcd986875a
chore(ci): update deno_std release steps (#14178) 2022-04-04 09:37:54 -04:00
David Sherret
c0ee027d34
chore(ci): automatically include releases notes in release draft (#14179) 2022-04-02 11:25:12 -04:00
David Sherret
8ca4c1819f
chore(ci): fix Releases.md creation and tag name (#14166) 2022-04-01 11:11:53 -04:00
David Sherret
5cab3e7dba
build: use workflows for bumping versions and cargo publishing on the CI (#13995) 2022-03-30 16:37:00 -04:00
David Sherret
92bb251058
chore: release script should automatically figure out CLI crate dependencies (#13992) 2022-03-16 20:33:14 -04:00
Ryan Dahl
163e1d6192
disable flakes (#13962) 2022-03-15 11:19:59 -04:00
Andreu Botella
9f494dc405
feat(ext/web): Add AbortSignal.timeout() (#13687) 2022-03-14 20:19:22 +01:00
Yoshiya Hinosawa
99816ad506
chore: fix file permissions of release scripts (#13901) 2022-03-10 23:29:49 +09:00
David Sherret
a3d6be025c
chore: reduce release PRs from 2 to 1 (#13878) 2022-03-08 18:10:03 -05:00
David Sherret
96dc7421ae
chore: automatically update Releases.md when doing a release (#13837)
Co-authored-by: Aaron O'Mullan <aaron.omullan@gmail.com>
2022-03-04 22:28:23 -05:00
Satya Rohith
70690f54af
chore: update deps (#13821) 2022-03-05 03:38:04 +05:30
Satya Rohith
99904a668e
chore: update cut_a_release.md (#13822) 2022-03-04 09:00:55 +05:30
Kitson Kelly
1db7566e2a
docs: information about updating TypeScript version (#13810) 2022-03-03 13:08:01 +11:00
Divy Srivastava
8b2989c417
feat(ext/crypto): AES-GCM support for 128bit IVs (#13805) 2022-03-02 10:56:10 +05:30
David Sherret
4be0365fb8
chore(tools): use automation scripts from automation repo (#13796) 2022-03-01 15:40:32 -05:00
David Sherret
877c0b724e
chore: use rustfmt cli via dprint for faster format (#13735) 2022-02-21 12:47:08 -05:00
Andreu Botella
665ea9b5f0
chore: update wpt (#13679) 2022-02-16 14:33:34 +01:00
Divy Srivastava
e218d567d5
fix(ext/crypto): support EC p256 private key material in exportKey (#13547)
Co-authored-by: Luca Casonato <hello@lcas.dev>
2022-02-08 18:48:28 +05:30
Aaron O'Mullan
bd5d445da9
chore: re-enable wgpu_sync (#13453) 2022-01-24 23:47:05 +01:00
Leo Kettmeir
30ddf436d0
feat(ext/web): add CompressionStream API (#11728)
Co-authored-by: Luca Casonato <hello@lcas.dev>
Co-authored-by: Ryan Dahl <ry@tinyclouds.org>
2022-01-24 18:03:06 +01:00
Bartek Iwańczuk
56d0ca7f52
chore: update cut_a_release.md (#13444) 2022-01-21 10:16:57 +01:00
Aaron O'Mullan
3ab68bd0a2
revert(#13402): experiment: wgpu sync (#13439) 2022-01-20 15:23:53 +01:00
Yoshiya Hinosawa
4c1053ad33
chore: update copyright year (#13434) 2022-01-20 16:10:16 +09:00
Aaron O'Mullan
2ab21dafa7
experiment: wgpu sync (#13402) 2022-01-19 13:38:51 +01:00
Leo Kettmeir
e134ac6741
chore: update wpt (#13423) 2022-01-19 12:31:32 +01:00
Sean Michael Wykes
9139985180
feat(ext/crypto): implement pkcs8/JWK for P-384 curves (#13154) 2022-01-19 12:14:35 +05:30
Sean Michael Wykes
77e58fe7f9
feat(ext/crypto): implement pkcs8/spki/jwk exportKey for ECDSA and ECDH (#13104) 2022-01-19 09:08:35 +05:30
Ryan Dahl
ce52bfc59c
Add LSP benchmark mimicking the one on quick-lint-js (#13365) 2022-01-18 06:58:50 -05:00
Leo Kettmeir
659bbd731c
feat(streams): reject pending reads when releasing reader (#13375) 2022-01-14 17:34:54 +01:00
Leo Kettmeir
b720af994a
chore: update wpt (#13371) 2022-01-14 17:00:02 +01:00
Divy Srivastava
919ded1a0b
feat(ext/crypto): implement AES-GCM decryption (#13319) 2022-01-14 14:18:53 +05:30
Bartek Iwańczuk
5e2d7737f5
chore: update cut_a_release.md (#13352) 2022-01-13 16:43:35 +01:00
Leo Kettmeir
f955afc5ea
chore: bump rust-urlpattern to 0.1.3 (#13328) 2022-01-11 22:42:58 +01:00
Sean Michael Wykes
91f6c5fc7e
feat(ext/crypto): implement AES-KW for wrapKey/unwrapKey (#13286) 2022-01-11 10:14:47 +05:30
Ryan Dahl
1fb5858009
chore: update copyright to 2022 (#13306)
Co-authored-by: Erfan Safari <erfanshield@outlook.com>
2022-01-07 22:09:52 -05:00
Sean Michael Wykes
59f0eafd19
feat(ext/crypto): JWK support for unwrapKey/wrapKey (#13261) 2022-01-07 16:39:01 +05:30
Sean Michael Wykes
d92072c656
chore(wpt): add "--inspect-brk" flag to WPT runner (#13267) 2022-01-06 11:24:37 +01:00
Divy Srivastava
c74eb7a889
feat(ext/crypto): implement AES-GCM encryption (#13119) 2022-01-05 20:42:30 +05:30
Sean Michael Wykes
9a42d65fc7
feat(ext/crypto): support AES-CTR encrypt/decrypt (#13177)
Fixes #13201.
2022-01-03 12:27:28 +01:00
Sean Michael Wykes
07618c861e
fix(ext/crypto) include AES-CTR for deriveKey (#13174) 2021-12-27 08:25:17 -05:00
Ryan Dahl
86bddcc44a
docs: update release instructions for M1 build (#13182) 2021-12-23 16:43:13 +01:00
Kitson Kelly
e803a9f2f0
docs: update release info for doc.deno.land (#13116) 2021-12-17 12:13:45 +11:00
Sean Michael Wykes
60faf7a0ed
feat(ext/crypto): support importing ECSDA and ECDH (#13088)
Co-authored-by: Luca Casonato <hello@lcas.dev>
2021-12-16 17:28:43 +01:00
Bartek Iwańczuk
a1f0796fcc
feat: Add support for import assertions and JSON modules (#12866)
This commit adds proper support for import assertions and JSON modules.

Implementation of "core/modules.rs" was changed to account for multiple possible
module types, instead of always assuming that the code is an "ES module". In
effect "ModuleMap" now has knowledge about each modules' type (stored via
"ModuleType" enum). Module loading pipeline now stores information about
expected module type for each request and validates that expected type matches
discovered module type based on file's "MediaType".

Relevant tests were added to "core/modules.rs" and integration tests,
additionally multiple WPT tests were enabled.

There are still some rough edges in the implementation and not all WPT were
enabled, due to:
a) unclear BOM handling in source code by "FileFetcher"
b) design limitation of Deno's "FileFetcher" that doesn't download the same
module multiple times in a single run

Co-authored-by: Kitson Kelly <me@kitsonkelly.com>
2021-12-15 19:22:36 +01:00
Bartek Iwańczuk
2c20e621aa
chore: lint cli/tests/unit/ (#13083) 2021-12-14 23:03:17 +01:00
Luca Casonato
b220a58d1a
feat(ext/crypto): support exporting RSA JWKs (#13081)
This commit adds support for exporting RSA JWKs in the Web Crypto API.
It also does some minor fixes for RSA JWK imports.

Co-authored-by: Sean Michael Wykes <sean.wykes@nascent.com.br>
2021-12-14 17:02:14 +01:00
Luca Casonato
5fe4d5c818
feat(ext/crypto): support importing RSA JWKs (#13071)
This commit adds support for importing RSA JWKs in the Web Crypto API.

Co-authored-by: Sean Michael Wykes <sean.wykes@nascent.com.br>
2021-12-14 12:25:07 +01:00
Andreu Botella
0f0dd5b7ec
feat(ext/web): implement AbortSignal.prototype.throwIfAborted() (#13044)
See whatwg/dom#1034.
2021-12-10 15:12:38 +01:00
Andreu Botella
542b71eef9
chore: update wpt (#13043) 2021-12-10 14:48:46 +01:00
Kitson Kelly
345f0fbe5c
feat(cli): update to TypeScript 4.5 (#12410)
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2021-12-10 09:12:21 +11:00
Yacine Hmito
a3d024ac2e
feat(crypto): support importKey in SPKI format (#12921)
This commit adds support for `spki` key format for `crypto.subtle.importKey` for the RSA* algorithms.
2021-12-09 20:32:55 +01:00
Andreu Botella
318f48f9ad
feat(streams): support abort reasons in streams (#12991) 2021-12-08 23:31:22 +01:00
Andreu Botella
b91e6fd02f
chore: Update WPT (#12987) 2021-12-06 16:03:09 +01:00
Divy Srivastava
d31378726e
feat(ext/crypto): implement unwrapKey (#12539) 2021-12-05 04:55:11 +01:00
Divy Srivastava
96d02deed6
feat(ext/crypto): support importing exporting AES JWK keys (#12444) 2021-11-28 16:48:49 +01:00
Luca Casonato
2853e37604
fix(ext/crypto): throw on key & op algo mismatch (#12838) 2021-11-25 15:57:01 +01:00
Luca Casonato
71ceca0ffc
fix(ext/crypto): don't panic on decryption failure (#12840) 2021-11-22 23:58:21 +01:00
David Sherret
4836ab769c
1.16.2 (#12794) 2021-11-17 11:00:58 -05:00
Bartek Iwańczuk
0cc8a9741a
chore: update cut_a_release.md (#12725) 2021-11-10 16:49:47 +01:00
Luca Casonato
82dd133d5c
chore: disable flaky wpt tests (#12696) 2021-11-08 23:30:41 +01:00
Leo Kettmeir
c91da1222b
feat(ext/web): WritableStreamDefaultController.signal (#12654) 2021-11-08 12:54:24 +01:00
Luca Casonato
3828a7eb11
chore: update wpt (#12682)
This commit updates WPT to 3904336d37ed6f480fc8879ea8bd5683a39ede3d.
2021-11-08 02:20:39 +01:00
Aaron O'Mullan
0f8299d011
fix(cli): don't panic when mapping unknown errors (#12659)
Instead fallback to generic "Error" class, fixes #12590, also update WPT expectations
2021-11-07 15:33:56 +01:00
Ryan Dahl
7c2abb9d57
fix: Deno.emit crashes with BorrowMutError (#12627)
Warn on await_holding_refcell_ref clippy rule to avoid this in the future.

Fixes #12453
2021-11-03 09:27:36 -04:00
Leo Kettmeir
95b2955712
feat(ext/web): BYOB support for ReadableStream (#12616)
This commit introduces support for BYOB readers in the WHATWG Streams API implementation.
2021-11-03 10:47:40 +01:00
David Sherret
0ec151b8cb
chore: upgrade deno_ast to 0.5.0 (#12595) 2021-11-01 16:22:27 -04:00
Kitson Kelly
3ae8a8404b
chore(ci): update dependency for upload_wptfyi (#12587) 2021-10-29 16:29:37 +11:00
Andreu Botella
bc8e94155a
fix(encoding): support additional encoding labels (#12586) 2021-10-29 10:31:42 +05:30
Andreu Botella
74a93fdf63
fix(webidl): Don't throw when converting a detached buffer source (#12585)
The Web IDL conversion to `BufferSource` and similar types shouldn't
check whether the buffer is detached.

In the case of `TextDecoder`, our implementation would still throw after
the Web IDL conversions because we're creating a new `Uint8Array` from
the buffer source's buffer, which throws if it's detached. This change
also fixes this bug.
2021-10-28 23:17:27 +02:00
Luca Casonato
be68b82eb4
chore: update to rusty_v8 0.33.0 (#12564) 2021-10-27 23:26:15 +02:00
Andreu Botella
09dd77c13e
fix(workers): Make importScripts() use the same HTTP client as fetch (#12540)
The initial implementation of `importScripts()` in #11338 used
`reqwest`'s default client to fetch HTTP scripts, which meant it would
not use certificates or other fetching configuration passed by command
line flags. This change fixes it.
2021-10-27 15:09:58 +02:00
Yoshiya Hinosawa
b4ab8ef9ea
docs(cut_a_release): update link to dotland repo (#12546) 2021-10-26 13:44:41 +09:00
Luca Casonato
834f474729
chore: add note about BCD to cut_a_release.md (#12513) 2021-10-22 14:45:16 +02:00
Aaron O'Mullan
4f48efcc55
chore: return serde_v8 to main repo (#12500)
Reduces fragmentation, avoids version drift and facilitates coordinating serde_v8 and op-layer changes
2021-10-20 00:00:45 +02:00
Bartek Iwańczuk
a2f5931510
chore: update release script (#12481) 2021-10-19 03:12:47 +02:00
Bert Belder
22d6e43c37
chore(wpt): disable broken tests (#12385)
* 'request-upload.h2' and 'redirect-upload.h2' only work with a
  functional HTTP2 test harness server, otherwise they're flaky.
* Fetch request streaming tests require a server that doesn't choke
  on requests that use 'Transfer-Encoding: chunked'.
2021-10-17 15:12:19 +02: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
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
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
Andreu Botella
74e5b68682
refactor: deduplicate defineEventHandler util (#12367) 2021-10-08 09:53:31 +02:00
Andreu Botella
e8b3ffd155
fix(runtime): Getting navigator.hardwareConcurrency on workers shouldn't throw (#12354) 2021-10-07 19:39:33 +02:00
Andreu Botella
2170a41d97
feat(web): Implement DOMException's stack property. (#12294)
As per WebIDL (https://heycam.github.io/webidl/#es-DOMException-specialness),
if `Error` objects have a `stack` property, so should `DOMException`
instances.
2021-10-03 17:21:49 +02:00
Divy Srivastava
5065c7bcd9
feat(ext/crypto): implement wrapKey (#12125) 2021-10-01 11:39:49 +02:00
Aaron O'Mullan
b3ceafaa5d
tools(bench): rebootstrap (#12281)
Enable deno devs to bench/profile/test JS code changes without doing a full --release rebuild.

Incremental release builds take ~4mn on M1s, often more on other machines ...
2021-10-01 00:42:24 +02:00
Ahab
923d9c7786
fix(ext/fetch): avoid panic when header is invalid (#12244) 2021-09-29 18:42:06 +02:00
Andreu Botella
cdb252af0a
feat: support serializing WebAssembly.Module objects (#12140) 2021-09-29 10:47:24 +02:00
Andreu Botella
1380defb80
chore: update wpt (#12206) 2021-09-25 15:27:34 +02:00
李瑞丰
46245b830a
fix(ext/webidl): correctly apply [SymbolToStringTag] to interfaces (#11851)
Co-authored-by: Luca Casonato <hello@lcas.dev>
Co-authored-by: Yoshiya Hinosawa <stibium121@gmail.com>
2021-09-25 02:07:22 +09:00
Kitson Kelly
87e78802b0
docs(tools): updates to cutting a release (#12177) 2021-09-23 09:12:56 +10:00
Kitson Kelly
f27902e749
1.14.1 2021-09-22 08:44:46 +10:00
Kitson Kelly
2a56cd545c
chore: bump crate versions for 1.14.1 (#12172) 2021-09-22 06:53:47 +10:00
David Sherret
4283e2907e
chore(scripts): improvements to the release scripts based on the 1.14 release (#12079) 2021-09-15 09:16:06 -04:00
David Sherret
f92cc66f0d
1.14.0 (#12074) 2021-09-14 16:46:36 -04:00
Divy Srivastava
c41460ecc4
feat(ext/crypto): import RSA pkcs#8 keys (#11891) 2021-09-14 15:21:20 +02:00
Luca Casonato
d0b5ff6db9
feat(ext/crypto): generate ECDH keys (#11870)
Add support for ECDH algorithm in SubtleCrypto#generateKey.
2021-09-13 11:35:49 +02:00
Feng Yu
464dcc1388
fix: FileReader onevent attributes don't conform to spec (#11908) 2021-09-12 09:35:05 -04:00
Divy Srivastava
0cb22d4cba
feat(ext/crypto): implement HKDF operations (#11865)
Co-authored-by: Luca Casonato <lucacasonato@yahoo.com>
2021-09-11 16:54:03 -04:00
Andreu Botella
1563088f06
fix: a Request whose URL is a revoked blob URL should still fetch (#11947)
In the spec, a URL record has an associated "blob URL entry", which for
`blob:` URLs is populated during parsing to contain a reference to the
`Blob` object that backs that object URL. It is this blob URL entry that
the `fetch` API uses to resolve an object URL.

Therefore, since the `Request` constructor parses URL inputs, it will
have an associated blob URL entry which will be used when fetching, even
if the object URL has been revoked since the construction of the
`Request` object. (The `Request` constructor takes the URL as a string
and parses it, so the object URL must be live at the time it is called.)

This PR adds a new `blobFromObjectUrl` JS function (backed by a new
`op_blob_from_object_url` op) that, if the URL is a valid object URL,
returns a new `Blob` object whose parts are references to the same Rust
`BlobPart`s used by the original `Blob` object. It uses this function to
add a new `blobUrlEntry` field to inner requests, which will be `null`
or such a `Blob`, and then uses `Blob.prototype.stream()` as the
response's body. As a result of this, the `blob:` URL resolution from
`op_fetch` is now useless, and has been removed.
2021-09-08 11:29:21 +02:00
Luca Casonato
e07f28d301
feat: add URLPattern API (#11941)
This adds support for the URLPattern  API.

The API is added in --unstable only, as it has not yet shipped in any
browser. It is targeted for shipping in Chrome 95.

Spec: https://wicg.github.io/urlpattern/

Co-authored-by: crowlKats < crowlkats@toaxl.com >
2021-09-08 11:14:29 +02:00
Luca Casonato
066f75ac07
chore: update wpt (#11950) 2021-09-07 23:50:22 +02:00
Ryan Dahl
c132c8690b
BREAKING(unstable): Remove Deno.Signals enum, Deno.signals.* (#11909) 2021-09-06 10:05:33 -04:00
Luca Casonato
cee5be4539
feat(ext/crypto): AES key generation (#11869)
Support AES-CTR, AES-CBC, AES-GCM, and AES-KW in
SubtleCrypto#generateKey.
2021-08-31 11:25:44 +02:00
David Sherret
ca75752e5a
chore: release scripts should update Cargo.lock file when bumping versions (#11879) 2021-08-30 13:35:48 -04:00
Divy Srivastava
1f57cd2c0f
feat(ext/crypto): support JWK import for HMAC (#11716) 2021-08-27 13:19:41 +02:00
Divy Srivastava
23a9bc099d
feat(ext/crypto): implement importKey and deriveBits for PBKDF2 (#11642) 2021-08-26 12:48:07 +02:00
David Sherret
dce70d32a4
chore: add scripts for helping with a release (#11832) 2021-08-25 09:02:22 -04:00
Luca Casonato
5d814a4c24
feat: ArrayBuffer in structured clone transfer (#11840) 2021-08-25 13:48:53 +02:00
Divy Srivastava
85a56e7144
feat(ext/crypto): implement encrypt, decrypt & generateKey for RSA-OAEP (#11654) 2021-08-24 21:59:02 +02:00
Luca Casonato
50f69a6996
fix: FileReader.readAsText compat (#11814)
Fixes a WPT test.
2021-08-24 13:13:22 +02:00
David Sherret
6db8cbb650
chore: release crates for 1.13.2 (#11820) 2021-08-23 15:48:08 -04:00
Yusuke Tanaka
4ae57d185e
chore: upgrade dlint and run prefer-primordials rule (#11777) 2021-08-20 01:14:20 +02:00
Luca Casonato
a66218d457
fix(runtime): event loop panics in classic workers (#11756)
Classic worker scripts are now executed in the context of a Tokio
runtime. This does mean we can not spawn more tokio runtimes in
"op_worker_sync_fetch". We instead spawn a new thread there, that can
create a new Tokio runtime that we can use to block the worker thread.
2021-08-18 15:19:22 +02:00
David Sherret
5d24ddf9b2
chore: sort items in Releases.md for 1.13.1 release (#11734) 2021-08-17 12:03:33 +02:00
David Sherret
a66a7bebbe
chore: release crates for 1.13.1 (#11729) 2021-08-16 16:49:14 -04:00
Divy Srivastava
eea6f578fc
fix(ext/crypto): enable non-extractable keys (#11705) 2021-08-16 18:11:36 +02:00
Andreu Botella
ddbb7b83f2
feat(runtime): support classic workers for internal testing (#11338)
This commit implements classic workers, but only when the `--enable-testing-features-do-not-use` flag is provided. This change is not user facing. Classic workers are used extensively in WPT tests. The classic workers do not support loading from disk, and do not support TypeScript.

Co-authored-by: Luca Casonato <hello@lcas.dev>
2021-08-16 14:29:54 +02:00
Luca Casonato
47b7cd5a7e
chore: roll wpt (#11692)
This PR rolls WPT to 7eb7372a61
2021-08-14 13:27:09 +02:00
Divy Srivastava
71f79097c6
fix(ext/crypto): importKey() SecurityError on non-extractable keys (#11662)
Co-authored-by: Luca Casonato <hello@lcas.dev>
2021-08-13 23:20:44 +02:00
Luca Casonato
eae9d5b647
fix: Blob#slice arguments should be optional (#11665) 2021-08-12 19:16:23 +02:00
Divy Srivastava
b1799e6771
chore(tools): use local std in wpt utils (#11644) 2021-08-12 10:09:27 +02:00
David Sherret
15a763152f
chore: move test files to testdata directory (#11601) 2021-08-11 10:20:47 -04:00
Ryan Dahl
a0285e2eb8
Rename extensions/ directory to ext/ (#11643) 2021-08-11 12:27:05 +02:00
Bartek Iwańczuk
548e466112
chore: release crates (#11628) 2021-08-10 14:19:42 +02:00
Leo K
2db381eba9
feat: add experimental WebSocketStream API (#10365)
This commit adds the experimental WebSocketStream API when
using the --unstable flag.

The explainer for the API can be found here:
https://github.com/ricea/websocketstream-explainer
2021-08-10 00:28:17 +02:00
Luca Casonato
4d4ce4c4d8
chore: update wpt (#11621) 2021-08-09 18:49:31 +02:00
Divy Srivastava
87de8e82a1
feat(extensions/crypto): implement verify() for HMAC (#11387) 2021-08-04 21:49:27 +02:00
Divy Srivastava
86f89f9222
feat(extensions/crypto): implement importKey and exportKey for raw HMAC keys (#11367)
This commit introduces "SubtleCrypto.importKey()" and 
"SubtleCrypto.exportKey()" APIs.
2021-08-03 21:24:02 +02:00
Bartek Iwańczuk
505d253436
Revert "fix(extensions/fetch): Add Origin header to outgoing requests for fetch (#11557)" (#11565)
This reverts commit f87aa44d94.
2021-08-02 15:56:52 +02:00
Feng Yu
f87aa44d94
fix(extensions/fetch): Add Origin header to outgoing requests for fetch (#11557) 2021-08-02 02:19:21 -07:00
Bartek Iwańczuk
a05bb3924a
chore: update cut_a_release.md (#11522) 2021-07-27 00:26:39 +02:00
Luca Casonato
08d2c7250b
fix: Big{U|}Int64Array in crypto.getRandomValues (#11447)
Relevant spec change: https://github.com/w3c/webcrypto/pull/266
2021-07-19 15:35:47 +02:00
Luca Casonato
7b82ef9ded
chore: update wpt (#11446) 2021-07-19 13:46:02 +02:00
Andreu Botella
5b771e7e83
fix(extensions/web): aborting a FileReader should not affect later reads (#11381)
Currently, calling the `abort()` method on a `FileReader` object aborts
any current read operation, but it also prevents any read operation
started at some later point from starting. The File API instead
specifies that calling `abort()` should reset the `FileReader`'s state
and result, as well as removing any queued tasks from the current
operation that haven't yet run.
2021-07-14 12:08:42 +02:00
Bartek Iwańczuk
642dd3d3c4
chore: release crates (#11378) 2021-07-13 02:16:49 +02:00
Andreu Botella
2c7c130f0a
chore(wpt): Mark a WPT test as failed if it exits before completion (#11371)
Currently, a WPT test is considered failed if its status code is
anything other than 0, regardless of whether the test suite completed
running or not, and any subtests that haven't finished running are not
considered to be failures.

But a test can exit with a zero status code before it has completed
running, if the event loop has run out of tasks because of a bug in one
of the ops, leading to false positives. This change fixes that.
2021-07-12 21:15:07 +02:00
Divy Srivastava
00484d24ba
feat(extensions/crypto): implement verify() for RSA (#11312) 2021-07-12 14:45:36 +02:00
Divy Srivastava
b3f22d3fdd
fix(extensiosn/web): AddEventListenerOptions.signal shouldn't be nullable (#11348) 2021-07-10 07:13:58 -07:00
Divy Srivastava
391bf17479
chore(extensions/crypto): enable WPT stringification test (#11336) 2021-07-09 17:04:50 +02:00
Luca Casonato
48e7c871d9
Revert "tests: parallelize test runs in wpt" (#11321)
This reverts commit 7edb1d713c.
2021-07-07 20:19:47 +02:00
Andreu Botella
c972fe6cec
tests: escape lone surrogates in wptreport (#11310) 2021-07-07 19:56:47 +02:00
Luca Casonato
7edb1d713c
tests: parallelize test runs in wpt (#11306) 2021-07-06 22:42:30 +02:00
Divy Srivastava
570309d795
feat(crypto): implement generateKey() and sign() (#9614)
Co-authored-by: Luca Casonato <hello@lcas.dev>
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2021-07-06 14:16:04 +02:00
Jimmy Wärting
2c0b0e45b7
refactor: asynchronous blob backing store (#10969)
Co-authored-by: Luca Casonato <hello@lcas.dev>
2021-07-05 15:34:37 +02:00
Leo K
220104f577
fix: spec conformance for performance API (#10887) 2021-07-05 13:17:11 +02:00
Luca Casonato
3c0267dbb5
fix: align DOMException to webidl spec (#11259) 2021-07-04 16:08:53 +02:00