diff --git a/Cargo.lock b/Cargo.lock
index 2c3e8cf042a1f8..f74fe8436ad2dd 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -60,9 +60,9 @@ dependencies = [
[[package]]
name = "anyhow"
-version = "1.0.34"
+version = "1.0.35"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bf8dcb5b4bbaa28653b647d8c77bd4ed40183b48882e130c1f1ffb73de069fd7"
+checksum = "2c0df63cb2955042487fad3aefd2c6e3ae7389ac5dc1beb28921de0b69f779d4"
[[package]]
name = "anymap"
@@ -110,6 +110,17 @@ dependencies = [
"pin-project-lite 0.1.7",
]
+[[package]]
+name = "async-trait"
+version = "0.1.42"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8d3a45e77e34375a7923b1e8febb049bb011f064714a8e17a1a616fef01da13d"
+dependencies = [
+ "proc-macro2 1.0.24",
+ "quote 1.0.7",
+ "syn 1.0.48",
+]
+
[[package]]
name = "atty"
version = "0.2.14"
@@ -122,10 +133,16 @@ dependencies = [
]
[[package]]
-name = "autocfg"
-version = "0.1.7"
+name = "auto_impl"
+version = "0.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1d49d90015b3c36167a20fe2810c5cd875ad504b39cff3d4eae7977e6b7c1cb2"
+checksum = "42cbf586c80ada5e5ccdecae80d3ef0854f224e2dd74435f8d87e6831b8d0a38"
+dependencies = [
+ "proc-macro-error",
+ "proc-macro2 1.0.24",
+ "quote 1.0.7",
+ "syn 1.0.48",
+]
[[package]]
name = "autocfg"
@@ -151,34 +168,13 @@ version = "1.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693"
-[[package]]
-name = "block-buffer"
-version = "0.7.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c0940dc441f31689269e10ac70eb1002a3a1d3ad1390e030043662eb7fe4688b"
-dependencies = [
- "block-padding",
- "byte-tools",
- "byteorder",
- "generic-array 0.12.3",
-]
-
[[package]]
name = "block-buffer"
version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4"
dependencies = [
- "generic-array 0.14.4",
-]
-
-[[package]]
-name = "block-padding"
-version = "0.1.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fa79dedbb091f449f1f39e53edf88d5dbe95f895dae6135a8d7b881fb5af73f5"
-dependencies = [
- "byte-tools",
+ "generic-array",
]
[[package]]
@@ -202,16 +198,6 @@ dependencies = [
"alloc-stdlib",
]
-[[package]]
-name = "buf_redux"
-version = "0.8.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b953a6887648bb07a535631f2bc00fbdb2a2216f135552cb3f534ed136b9c07f"
-dependencies = [
- "memchr",
- "safemem",
-]
-
[[package]]
name = "build_const"
version = "0.2.1"
@@ -224,12 +210,6 @@ version = "3.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2e8c087f005730276d1096a652e92a8bacee2e2472bcc9715a74d2bec38b5820"
-[[package]]
-name = "byte-tools"
-version = "0.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e3b5ca7a04898ad4bcd41c90c5285445ff5b791899bb1b0abdd2a2aa791211d7"
-
[[package]]
name = "byteorder"
version = "1.3.4"
@@ -256,9 +236,9 @@ checksum = "5ba7d7f7b201dfcbc314b14f2176c92f8ba521dab538b40e426ffed25ed7cd80"
[[package]]
name = "cc"
-version = "1.0.59"
+version = "1.0.66"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "66120af515773fb005778dc07c261bd201ec8ce50bd6e7144c927753fe013381"
+checksum = "4c0496836a84f8d0495758516b8621a622beb77c0fed418570e50764093ced48"
[[package]]
name = "cfg-if"
@@ -298,15 +278,6 @@ dependencies = [
"vec_map",
]
-[[package]]
-name = "cloudabi"
-version = "0.0.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f"
-dependencies = [
- "bitflags",
-]
-
[[package]]
name = "cloudabi"
version = "0.1.0"
@@ -376,7 +347,7 @@ version = "0.7.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c3c7c73a2d1e9fc0886a08b93e98eb643461230d5f1925e4036204d5f2e261a8"
dependencies = [
- "autocfg 1.0.1",
+ "autocfg",
"cfg-if 0.1.10",
"lazy_static",
]
@@ -429,22 +400,20 @@ dependencies = [
[[package]]
name = "deno"
-version = "1.5.4"
+version = "1.6.2"
dependencies = [
"atty",
"base64 0.12.3",
"byteorder",
- "bytes 0.5.6",
"chrono",
"clap",
"deno_core",
- "deno_crypto",
"deno_doc",
"deno_fetch",
"deno_lint",
+ "deno_runtime",
"deno_web",
"dissimilar",
- "dlopen",
"dprint-plugin-typescript",
"encoding_rs",
"env_logger",
@@ -457,9 +426,11 @@ dependencies = [
"lazy_static",
"libc",
"log",
+ "lspower",
"nix",
"notify",
"os_pipe",
+ "percent-encoding",
"regex",
"ring",
"rustyline",
@@ -471,25 +442,22 @@ dependencies = [
"swc_bundler",
"swc_common",
"swc_ecmascript",
- "sys-info",
"tempfile",
"termcolor",
"test_util",
"tokio 0.2.22",
"tokio-rustls",
"tokio-tungstenite",
+ "tower-test",
"uuid",
"walkdir",
- "warp",
- "webpki",
- "webpki-roots",
"winapi 0.3.9",
"winres",
]
[[package]]
name = "deno_core"
-version = "0.69.0"
+version = "0.74.0"
dependencies = [
"anyhow",
"futures",
@@ -497,27 +465,28 @@ dependencies = [
"lazy_static",
"libc",
"log",
+ "pin-project 1.0.2",
"rusty_v8",
"serde",
"serde_json",
"smallvec",
- "tokio 0.3.4",
+ "tokio 0.3.5",
"url",
]
[[package]]
name = "deno_crypto"
-version = "0.3.0"
+version = "0.8.0"
dependencies = [
"deno_core",
- "rand 0.7.3",
+ "rand",
]
[[package]]
name = "deno_doc"
-version = "0.1.17"
+version = "0.1.19"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5d9f85238450c18dcd5fef41926800fe7d80fc83fd4a6d5416549527cca044b2"
+checksum = "68b5a8d931f83afd08af0ed58a3a95d23d6ed5122934db9fa0625bc15a8bed02"
dependencies = [
"futures",
"lazy_static",
@@ -531,7 +500,7 @@ dependencies = [
[[package]]
name = "deno_fetch"
-version = "0.12.0"
+version = "0.17.0"
dependencies = [
"deno_core",
"reqwest",
@@ -540,9 +509,9 @@ dependencies = [
[[package]]
name = "deno_lint"
-version = "0.2.12"
+version = "0.2.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dc89fe2e4200cb29a572ff8a35e6ff3779ee8dfcc2b094de4ac180e631743f67"
+checksum = "e5fb9a8a07a58414172fdf46eaa88551f238575f52a2fd39bebbfa00626be608"
dependencies = [
"anyhow",
"derive_more",
@@ -556,9 +525,51 @@ dependencies = [
"swc_ecmascript",
]
+[[package]]
+name = "deno_runtime"
+version = "0.4.0"
+dependencies = [
+ "atty",
+ "deno_core",
+ "deno_crypto",
+ "deno_fetch",
+ "deno_web",
+ "dlopen",
+ "encoding_rs",
+ "env_logger",
+ "filetime",
+ "fwdansi",
+ "http",
+ "hyper",
+ "indexmap",
+ "lazy_static",
+ "libc",
+ "log",
+ "nix",
+ "notify",
+ "percent-encoding",
+ "regex",
+ "ring",
+ "rustyline",
+ "rustyline-derive",
+ "serde",
+ "shell-escape",
+ "sys-info",
+ "termcolor",
+ "test_util",
+ "tokio 0.2.22",
+ "tokio-rustls",
+ "tokio-tungstenite",
+ "uuid",
+ "webpki",
+ "webpki-roots",
+ "winapi 0.3.9",
+ "winres",
+]
+
[[package]]
name = "deno_web"
-version = "0.20.0"
+version = "0.25.0"
dependencies = [
"deno_core",
"futures",
@@ -577,22 +588,13 @@ dependencies = [
"syn 1.0.48",
]
-[[package]]
-name = "digest"
-version = "0.8.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f3d0c8c8752312f9713efd397ff63acb9f85585afbf179282e720e7704954dd5"
-dependencies = [
- "generic-array 0.12.3",
-]
-
[[package]]
name = "digest"
version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066"
dependencies = [
- "generic-array 0.14.4",
+ "generic-array",
]
[[package]]
@@ -635,9 +637,9 @@ dependencies = [
[[package]]
name = "dprint-plugin-typescript"
-version = "0.35.0"
+version = "0.36.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "15a5a28bd6eca62b901835ad9add8cb0be18f345cb27ea46192dc8b57e3ffee8"
+checksum = "8344f63ab5f12f9f8cffa78c90e0aad001361cdddfa12bb733e2d5f0424c36d6"
dependencies = [
"dprint-core",
"serde",
@@ -733,12 +735,6 @@ dependencies = [
"libc",
]
-[[package]]
-name = "fake-simd"
-version = "0.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed"
-
[[package]]
name = "filetime"
version = "0.2.12"
@@ -775,6 +771,16 @@ version = "1.0.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
+[[package]]
+name = "form_urlencoded"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ece68d15c92e84fa4f19d3780f1294e5ca82a78a6d515f1efaabcc144688be00"
+dependencies = [
+ "matches",
+ "percent-encoding",
+]
+
[[package]]
name = "from_variant"
version = "0.1.2"
@@ -816,12 +822,6 @@ dependencies = [
"libc",
]
-[[package]]
-name = "fuchsia-cprng"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba"
-
[[package]]
name = "fuchsia-zircon"
version = "0.3.3"
@@ -958,15 +958,6 @@ version = "0.3.55"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8f5f3913fa0bfe7ee1fd8248b6b9f42a5af4b9d65ec2dd2c3c26132b950ecfc2"
-[[package]]
-name = "generic-array"
-version = "0.12.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c68f0274ae0e023facc3c97b2e00f076be70e254bc851d972503b328db79b2ec"
-dependencies = [
- "typenum",
-]
-
[[package]]
name = "generic-array"
version = "0.14.4"
@@ -1014,28 +1005,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "00d63df3d41950fb462ed38308eea019113ad1508da725bbedcd0fa5a85ef5f7"
[[package]]
-name = "headers"
-version = "0.3.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ed18eb2459bf1a09ad2d6b1547840c3e5e62882fa09b9a6a20b1de8e3228848f"
-dependencies = [
- "base64 0.12.3",
- "bitflags",
- "bytes 0.5.6",
- "headers-core",
- "http",
- "mime",
- "sha-1 0.8.2",
- "time",
-]
-
-[[package]]
-name = "headers-core"
-version = "0.2.0"
+name = "heck"
+version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e7f66481bfee273957b1f20485a4ff3362987f85b2c236580d81b4eb7a326429"
+checksum = "20564e78d53d2bb135c343b3f47714a56af2061f1c928fdb541dc7b9fdd94205"
dependencies = [
- "http",
+ "unicode-segmentation",
]
[[package]]
@@ -1074,6 +1049,12 @@ version = "1.3.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cd179ae861f0c2e53da70d892f5f3029f9594be0c41dc5269cd371691b1dc2f9"
+[[package]]
+name = "httpdate"
+version = "0.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "494b4d60369511e7dea41cf646832512a94e542f68bb9c49e54518e0f468eb47"
+
[[package]]
name = "humantime"
version = "1.3.0"
@@ -1085,9 +1066,9 @@ dependencies = [
[[package]]
name = "hyper"
-version = "0.13.7"
+version = "0.13.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3e68a8dd9716185d9e64ea473ea6ef63529252e3e27623295a0378a19665d5eb"
+checksum = "f6ad767baac13b44d4529fcf58ba2cd0995e36e7b435bc5b039de6f47e880dbf"
dependencies = [
"bytes 0.5.6",
"futures-channel",
@@ -1097,10 +1078,10 @@ dependencies = [
"http",
"http-body",
"httparse",
+ "httpdate",
"itoa",
- "pin-project 0.4.23",
+ "pin-project 1.0.2",
"socket2",
- "time",
"tokio 0.2.22",
"tower-service",
"tracing",
@@ -1152,7 +1133,7 @@ version = "1.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "55e2e4c765aa53a0424761bf9f41aa7a6ac1efa87238f59560640e27fca028f2"
dependencies = [
- "autocfg 1.0.1",
+ "autocfg",
"hashbrown",
]
@@ -1239,9 +1220,9 @@ dependencies = [
[[package]]
name = "jsdoc"
-version = "0.11.0"
+version = "0.12.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "18e220ced55f8e93f0a3fb6b6f7c5829235299d818dac283535760a4182b5f0a"
+checksum = "8dd6d090c0140363cb94f672def08187d731ecdf28b84a1fc8e55386a2ca2c77"
dependencies = [
"nom",
"serde",
@@ -1314,6 +1295,54 @@ dependencies = [
"cfg-if 0.1.10",
]
+[[package]]
+name = "lsp-types"
+version = "0.85.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "857650f3e83fb62f89d15410414e0ed7d0735445020da398d37f65d20a5423b9"
+dependencies = [
+ "base64 0.12.3",
+ "bitflags",
+ "serde",
+ "serde_json",
+ "serde_repr",
+ "url",
+]
+
+[[package]]
+name = "lspower"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "64106b17ca8f6f73cc21a3d1f39684ff65293a291aa96026aee85eaae02339a5"
+dependencies = [
+ "async-trait",
+ "auto_impl",
+ "bytes 0.5.6",
+ "dashmap",
+ "futures",
+ "log",
+ "lsp-types",
+ "lspower-macros",
+ "nom",
+ "serde",
+ "serde_json",
+ "tokio 0.2.22",
+ "tokio-util",
+ "tower-service",
+]
+
+[[package]]
+name = "lspower-macros"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "10b77a3b4fcd1a014a7a7a1043a5c3646068abfc75b46a9f2c4ab813d53f7c3c"
+dependencies = [
+ "heck",
+ "proc-macro2 1.0.24",
+ "quote 1.0.7",
+ "syn 1.0.48",
+]
+
[[package]]
name = "matches"
version = "0.1.8"
@@ -1355,7 +1384,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c60c0dfe32c10b43a144bad8fc83538c52f58302c92300ea7ec7bf7b38d5a7b9"
dependencies = [
"adler",
- "autocfg 1.0.1",
+ "autocfg",
]
[[package]]
@@ -1447,24 +1476,6 @@ dependencies = [
"winapi 0.3.9",
]
-[[package]]
-name = "multipart"
-version = "0.17.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8209c33c951f07387a8497841122fc6f712165e3f9bda3e6be4645b58188f676"
-dependencies = [
- "buf_redux",
- "httparse",
- "log",
- "mime",
- "mime_guess",
- "quick-error",
- "rand 0.6.5",
- "safemem",
- "tempfile",
- "twoway",
-]
-
[[package]]
name = "net2"
version = "0.2.35"
@@ -1540,7 +1551,7 @@ version = "0.2.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "090c7f9998ee0ff65aa5b723e4009f7b217707f1fb5ea551329cc4d6231fb304"
dependencies = [
- "autocfg 1.0.1",
+ "autocfg",
"num-integer",
"num-traits",
"serde",
@@ -1552,7 +1563,7 @@ version = "0.1.43"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8d59457e662d541ba17869cf51cf177c0b5f0cbf476c66bdc90bf1edac4f875b"
dependencies = [
- "autocfg 1.0.1",
+ "autocfg",
"num-traits",
]
@@ -1562,7 +1573,7 @@ version = "0.2.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ac267bcc07f48ee5f8935ab0d24f316fb722d7a1292e2913f0cc196b29ffd611"
dependencies = [
- "autocfg 1.0.1",
+ "autocfg",
]
[[package]]
@@ -1581,12 +1592,6 @@ version = "1.5.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "13bd41f508810a131401606d54ac32a467c97172d74ba7662562ebba5ad07fa0"
-[[package]]
-name = "opaque-debug"
-version = "0.2.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2839e79665f131bdb5782e51f2c6c9599c133c6098982a54c794358bf432529c"
-
[[package]]
name = "opaque-debug"
version = "0.3.0"
@@ -1639,7 +1644,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c361aa727dd08437f2f1447be8b59a33b0edd15e0fcee698f935613d9efbca9b"
dependencies = [
"cfg-if 0.1.10",
- "cloudabi 0.1.0",
+ "cloudabi",
"instant",
"libc",
"redox_syscall",
@@ -1681,7 +1686,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "17367f0cc86f2d25802b2c26ee58a7b23faeccf78a396094c13dced0d0182526"
dependencies = [
"phf_shared",
- "rand 0.7.3",
+ "rand",
]
[[package]]
@@ -1788,6 +1793,30 @@ version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c"
+[[package]]
+name = "proc-macro-error"
+version = "1.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c"
+dependencies = [
+ "proc-macro-error-attr",
+ "proc-macro2 1.0.24",
+ "quote 1.0.7",
+ "syn 1.0.48",
+ "version_check",
+]
+
+[[package]]
+name = "proc-macro-error-attr"
+version = "1.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869"
+dependencies = [
+ "proc-macro2 1.0.24",
+ "quote 1.0.7",
+ "version_check",
+]
+
[[package]]
name = "proc-macro-hack"
version = "0.5.19"
@@ -1858,25 +1887,6 @@ version = "1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ce082a9940a7ace2ad4a8b7d0b1eac6aa378895f18be598230c5f2284ac05426"
-[[package]]
-name = "rand"
-version = "0.6.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6d71dacdc3c88c1fde3885a3be3fbab9f35724e6ce99467f7d9c5026132184ca"
-dependencies = [
- "autocfg 0.1.7",
- "libc",
- "rand_chacha 0.1.1",
- "rand_core 0.4.2",
- "rand_hc 0.1.0",
- "rand_isaac",
- "rand_jitter",
- "rand_os",
- "rand_pcg 0.1.2",
- "rand_xorshift",
- "winapi 0.3.9",
-]
-
[[package]]
name = "rand"
version = "0.7.3"
@@ -1885,20 +1895,10 @@ checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03"
dependencies = [
"getrandom",
"libc",
- "rand_chacha 0.2.2",
- "rand_core 0.5.1",
- "rand_hc 0.2.0",
- "rand_pcg 0.2.1",
-]
-
-[[package]]
-name = "rand_chacha"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "556d3a1ca6600bfcbab7c7c91ccb085ac7fbbcd70e008a98742e7847f4f7bcef"
-dependencies = [
- "autocfg 0.1.7",
- "rand_core 0.3.1",
+ "rand_chacha",
+ "rand_core",
+ "rand_hc",
+ "rand_pcg",
]
[[package]]
@@ -1908,24 +1908,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402"
dependencies = [
"ppv-lite86",
- "rand_core 0.5.1",
+ "rand_core",
]
-[[package]]
-name = "rand_core"
-version = "0.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7a6fdeb83b075e8266dcc8762c22776f6877a63111121f5f8c7411e5be7eed4b"
-dependencies = [
- "rand_core 0.4.2",
-]
-
-[[package]]
-name = "rand_core"
-version = "0.4.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9c33a3c44ca05fa6f1807d8e6743f3824e8509beca625669633be0acbdf509dc"
-
[[package]]
name = "rand_core"
version = "0.5.1"
@@ -1935,66 +1920,13 @@ dependencies = [
"getrandom",
]
-[[package]]
-name = "rand_hc"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7b40677c7be09ae76218dc623efbf7b18e34bced3f38883af07bb75630a21bc4"
-dependencies = [
- "rand_core 0.3.1",
-]
-
[[package]]
name = "rand_hc"
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c"
dependencies = [
- "rand_core 0.5.1",
-]
-
-[[package]]
-name = "rand_isaac"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ded997c9d5f13925be2a6fd7e66bf1872597f759fd9dd93513dd7e92e5a5ee08"
-dependencies = [
- "rand_core 0.3.1",
-]
-
-[[package]]
-name = "rand_jitter"
-version = "0.1.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1166d5c91dc97b88d1decc3285bb0a99ed84b05cfd0bc2341bdf2d43fc41e39b"
-dependencies = [
- "libc",
- "rand_core 0.4.2",
- "winapi 0.3.9",
-]
-
-[[package]]
-name = "rand_os"
-version = "0.1.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7b75f676a1e053fc562eafbb47838d67c84801e38fc1ba459e8f180deabd5071"
-dependencies = [
- "cloudabi 0.0.3",
- "fuchsia-cprng",
- "libc",
- "rand_core 0.4.2",
- "rdrand",
- "winapi 0.3.9",
-]
-
-[[package]]
-name = "rand_pcg"
-version = "0.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "abf9b09b01790cfe0364f52bf32995ea3c39f4d2dd011eac241d2914146d0b44"
-dependencies = [
- "autocfg 0.1.7",
- "rand_core 0.4.2",
+ "rand_core",
]
[[package]]
@@ -2003,25 +1935,7 @@ version = "0.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "16abd0c1b639e9eb4d7c50c0b8100b0d0f849be2349829c740fe8e6eb4816429"
dependencies = [
- "rand_core 0.5.1",
-]
-
-[[package]]
-name = "rand_xorshift"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cbf7e9e623549b0e21f6e97cf8ecf247c1a8fd2e8a992ae265314300b2455d5c"
-dependencies = [
- "rand_core 0.3.1",
-]
-
-[[package]]
-name = "rdrand"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "678054eb77286b51581ba43620cc911abf02758c91f93f479767aed0f90458b2"
-dependencies = [
- "rand_core 0.3.1",
+ "rand_core",
]
[[package]]
@@ -2108,9 +2022,9 @@ checksum = "e005d658ad26eacc2b6c506dfde519f4e277e328d0eb3379ca61647d70a8f531"
[[package]]
name = "ring"
-version = "0.16.15"
+version = "0.16.19"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "952cd6b98c85bbc30efa1ba5783b8abf12fec8b3287ffa52605b9432313e34e4"
+checksum = "024a1e66fea74c66c66624ee5622a7ff0e4b73a13b4f5c326ddb50c708944226"
dependencies = [
"cc",
"libc",
@@ -2145,9 +2059,9 @@ dependencies = [
[[package]]
name = "rusty_v8"
-version = "0.13.0"
+version = "0.14.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "abf06ea79ead18b3f81707b78e6d7813e83c772d0cb4b43caf3fa35a5df7eaab"
+checksum = "6bdaa4aeeae3253c3b34486af66527d9982105d79ba57cf9b50b217e7b47a8b6"
dependencies = [
"bitflags",
"cargo_gn",
@@ -2158,9 +2072,9 @@ dependencies = [
[[package]]
name = "rustyline"
-version = "7.0.0"
+version = "7.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1a5f54deba50e65ee4cf786dbc37e8b3c63bdccccbcf9d3a8a9fd0c1bb7e1984"
+checksum = "8227301bfc717136f0ecbd3d064ba8199e44497a0bdd46bb01ede4387cfd2cec"
dependencies = [
"bitflags",
"cfg-if 1.0.0",
@@ -2192,12 +2106,6 @@ version = "1.0.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "71d301d4193d031abdd79ff7e3dd721168a9572ef3fe51a1517aba235bd8f86e"
-[[package]]
-name = "safemem"
-version = "0.3.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ef703b7cb59335eae2eb93ceb664c0eb7ea6bf567079d843e09420219668e072"
-
[[package]]
name = "same-file"
version = "1.0.6"
@@ -2252,18 +2160,18 @@ checksum = "b46e1121e8180c12ff69a742aabc4f310542b6ccb69f1691689ac17fdf8618aa"
[[package]]
name = "serde"
-version = "1.0.117"
+version = "1.0.118"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b88fa983de7720629c9387e9f517353ed404164b1e482c970a90c1a4aaf7dc1a"
+checksum = "06c64263859d87aa2eb554587e2d23183398d617427327cf2b3d0ed8c69e4800"
dependencies = [
"serde_derive",
]
[[package]]
name = "serde_derive"
-version = "1.0.117"
+version = "1.0.118"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cbd1ae72adb44aab48f325a02444a5fc079349a8d804c1fc922aed3f7454c74e"
+checksum = "c84d3526699cd55261af4b941e4e725444df67aa4f9e6a3564f18030d12672df"
dependencies = [
"proc-macro2 1.0.24",
"quote 1.0.7",
@@ -2272,9 +2180,9 @@ dependencies = [
[[package]]
name = "serde_json"
-version = "1.0.59"
+version = "1.0.60"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dcac07dbffa1c65e7f816ab9eba78eb142c6d44410f4eeba1e26e4f5dfa56b95"
+checksum = "1500e84d27fe482ed1dc791a56eddc2f230046a040fa908c08bda1d9fb615779"
dependencies = [
"indexmap",
"itoa",
@@ -2282,6 +2190,17 @@ dependencies = [
"serde",
]
+[[package]]
+name = "serde_repr"
+version = "0.1.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2dc6b7951b17b051f3210b063f12cc17320e2fe30ae05b0fe2a3abb068551c76"
+dependencies = [
+ "proc-macro2 1.0.24",
+ "quote 1.0.7",
+ "syn 1.0.48",
+]
+
[[package]]
name = "serde_urlencoded"
version = "0.6.1"
@@ -2294,29 +2213,17 @@ dependencies = [
"url",
]
-[[package]]
-name = "sha-1"
-version = "0.8.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f7d94d0bede923b3cea61f3f1ff57ff8cdfd77b400fb8f9998949e0cf04163df"
-dependencies = [
- "block-buffer 0.7.3",
- "digest 0.8.1",
- "fake-simd",
- "opaque-debug 0.2.3",
-]
-
[[package]]
name = "sha-1"
version = "0.9.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "170a36ea86c864a3f16dd2687712dd6646f7019f301e57537c7f4dc9f5916770"
dependencies = [
- "block-buffer 0.9.0",
+ "block-buffer",
"cfg-if 0.1.10",
"cpuid-bool",
- "digest 0.9.0",
- "opaque-debug 0.3.0",
+ "digest",
+ "opaque-debug",
]
[[package]]
@@ -2461,9 +2368,9 @@ dependencies = [
[[package]]
name = "swc_bundler"
-version = "0.17.1"
+version = "0.18.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "82147399b2eb2657714b5d9f59fa8fd11ffa0a510953c4eb5593bd7006128cec"
+checksum = "65fac08904af807442e8f08c50f46a95d346a09db69a94f83670f5ae7e5945ec"
dependencies = [
"anyhow",
"crc",
@@ -2487,9 +2394,9 @@ dependencies = [
[[package]]
name = "swc_common"
-version = "0.10.6"
+version = "0.10.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "04c341ef776c6a3dde1cab58b30a8e0ce12f4c7553879105b554260882f43ddd"
+checksum = "96d63837c3d3d226ec338338a8fc32c6c8aabefd0c4d32e6b0bcd1ed991c6963"
dependencies = [
"ast_node",
"cfg-if 0.1.10",
@@ -2508,9 +2415,9 @@ dependencies = [
[[package]]
name = "swc_ecma_ast"
-version = "0.35.0"
+version = "0.36.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "39d14f5b7769eb53a98276475ca72d188f5fa0fbf1819d3e9241b9e295ae0542"
+checksum = "b65d3a2852e7c496d3e1dfc38719a31e90ae03a58ce891faf48ccb9c1ddff7ee"
dependencies = [
"enum_kind",
"is-macro",
@@ -2523,9 +2430,9 @@ dependencies = [
[[package]]
name = "swc_ecma_codegen"
-version = "0.41.1"
+version = "0.42.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "96e655391ee7b9e7e01fde2f64bfc1dbcf8b712510fc09edc6c00de52704e6a9"
+checksum = "19ae0f17cc128399269387d00e9aa6731f7a5397d6e86fd4262a941dc219b5aa"
dependencies = [
"bitflags",
"num-bigint",
@@ -2534,6 +2441,7 @@ dependencies = [
"swc_common",
"swc_ecma_ast",
"swc_ecma_codegen_macros",
+ "swc_ecma_parser",
]
[[package]]
@@ -2551,9 +2459,9 @@ dependencies = [
[[package]]
name = "swc_ecma_dep_graph"
-version = "0.9.0"
+version = "0.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "06d740540964d8ac8d2d2c603223f49b31a1ae9803d2cdcff0796c210085ecc0"
+checksum = "da3afd18873ffd61f995b182be524d20cfd051014ac8a4641c7b10ec4b1621bf"
dependencies = [
"swc_atoms",
"swc_common",
@@ -2563,9 +2471,9 @@ dependencies = [
[[package]]
name = "swc_ecma_parser"
-version = "0.43.1"
+version = "0.44.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6d22c8f6cf8f45b8f2c1c09713f5d0d2e007394c1e8a9fe8ce20d8be5b57dc6a"
+checksum = "e2ec412ebca8caa62ae98f90d5829d3f85d4db4b31c7339cdae72bbc063c42ea"
dependencies = [
"either",
"enum_kind",
@@ -2597,9 +2505,9 @@ dependencies = [
[[package]]
name = "swc_ecma_transforms"
-version = "0.30.3"
+version = "0.31.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "49e8cfe7e5e05795c3647534e68036a1764bea326611db40451507529db68528"
+checksum = "fc476391a584d3a4f94038f8f09d37686727ff1706ac1247de6de28d677bda61"
dependencies = [
"Inflector",
"arrayvec",
@@ -2645,9 +2553,9 @@ dependencies = [
[[package]]
name = "swc_ecma_utils"
-version = "0.25.0"
+version = "0.26.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "64fd3d84ee287900f37fd06a1856f57cd0d65b37bb0557abde2c91d8a9b28155"
+checksum = "a37310926374783577b62865546ddccbe6c5f1700586151a8a6d953ef45b5bcb"
dependencies = [
"once_cell",
"scoped-tls",
@@ -2660,9 +2568,9 @@ dependencies = [
[[package]]
name = "swc_ecma_visit"
-version = "0.21.0"
+version = "0.22.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ee22eeb8c6987f9e740e1867292bd45785408f62ded95e1dc57b9c6c26e85a96"
+checksum = "88671e165a87ae2c7d9194b1715c9502e0c1c82eb559951e95ef76586a195cd6"
dependencies = [
"num-bigint",
"swc_atoms",
@@ -2673,9 +2581,9 @@ dependencies = [
[[package]]
name = "swc_ecmascript"
-version = "0.14.4"
+version = "0.16.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4b4658cfd64f6931c38d283d3ee65e2f3f964e07c711782eab2a8c71f35d2ba1"
+checksum = "22a63164105d73e729bc426f6982571d800f3e14770c848a7ee0f6e8a8d821a8"
dependencies = [
"swc_ecma_ast",
"swc_ecma_codegen",
@@ -2762,7 +2670,7 @@ checksum = "7a6e24d9338a0a5be79593e2fa15a648add6138caa803e2d5bc782c371732ca9"
dependencies = [
"cfg-if 0.1.10",
"libc",
- "rand 0.7.3",
+ "rand",
"redox_syscall",
"remove_dir_all",
"winapi 0.3.9",
@@ -2770,9 +2678,9 @@ dependencies = [
[[package]]
name = "termcolor"
-version = "1.1.0"
+version = "1.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bb6bfa289a4d7c5766392812c0a1f4c1ba45afa1ad47803c11e1f407d846d75f"
+checksum = "2dfed899f0eb03f32ee8c6a0aabdb8a7949659e3466561fc0adf54e26d88c5f4"
dependencies = [
"winapi-util",
]
@@ -2792,13 +2700,15 @@ version = "0.1.0"
dependencies = [
"bytes 0.5.6",
"futures",
+ "hyper",
"lazy_static",
"os_pipe",
"pty",
"regex",
"tempfile",
"tokio 0.2.22",
- "warp",
+ "tokio-rustls",
+ "tokio-tungstenite",
]
[[package]]
@@ -2882,11 +2792,11 @@ dependencies = [
[[package]]
name = "tokio"
-version = "0.3.4"
+version = "0.3.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9dfe2523e6fa84ddf5e688151d4e5fddc51678de9752c6512a24714c23818d61"
+checksum = "a12a3eb39ee2c231be64487f1fcbe726c8f2514876a55480a5ab8559fc374252"
dependencies = [
- "autocfg 1.0.1",
+ "autocfg",
"bytes 0.6.0",
"futures-core",
"lazy_static",
@@ -2936,6 +2846,17 @@ dependencies = [
"webpki",
]
+[[package]]
+name = "tokio-test"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ed0049c119b6d505c4447f5c64873636c7af6c75ab0d45fd9f618d82acb8016d"
+dependencies = [
+ "bytes 0.5.6",
+ "futures-core",
+ "tokio 0.2.22",
+]
+
[[package]]
name = "tokio-tungstenite"
version = "0.11.0"
@@ -2972,12 +2893,32 @@ dependencies = [
"serde",
]
+[[package]]
+name = "tower-layer"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a35d656f2638b288b33495d1053ea74c40dc05ec0b92084dd71ca5566c4ed1dc"
+
[[package]]
name = "tower-service"
version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e987b6bf443f4b5b3b6f38704195592cca41c5bb7aedd3c3693c7081f8289860"
+[[package]]
+name = "tower-test"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9ba4bbc2c1e4a8543c30d4c13a4c8314ed72d6e07581910f665aa13fde0153c8"
+dependencies = [
+ "futures-util",
+ "pin-project 0.4.23",
+ "tokio 0.2.22",
+ "tokio-test",
+ "tower-layer",
+ "tower-service",
+]
+
[[package]]
name = "tracing"
version = "0.1.19"
@@ -2998,16 +2939,6 @@ dependencies = [
"lazy_static",
]
-[[package]]
-name = "tracing-futures"
-version = "0.2.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ab7bb6f14721aa00656086e9335d363c5c8747bae02ebe32ea2c7dece5689b4c"
-dependencies = [
- "pin-project 0.4.23",
- "tracing",
-]
-
[[package]]
name = "try-lock"
version = "0.2.3"
@@ -3027,21 +2958,12 @@ dependencies = [
"httparse",
"input_buffer",
"log",
- "rand 0.7.3",
- "sha-1 0.9.1",
+ "rand",
+ "sha-1",
"url",
"utf-8",
]
-[[package]]
-name = "twoway"
-version = "0.1.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "59b11b2b5241ba34be09c3cc85a36e56e48f9888862e19cedf23336d35316ed1"
-dependencies = [
- "memchr",
-]
-
[[package]]
name = "typenum"
version = "1.12.0"
@@ -3107,22 +3029,17 @@ checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a"
[[package]]
name = "url"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "829d4a8476c35c9bf0bbce5a3b23f4106f79728039b726d292bb93bc106787cb"
+checksum = "5909f2b0817350449ed73e8bcd81c8c3c8d9a7a5d8acba4b27db277f1868976e"
dependencies = [
+ "form_urlencoded",
"idna",
"matches",
"percent-encoding",
"serde",
]
-[[package]]
-name = "urlencoding"
-version = "1.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c9232eb53352b4442e40d7900465dfc534e8cb2dc8f18656fcb2ac16112b5593"
-
[[package]]
name = "utf-8"
version = "0.7.5"
@@ -3141,7 +3058,7 @@ version = "0.8.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9fde2f6a4bea1d6e007c4ad38c6839fa71cbb63b6dbf5b595aa38dc9b1093c11"
dependencies = [
- "rand 0.7.3",
+ "rand",
]
[[package]]
@@ -3177,35 +3094,6 @@ dependencies = [
"try-lock",
]
-[[package]]
-name = "warp"
-version = "0.2.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f41be6df54c97904af01aa23e613d4521eed7ab23537cede692d4058f6449407"
-dependencies = [
- "bytes 0.5.6",
- "futures",
- "headers",
- "http",
- "hyper",
- "log",
- "mime",
- "mime_guess",
- "multipart",
- "pin-project 0.4.23",
- "scoped-tls",
- "serde",
- "serde_json",
- "serde_urlencoded",
- "tokio 0.2.22",
- "tokio-rustls",
- "tokio-tungstenite",
- "tower-service",
- "tracing",
- "tracing-futures",
- "urlencoding",
-]
-
[[package]]
name = "wasi"
version = "0.9.0+wasi-snapshot-preview1"
diff --git a/Cargo.toml b/Cargo.toml
index 3281be1af6a658..b7b8adae579258 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -4,6 +4,7 @@
members = [
"cli",
"core",
+ "runtime",
"test_plugin",
"test_util",
"op_crates/fetch",
diff --git a/README.md b/README.md
index 2a722c56d38013..ae71067fdc883f 100644
--- a/README.md
+++ b/README.md
@@ -2,7 +2,7 @@
[![Build Status - Cirrus][]][Build status] [![Twitter handle][]][Twitter badge]
-
+
Deno is a _simple_, _modern_ and _secure_ runtime for **JavaScript** and
**TypeScript** that uses V8 and is built in Rust.
@@ -83,7 +83,7 @@ More in-depth info can be found in the runtime
We appreciate your help!
-To contribute, please read the our
+To contribute, please read our
[guidelines](https://github.com/denoland/deno/blob/master/docs/contributing/style_guide.md).
[Build Status - Cirrus]: https://github.com/denoland/deno/workflows/ci/badge.svg?branch=master&event=push
diff --git a/Releases.md b/Releases.md
index 6b2684f4bf7a9b..166c5162de216b 100644
--- a/Releases.md
+++ b/Releases.md
@@ -6,6 +6,94 @@ https://github.com/denoland/deno/releases
We also have one-line install commands at:
https://github.com/denoland/deno_install
+### 1.6.2 / 2020.12.22
+
+- feat(lsp): support the unstable setting (#8851)
+- feat(unstable): record raw coverage into a directory (#8642)
+- feat(unstable): support in memory certificate data for Deno.createHttpClient
+ (#8739)
+- fix: atomically write files to $DENO_DIR (#8822)
+- fix: implement ReadableStream fetch body handling (#8855)
+- fix: make DNS resolution async (#8743)
+- fix: make dynamic import errors catchable (#8750)
+- fix: respect enable flag for requests in lsp (#8850)
+- refactor: rename runtime/rt to runtime/js (#8806)
+- refactor: rewrite lsp to be async (#8727)
+- refactor: rewrite ops to use ResourceTable2 (#8512)
+- refactor: optimise static assets in lsp (#8771)
+- upgrade TypeScript to 4.1.3 (#8785)
+
+Changes in std version 0.82.0:
+
+- feat(std/node): Added os.type (#8591)
+
+### 1.6.1 / 2020.12.14
+
+- feat(lsp): support import maps (#8683)
+- fix: show canary string in long version (#8675)
+- fix: zsh completions (#8718)
+- fix(compile): error when the output path already exists (#8681)
+- fix(lsp): only resolve sources with supported schemas (#8696)
+- fix(op_crates/fetch): support non-ascii response headers value (#8600)
+- fix(repl): recover from invalid input (#8759)
+- refactor: deno_runtime crate (#8640)
+- upgrade: swc_ecmascript to 0.15.0 (#8688)
+
+Changes in std version 0.81.0:
+
+- fix(std/datetime): partsToDate (#8553)
+- fix(std/wasi): disallow multiple starts (#8712)
+
+### 1.6.0 / 2020.12.08
+
+- BREAKING: Make "isolatedModules" setting non-configurable (#8482)
+- feat: Add mvp language server (#8515, #8651)
+- feat: deno compile (#8539, #8563, #8581)
+- feat: Update to TypeScript 4.1 (#7573)
+- feat: EventTarget signal support (#8616)
+- feat: Add canary support to upgrade subcommand (#8476)
+- feat(unstable): Add cbreak option to Deno.setRaw (#8383)
+- fix: "onload" event order (#8376)
+- fix: Add file URL support for Deno.readLink (#8423)
+- fix: Add hygiene pass to transpile pipeline (#8586)
+- fix: Require allow-write permissions for unixpackets datagrams & unix socket
+ (#8511)
+- fix: Highlight `async` and `of` in REPL (#8569)
+- fix: Make output of deno info --json deterministic (#8483)
+- fix: Panic in worker when closing at top level (#8510)
+- fix: Support passing cli arguments under `deno eval` (#8547)
+- fix: `redirect: "manual"` fetch should return `type: "default"` response
+ (#8353)
+- fix: close() calls sometimes prints results in REPL (#8558)
+- fix: watcher doesn't exit when module resolution fails (#8521)
+- fix: Fix PermissionDenied error being caught in Websocket constructor (#8402)
+- fix: Set User-Agent header in Websocket (#8502, #8470)
+- perf: Use minimal op with performance.now() (#8619)
+- core: Implement new ResourceTable (#8273)
+- core: Add FsModuleLoader that supports loading from filesystem (#8523)
+- upgrade rusty_v8 to 0.14.0 (#8663)
+- upgrade: deno_doc, deno_lint, dprint, swc (#8552, #8575, #8588)
+
+Changes in std version 0.80.0:
+
+- BREAKING(std/bytes): Adjust APIs based on std-wg discussion (#8612)
+- feat(std/encoding/csv): Add stringify functionality (#8408)
+- feat(std/fs): Re-enable `followSymlinks` on `walk()` (#8479)
+- feat(std/http): Add Cookie value validation (#8471)
+- feat(std/node): Add "setImmediate" and "clearImmediate" to global scope
+ (#8566)
+- feat(std/node): Port most of node errors (#7934)
+- feat(std/node/stream): Add Duplex, Transform, Passthrough, pipeline, finished
+ and promises (#7940)
+- feat(std/wasi): Add return on exit option (#8605)
+- feat(std/wasi): Add support for initializing reactors (#8603)
+- feat(std/ws): protocol & version support (#8505)
+- fix(std/bufio): Remove '\r' at the end of Windows lines (#8447)
+- fix(std/encoding): Rewrite toml parser not to use eval() (#8624)
+- fix(std/encoding/csv): Correct readme formatting due to dprint issues (#8503)
+- fix(std/http): Prevent path traversal (#8474)
+- fix(std/node): Inline default objects to ensure correct prototype (#8513)
+
### 1.5.4 / 2020.11.23
- feat(unstable): Add deno test --no-run (#8093)
@@ -358,7 +446,7 @@ Changes in std version 0.69.0:
- fix: Don't expose globalThis.__bootstrap (#7344)
- fix: Handle bad redirects more gracefully (#7342)
- fix: Handling of + character in URLSearchParams (#7314)
-- fix: Regex for TS refereces and deno-types (#7333)
+- fix: Regex for TS references and deno-types (#7333)
- fix: Set maximum size of thread pool to 31 (#7290)
- fix: Support missing features in --no-check (#7289)
- fix: Use millisecond precision for Deno.futime and Deno.utime (#7299)
@@ -579,7 +667,7 @@ Changes in std version 0.61.0:
- fix(std/http): Properly return port 80 in \_parseAddrFromStr (#6635)
- fix(std/mime): Boundary random hex values (#6646)
- fix(std/node): Add encoding argument to Buffer.byteLength (#6639)
-- fix(std/tesing/asserts): AssertEquals/NotEquals should use milliseconds in
+- fix(std/testing/asserts): AssertEquals/NotEquals should use milliseconds in
Date (#6644)
- fix(std/wasi): Return errno::success from fd_tell (#6636)
@@ -1078,7 +1166,7 @@ Read more about this release at https://deno.land/v1
### v0.41.0 / 2020.04.16
- BREAKING: Improve readdir() and FileInfo interfaces (#4763)
-- BREAKING: Remove depracated APIs for mkdir and mkdirSync (#4615)
+- BREAKING: Remove deprecated APIs for mkdir and mkdirSync (#4615)
- BREAKING: Make fetch API more web compatible (#4687)
- BREAKING: Remove std/testing/format.ts (#4749)
- BREAKING: Migrate std/types to deno.land/x/types/ (#4713, #4771)
@@ -1232,7 +1320,7 @@ Read more about this release at https://deno.land/v1
- feat: Add Deno.umask (#4290)
- feat: Add global --quiet flag (#4135)
- feat: Improvements to std/flags. (#4279)
-- feat: Make internel error frames dimmer (#4201)
+- feat: Make internal error frames dimmer (#4201)
- feat: Support async function and EventListenerObject as listeners (#4240)
- feat: add actual error class to fail message (#4305)
- feat: seek should return cursor position (#4211)
@@ -1260,7 +1348,7 @@ Read more about this release at https://deno.land/v1
- refactor: Rename Option -> Options (#4226)
- refactor: cleanup compiler runtimes (#4230)
- refactor: preliminary cleanup of Deno.runTests() (#4237)
-- refactor: reduce unnecesarry output in cli/js tests (#4182)
+- refactor: reduce unnecessary output in cli/js tests (#4182)
- refactor: reorganize cli/js (#4317, #4316, #4310, #4250, #4302, #4283, #4264)
- refactor: rewrite testPerm into unitTest (#4231)
- refactor: uncomment tests broken tests, use skip (#4311)
@@ -1555,7 +1643,7 @@ Read more about this release at https://deno.land/v1
- feat: Add ResourceTable in core (#3150)
- feat: Re-enable standard stream support for fetch bodies (#3192)
- feat: Add CustomInspect for Headers (#3130)
-- fix: Cherry-pick depot_tools 6a1d778 to fix macOS Cataliona issues (#3175)
+- fix: Cherry-pick depot_tools 6a1d778 to fix macOS Catalina issues (#3175)
- fix: Remove runtime panics in op dispatch (#3176, #3202, #3131)
- fix: BufReader.readString to actually return Deno.EOF at end (#3191)
- perf: faster TextDecoder (#3180, #3204)
@@ -1936,7 +2024,7 @@ In deno:
In deno_std
- Clean up HTTP async iterator code (denoland/deno_std#411)
-- fix: add exnext lib to tsconfig.json (denoland/deno_std#416)
+- fix: add esnext lib to tsconfig.json (denoland/deno_std#416)
- feat(fs): add copy/copySync (denoland/deno_std#278)
- feat: add Tar and Untar classes (denoland/deno_std#388)
- ws: make acceptable() more robust (denoland/deno_std#404)
diff --git a/cli/Cargo.toml b/cli/Cargo.toml
index a00a6b76967010..0e56c61265d147 100644
--- a/cli/Cargo.toml
+++ b/cli/Cargo.toml
@@ -2,7 +2,7 @@
[package]
name = "deno"
-version = "1.5.4"
+version = "1.6.2"
license = "MIT"
authors = ["the Deno authors"]
edition = "2018"
@@ -20,10 +20,9 @@ harness = false
path = "./bench/main.rs"
[build-dependencies]
-deno_crypto = { path = "../op_crates/crypto", version = "0.3.0" }
-deno_core = { path = "../core", version = "0.69.0" }
-deno_web = { path = "../op_crates/web", version = "0.20.0" }
-deno_fetch = { path = "../op_crates/fetch", version = "0.12.0" }
+deno_core = { path = "../core", version = "0.74.0" }
+deno_fetch = { path = "../op_crates/fetch", version = "0.17.0" }
+deno_web = { path = "../op_crates/web", version = "0.25.0" }
regex = "1.3.9"
serde = { version = "1.0.116", features = ["derive"] }
@@ -32,22 +31,19 @@ winres = "0.1.11"
winapi = "0.3.9"
[dependencies]
-deno_crypto = { path = "../op_crates/crypto", version = "0.3.0" }
-deno_core = { path = "../core", version = "0.69.0" }
-deno_doc = "0.1.17"
-deno_lint = "0.2.12"
-deno_web = { path = "../op_crates/web", version = "0.20.0" }
-deno_fetch = { path = "../op_crates/fetch", version = "0.12.0" }
+deno_core = { path = "../core", version = "0.74.0" }
+deno_doc = "0.1.19"
+deno_lint = "0.2.14"
+deno_runtime = { path = "../runtime", version = "0.4.0" }
atty = "0.2.14"
base64 = "0.12.3"
-bytes = "0.5.6"
byteorder = "1.3.4"
clap = "2.33.3"
dissimilar = "1.0.2"
-dlopen = "0.1.8"
+dprint-plugin-typescript = "0.36.0"
encoding_rs = "0.8.24"
-dprint-plugin-typescript = "0.35.0"
+env_logger = "0.7.1"
filetime = "0.2.12"
http = "0.2.1"
indexmap = "1.6.0"
@@ -55,31 +51,26 @@ jsonc-parser = "0.14.0"
lazy_static = "1.4.0"
libc = "0.2.77"
log = "0.4.11"
-env_logger = "0.7.1"
+lspower = "0.1.0"
notify = "5.0.0-pre.3"
+percent-encoding = "2.1.0"
regex = "1.3.9"
-ring = "0.16.15"
-rustyline = { version = "7.0.0", default-features = false }
+ring = "0.16.19"
+rustyline = { version = "7.1.0", default-features = false }
rustyline-derive = "0.4.0"
+semver-parser = "0.9.0"
serde = { version = "1.0.116", features = ["derive"] }
shell-escape = "0.1.5"
-sys-info = "0.7.0"
sourcemap = "6.0.1"
-swc_bundler = "=0.17.1"
-swc_common = { version = "0.10.6", features = ["sourcemap"] }
-swc_ecmascript = { version = "0.14.4", features = ["codegen", "dep_graph", "parser", "react", "transforms", "visit"] }
+swc_bundler = "0.18.0"
+swc_common = { version = "0.10.7", features = ["sourcemap"] }
+swc_ecmascript = { version = "0.16.0", features = ["codegen", "dep_graph", "parser", "react", "transforms", "visit"] }
tempfile = "3.1.0"
termcolor = "1.1.0"
tokio = { version = "0.2.22", features = ["full"] }
tokio-rustls = "0.14.1"
-# Keep in-sync with warp.
-tokio-tungstenite = "0.11.0"
-webpki = "0.21.3"
-webpki-roots = "=0.19.0" # Pinned to v0.19.0 to match 'reqwest'.
-walkdir = "2.3.1"
-warp = { version = "0.2.5", features = ["tls"] }
-semver-parser = "0.9.0"
uuid = { version = "0.8.1", features = ["v4"] }
+walkdir = "2.3.1"
[target.'cfg(windows)'.dependencies]
winapi = { version = "0.3.9", features = ["knownfolders", "mswsock", "objbase", "shlobj", "tlhelp32", "winbase", "winerror", "winsock2"] }
@@ -93,6 +84,8 @@ nix = "0.19.0"
chrono = "0.4.15"
os_pipe = "0.9.2"
test_util = { path = "../test_util" }
+tokio-tungstenite = "0.11.0"
+tower-test = "0.3.0"
[target.'cfg(unix)'.dev-dependencies]
exec = "0.3.1" # Used in test_raw_tty
diff --git a/cli/ast.rs b/cli/ast.rs
index 4b8989d70705c1..d4837bb6f0d0e2 100644
--- a/cli/ast.rs
+++ b/cli/ast.rs
@@ -42,6 +42,7 @@ use swc_ecmascript::parser::Syntax;
use swc_ecmascript::parser::TsConfig;
use swc_ecmascript::transforms::fixer;
use swc_ecmascript::transforms::helpers;
+use swc_ecmascript::transforms::hygiene;
use swc_ecmascript::transforms::pass::Optional;
use swc_ecmascript::transforms::proposals;
use swc_ecmascript::transforms::react;
@@ -244,6 +245,7 @@ pub struct ParsedModule {
leading_comments: Vec,
module: Module,
source_map: Rc,
+ source_file: Rc,
}
impl fmt::Debug for ParsedModule {
@@ -304,6 +306,7 @@ impl ParsedModule {
helpers::inject_helpers(),
typescript::strip(),
fixer(Some(&self.comments)),
+ hygiene(),
);
let program = swc_common::GLOBALS.set(&Globals::new(), || {
@@ -351,24 +354,12 @@ impl ParsedModule {
}
}
-/// For a given specifier, source, and media type, parse the source of the
-/// module and return a representation which can be further processed.
-///
-/// # Arguments
-///
-/// - `specifier` - The module specifier for the module.
-/// - `source` - The source code for the module.
-/// - `media_type` - The media type for the module.
-///
-// NOTE(bartlomieju): `specifier` has `&str` type instead of
-// `&ModuleSpecifier` because runtime compiler APIs don't
-// require valid module specifiers
-pub fn parse(
+pub fn parse_with_source_map(
specifier: &str,
source: &str,
media_type: &MediaType,
+ source_map: Rc,
) -> Result {
- let source_map = SourceMap::default();
let source_file = source_map.new_source_file(
FileName::Custom(specifier.to_string()),
source.to_string(),
@@ -405,11 +396,33 @@ pub fn parse(
Ok(ParsedModule {
leading_comments,
module,
- source_map: Rc::new(source_map),
+ source_map,
comments,
+ source_file,
})
}
+/// For a given specifier, source, and media type, parse the source of the
+/// module and return a representation which can be further processed.
+///
+/// # Arguments
+///
+/// - `specifier` - The module specifier for the module.
+/// - `source` - The source code for the module.
+/// - `media_type` - The media type for the module.
+///
+// NOTE(bartlomieju): `specifier` has `&str` type instead of
+// `&ModuleSpecifier` because runtime compiler APIs don't
+// require valid module specifiers
+pub fn parse(
+ specifier: &str,
+ source: &str,
+ media_type: &MediaType,
+) -> Result {
+ let source_map = Rc::new(SourceMap::default());
+ parse_with_source_map(specifier, source, media_type, source_map)
+}
+
pub enum TokenOrComment {
Token(Token),
Comment { kind: CommentKind, text: String },
@@ -483,40 +496,12 @@ pub fn transpile_module(
globals: &Globals,
cm: Rc,
) -> Result<(Rc, Module), AnyError> {
- // TODO(@kitsonk) DRY-up with ::parse()
- let error_buffer = ErrorBuffer::new();
- let handler = Handler::with_emitter_and_flags(
- Box::new(error_buffer.clone()),
- HandlerFlags {
- can_emit_warnings: true,
- dont_buffer_diagnostics: true,
- ..HandlerFlags::default()
- },
- );
- let comments = SingleThreadedComments::default();
- let syntax = get_syntax(media_type);
- let source_file =
- cm.new_source_file(FileName::Custom(filename.to_string()), src.to_string());
- let lexer = Lexer::new(
- syntax,
- TARGET,
- StringInput::from(&*source_file),
- Some(&comments),
- );
- let mut parser = swc_ecmascript::parser::Parser::new_from(lexer);
- let sm = cm.clone();
- let module = parser.parse_module().map_err(move |err| {
- let mut diagnostic = err.into_diagnostic(&handler);
- diagnostic.emit();
+ let parsed_module =
+ parse_with_source_map(filename, src, media_type, cm.clone())?;
- DiagnosticBuffer::from_error_buffer(error_buffer, |span| {
- sm.lookup_char_pos(span.lo)
- })
- })?;
- // TODO(@kitsonk) DRY-up with ::transpile()
let jsx_pass = react::react(
cm,
- Some(&comments),
+ Some(&parsed_module.comments),
react::Options {
pragma: emit_options.jsx_factory.clone(),
pragma_frag: emit_options.jsx_fragment_factory.clone(),
@@ -534,8 +519,12 @@ pub fn transpile_module(
}),
helpers::inject_helpers(),
typescript::strip(),
- fixer(Some(&comments)),
+ fixer(Some(&parsed_module.comments)),
);
+
+ let source_file = parsed_module.source_file.clone();
+ let module = parsed_module.module;
+
let module = swc_common::GLOBALS.set(globals, || {
helpers::HELPERS.set(&helpers::Helpers::new(false), || {
module.fold_with(&mut passes)
@@ -567,6 +556,7 @@ impl swc_bundler::Hook for BundleHook {
value: Box::new(ast::Expr::Lit(ast::Lit::Str(ast::Str {
span,
value: value.into(),
+ kind: ast::StrKind::Synthesized,
has_escape: false,
}))),
},
@@ -621,7 +611,9 @@ mod tests {
leading_comments: Vec::new(),
col: 0,
line: 1,
- specifier: "./test.ts".into()
+ specifier: "./test.ts".into(),
+ specifier_col: 21,
+ specifier_line: 1,
},
DependencyDescriptor {
kind: DependencyKind::Import,
@@ -629,7 +621,9 @@ mod tests {
leading_comments: Vec::new(),
col: 22,
line: 2,
- specifier: "./foo.ts".into()
+ specifier: "./foo.ts".into(),
+ specifier_col: 29,
+ specifier_line: 2,
}
]
);
diff --git a/cli/build.rs b/cli/build.rs
index b0088a9d83ad6c..45221281ff37bc 100644
--- a/cli/build.rs
+++ b/cli/build.rs
@@ -13,14 +13,13 @@ use std::env;
use std::path::Path;
use std::path::PathBuf;
+// TODO(bartlomieju): this module contains a lot of duplicated
+// logic with `runtime/build.rs`, factor out to `deno_core`.
fn create_snapshot(
mut js_runtime: JsRuntime,
snapshot_path: &Path,
files: Vec,
) {
- deno_web::init(&mut js_runtime);
- deno_fetch::init(&mut js_runtime);
- deno_crypto::init(&mut js_runtime);
// TODO(nayeemrmn): https://github.com/rust-lang/cargo/issues/3946 to get the
// workspace root.
let display_root = Path::new(env!("CARGO_MANIFEST_DIR")).parent().unwrap();
@@ -43,14 +42,6 @@ fn create_snapshot(
println!("Snapshot written to: {} ", snapshot_path.display());
}
-fn create_runtime_snapshot(snapshot_path: &Path, files: Vec) {
- let js_runtime = JsRuntime::new(RuntimeOptions {
- will_snapshot: true,
- ..Default::default()
- });
- create_snapshot(js_runtime, snapshot_path, files);
-}
-
#[derive(Debug, Deserialize)]
struct LoadArgs {
/// The fully qualified specifier that should be loaded.
@@ -236,8 +227,8 @@ fn git_commit_hash() -> String {
}
fn main() {
- // Don't build V8 if "cargo doc" is being run. This is to support docs.rs.
- if env::var_os("RUSTDOCFLAGS").is_some() {
+ // Skip building from docs.rs.
+ if env::var_os("DOCS_RS").is_some() {
return;
}
@@ -265,12 +256,8 @@ fn main() {
let o = PathBuf::from(env::var_os("OUT_DIR").unwrap());
// Main snapshot
- let runtime_snapshot_path = o.join("CLI_SNAPSHOT.bin");
let compiler_snapshot_path = o.join("COMPILER_SNAPSHOT.bin");
- let js_files = get_js_files("rt");
- create_runtime_snapshot(&runtime_snapshot_path, js_files);
-
let js_files = get_js_files("tsc");
create_compiler_snapshot(&compiler_snapshot_path, js_files, &c);
diff --git a/cli/disk_cache.rs b/cli/disk_cache.rs
index 96a4ff41aad2c0..81b86c0ae7c8c6 100644
--- a/cli/disk_cache.rs
+++ b/cli/disk_cache.rs
@@ -46,7 +46,7 @@ impl DiskCache {
})
}
- pub fn get_cache_filename(&self, url: &Url) -> PathBuf {
+ fn get_cache_filename(&self, url: &Url) -> Option {
let mut out = PathBuf::new();
let scheme = url.scheme();
@@ -105,31 +105,25 @@ impl DiskCache {
out = out.join(remaining_components);
}
- scheme => {
- unimplemented!(
- "Don't know how to create cache name for scheme: {}\n Url: {}",
- scheme,
- url
- );
- }
+ _ => return None,
};
- out
+ Some(out)
}
pub fn get_cache_filename_with_extension(
&self,
url: &Url,
extension: &str,
- ) -> PathBuf {
- let base = self.get_cache_filename(url);
+ ) -> Option {
+ let base = self.get_cache_filename(url)?;
match base.extension() {
- None => base.with_extension(extension),
+ None => Some(base.with_extension(extension)),
Some(ext) => {
let original_extension = OsStr::to_str(ext).unwrap();
let final_extension = format!("{}.{}", original_extension, extension);
- base.with_extension(final_extension)
+ Some(base.with_extension(final_extension))
}
}
}
@@ -145,7 +139,7 @@ impl DiskCache {
Some(ref parent) => self.ensure_dir_exists(parent),
None => Ok(()),
}?;
- fs_util::write_file(&path, data, crate::http_cache::CACHE_PERM)
+ fs_util::atomic_write_file(&path, data, crate::http_cache::CACHE_PERM)
.map_err(|e| with_io_context(&e, format!("{:#?}", &path)))
}
}
@@ -234,7 +228,7 @@ mod tests {
for test_case in &test_cases {
let cache_filename =
cache.get_cache_filename(&Url::parse(test_case.0).unwrap());
- assert_eq!(cache_filename, PathBuf::from(test_case.1));
+ assert_eq!(cache_filename, Some(PathBuf::from(test_case.1)));
}
}
@@ -280,7 +274,7 @@ mod tests {
&Url::parse(test_case.0).unwrap(),
test_case.1
),
- PathBuf::from(test_case.2)
+ Some(PathBuf::from(test_case.2))
)
}
}
diff --git a/cli/dts/README.md b/cli/dts/README.md
index 006282a90ff3f7..9d07188f7d480e 100644
--- a/cli/dts/README.md
+++ b/cli/dts/README.md
@@ -4,7 +4,7 @@ The files in this directory are mostly from the TypeScript repository. We
currently (unfortunately) have a rather manual process for upgrading TypeScript.
It works like this currently:
-1. Checkout typescript repo in a seperate directory.
+1. Checkout typescript repo in a separate directory.
2. Copy typescript.js into Deno repo.
3. Copy d.ts files into dts directory.
diff --git a/cli/dts/lib.deno.ns.d.ts b/cli/dts/lib.deno.ns.d.ts
index e42fb855d42c89..12d804f9220461 100644
--- a/cli/dts/lib.deno.ns.d.ts
+++ b/cli/dts/lib.deno.ns.d.ts
@@ -1079,7 +1079,7 @@ declare namespace Deno {
export function makeTempDir(options?: MakeTempOptions): Promise;
/** Synchronously creates a new temporary file in the default directory for
- * temporary files (see also `Deno.dir("temp")`), unless `dir` is specified.
+ * temporary files, unless `dir` is specified.
* Other optional options include prefixing and suffixing the directory name
* with `prefix` and `suffix` respectively.
*
@@ -1098,7 +1098,7 @@ declare namespace Deno {
export function makeTempFileSync(options?: MakeTempOptions): string;
/** Creates a new temporary file in the default directory for temporary
- * files (see also `Deno.dir("temp")`), unless `dir` is specified. Other
+ * files, unless `dir` is specified. Other
* optional options include prefixing and suffixing the directory name with
* `prefix` and `suffix` respectively.
*
diff --git a/cli/dts/lib.deno.shared_globals.d.ts b/cli/dts/lib.deno.shared_globals.d.ts
index 6eb9019ad89689..433e90113aee2f 100644
--- a/cli/dts/lib.deno.shared_globals.d.ts
+++ b/cli/dts/lib.deno.shared_globals.d.ts
@@ -643,12 +643,6 @@ interface PostMessageOptions {
transfer?: any[];
}
-interface ProgressEventInit extends EventInit {
- lengthComputable?: boolean;
- loaded?: number;
- total?: number;
-}
-
interface AbstractWorkerEventMap {
"error": ErrorEvent;
}
@@ -840,17 +834,6 @@ declare class PerformanceMeasure extends PerformanceEntry {
readonly entryType: "measure";
}
-/** Events measuring progress of an underlying process, like an HTTP request
- * (for an XMLHttpRequest, or the loading of the underlying resource of an
- * ,