diff --git a/.dprint.json b/.dprint.json index 0b3b94e96a..6db94073f2 100644 --- a/.dprint.json +++ b/.dprint.json @@ -30,7 +30,10 @@ "cli/tests/testdata/file_extensions/ts_with_js_extension.js", "cli/tests/testdata/fmt/badly_formatted.json", "cli/tests/testdata/fmt/badly_formatted.md", +<<<<<<< HEAD "cli/tests/testdata/fmt/badly_formatted.ipynb", +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) "cli/tests/testdata/byte_order_mark.ts", "cli/tests/testdata/encoding", "cli/tests/testdata/fmt/", @@ -56,9 +59,15 @@ "ext/websocket/autobahn/reports" ], "plugins": [ +<<<<<<< HEAD "https://plugins.dprint.dev/typescript-0.88.6.wasm", "https://plugins.dprint.dev/json-0.19.1.wasm", "https://plugins.dprint.dev/markdown-0.16.3.wasm", +======= + "https://plugins.dprint.dev/typescript-0.88.4.wasm", + "https://plugins.dprint.dev/json-0.19.0.wasm", + "https://plugins.dprint.dev/markdown-0.16.2.wasm", +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) "https://plugins.dprint.dev/toml-0.5.4.wasm", "https://plugins.dprint.dev/exec-0.4.4.json@c207bf9b9a4ee1f0ecb75c594f774924baf62e8e53a2ce9d873816a408cecbf7" ] diff --git a/.github/workflows/ci.generate.ts b/.github/workflows/ci.generate.ts index bda10e1b46..cd9e31f1d7 100755 --- a/.github/workflows/ci.generate.ts +++ b/.github/workflows/ci.generate.ts @@ -5,7 +5,11 @@ import * as yaml from "https://deno.land/std@0.173.0/encoding/yaml.ts"; // Bump this number when you want to purge the cache. // Note: the tools/release/01_bump_crate_versions.ts script will update this version // automatically via regex, so ensure that this line maintains this format. +<<<<<<< HEAD const cacheVersion = 60; +======= +const cacheVersion = 61; +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) const ubuntuRunner = "ubuntu-22.04"; const ubuntuXlRunner = "ubuntu-22.04-xl"; diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b400b41c82..8e143c4897 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -329,8 +329,13 @@ jobs: path: |- ~/.cargo/registry/index ~/.cargo/registry/cache +<<<<<<< HEAD key: '60-cargo-home-${{ matrix.os }}-${{ hashFiles(''Cargo.lock'') }}' restore-keys: '60-cargo-home-${{ matrix.os }}' +======= + key: '61-cargo-home-${{ matrix.os }}-${{ hashFiles(''Cargo.lock'') }}' + restore-keys: '61-cargo-home-${{ matrix.os }}' +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) if: '!(matrix.skip)' - name: Restore cache build output (PR) uses: actions/cache/restore@v3 @@ -342,7 +347,11 @@ jobs: !./target/*/*.zip !./target/*/*.tar.gz key: never_saved +<<<<<<< HEAD restore-keys: '60-cargo-target-${{ matrix.os }}-${{ matrix.profile }}-${{ matrix.job }}-' +======= + restore-keys: '61-cargo-target-${{ matrix.os }}-${{ matrix.profile }}-${{ matrix.job }}-' +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) - name: Apply and update mtime cache if: '!(matrix.skip) && (!startsWith(github.ref, ''refs/tags/''))' uses: ./.github/mtime_cache @@ -639,7 +648,11 @@ jobs: !./target/*/gn_out !./target/*/*.zip !./target/*/*.tar.gz +<<<<<<< HEAD key: '60-cargo-target-${{ matrix.os }}-${{ matrix.profile }}-${{ matrix.job }}-${{ github.sha }}' +======= + key: '61-cargo-target-${{ matrix.os }}-${{ matrix.profile }}-${{ matrix.job }}-${{ github.sha }}' +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) publish-canary: name: publish canary runs-on: ubuntu-22.04 diff --git a/Cargo.lock b/Cargo.lock index 46a85b3210..b28edaac3d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -851,7 +851,11 @@ dependencies = [ [[package]] name = "deno" +<<<<<<< HEAD version = "1.38.3" +======= +version = "1.38.4" +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) dependencies = [ "async-trait", "base32", @@ -884,7 +888,10 @@ dependencies = [ "dissimilar", "dotenvy", "dprint-plugin-json", +<<<<<<< HEAD "dprint-plugin-jupyter", +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) "dprint-plugin-markdown", "dprint-plugin-typescript", "encoding_rs", @@ -993,7 +1000,11 @@ dependencies = [ [[package]] name = "deno_bench_util" +<<<<<<< HEAD version = "0.119.0" +======= +version = "0.120.0" +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) dependencies = [ "bencher", "deno_core", @@ -1003,7 +1014,11 @@ dependencies = [ [[package]] name = "deno_broadcast_channel" +<<<<<<< HEAD version = "0.119.0" +======= +version = "0.120.0" +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) dependencies = [ "async-trait", "deno_core", @@ -1013,7 +1028,11 @@ dependencies = [ [[package]] name = "deno_cache" +<<<<<<< HEAD version = "0.57.0" +======= +version = "0.58.0" +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) dependencies = [ "async-trait", "deno_core", @@ -1044,9 +1063,15 @@ dependencies = [ [[package]] name = "deno_config" +<<<<<<< HEAD version = "0.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "97979f94af93f388822233278ede930414efa273d6eb495de7680f2a6862a4d3" +======= +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "40c6b9137fcc5c6f81d12214fc31cdddf2c64d0667a5458803e081ddd856d5b6" +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) dependencies = [ "anyhow", "indexmap 2.0.2", @@ -1060,16 +1085,26 @@ dependencies = [ [[package]] name = "deno_console" +<<<<<<< HEAD version = "0.125.0" +======= +version = "0.126.0" +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) dependencies = [ "deno_core", ] [[package]] name = "deno_core" +<<<<<<< HEAD version = "0.233.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1b1c9dadf191bb484179cf4a599e0ccbe8ea62f35676a15397f171aff14bd9a0" +======= +version = "0.232.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "229ffd108e028b148a1a5a6122f771bc7c37094170226f44b8b93b3a9b79d114" +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) dependencies = [ "anyhow", "bytes", @@ -1092,7 +1127,11 @@ dependencies = [ [[package]] name = "deno_cron" +<<<<<<< HEAD version = "0.5.0" +======= +version = "0.6.0" +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) dependencies = [ "anyhow", "async-trait", @@ -1105,7 +1144,11 @@ dependencies = [ [[package]] name = "deno_crypto" +<<<<<<< HEAD version = "0.139.0" +======= +version = "0.140.0" +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) dependencies = [ "aes", "aes-gcm", @@ -1178,7 +1221,11 @@ dependencies = [ [[package]] name = "deno_fetch" +<<<<<<< HEAD version = "0.149.0" +======= +version = "0.150.0" +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) dependencies = [ "bytes", "data-url", @@ -1194,7 +1241,11 @@ dependencies = [ [[package]] name = "deno_ffi" +<<<<<<< HEAD version = "0.112.0" +======= +version = "0.113.0" +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) dependencies = [ "deno_core", "dlopen2", @@ -1210,7 +1261,11 @@ dependencies = [ [[package]] name = "deno_fs" +<<<<<<< HEAD version = "0.35.0" +======= +version = "0.36.0" +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) dependencies = [ "async-trait", "deno_core", @@ -1252,7 +1307,11 @@ dependencies = [ [[package]] name = "deno_http" +<<<<<<< HEAD version = "0.122.0" +======= +version = "0.123.0" +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) dependencies = [ "async-compression", "async-trait", @@ -1289,7 +1348,11 @@ dependencies = [ [[package]] name = "deno_io" +<<<<<<< HEAD version = "0.35.0" +======= +version = "0.36.0" +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) dependencies = [ "async-trait", "deno_core", @@ -1302,7 +1365,11 @@ dependencies = [ [[package]] name = "deno_kv" +<<<<<<< HEAD version = "0.33.0" +======= +version = "0.34.0" +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) dependencies = [ "anyhow", "async-trait", @@ -1374,7 +1441,11 @@ dependencies = [ [[package]] name = "deno_napi" +<<<<<<< HEAD version = "0.55.0" +======= +version = "0.56.0" +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) dependencies = [ "deno_core", "libloading", @@ -1395,7 +1466,11 @@ dependencies = [ [[package]] name = "deno_net" +<<<<<<< HEAD version = "0.117.0" +======= +version = "0.118.0" +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) dependencies = [ "deno_core", "deno_tls", @@ -1412,7 +1487,11 @@ dependencies = [ [[package]] name = "deno_node" +<<<<<<< HEAD version = "0.62.0" +======= +version = "0.63.0" +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) dependencies = [ "aead-gcm-stream", "aes", @@ -1492,9 +1571,15 @@ dependencies = [ [[package]] name = "deno_ops" +<<<<<<< HEAD version = "0.109.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a3901bf4ce170c37d936ce8b947ba0217e5d235ebbbc1c340703268141c359d3" +======= +version = "0.108.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7dde627916f8539f3f0d2e754dda40810c8ca4d655f2eaac1ef54785a12fd27" +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) dependencies = [ "proc-macro-rules", "proc-macro2", @@ -1507,7 +1592,11 @@ dependencies = [ [[package]] name = "deno_runtime" +<<<<<<< HEAD version = "0.133.0" +======= +version = "0.134.0" +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) dependencies = [ "console_static_text", "deno_ast", @@ -1593,7 +1682,11 @@ dependencies = [ [[package]] name = "deno_tls" +<<<<<<< HEAD version = "0.112.0" +======= +version = "0.113.0" +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) dependencies = [ "deno_core", "deno_native_certs", @@ -1625,7 +1718,11 @@ dependencies = [ [[package]] name = "deno_url" +<<<<<<< HEAD version = "0.125.0" +======= +version = "0.126.0" +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) dependencies = [ "deno_bench_util", "deno_console", @@ -1637,7 +1734,11 @@ dependencies = [ [[package]] name = "deno_web" +<<<<<<< HEAD version = "0.156.0" +======= +version = "0.157.0" +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) dependencies = [ "async-trait", "base64-simd", @@ -1658,7 +1759,11 @@ dependencies = [ [[package]] name = "deno_webidl" +<<<<<<< HEAD version = "0.125.0" +======= +version = "0.126.0" +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) dependencies = [ "deno_bench_util", "deno_core", @@ -1666,7 +1771,11 @@ dependencies = [ [[package]] name = "deno_websocket" +<<<<<<< HEAD version = "0.130.0" +======= +version = "0.131.0" +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) dependencies = [ "bytes", "deno_core", @@ -1684,7 +1793,11 @@ dependencies = [ [[package]] name = "deno_webstorage" +<<<<<<< HEAD version = "0.120.0" +======= +version = "0.121.0" +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) dependencies = [ "deno_core", "deno_web", @@ -1704,9 +1817,15 @@ dependencies = [ [[package]] name = "denokv_proto" +<<<<<<< HEAD version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dd501a6b10a8b7fe7e605cafe4aad1d266ed0791b788dab78889df14b1a23e5f" +======= +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8952fb8c38c1dcd796d49b00030afb74aa184160ae86817b72a32a994c8e16f0" +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) dependencies = [ "anyhow", "async-trait", @@ -1720,9 +1839,15 @@ dependencies = [ [[package]] name = "denokv_remote" +<<<<<<< HEAD version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7d94fd3da7d1fa9ef1515bf3bc5b2fe75389edb3f15e9445e345679fda44987c" +======= +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "edfc8447324d783b01e215bd5040ff9149c34d9715c7b7b5080dd648ebf1148a" +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) dependencies = [ "anyhow", "async-trait", @@ -1742,9 +1867,15 @@ dependencies = [ [[package]] name = "denokv_sqlite" +<<<<<<< HEAD version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c2d2ab5fe45079dc41ab76549bb9fc3aeb9be4e54fddbdfb16a779db4a0b38df" +======= +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ec76b691ff069f14e56e3e053c2b2163540b27e4b60179f2b120064a7e4960d" +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) dependencies = [ "anyhow", "async-trait", @@ -1756,7 +1887,10 @@ dependencies = [ "rand", "rusqlite", "serde_json", +<<<<<<< HEAD "thiserror", +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) "tokio", "uuid", ] @@ -1917,6 +2051,7 @@ checksum = "1aaf95b3e5c8f23aa320147307562d361db0ae0d51242340f558153b4eb2439b" [[package]] name = "dprint-core" +<<<<<<< HEAD version = "0.63.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7227b28d24aafee21ff72512336c797fa00bb3ea803186b1b105a68abc97660b" @@ -1924,6 +2059,15 @@ dependencies = [ "anyhow", "bumpalo", "indexmap 2.0.2", +======= +version = "0.62.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6563addfa2b6c6fa96acdda0341090beba2c5c4ff6ef91f3a232a6d4dd34156" +dependencies = [ + "anyhow", + "bumpalo", + "indexmap 1.9.3", +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) "rustc-hash", "serde", "unicode-width", @@ -1931,9 +2075,15 @@ dependencies = [ [[package]] name = "dprint-plugin-json" +<<<<<<< HEAD version = "0.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0b6bf034eebeab36b78f45c07df87c6a578215e4f3238b5c0b6e5e66300ac348" +======= +version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8631287de4a33f7246c846e7a6cbbfd42ab8eef89520ae414e371e7bfbb85401" +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) dependencies = [ "anyhow", "dprint-core", @@ -1943,6 +2093,7 @@ dependencies = [ ] [[package]] +<<<<<<< HEAD name = "dprint-plugin-jupyter" version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -1960,6 +2111,12 @@ name = "dprint-plugin-markdown" version = "0.16.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "afa43a107cebe8989fa739fa4bafcce3b98725e13dddfe061744bce86071eb60" +======= +name = "dprint-plugin-markdown" +version = "0.16.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f1eee7353bc4d7031dde53468356eeba7cdfe8e237085647cec3be41c3cdbc7" +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) dependencies = [ "anyhow", "dprint-core", @@ -1971,9 +2128,15 @@ dependencies = [ [[package]] name = "dprint-plugin-typescript" +<<<<<<< HEAD version = "0.88.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bb7fe06e34987533797220544a8baea26bacbbbc1e81f41c7e654d2e68f41f72" +======= +version = "0.88.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a5be6e2f026971bd4b75ed2b77203c4195587229818ddef23721f66a044907b" +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) dependencies = [ "anyhow", "deno_ast", @@ -3001,9 +3164,15 @@ dependencies = [ [[package]] name = "jsonc-parser" +<<<<<<< HEAD version = "0.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7725c320caac8c21d8228c1d055af27a995d371f78cc763073d3e068323641b5" +======= +version = "0.21.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b56a20e76235284255a09fcd1f45cf55d3c524ea657ebd3854735925c57743d" +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) dependencies = [ "serde_json", ] @@ -3325,7 +3494,11 @@ dependencies = [ [[package]] name = "napi_sym" +<<<<<<< HEAD version = "0.55.0" +======= +version = "0.56.0" +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) dependencies = [ "proc-macro2", "quote", @@ -4636,9 +4809,15 @@ dependencies = [ [[package]] name = "serde_v8" +<<<<<<< HEAD version = "0.142.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6abec9ca384cb6869fcbf7ab816bd0d342cd2668fa7b090d80554831e2d93e60" +======= +version = "0.141.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc689cb316d67b200e9f7449ce76cceb7e483e0f828d1a9c3d057c4367b6c26e" +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) dependencies = [ "bytes", "derive_more", @@ -6035,9 +6214,15 @@ dependencies = [ [[package]] name = "v8" +<<<<<<< HEAD version = "0.82.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f53dfb242f4c0c39ed3fc7064378a342e57b5c9bd774636ad34ffe405b808121" +======= +version = "0.81.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b75f5f378b9b54aff3b10da8170d26af4cfd217f644cf671badcd13af5db4beb" +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) dependencies = [ "bitflags 1.3.2", "fslock", diff --git a/Cargo.toml b/Cargo.toml index dcbcfa1c3f..096c290fa0 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -40,15 +40,24 @@ repository = "https://github.com/denoland/deno" [workspace.dependencies] deno_ast = { version = "0.31.6", features = ["transpiling"] } +<<<<<<< HEAD deno_core = { version = "0.233.0" } deno_runtime = { version = "0.133.0", path = "./runtime" } napi_sym = { version = "0.55.0", path = "./cli/napi/sym" } deno_bench_util = { version = "0.119.0", path = "./bench_util" } +======= +deno_core = { version = "0.232.0" } + +deno_runtime = { version = "0.134.0", path = "./runtime" } +napi_sym = { version = "0.56.0", path = "./cli/napi/sym" } +deno_bench_util = { version = "0.120.0", path = "./bench_util" } +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) test_util = { path = "./test_util" } deno_lockfile = "0.17.2" deno_media_type = { version = "0.1.1", features = ["module_specifier"] } +<<<<<<< HEAD denokv_proto = "0.4.0" # denokv_sqlite brings in bundled sqlite if we don't disable the default features denokv_sqlite = { default-features = false, version = "0.4.0" } @@ -75,6 +84,34 @@ deno_webidl = { version = "0.125.0", path = "./ext/webidl" } deno_websocket = { version = "0.130.0", path = "./ext/websocket" } deno_webstorage = { version = "0.120.0", path = "./ext/webstorage" } deno_napi = { version = "0.55.0", path = "./ext/napi" } +======= +denokv_proto = "0.2.1" +# denokv_sqlite brings in bundled sqlite if we don't disable the default features +denokv_sqlite = { default-features = false, version = "0.2.1" } +denokv_remote = "0.2.3" + +# exts +deno_broadcast_channel = { version = "0.120.0", path = "./ext/broadcast_channel" } +deno_cache = { version = "0.58.0", path = "./ext/cache" } +deno_console = { version = "0.126.0", path = "./ext/console" } +deno_cron = { version = "0.6.0", path = "./ext/cron" } +deno_crypto = { version = "0.140.0", path = "./ext/crypto" } +deno_fetch = { version = "0.150.0", path = "./ext/fetch" } +deno_ffi = { version = "0.113.0", path = "./ext/ffi" } +deno_fs = { version = "0.36.0", path = "./ext/fs" } +deno_http = { version = "0.123.0", path = "./ext/http" } +deno_io = { version = "0.36.0", path = "./ext/io" } +deno_net = { version = "0.118.0", path = "./ext/net" } +deno_node = { version = "0.63.0", path = "./ext/node" } +deno_kv = { version = "0.34.0", path = "./ext/kv" } +deno_tls = { version = "0.113.0", path = "./ext/tls" } +deno_url = { version = "0.126.0", path = "./ext/url" } +deno_web = { version = "0.157.0", path = "./ext/web" } +deno_webidl = { version = "0.126.0", path = "./ext/webidl" } +deno_websocket = { version = "0.131.0", path = "./ext/websocket" } +deno_webstorage = { version = "0.121.0", path = "./ext/webstorage" } +deno_napi = { version = "0.56.0", path = "./ext/napi" } +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) aes = "=0.8.3" anyhow = "1.0.57" diff --git a/README.md b/README.md index f05e94b89b..c2cec55d42 100644 --- a/README.md +++ b/README.md @@ -6,6 +6,7 @@ the deno mascot dinosaur standing in the rain +<<<<<<< HEAD [Deno](https://www.deno.com) ([/ˈdiːnoʊ/](http://ipa-reader.xyz/?text=%CB%88di%CB%90no%CA%8A), pronounced `dee-no`) is a JavaScript, TypeScript, and WebAssembly runtime with secure @@ -21,6 +22,28 @@ Install the Deno runtime on your system using one of the commands below. Note that there are a number of ways to install Deno - a comprehensive list of installation options can be found [here](https://docs.deno.com/runtime/manual/getting_started/installation). +======= +[Deno](https://deno.com/runtime) is a _simple_, _modern_ and _secure_ runtime +for **JavaScript** and **TypeScript** that uses V8 and is built in Rust. + +### Features + +- [Secure by default.](https://deno.land/manual/basics/permissions) No file, + network, or environment access, unless explicitly enabled. +- Provides + [web platform functionality and APIs](https://deno.land/manual/runtime/web_platform_apis), + e.g. using ES modules, web workers, and `fetch()`. +- Supports + [TypeScript out of the box](https://deno.land/manual/advanced/typescript). +- Ships only a single executable file. +- [Built-in tooling](https://deno.land/manual/tools#built-in-tooling) including + `deno test`, `deno fmt`, `deno bench`, and more. +- Includes [a set of reviewed standard modules](https://deno.land/std/) + guaranteed to work with Deno. +- [Supports npm.](https://deno.land/manual/node) + +### Install +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) Shell (Mac, Linux): @@ -46,6 +69,7 @@ brew install deno choco install deno ``` +<<<<<<< HEAD ### Build and install from source Complete instructions for building Deno from source can be found in the manual @@ -89,6 +113,66 @@ Learn more about writing and running Deno programs We appreciate your help! To contribute, please read our [contributing instructions](https://docs.deno.com/runtime/manual/references/contributing/). +======= +[Scoop](https://scoop.sh/) (Windows): + +```powershell +scoop install deno +``` + +Build and install from source using [Cargo](https://crates.io/crates/deno): + +```sh +# Install build dependencies +apt install -y cmake protobuf-compiler # Linux +brew install cmake protobuf # macOS + +# Build and install Deno +cargo install deno --locked +``` + +See +[deno_install](https://github.com/denoland/deno_install/blob/master/README.md) +and [releases](https://github.com/denoland/deno/releases) for other options. + +### Getting Started + +Try [running a simple program](https://examples.deno.land/hello-world): + +```sh +deno run https://examples.deno.land/hello-world.ts +``` + +Or [setup a simple HTTP server](https://examples.deno.land/http-server): + +```ts +Deno.serve((_req) => new Response("Hello, World!")); +``` + +[More Examples](https://examples.deno.land) + +### Additional Resources + +- **[The Deno Manual](https://deno.land/manual)** is a great starting point for + [additional examples](https://deno.land/manual/examples), + [setting up your environment](https://deno.land/manual/getting_started/setup_your_environment), + [using npm](https://deno.land/manual/node), and more. +- **[Runtime API reference](https://deno.land/api)** documents all APIs built + into Deno CLI. +- **[Deno Standard Modules](https://deno.land/std)** do not have external + dependencies and are reviewed by the Deno core team. +- **[deno.land/x](https://deno.land/x)** is the registry for third party + modules. +- **[Blog](https://deno.com/blog)** is where the Deno team shares important + product updates and “how to”s about solving technical problems. + +### Contributing + +We appreciate your help! + +To contribute, please read our +[contributing instructions](https://deno.land/manual/references/contributing/). +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) [Build status - Cirrus]: https://github.com/denoland/deno/workflows/ci/badge.svg?branch=main&event=push [Build status]: https://github.com/denoland/deno/actions diff --git a/Releases.md b/Releases.md index a651cd34c9..c5e4db4f28 100644 --- a/Releases.md +++ b/Releases.md @@ -6,9 +6,23 @@ https://github.com/denoland/deno/releases We also have one-line install commands at: https://github.com/denoland/deno_install +<<<<<<< HEAD ### 1.38.3 / 2023.11.24 - feat(unstable): tar up directory with deno.json (#21228) +======= +### 1.38.4 / 2023.11.30 + +- fix(node): `spawnSync`'s `status` was incorrect (#21359) +- perf(lsp): add performance marks for TSC requests (#21383) +- perf(lsp): avoid redundant getNavigationTree() calls (#21396) +- perf(lsp): cancel ts requests on future drop (#21387) +- perf(lsp): remove throttling of cancellation token (#21395) + +### 1.38.3 / 2023.11.24 + +- feat(unstable): tar up directory with deno.json (#21228) +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) - fix(ext,runtime): add missing custom inspections (#21219) - fix(ext/http): avoid lockup in graceful shutdown (#21253) - fix(ext/http): fix crash in dropped Deno.serve requests (#21252) diff --git a/bench_util/Cargo.toml b/bench_util/Cargo.toml index 4e4d419cb2..84bb1ddbbf 100644 --- a/bench_util/Cargo.toml +++ b/bench_util/Cargo.toml @@ -2,7 +2,11 @@ [package] name = "deno_bench_util" +<<<<<<< HEAD version = "0.119.0" +======= +version = "0.120.0" +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) authors.workspace = true edition.workspace = true license.workspace = true diff --git a/cli/Cargo.toml b/cli/Cargo.toml index b793d27b0f..b03315e74d 100644 --- a/cli/Cargo.toml +++ b/cli/Cargo.toml @@ -2,7 +2,11 @@ [package] name = "deno" +<<<<<<< HEAD version = "1.38.3" +======= +version = "1.38.4" +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) authors.workspace = true default-run = "deno" edition.workspace = true @@ -27,11 +31,15 @@ harness = false path = "./bench/lsp_bench_standalone.rs" [features] +<<<<<<< HEAD default = ["upgrade", "__vendored_zlib_ng"] # A feature that enables the upgrade subcommand and the background check for # available updates (of deno binary). This is typically disabled for (Linux) # distribution packages. upgrade = [] +======= +default = ["__vendored_zlib_ng"] +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) # A dev feature to disable creations and loading of snapshots in favor of # loading JS sources at runtime. __runtime_js_sources = ["deno_runtime/__runtime_js_sources"] @@ -55,7 +63,11 @@ winres.workspace = true [dependencies] deno_ast = { workspace = true, features = ["bundler", "cjs", "codegen", "dep_graph", "module_specifier", "proposal", "react", "sourcemap", "transforms", "typescript", "view", "visit"] } deno_cache_dir = "=0.6.1" +<<<<<<< HEAD deno_config = "=0.6.5" +======= +deno_config = "=0.6.4" +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) deno_core = { workspace = true, features = ["include_js_files_for_snapshotting"] } deno_doc = { version = "=0.73.3", features = ["html"] } deno_emit = "=0.31.4" @@ -85,10 +97,16 @@ data-encoding.workspace = true data-url.workspace = true dissimilar = "=1.0.4" dotenvy = "0.15.7" +<<<<<<< HEAD dprint-plugin-json = "=0.19.1" dprint-plugin-jupyter = "=0.1.2" dprint-plugin-markdown = "=0.16.3" dprint-plugin-typescript = "=0.88.6" +======= +dprint-plugin-json = "=0.19.0" +dprint-plugin-markdown = "=0.16.2" +dprint-plugin-typescript = "=0.88.4" +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) encoding_rs.workspace = true env_logger = "=0.10.0" fancy-regex = "=0.10.0" @@ -102,7 +120,11 @@ http.workspace = true hyper.workspace = true import_map = { version = "=0.17.0", features = ["ext"] } indexmap.workspace = true +<<<<<<< HEAD jsonc-parser = { version = "=0.23.0", features = ["serde"] } +======= +jsonc-parser = { version = "=0.21.1", features = ["serde"] } +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) lazy-regex.workspace = true libc.workspace = true libz-sys.workspace = true diff --git a/cli/args/flags.rs b/cli/args/flags.rs index 6e79df675f..0c5a42c5ec 100644 --- a/cli/args/flags.rs +++ b/cli/args/flags.rs @@ -320,6 +320,7 @@ impl DenoSubcommand { matches!(self, Self::Run(_)) } +<<<<<<< HEAD // Returns `true` if the subcommand depends on testing infrastructure. pub fn needs_test(&self) -> bool { matches!( @@ -330,6 +331,10 @@ impl DenoSubcommand { | Self::Bench(_) | Self::Lsp ) +======= + pub fn is_test_or_jupyter(&self) -> bool { + matches!(self, Self::Test(_) | Self::Jupyter(_)) +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) } } @@ -844,11 +849,53 @@ pub fn flags_from_vec(args: Vec) -> clap::error::Result { if matches.get_flag("unstable") { flags.unstable = true; } +<<<<<<< HEAD for (name, _, _) in crate::UNSTABLE_GRANULAR_FLAGS { if matches.get_flag(&format!("unstable-{}", name)) { flags.unstable_features.push(name.to_string()); } +======= + if matches.get_flag("unstable-broadcast-channel") { + flags.unstable_features.push( + deno_runtime::deno_broadcast_channel::UNSTABLE_FEATURE_NAME.to_string(), + ); + } + if matches.get_flag("unstable-ffi") { + flags + .unstable_features + .push(deno_runtime::deno_ffi::UNSTABLE_FEATURE_NAME.to_string()); + } + if matches.get_flag("unstable-fs") { + flags + .unstable_features + .push(deno_runtime::deno_fs::UNSTABLE_FEATURE_NAME.to_string()); + } + if matches.get_flag("unstable-http") { + flags + .unstable_features + .push(deno_runtime::ops::http::UNSTABLE_FEATURE_NAME.to_string()); + } + if matches.get_flag("unstable-kv") { + flags + .unstable_features + .push(deno_runtime::deno_kv::UNSTABLE_FEATURE_NAME.to_string()); + } + if matches.get_flag("unstable-net") { + flags + .unstable_features + .push(deno_runtime::deno_net::UNSTABLE_FEATURE_NAME.to_string()); + } + if matches.get_flag("unstable-worker-options") { + flags + .unstable_features + .push(deno_runtime::ops::worker_host::UNSTABLE_FEATURE_NAME.to_string()); + } + if matches.get_flag("unstable-cron") { + flags + .unstable_features + .push(deno_runtime::deno_cron::UNSTABLE_FEATURE_NAME.to_string()); +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) } flags.unstable_bare_node_builtins = @@ -1579,9 +1626,13 @@ Ignore formatting a file by adding an ignore comment at the top of the file: .help("Set content type of the supplied file") // prefer using ts for formatting instead of js because ts works in more scenarios .default_value("ts") +<<<<<<< HEAD .value_parser([ "ts", "tsx", "js", "jsx", "md", "json", "jsonc", "ipynb", ]), +======= + .value_parser(["ts", "tsx", "js", "jsx", "md", "json", "jsonc"]), +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) ) .arg( Arg::new("ignore") @@ -2202,7 +2253,10 @@ update to a different location, use the --output flag deno upgrade --output $HOME/my_deno", ) +<<<<<<< HEAD .hide(cfg!(not(feature = "upgrade"))) +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) .defer(|cmd| { cmd .arg( @@ -2306,8 +2360,12 @@ fn publish_subcommand() -> Command { ) .arg( Arg::new("token") +<<<<<<< HEAD .long("token") .help("The API token to use when publishing. If unset, interactive authentication is be used") +======= + .help("The API token to use when publishing. If unset, interactive authentication will be used.") +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) ) }) } diff --git a/cli/build.rs b/cli/build.rs index 4a481885e6..8a37408717 100644 --- a/cli/build.rs +++ b/cli/build.rs @@ -331,6 +331,10 @@ deno_core::extension!( esm_entry_point = "ext:cli/99_main.js", esm = [ dir "js", +<<<<<<< HEAD +======= + "40_testing.js", +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) "99_main.js" ], customizer = |ext: &mut deno_core::Extension| { @@ -359,7 +363,15 @@ fn create_cli_snapshot(snapshot_path: PathBuf) -> CreateSnapshotOutput { // Ideally we could deduplicate that code. fn deno_version() -> String { if env::var("DENO_CANARY").is_ok() { +<<<<<<< HEAD format!("{}+{}", env!("CARGO_PKG_VERSION"), &git_commit_hash()[..7]) +======= + format!( + "{}+{}", + env!("CARGO_PKG_VERSION"), + git_commit_hash()[..7].to_string() + ) +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) } else { env!("CARGO_PKG_VERSION").to_string() } diff --git a/cli/factory.rs b/cli/factory.rs index fc4819d648..f34676d7b3 100644 --- a/cli/factory.rs +++ b/cli/factory.rs @@ -43,7 +43,10 @@ use crate::resolver::CliGraphResolverOptions; use crate::standalone::DenoCompileBinaryWriter; use crate::tools::check::TypeChecker; use crate::util::file_watcher::WatcherCommunicator; +<<<<<<< HEAD use crate::util::fs::canonicalize_path_maybe_not_exists; +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) use crate::util::progress_bar::ProgressBar; use crate::util::progress_bar::ProgressBarStyle; use crate::worker::CliMainWorkerFactory; @@ -307,6 +310,7 @@ impl CliFactory { create_cli_npm_resolver(if self.options.unstable_byonm() { CliNpmResolverCreateOptions::Byonm(CliNpmResolverByonmCreateOptions { fs: fs.clone(), +<<<<<<< HEAD root_node_modules_dir: match self.options.node_modules_dir_path().clone() { Some(node_modules_path) => node_modules_path, // path needs to be canonicalized for node resolution @@ -314,6 +318,11 @@ impl CliFactory { None => canonicalize_path_maybe_not_exists(self.options.initial_cwd())? .join("node_modules"), }, +======= + // todo(byonm): actually resolve this properly because the package.json + // might be in an ancestor directory + root_node_modules_dir: self.options.initial_cwd().join("node_modules"), +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) }) } else { CliNpmResolverCreateOptions::Managed(CliNpmResolverManagedCreateOptions { diff --git a/cli/js/40_jupyter.js b/cli/js/40_jupyter.js index bef7f4056c..817bf58c30 100644 --- a/cli/js/40_jupyter.js +++ b/cli/js/40_jupyter.js @@ -36,7 +36,11 @@ * }, { raw: true }); * ``` */ +<<<<<<< HEAD (() => { +======= +{ +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) const internals = Deno[Deno.internal]; const core = internals.core; @@ -428,4 +432,8 @@ } internals.enableJupyter = enableJupyter; +<<<<<<< HEAD })(); +======= +} +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) diff --git a/cli/js/40_testing.js b/cli/js/40_testing.js index f878d59a43..a4b4889111 100644 --- a/cli/js/40_testing.js +++ b/cli/js/40_testing.js @@ -3,6 +3,7 @@ // Do not use primordials because we do not want to depend on the __bootstrap // namespace. // +<<<<<<< HEAD // deno-lint-ignore-file (() => { const internals = Deno[Deno.internal]; @@ -155,20 +156,204 @@ return async function asyncOpSanitizer(desc) { if (opNames === null) populateOpNames(); const res = core.ops.op_test_op_sanitizer_collect( +======= +// deno-lint-ignore-file prefer-primordials + +const core = globalThis.Deno.core; +const ops = core.ops; + +const internals = globalThis.__bootstrap.internals; +const { + setExitHandler, + Console, + serializePermissions, +} = internals; + +const opSanitizerDelayResolveQueue = []; +let hasSetOpSanitizerDelayMacrotask = false; + +// Even if every resource is closed by the end of a test, there can be a delay +// until the pending ops have all finished. This function returns a promise +// that resolves when it's (probably) fine to run the op sanitizer. +// +// This is implemented by adding a macrotask callback that runs after the +// all ready async ops resolve, and the timer macrotask. Using just a macrotask +// callback without delaying is sufficient, because when the macrotask callback +// runs after async op dispatch, we know that all async ops that can currently +// return `Poll::Ready` have done so, and have been dispatched to JS. +// +// Worker ops are an exception to this, because there is no way for the user to +// await shutdown of the worker from the thread calling `worker.terminate()`. +// Because of this, we give extra leeway for worker ops to complete, by waiting +// for a whole millisecond if there are pending worker ops. +function opSanitizerDelay(hasPendingWorkerOps) { + if (!hasSetOpSanitizerDelayMacrotask) { + core.setMacrotaskCallback(handleOpSanitizerDelayMacrotask); + hasSetOpSanitizerDelayMacrotask = true; + } + const p = new Promise((resolve) => { + // Schedule an async op to complete immediately to ensure the macrotask is + // run. We rely on the fact that enqueueing the resolver callback during the + // timeout callback will mean that the resolver gets called in the same + // event loop tick as the timeout callback. + setTimeout(() => { + opSanitizerDelayResolveQueue.push(resolve); + }, hasPendingWorkerOps ? 1 : 0); + }); + return p; +} + +function handleOpSanitizerDelayMacrotask() { + const resolve = opSanitizerDelayResolveQueue.shift(); + if (resolve) { + resolve(); + return opSanitizerDelayResolveQueue.length === 0; + } + return undefined; // we performed no work, so can skip microtasks checkpoint +} + +// An async operation to $0 was started in this test, but never completed. This is often caused by not $1. +// An async operation to $0 was started in this test, but never completed. Async operations should not complete in a test if they were not started in that test. +// deno-fmt-ignore +const OP_DETAILS = { + "op_blob_read_part": ["read from a Blob or File", "awaiting the result of a Blob or File read"], + "op_broadcast_recv": ["receive a message from a BroadcastChannel", "closing the BroadcastChannel"], + "op_broadcast_send": ["send a message to a BroadcastChannel", "closing the BroadcastChannel"], + "op_chmod_async": ["change the permissions of a file", "awaiting the result of a `Deno.chmod` call"], + "op_chown_async": ["change the owner of a file", "awaiting the result of a `Deno.chown` call"], + "op_copy_file_async": ["copy a file", "awaiting the result of a `Deno.copyFile` call"], + "op_crypto_decrypt": ["decrypt data", "awaiting the result of a `crypto.subtle.decrypt` call"], + "op_crypto_derive_bits": ["derive bits from a key", "awaiting the result of a `crypto.subtle.deriveBits` call"], + "op_crypto_encrypt": ["encrypt data", "awaiting the result of a `crypto.subtle.encrypt` call"], + "op_crypto_generate_key": ["generate a key", "awaiting the result of a `crypto.subtle.generateKey` call"], + "op_crypto_sign_key": ["sign data", "awaiting the result of a `crypto.subtle.sign` call"], + "op_crypto_subtle_digest": ["digest data", "awaiting the result of a `crypto.subtle.digest` call"], + "op_crypto_verify_key": ["verify data", "awaiting the result of a `crypto.subtle.verify` call"], + "op_net_recv_udp": ["receive a datagram message via UDP", "awaiting the result of `Deno.DatagramConn#receive` call, or not breaking out of a for await loop looping over a `Deno.DatagramConn`"], + "op_net_recv_unixpacket": ["receive a datagram message via Unixpacket", "awaiting the result of `Deno.DatagramConn#receive` call, or not breaking out of a for await loop looping over a `Deno.DatagramConn`"], + "op_net_send_udp": ["send a datagram message via UDP", "awaiting the result of `Deno.DatagramConn#send` call"], + "op_net_send_unixpacket": ["send a datagram message via Unixpacket", "awaiting the result of `Deno.DatagramConn#send` call"], + "op_dns_resolve": ["resolve a DNS name", "awaiting the result of a `Deno.resolveDns` call"], + "op_fdatasync_async": ["flush pending data operations for a file to disk", "awaiting the result of a `Deno.fdatasync` call"], + "op_fetch_send": ["send a HTTP request", "awaiting the result of a `fetch` call"], + "op_ffi_call_nonblocking": ["do a non blocking ffi call", "awaiting the returned promise"], + "op_ffi_call_ptr_nonblocking": ["do a non blocking ffi call", "awaiting the returned promise"], + "op_flock_async": ["lock a file", "awaiting the result of a `Deno.flock` call"], + "op_fs_events_poll": ["get the next file system event", "breaking out of a for await loop looping over `Deno.FsEvents`"], + "op_fstat_async": ["get file metadata", "awaiting the result of a `Deno.File#fstat` call"], + "op_fsync_async": ["flush pending data operations for a file to disk", "awaiting the result of a `Deno.fsync` call"], + "op_ftruncate_async": ["truncate a file", "awaiting the result of a `Deno.ftruncate` call"], + "op_funlock_async": ["unlock a file", "awaiting the result of a `Deno.funlock` call"], + "op_futime_async": ["change file timestamps", "awaiting the result of a `Deno.futime` call"], + "op_http_accept": ["accept a HTTP request", "closing a `Deno.HttpConn`"], + "op_http_shutdown": ["shutdown a HTTP connection", "awaiting `Deno.HttpEvent#respondWith`"], + "op_http_upgrade_websocket": ["upgrade a HTTP connection to a WebSocket", "awaiting `Deno.HttpEvent#respondWith`"], + "op_http_write_headers": ["write HTTP response headers", "awaiting `Deno.HttpEvent#respondWith`"], + "op_http_write": ["write HTTP response body", "awaiting `Deno.HttpEvent#respondWith`"], + "op_link_async": ["create a hard link", "awaiting the result of a `Deno.link` call"], + "op_make_temp_dir_async": ["create a temporary directory", "awaiting the result of a `Deno.makeTempDir` call"], + "op_make_temp_file_async": ["create a temporary file", "awaiting the result of a `Deno.makeTempFile` call"], + "op_message_port_recv_message": ["receive a message from a MessagePort", "awaiting the result of not closing a `MessagePort`"], + "op_mkdir_async": ["create a directory", "awaiting the result of a `Deno.mkdir` call"], + "op_net_accept_tcp": ["accept a TCP stream", "closing a `Deno.Listener`"], + "op_net_accept_unix": ["accept a Unix stream", "closing a `Deno.Listener`"], + "op_net_connect_tcp": ["connect to a TCP server", "awaiting a `Deno.connect` call"], + "op_net_connect_unix": ["connect to a Unix server", "awaiting a `Deno.connect` call"], + "op_open_async": ["open a file", "awaiting the result of a `Deno.open` call"], + "op_read_dir_async": ["read a directory", "collecting all items in the async iterable returned from a `Deno.readDir` call"], + "op_read_link_async": ["read a symlink", "awaiting the result of a `Deno.readLink` call"], + "op_realpath_async": ["resolve a path", "awaiting the result of a `Deno.realpath` call"], + "op_remove_async": ["remove a file or directory", "awaiting the result of a `Deno.remove` call"], + "op_rename_async": ["rename a file or directory", "awaiting the result of a `Deno.rename` call"], + "op_run_status": ["get the status of a subprocess", "awaiting the result of a `Deno.Process#status` call"], + "op_seek_async": ["seek in a file", "awaiting the result of a `Deno.File#seek` call"], + "op_signal_poll": ["get the next signal", "un-registering a OS signal handler"], + "op_sleep": ["sleep for a duration", "cancelling a `setTimeout` or `setInterval` call"], + "op_stat_async": ["get file metadata", "awaiting the result of a `Deno.stat` call"], + "op_symlink_async": ["create a symlink", "awaiting the result of a `Deno.symlink` call"], + "op_net_accept_tls": ["accept a TLS stream", "closing a `Deno.TlsListener`"], + "op_net_connect_tls": ["connect to a TLS server", "awaiting a `Deno.connectTls` call"], + "op_tls_handshake": ["perform a TLS handshake", "awaiting a `Deno.TlsConn#handshake` call"], + "op_tls_start": ["start a TLS connection", "awaiting a `Deno.startTls` call"], + "op_truncate_async": ["truncate a file", "awaiting the result of a `Deno.truncate` call"], + "op_utime_async": ["change file timestamps", "awaiting the result of a `Deno.utime` call"], + "op_host_recv_message": ["receive a message from a web worker", "terminating a `Worker`"], + "op_host_recv_ctrl": ["receive a message from a web worker", "terminating a `Worker`"], + "op_ws_close": ["close a WebSocket", "awaiting until the `close` event is emitted on a `WebSocket`, or the `WebSocketStream#closed` promise resolves"], + "op_ws_create": ["create a WebSocket", "awaiting until the `open` event is emitted on a `WebSocket`, or the result of a `WebSocketStream#connection` promise"], + "op_ws_next_event": ["receive the next message on a WebSocket", "closing a `WebSocket` or `WebSocketStream`"], + "op_ws_send_text": ["send a message on a WebSocket", "closing a `WebSocket` or `WebSocketStream`"], + "op_ws_send_binary": ["send a message on a WebSocket", "closing a `WebSocket` or `WebSocketStream`"], + "op_ws_send_binary_ab": ["send a message on a WebSocket", "closing a `WebSocket` or `WebSocketStream`"], + "op_ws_send_ping": ["send a message on a WebSocket", "closing a `WebSocket` or `WebSocketStream`"], + "op_ws_send_pong": ["send a message on a WebSocket", "closing a `WebSocket` or `WebSocketStream`"], +}; + +let opIdHostRecvMessage = -1; +let opIdHostRecvCtrl = -1; +let opNames = null; + +function populateOpNames() { + opNames = core.ops.op_op_names(); + opIdHostRecvMessage = opNames.indexOf("op_host_recv_message"); + opIdHostRecvCtrl = opNames.indexOf("op_host_recv_ctrl"); +} + +// Wrap test function in additional assertion that makes sure +// the test case does not leak async "ops" - ie. number of async +// completed ops after the test is the same as number of dispatched +// ops. Note that "unref" ops are ignored since in nature that are +// optional. +function assertOps(fn) { + /** @param desc {TestDescription | TestStepDescription} */ + return async function asyncOpSanitizer(desc) { + if (opNames === null) populateOpNames(); + const res = core.ops.op_test_op_sanitizer_collect( + desc.id, + false, + opIdHostRecvMessage, + opIdHostRecvCtrl, + ); + if (res !== 0) { + await opSanitizerDelay(res === 2); + core.ops.op_test_op_sanitizer_collect( + desc.id, + true, + opIdHostRecvMessage, + opIdHostRecvCtrl, + ); + } + const preTraces = new Map(core.opCallTraces); + let postTraces; + let report = null; + + try { + const innerResult = await fn(desc); + if (innerResult) return innerResult; + } finally { + let res = core.ops.op_test_op_sanitizer_finish( +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) desc.id, false, opIdHostRecvMessage, opIdHostRecvCtrl, ); +<<<<<<< HEAD if (res !== 0) { await opSanitizerDelay(res === 2); core.ops.op_test_op_sanitizer_collect( +======= + if (res === 1 || res === 2) { + await opSanitizerDelay(res === 2); + res = core.ops.op_test_op_sanitizer_finish( +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) desc.id, true, opIdHostRecvMessage, opIdHostRecvCtrl, ); } +<<<<<<< HEAD const preTraces = new Map(core.opCallTraces); let postTraces; let report = null; @@ -837,11 +1022,640 @@ let benchDesc; const defaults = { +======= + postTraces = new Map(core.opCallTraces); + if (res === 3) { + report = core.ops.op_test_op_sanitizer_report(desc.id); + } + } + + if (report === null) return null; + + const details = []; + for (const opReport of report) { + const opName = opNames[opReport.id]; + const diff = opReport.diff; + + if (diff > 0) { + const [name, hint] = OP_DETAILS[opName] || [opName, null]; + const count = diff; + let message = `${count} async operation${ + count === 1 ? "" : "s" + } to ${name} ${ + count === 1 ? "was" : "were" + } started in this test, but never completed.`; + if (hint) { + message += ` This is often caused by not ${hint}.`; + } + const traces = []; + for (const [id, { opName: traceOpName, stack }] of postTraces) { + if (traceOpName !== opName) continue; + if (preTraces.has(id)) continue; + traces.push(stack); + } + if (traces.length === 1) { + message += " The operation was started here:\n"; + message += traces[0]; + } else if (traces.length > 1) { + message += " The operations were started here:\n"; + message += traces.join("\n\n"); + } + details.push(message); + } else if (diff < 0) { + const [name, hint] = OP_DETAILS[opName] || [opName, null]; + const count = -diff; + let message = `${count} async operation${ + count === 1 ? "" : "s" + } to ${name} ${ + count === 1 ? "was" : "were" + } started before this test, but ${ + count === 1 ? "was" : "were" + } completed during the test. Async operations should not complete in a test if they were not started in that test.`; + if (hint) { + message += ` This is often caused by not ${hint}.`; + } + const traces = []; + for (const [id, { opName: traceOpName, stack }] of preTraces) { + if (opName !== traceOpName) continue; + if (postTraces.has(id)) continue; + traces.push(stack); + } + if (traces.length === 1) { + message += " The operation was started here:\n"; + message += traces[0]; + } else if (traces.length > 1) { + message += " The operations were started here:\n"; + message += traces.join("\n\n"); + } + details.push(message); + } else { + throw new Error("unreachable"); + } + } + + return { failed: { leakedOps: [details, core.isOpCallTracingEnabled()] } }; + }; +} + +function prettyResourceNames(name) { + switch (name) { + case "fsFile": + return ["A file", "opened", "closed"]; + case "fetchRequest": + return ["A fetch request", "started", "finished"]; + case "fetchRequestBody": + return ["A fetch request body", "created", "closed"]; + case "fetchResponse": + return ["A fetch response body", "created", "consumed"]; + case "httpClient": + return ["An HTTP client", "created", "closed"]; + case "dynamicLibrary": + return ["A dynamic library", "loaded", "unloaded"]; + case "httpConn": + return ["An inbound HTTP connection", "accepted", "closed"]; + case "httpStream": + return ["An inbound HTTP request", "accepted", "closed"]; + case "tcpStream": + return ["A TCP connection", "opened/accepted", "closed"]; + case "unixStream": + return ["A Unix connection", "opened/accepted", "closed"]; + case "tlsStream": + return ["A TLS connection", "opened/accepted", "closed"]; + case "tlsListener": + return ["A TLS listener", "opened", "closed"]; + case "unixListener": + return ["A Unix listener", "opened", "closed"]; + case "unixDatagram": + return ["A Unix datagram", "opened", "closed"]; + case "tcpListener": + return ["A TCP listener", "opened", "closed"]; + case "udpSocket": + return ["A UDP socket", "opened", "closed"]; + case "timer": + return ["A timer", "started", "fired/cleared"]; + case "textDecoder": + return ["A text decoder", "created", "finished"]; + case "messagePort": + return ["A message port", "created", "closed"]; + case "webSocketStream": + return ["A WebSocket", "opened", "closed"]; + case "fsEvents": + return ["A file system watcher", "created", "closed"]; + case "childStdin": + return ["A child process stdin", "opened", "closed"]; + case "childStdout": + return ["A child process stdout", "opened", "closed"]; + case "childStderr": + return ["A child process stderr", "opened", "closed"]; + case "child": + return ["A child process", "started", "closed"]; + case "signal": + return ["A signal listener", "created", "fired/cleared"]; + case "stdin": + return ["The stdin pipe", "opened", "closed"]; + case "stdout": + return ["The stdout pipe", "opened", "closed"]; + case "stderr": + return ["The stderr pipe", "opened", "closed"]; + case "compression": + return ["A CompressionStream", "created", "closed"]; + default: + return [`A "${name}" resource`, "created", "cleaned up"]; + } +} + +function resourceCloseHint(name) { + switch (name) { + case "fsFile": + return "Close the file handle by calling `file.close()`."; + case "fetchRequest": + return "Await the promise returned from `fetch()` or abort the fetch with an abort signal."; + case "fetchRequestBody": + return "Terminate the request body `ReadableStream` by closing or erroring it."; + case "fetchResponse": + return "Consume or close the response body `ReadableStream`, e.g `await resp.text()` or `await resp.body.cancel()`."; + case "httpClient": + return "Close the HTTP client by calling `httpClient.close()`."; + case "dynamicLibrary": + return "Unload the dynamic library by calling `dynamicLibrary.close()`."; + case "httpConn": + return "Close the inbound HTTP connection by calling `httpConn.close()`."; + case "httpStream": + return "Close the inbound HTTP request by responding with `e.respondWith()` or closing the HTTP connection."; + case "tcpStream": + return "Close the TCP connection by calling `tcpConn.close()`."; + case "unixStream": + return "Close the Unix socket connection by calling `unixConn.close()`."; + case "tlsStream": + return "Close the TLS connection by calling `tlsConn.close()`."; + case "tlsListener": + return "Close the TLS listener by calling `tlsListener.close()`."; + case "unixListener": + return "Close the Unix socket listener by calling `unixListener.close()`."; + case "unixDatagram": + return "Close the Unix datagram socket by calling `unixDatagram.close()`."; + case "tcpListener": + return "Close the TCP listener by calling `tcpListener.close()`."; + case "udpSocket": + return "Close the UDP socket by calling `udpSocket.close()`."; + case "timer": + return "Clear the timer by calling `clearInterval` or `clearTimeout`."; + case "textDecoder": + return "Close the text decoder by calling `textDecoder.decode('')` or `await textDecoderStream.readable.cancel()`."; + case "messagePort": + return "Close the message port by calling `messagePort.close()`."; + case "webSocketStream": + return "Close the WebSocket by calling `webSocket.close()`."; + case "fsEvents": + return "Close the file system watcher by calling `watcher.close()`."; + case "childStdin": + return "Close the child process stdin by calling `proc.stdin.close()`."; + case "childStdout": + return "Close the child process stdout by calling `proc.stdout.close()` or `await child.stdout.cancel()`."; + case "childStderr": + return "Close the child process stderr by calling `proc.stderr.close()` or `await child.stderr.cancel()`."; + case "child": + return "Close the child process by calling `proc.kill()` or `proc.close()`."; + case "signal": + return "Clear the signal listener by calling `Deno.removeSignalListener`."; + case "stdin": + return "Close the stdin pipe by calling `Deno.stdin.close()`."; + case "stdout": + return "Close the stdout pipe by calling `Deno.stdout.close()`."; + case "stderr": + return "Close the stderr pipe by calling `Deno.stderr.close()`."; + case "compression": + return "Close the compression stream by calling `await stream.writable.close()`."; + default: + return "Close the resource before the end of the test."; + } +} + +// Wrap test function in additional assertion that makes sure +// the test case does not "leak" resources - ie. resource table after +// the test has exactly the same contents as before the test. +function assertResources(fn) { + /** @param desc {TestDescription | TestStepDescription} */ + return async function resourceSanitizer(desc) { + const pre = core.resources(); + const innerResult = await fn(desc); + if (innerResult) return innerResult; + const post = core.resources(); + + const allResources = new Set([ + ...Object.keys(pre), + ...Object.keys(post), + ]); + + const details = []; + for (const resource of allResources) { + const preResource = pre[resource]; + const postResource = post[resource]; + if (preResource === postResource) continue; + + if (preResource === undefined) { + const [name, action1, action2] = prettyResourceNames(postResource); + const hint = resourceCloseHint(postResource); + const detail = + `${name} (rid ${resource}) was ${action1} during the test, but not ${action2} during the test. ${hint}`; + details.push(detail); + } else { + const [name, action1, action2] = prettyResourceNames(preResource); + const detail = + `${name} (rid ${resource}) was ${action1} before the test started, but was ${action2} during the test. Do not close resources in a test that were not created during that test.`; + details.push(detail); + } + } + if (details.length == 0) { + return null; + } + return { failed: { leakedResources: details } }; + }; +} + +// Wrap test function in additional assertion that makes sure +// that the test case does not accidentally exit prematurely. +function assertExit(fn, isTest) { + return async function exitSanitizer(...params) { + setExitHandler((exitCode) => { + throw new Error( + `${ + isTest ? "Test case" : "Bench" + } attempted to exit with exit code: ${exitCode}`, + ); + }); + + try { + const innerResult = await fn(...params); + if (innerResult) return innerResult; + } finally { + setExitHandler(null); + } + }; +} + +function wrapOuter(fn, desc) { + return async function outerWrapped() { + try { + if (desc.ignore) { + return "ignored"; + } + return await fn(desc) ?? "ok"; + } catch (error) { + return { failed: { jsError: core.destructureError(error) } }; + } finally { + const state = testStates.get(desc.id); + for (const childDesc of state.children) { + stepReportResult(childDesc, { failed: "incomplete" }, 0); + } + state.completed = true; + } + }; +} + +function wrapInner(fn) { + /** @param desc {TestDescription | TestStepDescription} */ + return async function innerWrapped(desc) { + function getRunningStepDescs() { + const results = []; + let childDesc = desc; + while (childDesc.parent != null) { + const state = testStates.get(childDesc.parent.id); + for (const siblingDesc of state.children) { + if (siblingDesc.id == childDesc.id) { + continue; + } + const siblingState = testStates.get(siblingDesc.id); + if (!siblingState.completed) { + results.push(siblingDesc); + } + } + childDesc = childDesc.parent; + } + return results; + } + const runningStepDescs = getRunningStepDescs(); + const runningStepDescsWithSanitizers = runningStepDescs.filter( + (d) => usesSanitizer(d), + ); + + if (runningStepDescsWithSanitizers.length > 0) { + return { + failed: { + overlapsWithSanitizers: runningStepDescsWithSanitizers.map( + getFullName, + ), + }, + }; + } + + if (usesSanitizer(desc) && runningStepDescs.length > 0) { + return { + failed: { hasSanitizersAndOverlaps: runningStepDescs.map(getFullName) }, + }; + } + await fn(testStates.get(desc.id).context); + let failedSteps = 0; + for (const childDesc of testStates.get(desc.id).children) { + const state = testStates.get(childDesc.id); + if (!state.completed) { + return { failed: "incompleteSteps" }; + } + if (state.failed) { + failedSteps++; + } + } + return failedSteps == 0 ? null : { failed: { failedSteps } }; + }; +} + +function pledgePermissions(permissions) { + return ops.op_pledge_test_permissions( + serializePermissions(permissions), + ); +} + +function restorePermissions(token) { + ops.op_restore_test_permissions(token); +} + +function withPermissions(fn, permissions) { + return async function applyPermissions(...params) { + const token = pledgePermissions(permissions); + + try { + return await fn(...params); + } finally { + restorePermissions(token); + } + }; +} + +const ESCAPE_ASCII_CHARS = [ + ["\b", "\\b"], + ["\f", "\\f"], + ["\t", "\\t"], + ["\n", "\\n"], + ["\r", "\\r"], + ["\v", "\\v"], +]; + +/** + * @param {string} name + * @returns {string} + */ +function escapeName(name) { + // Check if we need to escape a character + for (let i = 0; i < name.length; i++) { + const ch = name.charCodeAt(i); + if (ch <= 13 && ch >= 8) { + // Slow path: We do need to escape it + for (const [escape, replaceWith] of ESCAPE_ASCII_CHARS) { + name = name.replaceAll(escape, replaceWith); + } + return name; + } + } + + // We didn't need to escape anything, return original string + return name; +} + +/** + * @typedef {{ + * id: number, + * name: string, + * fn: TestFunction + * origin: string, + * location: TestLocation, + * ignore: boolean, + * only: boolean. + * sanitizeOps: boolean, + * sanitizeResources: boolean, + * sanitizeExit: boolean, + * permissions: PermissionOptions, + * }} TestDescription + * + * @typedef {{ + * id: number, + * name: string, + * fn: TestFunction + * origin: string, + * location: TestLocation, + * ignore: boolean, + * level: number, + * parent: TestDescription | TestStepDescription, + * rootId: number, + * rootName: String, + * sanitizeOps: boolean, + * sanitizeResources: boolean, + * sanitizeExit: boolean, + * }} TestStepDescription + * + * @typedef {{ + * context: TestContext, + * children: TestStepDescription[], + * completed: boolean, + * }} TestState + * + * @typedef {{ + * context: TestContext, + * children: TestStepDescription[], + * completed: boolean, + * failed: boolean, + * }} TestStepState + * + * @typedef {{ + * id: number, + * name: string, + * fn: BenchFunction + * origin: string, + * ignore: boolean, + * only: boolean. + * sanitizeExit: boolean, + * permissions: PermissionOptions, + * }} BenchDescription + */ + +/** @type {Map} */ +const testStates = new Map(); +/** @type {number | null} */ +let currentBenchId = null; +// These local variables are used to track time measurements at +// `BenchContext::{start,end}` calls. They are global instead of using a state +// map to minimise the overhead of assigning them. +/** @type {number | null} */ +let currentBenchUserExplicitStart = null; +/** @type {number | null} */ +let currentBenchUserExplicitEnd = null; + +const registerTestIdRetBuf = new Uint32Array(1); +const registerTestIdRetBufU8 = new Uint8Array(registerTestIdRetBuf.buffer); + +function testInner( + nameOrFnOrOptions, + optionsOrFn, + maybeFn, + overrides = {}, +) { + if (typeof ops.op_register_test != "function") { + return; + } + + let testDesc; + const defaults = { + ignore: false, + only: false, + sanitizeOps: true, + sanitizeResources: true, + sanitizeExit: true, + permissions: null, + }; + + if (typeof nameOrFnOrOptions === "string") { + if (!nameOrFnOrOptions) { + throw new TypeError("The test name can't be empty"); + } + if (typeof optionsOrFn === "function") { + testDesc = { fn: optionsOrFn, name: nameOrFnOrOptions, ...defaults }; + } else { + if (!maybeFn || typeof maybeFn !== "function") { + throw new TypeError("Missing test function"); + } + if (optionsOrFn.fn != undefined) { + throw new TypeError( + "Unexpected 'fn' field in options, test function is already provided as the third argument.", + ); + } + if (optionsOrFn.name != undefined) { + throw new TypeError( + "Unexpected 'name' field in options, test name is already provided as the first argument.", + ); + } + testDesc = { + ...defaults, + ...optionsOrFn, + fn: maybeFn, + name: nameOrFnOrOptions, + }; + } + } else if (typeof nameOrFnOrOptions === "function") { + if (!nameOrFnOrOptions.name) { + throw new TypeError("The test function must have a name"); + } + if (optionsOrFn != undefined) { + throw new TypeError("Unexpected second argument to Deno.test()"); + } + if (maybeFn != undefined) { + throw new TypeError("Unexpected third argument to Deno.test()"); + } + testDesc = { + ...defaults, + fn: nameOrFnOrOptions, + name: nameOrFnOrOptions.name, + }; + } else { + let fn; + let name; + if (typeof optionsOrFn === "function") { + fn = optionsOrFn; + if (nameOrFnOrOptions.fn != undefined) { + throw new TypeError( + "Unexpected 'fn' field in options, test function is already provided as the second argument.", + ); + } + name = nameOrFnOrOptions.name ?? fn.name; + } else { + if ( + !nameOrFnOrOptions.fn || typeof nameOrFnOrOptions.fn !== "function" + ) { + throw new TypeError( + "Expected 'fn' field in the first argument to be a test function.", + ); + } + fn = nameOrFnOrOptions.fn; + name = nameOrFnOrOptions.name ?? fn.name; + } + if (!name) { + throw new TypeError("The test name can't be empty"); + } + testDesc = { ...defaults, ...nameOrFnOrOptions, fn, name }; + } + + testDesc = { ...testDesc, ...overrides }; + + // Delete this prop in case the user passed it. It's used to detect steps. + delete testDesc.parent; + + testDesc.location = core.currentUserCallSite(); + testDesc.fn = wrapTest(testDesc); + testDesc.name = escapeName(testDesc.name); + + const origin = ops.op_register_test( + testDesc.fn, + testDesc.name, + testDesc.ignore, + testDesc.only, + testDesc.location.fileName, + testDesc.location.lineNumber, + testDesc.location.columnNumber, + registerTestIdRetBufU8, + ); + testDesc.id = registerTestIdRetBuf[0]; + testDesc.origin = origin; + testStates.set(testDesc.id, { + context: createTestContext(testDesc), + children: [], + completed: false, + }); +} + +// Main test function provided by Deno. +function test( + nameOrFnOrOptions, + optionsOrFn, + maybeFn, +) { + return testInner(nameOrFnOrOptions, optionsOrFn, maybeFn); +} + +test.ignore = function (nameOrFnOrOptions, optionsOrFn, maybeFn) { + return testInner(nameOrFnOrOptions, optionsOrFn, maybeFn, { ignore: true }); +}; + +test.only = function ( + nameOrFnOrOptions, + optionsOrFn, + maybeFn, +) { + return testInner(nameOrFnOrOptions, optionsOrFn, maybeFn, { only: true }); +}; + +let registeredWarmupBench = false; + +// Main bench function provided by Deno. +function bench( + nameOrFnOrOptions, + optionsOrFn, + maybeFn, +) { + if (typeof ops.op_register_bench != "function") { + return; + } + + if (!registeredWarmupBench) { + registeredWarmupBench = true; + const warmupBenchDesc = { + name: "", + fn: function warmup() {}, + async: false, +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) ignore: false, baseline: false, only: false, sanitizeExit: true, permissions: null, +<<<<<<< HEAD }; if (typeof nameOrFnOrOptions === "string") { @@ -969,6 +1783,189 @@ let c = 0; let iterations = 20; let budget = 10 * 1e6; +======= + warmup: true, + }; + warmupBenchDesc.fn = wrapBenchmark(warmupBenchDesc); + const { id, origin } = ops.op_register_bench(warmupBenchDesc); + warmupBenchDesc.id = id; + warmupBenchDesc.origin = origin; + } + + let benchDesc; + const defaults = { + ignore: false, + baseline: false, + only: false, + sanitizeExit: true, + permissions: null, + }; + + if (typeof nameOrFnOrOptions === "string") { + if (!nameOrFnOrOptions) { + throw new TypeError("The bench name can't be empty"); + } + if (typeof optionsOrFn === "function") { + benchDesc = { fn: optionsOrFn, name: nameOrFnOrOptions, ...defaults }; + } else { + if (!maybeFn || typeof maybeFn !== "function") { + throw new TypeError("Missing bench function"); + } + if (optionsOrFn.fn != undefined) { + throw new TypeError( + "Unexpected 'fn' field in options, bench function is already provided as the third argument.", + ); + } + if (optionsOrFn.name != undefined) { + throw new TypeError( + "Unexpected 'name' field in options, bench name is already provided as the first argument.", + ); + } + benchDesc = { + ...defaults, + ...optionsOrFn, + fn: maybeFn, + name: nameOrFnOrOptions, + }; + } + } else if (typeof nameOrFnOrOptions === "function") { + if (!nameOrFnOrOptions.name) { + throw new TypeError("The bench function must have a name"); + } + if (optionsOrFn != undefined) { + throw new TypeError("Unexpected second argument to Deno.bench()"); + } + if (maybeFn != undefined) { + throw new TypeError("Unexpected third argument to Deno.bench()"); + } + benchDesc = { + ...defaults, + fn: nameOrFnOrOptions, + name: nameOrFnOrOptions.name, + }; + } else { + let fn; + let name; + if (typeof optionsOrFn === "function") { + fn = optionsOrFn; + if (nameOrFnOrOptions.fn != undefined) { + throw new TypeError( + "Unexpected 'fn' field in options, bench function is already provided as the second argument.", + ); + } + name = nameOrFnOrOptions.name ?? fn.name; + } else { + if ( + !nameOrFnOrOptions.fn || typeof nameOrFnOrOptions.fn !== "function" + ) { + throw new TypeError( + "Expected 'fn' field in the first argument to be a bench function.", + ); + } + fn = nameOrFnOrOptions.fn; + name = nameOrFnOrOptions.name ?? fn.name; + } + if (!name) { + throw new TypeError("The bench name can't be empty"); + } + benchDesc = { ...defaults, ...nameOrFnOrOptions, fn, name }; + } + + const AsyncFunction = (async () => {}).constructor; + benchDesc.async = AsyncFunction === benchDesc.fn.constructor; + benchDesc.fn = wrapBenchmark(benchDesc); + benchDesc.warmup = false; + benchDesc.name = escapeName(benchDesc.name); + + const { id, origin } = ops.op_register_bench(benchDesc); + benchDesc.id = id; + benchDesc.origin = origin; +} + +function compareMeasurements(a, b) { + if (a > b) return 1; + if (a < b) return -1; + + return 0; +} + +function benchStats(n, highPrecision, usedExplicitTimers, avg, min, max, all) { + return { + n, + min, + max, + p75: all[Math.ceil(n * (75 / 100)) - 1], + p99: all[Math.ceil(n * (99 / 100)) - 1], + p995: all[Math.ceil(n * (99.5 / 100)) - 1], + p999: all[Math.ceil(n * (99.9 / 100)) - 1], + avg: !highPrecision ? (avg / n) : Math.ceil(avg / n), + highPrecision, + usedExplicitTimers, + }; +} + +async function benchMeasure(timeBudget, fn, async, context) { + let n = 0; + let avg = 0; + let wavg = 0; + let usedExplicitTimers = false; + const all = []; + let min = Infinity; + let max = -Infinity; + const lowPrecisionThresholdInNs = 1e4; + + // warmup step + let c = 0; + let iterations = 20; + let budget = 10 * 1e6; + + if (!async) { + while (budget > 0 || iterations-- > 0) { + const t1 = benchNow(); + fn(context); + const t2 = benchNow(); + const totalTime = t2 - t1; + if (currentBenchUserExplicitStart !== null) { + currentBenchUserExplicitStart = null; + usedExplicitTimers = true; + } + if (currentBenchUserExplicitEnd !== null) { + currentBenchUserExplicitEnd = null; + usedExplicitTimers = true; + } + + c++; + wavg += totalTime; + budget -= totalTime; + } + } else { + while (budget > 0 || iterations-- > 0) { + const t1 = benchNow(); + await fn(context); + const t2 = benchNow(); + const totalTime = t2 - t1; + if (currentBenchUserExplicitStart !== null) { + currentBenchUserExplicitStart = null; + usedExplicitTimers = true; + } + if (currentBenchUserExplicitEnd !== null) { + currentBenchUserExplicitEnd = null; + usedExplicitTimers = true; + } + + c++; + wavg += totalTime; + budget -= totalTime; + } + } + + wavg /= c; + + // measure step + if (wavg > lowPrecisionThresholdInNs) { + let iterations = 10; + let budget = timeBudget * 1e6; +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) if (!async) { while (budget > 0 || iterations-- > 0) { @@ -976,6 +1973,7 @@ fn(context); const t2 = benchNow(); const totalTime = t2 - t1; +<<<<<<< HEAD if (currentBenchUserExplicitStart !== null) { currentBenchUserExplicitStart = null; usedExplicitTimers = true; @@ -988,6 +1986,24 @@ c++; wavg += totalTime; budget -= totalTime; +======= + let measuredTime = totalTime; + if (currentBenchUserExplicitStart !== null) { + measuredTime -= currentBenchUserExplicitStart - t1; + currentBenchUserExplicitStart = null; + } + if (currentBenchUserExplicitEnd !== null) { + measuredTime -= t2 - currentBenchUserExplicitEnd; + currentBenchUserExplicitEnd = null; + } + + n++; + avg += measuredTime; + budget -= totalTime; + all.push(measuredTime); + if (measuredTime < min) min = measuredTime; + if (measuredTime > max) max = measuredTime; +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) } } else { while (budget > 0 || iterations-- > 0) { @@ -995,6 +2011,7 @@ await fn(context); const t2 = benchNow(); const totalTime = t2 - t1; +<<<<<<< HEAD if (currentBenchUserExplicitStart !== null) { currentBenchUserExplicitStart = null; usedExplicitTimers = true; @@ -1374,3 +2391,324 @@ globalThis.Deno.bench = bench; globalThis.Deno.test = test; })(); +======= + let measuredTime = totalTime; + if (currentBenchUserExplicitStart !== null) { + measuredTime -= currentBenchUserExplicitStart - t1; + currentBenchUserExplicitStart = null; + } + if (currentBenchUserExplicitEnd !== null) { + measuredTime -= t2 - currentBenchUserExplicitEnd; + currentBenchUserExplicitEnd = null; + } + + n++; + avg += measuredTime; + budget -= totalTime; + all.push(measuredTime); + if (measuredTime < min) min = measuredTime; + if (measuredTime > max) max = measuredTime; + } + } + } else { + context.start = function start() {}; + context.end = function end() {}; + let iterations = 10; + let budget = timeBudget * 1e6; + + if (!async) { + while (budget > 0 || iterations-- > 0) { + const t1 = benchNow(); + for (let c = 0; c < lowPrecisionThresholdInNs; c++) { + fn(context); + } + const iterationTime = (benchNow() - t1) / lowPrecisionThresholdInNs; + + n++; + avg += iterationTime; + all.push(iterationTime); + if (iterationTime < min) min = iterationTime; + if (iterationTime > max) max = iterationTime; + budget -= iterationTime * lowPrecisionThresholdInNs; + } + } else { + while (budget > 0 || iterations-- > 0) { + const t1 = benchNow(); + for (let c = 0; c < lowPrecisionThresholdInNs; c++) { + await fn(context); + currentBenchUserExplicitStart = null; + currentBenchUserExplicitEnd = null; + } + const iterationTime = (benchNow() - t1) / lowPrecisionThresholdInNs; + + n++; + avg += iterationTime; + all.push(iterationTime); + if (iterationTime < min) min = iterationTime; + if (iterationTime > max) max = iterationTime; + budget -= iterationTime * lowPrecisionThresholdInNs; + } + } + } + + all.sort(compareMeasurements); + return benchStats( + n, + wavg > lowPrecisionThresholdInNs, + usedExplicitTimers, + avg, + min, + max, + all, + ); +} + +/** @param desc {BenchDescription} */ +function createBenchContext(desc) { + return { + [Symbol.toStringTag]: "BenchContext", + name: desc.name, + origin: desc.origin, + start() { + if (currentBenchId !== desc.id) { + throw new TypeError( + "The benchmark which this context belongs to is not being executed.", + ); + } + if (currentBenchUserExplicitStart != null) { + throw new TypeError("BenchContext::start() has already been invoked."); + } + currentBenchUserExplicitStart = benchNow(); + }, + end() { + const end = benchNow(); + if (currentBenchId !== desc.id) { + throw new TypeError( + "The benchmark which this context belongs to is not being executed.", + ); + } + if (currentBenchUserExplicitEnd != null) { + throw new TypeError("BenchContext::end() has already been invoked."); + } + currentBenchUserExplicitEnd = end; + }, + }; +} + +/** Wrap a user benchmark function in one which returns a structured result. */ +function wrapBenchmark(desc) { + const fn = desc.fn; + return async function outerWrapped() { + let token = null; + const originalConsole = globalThis.console; + currentBenchId = desc.id; + + try { + globalThis.console = new Console((s) => { + ops.op_dispatch_bench_event({ output: s }); + }); + + if (desc.permissions) { + token = pledgePermissions(desc.permissions); + } + + if (desc.sanitizeExit) { + setExitHandler((exitCode) => { + throw new Error( + `Bench attempted to exit with exit code: ${exitCode}`, + ); + }); + } + + const benchTimeInMs = 500; + const context = createBenchContext(desc); + const stats = await benchMeasure(benchTimeInMs, fn, desc.async, context); + + return { ok: stats }; + } catch (error) { + return { failed: core.destructureError(error) }; + } finally { + globalThis.console = originalConsole; + currentBenchId = null; + currentBenchUserExplicitStart = null; + currentBenchUserExplicitEnd = null; + if (bench.sanitizeExit) setExitHandler(null); + if (token !== null) restorePermissions(token); + } + }; +} + +function benchNow() { + return ops.op_bench_now(); +} + +function getFullName(desc) { + if ("parent" in desc) { + return `${getFullName(desc.parent)} ... ${desc.name}`; + } + return desc.name; +} + +function usesSanitizer(desc) { + return desc.sanitizeResources || desc.sanitizeOps || desc.sanitizeExit; +} + +function stepReportResult(desc, result, elapsed) { + const state = testStates.get(desc.id); + for (const childDesc of state.children) { + stepReportResult(childDesc, { failed: "incomplete" }, 0); + } + if (result === "ok") { + ops.op_test_event_step_result_ok(desc.id, elapsed); + } else if (result === "ignored") { + ops.op_test_event_step_result_ignored(desc.id, elapsed); + } else { + ops.op_test_event_step_result_failed(desc.id, result.failed, elapsed); + } +} + +/** @param desc {TestDescription | TestStepDescription} */ +function createTestContext(desc) { + let parent; + let level; + let rootId; + let rootName; + if ("parent" in desc) { + parent = testStates.get(desc.parent.id).context; + level = desc.level; + rootId = desc.rootId; + rootName = desc.rootName; + } else { + parent = undefined; + level = 0; + rootId = desc.id; + rootName = desc.name; + } + return { + [Symbol.toStringTag]: "TestContext", + /** + * The current test name. + */ + name: desc.name, + /** + * Parent test context. + */ + parent, + /** + * File Uri of the test code. + */ + origin: desc.origin, + /** + * @param nameOrFnOrOptions {string | TestStepDefinition | ((t: TestContext) => void | Promise)} + * @param maybeFn {((t: TestContext) => void | Promise) | undefined} + */ + async step(nameOrFnOrOptions, maybeFn) { + if (testStates.get(desc.id).completed) { + throw new Error( + "Cannot run test step after parent scope has finished execution. " + + "Ensure any `.step(...)` calls are executed before their parent scope completes execution.", + ); + } + + let stepDesc; + if (typeof nameOrFnOrOptions === "string") { + if (!Object.prototype.isPrototypeOf.call(Function.prototype, maybeFn)) { + throw new TypeError("Expected function for second argument."); + } + stepDesc = { + name: nameOrFnOrOptions, + fn: maybeFn, + }; + } else if (typeof nameOrFnOrOptions === "function") { + if (!nameOrFnOrOptions.name) { + throw new TypeError("The step function must have a name."); + } + if (maybeFn != undefined) { + throw new TypeError( + "Unexpected second argument to TestContext.step()", + ); + } + stepDesc = { + name: nameOrFnOrOptions.name, + fn: nameOrFnOrOptions, + }; + } else if (typeof nameOrFnOrOptions === "object") { + stepDesc = nameOrFnOrOptions; + } else { + throw new TypeError( + "Expected a test definition or name and function.", + ); + } + stepDesc.ignore ??= false; + stepDesc.sanitizeOps ??= desc.sanitizeOps; + stepDesc.sanitizeResources ??= desc.sanitizeResources; + stepDesc.sanitizeExit ??= desc.sanitizeExit; + stepDesc.location = core.currentUserCallSite(); + stepDesc.level = level + 1; + stepDesc.parent = desc; + stepDesc.rootId = rootId; + stepDesc.name = escapeName(stepDesc.name); + stepDesc.rootName = escapeName(rootName); + stepDesc.fn = wrapTest(stepDesc); + const id = ops.op_register_test_step( + stepDesc.name, + stepDesc.location.fileName, + stepDesc.location.lineNumber, + stepDesc.location.columnNumber, + stepDesc.level, + stepDesc.parent.id, + stepDesc.rootId, + stepDesc.rootName, + ); + stepDesc.id = id; + stepDesc.origin = desc.origin; + const state = { + context: createTestContext(stepDesc), + children: [], + failed: false, + completed: false, + }; + testStates.set(stepDesc.id, state); + testStates.get(stepDesc.parent.id).children.push( + stepDesc, + ); + + ops.op_test_event_step_wait(stepDesc.id); + const earlier = Date.now(); + const result = await stepDesc.fn(stepDesc); + const elapsed = Date.now() - earlier; + state.failed = !!result.failed; + stepReportResult(stepDesc, result, elapsed); + return result == "ok"; + }, + }; +} + +/** + * Wrap a user test function in one which returns a structured result. + * @template T {Function} + * @param testFn {T} + * @param desc {TestDescription | TestStepDescription} + * @returns {T} + */ +function wrapTest(desc) { + let testFn = wrapInner(desc.fn); + if (desc.sanitizeOps) { + testFn = assertOps(testFn); + } + if (desc.sanitizeResources) { + testFn = assertResources(testFn); + } + if (desc.sanitizeExit) { + testFn = assertExit(testFn, true); + } + if (!("parent" in desc) && desc.permissions) { + testFn = withPermissions(testFn, desc.permissions); + } + return wrapOuter(testFn, desc); +} + +import { denoNs } from "ext:runtime/90_deno_ns.js"; +denoNs.bench = bench; +denoNs.test = test; +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) diff --git a/cli/js/99_main.js b/cli/js/99_main.js index 1191f033ff..b9bbc98f55 100644 --- a/cli/js/99_main.js +++ b/cli/js/99_main.js @@ -1,2 +1,6 @@ // Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. +<<<<<<< HEAD +======= +import "ext:cli/40_testing.js"; +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) import "ext:cli/runtime/js/99_main.js"; diff --git a/cli/lsp/completions.rs b/cli/lsp/completions.rs index 246659ab11..9f68afd858 100644 --- a/cli/lsp/completions.rs +++ b/cli/lsp/completions.rs @@ -3,6 +3,10 @@ use super::client::Client; use super::config::ConfigSnapshot; use super::config::WorkspaceSettings; +<<<<<<< HEAD +======= +use super::documents::file_like_to_file_specifier; +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) use super::documents::Documents; use super::documents::DocumentsFilter; use super::lsp_custom; @@ -374,11 +378,23 @@ fn get_local_completions( current: &str, range: &lsp::Range, ) -> Option> { +<<<<<<< HEAD +======= + let base = match file_like_to_file_specifier(base) { + Some(s) => s, + None => base.clone(), + }; + +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) if base.scheme() != "file" { return None; } +<<<<<<< HEAD let mut base_path = specifier_to_file_path(base).ok()?; +======= + let mut base_path = specifier_to_file_path(&base).ok()?; +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) base_path.pop(); let mut current_path = normalize_path(base_path.join(current)); // if the current text does not end in a `/` then we are still selecting on @@ -398,10 +414,17 @@ fn get_local_completions( let de = de.ok()?; let label = de.path().file_name()?.to_string_lossy().to_string(); let entry_specifier = resolve_path(de.path().to_str()?, &cwd).ok()?; +<<<<<<< HEAD if entry_specifier == *base { return None; } let full_text = relative_specifier(base, &entry_specifier)?; +======= + if entry_specifier == base { + return None; + } + let full_text = relative_specifier(&base, &entry_specifier)?; +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) // this weeds out situations where we are browsing in the parent, but // we want to filter out non-matches when the completion is manually // invoked by the user, but still allows for things like `../src/../` diff --git a/cli/lsp/config.rs b/cli/lsp/config.rs index 36d4c95c68..00c1bfb5b5 100644 --- a/cli/lsp/config.rs +++ b/cli/lsp/config.rs @@ -859,6 +859,12 @@ impl Config { specifier: &ModuleSpecifier, ) -> Option<&LanguageWorkspaceSettings> { let workspace_settings = self.workspace_settings_for_specifier(specifier); +<<<<<<< HEAD +======= + if specifier.scheme() == "deno-notebook-cell" { + return Some(&workspace_settings.typescript); + } +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) match MediaType::from_specifier(specifier) { MediaType::JavaScript | MediaType::Jsx diff --git a/cli/lsp/documents.rs b/cli/lsp/documents.rs index ede063c5fb..14bfbe55a3 100644 --- a/cli/lsp/documents.rs +++ b/cli/lsp/documents.rs @@ -92,8 +92,20 @@ static TSX_HEADERS: Lazy> = Lazy::new(|| { .collect() }); +<<<<<<< HEAD pub const DOCUMENT_SCHEMES: [&str; 5] = ["data", "blob", "file", "http", "https"]; +======= +pub const DOCUMENT_SCHEMES: [&str; 7] = [ + "data", + "blob", + "file", + "http", + "https", + "untitled", + "deno-notebook-cell", +]; +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) #[derive(Debug, Clone, Copy, PartialEq, Eq)] pub enum LanguageId { @@ -256,6 +268,32 @@ impl AssetOrDocument { } } +<<<<<<< HEAD +======= +/// Convert a e.g. `deno-notebook-cell:` specifier to a `file:` specifier. +/// ```rust +/// assert_eq!( +/// file_like_to_file_specifier( +/// &Url::parse("deno-notebook-cell:/path/to/file.ipynb#abc").unwrap(), +/// ), +/// Some(Url::parse("file:///path/to/file.ipynb#abc").unwrap()), +/// ); +pub fn file_like_to_file_specifier(specifier: &Url) -> Option { + if matches!(specifier.scheme(), "untitled" | "deno-notebook-cell") { + if let Ok(mut s) = ModuleSpecifier::parse(&format!( + "file://{}", + &specifier.as_str() + [url::quirks::internal_components(specifier).host_end as usize..], + )) { + s.query_pairs_mut() + .append_pair("scheme", specifier.scheme()); + return Some(s); + } + } + None +} + +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) #[derive(Debug, Default)] struct DocumentDependencies { deps: IndexMap, @@ -272,10 +310,45 @@ impl DocumentDependencies { } pub fn from_module(module: &deno_graph::EsmModule) -> Self { +<<<<<<< HEAD Self { deps: module.dependencies.clone(), maybe_types_dependency: module.maybe_types_dependency.clone(), } +======= + let mut deps = Self { + deps: module.dependencies.clone(), + maybe_types_dependency: module.maybe_types_dependency.clone(), + }; + if file_like_to_file_specifier(&module.specifier).is_some() { + for (_, dep) in &mut deps.deps { + if let Resolution::Ok(resolved) = &mut dep.maybe_code { + if let Some(specifier) = + file_like_to_file_specifier(&resolved.specifier) + { + resolved.specifier = specifier; + } + } + if let Resolution::Ok(resolved) = &mut dep.maybe_type { + if let Some(specifier) = + file_like_to_file_specifier(&resolved.specifier) + { + resolved.specifier = specifier; + } + } + } + if let Some(dep) = &mut deps.maybe_types_dependency { + if let Resolution::Ok(resolved) = &mut dep.dependency { + if let Some(specifier) = + file_like_to_file_specifier(&resolved.specifier) + { + resolved.specifier = specifier; + } + } + } + } + deps +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) } } diff --git a/cli/lsp/tsc.rs b/cli/lsp/tsc.rs index a907292e02..7404552cf2 100644 --- a/cli/lsp/tsc.rs +++ b/cli/lsp/tsc.rs @@ -3,6 +3,10 @@ use super::analysis::CodeActionData; use super::code_lens; use super::config; +<<<<<<< HEAD +======= +use super::documents::file_like_to_file_specifier; +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) use super::documents::AssetOrDocument; use super::documents::DocumentsFilter; use super::language_server; @@ -263,9 +267,15 @@ impl TsServer { .map(|s| self.specifier_map.denormalize(&s)) .collect::>(),]), }; +<<<<<<< HEAD let raw_diagnostics = self.request_with_cancellation::>>(snapshot, req, token).await?; let mut diagnostics_map = HashMap::with_capacity(raw_diagnostics.len()); for (mut specifier, mut diagnostics) in raw_diagnostics { +======= + let diagnostics_map_ = self.request_with_cancellation::>>(snapshot, req, token).await?; + let mut diagnostics_map = HashMap::new(); + for (mut specifier, mut diagnostics) in diagnostics_map_ { +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) specifier = self.specifier_map.normalize(&specifier)?.to_string(); for diagnostic in &mut diagnostics { normalize_diagnostic(diagnostic, &self.specifier_map)?; @@ -3739,8 +3749,21 @@ impl TscSpecifierMap { if let Some(specifier) = self.denormalized_specifiers.get(original) { return specifier.to_string(); } +<<<<<<< HEAD let mut specifier = original.to_string(); let media_type = MediaType::from_specifier(original); +======= + let mut specifier = if let Some(s) = file_like_to_file_specifier(original) { + s.to_string() + } else { + original.to_string() + }; + let media_type = if original.scheme() == "deno-notebook-cell" { + MediaType::TypeScript + } else { + MediaType::from_specifier(original) + }; +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) // If the URL-inferred media type doesn't correspond to tsc's path-inferred // media type, force it to be the same by appending an extension. if MediaType::from_path(Path::new(specifier.as_str())) != media_type { diff --git a/cli/lsp/urls.rs b/cli/lsp/urls.rs index 6a5e5f0d3e..a477eac683 100644 --- a/cli/lsp/urls.rs +++ b/cli/lsp/urls.rs @@ -247,8 +247,11 @@ impl LspUrlMap { LspUrlKind::File => Url::from_file_path(path).unwrap(), }); } +<<<<<<< HEAD } else if let Some(s) = file_like_to_file_specifier(url) { specifier = Some(s); +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) } else if let Some(s) = from_deno_url(url) { specifier = Some(s); } @@ -258,6 +261,7 @@ impl LspUrlMap { } } +<<<<<<< HEAD /// Convert a e.g. `deno-notebook-cell:` specifier to a `file:` specifier. /// ```rust /// assert_eq!( @@ -282,6 +286,8 @@ fn file_like_to_file_specifier(specifier: &Url) -> Option { None } +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) #[cfg(test)] mod tests { use super::*; @@ -415,6 +421,7 @@ mod tests { let actual = map.normalize_url(&fixture, LspUrlKind::File); assert_eq!(actual, fixture); } +<<<<<<< HEAD #[test] fn test_file_like_to_file_specifier() { @@ -439,4 +446,6 @@ mod tests { ), ); } +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) } diff --git a/cli/main.rs b/cli/main.rs index bd29dc5325..ad7a7bbce9 100644 --- a/cli/main.rs +++ b/cli/main.rs @@ -198,6 +198,7 @@ async fn run_subcommand(flags: Flags) -> Result { let types = tsc::get_types_declaration_file_text(flags.unstable); display::write_to_stdout_ignore_sigpipe(types.as_bytes()) }), +<<<<<<< HEAD #[cfg(feature = "upgrade")] DenoSubcommand::Upgrade(upgrade_flags) => spawn_subcommand(async { tools::upgrade::upgrade(flags, upgrade_flags).await @@ -207,6 +208,11 @@ async fn run_subcommand(flags: Flags) -> Result { "This deno was built without the \"upgrade\" feature. Please upgrade using the installation method originally used to install Deno.", 1, ), +======= + DenoSubcommand::Upgrade(upgrade_flags) => spawn_subcommand(async { + tools::upgrade::upgrade(flags, upgrade_flags).await + }), +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) DenoSubcommand::Vendor(vendor_flags) => spawn_subcommand(async { tools::vendor::vendor(flags, vendor_flags).await }), @@ -243,6 +249,7 @@ fn setup_panic_hook() { })); } +<<<<<<< HEAD fn exit_with_message(message: &str, code: i32) -> ! { eprintln!( "{}: {}", @@ -252,6 +259,8 @@ fn exit_with_message(message: &str, code: i32) -> ! { std::process::exit(code); } +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) fn unwrap_or_exit(result: Result) -> T { match result { Ok(value) => value, @@ -266,7 +275,16 @@ fn unwrap_or_exit(result: Result) -> T { error_code = 10; } +<<<<<<< HEAD exit_with_message(&error_string, error_code); +======= + eprintln!( + "{}: {}", + colors::red_bold("error"), + error_string.trim_start_matches("error: ") + ); + std::process::exit(error_code); +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) } } } @@ -320,11 +338,14 @@ pub(crate) static UNSTABLE_GRANULAR_FLAGS: &[( "Enable unstable Deno.cron API", 8, ), +<<<<<<< HEAD ( "unsafe-proto", "Enable unsafe __proto__ support. This is a security risk.", 9, ), +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) ]; pub(crate) fn unstable_exit_cb(_feature: &str, api_name: &str) { diff --git a/cli/napi/sym/Cargo.toml b/cli/napi/sym/Cargo.toml index 45787e8849..daed6d7dc8 100644 --- a/cli/napi/sym/Cargo.toml +++ b/cli/napi/sym/Cargo.toml @@ -2,7 +2,11 @@ [package] name = "napi_sym" +<<<<<<< HEAD version = "0.55.0" +======= +version = "0.56.0" +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) authors.workspace = true edition.workspace = true license.workspace = true diff --git a/cli/npm/byonm.rs b/cli/npm/byonm.rs index aeb1c28b82..453b0b5101 100644 --- a/cli/npm/byonm.rs +++ b/cli/npm/byonm.rs @@ -19,7 +19,11 @@ use deno_semver::package::PackageReq; use crate::args::package_json::get_local_package_json_version_reqs; use crate::args::NpmProcessState; use crate::args::NpmProcessStateKind; +<<<<<<< HEAD use crate::util::fs::canonicalize_path_maybe_not_exists_with_fs; +======= +use crate::util::fs::canonicalize_path_maybe_not_exists; +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) use crate::util::path::specifier_to_file_path; use super::common::types_package_name; @@ -188,8 +192,13 @@ impl CliNpmResolver for ByonmCliNpmResolver { InnerCliNpmResolverRef::Byonm(self) } +<<<<<<< HEAD fn root_node_modules_path(&self) -> Option<&PathBuf> { Some(&self.root_node_modules_dir) +======= + fn root_node_modules_path(&self) -> Option { + Some(self.root_node_modules_dir.clone()) +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) } fn resolve_pkg_folder_from_deno_module_req( @@ -215,10 +224,14 @@ impl CliNpmResolver for ByonmCliNpmResolver { .unwrap() .join("node_modules") .join(key); +<<<<<<< HEAD return Ok(canonicalize_path_maybe_not_exists_with_fs( &package_path, fs, )?); +======= + return Ok(canonicalize_path_maybe_not_exists(&package_path)?); +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) } } } diff --git a/cli/npm/managed/mod.rs b/cli/npm/managed/mod.rs index ba22780454..a912a0b83f 100644 --- a/cli/npm/managed/mod.rs +++ b/cli/npm/managed/mod.rs @@ -288,8 +288,17 @@ impl ManagedCliNpmResolver { pkg_id: &NpmPackageId, ) -> Result { let path = self.fs_resolver.package_folder(pkg_id)?; +<<<<<<< HEAD let path = canonicalize_path_maybe_not_exists_with_fs(&path, self.fs.as_ref())?; +======= + let path = canonicalize_path_maybe_not_exists_with_fs(&path, |path| { + self + .fs + .realpath_sync(path) + .map_err(|err| err.into_io_error()) + })?; +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) log::debug!( "Resolved package folder of {} to {}", pkg_id.as_serialized(), @@ -556,7 +565,11 @@ impl CliNpmResolver for ManagedCliNpmResolver { &self.progress_bar, self.api.base_url().clone(), npm_resolution, +<<<<<<< HEAD self.root_node_modules_path().map(ToOwned::to_owned), +======= + self.root_node_modules_path(), +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) self.npm_system_info.clone(), ), self.global_npm_cache.clone(), @@ -571,7 +584,11 @@ impl CliNpmResolver for ManagedCliNpmResolver { InnerCliNpmResolverRef::Managed(self) } +<<<<<<< HEAD fn root_node_modules_path(&self) -> Option<&PathBuf> { +======= + fn root_node_modules_path(&self) -> Option { +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) self.fs_resolver.node_modules_path() } diff --git a/cli/npm/managed/resolvers/common.rs b/cli/npm/managed/resolvers/common.rs index 9fc5893fcb..6fb06d872f 100644 --- a/cli/npm/managed/resolvers/common.rs +++ b/cli/npm/managed/resolvers/common.rs @@ -29,7 +29,11 @@ pub trait NpmPackageFsResolver: Send + Sync { fn root_dir_url(&self) -> &Url; /// The local node_modules folder if it is applicable to the implementation. +<<<<<<< HEAD fn node_modules_path(&self) -> Option<&PathBuf>; +======= + fn node_modules_path(&self) -> Option; +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) fn package_folder( &self, diff --git a/cli/npm/managed/resolvers/global.rs b/cli/npm/managed/resolvers/global.rs index e62d9021ca..7920aa4fd2 100644 --- a/cli/npm/managed/resolvers/global.rs +++ b/cli/npm/managed/resolvers/global.rs @@ -75,7 +75,11 @@ impl NpmPackageFsResolver for GlobalNpmPackageResolver { self.cache.root_dir_url() } +<<<<<<< HEAD fn node_modules_path(&self) -> Option<&PathBuf> { +======= + fn node_modules_path(&self) -> Option { +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) None } diff --git a/cli/npm/managed/resolvers/local.rs b/cli/npm/managed/resolvers/local.rs index 4051c9c319..16253b27a8 100644 --- a/cli/npm/managed/resolvers/local.rs +++ b/cli/npm/managed/resolvers/local.rs @@ -122,9 +122,20 @@ impl LocalNpmPackageResolver { }; // Canonicalize the path so it's not pointing to the symlinked directory // in `node_modules` directory of the referrer. +<<<<<<< HEAD canonicalize_path_maybe_not_exists_with_fs(&path, self.fs.as_ref()) .map(Some) .map_err(|err| err.into()) +======= + canonicalize_path_maybe_not_exists_with_fs(&path, |path| { + self + .fs + .realpath_sync(path) + .map_err(|err| err.into_io_error()) + }) + .map(Some) + .map_err(|err| err.into()) +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) } } @@ -134,8 +145,13 @@ impl NpmPackageFsResolver for LocalNpmPackageResolver { &self.root_node_modules_url } +<<<<<<< HEAD fn node_modules_path(&self) -> Option<&PathBuf> { Some(&self.root_node_modules_path) +======= + fn node_modules_path(&self) -> Option { + Some(self.root_node_modules_path.clone()) +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) } fn package_folder(&self, id: &NpmPackageId) -> Result { diff --git a/cli/npm/mod.rs b/cli/npm/mod.rs index 474f493d5a..a6c9e94b47 100644 --- a/cli/npm/mod.rs +++ b/cli/npm/mod.rs @@ -75,7 +75,11 @@ pub trait CliNpmResolver: NpmResolver { } } +<<<<<<< HEAD fn root_node_modules_path(&self) -> Option<&PathBuf>; +======= + fn root_node_modules_path(&self) -> Option; +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) fn resolve_pkg_folder_from_deno_module_req( &self, diff --git a/cli/standalone/binary.rs b/cli/standalone/binary.rs index d1a5863eed..9751f1fce4 100644 --- a/cli/standalone/binary.rs +++ b/cli/standalone/binary.rs @@ -123,6 +123,7 @@ impl SerializablePackageJsonDeps { } #[derive(Deserialize, Serialize)] +<<<<<<< HEAD pub enum NodeModules { Managed { /// Whether this uses a node_modules directory (true) or the global cache (false). @@ -135,6 +136,8 @@ pub enum NodeModules { } #[derive(Deserialize, Serialize)] +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) pub struct Metadata { pub argv: Vec, pub unstable: bool, @@ -148,7 +151,13 @@ pub struct Metadata { pub unsafely_ignore_certificate_errors: Option>, pub maybe_import_map: Option<(Url, String)>, pub entrypoint: ModuleSpecifier, +<<<<<<< HEAD pub node_modules: Option, +======= + /// Whether this uses a node_modules directory (true) or the global cache (false). + pub node_modules_dir: bool, + pub package_json_deps: Option, +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) } pub fn load_npm_vfs(root_dir_path: PathBuf) -> Result { @@ -500,6 +509,7 @@ impl<'a> DenoCompileBinaryWriter<'a> { .resolve_import_map(self.file_fetcher) .await? .map(|import_map| (import_map.base_url().clone(), import_map.to_json())); +<<<<<<< HEAD let (npm_vfs, npm_files, node_modules) = match self.npm_resolver.as_inner() { InnerCliNpmResolverRef::Managed(managed) => { @@ -538,6 +548,25 @@ impl<'a> DenoCompileBinaryWriter<'a> { ) } }; +======= + let (npm_vfs, npm_files) = match self.npm_resolver.as_inner() { + InnerCliNpmResolverRef::Managed(managed) => { + let snapshot = + managed.serialized_valid_snapshot_for_system(&self.npm_system_info); + if !snapshot.as_serialized().packages.is_empty() { + let (root_dir, files) = self.build_vfs()?.into_dir_and_files(); + eszip.add_npm_snapshot(snapshot); + (Some(root_dir), files) + } else { + (None, Vec::new()) + } + } + InnerCliNpmResolverRef::Byonm(_) => { + let (root_dir, files) = self.build_vfs()?.into_dir_and_files(); + (Some(root_dir), files) + } + }; +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) let metadata = Metadata { argv: compile_flags.args.clone(), @@ -554,7 +583,15 @@ impl<'a> DenoCompileBinaryWriter<'a> { ca_data, entrypoint: entrypoint.clone(), maybe_import_map, +<<<<<<< HEAD node_modules, +======= + node_modules_dir: self.npm_resolver.root_node_modules_path().is_some(), + package_json_deps: self + .package_json_deps_provider + .deps() + .map(|deps| SerializablePackageJsonDeps::from_deps(deps.clone())), +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) }; write_binary_bytes( @@ -572,7 +609,11 @@ impl<'a> DenoCompileBinaryWriter<'a> { InnerCliNpmResolverRef::Managed(npm_resolver) => { if let Some(node_modules_path) = npm_resolver.root_node_modules_path() { let mut builder = VfsBuilder::new(node_modules_path.clone())?; +<<<<<<< HEAD builder.add_dir_recursive(node_modules_path)?; +======= + builder.add_dir_recursive(&node_modules_path)?; +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) Ok(builder) } else { // DO NOT include the user's registry url as it may contain credentials, @@ -592,6 +633,7 @@ impl<'a> DenoCompileBinaryWriter<'a> { Ok(builder) } } +<<<<<<< HEAD InnerCliNpmResolverRef::Byonm(npm_resolver) => { // the root_node_modules directory will always exist for byonm let node_modules_path = npm_resolver.root_node_modules_path().unwrap(); @@ -605,6 +647,11 @@ impl<'a> DenoCompileBinaryWriter<'a> { builder.add_dir_recursive(node_modules_path)?; } Ok(builder) +======= + InnerCliNpmResolverRef::Byonm(_) => { + // todo(#18967): should use the node_modules directory + todo!() +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) } } } diff --git a/cli/standalone/mod.rs b/cli/standalone/mod.rs index a6bf128624..7a16050d81 100644 --- a/cli/standalone/mod.rs +++ b/cli/standalone/mod.rs @@ -16,7 +16,10 @@ use crate::module_loader::CliNodeResolver; use crate::module_loader::NpmModuleLoader; use crate::node::CliCjsCodeAnalyzer; use crate::npm::create_cli_npm_resolver; +<<<<<<< HEAD use crate::npm::CliNpmResolverByonmCreateOptions; +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) use crate::npm::CliNpmResolverCreateOptions; use crate::npm::CliNpmResolverManagedCreateOptions; use crate::npm::CliNpmResolverManagedPackageJsonInstallerOption; @@ -312,6 +315,7 @@ pub async fn run( .join("node_modules"); let npm_cache_dir = NpmCacheDir::new(root_path.clone()); let npm_global_cache_dir = npm_cache_dir.get_cache_location(); +<<<<<<< HEAD let cache_setting = CacheSetting::Only; let (package_json_deps_provider, fs, npm_resolver, maybe_vfs_root) = match metadata.node_modules { @@ -419,6 +423,63 @@ pub async fn run( }; let has_node_modules_dir = npm_resolver.root_node_modules_path().is_some(); +======= + let (fs, vfs_root, maybe_node_modules_path, maybe_snapshot) = + if let Some(snapshot) = eszip.take_npm_snapshot() { + let vfs_root_dir_path = if metadata.node_modules_dir { + root_path + } else { + npm_cache_dir.registry_folder(&npm_registry_url) + }; + let vfs = load_npm_vfs(vfs_root_dir_path.clone()) + .context("Failed to load npm vfs.")?; + let node_modules_path = if metadata.node_modules_dir { + Some(vfs.root().to_path_buf()) + } else { + None + }; + ( + Arc::new(DenoCompileFileSystem::new(vfs)) + as Arc, + Some(vfs_root_dir_path), + node_modules_path, + Some(snapshot), + ) + } else { + ( + Arc::new(deno_fs::RealFs) as Arc, + None, + None, + None, + ) + }; + + let has_node_modules_dir = maybe_node_modules_path.is_some(); + let package_json_deps_provider = Arc::new(PackageJsonDepsProvider::new( + metadata + .package_json_deps + .map(|serialized| serialized.into_deps()), + )); + let npm_resolver = create_cli_npm_resolver( + CliNpmResolverCreateOptions::Managed(CliNpmResolverManagedCreateOptions { + snapshot: CliNpmResolverManagedSnapshotOption::Specified(maybe_snapshot), + maybe_lockfile: None, + fs: fs.clone(), + http_client: http_client.clone(), + npm_global_cache_dir, + cache_setting: CacheSetting::Only, + text_only_progress_bar: progress_bar, + maybe_node_modules_path, + package_json_installer: + CliNpmResolverManagedPackageJsonInstallerOption::ConditionalInstall( + package_json_deps_provider.clone(), + ), + npm_registry_url, + npm_system_info: Default::default(), + }), + ) + .await?; +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) let node_resolver = Arc::new(NodeResolver::new( fs.clone(), npm_resolver.clone().into_npm_resolver(), @@ -462,7 +523,11 @@ pub async fn run( let permissions = { let mut permissions = metadata.permissions; // if running with an npm vfs, grant read access to it +<<<<<<< HEAD if let Some(vfs_root) = maybe_vfs_root { +======= + if let Some(vfs_root) = vfs_root { +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) match &mut permissions.allow_read { Some(vec) if vec.is_empty() => { // do nothing, already granted diff --git a/cli/standalone/virtual_fs.rs b/cli/standalone/virtual_fs.rs index ee870611b2..7f78e925cb 100644 --- a/cli/standalone/virtual_fs.rs +++ b/cli/standalone/virtual_fs.rs @@ -92,7 +92,13 @@ impl VfsBuilder { if file_type.is_dir() { self.add_dir_recursive_internal(&path)?; } else if file_type.is_file() { +<<<<<<< HEAD self.add_file_at_path(&path)?; +======= + let file_bytes = std::fs::read(&path) + .with_context(|| format!("Reading {}", path.display()))?; + self.add_file(&path, file_bytes)?; +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) } else if file_type.is_symlink() { let target = util::fs::canonicalize_path(&path) .with_context(|| format!("Reading symlink {}", path.display()))?; @@ -161,12 +167,15 @@ impl VfsBuilder { Ok(current_dir) } +<<<<<<< HEAD pub fn add_file_at_path(&mut self, path: &Path) -> Result<(), AnyError> { let file_bytes = std::fs::read(path) .with_context(|| format!("Reading {}", path.display()))?; self.add_file(path, file_bytes) } +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) fn add_file(&mut self, path: &Path, data: Vec) -> Result<(), AnyError> { log::debug!("Adding file '{}'", path.display()); let checksum = util::checksum::gen(&[&data]); diff --git a/cli/tests/integration/compile_tests.rs b/cli/tests/integration/compile_tests.rs index df339c3690..dc1de8a234 100644 --- a/cli/tests/integration/compile_tests.rs +++ b/cli/tests/integration/compile_tests.rs @@ -798,6 +798,7 @@ testing[WILDCARD]this r#"{ "dependencies": { "@denotest/esm-basic": "1" } }"#, ); +<<<<<<< HEAD context .new_command() .args("compile --output binary main.ts") @@ -828,6 +829,17 @@ testing[WILDCARD]this .name(&binary_path) .run() .assert_matches_text("2\n"); +======= + let output = context + .new_command() + .args("compile --output binary main.ts") + .run(); + output.assert_exit_code(0); + output.skip_output_check(); + + let output = context.new_command().name(binary_path).run(); + output.assert_matches_text("2\n"); +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) } #[test] diff --git a/cli/tests/integration/flags_tests.rs b/cli/tests/integration/flags_tests.rs index 1096441517..9e3f70aa26 100644 --- a/cli/tests/integration/flags_tests.rs +++ b/cli/tests/integration/flags_tests.rs @@ -45,7 +45,10 @@ fn help_output() { "Run a task defined in the configuration file", "Run tests", "Print runtime TypeScript declarations", +<<<<<<< HEAD #[cfg(feature = "upgrade")] +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) "Upgrade deno executable to given version", "Vendor remote modules into a local directory", "Print this message or the help of the given subcommand(s)", diff --git a/cli/tests/integration/fmt_tests.rs b/cli/tests/integration/fmt_tests.rs index 5d555abf53..8de9625423 100644 --- a/cli/tests/integration/fmt_tests.rs +++ b/cli/tests/integration/fmt_tests.rs @@ -27,6 +27,7 @@ fn fmt_test() { testdata_fmt_dir.join("badly_formatted.json"); let badly_formatted_json = t.path().join("badly_formatted.json"); badly_formatted_original_json.copy(&badly_formatted_json); +<<<<<<< HEAD let fixed_ipynb = testdata_fmt_dir.join("badly_formatted_fixed.ipynb"); let badly_formatted_original_ipynb = @@ -35,16 +36,27 @@ fn fmt_test() { badly_formatted_original_ipynb.copy(&badly_formatted_ipynb); // First, check formatting by ignoring the badly formatted file. +======= + // First, check formatting by ignoring the badly formatted file. + +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) let output = context .new_command() .current_dir(&testdata_fmt_dir) .args_vec(vec![ "fmt".to_string(), format!( +<<<<<<< HEAD "--ignore={badly_formatted_js},{badly_formatted_md},{badly_formatted_json},{badly_formatted_ipynb}", ), format!( "--check {badly_formatted_js} {badly_formatted_md} {badly_formatted_json} {badly_formatted_ipynb}", +======= + "--ignore={badly_formatted_js},{badly_formatted_md},{badly_formatted_json}", + ), + format!( + "--check {badly_formatted_js} {badly_formatted_md} {badly_formatted_json}", +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) ), ]) .run(); @@ -63,7 +75,10 @@ fn fmt_test() { badly_formatted_js.to_string(), badly_formatted_md.to_string(), badly_formatted_json.to_string(), +<<<<<<< HEAD badly_formatted_ipynb.to_string(), +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) ]) .run(); @@ -79,7 +94,10 @@ fn fmt_test() { badly_formatted_js.to_string(), badly_formatted_md.to_string(), badly_formatted_json.to_string(), +<<<<<<< HEAD badly_formatted_ipynb.to_string(), +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) ]) .run(); @@ -89,6 +107,7 @@ fn fmt_test() { let expected_js = fixed_js.read_to_string(); let expected_md = fixed_md.read_to_string(); let expected_json = fixed_json.read_to_string(); +<<<<<<< HEAD let expected_ipynb = fixed_ipynb.read_to_string(); let actual_js = badly_formatted_js.read_to_string(); let actual_md = badly_formatted_md.read_to_string(); @@ -98,6 +117,14 @@ fn fmt_test() { assert_eq!(expected_md, actual_md); assert_eq!(expected_json, actual_json); assert_eq!(expected_ipynb, actual_ipynb); +======= + let actual_js = badly_formatted_js.read_to_string(); + let actual_md = badly_formatted_md.read_to_string(); + let actual_json = badly_formatted_json.read_to_string(); + assert_eq!(expected_js, actual_js); + assert_eq!(expected_md, actual_md); + assert_eq!(expected_json, actual_json); +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) } #[test] @@ -209,12 +236,15 @@ itest!(fmt_stdin_json { output_str: Some("{ \"key\": \"value\" }\n"), }); +<<<<<<< HEAD itest!(fmt_stdin_ipynb { args: "fmt --ext=ipynb -", input: Some(include_str!("../testdata/fmt/badly_formatted.ipynb")), output_str: Some(include_str!("../testdata/fmt/badly_formatted_fixed.ipynb")), }); +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) itest!(fmt_stdin_check_formatted { args: "fmt --check -", input: Some("const a = 1;\n"), diff --git a/cli/tests/integration/lsp_tests.rs b/cli/tests/integration/lsp_tests.rs index 49b8bb4950..92edbe3d8e 100644 --- a/cli/tests/integration/lsp_tests.rs +++ b/cli/tests/integration/lsp_tests.rs @@ -10442,6 +10442,7 @@ fn lsp_import_unstable_bare_node_builtins_auto_discovered() { client.shutdown(); } +<<<<<<< HEAD #[test] fn lsp_jupyter_byonm_diagnostics() { @@ -10502,3 +10503,5 @@ fn lsp_jupyter_byonm_diagnostics() { ); client.shutdown(); } +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) diff --git a/cli/tests/integration/run_tests.rs b/cli/tests/integration/run_tests.rs index 4ac18cd509..1bfca1359b 100644 --- a/cli/tests/integration/run_tests.rs +++ b/cli/tests/integration/run_tests.rs @@ -4716,6 +4716,7 @@ itest!(workspaces_nested_member { http_server: true, exit_code: 1, }); +<<<<<<< HEAD itest!(unsafe_proto { args: "run -A run/unsafe_proto/main.js", @@ -4730,3 +4731,5 @@ itest!(unsafe_proto_flag { http_server: false, exit_code: 0, }); +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) diff --git a/cli/tests/integration/upgrade_tests.rs b/cli/tests/integration/upgrade_tests.rs index f3fd5bdad8..c8f2b15303 100644 --- a/cli/tests/integration/upgrade_tests.rs +++ b/cli/tests/integration/upgrade_tests.rs @@ -253,7 +253,13 @@ fn upgrade_lsp_repl_sleeps() { pty.expect("579"); }); +<<<<<<< HEAD // the test server will sleep for 95 seconds, so ensure this is less let elapsed_secs = start_instant.elapsed().as_secs(); assert!(elapsed_secs < 94, "elapsed_secs: {}", elapsed_secs); +======= + // the test server will sleep for 45 seconds, so ensure this is less + let elapsed_secs = start_instant.elapsed().as_secs(); + assert!(elapsed_secs < 30, "elapsed_secs: {}", elapsed_secs); +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) } diff --git a/cli/tests/node_compat/config.jsonc b/cli/tests/node_compat/config.jsonc index ea4e723fc7..1bbc6e4d4b 100644 --- a/cli/tests/node_compat/config.jsonc +++ b/cli/tests/node_compat/config.jsonc @@ -88,7 +88,10 @@ "test-querystring.js", "test-readline-interface.js", "test-stdin-from-file-spawn.js", +<<<<<<< HEAD "test-stream-duplex-from.js", +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) "test-ttywrap-invalid-fd.js", "test-url-urltooptions.js", "test-util-format.js", @@ -430,7 +433,10 @@ "test-nodeeventtarget.js", "test-outgoing-message-destroy.js", "test-outgoing-message-pipe.js", +<<<<<<< HEAD "test-parse-args.mjs", +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) "test-path-basename.js", "test-path-dirname.js", "test-path-extname.js", diff --git a/cli/tests/node_compat/runner.ts b/cli/tests/node_compat/runner.ts index c531efd1fa..d1ff912e62 100644 --- a/cli/tests/node_compat/runner.ts +++ b/cli/tests/node_compat/runner.ts @@ -1,14 +1,21 @@ // Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. import "./polyfill_globals.js"; import { createRequire } from "node:module"; +<<<<<<< HEAD import { toFileUrl } from "../../../test_util/std/path/mod.ts"; +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) const file = Deno.args[0]; if (!file) { throw new Error("No file provided"); } +<<<<<<< HEAD if (file.endsWith(".mjs")) { await import(toFileUrl(file).href); } else { createRequire(import.meta.url)(file); } +======= +createRequire(import.meta.url)(file); +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) diff --git a/cli/tests/node_compat/test.ts b/cli/tests/node_compat/test.ts index 3f3d7bd21f..37f18de6e3 100644 --- a/cli/tests/node_compat/test.ts +++ b/cli/tests/node_compat/test.ts @@ -83,7 +83,10 @@ async function runTest(t: Deno.TestContext, path: string): Promise { "--quiet", "--unstable", //"--unsafely-ignore-certificate-errors", +<<<<<<< HEAD "--unstable-bare-node-builtins", +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) "--v8-flags=" + v8Flags.join(), "runner.ts", testCase, diff --git a/cli/tests/node_compat/test/common/child_process.js b/cli/tests/node_compat/test/common/child_process.js index b860d7697a..89cff6f77d 100644 --- a/cli/tests/node_compat/test/common/child_process.js +++ b/cli/tests/node_compat/test/common/child_process.js @@ -52,5 +52,9 @@ module.exports = { cleanupStaleProcess, logAfterTime, kExpiringChildRunTime, +<<<<<<< HEAD kExpiringParentTimer, +======= + kExpiringParentTimer +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) }; diff --git a/cli/tests/node_compat/test/common/dns.js b/cli/tests/node_compat/test/common/dns.js index 54df6a55e9..5dd138a450 100644 --- a/cli/tests/node_compat/test/common/dns.js +++ b/cli/tests/node_compat/test/common/dns.js @@ -20,11 +20,19 @@ const types = { MX: 15, TXT: 16, ANY: 255, +<<<<<<< HEAD CAA: 257, }; const classes = { IN: 1, +======= + CAA: 257 +}; + +const classes = { + IN: 1 +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) }; // Naïve DNS parser/serializer. @@ -41,7 +49,11 @@ function readDomainFromPacket(buffer, offset) { const { nread, domain } = readDomainFromPacket(buffer, offset + length); return { nread: 1 + length + nread, +<<<<<<< HEAD domain: domain ? `${chunk}.${domain}` : chunk, +======= + domain: domain ? `${chunk}.${domain}` : chunk +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) }; } // Pointer to another part of the packet. @@ -50,7 +62,11 @@ function readDomainFromPacket(buffer, offset) { const pointeeOffset = buffer.readUInt16BE(offset) &~ 0xC000; return { nread: 2, +<<<<<<< HEAD domain: readDomainFromPacket(buffer, pointeeOffset), +======= + domain: readDomainFromPacket(buffer, pointeeOffset) +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) }; } @@ -323,5 +339,9 @@ module.exports = { parseDNSPacket, errorLookupMock, mockedErrorCode, +<<<<<<< HEAD mockedSysCall, +======= + mockedSysCall +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) }; diff --git a/cli/tests/node_compat/test/common/hijackstdio.js b/cli/tests/node_compat/test/common/hijackstdio.js index 38582ece2f..c40a5137a4 100644 --- a/cli/tests/node_compat/test/common/hijackstdio.js +++ b/cli/tests/node_compat/test/common/hijackstdio.js @@ -35,5 +35,9 @@ module.exports = { hijackStdout: hijackStdWritable.bind(null, 'stdout'), hijackStderr: hijackStdWritable.bind(null, 'stderr'), restoreStdout: restoreWritable.bind(null, 'stdout'), +<<<<<<< HEAD restoreStderr: restoreWritable.bind(null, 'stderr'), +======= + restoreStderr: restoreWritable.bind(null, 'stderr') +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) }; diff --git a/cli/tests/node_compat/test/common/index.mjs b/cli/tests/node_compat/test/common/index.mjs index 25fe5cbb01..3d823f2485 100644 --- a/cli/tests/node_compat/test/common/index.mjs +++ b/cli/tests/node_compat/test/common/index.mjs @@ -44,7 +44,10 @@ const { getCallSite, mustNotCall, mustNotMutateObjectDeep, +<<<<<<< HEAD parseTestFlags, +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) printSkipMessage, skip, nodeProcessAborted, @@ -96,7 +99,10 @@ export { getCallSite, mustNotCall, mustNotMutateObjectDeep, +<<<<<<< HEAD parseTestFlags, +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) printSkipMessage, skip, nodeProcessAborted, diff --git a/cli/tests/node_compat/test/common/tmpdir.js b/cli/tests/node_compat/test/common/tmpdir.js index 886c4a107f..f005ec7c5d 100644 --- a/cli/tests/node_compat/test/common/tmpdir.js +++ b/cli/tests/node_compat/test/common/tmpdir.js @@ -62,6 +62,7 @@ function onexit() { } } +<<<<<<< HEAD function resolve(...paths) { return path.resolve(tmpPath, ...paths); } @@ -76,4 +77,9 @@ module.exports = { refresh, hasEnoughSpace, resolve, +======= +module.exports = { + path: tmpPath, + refresh +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) }; diff --git a/cli/tests/node_compat/test/internet/test-dns-idna2008.js b/cli/tests/node_compat/test/internet/test-dns-idna2008.js index 7308f9debd..fb2b2ceb7a 100644 --- a/cli/tests/node_compat/test/internet/test-dns-idna2008.js +++ b/cli/tests/node_compat/test/internet/test-dns-idna2008.js @@ -41,7 +41,11 @@ dns.lookup( } assert.ifError(err); assert.strictEqual(address, fixture.expectedAddress); +<<<<<<< HEAD }), +======= + }) +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) ); dns.promises.lookup(fixture.hostname, { family: fixture.family }) diff --git a/cli/tests/node_compat/test/internet/test-dns-lookup.js b/cli/tests/node_compat/test/internet/test-dns-lookup.js index cfd3e758c2..f7cf86dbb3 100644 --- a/cli/tests/node_compat/test/internet/test-dns-lookup.js +++ b/cli/tests/node_compat/test/internet/test-dns-lookup.js @@ -18,35 +18,61 @@ assert.rejects( dnsPromises.lookup(addresses.NOT_FOUND, { hints: 0, family: 0, +<<<<<<< HEAD all: false, }), { code: 'ENOTFOUND', message: `getaddrinfo ENOTFOUND ${addresses.NOT_FOUND}`, }, +======= + all: false + }), + { + code: 'ENOTFOUND', + message: `getaddrinfo ENOTFOUND ${addresses.NOT_FOUND}` + } +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) ); assert.rejects( dnsPromises.lookup(addresses.NOT_FOUND, { hints: 0, family: 0, +<<<<<<< HEAD all: true, }), { code: 'ENOTFOUND', message: `getaddrinfo ENOTFOUND ${addresses.NOT_FOUND}`, }, +======= + all: true + }), + { + code: 'ENOTFOUND', + message: `getaddrinfo ENOTFOUND ${addresses.NOT_FOUND}` + } +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) ); dns.lookup(addresses.NOT_FOUND, { hints: 0, family: 0, +<<<<<<< HEAD all: true, +======= + all: true +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) }, common.mustCall((error) => { assert.strictEqual(error.code, 'ENOTFOUND'); assert.strictEqual( error.message, +<<<<<<< HEAD `getaddrinfo ENOTFOUND ${addresses.NOT_FOUND}`, +======= + `getaddrinfo ENOTFOUND ${addresses.NOT_FOUND}` +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) ); assert.strictEqual(error.syscall, 'getaddrinfo'); assert.strictEqual(error.hostname, addresses.NOT_FOUND); @@ -55,7 +81,13 @@ dns.lookup(addresses.NOT_FOUND, { assert.throws( () => dnsPromises.lookup(addresses.NOT_FOUND, { family: 'ipv4', +<<<<<<< HEAD all: 'all', }), { code: 'ERR_INVALID_ARG_VALUE' }, +======= + all: 'all' + }), + { code: 'ERR_INVALID_ARG_VALUE' } +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) ); diff --git a/cli/tests/node_compat/test/internet/test-dns-promises-resolve.js b/cli/tests/node_compat/test/internet/test-dns-promises-resolve.js index e4ee5f7827..90271bd6cc 100644 --- a/cli/tests/node_compat/test/internet/test-dns-promises-resolve.js +++ b/cli/tests/node_compat/test/internet/test-dns-promises-resolve.js @@ -19,8 +19,13 @@ const dnsPromises = require('dns').promises; { code: 'ERR_INVALID_ARG_VALUE', name: 'TypeError', +<<<<<<< HEAD message: `The argument 'rrtype' is invalid. Received '${rrtype}'`, }, +======= + message: `The argument 'rrtype' is invalid. Received '${rrtype}'` + } +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) ); } @@ -33,8 +38,13 @@ const dnsPromises = require('dns').promises; code: 'ERR_INVALID_ARG_TYPE', name: 'TypeError', message: 'The "rrtype" argument must be of type string. ' + +<<<<<<< HEAD `Received type ${typeof rrtype} (${rrtype})`, }, +======= + `Received type ${typeof rrtype} (${rrtype})` + } +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) ); } diff --git a/cli/tests/node_compat/test/parallel/test-buffer-alloc.js b/cli/tests/node_compat/test/parallel/test-buffer-alloc.js index dee9128a8c..553ce7479b 100644 --- a/cli/tests/node_compat/test/parallel/test-buffer-alloc.js +++ b/cli/tests/node_compat/test/parallel/test-buffer-alloc.js @@ -131,7 +131,11 @@ b.copy(Buffer.alloc(0), 1, 1, 1); b.copy(Buffer.alloc(1), 1, 1, 1); // Try to copy 0 bytes from past the end of the source buffer +<<<<<<< HEAD b.copy(Buffer.alloc(1), 0, 1024, 1024); +======= +b.copy(Buffer.alloc(1), 0, 2048, 2048); +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) // Testing for smart defaults and ability to pass string values as offset { diff --git a/cli/tests/node_compat/test/parallel/test-buffer-copy.js b/cli/tests/node_compat/test/parallel/test-buffer-copy.js index a10bfebc5e..c4c7a7d11b 100644 --- a/cli/tests/node_compat/test/parallel/test-buffer-copy.js +++ b/cli/tests/node_compat/test/parallel/test-buffer-copy.js @@ -162,6 +162,7 @@ assert.throws( { code: 'ERR_OUT_OF_RANGE', name: 'RangeError', +<<<<<<< HEAD } ); @@ -171,6 +172,10 @@ assert.throws( { code: 'ERR_OUT_OF_RANGE', name: 'RangeError', +======= + message: 'The value of "sourceStart" is out of range. ' + + 'It must be >= 0. Received -1' +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) } ); diff --git a/cli/tests/node_compat/test/parallel/test-child-process-exec-cwd.js b/cli/tests/node_compat/test/parallel/test-child-process-exec-cwd.js index 4bd394cca7..971c664cb3 100644 --- a/cli/tests/node_compat/test/parallel/test-child-process-exec-cwd.js +++ b/cli/tests/node_compat/test/parallel/test-child-process-exec-cwd.js @@ -42,5 +42,9 @@ if (common.isWindows) { } exec(pwdcommand, { cwd: dir }, common.mustSucceed((stdout, stderr) => { +<<<<<<< HEAD assert(stdout.toLowerCase().startsWith(dir)); +======= + assert(stdout.startsWith(dir)); +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) })); diff --git a/cli/tests/node_compat/test/parallel/test-event-emitter-errors.js b/cli/tests/node_compat/test/parallel/test-event-emitter-errors.js index 39a896b052..8c65c834e4 100644 --- a/cli/tests/node_compat/test/parallel/test-event-emitter-errors.js +++ b/cli/tests/node_compat/test/parallel/test-event-emitter-errors.js @@ -18,7 +18,11 @@ assert.throws( { code: 'ERR_UNHANDLED_ERROR', name: 'Error', +<<<<<<< HEAD message: "Unhandled error. ('Accepts a string')", +======= + message: "Unhandled error. ('Accepts a string')" +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) } ); @@ -27,18 +31,30 @@ assert.throws( { code: 'ERR_UNHANDLED_ERROR', name: 'Error', +<<<<<<< HEAD message: "Unhandled error. ({ message: 'Error!' })", +======= + message: "Unhandled error. ({ message: 'Error!' })" +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) } ); assert.throws( () => EE.emit('error', { message: 'Error!', +<<<<<<< HEAD [util.inspect.custom]() { throw new Error(); }, +======= + [util.inspect.custom]() { throw new Error(); } +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) }), { code: 'ERR_UNHANDLED_ERROR', name: 'Error', +<<<<<<< HEAD message: 'Unhandled error. ([object Object])', +======= + message: 'Unhandled error. ([object Object])' +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) } ); diff --git a/cli/tests/node_compat/test/parallel/test-event-emitter-invalid-listener.js b/cli/tests/node_compat/test/parallel/test-event-emitter-invalid-listener.js index 604110a5e7..867ed007eb 100644 --- a/cli/tests/node_compat/test/parallel/test-event-emitter-invalid-listener.js +++ b/cli/tests/node_compat/test/parallel/test-event-emitter-invalid-listener.js @@ -22,6 +22,10 @@ for (const method of eventsMethods) { code: 'ERR_INVALID_ARG_TYPE', name: 'TypeError', message: 'The "listener" argument must be of type function. ' + +<<<<<<< HEAD 'Received null', +======= + 'Received null' +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) }, `event.${method}('foo', null) should throw the proper error`); } diff --git a/cli/tests/node_compat/test/parallel/test-events-on-async-iterator.js b/cli/tests/node_compat/test/parallel/test-events-on-async-iterator.js index 87efeb8425..836636e3ff 100644 --- a/cli/tests/node_compat/test/parallel/test-events-on-async-iterator.js +++ b/cli/tests/node_compat/test/parallel/test-events-on-async-iterator.js @@ -12,7 +12,11 @@ const common = require('../common'); const assert = require('assert'); const { on, EventEmitter } = require('events'); const { +<<<<<<< HEAD NodeEventTarget, +======= + NodeEventTarget +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) } = require('internal/event_target'); async function basic() { @@ -138,6 +142,7 @@ async function next() { assert.deepStrictEqual(results, [{ value: ['bar'], +<<<<<<< HEAD done: false, }, { value: [42], @@ -145,11 +150,24 @@ async function next() { }, { value: undefined, done: true, +======= + done: false + }, { + value: [42], + done: false + }, { + value: undefined, + done: true +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) }]); assert.deepStrictEqual(await iterable.next(), { value: undefined, +<<<<<<< HEAD done: true, +======= + done: true +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) }); } @@ -167,19 +185,33 @@ async function nextError() { ]); assert.deepStrictEqual(results, [{ status: 'rejected', +<<<<<<< HEAD reason: _err, +======= + reason: _err +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) }, { status: 'fulfilled', value: { value: undefined, +<<<<<<< HEAD done: true, }, +======= + done: true + } +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) }, { status: 'fulfilled', value: { value: undefined, +<<<<<<< HEAD done: true, }, +======= + done: true + } +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) }]); assert.strictEqual(ee.listeners('error').length, 0); } @@ -203,7 +235,11 @@ async function iterableThrow() { }, { message: 'The "EventEmitter.AsyncIterator" property must be' + ' an instance of Error. Received undefined', +<<<<<<< HEAD name: 'TypeError', +======= + name: 'TypeError' +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) }); const expected = [['bar'], [42]]; @@ -265,11 +301,19 @@ async function abortableOnBefore() { const abortedSignal = AbortSignal.abort(); [1, {}, null, false, 'hi'].forEach((signal) => { assert.throws(() => on(ee, 'foo', { signal }), { +<<<<<<< HEAD code: 'ERR_INVALID_ARG_TYPE', }); }); assert.throws(() => on(ee, 'foo', { signal: abortedSignal }), { name: 'AbortError', +======= + code: 'ERR_INVALID_ARG_TYPE' + }); + }); + assert.throws(() => on(ee, 'foo', { signal: abortedSignal }), { + name: 'AbortError' +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) }); } @@ -278,11 +322,19 @@ async function eventTargetAbortableOnBefore() { const abortedSignal = AbortSignal.abort(); [1, {}, null, false, 'hi'].forEach((signal) => { assert.throws(() => on(et, 'foo', { signal }), { +<<<<<<< HEAD code: 'ERR_INVALID_ARG_TYPE', }); }); assert.throws(() => on(et, 'foo', { signal: abortedSignal }), { name: 'AbortError', +======= + code: 'ERR_INVALID_ARG_TYPE' + }); + }); + assert.throws(() => on(et, 'foo', { signal: abortedSignal }), { + name: 'AbortError' +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) }); } diff --git a/cli/tests/node_compat/test/parallel/test-fs-access.js b/cli/tests/node_compat/test/parallel/test-fs-access.js index 2351d4171e..2560dc794f 100644 --- a/cli/tests/node_compat/test/parallel/test-fs-access.js +++ b/cli/tests/node_compat/test/parallel/test-fs-access.js @@ -177,12 +177,20 @@ fs.accessSync(readWriteFile, mode); () => fs.access(readWriteFile, mode, common.mustNotCall()), { code: 'ERR_INVALID_ARG_TYPE', +<<<<<<< HEAD +======= + message: /"mode" argument.+integer/ +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) } ); assert.throws( () => fs.accessSync(readWriteFile, mode), { code: 'ERR_INVALID_ARG_TYPE', +<<<<<<< HEAD +======= + message: /"mode" argument.+integer/ +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) } ); }); @@ -199,12 +207,20 @@ fs.accessSync(readWriteFile, mode); () => fs.access(readWriteFile, mode, common.mustNotCall()), { code: 'ERR_OUT_OF_RANGE', +<<<<<<< HEAD +======= + message: /"mode".+It must be an integer >= 0 && <= 7/ +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) } ); assert.throws( () => fs.accessSync(readWriteFile, mode), { code: 'ERR_OUT_OF_RANGE', +<<<<<<< HEAD +======= + message: /"mode".+It must be an integer >= 0 && <= 7/ +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) } ); }); diff --git a/cli/tests/node_compat/test/parallel/test-fs-copyfile.js b/cli/tests/node_compat/test/parallel/test-fs-copyfile.js index 085fc19bf8..84e13a78d0 100644 --- a/cli/tests/node_compat/test/parallel/test-fs-copyfile.js +++ b/cli/tests/node_compat/test/parallel/test-fs-copyfile.js @@ -163,6 +163,11 @@ assert.throws(() => { }, { code: 'ERR_OUT_OF_RANGE', name: 'RangeError', +<<<<<<< HEAD +======= + message: 'The value of "mode" is out of range. It must be an integer ' + + '>= 0 && <= 7. Received 8' +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) }); assert.throws(() => { diff --git a/cli/tests/node_compat/test/parallel/test-fs-watchfile.js b/cli/tests/node_compat/test/parallel/test-fs-watchfile.js index 3a77fb56d2..083c46982e 100644 --- a/cli/tests/node_compat/test/parallel/test-fs-watchfile.js +++ b/cli/tests/node_compat/test/parallel/test-fs-watchfile.js @@ -87,7 +87,11 @@ const watcher = // 'stop' should only be emitted once - stopping a stopped watcher should // not trigger a 'stop' event. +<<<<<<< HEAD watcher.on('stop', common.mustCall()); +======= +watcher.on('stop', common.mustCall(function onStop() {})); +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) // Watch events should callback with a filename on supported systems. // Omitting AIX. It works but not reliably. diff --git a/cli/tests/node_compat/test/parallel/test-net-options-lookup.js b/cli/tests/node_compat/test/parallel/test-net-options-lookup.js index d3ca0451c5..d2fd7f3e1b 100644 --- a/cli/tests/node_compat/test/parallel/test-net-options-lookup.js +++ b/cli/tests/node_compat/test/parallel/test-net-options-lookup.js @@ -43,11 +43,15 @@ function connectDoesNotThrow(input) { { // Verify that an error is emitted when an invalid address family is returned. const s = connectDoesNotThrow((host, options, cb) => { +<<<<<<< HEAD if (options.all) { cb(null, [{ address: '127.0.0.1', family: 100 }]); } else { cb(null, '127.0.0.1', 100); } +======= + cb(null, '127.0.0.1', 100); +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) }); s.on('error', common.expectsError({ diff --git a/cli/tests/node_compat/test/parallel/test-stream-duplex-from.js b/cli/tests/node_compat/test/parallel/test-stream-duplex-from.js index c91a040c51..15a15a1b4d 100644 --- a/cli/tests/node_compat/test/parallel/test-stream-duplex-from.js +++ b/cli/tests/node_compat/test/parallel/test-stream-duplex-from.js @@ -9,8 +9,12 @@ const common = require('../common'); const assert = require('assert'); +<<<<<<< HEAD const { Duplex, Readable, Writable, pipeline, PassThrough } = require('stream'); const { ReadableStream, WritableStream } = require('stream/web'); +======= +const { Duplex, Readable, Writable, pipeline } = require('stream'); +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) const { Blob } = require('buffer'); { @@ -150,7 +154,11 @@ const { Blob } = require('buffer'); } assert.strictEqual(ret, 'abcdefghi'); }, +<<<<<<< HEAD common.mustSucceed(), +======= + common.mustCall(() => {}), +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) ); } @@ -286,6 +294,7 @@ const { Blob } = require('buffer'); duplex.write('test'); } +<<<<<<< HEAD { const through = new PassThrough({ objectMode: true }); @@ -411,3 +420,5 @@ TODO(kt3k): Enable this test case })); } */ +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) diff --git a/cli/tests/node_compat/test/parallel/test-stream-pipeline-queued-end-in-destroy.js b/cli/tests/node_compat/test/parallel/test-stream-pipeline-queued-end-in-destroy.js index e785a00087..18d1f988b6 100644 --- a/cli/tests/node_compat/test/parallel/test-stream-pipeline-queued-end-in-destroy.js +++ b/cli/tests/node_compat/test/parallel/test-stream-pipeline-queued-end-in-destroy.js @@ -16,7 +16,11 @@ const { Readable, Duplex, pipeline } = require('stream'); // Refs: https://github.com/nodejs/node/issues/24456 const readable = new Readable({ +<<<<<<< HEAD read: common.mustCall() +======= + read: common.mustCall(() => {}) +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) }); const duplex = new Duplex({ diff --git a/cli/tests/node_compat/test/parallel/test-stream-pipeline-with-empty-string.js b/cli/tests/node_compat/test/parallel/test-stream-pipeline-with-empty-string.js index a03fe17dd8..f7634abf59 100644 --- a/cli/tests/node_compat/test/parallel/test-stream-pipeline-with-empty-string.js +++ b/cli/tests/node_compat/test/parallel/test-stream-pipeline-with-empty-string.js @@ -18,8 +18,16 @@ async function runTest() { await pipeline( '', new PassThrough({ objectMode: true }), +<<<<<<< HEAD common.mustCall(), ); } runTest().then(common.mustCall()); +======= + common.mustCall(() => { }) + ); +} + +runTest().then(common.mustCall(() => {})); +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) diff --git a/cli/tests/node_compat/test/parallel/test-stream-readable-destroy.js b/cli/tests/node_compat/test/parallel/test-stream-readable-destroy.js index 0a780c98e6..38678987bf 100644 --- a/cli/tests/node_compat/test/parallel/test-stream-readable-destroy.js +++ b/cli/tests/node_compat/test/parallel/test-stream-readable-destroy.js @@ -256,7 +256,11 @@ const assert = require('assert'); { const read = new Readable({ +<<<<<<< HEAD read: common.mustNotCall() +======= + read: common.mustNotCall(function() {}) +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) }); read.destroy(); assert.strictEqual(read.destroyed, true); diff --git a/cli/tests/node_compat/test/parallel/test-stream-readable-next-no-null.js b/cli/tests/node_compat/test/parallel/test-stream-readable-next-no-null.js index 06f06f41d3..7d94b252f2 100644 --- a/cli/tests/node_compat/test/parallel/test-stream-readable-next-no-null.js +++ b/cli/tests/node_compat/test/parallel/test-stream-readable-next-no-null.js @@ -21,6 +21,10 @@ stream.on('error', expectsError({ message: 'May not write null values to stream' })); +<<<<<<< HEAD stream.on('data', mustNotCall()); +======= +stream.on('data', mustNotCall((chunk) => {})); +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) stream.on('end', mustNotCall()); diff --git a/cli/tests/node_compat/test/parallel/test-stream-readable-unshift.js b/cli/tests/node_compat/test/parallel/test-stream-readable-unshift.js index 1303befa9a..bbbc1218ee 100644 --- a/cli/tests/node_compat/test/parallel/test-stream-readable-unshift.js +++ b/cli/tests/node_compat/test/parallel/test-stream-readable-unshift.js @@ -172,6 +172,10 @@ const { Readable } = require('stream'); const stream = new ArrayReader(); stream.once('readable', common.mustCall(onRead)); +<<<<<<< HEAD stream.on('end', common.mustCall()); +======= + stream.on('end', common.mustCall(() => {})); +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) } diff --git a/cli/tests/node_compat/test/parallel/test-stream2-transform.js b/cli/tests/node_compat/test/parallel/test-stream2-transform.js index 2bd376b1f0..4db7fe238d 100644 --- a/cli/tests/node_compat/test/parallel/test-stream2-transform.js +++ b/cli/tests/node_compat/test/parallel/test-stream2-transform.js @@ -475,6 +475,7 @@ const { PassThrough, Transform } = require('stream'); assert.strictEqual(ended, true); })); } +<<<<<<< HEAD { const s = new Transform({ @@ -499,3 +500,5 @@ const { PassThrough, Transform } = require('stream'); s.write('firstLine'); process.nextTick(() => s.write('secondLine')); } +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) diff --git a/cli/tests/node_compat/test/pseudo-tty/console_colors.js b/cli/tests/node_compat/test/pseudo-tty/console_colors.js index 2be4644579..6790b2b47a 100644 --- a/cli/tests/node_compat/test/pseudo-tty/console_colors.js +++ b/cli/tests/node_compat/test/pseudo-tty/console_colors.js @@ -17,7 +17,11 @@ console.log('%s q', 'string'); console.log('%o with object format param', { foo: 'bar' }); console.log( +<<<<<<< HEAD new Error('test\n at abc (../fixtures/node_modules/bar.js:4:4)\nfoobar'), +======= + new Error('test\n at abc (../fixtures/node_modules/bar.js:4:4)\nfoobar') +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) ); try { diff --git a/cli/tests/testdata/fmt/expected_fmt_check_verbose_tests_dir.out b/cli/tests/testdata/fmt/expected_fmt_check_verbose_tests_dir.out new file mode 100644 index 0000000000..04cd5ec642 --- /dev/null +++ b/cli/tests/testdata/fmt/expected_fmt_check_verbose_tests_dir.out @@ -0,0 +1,2 @@ +[WILDCARD] +error: Found 1 not formatted file in [WILDCARD] files diff --git a/cli/tests/unit_node/crypto/crypto_key_test.ts b/cli/tests/unit_node/crypto/crypto_key_test.ts index e59874d7a5..73e3caab9a 100644 --- a/cli/tests/unit_node/crypto/crypto_key_test.ts +++ b/cli/tests/unit_node/crypto/crypto_key_test.ts @@ -17,8 +17,11 @@ import { } from "../../../../test_util/std/testing/asserts.ts"; import { createHmac } from "node:crypto"; +<<<<<<< HEAD const RUN_SLOW_TESTS = Deno.env.get("SLOW_TESTS") === "1"; +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) const generateKeyPairAsync = promisify( ( type: any, @@ -79,12 +82,19 @@ Deno.test({ }, }); +<<<<<<< HEAD const modulusLengths = RUN_SLOW_TESTS ? [2048, 3072] : [2048]; for (const type of ["rsa", "rsa-pss", "dsa"]) { for (const modulusLength of modulusLengths) { Deno.test({ name: `generate ${type} key ${modulusLength}`, +======= +for (const type of ["rsa", "rsa-pss", "dsa"]) { + for (const modulusLength of [2048, 3072]) { + Deno.test({ + name: `generate ${type} key`, +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) fn() { const { publicKey, privateKey } = generateKeyPairSync(type as any, { modulusLength, @@ -96,7 +106,11 @@ for (const type of ["rsa", "rsa-pss", "dsa"]) { }); Deno.test({ +<<<<<<< HEAD name: `generate ${type} key async ${modulusLength}`, +======= + name: `generate ${type} key async`, +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) async fn() { const x = await generateKeyPairAsync(type as any, { modulusLength, @@ -178,9 +192,13 @@ for ( }); } +<<<<<<< HEAD const primeLengths = RUN_SLOW_TESTS ? [1024, 2048, 4096] : [1024]; for (const primeLength of primeLengths) { +======= +for (const primeLength of [1024, 2048, 4096]) { +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) Deno.test({ name: `generate dh key ${primeLength}`, fn() { diff --git a/cli/tests/unit_node/os_test.ts b/cli/tests/unit_node/os_test.ts index 54dc375bbf..af222949db 100644 --- a/cli/tests/unit_node/os_test.ts +++ b/cli/tests/unit_node/os_test.ts @@ -289,6 +289,7 @@ Deno.test({ await child.status; }, }); +<<<<<<< HEAD Deno.test({ name: @@ -309,3 +310,5 @@ Deno.test({ assert(diff < 10_000); }, }); +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) diff --git a/cli/tests/unit_node/stream_test.ts b/cli/tests/unit_node/stream_test.ts index 058d3ca7c6..a919d06d0d 100644 --- a/cli/tests/unit_node/stream_test.ts +++ b/cli/tests/unit_node/stream_test.ts @@ -1,8 +1,15 @@ // Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. +<<<<<<< HEAD import { assert } from "../../../test_util/std/testing/asserts.ts"; import { fromFileUrl, relative } from "../../../test_util/std/path/mod.ts"; import { pipeline } from "node:stream/promises"; +======= +import { assert, fail } from "../../../test_util/std/testing/asserts.ts"; +import { fromFileUrl, relative } from "../../../test_util/std/path/mod.ts"; +import { pipeline } from "node:stream/promises"; +import { Writable } from "node:stream"; +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) import { createReadStream, createWriteStream } from "node:fs"; Deno.test("stream/promises pipeline", async () => { @@ -23,3 +30,40 @@ Deno.test("stream/promises pipeline", async () => { // pass } }); +<<<<<<< HEAD +======= + +// TODO(kt3k): Remove this test case when the node compat test suite is +// updated to version 18.16.0 or above. +// The last case in parallel/test-stream2-transform.js covers this case. +// See https://github.com/nodejs/node/pull/46818 +Deno.test("stream.Writable does not change the order of items", async () => { + async function test() { + const chunks: Uint8Array[] = []; + const writable = new Writable({ + construct(cb) { + setTimeout(cb, 10); + }, + write(chunk, _, cb) { + chunks.push(chunk); + cb(); + }, + }); + + for (const i of Array(20).keys()) { + writable.write(Uint8Array.from([i])); + await new Promise((resolve) => setTimeout(resolve, 1)); + } + + if (chunks[0][0] !== 0) { + // The first chunk is swapped with the later chunk. + fail("The first chunk is swapped"); + } + } + + for (const _ of Array(10)) { + // Run it multiple times to avoid flaky false negative. + await test(); + } +}); +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) diff --git a/cli/tools/fmt.rs b/cli/tools/fmt.rs index 36828e23ce..2734a2ecba 100644 --- a/cli/tools/fmt.rs +++ b/cli/tools/fmt.rs @@ -223,13 +223,18 @@ pub fn format_json( dprint_plugin_json::format_text(file_path, file_text, &config) } +<<<<<<< HEAD /// Formats a single TS, TSX, JS, JSX, JSONC, JSON, MD, or IPYNB file. +======= +/// Formats a single TS, TSX, JS, JSX, JSONC, JSON, or MD file. +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) pub fn format_file( file_path: &Path, file_text: &str, fmt_options: &FmtOptionsConfig, ) -> Result, AnyError> { let ext = get_extension(file_path).unwrap_or_default(); +<<<<<<< HEAD match ext.as_str() { "md" | "mkd" | "mkdn" | "mdwn" | "mdown" | "markdown" => { @@ -246,6 +251,18 @@ pub fn format_file( let config = get_resolved_typescript_config(fmt_options); dprint_plugin_typescript::format_text(file_path, file_text, &config) } +======= + if matches!( + ext.as_str(), + "md" | "mkd" | "mkdn" | "mdwn" | "mdown" | "markdown" + ) { + format_markdown(file_text, fmt_options) + } else if matches!(ext.as_str(), "json" | "jsonc") { + format_json(file_path, file_text, fmt_options) + } else { + let config = get_resolved_typescript_config(fmt_options); + dprint_plugin_typescript::format_text(file_path, file_text, &config) +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) } } @@ -673,7 +690,11 @@ where /// This function is similar to is_supported_ext but adds additional extensions /// supported by `deno fmt`. fn is_supported_ext_fmt(path: &Path) -> bool { +<<<<<<< HEAD get_extension(path).is_some_and(|ext| { +======= + if let Some(ext) = get_extension(path) { +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) matches!( ext.as_str(), "ts" @@ -692,9 +713,16 @@ fn is_supported_ext_fmt(path: &Path) -> bool { | "mdwn" | "mdown" | "markdown" +<<<<<<< HEAD | "ipynb" ) }) +======= + ) + } else { + false + } +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) } #[cfg(test)] @@ -726,7 +754,10 @@ mod test { assert!(is_supported_ext_fmt(Path::new("foo.JSONC"))); assert!(is_supported_ext_fmt(Path::new("foo.json"))); assert!(is_supported_ext_fmt(Path::new("foo.JsON"))); +<<<<<<< HEAD assert!(is_supported_ext_fmt(Path::new("foo.ipynb"))); +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) } #[test] diff --git a/cli/tools/registry/mod.rs b/cli/tools/registry/mod.rs index 42bb060878..dea4575dba 100644 --- a/cli/tools/registry/mod.rs +++ b/cli/tools/registry/mod.rs @@ -4,25 +4,40 @@ use std::fmt::Write; use std::io::IsTerminal; use std::path::Path; use std::path::PathBuf; +<<<<<<< HEAD use std::rc::Rc; +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) use std::sync::Arc; use base64::prelude::BASE64_STANDARD; use base64::Engine; use deno_config::ConfigFile; use deno_core::anyhow; +<<<<<<< HEAD +======= +use deno_core::anyhow::anyhow; +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) use deno_core::anyhow::bail; use deno_core::anyhow::Context; use deno_core::error::AnyError; use deno_core::serde_json; use deno_core::serde_json::json; +<<<<<<< HEAD +======= +use deno_core::url::Url; +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) use deno_runtime::colors; use deno_runtime::deno_fetch::reqwest; use http::header::AUTHORIZATION; use http::header::CONTENT_ENCODING; use hyper::body::Bytes; +<<<<<<< HEAD use import_map::ImportMap; use lsp_types::Url; +======= +use import_map::ImportMapWithDiagnostics; +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) use serde::de::DeserializeOwned; use serde::Serialize; use sha2::Digest; @@ -72,8 +87,14 @@ pub struct PublishingTask { async fn prepare_publish( initial_cwd: &Path, directory: PathBuf, +<<<<<<< HEAD import_map: &ImportMap, ) -> Result { +======= +) -> Result { + // TODO: handle publishing without deno.json + +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) let directory_path = initial_cwd.join(directory); // TODO: doesn't handle jsonc let deno_json_path = directory_path.join("deno.json"); @@ -97,6 +118,20 @@ async fn prepare_publish( bail!("Invalid package name, use '@/ format"); }; +<<<<<<< HEAD +======= + // TODO: support `importMap` field in deno.json + assert!(deno_json.to_import_map_path().is_none()); + + let deno_json_url = Url::from_file_path(&deno_json_path) + .map_err(|_| anyhow!("deno.json path is not a valid file URL"))?; + let ImportMapWithDiagnostics { import_map, .. } = + import_map::parse_from_value( + &deno_json_url, + deno_json.to_import_map_value(), + )?; + +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) let unfurler = ImportMapUnfurler::new(import_map); let tarball = tar::create_gzipped_tarball(directory_path, unfurler) @@ -228,6 +263,7 @@ async fn perform_publish( let client = http_client.client()?; let registry_url = crate::cache::DENO_REGISTRY_URL.to_string(); +<<<<<<< HEAD let permissions = packages .iter() .map(|package| Permission::VersionPublish { @@ -239,12 +275,30 @@ async fn perform_publish( .collect::>(); let authorizations = match auth_method { +======= + let authorization = match auth_method { +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) AuthMethod::Interactive => { let verifier = uuid::Uuid::new_v4().to_string(); let challenge = BASE64_STANDARD.encode(sha2::Sha256::digest(&verifier)); +<<<<<<< HEAD let response = client .post(format!("{}authorizations", registry_url)) +======= + let permissions = packages + .iter() + .map(|package| Permission::VersionPublish { + scope: &package.scope, + package: &package.package, + version: &package.version, + tarball_hash: &package.tarball_hash, + }) + .collect::>(); + + let response = client + .post(format!("{}/authorizations", registry_url)) +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) .json(&serde_json::json!({ "challenge": challenge, "permissions": permissions, @@ -273,7 +327,11 @@ async fn perform_publish( loop { tokio::time::sleep(interval).await; let response = client +<<<<<<< HEAD .post(format!("{}authorizations/exchange", registry_url)) +======= + .post(format!("{}/authorizations/exchange", registry_url)) +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) .json(&serde_json::json!({ "exchangeToken": auth.exchange_token, "verifier": verifier, @@ -291,12 +349,16 @@ async fn perform_publish( colors::gray("Authenticated as"), colors::cyan(res.user.name) ); +<<<<<<< HEAD let authorization: Rc = format!("Bearer {}", res.token).into(); let mut authorizations = Vec::new(); for _ in &packages { authorizations.push(authorization.clone()); } break authorizations; +======= + break format!("Bearer {}", res.token); +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) } Err(err) => { if err.code == "authorizationPending" { @@ -308,6 +370,7 @@ async fn perform_publish( } } } +<<<<<<< HEAD AuthMethod::Token(token) => { let authorization: Rc = format!("Bearer {}", token).into(); let mut authorizations = Vec::new(); @@ -367,6 +430,56 @@ async fn perform_publish( for (package, authorization) in packages.into_iter().zip(authorizations.into_iter()) { +======= + AuthMethod::Token(token) => format!("Bearer {}", token), + AuthMethod::Oidc(oidc_config) => { + let permissions = packages + .iter() + .map(|package| Permission::VersionPublish { + scope: &package.scope, + package: &package.package, + version: &package.version, + tarball_hash: &package.tarball_hash, + }) + .collect::>(); + let audience = json!({ "permissions": permissions }).to_string(); + + let url = format!( + "{}&audience={}", + oidc_config.url, + percent_encoding::percent_encode( + audience.as_bytes(), + percent_encoding::NON_ALPHANUMERIC + ) + ); + + let response = client + .get(url) + .bearer_auth(oidc_config.token) + .send() + .await + .context("Failed to get OIDC token")?; + let status = response.status(); + let text = response.text().await.with_context(|| { + format!("Failed to get OIDC token: status {}", status) + })?; + if !status.is_success() { + bail!( + "Failed to get OIDC token: status {}, response: '{}'", + status, + text + ); + } + let OidcTokenResponse { value } = serde_json::from_str(&text) + .with_context(|| { + format!("Failed to parse OIDC token: '{}' (status {})", text, status) + })?; + format!("githuboidc {}", value) + } + }; + + for package in packages { +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) println!( "{} @{}/{}@{} ...", colors::intense_blue("Publishing"), @@ -376,13 +489,21 @@ async fn perform_publish( ); let url = format!( +<<<<<<< HEAD "{}scopes/{}/packages/{}/versions/{}", +======= + "{}/scopes/{}/packages/{}/versions/{}", +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) registry_url, package.scope, package.package, package.version ); let response = client .post(url) +<<<<<<< HEAD .header(AUTHORIZATION, &*authorization) +======= + .header(AUTHORIZATION, &authorization) +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) .header(CONTENT_ENCODING, "gzip") .body(package.tarball) .send() @@ -401,7 +522,11 @@ async fn perform_publish( while task.status != "success" && task.status != "failure" { tokio::time::sleep(interval).await; let resp = client +<<<<<<< HEAD .get(format!("{}publish_status/{}", registry_url, task.id)) +======= + .get(format!("{}/publish_status/{}", registry_url, task.id)) +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) .send() .await .with_context(|| { @@ -482,6 +607,7 @@ pub async fn publish( }, }; +<<<<<<< HEAD let import_map = cli_factory .maybe_import_map() .await? @@ -490,6 +616,8 @@ pub async fn publish( Arc::new(ImportMap::new(Url::parse("file:///dev/null").unwrap())) }); +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) let initial_cwd = std::env::current_dir().with_context(|| "Failed getting cwd.")?; @@ -508,14 +636,22 @@ pub async fn publish( let members = &deno_json.json.workspaces; if members.is_empty() { +<<<<<<< HEAD packages .push(prepare_publish(&initial_cwd, directory_path, &import_map).await?); +======= + packages.push(prepare_publish(&initial_cwd, directory_path).await?); +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) } else { println!("Publishing a workspace..."); for member in members { let member_dir = directory_path.join(member); +<<<<<<< HEAD packages .push(prepare_publish(&initial_cwd, member_dir, &import_map).await?); +======= + packages.push(prepare_publish(&initial_cwd, member_dir).await?); +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) } } diff --git a/cli/tools/registry/tar.rs b/cli/tools/registry/tar.rs index 61532917a4..1a05c8d454 100644 --- a/cli/tools/registry/tar.rs +++ b/cli/tools/registry/tar.rs @@ -18,15 +18,22 @@ pub fn create_gzipped_tarball( unfurler: ImportMapUnfurler, ) -> Result { let mut tar = TarGzArchive::new(); +<<<<<<< HEAD let dir = dir .canonicalize() .map_err(|_| anyhow::anyhow!("Unable to canonicalize path {:?}", dir))?; for entry in walkdir::WalkDir::new(&dir).follow_links(false) { +======= + let dir_url = Url::from_directory_path(&dir).unwrap(); + + for entry in walkdir::WalkDir::new(dir).follow_links(false) { +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) let entry = entry?; if entry.file_type().is_file() { let url = Url::from_file_path(entry.path()) +<<<<<<< HEAD .map_err(|_| anyhow::anyhow!("Unable to convert path to url"))?; let relative_path = entry .path() @@ -35,16 +42,28 @@ pub fn create_gzipped_tarball( let relative_path = relative_path.to_str().ok_or_else(|| { anyhow::anyhow!("Unable to convert path to string {:?}", relative_path) })?; +======= + .map_err(|_| anyhow::anyhow!("Invalid file path {:?}", entry.path()))?; + let relative_path = dir_url + .make_relative(&url) + .expect("children can be relative to parent"); +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) let data = std::fs::read(entry.path()) .with_context(|| format!("Unable to read file {:?}", entry.path()))?; let content = unfurler .unfurl(&url, data) .with_context(|| format!("Unable to unfurl file {:?}", entry.path()))?; +<<<<<<< HEAD tar .add_file(relative_path.to_string(), &content) .with_context(|| { format!("Unable to add file to tarball {:?}", entry.path()) })?; +======= + tar.add_file(relative_path, &content).with_context(|| { + format!("Unable to add file to tarball {:?}", entry.path()) + })?; +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) } else if entry.file_type().is_dir() { // skip } else { diff --git a/cli/tools/run/mod.rs b/cli/tools/run/mod.rs index 321f94fc6e..fd01334453 100644 --- a/cli/tools/run/mod.rs +++ b/cli/tools/run/mod.rs @@ -47,7 +47,10 @@ To grant permissions, set them before the script argument. For example: // Run a background task that checks for available upgrades or output // if an earlier run of this background task found a new version of Deno. +<<<<<<< HEAD #[cfg(feature = "upgrade")] +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) super::upgrade::check_for_upgrades( http_client.clone(), deno_dir.upgrade_check_file_path(), diff --git a/cli/tools/task.rs b/cli/tools/task.rs index d929dc6662..1949dc2a66 100644 --- a/cli/tools/task.rs +++ b/cli/tools/task.rs @@ -122,7 +122,11 @@ pub async fn execute_script( None => Default::default(), }; let env_vars = match npm_resolver.root_node_modules_path() { +<<<<<<< HEAD Some(dir_path) => collect_env_vars_with_node_modules_dir(dir_path), +======= + Some(dir_path) => collect_env_vars_with_node_modules_dir(&dir_path), +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) None => collect_env_vars(), }; let local = LocalSet::new(); diff --git a/cli/tsc/dts/lib.deno.ns.d.ts b/cli/tsc/dts/lib.deno.ns.d.ts index ed24736fc8..39365f409f 100644 --- a/cli/tsc/dts/lib.deno.ns.d.ts +++ b/cli/tsc/dts/lib.deno.ns.d.ts @@ -4312,7 +4312,11 @@ declare namespace Deno { * * @category Sub Process */ +<<<<<<< HEAD export class ChildProcess implements AsyncDisposable { +======= + export class ChildProcess implements Disposable { +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) get stdin(): WritableStream; get stdout(): ReadableStream; get stderr(): ReadableStream; @@ -4338,7 +4342,11 @@ declare namespace Deno { * process from exiting. */ unref(): void; +<<<<<<< HEAD [Symbol.asyncDispose](): Promise; +======= + [Symbol.dispose](): void; +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) } /** diff --git a/cli/util/fs.rs b/cli/util/fs.rs index 4881d08153..41cce903c7 100644 --- a/cli/util/fs.rs +++ b/cli/util/fs.rs @@ -6,7 +6,10 @@ pub use deno_core::normalize_path; use deno_core::unsync::spawn_blocking; use deno_core::ModuleSpecifier; use deno_runtime::deno_crypto::rand; +<<<<<<< HEAD use deno_runtime::deno_fs::FileSystem; +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) use deno_runtime::deno_node::PathClean; use std::borrow::Cow; use std::env::current_dir; @@ -188,11 +191,16 @@ pub fn canonicalize_path(path: &Path) -> Result { pub fn canonicalize_path_maybe_not_exists( path: &Path, ) -> Result { +<<<<<<< HEAD canonicalize_path_maybe_not_exists_with_custom_fn(path, canonicalize_path) +======= + canonicalize_path_maybe_not_exists_with_fs(path, canonicalize_path) +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) } pub fn canonicalize_path_maybe_not_exists_with_fs( path: &Path, +<<<<<<< HEAD fs: &dyn FileSystem, ) -> Result { canonicalize_path_maybe_not_exists_with_custom_fn(path, |path| { @@ -202,6 +210,8 @@ pub fn canonicalize_path_maybe_not_exists_with_fs( fn canonicalize_path_maybe_not_exists_with_custom_fn( path: &Path, +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) canonicalize: impl Fn(&Path) -> Result, ) -> Result { let path = path.to_path_buf().clean(); diff --git a/cli/util/import_map.rs b/cli/util/import_map.rs index ac5ff24a4a..e233bd1e9e 100644 --- a/cli/util/import_map.rs +++ b/cli/util/import_map.rs @@ -8,12 +8,21 @@ use deno_graph::MediaType; use deno_graph::TypeScriptReference; use import_map::ImportMap; +<<<<<<< HEAD pub struct ImportMapUnfurler<'a> { import_map: &'a ImportMap, } impl<'a> ImportMapUnfurler<'a> { pub fn new(import_map: &'a ImportMap) -> Self { +======= +pub struct ImportMapUnfurler { + import_map: ImportMap, +} + +impl ImportMapUnfurler { + pub fn new(import_map: ImportMap) -> Self { +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) Self { import_map } } @@ -158,7 +167,11 @@ mod tests { }); let ImportMapWithDiagnostics { import_map, .. } = import_map::parse_from_value(&deno_json_url, value).unwrap(); +<<<<<<< HEAD let unfurler = ImportMapUnfurler::new(&import_map); +======= + let unfurler = ImportMapUnfurler::new(import_map); +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) // Unfurling TS file should apply changes. { diff --git a/cli/worker.rs b/cli/worker.rs index 5be64e117a..5477491882 100644 --- a/cli/worker.rs +++ b/cli/worker.rs @@ -570,8 +570,12 @@ impl CliMainWorkerFactory { // TODO(bartlomieju): this is cruft, update FeatureChecker to spit out // list of enabled features. let feature_checker = shared.feature_checker.clone(); +<<<<<<< HEAD let mut unstable_features = Vec::with_capacity(crate::UNSTABLE_GRANULAR_FLAGS.len()); +======= + let mut unstable_features = Vec::with_capacity(8); +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) for (feature_name, _, id) in crate::UNSTABLE_GRANULAR_FLAGS { if feature_checker.check(feature_name) { unstable_features.push(*id); @@ -640,6 +644,7 @@ impl CliMainWorkerFactory { options, ); +<<<<<<< HEAD if self.shared.subcommand.needs_test() { worker.js_runtime.execute_script_static( "ext:cli/40_testing.js", @@ -647,6 +652,11 @@ impl CliMainWorkerFactory { )?; worker.js_runtime.execute_script_static( "ext:cli/40_jupyter.js", +======= + if self.shared.subcommand.is_test_or_jupyter() { + worker.js_runtime.execute_script_static( + "40_jupyter.js", +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) include_str!("js/40_jupyter.js"), )?; } @@ -769,8 +779,12 @@ fn create_web_worker_callback( // TODO(bartlomieju): this is cruft, update FeatureChecker to spit out // list of enabled features. let feature_checker = shared.feature_checker.clone(); +<<<<<<< HEAD let mut unstable_features = Vec::with_capacity(crate::UNSTABLE_GRANULAR_FLAGS.len()); +======= + let mut unstable_features = Vec::with_capacity(8); +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) for (feature_name, _, id) in crate::UNSTABLE_GRANULAR_FLAGS { if feature_checker.check(feature_name) { unstable_features.push(*id); diff --git a/ext/broadcast_channel/Cargo.toml b/ext/broadcast_channel/Cargo.toml index f41532c5a1..2cbb3f5ea4 100644 --- a/ext/broadcast_channel/Cargo.toml +++ b/ext/broadcast_channel/Cargo.toml @@ -2,7 +2,11 @@ [package] name = "deno_broadcast_channel" +<<<<<<< HEAD version = "0.119.0" +======= +version = "0.120.0" +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) authors.workspace = true edition.workspace = true license.workspace = true diff --git a/ext/cache/Cargo.toml b/ext/cache/Cargo.toml index 701ec6d470..5af2eeae6a 100644 --- a/ext/cache/Cargo.toml +++ b/ext/cache/Cargo.toml @@ -2,7 +2,11 @@ [package] name = "deno_cache" +<<<<<<< HEAD version = "0.57.0" +======= +version = "0.58.0" +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) authors.workspace = true edition.workspace = true license.workspace = true diff --git a/ext/console/01_console.js b/ext/console/01_console.js index 4f0ff63629..8efc832128 100644 --- a/ext/console/01_console.js +++ b/ext/console/01_console.js @@ -12,7 +12,10 @@ const { ArrayBufferPrototypeGetByteLength, ArrayIsArray, ArrayPrototypeFill, +<<<<<<< HEAD ArrayPrototypeConcat, +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) ArrayPrototypeFilter, ArrayPrototypeFind, ArrayPrototypeForEach, @@ -42,7 +45,10 @@ const { FunctionPrototypeBind, FunctionPrototypeCall, FunctionPrototypeToString, +<<<<<<< HEAD NumberIsNaN, +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) MapPrototype, MapPrototypeDelete, MapPrototypeEntries, @@ -136,6 +142,7 @@ const { Uint8Array, WeakMapPrototypeHas, WeakSetPrototypeHas, +<<<<<<< HEAD } = primordials; // supposed to be in node/internal_binding/util.ts @@ -154,6 +161,11 @@ export function previewEntries(iter, isKeyValue) { } } +======= + isNaN, +} = primordials; + +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) let noColor = () => false; function setNoColorFn(fn) { @@ -967,7 +979,11 @@ function formatRaw(ctx, value, recurseTimes, typedArray, proxyDetails) { } } else if (ObjectPrototypeIsPrototypeOf(DatePrototype, value)) { const date = proxyDetails ? proxyDetails[0] : value; +<<<<<<< HEAD if (NumberIsNaN(DatePrototypeGetTime(date))) { +======= + if (isNaN(DatePrototypeGetTime(date))) { +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) return ctx.stylize("Invalid Date", "date"); } else { base = DatePrototypeToISOString(date); @@ -1510,7 +1526,13 @@ function getIteratorBraces(type, tag) { const iteratorRegExp = new SafeRegExp(" Iterator] {$"); function formatIterator(braces, ctx, value, recurseTimes) { +<<<<<<< HEAD const { 0: entries, 1: isKeyValue } = previewEntries(value, true); +======= + // TODO(wafuwafu13): Implement + // const { 0: entries, 1: isKeyValue } = previewEntries(value, true); + const { 0: entries, 1: isKeyValue } = value; +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) if (isKeyValue) { // Mark entry iterators as such. braces[0] = StringPrototypeReplace( @@ -1719,12 +1741,24 @@ function formatWeakCollection(ctx) { } function formatWeakSet(ctx, value, recurseTimes) { +<<<<<<< HEAD const entries = previewEntries(value); +======= + // TODO(wafuwafu13): Implement + // const entries = previewEntries(value); + const entries = value; +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) return formatSetIterInner(ctx, recurseTimes, entries, kWeak); } function formatWeakMap(ctx, value, recurseTimes) { +<<<<<<< HEAD const entries = previewEntries(value); +======= + // TODO(wafuwafu13): Implement + // const entries = previewEntries(value); + const entries = value; +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) return formatMapIterInner(ctx, recurseTimes, entries, kWeak); } @@ -2753,34 +2787,57 @@ const HSL_PATTERN = new SafeRegExp( ); function parseCssColor(colorString) { +<<<<<<< HEAD if (colorKeywords.has(colorString)) { colorString = colorKeywords.get(colorString); +======= + if (MapPrototypeHas(colorKeywords, colorString)) { + colorString = MapPrototypeGet(colorKeywords, colorString); +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) } // deno-fmt-ignore const hashMatch = StringPrototypeMatch(colorString, HASH_PATTERN); if (hashMatch != null) { return [ +<<<<<<< HEAD NumberParseInt(hashMatch[1], 16), NumberParseInt(hashMatch[2], 16), NumberParseInt(hashMatch[3], 16), +======= + Number(`0x${hashMatch[1]}`), + Number(`0x${hashMatch[2]}`), + Number(`0x${hashMatch[3]}`), +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) ]; } // deno-fmt-ignore const smallHashMatch = StringPrototypeMatch(colorString, SMALL_HASH_PATTERN); if (smallHashMatch != null) { return [ +<<<<<<< HEAD NumberParseInt(`${smallHashMatch[1]}${smallHashMatch[1]}`, 16), NumberParseInt(`${smallHashMatch[2]}${smallHashMatch[2]}`, 16), NumberParseInt(`${smallHashMatch[3]}${smallHashMatch[3]}`, 16), +======= + Number(`0x${smallHashMatch[1]}${smallHashMatch[1]}`), + Number(`0x${smallHashMatch[2]}${smallHashMatch[2]}`), + Number(`0x${smallHashMatch[3]}${smallHashMatch[3]}`), +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) ]; } // deno-fmt-ignore const rgbMatch = StringPrototypeMatch(colorString, RGB_PATTERN); if (rgbMatch != null) { return [ +<<<<<<< HEAD MathRound(MathMax(0, MathMin(255, rgbMatch[1]))), MathRound(MathMax(0, MathMin(255, rgbMatch[2]))), MathRound(MathMax(0, MathMin(255, rgbMatch[3]))), +======= + MathRound(MathMax(0, MathMin(255, Number(rgbMatch[1])))), + MathRound(MathMax(0, MathMin(255, Number(rgbMatch[2])))), + MathRound(MathMax(0, MathMin(255, Number(rgbMatch[3])))), +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) ]; } // deno-fmt-ignore @@ -2791,8 +2848,13 @@ function parseCssColor(colorString) { if (h < 0) { h += 360; } +<<<<<<< HEAD const s = MathMax(0, MathMin(100, hslMatch[2])) / 100; const l = MathMax(0, MathMin(100, hslMatch[3])) / 100; +======= + const s = MathMax(0, MathMin(100, Number(hslMatch[2]))) / 100; + const l = MathMax(0, MathMin(100, Number(hslMatch[3]))) / 100; +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) const c = (1 - MathAbs(2 * l - 1)) * s; const x = c * (1 - MathAbs((h / 60) % 2 - 1)); const m = l - c / 2; diff --git a/ext/console/Cargo.toml b/ext/console/Cargo.toml index 0a564f6877..80dcb9a4eb 100644 --- a/ext/console/Cargo.toml +++ b/ext/console/Cargo.toml @@ -2,7 +2,11 @@ [package] name = "deno_console" +<<<<<<< HEAD version = "0.125.0" +======= +version = "0.126.0" +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) authors.workspace = true edition.workspace = true license.workspace = true diff --git a/ext/cron/Cargo.toml b/ext/cron/Cargo.toml index 4dc38959d7..be6a513979 100644 --- a/ext/cron/Cargo.toml +++ b/ext/cron/Cargo.toml @@ -2,7 +2,11 @@ [package] name = "deno_cron" +<<<<<<< HEAD version = "0.5.0" +======= +version = "0.6.0" +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) authors.workspace = true edition.workspace = true license.workspace = true diff --git a/ext/crypto/Cargo.toml b/ext/crypto/Cargo.toml index 147d58416c..08b0d79907 100644 --- a/ext/crypto/Cargo.toml +++ b/ext/crypto/Cargo.toml @@ -2,7 +2,11 @@ [package] name = "deno_crypto" +<<<<<<< HEAD version = "0.139.0" +======= +version = "0.140.0" +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) authors.workspace = true edition.workspace = true license.workspace = true diff --git a/ext/fetch/Cargo.toml b/ext/fetch/Cargo.toml index e372972d96..3813827103 100644 --- a/ext/fetch/Cargo.toml +++ b/ext/fetch/Cargo.toml @@ -2,7 +2,11 @@ [package] name = "deno_fetch" +<<<<<<< HEAD version = "0.149.0" +======= +version = "0.150.0" +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) authors.workspace = true edition.workspace = true license.workspace = true diff --git a/ext/ffi/Cargo.toml b/ext/ffi/Cargo.toml index c5df1bf024..e43fc29eb1 100644 --- a/ext/ffi/Cargo.toml +++ b/ext/ffi/Cargo.toml @@ -2,7 +2,11 @@ [package] name = "deno_ffi" +<<<<<<< HEAD version = "0.112.0" +======= +version = "0.113.0" +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) authors.workspace = true edition.workspace = true license.workspace = true diff --git a/ext/fs/Cargo.toml b/ext/fs/Cargo.toml index b833d0be4c..4d103b3260 100644 --- a/ext/fs/Cargo.toml +++ b/ext/fs/Cargo.toml @@ -2,7 +2,11 @@ [package] name = "deno_fs" +<<<<<<< HEAD version = "0.35.0" +======= +version = "0.36.0" +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) authors.workspace = true edition.workspace = true license.workspace = true diff --git a/ext/http/Cargo.toml b/ext/http/Cargo.toml index 4ff3acf63e..ce225ef539 100644 --- a/ext/http/Cargo.toml +++ b/ext/http/Cargo.toml @@ -2,7 +2,11 @@ [package] name = "deno_http" +<<<<<<< HEAD version = "0.122.0" +======= +version = "0.123.0" +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) authors.workspace = true edition.workspace = true license.workspace = true diff --git a/ext/io/Cargo.toml b/ext/io/Cargo.toml index ea53f9bea6..b950df33da 100644 --- a/ext/io/Cargo.toml +++ b/ext/io/Cargo.toml @@ -2,7 +2,11 @@ [package] name = "deno_io" +<<<<<<< HEAD version = "0.35.0" +======= +version = "0.36.0" +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) authors.workspace = true edition.workspace = true license.workspace = true diff --git a/ext/kv/Cargo.toml b/ext/kv/Cargo.toml index 5e2ce0f3aa..4cac99f7c5 100644 --- a/ext/kv/Cargo.toml +++ b/ext/kv/Cargo.toml @@ -2,7 +2,11 @@ [package] name = "deno_kv" +<<<<<<< HEAD version = "0.33.0" +======= +version = "0.34.0" +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) authors.workspace = true edition.workspace = true license.workspace = true diff --git a/ext/kv/sqlite.rs b/ext/kv/sqlite.rs index 2e7b97126f..1ee7be4281 100644 --- a/ext/kv/sqlite.rs +++ b/ext/kv/sqlite.rs @@ -18,7 +18,11 @@ use deno_core::error::AnyError; use deno_core::unsync::spawn_blocking; use deno_core::OpState; use deno_node::PathClean; +<<<<<<< HEAD pub use denokv_sqlite::SqliteBackendError; +======= +pub use denokv_sqlite::TypeError; +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) use rand::RngCore; use rand::SeedableRng; use rusqlite::OpenFlags; @@ -95,16 +99,24 @@ impl DatabaseHandler for SqliteDbHandler

