summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRyan Dahl <ry@tinyclouds.org>2020-09-16 14:28:07 -0400
committerGitHub <noreply@github.com>2020-09-16 14:28:07 -0400
commit104aebdfb5d01f7482bacef6d58c2ce16da44334 (patch)
treeb5f815e9d8cf8fb19eda5d965ef072a5836ae887
parentc3ef358c01956bfa44a7427a2548943c3f045138 (diff)
Re-export deno_core::url (#7525)
Also re-exports deno_core::futures and deno_core::serde_json but these are not yet used in the CLI.
-rw-r--r--Cargo.lock1
-rw-r--r--cli/Cargo.toml5
-rw-r--r--cli/coverage.rs2
-rw-r--r--cli/disk_cache.rs2
-rw-r--r--cli/errors.rs1
-rw-r--r--cli/file_fetcher.rs3
-rw-r--r--cli/flags.rs2
-rw-r--r--cli/flags_allow_net.rs2
-rw-r--r--cli/http_cache.rs2
-rw-r--r--cli/http_util.rs2
-rw-r--r--cli/import_map.rs2
-rw-r--r--cli/info.rs6
-rw-r--r--cli/installer.rs2
-rw-r--r--cli/main.rs3
-rw-r--r--cli/ops/fetch.rs1
-rw-r--r--cli/ops/os.rs2
-rw-r--r--cli/ops/websocket.rs1
-rw-r--r--cli/permissions.rs4
-rw-r--r--cli/state.rs1
-rw-r--r--cli/test_runner.rs2
-rw-r--r--cli/tests/integration_tests.rs5
-rw-r--r--cli/tsc.rs2
-rw-r--r--cli/upgrade.rs2
-rw-r--r--cli/worker.rs2
-rw-r--r--core/lib.rs6
25 files changed, 35 insertions, 28 deletions
diff --git a/Cargo.lock b/Cargo.lock
index bc774d9dd..4bfdc3e2f 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -441,7 +441,6 @@ dependencies = [
"tokio",
"tokio-rustls",
"tokio-tungstenite",
- "url",
"uuid",
"walkdir",
"warp",
diff --git a/cli/Cargo.toml b/cli/Cargo.toml
index a5e20e761..26f452ad4 100644
--- a/cli/Cargo.toml
+++ b/cli/Cargo.toml
@@ -41,7 +41,7 @@ dissimilar = "1.0.2"
dlopen = "0.1.8"
encoding_rs = "0.8.24"
dprint-plugin-typescript = "0.31.3"
-futures = "0.3.5"
+futures = "0.3.5" # TODO(ry) Remove and use deno_core::futures
filetime = "0.2.12"
http = "0.2.1"
idna = "0.2.0"
@@ -58,7 +58,7 @@ reqwest = { version = "0.10.8", default-features = false, features = ["rustls-tl
ring = "0.16.15"
rustyline = { version = "6.3.0", default-features = false }
serde = { version = "1.0.116", features = ["derive"] }
-serde_json = { version = "1.0.57", features = [ "preserve_order" ] }
+serde_json = { version = "1.0.57", features = [ "preserve_order" ] } # TODO(ry) Remove and use deno_core::serde_json
sys-info = "0.7.0"
sourcemap = "6.0.1"
swc_common = { version = "=0.10.2", features = ["sourcemap"] }
@@ -69,7 +69,6 @@ tokio = { version = "0.2.22", features = ["full"] }
tokio-rustls = "0.14.1"
# Keep in-sync with warp.
tokio-tungstenite = "0.11.0"
-url = "2.1.1"
webpki = "0.21.3"
webpki-roots = "=0.19.0" # Pinned to v0.19.0 to match 'reqwest'.
walkdir = "2.3.1"
diff --git a/cli/coverage.rs b/cli/coverage.rs
index 5812a0b19..cdad32508 100644
--- a/cli/coverage.rs
+++ b/cli/coverage.rs
@@ -7,6 +7,7 @@ use crate::inspector::DenoInspector;
use crate::permissions::Permissions;
use deno_core::error::generic_error;
use deno_core::error::AnyError;
+use deno_core::url::Url;
use deno_core::v8;
use deno_core::ModuleSpecifier;
use serde::Deserialize;
@@ -16,7 +17,6 @@ use std::ops::Deref;
use std::ops::DerefMut;
use std::ptr;
use std::sync::Arc;
-use url::Url;
pub struct CoverageCollector {
v8_channel: v8::inspector::ChannelBase,
diff --git a/cli/disk_cache.rs b/cli/disk_cache.rs
index d6fb9866c..cb27a6a50 100644
--- a/cli/disk_cache.rs
+++ b/cli/disk_cache.rs
@@ -1,5 +1,6 @@
use crate::fs as deno_fs;
use crate::http_cache::url_to_filename;
+use deno_core::url::{Host, Url};
use std::ffi::OsStr;
use std::fs;
use std::io;
@@ -8,7 +9,6 @@ use std::path::Path;
use std::path::PathBuf;
use std::path::Prefix;
use std::str;
-use url::{Host, Url};
#[derive(Clone)]
pub struct DiskCache {
diff --git a/cli/errors.rs b/cli/errors.rs
index 2587017bd..01fe318ee 100644
--- a/cli/errors.rs
+++ b/cli/errors.rs
@@ -12,6 +12,7 @@
use crate::ast::DiagnosticBuffer;
use crate::import_map::ImportMapError;
use deno_core::error::AnyError;
+use deno_core::url;
use deno_core::ModuleResolutionError;
use rustyline::error::ReadlineError;
use std::env;
diff --git a/cli/file_fetcher.rs b/cli/file_fetcher.rs
index 2101866dc..faf4e7a6f 100644
--- a/cli/file_fetcher.rs
+++ b/cli/file_fetcher.rs
@@ -12,6 +12,8 @@ use deno_core::error::custom_error;
use deno_core::error::generic_error;
use deno_core::error::uri_error;
use deno_core::error::AnyError;
+use deno_core::url;
+use deno_core::url::Url;
use deno_core::ModuleSpecifier;
use futures::future::FutureExt;
use log::info;
@@ -27,7 +29,6 @@ use std::result::Result;
use std::str;
use std::sync::Arc;
use std::sync::Mutex;
-use url::Url;
/// Structure representing a text document.
#[derive(Debug, Clone)]
diff --git a/cli/flags.rs b/cli/flags.rs
index ebaf63cb2..5d2e82619 100644
--- a/cli/flags.rs
+++ b/cli/flags.rs
@@ -1525,7 +1525,7 @@ fn permission_args_parse(flags: &mut Flags, matches: &clap::ArgMatches) {
// TODO(ry) move this to utility module and add test.
/// Strips fragment part of URL. Panics on bad URL.
pub fn resolve_urls(urls: Vec<String>) -> Vec<String> {
- use url::Url;
+ use deno_core::url::Url;
let mut out: Vec<String> = vec![];
for urlstr in urls.iter() {
use std::str::FromStr;
diff --git a/cli/flags_allow_net.rs b/cli/flags_allow_net.rs
index 31e035687..19e3c1e0f 100644
--- a/cli/flags_allow_net.rs
+++ b/cli/flags_allow_net.rs
@@ -1,6 +1,6 @@
+use deno_core::url::Url;
use std::net::IpAddr;
use std::str::FromStr;
-use url::Url;
#[derive(Debug, PartialEq, Eq)]
pub struct ParsePortError(String);
diff --git a/cli/http_cache.rs b/cli/http_cache.rs
index a1147c215..94be58c3b 100644
--- a/cli/http_cache.rs
+++ b/cli/http_cache.rs
@@ -7,6 +7,7 @@
use crate::fs as deno_fs;
use crate::http_util::HeadersMap;
use deno_core::error::AnyError;
+use deno_core::url::Url;
use serde::Deserialize;
use serde::Serialize;
use std::fs;
@@ -14,7 +15,6 @@ use std::fs::File;
use std::io;
use std::path::Path;
use std::path::PathBuf;
-use url::Url;
/// Turn base of url (scheme, hostname, port) into a valid filename.
/// This method replaces port part with a special string token (because
diff --git a/cli/http_util.rs b/cli/http_util.rs
index 015bfaa46..7472bb631 100644
--- a/cli/http_util.rs
+++ b/cli/http_util.rs
@@ -4,6 +4,7 @@ use crate::version;
use bytes::Bytes;
use deno_core::error::generic_error;
use deno_core::error::AnyError;
+use deno_core::url::Url;
use reqwest::header::HeaderMap;
use reqwest::header::HeaderValue;
use reqwest::header::IF_NONE_MATCH;
@@ -23,7 +24,6 @@ use std::pin::Pin;
use std::task::Context;
use std::task::Poll;
use tokio::io::AsyncRead;
-use url::Url;
/// Create new instance of async reqwest::Client. This client supports
/// proxies and doesn't follow redirects.
diff --git a/cli/import_map.rs b/cli/import_map.rs
index e0050c8aa..ee481b6f7 100644
--- a/cli/import_map.rs
+++ b/cli/import_map.rs
@@ -1,4 +1,5 @@
use deno_core::error::AnyError;
+use deno_core::url::Url;
use deno_core::ModuleSpecifier;
use indexmap::IndexMap;
use serde_json::Map;
@@ -8,7 +9,6 @@ use std::error::Error;
use std::fmt;
use std::fs;
use std::io;
-use url::Url;
#[derive(Debug)]
pub struct ImportMapError {
diff --git a/cli/info.rs b/cli/info.rs
index 7b5c0151b..62ec5c16e 100644
--- a/cli/info.rs
+++ b/cli/info.rs
@@ -408,6 +408,7 @@ mod test {
use crate::ast::Location;
use crate::media_type::MediaType;
use crate::module_graph::ImportDescriptor;
+ use deno_core::url::Url;
#[test]
fn human_size_test() {
@@ -441,9 +442,8 @@ mod test {
imports: Vec<ModuleSpecifier>,
redirect: Option<ModuleSpecifier>,
) -> (ModuleGraphFile, ModuleSpecifier) {
- let spec = ModuleSpecifier::from(
- url::Url::parse(&format!("http://{}", name)).unwrap(),
- );
+ let spec =
+ ModuleSpecifier::from(Url::parse(&format!("http://{}", name)).unwrap());
let file = ModuleGraphFile {
filename: "name".to_string(),
imports: imports
diff --git a/cli/installer.rs b/cli/installer.rs
index b97d94c00..e017ad16b 100644
--- a/cli/installer.rs
+++ b/cli/installer.rs
@@ -3,6 +3,7 @@
use crate::flags::Flags;
use deno_core::error::generic_error;
use deno_core::error::AnyError;
+use deno_core::url::Url;
use log::Level;
use regex::{Regex, RegexBuilder};
use std::env;
@@ -13,7 +14,6 @@ use std::io::Write;
#[cfg(not(windows))]
use std::os::unix::fs::PermissionsExt;
use std::path::PathBuf;
-use url::Url;
lazy_static! {
static ref EXEC_NAME_RE: Regex = RegexBuilder::new(
diff --git a/cli/main.rs b/cli/main.rs
index 9a9ca9ee2..251ebe59e 100644
--- a/cli/main.rs
+++ b/cli/main.rs
@@ -66,6 +66,8 @@ use crate::media_type::MediaType;
use crate::permissions::Permissions;
use crate::worker::MainWorker;
use deno_core::error::AnyError;
+use deno_core::futures;
+use deno_core::url::Url;
use deno_core::v8_set_flags;
use deno_core::ModuleSpecifier;
use deno_doc as doc;
@@ -84,7 +86,6 @@ use std::path::PathBuf;
use std::pin::Pin;
use std::sync::Arc;
use upgrade::upgrade_command;
-use url::Url;
fn write_to_stdout_ignore_sigpipe(bytes: &[u8]) -> Result<(), std::io::Error> {
use std::io::ErrorKind;
diff --git a/cli/ops/fetch.rs b/cli/ops/fetch.rs
index 415645d2a..2b58ad217 100644
--- a/cli/ops/fetch.rs
+++ b/cli/ops/fetch.rs
@@ -7,6 +7,7 @@ use crate::http_util::HttpBody;
use deno_core::error::bad_resource_id;
use deno_core::error::type_error;
use deno_core::error::AnyError;
+use deno_core::url;
use deno_core::BufVec;
use deno_core::OpState;
use deno_core::ZeroCopyBuf;
diff --git a/cli/ops/os.rs b/cli/ops/os.rs
index a02318b46..d47d126ab 100644
--- a/cli/ops/os.rs
+++ b/cli/ops/os.rs
@@ -1,13 +1,13 @@
// Copyright 2018-2020 the Deno authors. All rights reserved. MIT license.
use deno_core::error::AnyError;
+use deno_core::url::Url;
use deno_core::OpState;
use deno_core::ZeroCopyBuf;
use serde::Deserialize;
use serde_json::Value;
use std::collections::HashMap;
use std::env;
-use url::Url;
pub fn init(rt: &mut deno_core::JsRuntime) {
super::reg_json_sync(rt, "op_exit", op_exit);
diff --git a/cli/ops/websocket.rs b/cli/ops/websocket.rs
index 4c974d558..5126b93c0 100644
--- a/cli/ops/websocket.rs
+++ b/cli/ops/websocket.rs
@@ -4,6 +4,7 @@ use core::task::Poll;
use deno_core::error::bad_resource_id;
use deno_core::error::type_error;
use deno_core::error::AnyError;
+use deno_core::url;
use deno_core::BufVec;
use deno_core::OpState;
use futures::future::poll_fn;
diff --git a/cli/permissions.rs b/cli/permissions.rs
index f25b301cb..1864e4f37 100644
--- a/cli/permissions.rs
+++ b/cli/permissions.rs
@@ -6,6 +6,7 @@ use crate::fs::resolve_from_cwd;
use deno_core::error::custom_error;
use deno_core::error::uri_error;
use deno_core::error::AnyError;
+use deno_core::url;
use serde::Deserialize;
use std::collections::HashSet;
use std::env::current_dir;
@@ -20,7 +21,6 @@ use std::sync::atomic::AtomicBool;
use std::sync::atomic::Ordering;
#[cfg(test)]
use std::sync::Mutex;
-use url::Url;
const PERMISSION_EMOJI: &str = "⚠️";
@@ -259,7 +259,7 @@ impl Permissions {
}
let url: &str = url.unwrap();
// If url is invalid, then throw a TypeError.
- let parsed = Url::parse(url)?;
+ let parsed = url::Url::parse(url)?;
// The url may be parsed correctly but still lack a host, i.e. "localhost:235" or "mailto:someone@somewhere.com" or "file:/1.txt"
// Note that host:port combos are parsed as scheme:path
if parsed.host().is_none() {
diff --git a/cli/state.rs b/cli/state.rs
index 9b4c9ec2d..5f2aeb3ff 100644
--- a/cli/state.rs
+++ b/cli/state.rs
@@ -9,6 +9,7 @@ use crate::permissions::Permissions;
use crate::tsc::TargetLib;
use crate::web_worker::WebWorkerHandle;
use deno_core::error::AnyError;
+use deno_core::url;
use deno_core::ModuleLoadId;
use deno_core::ModuleLoader;
use deno_core::ModuleSpecifier;
diff --git a/cli/test_runner.rs b/cli/test_runner.rs
index 8f077652b..7b5366852 100644
--- a/cli/test_runner.rs
+++ b/cli/test_runner.rs
@@ -3,9 +3,9 @@
use crate::fs as deno_fs;
use crate::installer::is_remote_url;
use deno_core::error::AnyError;
+use deno_core::url::Url;
use std::path::Path;
use std::path::PathBuf;
-use url::Url;
fn is_supported(p: &Path) -> bool {
use std::path::Component;
diff --git a/cli/tests/integration_tests.rs b/cli/tests/integration_tests.rs
index 1b9e9ef14..5c2bb1b95 100644
--- a/cli/tests/integration_tests.rs
+++ b/cli/tests/integration_tests.rs
@@ -1,4 +1,5 @@
// Copyright 2018-2020 the Deno authors. All rights reserved. MIT license.
+use deno_core::url;
use futures::prelude::*;
use std::io::{BufRead, Write};
use std::process::Command;
@@ -2421,7 +2422,7 @@ itest!(info_type_import {
#[test]
fn cafile_env_fetch() {
- use url::Url;
+ use deno_core::url::Url;
let _g = util::http_server();
let deno_dir = TempDir::new().expect("tempdir fail");
let module_url =
@@ -2441,7 +2442,7 @@ fn cafile_env_fetch() {
#[test]
fn cafile_fetch() {
- use url::Url;
+ use deno_core::url::Url;
let _g = util::http_server();
let deno_dir = TempDir::new().expect("tempdir fail");
let module_url =
diff --git a/cli/tsc.rs b/cli/tsc.rs
index 570d5f812..1e75b7041 100644
--- a/cli/tsc.rs
+++ b/cli/tsc.rs
@@ -25,6 +25,7 @@ use crate::worker::Worker;
use core::task::Context;
use deno_core::error::generic_error;
use deno_core::error::AnyError;
+use deno_core::url::Url;
use deno_core::ModuleSpecifier;
use futures::future::Future;
use futures::future::FutureExt;
@@ -56,7 +57,6 @@ use std::task::Poll;
use swc_common::comments::Comment;
use swc_common::comments::CommentKind;
use swc_ecmascript::dep_graph;
-use url::Url;
pub const AVAILABLE_LIBS: &[&str] = &[
"deno.ns",
diff --git a/cli/upgrade.rs b/cli/upgrade.rs
index a5ba8d495..c3b471f52 100644
--- a/cli/upgrade.rs
+++ b/cli/upgrade.rs
@@ -10,6 +10,7 @@ use crate::http_util::fetch_once;
use crate::http_util::FetchOnceResult;
use crate::AnyError;
use deno_core::error::custom_error;
+use deno_core::url::Url;
use futures::FutureExt;
use regex::Regex;
use reqwest::{redirect::Policy, Client};
@@ -25,7 +26,6 @@ use std::process::Command;
use std::process::Stdio;
use std::string::String;
use tempfile::TempDir;
-use url::Url;
// TODO(ry) Auto detect target triples for the uploaded files.
#[cfg(windows)]
diff --git a/cli/worker.rs b/cli/worker.rs
index b60b5a0c0..6d5f37175 100644
--- a/cli/worker.rs
+++ b/cli/worker.rs
@@ -8,6 +8,7 @@ use crate::ops;
use crate::ops::io::get_stdio;
use crate::state::CliState;
use deno_core::error::AnyError;
+use deno_core::url::Url;
use deno_core::JsRuntime;
use deno_core::ModuleId;
use deno_core::ModuleSpecifier;
@@ -27,7 +28,6 @@ use std::sync::Arc;
use std::task::Context;
use std::task::Poll;
use tokio::sync::Mutex as AsyncMutex;
-use url::Url;
/// Events that are sent to host from child
/// worker.
diff --git a/core/lib.rs b/core/lib.rs
index 0dca01691..c0302ff83 100644
--- a/core/lib.rs
+++ b/core/lib.rs
@@ -1,6 +1,5 @@
// Copyright 2018-2020 the Deno authors. All rights reserved. MIT license.
-extern crate futures;
#[macro_use]
extern crate lazy_static;
#[macro_use]
@@ -20,7 +19,11 @@ mod runtime;
mod shared_queue;
mod zero_copy_buf;
+// Re-exports
+pub use futures;
pub use rusty_v8 as v8;
+pub use serde_json;
+pub use url;
pub use crate::flags::v8_set_flags;
pub use crate::module_specifier::ModuleResolutionError;
@@ -49,7 +52,6 @@ pub use crate::runtime::RuntimeOptions;
pub use crate::runtime::Snapshot;
pub use crate::zero_copy_buf::BufVec;
pub use crate::zero_copy_buf::ZeroCopyBuf;
-pub use serde_json;
pub fn v8_version() -> &'static str {
v8::V8::get_version()