summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--build.rs4
-rw-r--r--src/js_errors.rs3
-rw-r--r--src/snapshot.rs5
3 files changed, 12 insertions, 0 deletions
diff --git a/build.rs b/build.rs
index 64794934f..f96d39e9e 100644
--- a/build.rs
+++ b/build.rs
@@ -63,6 +63,10 @@ fn main() {
"deno_deps"
};
+ if check_only {
+ println!("cargo:rustc-cfg=feature=\"check-only\"");
+ }
+
let status = Command::new("python")
.env("DENO_BUILD_PATH", &gn_out_dir)
.env("DENO_BUILD_MODE", &mode)
diff --git a/src/js_errors.rs b/src/js_errors.rs
index d03564828..7b4e14321 100644
--- a/src/js_errors.rs
+++ b/src/js_errors.rs
@@ -277,6 +277,9 @@ fn parse_map_string(
getter: &SourceMapGetter,
) -> Option<SourceMap> {
match script_name {
+ // The bundle does not get built for 'cargo check', so we don't embed the
+ // bundle source map.
+ #[cfg(not(feature = "check-only"))]
"gen/bundle/main.js" => {
let s =
include_str!(concat!(env!("GN_OUT_DIR"), "/gen/bundle/main.js.map"));
diff --git a/src/snapshot.rs b/src/snapshot.rs
index fa7837ede..264395093 100644
--- a/src/snapshot.rs
+++ b/src/snapshot.rs
@@ -2,8 +2,13 @@
use libdeno::deno_buf;
pub fn deno_snapshot() -> deno_buf {
+ #[cfg(not(feature = "check-only"))]
let data =
include_bytes!(concat!(env!("GN_OUT_DIR"), "/gen/snapshot_deno.bin"));
+ // The snapshot blob is not available when the Rust Language Server runs
+ // 'cargo check'.
+ #[cfg(feature = "check-only")]
+ let data = vec![];
unsafe { deno_buf::from_raw_parts(data.as_ptr(), data.len()) }
}