{ (Some(path), _) => { let flags = OpenFlags::default().difference(OpenFlags::SQLITE_OPEN_URI); +<<<<<<< HEAD let resolved_path = canonicalize_path(&PathBuf::from(path)) .map_err(|_| SqliteBackendError::DatabaseClosed)?; +======= + let resolved_path = canonicalize_path(&PathBuf::from(path))?; +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) ( rusqlite::Connection::open_with_flags(path, flags)?, Some(resolved_path), ) } (None, Some(path)) => { +<<<<<<< HEAD std::fs::create_dir_all(path) .map_err(|_| SqliteBackendError::DatabaseClosed)?; +======= + std::fs::create_dir_all(path)?; +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) let path = path.join("kv.sqlite3"); (rusqlite::Connection::open(path.clone())?, Some(path)) } @@ -112,7 +124,11 @@ impl DatabaseHandler for SqliteDbHandler

{ conn.pragma_update(None, "journal_mode", "wal")?; +<<<<<<< HEAD Ok::<_, SqliteBackendError>((conn, queue_waker_key)) +======= + Ok::<_, AnyError>((conn, queue_waker_key)) +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) }) }) .await diff --git a/ext/napi/Cargo.toml b/ext/napi/Cargo.toml index 97bc002625..5a1151e367 100644 --- a/ext/napi/Cargo.toml +++ b/ext/napi/Cargo.toml @@ -2,7 +2,11 @@ [package] name = "deno_napi" +<<<<<<< HEAD version = "0.55.0" +======= +version = "0.56.0" +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) authors.workspace = true edition.workspace = true license.workspace = true diff --git a/ext/net/Cargo.toml b/ext/net/Cargo.toml index 91f2a527ff..ac217cef92 100644 --- a/ext/net/Cargo.toml +++ b/ext/net/Cargo.toml @@ -2,7 +2,11 @@ [package] name = "deno_net" +<<<<<<< HEAD version = "0.117.0" +======= +version = "0.118.0" +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) authors.workspace = true edition.workspace = true license.workspace = true diff --git a/ext/node/Cargo.toml b/ext/node/Cargo.toml index 03ccc5562e..0661e1dc87 100644 --- a/ext/node/Cargo.toml +++ b/ext/node/Cargo.toml @@ -2,7 +2,11 @@ [package] name = "deno_node" +<<<<<<< HEAD version = "0.62.0" +======= +version = "0.63.0" +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) authors.workspace = true edition.workspace = true license.workspace = true diff --git a/ext/node/lib.rs b/ext/node/lib.rs index af8aabd1f0..a63372112b 100644 --- a/ext/node/lib.rs +++ b/ext/node/lib.rs @@ -463,8 +463,11 @@ deno_core::extension!(deno_node, "internal/util/comparisons.ts", "internal/util/debuglog.ts", "internal/util/inspect.mjs", +<<<<<<< HEAD "internal/util/parse_args/parse_args.js", "internal/util/parse_args/utils.js", +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) "internal/util/types.ts", "internal/validators.mjs", "path/_constants.ts", diff --git a/ext/node/polyfills/_stream.mjs b/ext/node/polyfills/_stream.mjs index d6db3020b5..9cb424edc1 100644 --- a/ext/node/polyfills/_stream.mjs +++ b/ext/node/polyfills/_stream.mjs @@ -4474,7 +4474,10 @@ var require_duplexify = __commonJS({ readable: false, }); } +<<<<<<< HEAD +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) if (typeof body === "function") { const { value, write, final, destroy } = fromAsyncGen(body); if (isIterable(value)) { @@ -4670,6 +4673,11 @@ var require_duplexify = __commonJS({ cb(err); } else if (err) { d.destroy(err); +<<<<<<< HEAD +======= + } else if (!readable && !writable) { + d.destroy(); +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) } } d = new Duplexify({ diff --git a/ext/node/polyfills/internal/buffer.mjs b/ext/node/polyfills/internal/buffer.mjs index 4d50fe80f9..8d48c574d1 100644 --- a/ext/node/polyfills/internal/buffer.mjs +++ b/ext/node/polyfills/internal/buffer.mjs @@ -1536,12 +1536,17 @@ Buffer.prototype.copy = function copy( sourceStart = 0; } else { sourceStart = toInteger(sourceStart, 0); +<<<<<<< HEAD if (sourceStart < 0 || sourceStart > this.length) { throw new codes.ERR_OUT_OF_RANGE( "sourceStart", `>= 0 && <= ${this.length}`, sourceStart, ); +======= + if (sourceStart < 0) { + throw new codes.ERR_OUT_OF_RANGE("sourceStart", ">= 0", sourceStart); +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) } if (sourceStart >= MAX_UINT32) { throw new codes.ERR_OUT_OF_RANGE( diff --git a/ext/node/polyfills/internal/console/constructor.mjs b/ext/node/polyfills/internal/console/constructor.mjs index afa18bb97e..7d32ba9828 100644 --- a/ext/node/polyfills/internal/console/constructor.mjs +++ b/ext/node/polyfills/internal/console/constructor.mjs @@ -17,7 +17,21 @@ import { validateInteger, validateObject, } from "ext:deno_node/internal/validators.mjs"; +<<<<<<< HEAD import { previewEntries } from "ext:deno_node/internal_binding/util.ts"; +======= +const previewEntries = (iter, isKeyValue) => { + if (isKeyValue) { + const arr = [...iter]; + if (Array.isArray(arr[0]) && arr[0].length === 2) { + return [[].concat(...arr), true]; + } + return [arr, false]; + } else { + return [...iter]; + } +}; +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) import { Buffer } from "node:buffer"; const { isBuffer } = Buffer; import { @@ -465,6 +479,10 @@ const consoleMethods = { // https://console.spec.whatwg.org/#table table(tabularData, properties) { +<<<<<<< HEAD +======= + console.log("tabularData", tabularData); +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) if (properties !== undefined) { validateArray(properties, "properties"); } diff --git a/ext/node/polyfills/internal/errors.ts b/ext/node/polyfills/internal/errors.ts index 8d10e18573..afdf5468f2 100644 --- a/ext/node/polyfills/internal/errors.ts +++ b/ext/node/polyfills/internal/errors.ts @@ -2472,6 +2472,7 @@ export class ERR_PACKAGE_PATH_NOT_EXPORTED extends NodeError { } } +<<<<<<< HEAD export class ERR_PARSE_ARGS_INVALID_OPTION_VALUE extends NodeTypeError { constructor(x: string) { super("ERR_PARSE_ARGS_INVALID_OPTION_VALUE", x); @@ -2502,6 +2503,8 @@ export class ERR_PARSE_ARGS_UNKNOWN_OPTION extends NodeTypeError { } } +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) export class ERR_INTERNAL_ASSERTION extends NodeError { constructor(message?: string) { const suffix = "This is caused by either a bug in Node.js " + diff --git a/ext/node/polyfills/internal/validators.mjs b/ext/node/polyfills/internal/validators.mjs index b5b539088a..fbf95a2b0b 100644 --- a/ext/node/polyfills/internal/validators.mjs +++ b/ext/node/polyfills/internal/validators.mjs @@ -9,12 +9,15 @@ import { hideStackFrames } from "ext:deno_node/internal/hide_stack_frames.ts"; import { isArrayBufferView } from "ext:deno_node/internal/util/types.ts"; import { normalizeEncoding } from "ext:deno_node/internal/normalize_encoding.mjs"; +<<<<<<< HEAD const primordials = globalThis.__bootstrap.primordials; const { ArrayPrototypeIncludes, ArrayPrototypeJoin, } = primordials; +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) /** * @param {number} value * @returns {boolean} @@ -288,6 +291,7 @@ const validateArray = hideStackFrames( }, ); +<<<<<<< HEAD function validateUnion(value, name, union) { if (!ArrayPrototypeIncludes(union, value)) { throw new ERR_INVALID_ARG_TYPE( @@ -298,6 +302,8 @@ function validateUnion(value, name, union) { } } +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) export default { isInt32, isUint32, @@ -315,7 +321,10 @@ export default { validatePort, validateString, validateUint32, +<<<<<<< HEAD validateUnion, +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) }; export { isInt32, @@ -334,5 +343,8 @@ export { validatePort, validateString, validateUint32, +<<<<<<< HEAD validateUnion, +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) }; diff --git a/ext/node/polyfills/internal_binding/util.ts b/ext/node/polyfills/internal_binding/util.ts index 59f1246fc4..82a22d4a31 100644 --- a/ext/node/polyfills/internal_binding/util.ts +++ b/ext/node/polyfills/internal_binding/util.ts @@ -129,5 +129,8 @@ export function getOwnNonIndexProperties( } return result; } +<<<<<<< HEAD export { previewEntries } from "ext:deno_console/01_console.js"; +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) diff --git a/ext/node/polyfills/os.ts b/ext/node/polyfills/os.ts index d1f5e7bfae..e77bb873ab 100644 --- a/ext/node/polyfills/os.ts +++ b/ext/node/polyfills/os.ts @@ -159,6 +159,7 @@ export function endianness(): "BE" | "LE" { /** Return free memory amount */ export function freemem(): number { +<<<<<<< HEAD if (Deno.build.os === "linux") { // On linux, use 'available' memory // https://github.com/libuv/libuv/blob/a5c01d4de3695e9d9da34cfd643b5ff0ba582ea7/src/unix/linux.c#L2064 @@ -167,6 +168,9 @@ export function freemem(): number { // Use 'free' memory on other platforms return Deno.systemMemoryInfo().free; } +======= + return Deno.systemMemoryInfo().free; +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) } /** Not yet implemented */ diff --git a/ext/node/polyfills/util.ts b/ext/node/polyfills/util.ts index 68c9626c9c..be7e704c5f 100644 --- a/ext/node/polyfills/util.ts +++ b/ext/node/polyfills/util.ts @@ -15,7 +15,10 @@ import { Buffer } from "node:buffer"; import { isDeepStrictEqual } from "ext:deno_node/internal/util/comparisons.ts"; import process from "node:process"; import { validateString } from "ext:deno_node/internal/validators.mjs"; +<<<<<<< HEAD import { parseArgs } from "ext:deno_node/internal/util/parse_args/parse_args.js"; +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) const primordials = globalThis.__bootstrap.primordials; const { ArrayIsArray, @@ -49,7 +52,10 @@ export { format, formatWithOptions, inspect, +<<<<<<< HEAD parseArgs, +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) promisify, stripVTControlCharacters, types, @@ -314,7 +320,10 @@ export default { getSystemErrorName, deprecate, callbackify, +<<<<<<< HEAD parseArgs, +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) promisify, inherits, types, diff --git a/ext/tls/Cargo.toml b/ext/tls/Cargo.toml index 96fba5e3a3..ac0926bf35 100644 --- a/ext/tls/Cargo.toml +++ b/ext/tls/Cargo.toml @@ -2,7 +2,11 @@ [package] name = "deno_tls" +<<<<<<< HEAD version = "0.112.0" +======= +version = "0.113.0" +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) authors.workspace = true edition.workspace = true license.workspace = true diff --git a/ext/url/Cargo.toml b/ext/url/Cargo.toml index 44c995fd36..187b93eabc 100644 --- a/ext/url/Cargo.toml +++ b/ext/url/Cargo.toml @@ -2,7 +2,11 @@ [package] name = "deno_url" +<<<<<<< HEAD version = "0.125.0" +======= +version = "0.126.0" +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) authors.workspace = true edition.workspace = true license.workspace = true diff --git a/ext/web/06_streams.js b/ext/web/06_streams.js index 4f472984d6..e0cec8579c 100644 --- a/ext/web/06_streams.js +++ b/ext/web/06_streams.js @@ -79,7 +79,10 @@ const { TypedArrayPrototypeGetBuffer, TypedArrayPrototypeGetByteLength, TypedArrayPrototypeGetByteOffset, +<<<<<<< HEAD TypedArrayPrototypeGetLength, +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) TypedArrayPrototypeGetSymbolToStringTag, TypedArrayPrototypeSet, TypedArrayPrototypeSlice, @@ -1304,9 +1307,13 @@ function readableByteStreamControllerClose(controller) { } if (controller[_pendingPullIntos].length !== 0) { const firstPendingPullInto = controller[_pendingPullIntos][0]; +<<<<<<< HEAD if ( firstPendingPullInto.bytesFilled % firstPendingPullInto.elementSize !== 0 ) { +======= + if (firstPendingPullInto.bytesFilled > 0) { +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) const e = new TypeError( "Insufficient bytes to fill elements in the given buffer", ); @@ -1850,11 +1857,18 @@ function readableStreamDefaultcontrollerShouldCallPull(controller) { /** * @param {ReadableStreamBYOBReader} reader * @param {ArrayBufferView} view +<<<<<<< HEAD * @param {number} min * @param {ReadIntoRequest} readIntoRequest * @returns {void} */ function readableStreamBYOBReaderRead(reader, view, min, readIntoRequest) { +======= + * @param {ReadIntoRequest} readIntoRequest + * @returns {void} + */ +function readableStreamBYOBReaderRead(reader, view, readIntoRequest) { +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) const stream = reader[_stream]; assert(stream); stream[_disturbed] = true; @@ -1864,7 +1878,10 @@ function readableStreamBYOBReaderRead(reader, view, min, readIntoRequest) { readableByteStreamControllerPullInto( stream[_controller], view, +<<<<<<< HEAD min, +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) readIntoRequest, ); } @@ -1940,14 +1957,20 @@ function readableByteStreamControllerProcessReadRequestsUsingQueue( /** * @param {ReadableByteStreamController} controller * @param {ArrayBufferView} view +<<<<<<< HEAD * @param {number} min +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) * @param {ReadIntoRequest} readIntoRequest * @returns {void} */ function readableByteStreamControllerPullInto( controller, view, +<<<<<<< HEAD min, +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) readIntoRequest, ) { const stream = controller[_stream]; @@ -2017,10 +2040,13 @@ function readableByteStreamControllerPullInto( ); } +<<<<<<< HEAD const minimumFill = min * elementSize; assert(minimumFill >= 0 && minimumFill <= byteLength); assert(minimumFill % elementSize === 0); +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) try { buffer = transferArrayBuffer(buffer); } catch (e) { @@ -2035,7 +2061,10 @@ function readableByteStreamControllerPullInto( byteOffset, byteLength, bytesFilled: 0, +<<<<<<< HEAD minimumFill, +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) elementSize, viewConstructor: ctor, readerType: "byob", @@ -2151,7 +2180,11 @@ function readableByteStreamControllerRespondInReadableState( ); return; } +<<<<<<< HEAD if (pullIntoDescriptor.bytesFilled < pullIntoDescriptor.minimumFill) { +======= + if (pullIntoDescriptor.bytesFilled < pullIntoDescriptor.elementSize) { +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) return; } readableByteStreamControllerShiftPendingPullInto(controller); @@ -2231,7 +2264,11 @@ function readableByteStreamControllerRespondInClosedState( controller, firstDescriptor, ) { +<<<<<<< HEAD assert(firstDescriptor.bytesFilled % firstDescriptor.elementSize === 0); +======= + assert(firstDescriptor.bytesFilled === 0); +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) if (firstDescriptor.readerType === "none") { readableByteStreamControllerShiftPendingPullInto(controller); } @@ -2261,9 +2298,13 @@ function readableByteStreamControllerCommitPullIntoDescriptor( assert(pullIntoDescriptor.readerType !== "none"); let done = false; if (stream[_state] === "closed") { +<<<<<<< HEAD assert( pullIntoDescriptor.bytesFilled % pullIntoDescriptor.elementSize === 0, ); +======= + assert(pullIntoDescriptor.bytesFilled === 0); +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) done = true; } const filledView = readableByteStreamControllerConvertPullIntoDescriptor( @@ -2354,18 +2395,31 @@ function readableByteStreamControllerFillPullIntoDescriptorFromQueue( controller, pullIntoDescriptor, ) { +<<<<<<< HEAD +======= + const elementSize = pullIntoDescriptor.elementSize; + const currentAlignedBytes = pullIntoDescriptor.bytesFilled - + (pullIntoDescriptor.bytesFilled % elementSize); +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) const maxBytesToCopy = MathMin( controller[_queueTotalSize], // deno-lint-ignore prefer-primordials pullIntoDescriptor.byteLength - pullIntoDescriptor.bytesFilled, ); const maxBytesFilled = pullIntoDescriptor.bytesFilled + maxBytesToCopy; +<<<<<<< HEAD let totalBytesToCopyRemaining = maxBytesToCopy; let ready = false; assert(pullIntoDescriptor.bytesFilled < pullIntoDescriptor.minimumFill); const maxAlignedBytes = maxBytesFilled - (maxBytesFilled % pullIntoDescriptor.elementSize); if (maxAlignedBytes >= pullIntoDescriptor.minimumFill) { +======= + const maxAlignedBytes = maxBytesFilled - (maxBytesFilled % elementSize); + let totalBytesToCopyRemaining = maxBytesToCopy; + let ready = false; + if (maxAlignedBytes > currentAlignedBytes) { +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) totalBytesToCopyRemaining = maxAlignedBytes - pullIntoDescriptor.bytesFilled; ready = true; @@ -2415,7 +2469,11 @@ function readableByteStreamControllerFillPullIntoDescriptorFromQueue( if (!ready) { assert(controller[_queueTotalSize] === 0); assert(pullIntoDescriptor.bytesFilled > 0); +<<<<<<< HEAD assert(pullIntoDescriptor.bytesFilled < pullIntoDescriptor.minimumFill); +======= + assert(pullIntoDescriptor.bytesFilled < pullIntoDescriptor.elementSize); +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) } return ready; } @@ -3388,7 +3446,11 @@ function readableByteStreamTee(stream) { reading = false; }, }; +<<<<<<< HEAD readableStreamBYOBReaderRead(reader, view, 1, readIntoRequest); +======= + readableStreamBYOBReaderRead(reader, view, readIntoRequest); +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) } function pull1Algorithm() { @@ -5556,19 +5618,28 @@ class ReadableStreamBYOBReader { /** * @param {ArrayBufferView} view +<<<<<<< HEAD * @param {ReadableStreamBYOBReaderReadOptions} options * @returns {Promise} */ read(view, options = {}) { +======= + * @returns {Promise} + */ + read(view) { +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) try { webidl.assertBranded(this, ReadableStreamBYOBReaderPrototype); const prefix = "Failed to execute 'read' on 'ReadableStreamBYOBReader'"; view = webidl.converters.ArrayBufferView(view, prefix, "Argument 1"); +<<<<<<< HEAD options = webidl.converters.ReadableStreamBYOBReaderReadOptions( options, prefix, "Argument 2", ); +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) } catch (err) { return PromiseReject(err); } @@ -5603,6 +5674,7 @@ class ReadableStreamBYOBReader { ); } +<<<<<<< HEAD if (options.min === 0) { return PromiseReject(new TypeError("options.min must be non-zero")); } @@ -5620,6 +5692,8 @@ class ReadableStreamBYOBReader { } } +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) if (this[_stream] === undefined) { return PromiseReject( new TypeError("Reader has no associated stream."), @@ -5639,7 +5713,11 @@ class ReadableStreamBYOBReader { promise.reject(e); }, }; +<<<<<<< HEAD readableStreamBYOBReaderRead(this, view, options.min, readIntoRequest); +======= + readableStreamBYOBReaderRead(this, view, readIntoRequest); +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) return promise.promise; } @@ -5965,7 +6043,10 @@ class ReadableByteStreamController { byteLength: autoAllocateChunkSize, bytesFilled: 0, elementSize: 1, +<<<<<<< HEAD minimumFill: 1, +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) viewConstructor: Uint8Array, readerType: "default", }; @@ -6836,6 +6917,7 @@ webidl.converters.ReadableStreamGetReaderOptions = webidl converter: webidl.converters.ReadableStreamReaderMode, }]); +<<<<<<< HEAD webidl.converters.ReadableStreamBYOBReaderReadOptions = webidl .createDictionaryConverter("ReadableStreamBYOBReaderReadOptions", [{ key: "min", @@ -6847,6 +6929,8 @@ webidl.converters.ReadableStreamBYOBReaderReadOptions = webidl defaultValue: 1, }]); +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) webidl.converters.ReadableWritablePair = webidl .createDictionaryConverter("ReadableWritablePair", [ { diff --git a/ext/web/06_streams_types.d.ts b/ext/web/06_streams_types.d.ts index 27a372a234..1e72e0f58b 100644 --- a/ext/web/06_streams_types.d.ts +++ b/ext/web/06_streams_types.d.ts @@ -30,7 +30,10 @@ interface PullIntoDescriptor { byteOffset: number; byteLength: number; bytesFilled: number; +<<<<<<< HEAD minimumFill: number; +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) elementSize: number; // deno-lint-ignore no-explicit-any viewConstructor: any; diff --git a/ext/web/Cargo.toml b/ext/web/Cargo.toml index e2e58f0284..70bf5675af 100644 --- a/ext/web/Cargo.toml +++ b/ext/web/Cargo.toml @@ -2,7 +2,11 @@ [package] name = "deno_web" +<<<<<<< HEAD version = "0.156.0" +======= +version = "0.157.0" +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) authors.workspace = true edition.workspace = true license.workspace = true diff --git a/ext/web/lib.deno_web.d.ts b/ext/web/lib.deno_web.d.ts index 9b9a55c238..e536461a59 100644 --- a/ext/web/lib.deno_web.d.ts +++ b/ext/web/lib.deno_web.d.ts @@ -624,17 +624,23 @@ declare type ReadableStreamBYOBReadResult = | ReadableStreamBYOBReadValueResult; /** @category Streams API */ +<<<<<<< HEAD declare interface ReadableStreamBYOBReaderReadOptions { min?: number; } /** @category Streams API */ +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) declare interface ReadableStreamBYOBReader { readonly closed: Promise; cancel(reason?: any): Promise; read( view: V, +<<<<<<< HEAD options?: ReadableStreamBYOBReaderReadOptions, +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) ): Promise>; releaseLock(): void; } diff --git a/ext/webidl/Cargo.toml b/ext/webidl/Cargo.toml index 241f80c3dd..5711bb1478 100644 --- a/ext/webidl/Cargo.toml +++ b/ext/webidl/Cargo.toml @@ -2,7 +2,11 @@ [package] name = "deno_webidl" +<<<<<<< HEAD version = "0.125.0" +======= +version = "0.126.0" +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) authors.workspace = true edition.workspace = true license.workspace = true diff --git a/ext/websocket/Cargo.toml b/ext/websocket/Cargo.toml index ca2e0f5605..7b11d2f176 100644 --- a/ext/websocket/Cargo.toml +++ b/ext/websocket/Cargo.toml @@ -2,7 +2,11 @@ [package] name = "deno_websocket" +<<<<<<< HEAD version = "0.130.0" +======= +version = "0.131.0" +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) authors.workspace = true edition.workspace = true license.workspace = true diff --git a/ext/websocket/autobahn/fuzzingclient.js b/ext/websocket/autobahn/fuzzingclient.js index ee200e452b..28a04fdeaf 100644 --- a/ext/websocket/autobahn/fuzzingclient.js +++ b/ext/websocket/autobahn/fuzzingclient.js @@ -11,6 +11,7 @@ const AUTOBAHN_TESTSUITE_DOCKER = const self = Deno.execPath(); $`${self} run -A --unstable ${pwd}/autobahn_server.js`.spawn(); +<<<<<<< HEAD for (let i = 0; i < 6; i++) { try { @@ -30,6 +31,9 @@ await $`docker run --net=host --rm ${AUTOBAHN_TESTSUITE_DOCKER} wstest -m fuzzingclient -s fuzzingclient.json` +======= +await $`docker run --name fuzzingserver -v ${pwd}/fuzzingclient.json:/fuzzingclient.json:ro -v ${pwd}/reports:/reports -p 9001:9001 --net=host --rm ${AUTOBAHN_TESTSUITE_DOCKER} wstest -m fuzzingclient -s fuzzingclient.json` +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) .cwd(pwd); const { deno_websocket } = JSON.parse( diff --git a/ext/webstorage/Cargo.toml b/ext/webstorage/Cargo.toml index 51ffaebd2c..b156a92e63 100644 --- a/ext/webstorage/Cargo.toml +++ b/ext/webstorage/Cargo.toml @@ -2,7 +2,11 @@ [package] name = "deno_webstorage" +<<<<<<< HEAD version = "0.120.0" +======= +version = "0.121.0" +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) authors.workspace = true edition.workspace = true license.workspace = true diff --git a/runtime/Cargo.toml b/runtime/Cargo.toml index 924481b309..bd86dddb01 100644 --- a/runtime/Cargo.toml +++ b/runtime/Cargo.toml @@ -2,7 +2,11 @@ [package] name = "deno_runtime" +<<<<<<< HEAD version = "0.133.0" +======= +version = "0.134.0" +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) authors.workspace = true edition.workspace = true license.workspace = true diff --git a/runtime/errors.rs b/runtime/errors.rs index 2061a5e0b9..fe9a449c84 100644 --- a/runtime/errors.rs +++ b/runtime/errors.rs @@ -212,7 +212,11 @@ pub fn get_error_class_name(e: &AnyError) -> Option<&'static str> { .map(get_url_parse_error_class) }) .or_else(|| { +<<<<<<< HEAD e.downcast_ref::() +======= + e.downcast_ref::() +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) .map(|_| "TypeError") }) .or_else(|| { diff --git a/runtime/js/90_deno_ns.js b/runtime/js/90_deno_ns.js index bd664d2ea6..bd587d8e57 100644 --- a/runtime/js/90_deno_ns.js +++ b/runtime/js/90_deno_ns.js @@ -208,8 +208,11 @@ const denoNsUnstableById = { 8: { cron: cron.cron, }, +<<<<<<< HEAD // Unsafe proto // 9: {}, +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) }; // when editing this list, also update unstableDenoProps in cli/tsc/99_main_compiler.js diff --git a/runtime/js/99_main.js b/runtime/js/99_main.js index 67667427f9..a61594d63d 100644 --- a/runtime/js/99_main.js +++ b/runtime/js/99_main.js @@ -1,5 +1,12 @@ // Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. +<<<<<<< HEAD +======= +// Removes the `__proto__` for security reasons. +// https://tc39.es/ecma262/#sec-get-object.prototype.__proto__ +delete Object.prototype.__proto__; + +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) // Remove Intl.v8BreakIterator because it is a non-standard API. delete Intl.v8BreakIterator; @@ -10,7 +17,10 @@ const primordials = globalThis.__bootstrap.primordials; const { ArrayPrototypeFilter, ArrayPrototypeIndexOf, +<<<<<<< HEAD ArrayPrototypeIncludes, +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) ArrayPrototypeMap, ArrayPrototypePush, ArrayPrototypeShift, @@ -445,11 +455,14 @@ const finalDenoNs = { resources: core.resources, close: core.close, ...denoNs, +<<<<<<< HEAD // Deno.test and Deno.bench are noops here, but kept for compatibility; so // that they don't cause errors when used outside of `deno test`/`deno bench` // contexts. test: () => {}, bench: () => {}, +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) }; const { @@ -567,12 +580,15 @@ function bootstrapMainRuntime(runtimeOptions) { } } +<<<<<<< HEAD if (!ArrayPrototypeIncludes(unstableFeatures, /* unsafe-proto */ 9)) { // Removes the `__proto__` for security reasons. // https://tc39.es/ecma262/#sec-get-object.prototype.__proto__ delete Object.prototype.__proto__; } +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) // Setup `Deno` global - we're actually overriding already existing global // `Deno` with `Deno` namespace from "./deno.ts". ObjectDefineProperty(globalThis, "Deno", util.readOnly(finalDenoNs)); @@ -671,6 +687,7 @@ function bootstrapWorkerRuntime( ObjectAssign(finalDenoNs, denoNsUnstableById[id]); } } +<<<<<<< HEAD if (!ArrayPrototypeIncludes(unstableFeatures, /* unsafe-proto */ 9)) { // Removes the `__proto__` for security reasons. @@ -678,6 +695,8 @@ function bootstrapWorkerRuntime( delete Object.prototype.__proto__; } +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) ObjectDefineProperties(finalDenoNs, { pid: util.getterOnly(opPid), noColor: util.getterOnly(() => ops.op_bootstrap_no_color()), diff --git a/runtime/ops/os/README.md b/runtime/ops/os/README.md index ae1a5958e4..fed1f17885 100644 --- a/runtime/ops/os/README.md +++ b/runtime/ops/os/README.md @@ -27,6 +27,10 @@ | Target family | Syscall | Description | | ------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | ----------- | +<<<<<<< HEAD | Linux | sysinfo and `/proc/meminfo` | - | +======= +| Linux | sysinfo | - | +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) | Windows | `sysinfoapi::GlobalMemoryStatusEx` | - | | macOS |

 sysctl([CTL_HW, HW_MEMSIZE]); 
sysctl([CTL_VM, VM_SWAPUSAGE]);
host_statistics64(mach_host_self(), HOST_VM_INFO64)
| - | diff --git a/runtime/ops/os/sys_info.rs b/runtime/ops/os/sys_info.rs index b3d2cd743c..7dc32dc17b 100644 --- a/runtime/ops/os/sys_info.rs +++ b/runtime/ops/os/sys_info.rs @@ -211,6 +211,7 @@ pub fn mem_info() -> Option { mem_info.swap_free = info.freeswap * mem_unit; mem_info.total = info.totalram * mem_unit; mem_info.free = info.freeram * mem_unit; +<<<<<<< HEAD mem_info.available = mem_info.free; mem_info.buffers = info.bufferram * mem_unit; } @@ -225,6 +226,10 @@ pub fn mem_info() -> Option { mem_info.available = mem.unwrap_or(0); } } +======= + mem_info.buffers = info.bufferram * mem_unit; + } +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) } #[cfg(target_vendor = "apple")] { diff --git a/runtime/web_worker.rs b/runtime/web_worker.rs index 9e8fc8097a..96c1e87a62 100644 --- a/runtime/web_worker.rs +++ b/runtime/web_worker.rs @@ -33,7 +33,10 @@ use deno_core::ModuleId; use deno_core::ModuleLoader; use deno_core::ModuleSpecifier; use deno_core::OpMetricsSummaryTracker; +<<<<<<< HEAD use deno_core::PollEventLoopOptions; +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) use deno_core::RuntimeOptions; use deno_core::SharedArrayBufferStore; use deno_core::Snapshot; @@ -693,13 +696,22 @@ impl WebWorker { maybe_result = &mut receiver => { debug!("received module evaluate {:#?}", maybe_result); +<<<<<<< HEAD maybe_result +======= + maybe_result.expect("Module evaluation result not provided.") +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) } event_loop_result = self.js_runtime.run_event_loop(false) => { event_loop_result?; +<<<<<<< HEAD receiver.await +======= + let maybe_result = receiver.await; + maybe_result.expect("Module evaluation result not provided.") +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) } } } @@ -712,26 +724,44 @@ impl WebWorker { id: ModuleId, ) -> Result<(), AnyError> { let mut receiver = self.js_runtime.mod_evaluate(id); +<<<<<<< HEAD let poll_options = PollEventLoopOptions { wait_for_inspector: false, ..Default::default() }; +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) tokio::select! { biased; maybe_result = &mut receiver => { debug!("received worker module evaluate {:#?}", maybe_result); +<<<<<<< HEAD maybe_result } event_loop_result = self.run_event_loop(poll_options) => { +======= + // If `None` is returned it means that runtime was destroyed before + // evaluation was complete. This can happen in Web Worker when `self.close()` + // is called at top level. + maybe_result.unwrap_or(Ok(())) + } + + event_loop_result = self.run_event_loop(false) => { +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) if self.internal_handle.is_terminated() { return Ok(()); } event_loop_result?; +<<<<<<< HEAD receiver.await +======= + let maybe_result = receiver.await; + maybe_result.unwrap_or(Ok(())) +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) } } } @@ -739,7 +769,11 @@ impl WebWorker { fn poll_event_loop( &mut self, cx: &mut Context, +<<<<<<< HEAD poll_options: PollEventLoopOptions, +======= + wait_for_inspector: bool, +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) ) -> Poll> { // If awakened because we are terminating, just return Ok if self.internal_handle.terminate_if_needed() { @@ -748,7 +782,11 @@ impl WebWorker { self.internal_handle.terminate_waker.register(cx.waker()); +<<<<<<< HEAD match self.js_runtime.poll_event_loop2(cx, poll_options) { +======= + match self.js_runtime.poll_event_loop(cx, wait_for_inspector) { +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) Poll::Ready(r) => { // If js ended because we are terminating, just return Ok if self.internal_handle.terminate_if_needed() { @@ -776,9 +814,15 @@ impl WebWorker { pub async fn run_event_loop( &mut self, +<<<<<<< HEAD poll_options: PollEventLoopOptions, ) -> Result<(), AnyError> { poll_fn(|cx| self.poll_event_loop(cx, poll_options)).await +======= + wait_for_inspector: bool, + ) -> Result<(), AnyError> { + poll_fn(|cx| self.poll_event_loop(cx, wait_for_inspector)).await +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) } // Starts polling for messages from worker host from JavaScript. @@ -854,12 +898,16 @@ pub fn run_web_worker( } let result = if result.is_ok() { +<<<<<<< HEAD worker .run_event_loop(PollEventLoopOptions { wait_for_inspector: true, ..Default::default() }) .await +======= + worker.run_event_loop(true).await +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) } else { result }; diff --git a/runtime/worker.rs b/runtime/worker.rs index 542a1a64bf..5959591dba 100644 --- a/runtime/worker.rs +++ b/runtime/worker.rs @@ -548,13 +548,22 @@ impl MainWorker { maybe_result = &mut receiver => { debug!("received module evaluate {:#?}", maybe_result); +<<<<<<< HEAD maybe_result +======= + maybe_result.expect("Module evaluation result not provided.") +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) } event_loop_result = self.run_event_loop(false) => { event_loop_result?; +<<<<<<< HEAD receiver.await +======= + let maybe_result = receiver.await; + maybe_result.expect("Module evaluation result not provided.") +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) } } } @@ -603,6 +612,7 @@ impl MainWorker { cx: &mut Context, wait_for_inspector: bool, ) -> Poll> { +<<<<<<< HEAD self.js_runtime.poll_event_loop2( cx, deno_core::PollEventLoopOptions { @@ -610,12 +620,16 @@ impl MainWorker { ..Default::default() }, ) +======= + self.js_runtime.poll_event_loop(cx, wait_for_inspector) +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) } pub async fn run_event_loop( &mut self, wait_for_inspector: bool, ) -> Result<(), AnyError> { +<<<<<<< HEAD self .js_runtime .run_event_loop2(deno_core::PollEventLoopOptions { @@ -623,6 +637,9 @@ impl MainWorker { ..Default::default() }) .await +======= + self.js_runtime.run_event_loop(wait_for_inspector).await +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) } /// Return exit code set by the executed code (either in main worker diff --git a/test_util/src/lib.rs b/test_util/src/lib.rs index 8e57426368..65df8e40fd 100644 --- a/test_util/src/lib.rs +++ b/test_util/src/lib.rs @@ -1274,7 +1274,11 @@ async fn main_server( ) } (&hyper::Method::GET, "/upgrade/sleep/release-latest.txt") => { +<<<<<<< HEAD tokio::time::sleep(Duration::from_secs(95)).await; +======= + tokio::time::sleep(Duration::from_secs(45)).await; +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) return Ok( Response::builder() .status(StatusCode::OK) @@ -1283,7 +1287,11 @@ async fn main_server( ); } (&hyper::Method::GET, "/upgrade/sleep/canary-latest.txt") => { +<<<<<<< HEAD tokio::time::sleep(Duration::from_secs(95)).await; +======= + tokio::time::sleep(Duration::from_secs(45)).await; +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) return Ok( Response::builder() .status(StatusCode::OK) diff --git a/tools/format.js b/tools/format.js index 98da6662b2..a64dd5149a 100755 --- a/tools/format.js +++ b/tools/format.js @@ -14,6 +14,7 @@ const cmd = new Deno.Command("deno", { "--config=" + configFile, ], cwd: ROOT_PATH, +<<<<<<< HEAD stdout: "piped", stderr: "inherit", }); @@ -28,3 +29,11 @@ if (stdoutText.length > 0) { } else { Deno.exit(code); } +======= + stdout: "inherit", + stderr: "inherit", +}); + +const { code } = await cmd.output(); +Deno.exit(code); +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) diff --git a/tools/node_compat/TODO.md b/tools/node_compat/TODO.md index d22e8811db..6869151b55 100644 --- a/tools/node_compat/TODO.md +++ b/tools/node_compat/TODO.md @@ -3,7 +3,11 @@ NOTE: This file should not be manually edited. Please edit `cli/tests/node_compat/config.json` and run `deno task setup` in `tools/node_compat` dir instead. +<<<<<<< HEAD Total: 2999 +======= +Total: 2923 +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) - [abort/test-abort-backtrace.js](https://github.com/nodejs/node/tree/v18.12.1/test/abort/test-abort-backtrace.js) - [abort/test-abort-fatal-error.js](https://github.com/nodejs/node/tree/v18.12.1/test/abort/test-abort-fatal-error.js) @@ -17,7 +21,10 @@ Total: 2999 - [abort/test-zlib-invalid-internals-usage.js](https://github.com/nodejs/node/tree/v18.12.1/test/abort/test-zlib-invalid-internals-usage.js) - [benchmark/test-benchmark-assert.js](https://github.com/nodejs/node/tree/v18.12.1/test/benchmark/test-benchmark-assert.js) - [benchmark/test-benchmark-async-hooks.js](https://github.com/nodejs/node/tree/v18.12.1/test/benchmark/test-benchmark-async-hooks.js) +<<<<<<< HEAD - [benchmark/test-benchmark-blob.js](https://github.com/nodejs/node/tree/v18.12.1/test/benchmark/test-benchmark-blob.js) +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) - [benchmark/test-benchmark-buffer.js](https://github.com/nodejs/node/tree/v18.12.1/test/benchmark/test-benchmark-buffer.js) - [benchmark/test-benchmark-child-process.js](https://github.com/nodejs/node/tree/v18.12.1/test/benchmark/test-benchmark-child-process.js) - [benchmark/test-benchmark-cluster.js](https://github.com/nodejs/node/tree/v18.12.1/test/benchmark/test-benchmark-cluster.js) @@ -48,11 +55,17 @@ Total: 2999 - [benchmark/test-benchmark-util.js](https://github.com/nodejs/node/tree/v18.12.1/test/benchmark/test-benchmark-util.js) - [benchmark/test-benchmark-v8.js](https://github.com/nodejs/node/tree/v18.12.1/test/benchmark/test-benchmark-v8.js) - [benchmark/test-benchmark-vm.js](https://github.com/nodejs/node/tree/v18.12.1/test/benchmark/test-benchmark-vm.js) +<<<<<<< HEAD - [benchmark/test-benchmark-webstreams.js](https://github.com/nodejs/node/tree/v18.12.1/test/benchmark/test-benchmark-webstreams.js) - [benchmark/test-benchmark-worker.js](https://github.com/nodejs/node/tree/v18.12.1/test/benchmark/test-benchmark-worker.js) - [benchmark/test-benchmark-zlib.js](https://github.com/nodejs/node/tree/v18.12.1/test/benchmark/test-benchmark-zlib.js) - [es-module/test-cjs-esm-warn.js](https://github.com/nodejs/node/tree/v18.12.1/test/es-module/test-cjs-esm-warn.js) - [es-module/test-cjs-prototype-pollution.js](https://github.com/nodejs/node/tree/v18.12.1/test/es-module/test-cjs-prototype-pollution.js) +======= +- [benchmark/test-benchmark-worker.js](https://github.com/nodejs/node/tree/v18.12.1/test/benchmark/test-benchmark-worker.js) +- [benchmark/test-benchmark-zlib.js](https://github.com/nodejs/node/tree/v18.12.1/test/benchmark/test-benchmark-zlib.js) +- [es-module/test-cjs-esm-warn.js](https://github.com/nodejs/node/tree/v18.12.1/test/es-module/test-cjs-esm-warn.js) +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) - [es-module/test-esm-assertionless-json-import.js](https://github.com/nodejs/node/tree/v18.12.1/test/es-module/test-esm-assertionless-json-import.js) - [es-module/test-esm-cjs-builtins.js](https://github.com/nodejs/node/tree/v18.12.1/test/es-module/test-esm-cjs-builtins.js) - [es-module/test-esm-cjs-exports.js](https://github.com/nodejs/node/tree/v18.12.1/test/es-module/test-esm-cjs-exports.js) @@ -80,7 +93,10 @@ Total: 2999 - [es-module/test-esm-undefined-cjs-global-like-variables.js](https://github.com/nodejs/node/tree/v18.12.1/test/es-module/test-esm-undefined-cjs-global-like-variables.js) - [es-module/test-esm-unknown-or-no-extension.js](https://github.com/nodejs/node/tree/v18.12.1/test/es-module/test-esm-unknown-or-no-extension.js) - [es-module/test-esm-windows.js](https://github.com/nodejs/node/tree/v18.12.1/test/es-module/test-esm-windows.js) +<<<<<<< HEAD - [es-module/test-loaders-hidden-from-users.js](https://github.com/nodejs/node/tree/v18.12.1/test/es-module/test-loaders-hidden-from-users.js) +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) - [internet/test-corepack-yarn-install.js](https://github.com/nodejs/node/tree/v18.12.1/test/internet/test-corepack-yarn-install.js) - [internet/test-dgram-broadcast-multi-process.js](https://github.com/nodejs/node/tree/v18.12.1/test/internet/test-dgram-broadcast-multi-process.js) - [internet/test-dgram-connect.js](https://github.com/nodejs/node/tree/v18.12.1/test/internet/test-dgram-connect.js) @@ -90,11 +106,17 @@ Total: 2999 - [internet/test-dgram-multicast-ssm-multi-process.js](https://github.com/nodejs/node/tree/v18.12.1/test/internet/test-dgram-multicast-ssm-multi-process.js) - [internet/test-dgram-multicast-ssmv6-multi-process.js](https://github.com/nodejs/node/tree/v18.12.1/test/internet/test-dgram-multicast-ssmv6-multi-process.js) - [internet/test-dns-cares-domains.js](https://github.com/nodejs/node/tree/v18.12.1/test/internet/test-dns-cares-domains.js) +<<<<<<< HEAD - [internet/test-dns-getDefaultResultOrder.js](https://github.com/nodejs/node/tree/v18.12.1/test/internet/test-dns-getDefaultResultOrder.js) - [internet/test-dns-txt-sigsegv.js](https://github.com/nodejs/node/tree/v18.12.1/test/internet/test-dns-txt-sigsegv.js) - [internet/test-http-dns-fail.js](https://github.com/nodejs/node/tree/v18.12.1/test/internet/test-http-dns-fail.js) - [internet/test-http2-issue-32922.js](https://github.com/nodejs/node/tree/v18.12.1/test/internet/test-http2-issue-32922.js) - [internet/test-https-autoselectfamily-slow-timeout.js](https://github.com/nodejs/node/tree/v18.12.1/test/internet/test-https-autoselectfamily-slow-timeout.js) +======= +- [internet/test-dns-txt-sigsegv.js](https://github.com/nodejs/node/tree/v18.12.1/test/internet/test-dns-txt-sigsegv.js) +- [internet/test-http-dns-fail.js](https://github.com/nodejs/node/tree/v18.12.1/test/internet/test-http-dns-fail.js) +- [internet/test-http2-issue-32922.js](https://github.com/nodejs/node/tree/v18.12.1/test/internet/test-http2-issue-32922.js) +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) - [internet/test-https-issue-43963.js](https://github.com/nodejs/node/tree/v18.12.1/test/internet/test-https-issue-43963.js) - [internet/test-inspector-help-page.js](https://github.com/nodejs/node/tree/v18.12.1/test/internet/test-inspector-help-page.js) - [internet/test-net-connect-timeout.js](https://github.com/nodejs/node/tree/v18.12.1/test/internet/test-net-connect-timeout.js) @@ -102,17 +124,25 @@ Total: 2999 - [internet/test-snapshot-dns-lookup.js](https://github.com/nodejs/node/tree/v18.12.1/test/internet/test-snapshot-dns-lookup.js) - [internet/test-snapshot-dns-resolve.js](https://github.com/nodejs/node/tree/v18.12.1/test/internet/test-snapshot-dns-resolve.js) - [internet/test-tls-add-ca-cert.js](https://github.com/nodejs/node/tree/v18.12.1/test/internet/test-tls-add-ca-cert.js) +<<<<<<< HEAD - [internet/test-tls-autoselectfamily-servername.js](https://github.com/nodejs/node/tree/v18.12.1/test/internet/test-tls-autoselectfamily-servername.js) +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) - [internet/test-trace-events-dns.js](https://github.com/nodejs/node/tree/v18.12.1/test/internet/test-trace-events-dns.js) - [internet/test-uv-threadpool-schedule.js](https://github.com/nodejs/node/tree/v18.12.1/test/internet/test-uv-threadpool-schedule.js) - [known_issues/test-cwd-enoent-file.js](https://github.com/nodejs/node/tree/v18.12.1/test/known_issues/test-cwd-enoent-file.js) - [known_issues/test-dgram-bind-shared-ports-after-port-0.js](https://github.com/nodejs/node/tree/v18.12.1/test/known_issues/test-dgram-bind-shared-ports-after-port-0.js) - [known_issues/test-fs-writeFileSync-invalid-windows.js](https://github.com/nodejs/node/tree/v18.12.1/test/known_issues/test-fs-writeFileSync-invalid-windows.js) - [known_issues/test-http-path-contains-unicode.js](https://github.com/nodejs/node/tree/v18.12.1/test/known_issues/test-http-path-contains-unicode.js) +<<<<<<< HEAD - [known_issues/test-http2-trailers-after-session-close.js](https://github.com/nodejs/node/tree/v18.12.1/test/known_issues/test-http2-trailers-after-session-close.js) - [known_issues/test-inspector-cluster-port-clash.js](https://github.com/nodejs/node/tree/v18.12.1/test/known_issues/test-inspector-cluster-port-clash.js) - [known_issues/test-repl-require-context.js](https://github.com/nodejs/node/tree/v18.12.1/test/known_issues/test-repl-require-context.js) - [known_issues/test-shadow-realm-gc.js](https://github.com/nodejs/node/tree/v18.12.1/test/known_issues/test-shadow-realm-gc.js) +======= +- [known_issues/test-inspector-cluster-port-clash.js](https://github.com/nodejs/node/tree/v18.12.1/test/known_issues/test-inspector-cluster-port-clash.js) +- [known_issues/test-repl-require-context.js](https://github.com/nodejs/node/tree/v18.12.1/test/known_issues/test-repl-require-context.js) +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) - [known_issues/test-stdin-is-always-net.socket.js](https://github.com/nodejs/node/tree/v18.12.1/test/known_issues/test-stdin-is-always-net.socket.js) - [known_issues/test-stream-writable-sync-error.js](https://github.com/nodejs/node/tree/v18.12.1/test/known_issues/test-stream-writable-sync-error.js) - [known_issues/test-url-parse-conformance.js](https://github.com/nodejs/node/tree/v18.12.1/test/known_issues/test-url-parse-conformance.js) @@ -122,14 +152,37 @@ Total: 2999 - [known_issues/test-vm-ownpropertysymbols.js](https://github.com/nodejs/node/tree/v18.12.1/test/known_issues/test-vm-ownpropertysymbols.js) - [known_issues/test-vm-timeout-escape-nexttick.js](https://github.com/nodejs/node/tree/v18.12.1/test/known_issues/test-vm-timeout-escape-nexttick.js) - [known_issues/test-vm-timeout-escape-queuemicrotask.js](https://github.com/nodejs/node/tree/v18.12.1/test/known_issues/test-vm-timeout-escape-queuemicrotask.js) +<<<<<<< HEAD - [message/assert_throws_stack.js](https://github.com/nodejs/node/tree/v18.12.1/test/message/assert_throws_stack.js) - [message/core_line_numbers.js](https://github.com/nodejs/node/tree/v18.12.1/test/message/core_line_numbers.js) - [message/eval_messages.js](https://github.com/nodejs/node/tree/v18.12.1/test/message/eval_messages.js) +======= +- [message/2100bytes.js](https://github.com/nodejs/node/tree/v18.12.1/test/message/2100bytes.js) +- [message/assert_throws_stack.js](https://github.com/nodejs/node/tree/v18.12.1/test/message/assert_throws_stack.js) +- [message/async_error_eval_cjs.js](https://github.com/nodejs/node/tree/v18.12.1/test/message/async_error_eval_cjs.js) +- [message/async_error_eval_esm.js](https://github.com/nodejs/node/tree/v18.12.1/test/message/async_error_eval_esm.js) +- [message/async_error_microtask_main.js](https://github.com/nodejs/node/tree/v18.12.1/test/message/async_error_microtask_main.js) +- [message/async_error_nexttick_main.js](https://github.com/nodejs/node/tree/v18.12.1/test/message/async_error_nexttick_main.js) +- [message/async_error_sync_main.js](https://github.com/nodejs/node/tree/v18.12.1/test/message/async_error_sync_main.js) +- [message/console.js](https://github.com/nodejs/node/tree/v18.12.1/test/message/console.js) +- [message/console_low_stack_space.js](https://github.com/nodejs/node/tree/v18.12.1/test/message/console_low_stack_space.js) +- [message/core_line_numbers.js](https://github.com/nodejs/node/tree/v18.12.1/test/message/core_line_numbers.js) +- [message/error_aggregateTwoErrors.js](https://github.com/nodejs/node/tree/v18.12.1/test/message/error_aggregateTwoErrors.js) +- [message/error_exit.js](https://github.com/nodejs/node/tree/v18.12.1/test/message/error_exit.js) +- [message/error_with_nul.js](https://github.com/nodejs/node/tree/v18.12.1/test/message/error_with_nul.js) +- [message/eval_messages.js](https://github.com/nodejs/node/tree/v18.12.1/test/message/eval_messages.js) +- [message/events_unhandled_error_common_trace.js](https://github.com/nodejs/node/tree/v18.12.1/test/message/events_unhandled_error_common_trace.js) +- [message/events_unhandled_error_nexttick.js](https://github.com/nodejs/node/tree/v18.12.1/test/message/events_unhandled_error_nexttick.js) +- [message/events_unhandled_error_sameline.js](https://github.com/nodejs/node/tree/v18.12.1/test/message/events_unhandled_error_sameline.js) +- [message/events_unhandled_error_subclass.js](https://github.com/nodejs/node/tree/v18.12.1/test/message/events_unhandled_error_subclass.js) +- [message/hello_world.js](https://github.com/nodejs/node/tree/v18.12.1/test/message/hello_world.js) +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) - [message/if-error-has-good-stack.js](https://github.com/nodejs/node/tree/v18.12.1/test/message/if-error-has-good-stack.js) - [message/internal_assert.js](https://github.com/nodejs/node/tree/v18.12.1/test/message/internal_assert.js) - [message/internal_assert_fail.js](https://github.com/nodejs/node/tree/v18.12.1/test/message/internal_assert_fail.js) - [message/max_tick_depth.js](https://github.com/nodejs/node/tree/v18.12.1/test/message/max_tick_depth.js) - [message/nexttick_throw.js](https://github.com/nodejs/node/tree/v18.12.1/test/message/nexttick_throw.js) +<<<<<<< HEAD - [message/promise_unhandled_warn_with_error.js](https://github.com/nodejs/node/tree/v18.12.1/test/message/promise_unhandled_warn_with_error.js) - [message/source_map_enclosing_function.js](https://github.com/nodejs/node/tree/v18.12.1/test/message/source_map_enclosing_function.js) - [message/source_map_reference_error_tabs.js](https://github.com/nodejs/node/tree/v18.12.1/test/message/source_map_reference_error_tabs.js) @@ -140,6 +193,39 @@ Total: 2999 - [message/stdin_messages.js](https://github.com/nodejs/node/tree/v18.12.1/test/message/stdin_messages.js) - [message/test-no-extra-info-on-fatal-exception.js](https://github.com/nodejs/node/tree/v18.12.1/test/message/test-no-extra-info-on-fatal-exception.js) - [message/throw_error_with_getter_throw.js](https://github.com/nodejs/node/tree/v18.12.1/test/message/throw_error_with_getter_throw.js) +======= +- [message/promise_always_throw_unhandled.js](https://github.com/nodejs/node/tree/v18.12.1/test/message/promise_always_throw_unhandled.js) +- [message/promise_unhandled_warn_with_error.js](https://github.com/nodejs/node/tree/v18.12.1/test/message/promise_unhandled_warn_with_error.js) +- [message/source_map_disabled_by_api.js](https://github.com/nodejs/node/tree/v18.12.1/test/message/source_map_disabled_by_api.js) +- [message/source_map_enabled_by_api.js](https://github.com/nodejs/node/tree/v18.12.1/test/message/source_map_enabled_by_api.js) +- [message/source_map_enclosing_function.js](https://github.com/nodejs/node/tree/v18.12.1/test/message/source_map_enclosing_function.js) +- [message/source_map_eval.js](https://github.com/nodejs/node/tree/v18.12.1/test/message/source_map_eval.js) +- [message/source_map_no_source_file.js](https://github.com/nodejs/node/tree/v18.12.1/test/message/source_map_no_source_file.js) +- [message/source_map_reference_error_tabs.js](https://github.com/nodejs/node/tree/v18.12.1/test/message/source_map_reference_error_tabs.js) +- [message/source_map_sourcemapping_url_string.js](https://github.com/nodejs/node/tree/v18.12.1/test/message/source_map_sourcemapping_url_string.js) +- [message/source_map_throw_catch.js](https://github.com/nodejs/node/tree/v18.12.1/test/message/source_map_throw_catch.js) +- [message/source_map_throw_first_tick.js](https://github.com/nodejs/node/tree/v18.12.1/test/message/source_map_throw_first_tick.js) +- [message/source_map_throw_icu.js](https://github.com/nodejs/node/tree/v18.12.1/test/message/source_map_throw_icu.js) +- [message/source_map_throw_set_immediate.js](https://github.com/nodejs/node/tree/v18.12.1/test/message/source_map_throw_set_immediate.js) +- [message/stack_overflow.js](https://github.com/nodejs/node/tree/v18.12.1/test/message/stack_overflow.js) +- [message/stdin_messages.js](https://github.com/nodejs/node/tree/v18.12.1/test/message/stdin_messages.js) +- [message/test-no-extra-info-on-fatal-exception.js](https://github.com/nodejs/node/tree/v18.12.1/test/message/test-no-extra-info-on-fatal-exception.js) +- [message/test_runner_abort.js](https://github.com/nodejs/node/tree/v18.12.1/test/message/test_runner_abort.js) +- [message/test_runner_abort_suite.js](https://github.com/nodejs/node/tree/v18.12.1/test/message/test_runner_abort_suite.js) +- [message/test_runner_describe_it.js](https://github.com/nodejs/node/tree/v18.12.1/test/message/test_runner_describe_it.js) +- [message/test_runner_hooks.js](https://github.com/nodejs/node/tree/v18.12.1/test/message/test_runner_hooks.js) +- [message/test_runner_no_refs.js](https://github.com/nodejs/node/tree/v18.12.1/test/message/test_runner_no_refs.js) +- [message/test_runner_no_tests.js](https://github.com/nodejs/node/tree/v18.12.1/test/message/test_runner_no_tests.js) +- [message/test_runner_only_tests.js](https://github.com/nodejs/node/tree/v18.12.1/test/message/test_runner_only_tests.js) +- [message/test_runner_output.js](https://github.com/nodejs/node/tree/v18.12.1/test/message/test_runner_output.js) +- [message/test_runner_test_name_pattern.js](https://github.com/nodejs/node/tree/v18.12.1/test/message/test_runner_test_name_pattern.js) +- [message/test_runner_test_name_pattern_with_only.js](https://github.com/nodejs/node/tree/v18.12.1/test/message/test_runner_test_name_pattern_with_only.js) +- [message/test_runner_unresolved_promise.js](https://github.com/nodejs/node/tree/v18.12.1/test/message/test_runner_unresolved_promise.js) +- [message/throw_custom_error.js](https://github.com/nodejs/node/tree/v18.12.1/test/message/throw_custom_error.js) +- [message/throw_error_with_getter_throw.js](https://github.com/nodejs/node/tree/v18.12.1/test/message/throw_error_with_getter_throw.js) +- [message/throw_in_line_with_tabs.js](https://github.com/nodejs/node/tree/v18.12.1/test/message/throw_in_line_with_tabs.js) +- [message/throw_non_error.js](https://github.com/nodejs/node/tree/v18.12.1/test/message/throw_non_error.js) +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) - [message/throw_null.js](https://github.com/nodejs/node/tree/v18.12.1/test/message/throw_null.js) - [message/throw_undefined.js](https://github.com/nodejs/node/tree/v18.12.1/test/message/throw_undefined.js) - [message/timeout_throw.js](https://github.com/nodejs/node/tree/v18.12.1/test/message/timeout_throw.js) @@ -148,8 +234,17 @@ Total: 2999 - [message/util-inspect-error-cause.js](https://github.com/nodejs/node/tree/v18.12.1/test/message/util-inspect-error-cause.js) - [message/util_inspect_error.js](https://github.com/nodejs/node/tree/v18.12.1/test/message/util_inspect_error.js) - [message/v8_warning.js](https://github.com/nodejs/node/tree/v18.12.1/test/message/v8_warning.js) +<<<<<<< HEAD - [parallel/test-abortcontroller.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-abortcontroller.js) - [parallel/test-aborted-util.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-aborted-util.js) +======= +- [message/vm_caught_custom_runtime_error.js](https://github.com/nodejs/node/tree/v18.12.1/test/message/vm_caught_custom_runtime_error.js) +- [message/vm_display_runtime_error.js](https://github.com/nodejs/node/tree/v18.12.1/test/message/vm_display_runtime_error.js) +- [message/vm_display_syntax_error.js](https://github.com/nodejs/node/tree/v18.12.1/test/message/vm_display_syntax_error.js) +- [message/vm_dont_display_runtime_error.js](https://github.com/nodejs/node/tree/v18.12.1/test/message/vm_dont_display_runtime_error.js) +- [message/vm_dont_display_syntax_error.js](https://github.com/nodejs/node/tree/v18.12.1/test/message/vm_dont_display_syntax_error.js) +- [parallel/test-abortcontroller.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-abortcontroller.js) +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) - [parallel/test-abortsignal-cloneable.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-abortsignal-cloneable.js) - [parallel/test-accessor-properties.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-accessor-properties.js) - [parallel/test-arm-math-illegal-instruction.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-arm-math-illegal-instruction.js) @@ -196,12 +291,18 @@ Total: 2999 - [parallel/test-async-hooks-worker-asyncfn-terminate-2.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-async-hooks-worker-asyncfn-terminate-2.js) - [parallel/test-async-hooks-worker-asyncfn-terminate-3.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-async-hooks-worker-asyncfn-terminate-3.js) - [parallel/test-async-hooks-worker-asyncfn-terminate-4.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-async-hooks-worker-asyncfn-terminate-4.js) +<<<<<<< HEAD - [parallel/test-async-local-storage-bind.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-async-local-storage-bind.js) +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) - [parallel/test-async-local-storage-contexts.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-async-local-storage-contexts.js) - [parallel/test-async-local-storage-deep-stack.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-async-local-storage-deep-stack.js) - [parallel/test-async-local-storage-exit-does-not-leak.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-async-local-storage-exit-does-not-leak.js) - [parallel/test-async-local-storage-http-multiclients.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-async-local-storage-http-multiclients.js) +<<<<<<< HEAD - [parallel/test-async-local-storage-snapshot.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-async-local-storage-snapshot.js) +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) - [parallel/test-async-wrap-constructor.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-async-wrap-constructor.js) - [parallel/test-async-wrap-destroyid.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-async-wrap-destroyid.js) - [parallel/test-async-wrap-pop-id-during-load.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-async-wrap-pop-id-during-load.js) @@ -229,8 +330,11 @@ Total: 2999 - [parallel/test-buffer-constructor-outside-node-modules.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-buffer-constructor-outside-node-modules.js) - [parallel/test-buffer-fill.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-buffer-fill.js) - [parallel/test-buffer-inspect.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-buffer-inspect.js) +<<<<<<< HEAD - [parallel/test-buffer-isascii.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-buffer-isascii.js) - [parallel/test-buffer-isutf8.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-buffer-isutf8.js) +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) - [parallel/test-buffer-pending-deprecation.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-buffer-pending-deprecation.js) - [parallel/test-buffer-pool-untransferable.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-buffer-pool-untransferable.js) - [parallel/test-buffer-prototype-inspect.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-buffer-prototype-inspect.js) @@ -243,7 +347,10 @@ Total: 2999 - [parallel/test-child-process-can-write-to-stdout.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-child-process-can-write-to-stdout.js) - [parallel/test-child-process-constructor.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-child-process-constructor.js) - [parallel/test-child-process-cwd.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-child-process-cwd.js) +<<<<<<< HEAD - [parallel/test-child-process-destroy.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-child-process-destroy.js) +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) - [parallel/test-child-process-detached.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-child-process-detached.js) - [parallel/test-child-process-disconnect.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-child-process-disconnect.js) - [parallel/test-child-process-env.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-child-process-env.js) @@ -285,7 +392,10 @@ Total: 2999 - [parallel/test-child-process-pipe-dataflow.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-child-process-pipe-dataflow.js) - [parallel/test-child-process-promisified.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-child-process-promisified.js) - [parallel/test-child-process-recv-handle.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-child-process-recv-handle.js) +<<<<<<< HEAD - [parallel/test-child-process-reject-null-bytes.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-child-process-reject-null-bytes.js) +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) - [parallel/test-child-process-send-after-close.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-child-process-send-after-close.js) - [parallel/test-child-process-send-cb.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-child-process-send-cb.js) - [parallel/test-child-process-send-keep-open.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-child-process-send-keep-open.js) @@ -378,9 +488,12 @@ Total: 2999 - [parallel/test-cluster-primary-kill.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-cluster-primary-kill.js) - [parallel/test-cluster-process-disconnect.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-cluster-process-disconnect.js) - [parallel/test-cluster-rr-domain-listen.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-cluster-rr-domain-listen.js) +<<<<<<< HEAD - [parallel/test-cluster-rr-handle-close.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-cluster-rr-handle-close.js) - [parallel/test-cluster-rr-handle-keep-loop-alive.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-cluster-rr-handle-keep-loop-alive.js) - [parallel/test-cluster-rr-handle-ref-unref.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-cluster-rr-handle-ref-unref.js) +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) - [parallel/test-cluster-rr-ref.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-cluster-rr-ref.js) - [parallel/test-cluster-send-deadlock.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-cluster-send-deadlock.js) - [parallel/test-cluster-send-handle-twice.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-cluster-send-handle-twice.js) @@ -454,7 +567,10 @@ Total: 2999 - [parallel/test-crypto-domains.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-crypto-domains.js) - [parallel/test-crypto-ecb.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-crypto-ecb.js) - [parallel/test-crypto-ecdh-convert-key.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-crypto-ecdh-convert-key.js) +<<<<<<< HEAD - [parallel/test-crypto-encoding-validation-error.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-crypto-encoding-validation-error.js) +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) - [parallel/test-crypto-fips.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-crypto-fips.js) - [parallel/test-crypto-from-binary.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-crypto-from-binary.js) - [parallel/test-crypto-getcipherinfo.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-crypto-getcipherinfo.js) @@ -466,14 +582,20 @@ Total: 2999 - [parallel/test-crypto-keygen.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-crypto-keygen.js) - [parallel/test-crypto-lazy-transform-writable.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-crypto-lazy-transform-writable.js) - [parallel/test-crypto-modp1-error.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-crypto-modp1-error.js) +<<<<<<< HEAD - [parallel/test-crypto-no-algorithm.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-crypto-no-algorithm.js) +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) - [parallel/test-crypto-op-during-process-exit.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-crypto-op-during-process-exit.js) - [parallel/test-crypto-padding-aes256.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-crypto-padding-aes256.js) - [parallel/test-crypto-padding.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-crypto-padding.js) - [parallel/test-crypto-pbkdf2.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-crypto-pbkdf2.js) - [parallel/test-crypto-private-decrypt-gh32240.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-crypto-private-decrypt-gh32240.js) - [parallel/test-crypto-psychic-signatures.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-crypto-psychic-signatures.js) +<<<<<<< HEAD - [parallel/test-crypto-publicDecrypt-fails-first-time.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-crypto-publicDecrypt-fails-first-time.js) +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) - [parallel/test-crypto-random.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-crypto-random.js) - [parallel/test-crypto-randomfillsync-regression.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-crypto-randomfillsync-regression.js) - [parallel/test-crypto-randomuuid.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-crypto-randomuuid.js) @@ -490,6 +612,7 @@ Total: 2999 - [parallel/test-cwd-enoent-repl.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-cwd-enoent-repl.js) - [parallel/test-cwd-enoent.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-cwd-enoent.js) - [parallel/test-datetime-change-notify.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-datetime-change-notify.js) +<<<<<<< HEAD - [parallel/test-debugger-backtrace.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-debugger-backtrace.js) - [parallel/test-debugger-break.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-debugger-break.js) - [parallel/test-debugger-breakpoint-exists.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-debugger-breakpoint-exists.js) @@ -517,6 +640,12 @@ Total: 2999 - [parallel/test-debugger-websocket-secret-mismatch.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-debugger-websocket-secret-mismatch.js) - [parallel/test-delayed-require.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-delayed-require.js) - [parallel/test-dgram-abort-closed.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-dgram-abort-closed.js) +======= +- [parallel/test-debugger-pid.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-debugger-pid.js) +- [parallel/test-debugger-unavailable-port.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-debugger-unavailable-port.js) +- [parallel/test-debugger-websocket-secret-mismatch.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-debugger-websocket-secret-mismatch.js) +- [parallel/test-delayed-require.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-delayed-require.js) +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) - [parallel/test-dgram-address.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-dgram-address.js) - [parallel/test-dgram-bind-default-address.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-dgram-bind-default-address.js) - [parallel/test-dgram-bind-error-repeat.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-dgram-bind-error-repeat.js) @@ -584,11 +713,17 @@ Total: 2999 - [parallel/test-dgram-udp4.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-dgram-udp4.js) - [parallel/test-dgram-udp6-link-local-address.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-dgram-udp6-link-local-address.js) - [parallel/test-dgram-udp6-send-default-host.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-dgram-udp6-send-default-host.js) +<<<<<<< HEAD - [parallel/test-dgram-unref-in-cluster.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-dgram-unref-in-cluster.js) - [parallel/test-dgram-unref.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-dgram-unref.js) - [parallel/test-diagnostics-channel-http-server-start.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-diagnostics-channel-http-server-start.js) - [parallel/test-diagnostics-channel-http.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-diagnostics-channel-http.js) - [parallel/test-diagnostics-channel-memory-leak.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-diagnostics-channel-memory-leak.js) +======= +- [parallel/test-dgram-unref.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-dgram-unref.js) +- [parallel/test-diagnostics-channel-http-server-start.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-diagnostics-channel-http-server-start.js) +- [parallel/test-diagnostics-channel-http.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-diagnostics-channel-http.js) +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) - [parallel/test-diagnostics-channel-net.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-diagnostics-channel-net.js) - [parallel/test-diagnostics-channel-safe-subscriber-errors.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-diagnostics-channel-safe-subscriber-errors.js) - [parallel/test-directory-import.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-directory-import.js) @@ -665,8 +800,11 @@ Total: 2999 - [parallel/test-domain-vm-promise-isolation.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-domain-vm-promise-isolation.js) - [parallel/test-domain-with-abort-on-uncaught-exception.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-domain-with-abort-on-uncaught-exception.js) - [parallel/test-domexception-cause.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-domexception-cause.js) +<<<<<<< HEAD - [parallel/test-double-tls-client.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-double-tls-client.js) - [parallel/test-double-tls-server.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-double-tls-server.js) +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) - [parallel/test-dsa-fips-invalid-key.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-dsa-fips-invalid-key.js) - [parallel/test-dummy-stdio.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-dummy-stdio.js) - [parallel/test-emit-after-uncaught-exception.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-emit-after-uncaught-exception.js) @@ -674,7 +812,10 @@ Total: 2999 - [parallel/test-env-var-no-warnings.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-env-var-no-warnings.js) - [parallel/test-err-name-deprecation.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-err-name-deprecation.js) - [parallel/test-error-aggregateTwoErrors.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-error-aggregateTwoErrors.js) +<<<<<<< HEAD - [parallel/test-error-format-list.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-error-format-list.js) +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) - [parallel/test-error-prepare-stack-trace.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-error-prepare-stack-trace.js) - [parallel/test-error-reporting.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-error-reporting.js) - [parallel/test-error-serdes.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-error-serdes.js) @@ -715,14 +856,20 @@ Total: 2999 - [parallel/test-event-emitter-max-listeners-warning.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-event-emitter-max-listeners-warning.js) - [parallel/test-eventemitter-asyncresource.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-eventemitter-asyncresource.js) - [parallel/test-events-customevent.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-events-customevent.js) +<<<<<<< HEAD - [parallel/test-events-getmaxlisteners.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-events-getmaxlisteners.js) - [parallel/test-events-listener-count-with-listener.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-events-listener-count-with-listener.js) +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) - [parallel/test-events-static-geteventlisteners.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-events-static-geteventlisteners.js) - [parallel/test-eventtarget-memoryleakwarning.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-eventtarget-memoryleakwarning.js) - [parallel/test-eventtarget-once-twice.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-eventtarget-once-twice.js) - [parallel/test-eventtarget.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-eventtarget.js) - [parallel/test-file-validate-mode-flag.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-file-validate-mode-flag.js) +<<<<<<< HEAD - [parallel/test-file.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-file.js) +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) - [parallel/test-filehandle-close.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-filehandle-close.js) - [parallel/test-filehandle-readablestream.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-filehandle-readablestream.js) - [parallel/test-fixed-queue.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-fixed-queue.js) @@ -766,7 +913,10 @@ Total: 2999 - [parallel/test-fs-promises-file-handle-chmod.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-fs-promises-file-handle-chmod.js) - [parallel/test-fs-promises-file-handle-close-errors.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-fs-promises-file-handle-close-errors.js) - [parallel/test-fs-promises-file-handle-close.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-fs-promises-file-handle-close.js) +<<<<<<< HEAD - [parallel/test-fs-promises-file-handle-dispose.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-fs-promises-file-handle-dispose.js) +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) - [parallel/test-fs-promises-file-handle-op-errors.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-fs-promises-file-handle-op-errors.js) - [parallel/test-fs-promises-file-handle-read-worker.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-fs-promises-file-handle-read-worker.js) - [parallel/test-fs-promises-file-handle-read.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-fs-promises-file-handle-read.js) @@ -827,7 +977,10 @@ Total: 2999 - [parallel/test-fs-sir-writes-alot.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-fs-sir-writes-alot.js) - [parallel/test-fs-stat-bigint.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-fs-stat-bigint.js) - [parallel/test-fs-stat.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-fs-stat.js) +<<<<<<< HEAD - [parallel/test-fs-statfs.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-fs-statfs.js) +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) - [parallel/test-fs-stream-construct-compat-error-read.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-fs-stream-construct-compat-error-read.js) - [parallel/test-fs-stream-construct-compat-error-write.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-fs-stream-construct-compat-error-write.js) - [parallel/test-fs-stream-construct-compat-graceful-fs.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-fs-stream-construct-compat-graceful-fs.js) @@ -895,7 +1048,10 @@ Total: 2999 - [parallel/test-global-webcrypto.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-global-webcrypto.js) - [parallel/test-global-webstreams.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-global-webstreams.js) - [parallel/test-global.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-global.js) +<<<<<<< HEAD - [parallel/test-h2-large-header-cause-client-to-hangup.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-h2-large-header-cause-client-to-hangup.js) +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) - [parallel/test-handle-wrap-hasref.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-handle-wrap-hasref.js) - [parallel/test-heap-prof-basic.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-heap-prof-basic.js) - [parallel/test-heap-prof-dir-absolute.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-heap-prof-dir-absolute.js) @@ -944,7 +1100,10 @@ Total: 2999 - [parallel/test-http-allow-content-length-304.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-allow-content-length-304.js) - [parallel/test-http-allow-req-after-204-res.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-allow-req-after-204-res.js) - [parallel/test-http-automatic-headers.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-automatic-headers.js) +<<<<<<< HEAD - [parallel/test-http-autoselectfamily.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-autoselectfamily.js) +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) - [parallel/test-http-bind-twice.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-bind-twice.js) - [parallel/test-http-blank-header.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-blank-header.js) - [parallel/test-http-buffer-sanity.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-buffer-sanity.js) @@ -992,7 +1151,10 @@ Total: 2999 - [parallel/test-http-client-reject-cr-no-lf.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-client-reject-cr-no-lf.js) - [parallel/test-http-client-reject-unexpected-agent.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-client-reject-unexpected-agent.js) - [parallel/test-http-client-req-error-dont-double-fire.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-client-req-error-dont-double-fire.js) +<<<<<<< HEAD - [parallel/test-http-client-request-options.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-client-request-options.js) +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) - [parallel/test-http-client-res-destroyed.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-client-res-destroyed.js) - [parallel/test-http-client-response-domain.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-client-response-domain.js) - [parallel/test-http-client-response-timeout.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-client-response-timeout.js) @@ -1043,10 +1205,15 @@ Total: 2999 - [parallel/test-http-generic-streams.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-generic-streams.js) - [parallel/test-http-get-pipeline-problem.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-get-pipeline-problem.js) - [parallel/test-http-head-request.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-head-request.js) +<<<<<<< HEAD - [parallel/test-http-head-response-has-no-body-end-implicit-headers.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-head-response-has-no-body-end-implicit-headers.js) - [parallel/test-http-head-response-has-no-body-end.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-head-response-has-no-body-end.js) - [parallel/test-http-head-response-has-no-body.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-head-response-has-no-body.js) - [parallel/test-http-head-throw-on-response-body-write.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-head-throw-on-response-body-write.js) +======= +- [parallel/test-http-head-response-has-no-body-end.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-head-response-has-no-body-end.js) +- [parallel/test-http-head-response-has-no-body.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-head-response-has-no-body.js) +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) - [parallel/test-http-header-badrequest.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-header-badrequest.js) - [parallel/test-http-header-obstext.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-header-obstext.js) - [parallel/test-http-header-overflow.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-header-overflow.js) @@ -1093,7 +1260,10 @@ Total: 2999 - [parallel/test-http-max-http-headers.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-max-http-headers.js) - [parallel/test-http-methods.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-methods.js) - [parallel/test-http-missing-header-separator-cr.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-missing-header-separator-cr.js) +<<<<<<< HEAD - [parallel/test-http-missing-header-separator-lf.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-missing-header-separator-lf.js) +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) - [parallel/test-http-multi-line-headers.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-multi-line-headers.js) - [parallel/test-http-multiple-headers.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-multiple-headers.js) - [parallel/test-http-mutable-headers.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-mutable-headers.js) @@ -1147,7 +1317,10 @@ Total: 2999 - [parallel/test-http-request-end-twice.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-request-end-twice.js) - [parallel/test-http-request-end.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-request-end.js) - [parallel/test-http-request-invalid-method-error.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-request-invalid-method-error.js) +<<<<<<< HEAD - [parallel/test-http-request-join-authorization-headers.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-request-join-authorization-headers.js) +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) - [parallel/test-http-request-large-payload.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-request-large-payload.js) - [parallel/test-http-request-methods.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-request-methods.js) - [parallel/test-http-request-smuggling-content-length.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-request-smuggling-content-length.js) @@ -1161,7 +1334,10 @@ Total: 2999 - [parallel/test-http-response-no-headers.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-response-no-headers.js) - [parallel/test-http-response-readable.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-response-readable.js) - [parallel/test-http-response-remove-header-after-sent.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-response-remove-header-after-sent.js) +<<<<<<< HEAD - [parallel/test-http-response-setheaders.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-response-setheaders.js) +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) - [parallel/test-http-response-splitting.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-response-splitting.js) - [parallel/test-http-response-status-message.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-response-status-message.js) - [parallel/test-http-response-statuscode.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-response-statuscode.js) @@ -1189,8 +1365,11 @@ Total: 2999 - [parallel/test-http-server-keepalive-req-gc.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-server-keepalive-req-gc.js) - [parallel/test-http-server-multiheaders.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-server-multiheaders.js) - [parallel/test-http-server-multiheaders2.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-server-multiheaders2.js) +<<<<<<< HEAD - [parallel/test-http-server-non-utf8-header.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-server-non-utf8-header.js) - [parallel/test-http-server-options-highwatermark.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-server-options-highwatermark.js) +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) - [parallel/test-http-server-options-incoming-message.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-server-options-incoming-message.js) - [parallel/test-http-server-options-server-response.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-server-options-server-response.js) - [parallel/test-http-server-reject-chunked-with-content-length.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-server-reject-chunked-with-content-length.js) @@ -1205,7 +1384,10 @@ Total: 2999 - [parallel/test-http-server-request-timeouts-mixed.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-server-request-timeouts-mixed.js) - [parallel/test-http-server-response-standalone.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-server-response-standalone.js) - [parallel/test-http-server-stale-close.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-server-stale-close.js) +<<<<<<< HEAD - [parallel/test-http-server-timeouts-validation.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-server-timeouts-validation.js) +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) - [parallel/test-http-server-unconsume-consume.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-server-unconsume-consume.js) - [parallel/test-http-server-unconsume.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-server-unconsume.js) - [parallel/test-http-server-write-after-end.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-server-write-after-end.js) @@ -1219,7 +1401,11 @@ Total: 2999 - [parallel/test-http-set-trailers.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-set-trailers.js) - [parallel/test-http-should-keep-alive.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-should-keep-alive.js) - [parallel/test-http-socket-encoding-error.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-socket-encoding-error.js) +<<<<<<< HEAD - [parallel/test-http-socket-error-listeners.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-socket-error-listeners.js) +======= +- [parallel/test-http-socket-listeners.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-socket-listeners.js) +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) - [parallel/test-http-status-code.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-status-code.js) - [parallel/test-http-status-message.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-status-message.js) - [parallel/test-http-status-reason-invalid-chars.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-status-reason-invalid-chars.js) @@ -1509,7 +1695,10 @@ Total: 2999 - [parallel/test-https-agent-unref-socket.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-https-agent-unref-socket.js) - [parallel/test-https-agent.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-https-agent.js) - [parallel/test-https-argument-of-creating.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-https-argument-of-creating.js) +<<<<<<< HEAD - [parallel/test-https-autoselectfamily.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-https-autoselectfamily.js) +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) - [parallel/test-https-byteswritten.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-https-byteswritten.js) - [parallel/test-https-client-checkServerIdentity.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-https-client-checkServerIdentity.js) - [parallel/test-https-client-get-url.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-https-client-get-url.js) @@ -1557,11 +1746,15 @@ Total: 2999 - [parallel/test-icu-punycode.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-icu-punycode.js) - [parallel/test-icu-stringwidth.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-icu-stringwidth.js) - [parallel/test-icu-transcode.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-icu-transcode.js) +<<<<<<< HEAD - [parallel/test-inspect-address-in-use.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-inspect-address-in-use.js) +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) - [parallel/test-inspect-async-hook-setup-at-inspect.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-inspect-async-hook-setup-at-inspect.js) - [parallel/test-inspect-publish-uid.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-inspect-publish-uid.js) - [parallel/test-inspect-support-for-node_options.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-inspect-support-for-node_options.js) - [parallel/test-inspector-already-activated-cli.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-inspector-already-activated-cli.js) +<<<<<<< HEAD - [parallel/test-inspector-async-call-stack-abort.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-inspector-async-call-stack-abort.js) - [parallel/test-inspector-async-call-stack.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-inspector-async-call-stack.js) - [parallel/test-inspector-async-hook-after-done.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-inspector-async-hook-after-done.js) @@ -1607,13 +1800,34 @@ Total: 2999 - [parallel/test-inspector-stop-profile-after-done.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-inspector-stop-profile-after-done.js) - [parallel/test-inspector-stops-no-file.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-inspector-stops-no-file.js) - [parallel/test-inspector-stress-http.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-inspector-stress-http.js) +======= +- [parallel/test-inspector-async-hook-after-done.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-inspector-async-hook-after-done.js) +- [parallel/test-inspector-bindings.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-inspector-bindings.js) +- [parallel/test-inspector-close-worker.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-inspector-close-worker.js) +- [parallel/test-inspector-connect-main-thread.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-inspector-connect-main-thread.js) +- [parallel/test-inspector-console-top-frame.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-inspector-console-top-frame.js) +- [parallel/test-inspector-esm.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-inspector-esm.js) +- [parallel/test-inspector-has-idle.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-inspector-has-idle.js) +- [parallel/test-inspector-heap-allocation-tracker.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-inspector-heap-allocation-tracker.js) +- [parallel/test-inspector-heapdump.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-inspector-heapdump.js) +- [parallel/test-inspector-inspect-brk-node.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-inspector-inspect-brk-node.js) +- [parallel/test-inspector-module.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-inspector-module.js) +- [parallel/test-inspector-multisession-js.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-inspector-multisession-js.js) +- [parallel/test-inspector-multisession-ws.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-inspector-multisession-ws.js) +- [parallel/test-inspector-open-port-integer-overflow.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-inspector-open-port-integer-overflow.js) +- [parallel/test-inspector-port-zero-cluster.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-inspector-port-zero-cluster.js) +- [parallel/test-inspector-reported-host.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-inspector-reported-host.js) +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) - [parallel/test-inspector-tracing-domain.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-inspector-tracing-domain.js) - [parallel/test-inspector-vm-global-accessors-getter-sideeffect.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-inspector-vm-global-accessors-getter-sideeffect.js) - [parallel/test-inspector-vm-global-accessors-sideeffects.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-inspector-vm-global-accessors-sideeffects.js) - [parallel/test-inspector-wait-for-connection.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-inspector-wait-for-connection.js) - [parallel/test-inspector-waiting-for-disconnect.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-inspector-waiting-for-disconnect.js) - [parallel/test-inspector-workers-flat-list.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-inspector-workers-flat-list.js) +<<<<<<< HEAD - [parallel/test-inspector.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-inspector.js) +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) - [parallel/test-instanceof.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-instanceof.js) - [parallel/test-internal-assert.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-internal-assert.js) - [parallel/test-internal-dtrace.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-internal-dtrace.js) @@ -1637,7 +1851,10 @@ Total: 2999 - [parallel/test-internal-util-weakreference.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-internal-util-weakreference.js) - [parallel/test-internal-validators-validateoneof.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-internal-validators-validateoneof.js) - [parallel/test-internal-validators-validateport.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-internal-validators-validateport.js) +<<<<<<< HEAD - [parallel/test-internal-webidl-converttoint.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-internal-webidl-converttoint.js) +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) - [parallel/test-intl-v8BreakIterator.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-intl-v8BreakIterator.js) - [parallel/test-intl.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-intl.js) - [parallel/test-js-stream-call-properties.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-js-stream-call-properties.js) @@ -1647,6 +1864,10 @@ Total: 2999 - [parallel/test-listen-fd-detached.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-listen-fd-detached.js) - [parallel/test-listen-fd-ebadf.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-listen-fd-ebadf.js) - [parallel/test-listen-fd-server.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-listen-fd-server.js) +<<<<<<< HEAD +======= +- [parallel/test-loaders-hidden-from-users.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-loaders-hidden-from-users.js) +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) - [parallel/test-macos-app-sandbox.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-macos-app-sandbox.js) - [parallel/test-math-random.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-math-random.js) - [parallel/test-memory-usage-emfile.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-memory-usage-emfile.js) @@ -1657,8 +1878,11 @@ Total: 2999 - [parallel/test-microtask-queue-integration.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-microtask-queue-integration.js) - [parallel/test-microtask-queue-run-immediate.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-microtask-queue-run-immediate.js) - [parallel/test-microtask-queue-run.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-microtask-queue-run.js) +<<<<<<< HEAD - [parallel/test-mime-api.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-mime-api.js) - [parallel/test-mime-whatwg.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-mime-whatwg.js) +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) - [parallel/test-module-binding.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-module-binding.js) - [parallel/test-module-builtin.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-module-builtin.js) - [parallel/test-module-cache.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-module-cache.js) @@ -1682,17 +1906,23 @@ Total: 2999 - [parallel/test-module-readonly.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-module-readonly.js) - [parallel/test-module-relative-lookup.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-module-relative-lookup.js) - [parallel/test-module-run-main-monkey-patch.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-module-run-main-monkey-patch.js) +<<<<<<< HEAD - [parallel/test-module-stat.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-module-stat.js) +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) - [parallel/test-module-symlinked-peer-modules.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-module-symlinked-peer-modules.js) - [parallel/test-module-version.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-module-version.js) - [parallel/test-module-wrap.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-module-wrap.js) - [parallel/test-module-wrapper.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-module-wrapper.js) - [parallel/test-net-after-close.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-net-after-close.js) - [parallel/test-net-allow-half-open.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-net-allow-half-open.js) +<<<<<<< HEAD - [parallel/test-net-autoselectfamily-commandline-option.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-net-autoselectfamily-commandline-option.js) - [parallel/test-net-autoselectfamily-ipv4first.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-net-autoselectfamily-ipv4first.js) - [parallel/test-net-autoselectfamily.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-net-autoselectfamily.js) - [parallel/test-net-autoselectfamilydefault.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-net-autoselectfamilydefault.js) +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) - [parallel/test-net-better-error-messages-listen.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-net-better-error-messages-listen.js) - [parallel/test-net-binary.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-net-binary.js) - [parallel/test-net-bind-twice.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-net-bind-twice.js) @@ -1701,7 +1931,10 @@ Total: 2999 - [parallel/test-net-bytes-stats.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-net-bytes-stats.js) - [parallel/test-net-bytes-written-large.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-net-bytes-written-large.js) - [parallel/test-net-can-reset-timeout.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-net-can-reset-timeout.js) +<<<<<<< HEAD - [parallel/test-net-child-process-connect-reset.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-net-child-process-connect-reset.js) +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) - [parallel/test-net-client-bind-twice.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-net-client-bind-twice.js) - [parallel/test-net-connect-abort-controller.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-net-connect-abort-controller.js) - [parallel/test-net-connect-buffer.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-net-connect-buffer.js) @@ -1763,8 +1996,11 @@ Total: 2999 - [parallel/test-net-settimeout.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-net-settimeout.js) - [parallel/test-net-socket-byteswritten.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-net-socket-byteswritten.js) - [parallel/test-net-socket-close-after-end.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-net-socket-close-after-end.js) +<<<<<<< HEAD - [parallel/test-net-socket-connect-invalid-autoselectfamily.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-net-socket-connect-invalid-autoselectfamily.js) - [parallel/test-net-socket-connect-invalid-autoselectfamilyattempttimeout.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-net-socket-connect-invalid-autoselectfamilyattempttimeout.js) +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) - [parallel/test-net-socket-connect-without-cb.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-net-socket-connect-without-cb.js) - [parallel/test-net-socket-connecting.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-net-socket-connecting.js) - [parallel/test-net-socket-constructor.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-net-socket-constructor.js) @@ -1782,11 +2018,17 @@ Total: 2999 - [parallel/test-net-socket-write-error.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-net-socket-write-error.js) - [parallel/test-net-stream.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-net-stream.js) - [parallel/test-net-sync-cork.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-net-sync-cork.js) +<<<<<<< HEAD - [parallel/test-net-throttle.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-net-throttle.js) - [parallel/test-net-writable.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-net-writable.js) - [parallel/test-net-write-after-close.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-net-write-after-close.js) - [parallel/test-net-write-after-end-nt.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-net-write-after-end-nt.js) - [parallel/test-net-write-cb-on-destroy-before-connect.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-net-write-cb-on-destroy-before-connect.js) +======= +- [parallel/test-net-writable.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-net-writable.js) +- [parallel/test-net-write-after-close.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-net-write-after-close.js) +- [parallel/test-net-write-after-end-nt.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-net-write-after-end-nt.js) +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) - [parallel/test-net-write-connect-write.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-net-write-connect-write.js) - [parallel/test-net-write-fully-async-buffer.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-net-write-fully-async-buffer.js) - [parallel/test-net-write-fully-async-hex-string.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-net-write-fully-async-hex-string.js) @@ -1830,13 +2072,19 @@ Total: 2999 - [parallel/test-pipe-unref.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-pipe-unref.js) - [parallel/test-pipe-writev.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-pipe-writev.js) - [parallel/test-policy-crypto-default-encoding.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-policy-crypto-default-encoding.js) +<<<<<<< HEAD - [parallel/test-policy-crypto-hash-tampering.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-policy-crypto-hash-tampering.js) +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) - [parallel/test-policy-dependencies.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-policy-dependencies.js) - [parallel/test-policy-dependency-conditions.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-policy-dependency-conditions.js) - [parallel/test-policy-integrity-flag.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-policy-integrity-flag.js) - [parallel/test-policy-manifest.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-policy-manifest.js) - [parallel/test-policy-parse-integrity.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-policy-parse-integrity.js) +<<<<<<< HEAD - [parallel/test-policy-process-binding.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-policy-process-binding.js) +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) - [parallel/test-policy-scopes-dependencies.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-policy-scopes-dependencies.js) - [parallel/test-policy-scopes-integrity.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-policy-scopes-integrity.js) - [parallel/test-policy-scopes.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-policy-scopes.js) @@ -1846,7 +2094,10 @@ Total: 2999 - [parallel/test-preload.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-preload.js) - [parallel/test-primordials-apply.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-primordials-apply.js) - [parallel/test-primordials-promise.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-primordials-promise.js) +<<<<<<< HEAD - [parallel/test-primordials-regexp.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-primordials-regexp.js) +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) - [parallel/test-priority-queue.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-priority-queue.js) - [parallel/test-process-abort.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-process-abort.js) - [parallel/test-process-argv-0.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-process-argv-0.js) @@ -1858,7 +2109,10 @@ Total: 2999 - [parallel/test-process-chdir.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-process-chdir.js) - [parallel/test-process-config.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-process-config.js) - [parallel/test-process-constants-noatime.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-process-constants-noatime.js) +<<<<<<< HEAD - [parallel/test-process-constrained-memory.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-process-constrained-memory.js) +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) - [parallel/test-process-cpuUsage.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-process-cpuUsage.js) - [parallel/test-process-dlopen-error-message-crash.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-process-dlopen-error-message-crash.js) - [parallel/test-process-dlopen-undefined-exports.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-process-dlopen-undefined-exports.js) @@ -1918,6 +2172,10 @@ Total: 2999 - [parallel/test-process-uncaught-exception-monitor.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-process-uncaught-exception-monitor.js) - [parallel/test-process-versions.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-process-versions.js) - [parallel/test-process-warning.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-process-warning.js) +<<<<<<< HEAD +======= +- [parallel/test-process-wrap.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-process-wrap.js) +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) - [parallel/test-promise-handled-rejection-no-warning.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-promise-handled-rejection-no-warning.js) - [parallel/test-promise-hook-create-hook.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-promise-hook-create-hook.js) - [parallel/test-promise-hook-exceptions.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-promise-hook-exceptions.js) @@ -1942,29 +2200,44 @@ Total: 2999 - [parallel/test-queue-microtask-uncaught-asynchooks.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-queue-microtask-uncaught-asynchooks.js) - [parallel/test-queue-microtask.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-queue-microtask.js) - [parallel/test-readable-from-iterator-closing.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-readable-from-iterator-closing.js) +<<<<<<< HEAD - [parallel/test-readable-from-web-enqueue-then-close.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-readable-from-web-enqueue-then-close.js) +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) - [parallel/test-readable-from.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-readable-from.js) - [parallel/test-readable-large-hwm.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-readable-large-hwm.js) - [parallel/test-readable-single-end.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-readable-single-end.js) - [parallel/test-readline-async-iterators-backpressure.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-readline-async-iterators-backpressure.js) - [parallel/test-readline-async-iterators-destroy.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-readline-async-iterators-destroy.js) - [parallel/test-readline-async-iterators.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-readline-async-iterators.js) +<<<<<<< HEAD - [parallel/test-readline-carriage-return-between-chunks.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-readline-carriage-return-between-chunks.js) - [parallel/test-readline-csi.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-readline-csi.js) - [parallel/test-readline-input-onerror.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-readline-input-onerror.js) - [parallel/test-readline-interface-no-trailing-newline.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-readline-interface-no-trailing-newline.js) - [parallel/test-readline-interface-recursive-writes.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-readline-interface-recursive-writes.js) +======= +- [parallel/test-readline-csi.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-readline-csi.js) +- [parallel/test-readline-input-onerror.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-readline-input-onerror.js) +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) - [parallel/test-readline-interface.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-readline-interface.js) - [parallel/test-readline-promises-interface.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-readline-promises-interface.js) - [parallel/test-readline-promises-tab-complete.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-readline-promises-tab-complete.js) - [parallel/test-readline-tab-complete.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-readline-tab-complete.js) - [parallel/test-ref-unref-return.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-ref-unref-return.js) - [parallel/test-regression-object-prototype.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-regression-object-prototype.js) +<<<<<<< HEAD - [parallel/test-release-changelog.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-release-changelog.js) +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) - [parallel/test-release-npm.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-release-npm.js) - [parallel/test-repl-array-prototype-tempering.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-repl-array-prototype-tempering.js) - [parallel/test-repl-autocomplete.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-repl-autocomplete.js) - [parallel/test-repl-autolibs.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-repl-autolibs.js) +<<<<<<< HEAD +======= +- [parallel/test-repl-built-in-modules.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-repl-built-in-modules.js) +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) - [parallel/test-repl-clear-immediate-crash.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-repl-clear-immediate-crash.js) - [parallel/test-repl-cli-eval.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-repl-cli-eval.js) - [parallel/test-repl-colors.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-repl-colors.js) @@ -1985,7 +2258,10 @@ Total: 2999 - [parallel/test-repl-inspect-defaults.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-repl-inspect-defaults.js) - [parallel/test-repl-inspector.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-repl-inspector.js) - [parallel/test-repl-let-process.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-repl-let-process.js) +<<<<<<< HEAD - [parallel/test-repl-load-multiline-no-trailing-newline.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-repl-load-multiline-no-trailing-newline.js) +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) - [parallel/test-repl-load-multiline.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-repl-load-multiline.js) - [parallel/test-repl-mode.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-repl-mode.js) - [parallel/test-repl-multiline.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-repl-multiline.js) @@ -2039,7 +2315,10 @@ Total: 2999 - [parallel/test-require-delete-array-iterator.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-require-delete-array-iterator.js) - [parallel/test-require-dot.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-require-dot.js) - [parallel/test-require-empty-main.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-require-empty-main.js) +<<<<<<< HEAD - [parallel/test-require-enoent-dir.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-require-enoent-dir.js) +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) - [parallel/test-require-exceptions.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-require-exceptions.js) - [parallel/test-require-extension-over-directory.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-require-extension-over-directory.js) - [parallel/test-require-extensions-main.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-require-extensions-main.js) @@ -2059,6 +2338,7 @@ Total: 2999 - [parallel/test-resource-usage.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-resource-usage.js) - [parallel/test-runner-cli.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-runner-cli.js) - [parallel/test-runner-concurrency.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-runner-concurrency.js) +<<<<<<< HEAD - [parallel/test-runner-coverage.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-runner-coverage.js) - [parallel/test-runner-exit-code.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-runner-exit-code.js) - [parallel/test-runner-extraneous-async-activity.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-runner-extraneous-async-activity.js) @@ -2070,22 +2350,37 @@ Total: 2999 - [parallel/test-runner-string-to-regexp.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-runner-string-to-regexp.js) - [parallel/test-runner-test-filter.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-runner-test-filter.js) - [parallel/test-runner-typechecking.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-runner-typechecking.js) +======= +- [parallel/test-runner-exit-code.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-runner-exit-code.js) +- [parallel/test-runner-import-no-scheme.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-runner-import-no-scheme.js) +- [parallel/test-runner-misc.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-runner-misc.js) +- [parallel/test-runner-option-validation.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-runner-option-validation.js) +- [parallel/test-runner-string-to-regexp.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-runner-string-to-regexp.js) +- [parallel/test-runner-test-filter.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-runner-test-filter.js) +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) - [parallel/test-safe-get-env.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-safe-get-env.js) - [parallel/test-security-revert-unknown.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-security-revert-unknown.js) - [parallel/test-set-http-max-http-headers.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-set-http-max-http-headers.js) - [parallel/test-set-incoming-message-header.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-set-incoming-message-header.js) - [parallel/test-set-process-debug-port.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-set-process-debug-port.js) - [parallel/test-setproctitle.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-setproctitle.js) +<<<<<<< HEAD - [parallel/test-shadow-realm.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-shadow-realm.js) +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) - [parallel/test-sigint-infinite-loop.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-sigint-infinite-loop.js) - [parallel/test-signal-args.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-signal-args.js) - [parallel/test-signal-handler-remove-on-exit.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-signal-handler-remove-on-exit.js) - [parallel/test-signal-handler.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-signal-handler.js) - [parallel/test-signal-safety.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-signal-safety.js) - [parallel/test-signal-unregister.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-signal-unregister.js) +<<<<<<< HEAD - [parallel/test-single-executable-application.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-single-executable-application.js) - [parallel/test-snapshot-api.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-snapshot-api.js) - [parallel/test-snapshot-argv1.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-snapshot-argv1.js) +======= +- [parallel/test-snapshot-api.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-snapshot-api.js) +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) - [parallel/test-snapshot-basic.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-snapshot-basic.js) - [parallel/test-snapshot-cjs-main.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-snapshot-cjs-main.js) - [parallel/test-snapshot-console.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-snapshot-console.js) @@ -2096,17 +2391,26 @@ Total: 2999 - [parallel/test-snapshot-error.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-snapshot-error.js) - [parallel/test-snapshot-eval.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-snapshot-eval.js) - [parallel/test-snapshot-gzip.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-snapshot-gzip.js) +<<<<<<< HEAD - [parallel/test-snapshot-incompatible.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-snapshot-incompatible.js) - [parallel/test-snapshot-namespaced-builtin.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-snapshot-namespaced-builtin.js) - [parallel/test-snapshot-typescript.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-snapshot-typescript.js) - [parallel/test-snapshot-umd.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-snapshot-umd.js) - [parallel/test-snapshot-warning.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-snapshot-warning.js) - [parallel/test-snapshot-weak-reference.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-snapshot-weak-reference.js) +======= +- [parallel/test-snapshot-typescript.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-snapshot-typescript.js) +- [parallel/test-snapshot-umd.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-snapshot-umd.js) +- [parallel/test-snapshot-warning.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-snapshot-warning.js) +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) - [parallel/test-socket-address.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-socket-address.js) - [parallel/test-socket-options-invalid.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-socket-options-invalid.js) - [parallel/test-socket-write-after-fin-error.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-socket-write-after-fin-error.js) - [parallel/test-socket-write-after-fin.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-socket-write-after-fin.js) +<<<<<<< HEAD - [parallel/test-socket-writes-before-passed-to-tls-socket.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-socket-writes-before-passed-to-tls-socket.js) +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) - [parallel/test-socketaddress.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-socketaddress.js) - [parallel/test-source-map-api.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-source-map-api.js) - [parallel/test-source-map-enable.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-source-map-enable.js) @@ -2136,11 +2440,17 @@ Total: 2999 - [parallel/test-stdout-stderr-reading.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-stdout-stderr-reading.js) - [parallel/test-stdout-stderr-write.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-stdout-stderr-write.js) - [parallel/test-stdout-to-file.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-stdout-to-file.js) +<<<<<<< HEAD - [parallel/test-strace-openat-openssl.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-strace-openat-openssl.js) - [parallel/test-stream-base-prototype-accessors-enumerability.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-stream-base-prototype-accessors-enumerability.js) - [parallel/test-stream-base-typechecking.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-stream-base-typechecking.js) - [parallel/test-stream-catch-rejections.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-stream-catch-rejections.js) - [parallel/test-stream-compose-operator.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-stream-compose-operator.js) +======= +- [parallel/test-stream-base-prototype-accessors-enumerability.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-stream-base-prototype-accessors-enumerability.js) +- [parallel/test-stream-base-typechecking.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-stream-base-typechecking.js) +- [parallel/test-stream-catch-rejections.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-stream-catch-rejections.js) +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) - [parallel/test-stream-compose.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-stream-compose.js) - [parallel/test-stream-consumers.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-stream-consumers.js) - [parallel/test-stream-decoder-objectmode.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-stream-decoder-objectmode.js) @@ -2154,7 +2464,10 @@ Total: 2999 - [parallel/test-stream-forEach.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-stream-forEach.js) - [parallel/test-stream-map.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-stream-map.js) - [parallel/test-stream-passthrough-drain.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-stream-passthrough-drain.js) +<<<<<<< HEAD - [parallel/test-stream-pipe-deadlock.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-stream-pipe-deadlock.js) +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) - [parallel/test-stream-pipe-error-unhandled.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-stream-pipe-error-unhandled.js) - [parallel/test-stream-pipeline-duplex.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-stream-pipeline-duplex.js) - [parallel/test-stream-pipeline-http2.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-stream-pipeline-http2.js) @@ -2166,6 +2479,7 @@ Total: 2999 - [parallel/test-stream-promises.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-stream-promises.js) - [parallel/test-stream-push-order.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-stream-push-order.js) - [parallel/test-stream-readable-async-iterators.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-stream-readable-async-iterators.js) +<<<<<<< HEAD - [parallel/test-stream-readable-dispose.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-stream-readable-dispose.js) - [parallel/test-stream-readable-strategy-option.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-stream-readable-strategy-option.js) - [parallel/test-stream-readable-unpipe-resume.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-stream-readable-unpipe-resume.js) @@ -2173,6 +2487,12 @@ Total: 2999 - [parallel/test-stream-set-default-hwm.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-stream-set-default-hwm.js) - [parallel/test-stream-toArray.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-stream-toArray.js) - [parallel/test-stream-toWeb-allows-server-response.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-stream-toWeb-allows-server-response.js) +======= +- [parallel/test-stream-readable-strategy-option.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-stream-readable-strategy-option.js) +- [parallel/test-stream-readable-unpipe-resume.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-stream-readable-unpipe-resume.js) +- [parallel/test-stream-reduce.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-stream-reduce.js) +- [parallel/test-stream-toArray.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-stream-toArray.js) +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) - [parallel/test-stream-transform-hwm0.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-stream-transform-hwm0.js) - [parallel/test-stream-wrap-drain.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-stream-wrap-drain.js) - [parallel/test-stream-wrap-encoding.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-stream-wrap-encoding.js) @@ -2185,7 +2505,10 @@ Total: 2999 - [parallel/test-stream-writable-samecb-singletick.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-stream-writable-samecb-singletick.js) - [parallel/test-stream2-finish-pipe-error.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-stream2-finish-pipe-error.js) - [parallel/test-stream2-httpclient-response-end.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-stream2-httpclient-response-end.js) +<<<<<<< HEAD - [parallel/test-stream3-pipeline-async-iterator.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-stream3-pipeline-async-iterator.js) +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) - [parallel/test-string-decoder-end.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-string-decoder-end.js) - [parallel/test-string-decoder-fuzz.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-string-decoder-fuzz.js) - [parallel/test-string-decoder.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-string-decoder.js) @@ -2203,7 +2526,10 @@ Total: 2999 - [parallel/test-timers-active.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-timers-active.js) - [parallel/test-timers-clearImmediate-als.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-timers-clearImmediate-als.js) - [parallel/test-timers-destroyed.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-timers-destroyed.js) +<<<<<<< HEAD - [parallel/test-timers-dispose.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-timers-dispose.js) +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) - [parallel/test-timers-enroll-invalid-msecs.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-timers-enroll-invalid-msecs.js) - [parallel/test-timers-enroll-second-time.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-timers-enroll-second-time.js) - [parallel/test-timers-immediate-promisified.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-timers-immediate-promisified.js) @@ -2240,7 +2566,10 @@ Total: 2999 - [parallel/test-timers-unrefed-in-callback.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-timers-unrefed-in-callback.js) - [parallel/test-timers.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-timers.js) - [parallel/test-tls-0-dns-altname.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-tls-0-dns-altname.js) +<<<<<<< HEAD - [parallel/test-tls-add-context.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-tls-add-context.js) +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) - [parallel/test-tls-addca.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-tls-addca.js) - [parallel/test-tls-alert-handling.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-tls-alert-handling.js) - [parallel/test-tls-alert.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-tls-alert.js) @@ -2448,10 +2777,15 @@ Total: 2999 - [parallel/test-trace-events-none.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-trace-events-none.js) - [parallel/test-trace-events-process-exit.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-trace-events-process-exit.js) - [parallel/test-trace-events-promises.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-trace-events-promises.js) +<<<<<<< HEAD - [parallel/test-trace-events-threadpool.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-trace-events-threadpool.js) - [parallel/test-trace-events-v8.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-trace-events-v8.js) - [parallel/test-trace-events-vm.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-trace-events-vm.js) - [parallel/test-trace-events-worker-metadata-with-name.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-trace-events-worker-metadata-with-name.js) +======= +- [parallel/test-trace-events-v8.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-trace-events-v8.js) +- [parallel/test-trace-events-vm.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-trace-events-vm.js) +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) - [parallel/test-trace-events-worker-metadata.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-trace-events-worker-metadata.js) - [parallel/test-trace-exit.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-trace-exit.js) - [parallel/test-tracing-no-crash.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-tracing-no-crash.js) @@ -2459,9 +2793,13 @@ Total: 2999 - [parallel/test-tty-stdin-pipe.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-tty-stdin-pipe.js) - [parallel/test-ttywrap-invalid-fd.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-ttywrap-invalid-fd.js) - [parallel/test-ttywrap-stack.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-ttywrap-stack.js) +<<<<<<< HEAD - [parallel/test-tz-version.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-tz-version.js) - [parallel/test-unhandled-exception-rethrow-error.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-unhandled-exception-rethrow-error.js) - [parallel/test-unhandled-exception-with-worker-inuse.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-unhandled-exception-with-worker-inuse.js) +======= +- [parallel/test-unhandled-exception-rethrow-error.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-unhandled-exception-rethrow-error.js) +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) - [parallel/test-unicode-node-options.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-unicode-node-options.js) - [parallel/test-url-null-char.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-url-null-char.js) - [parallel/test-url-parse-format.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-url-parse-format.js) @@ -2478,26 +2816,37 @@ Total: 2999 - [parallel/test-uv-errmap.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-uv-errmap.js) - [parallel/test-uv-errno.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-uv-errno.js) - [parallel/test-uv-unmapped-exception.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-uv-unmapped-exception.js) +<<<<<<< HEAD - [parallel/test-v8-collect-gc-profile-exit-before-stop.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-v8-collect-gc-profile-exit-before-stop.js) - [parallel/test-v8-collect-gc-profile-in-worker.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-v8-collect-gc-profile-in-worker.js) - [parallel/test-v8-collect-gc-profile.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-v8-collect-gc-profile.js) - [parallel/test-v8-coverage.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-v8-coverage.js) - [parallel/test-v8-deserialize-buffer.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-v8-deserialize-buffer.js) - [parallel/test-v8-flag-pool-size-0.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-v8-flag-pool-size-0.js) +======= +- [parallel/test-v8-coverage.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-v8-coverage.js) +- [parallel/test-v8-deserialize-buffer.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-v8-deserialize-buffer.js) +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) - [parallel/test-v8-flag-type-check.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-v8-flag-type-check.js) - [parallel/test-v8-flags.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-v8-flags.js) - [parallel/test-v8-getheapsnapshot-twice.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-v8-getheapsnapshot-twice.js) - [parallel/test-v8-global-setter.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-v8-global-setter.js) - [parallel/test-v8-serdes.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-v8-serdes.js) - [parallel/test-v8-serialize-leak.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-v8-serialize-leak.js) +<<<<<<< HEAD - [parallel/test-v8-startup-snapshot-api.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-v8-startup-snapshot-api.js) +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) - [parallel/test-v8-stats.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-v8-stats.js) - [parallel/test-v8-stop-coverage.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-v8-stop-coverage.js) - [parallel/test-v8-take-coverage-noop.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-v8-take-coverage-noop.js) - [parallel/test-v8-take-coverage.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-v8-take-coverage.js) - [parallel/test-v8-version-tag.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-v8-version-tag.js) - [parallel/test-validators.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-validators.js) +<<<<<<< HEAD - [parallel/test-vfs.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-vfs.js) +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) - [parallel/test-vm-access-process-env.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-vm-access-process-env.js) - [parallel/test-vm-api-handles-getter-errors.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-vm-api-handles-getter-errors.js) - [parallel/test-vm-attributes-property-not-on-sandbox.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-vm-attributes-property-not-on-sandbox.js) @@ -2520,7 +2869,10 @@ Total: 2999 - [parallel/test-vm-getters.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-vm-getters.js) - [parallel/test-vm-global-assignment.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-vm-global-assignment.js) - [parallel/test-vm-global-define-property.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-vm-global-define-property.js) +<<<<<<< HEAD - [parallel/test-vm-global-get-own.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-vm-global-get-own.js) +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) - [parallel/test-vm-global-identity.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-vm-global-identity.js) - [parallel/test-vm-global-non-writable-properties.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-vm-global-non-writable-properties.js) - [parallel/test-vm-global-property-interceptors.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-vm-global-property-interceptors.js) @@ -2543,7 +2895,10 @@ Total: 2999 - [parallel/test-vm-module-reevaluate.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-vm-module-reevaluate.js) - [parallel/test-vm-module-synthetic.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-vm-module-synthetic.js) - [parallel/test-vm-new-script-new-context.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-vm-new-script-new-context.js) +<<<<<<< HEAD - [parallel/test-vm-not-strict.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-vm-not-strict.js) +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) - [parallel/test-vm-options-validation.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-vm-options-validation.js) - [parallel/test-vm-parse-abort-on-uncaught-exception.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-vm-parse-abort-on-uncaught-exception.js) - [parallel/test-vm-preserves-property.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-vm-preserves-property.js) @@ -2553,10 +2908,15 @@ Total: 2999 - [parallel/test-vm-run-in-new-context.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-vm-run-in-new-context.js) - [parallel/test-vm-script-throw-in-tostring.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-vm-script-throw-in-tostring.js) - [parallel/test-vm-set-property-proxy.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-vm-set-property-proxy.js) +<<<<<<< HEAD - [parallel/test-vm-set-proto-null-on-globalthis.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-vm-set-proto-null-on-globalthis.js) - [parallel/test-vm-sigint-existing-handler.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-vm-sigint-existing-handler.js) - [parallel/test-vm-sigint.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-vm-sigint.js) - [parallel/test-vm-source-map-url.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-vm-source-map-url.js) +======= +- [parallel/test-vm-sigint-existing-handler.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-vm-sigint-existing-handler.js) +- [parallel/test-vm-sigint.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-vm-sigint.js) +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) - [parallel/test-vm-strict-assign.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-vm-strict-assign.js) - [parallel/test-vm-strict-mode.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-vm-strict-mode.js) - [parallel/test-vm-symbols.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-vm-symbols.js) @@ -2568,7 +2928,10 @@ Total: 2999 - [parallel/test-vm-timeout.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-vm-timeout.js) - [parallel/test-warn-sigprof.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-warn-sigprof.js) - [parallel/test-warn-stream-wrap.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-warn-stream-wrap.js) +<<<<<<< HEAD - [parallel/test-wasm-memory-out-of-bound.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-wasm-memory-out-of-bound.js) +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) - [parallel/test-wasm-simple.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-wasm-simple.js) - [parallel/test-wasm-web-api.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-wasm-web-api.js) - [parallel/test-weakref.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-weakref.js) @@ -2597,6 +2960,7 @@ Total: 2999 - [parallel/test-webcrypto-sign-verify-hmac.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-webcrypto-sign-verify-hmac.js) - [parallel/test-webcrypto-sign-verify-rsa.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-webcrypto-sign-verify-rsa.js) - [parallel/test-webcrypto-util.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-webcrypto-util.js) +<<<<<<< HEAD - [parallel/test-webcrypto-webidl.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-webcrypto-webidl.js) - [parallel/test-webcrypto-wrap-unwrap.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-webcrypto-wrap-unwrap.js) - [parallel/test-webstream-encoding-inspect.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-webstream-encoding-inspect.js) @@ -2606,6 +2970,11 @@ Total: 2999 - [parallel/test-webstreams-compose.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-webstreams-compose.js) - [parallel/test-webstreams-finished.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-webstreams-finished.js) - [parallel/test-webstreams-pipeline.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-webstreams-pipeline.js) +======= +- [parallel/test-webcrypto-wrap-unwrap.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-webcrypto-wrap-unwrap.js) +- [parallel/test-webstream-encoding-inspect.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-webstream-encoding-inspect.js) +- [parallel/test-webstream-readablestream-pipeto.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-webstream-readablestream-pipeto.js) +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) - [parallel/test-whatwg-encoding-custom-fatal-streaming.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-whatwg-encoding-custom-fatal-streaming.js) - [parallel/test-whatwg-encoding-custom-internals.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-whatwg-encoding-custom-internals.js) - [parallel/test-whatwg-encoding-custom-interop.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-whatwg-encoding-custom-interop.js) @@ -2620,7 +2989,10 @@ Total: 2999 - [parallel/test-whatwg-readablebytestream.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-whatwg-readablebytestream.js) - [parallel/test-whatwg-readablestream.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-whatwg-readablestream.js) - [parallel/test-whatwg-transformstream.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-whatwg-transformstream.js) +<<<<<<< HEAD - [parallel/test-whatwg-url-canparse.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-whatwg-url-canparse.js) +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) - [parallel/test-whatwg-url-custom-domainto.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-whatwg-url-custom-domainto.js) - [parallel/test-whatwg-url-custom-inspect.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-whatwg-url-custom-inspect.js) - [parallel/test-whatwg-url-custom-parsing.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-whatwg-url-custom-parsing.js) @@ -2690,7 +3062,10 @@ Total: 2999 - [parallel/test-worker-heap-snapshot.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-worker-heap-snapshot.js) - [parallel/test-worker-heapdump-failure.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-worker-heapdump-failure.js) - [parallel/test-worker-http2-generic-streams-terminate.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-worker-http2-generic-streams-terminate.js) +<<<<<<< HEAD - [parallel/test-worker-http2-stream-terminate.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-worker-http2-stream-terminate.js) +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) - [parallel/test-worker-init-failure.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-worker-init-failure.js) - [parallel/test-worker-invalid-workerdata.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-worker-invalid-workerdata.js) - [parallel/test-worker-load-file-with-extension-other-than-js.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-worker-load-file-with-extension-other-than-js.js) @@ -2729,13 +3104,19 @@ Total: 2999 - [parallel/test-worker-message-type-unknown.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-worker-message-type-unknown.js) - [parallel/test-worker-messageport-hasref.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-worker-messageport-hasref.js) - [parallel/test-worker-mjs-workerdata.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-worker-mjs-workerdata.js) +<<<<<<< HEAD - [parallel/test-worker-name.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-worker-name.js) +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) - [parallel/test-worker-nearheaplimit-deadlock.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-worker-nearheaplimit-deadlock.js) - [parallel/test-worker-nested-on-process-exit.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-worker-nested-on-process-exit.js) - [parallel/test-worker-nested-uncaught.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-worker-nested-uncaught.js) - [parallel/test-worker-nexttick-terminate.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-worker-nexttick-terminate.js) +<<<<<<< HEAD - [parallel/test-worker-no-atomics.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-worker-no-atomics.js) - [parallel/test-worker-no-sab.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-worker-no-sab.js) +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) - [parallel/test-worker-no-stdin-stdout-interaction.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-worker-no-stdin-stdout-interaction.js) - [parallel/test-worker-non-fatal-uncaught-exception.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-worker-non-fatal-uncaught-exception.js) - [parallel/test-worker-on-process-exit.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-worker-on-process-exit.js) @@ -2776,8 +3157,11 @@ Total: 2999 - [parallel/test-worker-unsupported-path.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-worker-unsupported-path.js) - [parallel/test-worker-unsupported-things.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-worker-unsupported-things.js) - [parallel/test-worker-vm-context-terminate.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-worker-vm-context-terminate.js) +<<<<<<< HEAD - [parallel/test-worker-voluntarily-exit-followed-by-addition.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-worker-voluntarily-exit-followed-by-addition.js) - [parallel/test-worker-voluntarily-exit-followed-by-throw.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-worker-voluntarily-exit-followed-by-throw.js) +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) - [parallel/test-worker-workerdata-messageport.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-worker-workerdata-messageport.js) - [parallel/test-worker-workerdata-sharedarraybuffer.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-worker-workerdata-sharedarraybuffer.js) - [parallel/test-worker.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-worker.js) @@ -2877,10 +3261,18 @@ Total: 2999 - [pummel/test-https-large-response.js](https://github.com/nodejs/node/tree/v18.12.1/test/pummel/test-https-large-response.js) - [pummel/test-https-no-reader.js](https://github.com/nodejs/node/tree/v18.12.1/test/pummel/test-https-no-reader.js) - [pummel/test-keep-alive.js](https://github.com/nodejs/node/tree/v18.12.1/test/pummel/test-keep-alive.js) +<<<<<<< HEAD +======= +- [pummel/test-net-bytes-per-incoming-chunk-overhead.js](https://github.com/nodejs/node/tree/v18.12.1/test/pummel/test-net-bytes-per-incoming-chunk-overhead.js) +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) - [pummel/test-net-many-clients.js](https://github.com/nodejs/node/tree/v18.12.1/test/pummel/test-net-many-clients.js) - [pummel/test-net-pause.js](https://github.com/nodejs/node/tree/v18.12.1/test/pummel/test-net-pause.js) - [pummel/test-net-pingpong-delay.js](https://github.com/nodejs/node/tree/v18.12.1/test/pummel/test-net-pingpong-delay.js) - [pummel/test-net-pingpong.js](https://github.com/nodejs/node/tree/v18.12.1/test/pummel/test-net-pingpong.js) +<<<<<<< HEAD +======= +- [pummel/test-net-throttle.js](https://github.com/nodejs/node/tree/v18.12.1/test/pummel/test-net-throttle.js) +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) - [pummel/test-net-timeout.js](https://github.com/nodejs/node/tree/v18.12.1/test/pummel/test-net-timeout.js) - [pummel/test-net-timeout2.js](https://github.com/nodejs/node/tree/v18.12.1/test/pummel/test-net-timeout2.js) - [pummel/test-net-write-callbacks.js](https://github.com/nodejs/node/tree/v18.12.1/test/pummel/test-net-write-callbacks.js) @@ -2930,18 +3322,49 @@ Total: 2999 - [sequential/test-cpu-prof-worker-argv.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-cpu-prof-worker-argv.js) - [sequential/test-crypto-timing-safe-equal.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-crypto-timing-safe-equal.js) - [sequential/test-debug-prompt.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-debug-prompt.js) +<<<<<<< HEAD - [sequential/test-debugger-custom-port.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-debugger-custom-port.js) - [sequential/test-debugger-debug-brk.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-debugger-debug-brk.js) - [sequential/test-debugger-invalid-args.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-debugger-invalid-args.js) - [sequential/test-debugger-pid.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-debugger-pid.js) +======= +- [sequential/test-debugger-backtrace.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-debugger-backtrace.js) +- [sequential/test-debugger-break.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-debugger-break.js) +- [sequential/test-debugger-breakpoint-exists.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-debugger-breakpoint-exists.js) +- [sequential/test-debugger-clear-breakpoints.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-debugger-clear-breakpoints.js) +- [sequential/test-debugger-custom-port.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-debugger-custom-port.js) +- [sequential/test-debugger-debug-brk.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-debugger-debug-brk.js) +- [sequential/test-debugger-exceptions.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-debugger-exceptions.js) +- [sequential/test-debugger-exec.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-debugger-exec.js) +- [sequential/test-debugger-heap-profiler.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-debugger-heap-profiler.js) +- [sequential/test-debugger-invalid-args.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-debugger-invalid-args.js) +- [sequential/test-debugger-list.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-debugger-list.js) +- [sequential/test-debugger-low-level.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-debugger-low-level.js) +- [sequential/test-debugger-object-type-remote-object.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-debugger-object-type-remote-object.js) +- [sequential/test-debugger-pid.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-debugger-pid.js) +- [sequential/test-debugger-preserve-breaks.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-debugger-preserve-breaks.js) +- [sequential/test-debugger-profile-command.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-debugger-profile-command.js) +- [sequential/test-debugger-profile.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-debugger-profile.js) +- [sequential/test-debugger-random-port-with-inspect-port.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-debugger-random-port-with-inspect-port.js) +- [sequential/test-debugger-random-port.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-debugger-random-port.js) +- [sequential/test-debugger-repeat-last.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-debugger-repeat-last.js) +- [sequential/test-debugger-restart-message.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-debugger-restart-message.js) +- [sequential/test-debugger-run-after-quit-restart.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-debugger-run-after-quit-restart.js) +- [sequential/test-debugger-sb-before-load.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-debugger-sb-before-load.js) +- [sequential/test-debugger-scripts.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-debugger-scripts.js) +- [sequential/test-debugger-use-strict.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-debugger-use-strict.js) +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) - [sequential/test-deprecation-flags.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-deprecation-flags.js) - [sequential/test-dgram-bind-shared-ports.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-dgram-bind-shared-ports.js) - [sequential/test-dgram-implicit-bind-failure.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-dgram-implicit-bind-failure.js) - [sequential/test-dgram-pingpong.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-dgram-pingpong.js) - [sequential/test-diagnostic-dir-cpu-prof.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-diagnostic-dir-cpu-prof.js) - [sequential/test-diagnostic-dir-heap-prof.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-diagnostic-dir-heap-prof.js) +<<<<<<< HEAD - [sequential/test-fs-opendir-recursive.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-fs-opendir-recursive.js) - [sequential/test-fs-readdir-recursive.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-fs-readdir-recursive.js) +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) - [sequential/test-fs-stat-sync-overflow.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-fs-stat-sync-overflow.js) - [sequential/test-fs-watch.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-fs-watch.js) - [sequential/test-gc-http-client-onerror.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-gc-http-client-onerror.js) @@ -2965,7 +3388,39 @@ Total: 2999 - [sequential/test-https-connect-localport.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-https-connect-localport.js) - [sequential/test-https-server-keep-alive-timeout.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-https-server-keep-alive-timeout.js) - [sequential/test-init.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-init.js) +<<<<<<< HEAD - [sequential/test-inspector-port-cluster.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-inspector-port-cluster.js) +======= +- [sequential/test-inspector-async-call-stack-abort.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-inspector-async-call-stack-abort.js) +- [sequential/test-inspector-async-call-stack.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-inspector-async-call-stack.js) +- [sequential/test-inspector-async-hook-setup-at-inspect-brk.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-inspector-async-hook-setup-at-inspect-brk.js) +- [sequential/test-inspector-async-hook-setup-at-signal.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-inspector-async-hook-setup-at-signal.js) +- [sequential/test-inspector-async-stack-traces-promise-then.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-inspector-async-stack-traces-promise-then.js) +- [sequential/test-inspector-async-stack-traces-set-interval.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-inspector-async-stack-traces-set-interval.js) +- [sequential/test-inspector-break-e.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-inspector-break-e.js) +- [sequential/test-inspector-break-when-eval.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-inspector-break-when-eval.js) +- [sequential/test-inspector-console.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-inspector-console.js) +- [sequential/test-inspector-contexts.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-inspector-contexts.js) +- [sequential/test-inspector-debug-brk-flag.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-inspector-debug-brk-flag.js) +- [sequential/test-inspector-debug-end.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-inspector-debug-end.js) +- [sequential/test-inspector-enabled.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-inspector-enabled.js) +- [sequential/test-inspector-exception.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-inspector-exception.js) +- [sequential/test-inspector-has-inspector-false.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-inspector-has-inspector-false.js) +- [sequential/test-inspector-invalid-args.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-inspector-invalid-args.js) +- [sequential/test-inspector-ip-detection.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-inspector-ip-detection.js) +- [sequential/test-inspector-not-blocked-on-idle.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-inspector-not-blocked-on-idle.js) +- [sequential/test-inspector-open.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-inspector-open.js) +- [sequential/test-inspector-overwrite-config.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-inspector-overwrite-config.js) +- [sequential/test-inspector-port-cluster.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-inspector-port-cluster.js) +- [sequential/test-inspector-port-zero.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-inspector-port-zero.js) +- [sequential/test-inspector-resource-name-to-url.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-inspector-resource-name-to-url.js) +- [sequential/test-inspector-runtime-evaluate-with-timeout.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-inspector-runtime-evaluate-with-timeout.js) +- [sequential/test-inspector-scriptparsed-context.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-inspector-scriptparsed-context.js) +- [sequential/test-inspector-stop-profile-after-done.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-inspector-stop-profile-after-done.js) +- [sequential/test-inspector-stops-no-file.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-inspector-stops-no-file.js) +- [sequential/test-inspector-stress-http.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-inspector-stress-http.js) +- [sequential/test-inspector.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-inspector.js) +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) - [sequential/test-module-loading.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-module-loading.js) - [sequential/test-net-GH-5504.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-net-GH-5504.js) - [sequential/test-net-better-error-messages-port.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-net-better-error-messages-port.js) @@ -3003,4 +3458,8 @@ Total: 2999 - [sequential/test-worker-eventlooputil.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-worker-eventlooputil.js) - [sequential/test-worker-fshandles-error-on-termination.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-worker-fshandles-error-on-termination.js) - [sequential/test-worker-fshandles-open-close-on-termination.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-worker-fshandles-open-close-on-termination.js) +<<<<<<< HEAD +======= +- [sequential/test-worker-http2-stream-terminate.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-worker-http2-stream-terminate.js) +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) - [sequential/test-worker-prof.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-worker-prof.js) diff --git a/tools/node_compat/node b/tools/node_compat/node index b114fad0ec..d0d9c1ba9d 160000 --- a/tools/node_compat/node +++ b/tools/node_compat/node @@ -1 +1 @@ -Subproject commit b114fad0ec952fddddefc8972c43d2959388bbc1 +Subproject commit d0d9c1ba9d3facf1086438e21d6d329c599e5a3b diff --git a/tools/release/release_doc_template.md b/tools/release/release_doc_template.md index 696138dcaf..7c9bb8f0d0 100644 --- a/tools/release/release_doc_template.md +++ b/tools/release/release_doc_template.md @@ -6,8 +6,13 @@ [`denoland/deno`](https://github.com/denoland/deno/), [`denoland/deno_std`](https://github.com/denoland/deno_std/), [`denoland/dotcom`](https://github.com/denoland/dotcom/), +<<<<<<< HEAD [`denoland/deno_docker`](https://github.com/denoland/deno_docker/), [`denoland/deno-docs`](https://github.com/denoland/deno-docs) +======= + [`denoland/deno_docker`](https://github.com/denoland/deno_docker/) + [`denoland/manual`](https://github.com/denoland/manual/) +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) **During this process `main` branch (or any other branch that you're creating release from) should be frozen and no commits should land until the release is @@ -131,10 +136,34 @@ verify on GitHub that everything looks correct. The CI pipeline will create a release draft on GitHub (https://github.com/denoland/deno/releases). +<<<<<<< HEAD +======= +- [ ] Upload Apple M1 build (`deno-aarch64-apple-darwin.zip`) to the release + draft and to https://console.cloud.google.com/storage/browser/dl.deno.land + + Send the following commands: + + ``` + git fetch upstream $BRANCH_NAME && git checkout -B $BRANCH_NAME upstream/$BRANCH_NAME + cargo build --release + cd target/release + set DENO_VERSION (./deno -V) + echo "Built $DENO_VERSION" + test $DENO_VERSION = "deno $VERSION"; or begin; echo "Version didn't match!!!"; exit 1; end + zip -r deno-aarch64-apple-darwin.zip deno + ``` + + And ask them to upload to these links: + + - https://console.cloud.google.com/storage/browser/dl.deno.land/release/v$VERSION + - https://github.com/denoland/deno/releases/ + +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) - ⛔ Verify that: - [ ] There are 8 assets on the release draft. - [ ] There are 4 zip files for this version on [dl.deno.land](https://console.cloud.google.com/storage/browser/dl.deno.land/release/v$VERSION). +<<<<<<< HEAD - [ ] Publish the release on Github @@ -146,6 +175,21 @@ verify on GitHub that everything looks correct. https://github.com/denoland/deno-docs/actions/workflows/update_versions.yml to automatically open a PR. - [ ] Merge the PR. +======= + - [ ] The aarch64 Mac build was built from the correct branch AFTER the + version bump and has the same version as the release when doing + `deno -V` (ask someone with an M1 Mac to verify this if you don't have + one). + +- [ ] Publish the release on Github + +- [ ] Update https://github.com/denoland/dotcom/blob/main/versions.json, open a + PR and merge. + +- [ ] Run + https://github.com/denoland/deno-docs/actions/workflows/update_versions.yml + and merge the PR. +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) - [ ] For minor releases: make sure https://github.com/mdn/browser-compat-data has been updated to reflect Web API changes in this release. Usually done @@ -162,7 +206,10 @@ script generates the symbols based on the latest tags. - [ ] Run the release workflow in the apiland_scripts repo on the main branch: https://github.com/denoland/apiland_scripts/actions/workflows/release.yml +<<<<<<< HEAD - [ ] Verify the workflow ran successfully. +======= +>>>>>>> 8c07f52a7 (1.38.4 (#21398))
Failure Steps diff --git a/tools/wpt/expectation.json b/tools/wpt/expectation.json index 3b4b3b9d40..ab920762c5 100644 --- a/tools/wpt/expectation.json +++ b/tools/wpt/expectation.json @@ -3204,9 +3204,13 @@ "respond-after-enqueue.any.html": true, "respond-after-enqueue.any.worker.html": true, "enqueue-with-detached-buffer.any.html": true, +<<<<<<< HEAD "enqueue-with-detached-buffer.any.worker.html": true, "read-min.any.html": true, "read-min.any.worker.html": true +======= + "enqueue-with-detached-buffer.any.worker.html": true +>>>>>>> 8c07f52a7 (1.38.4 (#21398)) }, "readable-streams": { "async-iterator.any.html": true,