summaryrefslogtreecommitdiff
path: root/core/extensions.rs
diff options
context:
space:
mode:
authorNayeem Rahman <nayeemrmn99@gmail.com>2023-06-29 22:07:05 +0100
committerGitHub <noreply@github.com>2023-06-29 23:07:05 +0200
commit55362452a8eb6abaf74d704cb4333dfc1f0cfe58 (patch)
tree611991a8cef85f457575ff01dd90978db10ec8d2 /core/extensions.rs
parent09af1a5fef9d6c9e2c1b50484701b1cfd7c7e938 (diff)
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`.
Diffstat (limited to 'core/extensions.rs')
-rw-r--r--core/extensions.rs6
1 files changed, 3 insertions, 3 deletions
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))
),
},)+
]