diff --git a/cli/lib/loader.rs b/cli/lib/loader.rs index 58be3de7a7..bdd111ae73 100644 --- a/cli/lib/loader.rs +++ b/cli/lib/loader.rs @@ -14,16 +14,15 @@ pub fn module_type_from_media_and_requested_type( requested_module_type: &RequestedModuleType, ) -> ModuleType { match requested_module_type { - RequestedModuleType::Json => ModuleType::Json, RequestedModuleType::Text => ModuleType::Text, RequestedModuleType::Bytes => ModuleType::Bytes, - RequestedModuleType::None | RequestedModuleType::Other(_) => { - match media_type { - MediaType::Json => ModuleType::Json, - MediaType::Wasm => ModuleType::Wasm, - _ => ModuleType::JavaScript, - } - } + RequestedModuleType::None + | RequestedModuleType::Other(_) + | RequestedModuleType::Json => match media_type { + MediaType::Json => ModuleType::Json, + MediaType::Wasm => ModuleType::Wasm, + _ => ModuleType::JavaScript, + }, } } diff --git a/tests/specs/npm/json_import/__test__.jsonc b/tests/specs/npm/json_import/__test__.jsonc new file mode 100644 index 0000000000..222cdaa77e --- /dev/null +++ b/tests/specs/npm/json_import/__test__.jsonc @@ -0,0 +1,14 @@ +{ + "tempDir": true, + "tests": { + "has_attribute": { + "args": "run has_attribute.ts", + "output": "[WILDCARD]" + }, + "missing_attribute": { + "args": "run missing_attribute.ts", + "output": "missing.out", + "exitCode": 1 + } + } +} diff --git a/tests/specs/npm/json_import/has_attribute.ts b/tests/specs/npm/json_import/has_attribute.ts new file mode 100644 index 0000000000..969bf6cbcf --- /dev/null +++ b/tests/specs/npm/json_import/has_attribute.ts @@ -0,0 +1,2 @@ +import data from "package/package.json" with { type: "json" }; +console.log(data); diff --git a/tests/specs/npm/json_import/missing.out b/tests/specs/npm/json_import/missing.out new file mode 100644 index 0000000000..77f4339dcc --- /dev/null +++ b/tests/specs/npm/json_import/missing.out @@ -0,0 +1 @@ +error: Attempted to load JSON module without specifying "type": "json" attribute in the import statement. diff --git a/tests/specs/npm/json_import/missing_attribute.ts b/tests/specs/npm/json_import/missing_attribute.ts new file mode 100644 index 0000000000..68146ded6c --- /dev/null +++ b/tests/specs/npm/json_import/missing_attribute.ts @@ -0,0 +1,2 @@ +import data from "package/package.json"; +console.log(data); diff --git a/tests/specs/npm/json_import/node_modules/package/package.json b/tests/specs/npm/json_import/node_modules/package/package.json new file mode 100644 index 0000000000..920dda0800 --- /dev/null +++ b/tests/specs/npm/json_import/node_modules/package/package.json @@ -0,0 +1,3 @@ +{ + "name": "package" +} diff --git a/tests/specs/npm/json_import/package.json b/tests/specs/npm/json_import/package.json new file mode 100644 index 0000000000..2c63c08510 --- /dev/null +++ b/tests/specs/npm/json_import/package.json @@ -0,0 +1,2 @@ +{ +}