mirror of
https://github.com/denoland/deno.git
synced 2025-02-08 07:16:56 -05:00
fix(node): align type stripping in node_modules error message with Node (#27809)
This commit is contained in:
parent
84429352da
commit
20a910e5f8
3 changed files with 14 additions and 11 deletions
|
@ -27,12 +27,17 @@ pub struct ModuleCodeStringSource {
|
|||
|
||||
#[derive(Debug, Error, deno_error::JsError)]
|
||||
#[class(type)]
|
||||
#[error("{media_type} files are not supported in npm packages: {specifier}")]
|
||||
pub struct NotSupportedKindInNpmError {
|
||||
pub media_type: MediaType,
|
||||
#[error("[{}]: Stripping types is currently unsupported for files under node_modules, for \"{}\"", self.code(), specifier)]
|
||||
pub struct StrippingTypesNodeModulesError {
|
||||
pub specifier: Url,
|
||||
}
|
||||
|
||||
impl StrippingTypesNodeModulesError {
|
||||
pub fn code(&self) -> &'static str {
|
||||
"ERR_UNSUPPORTED_NODE_MODULES_TYPE_STRIPPING"
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Debug, Error, deno_error::JsError)]
|
||||
pub enum NpmModuleLoadError {
|
||||
#[class(inherit)]
|
||||
|
@ -40,7 +45,7 @@ pub enum NpmModuleLoadError {
|
|||
UrlToFilePath(#[from] deno_path_util::UrlToFilePathError),
|
||||
#[class(inherit)]
|
||||
#[error(transparent)]
|
||||
NotSupportedKindInNpm(#[from] NotSupportedKindInNpmError),
|
||||
StrippingTypesNodeModules(#[from] StrippingTypesNodeModulesError),
|
||||
#[class(inherit)]
|
||||
#[error(transparent)]
|
||||
ClosestPkgJson(#[from] node_resolver::errors::ClosestPkgJsonError),
|
||||
|
@ -177,9 +182,8 @@ impl<
|
|||
|
||||
let media_type = MediaType::from_specifier(specifier);
|
||||
if media_type.is_emittable() {
|
||||
return Err(NpmModuleLoadError::NotSupportedKindInNpm(
|
||||
NotSupportedKindInNpmError {
|
||||
media_type,
|
||||
return Err(NpmModuleLoadError::StrippingTypesNodeModules(
|
||||
StrippingTypesNodeModulesError {
|
||||
specifier: specifier.clone(),
|
||||
},
|
||||
));
|
||||
|
|
|
@ -38,8 +38,8 @@ use deno_graph::ModuleGraphError;
|
|||
use deno_graph::Resolution;
|
||||
use deno_graph::WasmModule;
|
||||
use deno_lib::loader::ModuleCodeStringSource;
|
||||
use deno_lib::loader::NotSupportedKindInNpmError;
|
||||
use deno_lib::loader::NpmModuleLoadError;
|
||||
use deno_lib::loader::StrippingTypesNodeModulesError;
|
||||
use deno_lib::npm::NpmRegistryReadPermissionChecker;
|
||||
use deno_lib::util::hash::FastInsecureHasher;
|
||||
use deno_lib::worker::CreateModuleLoaderResult;
|
||||
|
@ -1257,8 +1257,7 @@ impl<TGraphContainer: ModuleGraphContainer> NodeRequireLoader
|
|||
let specifier = deno_path_util::url_from_file_path(path)
|
||||
.map_err(JsErrorBox::from_err)?;
|
||||
if self.in_npm_pkg_checker.in_npm_package(&specifier) {
|
||||
return Err(JsErrorBox::from_err(NotSupportedKindInNpmError {
|
||||
media_type,
|
||||
return Err(JsErrorBox::from_err(StrippingTypesNodeModulesError {
|
||||
specifier,
|
||||
}));
|
||||
}
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
Download http://localhost:4260/@denotest%2ftypescript-file
|
||||
Download http://localhost:4260/@denotest/typescript-file/1.0.0.tgz
|
||||
error: TypeScript files are not supported in npm packages: file:///[WILDCARD]/@denotest/typescript-file/1.0.0/index.ts
|
||||
error: [ERR_UNSUPPORTED_NODE_MODULES_TYPE_STRIPPING]: Stripping types is currently unsupported for files under node_modules, for "file:///[WILDLINE]/index.ts"
|
||||
|
|
Loading…
Add table
Reference in a new issue