diff options
author | Nayeem Rahman <nayeemrmn99@gmail.com> | 2023-06-29 22:07:05 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-06-29 23:07:05 +0200 |
commit | 55362452a8eb6abaf74d704cb4333dfc1f0cfe58 (patch) | |
tree | 611991a8cef85f457575ff01dd90978db10ec8d2 /core/extensions.rs | |
parent | 09af1a5fef9d6c9e2c1b50484701b1cfd7c7e938 (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.rs | 6 |
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)) ), },)+ ] |