From 55362452a8eb6abaf74d704cb4333dfc1f0cfe58 Mon Sep 17 00:00:00 2001 From: Nayeem Rahman Date: Thu, 29 Jun 2023 22:07:05 +0100 Subject: fix(core): consistent extension source resolution (#19615) Currently the resolution for extension sources is different depending on whether `include_js_files_for_snapshotting` is enabled. If sources are embedded it uses `include_str!()` which is module-relative. If sources are read at runtime paths are joined to `CARGO_MANIFEST_DIR` and are package-relative. This makes them both package-relative. Fixes `cargo run -p deno_runtime --example extension_with_esm --features include_js_files_for_snapshotting`. --- core/extensions.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'core') diff --git a/core/extensions.rs b/core/extensions.rs index e76b4064b..e4de3d217 100644 --- a/core/extensions.rs +++ b/core/extensions.rs @@ -622,8 +622,8 @@ macro_rules! include_js_files { $($crate::ExtensionFileSource { specifier: concat!("ext:", stringify!($name), "/", $file), code: $crate::ExtensionFileSourceCode::IncludedInBinary( - include_str!(concat!($dir, "/", $file) - )), + include_str!(concat!(env!("CARGO_MANIFEST_DIR"), "/", $dir, "/", $file)) + ), },)+ ] }; @@ -633,7 +633,7 @@ macro_rules! include_js_files { $($crate::ExtensionFileSource { specifier: concat!("ext:", stringify!($name), "/", $file), code: $crate::ExtensionFileSourceCode::IncludedInBinary( - include_str!($file) + include_str!(concat!(env!("CARGO_MANIFEST_DIR"), "/", $file)) ), },)+ ] -- cgit v1.2.3