mirror of
https://github.com/denoland/deno.git
synced 2025-08-04 19:08:15 +00:00
refactor: handle deno_media_type having Html
and Sql
variants (#28495)
This commit is contained in:
parent
9001068c23
commit
3c3b0dae76
16 changed files with 60 additions and 18 deletions
12
Cargo.lock
generated
12
Cargo.lock
generated
|
@ -1610,9 +1610,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "deno_ast"
|
||||
version = "0.46.1"
|
||||
version = "0.46.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "88393f34aaba238da6a3694aef7e046eec4d261c3bf98dc6669d397f1c274e5e"
|
||||
checksum = "b5700894f83f8d6a7507ed0667b27b812afbfe9bfdfd4d574191023a9c8c3a11"
|
||||
dependencies = [
|
||||
"base64 0.21.7",
|
||||
"deno_error",
|
||||
|
@ -2014,9 +2014,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "deno_graph"
|
||||
version = "0.89.1"
|
||||
version = "0.89.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "0c38c64a94e1e7792aa6eab7b013a075d88b3e04387d2c1291ecc2934c930095"
|
||||
checksum = "3e2570721f05ca346095896bd035acc35fd7cd95743077445418626a068a6b82"
|
||||
dependencies = [
|
||||
"async-trait",
|
||||
"capacity_builder 0.5.0",
|
||||
|
@ -2203,9 +2203,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "deno_media_type"
|
||||
version = "0.2.6"
|
||||
version = "0.2.8"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "480223262efd08f96b3be5f0457c82bac7296e70dc4e7ef7350751f66293812c"
|
||||
checksum = "3d9080fcfcea53bcd6eea1916217bd5611c896f3a0db4c001a859722a1258a47"
|
||||
dependencies = [
|
||||
"data-url",
|
||||
"encoding_rs",
|
||||
|
|
|
@ -50,16 +50,16 @@ license = "MIT"
|
|||
repository = "https://github.com/denoland/deno"
|
||||
|
||||
[workspace.dependencies]
|
||||
deno_ast = { version = "=0.46.1", features = ["transpiling"] }
|
||||
deno_ast = { version = "=0.46.2", features = ["transpiling"] }
|
||||
deno_core = { version = "0.340.0" }
|
||||
|
||||
deno_bench_util = { version = "0.188.0", path = "./bench_util" }
|
||||
deno_config = { version = "=0.50.0", features = ["workspace"] }
|
||||
deno_doc = "=0.169.0"
|
||||
deno_graph = "=0.89.1"
|
||||
deno_graph = "=0.89.2"
|
||||
deno_lint = "=0.74.0"
|
||||
deno_lockfile = "=0.24.0"
|
||||
deno_media_type = { version = "=0.2.6", features = ["module_specifier"] }
|
||||
deno_media_type = { version = "=0.2.8", features = ["module_specifier"] }
|
||||
deno_npm = "=0.27.2"
|
||||
deno_path_util = "=0.3.2"
|
||||
deno_permissions = { version = "0.53.0", path = "./runtime/permissions" }
|
||||
|
|
8
cli/cache/module_info.rs
vendored
8
cli/cache/module_info.rs
vendored
|
@ -260,6 +260,8 @@ impl deno_graph::ModuleAnalyzer for ModuleInfoCacheModuleAnalyzer<'_> {
|
|||
}
|
||||
}
|
||||
|
||||
// note: there is no deserialize for this because this is only ever
|
||||
// saved in the db and then used for comparisons
|
||||
fn serialize_media_type(media_type: MediaType) -> i64 {
|
||||
use MediaType::*;
|
||||
match media_type {
|
||||
|
@ -277,8 +279,10 @@ fn serialize_media_type(media_type: MediaType) -> i64 {
|
|||
Json => 12,
|
||||
Wasm => 13,
|
||||
Css => 14,
|
||||
SourceMap => 15,
|
||||
Unknown => 16,
|
||||
Html => 15,
|
||||
SourceMap => 16,
|
||||
Sql => 17,
|
||||
Unknown => 18,
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -280,7 +280,9 @@ impl Emitter {
|
|||
| MediaType::Json
|
||||
| MediaType::Wasm
|
||||
| MediaType::Css
|
||||
| MediaType::Html
|
||||
| MediaType::SourceMap
|
||||
| MediaType::Sql
|
||||
| MediaType::Unknown => {
|
||||
// clear this specifier from the parsed source cache as it's now out of date
|
||||
self.parsed_source_cache.free(specifier);
|
||||
|
|
|
@ -237,8 +237,10 @@ fn serialize_media_type(media_type: MediaType) -> u8 {
|
|||
MediaType::Json => 11,
|
||||
MediaType::Wasm => 12,
|
||||
MediaType::Css => 13,
|
||||
MediaType::SourceMap => 14,
|
||||
MediaType::Unknown => 15,
|
||||
MediaType::Html => 14,
|
||||
MediaType::SourceMap => 15,
|
||||
MediaType::Sql => 16,
|
||||
MediaType::Unknown => 17,
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -260,8 +262,10 @@ impl<'a> DenoRtDeserializable<'a> for MediaType {
|
|||
11 => MediaType::Json,
|
||||
12 => MediaType::Wasm,
|
||||
13 => MediaType::Css,
|
||||
14 => MediaType::SourceMap,
|
||||
15 => MediaType::Unknown,
|
||||
14 => MediaType::Html,
|
||||
15 => MediaType::SourceMap,
|
||||
16 => MediaType::Sql,
|
||||
17 => MediaType::Unknown,
|
||||
value => {
|
||||
return Err(std::io::Error::new(
|
||||
std::io::ErrorKind::InvalidData,
|
||||
|
|
|
@ -1008,7 +1008,9 @@ impl Config {
|
|||
MediaType::Json
|
||||
| MediaType::Wasm
|
||||
| MediaType::Css
|
||||
| MediaType::Html
|
||||
| MediaType::SourceMap
|
||||
| MediaType::Sql
|
||||
| MediaType::Unknown => None,
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1010,6 +1010,8 @@ impl Inner {
|
|||
MediaType::Wasm
|
||||
| MediaType::SourceMap
|
||||
| MediaType::Css
|
||||
| MediaType::Html
|
||||
| MediaType::Sql
|
||||
| MediaType::Unknown => {
|
||||
if path.extension().and_then(|s| s.to_str()) != Some("jsonc") {
|
||||
continue;
|
||||
|
|
|
@ -909,7 +909,11 @@ impl<TGraphContainer: ModuleGraphContainer>
|
|||
source,
|
||||
}));
|
||||
}
|
||||
MediaType::Css | MediaType::Wasm | MediaType::SourceMap => {
|
||||
MediaType::Css
|
||||
| MediaType::Html
|
||||
| MediaType::Sql
|
||||
| MediaType::Wasm
|
||||
| MediaType::SourceMap => {
|
||||
panic!("Unexpected media type {media_type} for {specifier}")
|
||||
}
|
||||
};
|
||||
|
|
|
@ -357,7 +357,11 @@ impl<'a> DenoCompileModuleData<'a> {
|
|||
(ModuleType::Wasm, DenoCompileModuleSource::Bytes(data))
|
||||
}
|
||||
// just assume javascript if we made it here
|
||||
MediaType::Css | MediaType::SourceMap | MediaType::Unknown => {
|
||||
MediaType::Css
|
||||
| MediaType::Html
|
||||
| MediaType::SourceMap
|
||||
| MediaType::Sql
|
||||
| MediaType::Unknown => {
|
||||
(ModuleType::JavaScript, DenoCompileModuleSource::Bytes(data))
|
||||
}
|
||||
};
|
||||
|
|
|
@ -338,7 +338,11 @@ fn get_module_roots_and_include_files(
|
|||
| MediaType::Tsx
|
||||
| MediaType::Json
|
||||
| MediaType::Wasm => true,
|
||||
MediaType::Css | MediaType::SourceMap | MediaType::Unknown => false,
|
||||
MediaType::Css
|
||||
| MediaType::Html
|
||||
| MediaType::SourceMap
|
||||
| MediaType::Sql
|
||||
| MediaType::Unknown => false,
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -597,6 +597,8 @@ pub fn cover_files(
|
|||
MediaType::JavaScript
|
||||
| MediaType::Unknown
|
||||
| MediaType::Css
|
||||
| MediaType::Html
|
||||
| MediaType::Sql
|
||||
| MediaType::Wasm
|
||||
| MediaType::Cjs
|
||||
| MediaType::Mjs
|
||||
|
|
|
@ -88,6 +88,8 @@ impl<TSys: FsMetadata + FsRead> ModuleContentProvider<TSys> {
|
|||
}
|
||||
MediaType::SourceMap
|
||||
| MediaType::Unknown
|
||||
| MediaType::Html
|
||||
| MediaType::Sql
|
||||
| MediaType::Json
|
||||
| MediaType::Wasm
|
||||
| MediaType::Css => {
|
||||
|
|
|
@ -604,6 +604,8 @@ pub fn as_ts_script_kind(media_type: MediaType) -> i32 {
|
|||
MediaType::Json => 6,
|
||||
MediaType::SourceMap
|
||||
| MediaType::Css
|
||||
| MediaType::Html
|
||||
| MediaType::Sql
|
||||
| MediaType::Wasm
|
||||
| MediaType::Unknown => 0,
|
||||
}
|
||||
|
|
|
@ -833,7 +833,9 @@ impl<'a> GraphWalker<'a> {
|
|||
MediaType::Json
|
||||
| MediaType::Wasm
|
||||
| MediaType::Css
|
||||
| MediaType::Html
|
||||
| MediaType::SourceMap
|
||||
| MediaType::Sql
|
||||
| MediaType::Unknown => None,
|
||||
};
|
||||
if result.is_some() {
|
||||
|
@ -947,7 +949,9 @@ fn has_ts_check(media_type: MediaType, file_text: &str) -> bool {
|
|||
| MediaType::Json
|
||||
| MediaType::Wasm
|
||||
| MediaType::Css
|
||||
| MediaType::Html
|
||||
| MediaType::SourceMap
|
||||
| MediaType::Sql
|
||||
| MediaType::Unknown => false,
|
||||
}
|
||||
}
|
||||
|
|
|
@ -196,7 +196,9 @@ impl<TInNpmPackageChecker: InNpmPackageChecker, TSys: FsRead>
|
|||
| MediaType::Tsx
|
||||
// treat these as unknown
|
||||
| MediaType::Css
|
||||
| MediaType::Html
|
||||
| MediaType::SourceMap
|
||||
| MediaType::Sql
|
||||
| MediaType::Unknown => {
|
||||
match is_script {
|
||||
Some(true) => self.check_based_on_pkg_json(specifier).unwrap_or(ResolutionMode::Import),
|
||||
|
@ -241,7 +243,9 @@ impl<TInNpmPackageChecker: InNpmPackageChecker, TSys: FsRead>
|
|||
| MediaType::Tsx
|
||||
// treat these as unknown
|
||||
| MediaType::Css
|
||||
| MediaType::Html
|
||||
| MediaType::SourceMap
|
||||
| MediaType::Sql
|
||||
| MediaType::Unknown => {
|
||||
if let Some(value) = known_cache.get(specifier).map(|v| *v) {
|
||||
if value == ResolutionMode::Require && is_script == Some(false) {
|
||||
|
|
|
@ -498,6 +498,8 @@ impl<TSys: FsMetadata> SloppyImportsResolver<TSys> {
|
|||
| MediaType::Json
|
||||
| MediaType::Wasm
|
||||
| MediaType::Css
|
||||
| MediaType::Html
|
||||
| MediaType::Sql
|
||||
| MediaType::SourceMap => {
|
||||
return None;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue