summaryrefslogtreecommitdiff
path: root/cli/tools
diff options
context:
space:
mode:
authorBartek IwaƄczuk <biwanczuk@gmail.com>2022-04-11 01:12:51 +0200
committerGitHub <noreply@github.com>2022-04-11 01:12:51 +0200
commit8ae17026cbb30ab23fd79ac5cf5c207af5ad90a3 (patch)
treed627be6104c0903b36ac38c6b56c2603469bbfec /cli/tools
parenta4eee007ef28f918db9165c52a19bc30bd65bad3 (diff)
feat: Add "deno check" subcommand for type checking (#14072)
This commit adds new "deno check" subcommand. Currently it is an alias for "deno cache" with the difference that remote modules don't emit TS diagnostics by default. Prints warning for "deno run" subcommand if "--check" flag is not present and there's no "--no-check" flag. Adds "DENO_FUTURE_CHECK" env variable that allows to opt into new behavior now.
Diffstat (limited to 'cli/tools')
-rw-r--r--cli/tools/bench.rs4
-rw-r--r--cli/tools/installer.rs12
-rw-r--r--cli/tools/standalone.rs7
-rw-r--r--cli/tools/test.rs4
4 files changed, 15 insertions, 12 deletions
diff --git a/cli/tools/bench.rs b/cli/tools/bench.rs
index d852139e3..2d35c27c5 100644
--- a/cli/tools/bench.rs
+++ b/cli/tools/bench.rs
@@ -11,7 +11,7 @@ use crate::file_watcher;
use crate::file_watcher::ResolutionResult;
use crate::flags::BenchFlags;
use crate::flags::Flags;
-use crate::flags::TypecheckMode;
+use crate::flags::TypeCheckMode;
use crate::fs_util::collect_specifiers;
use crate::fs_util::is_supported_bench_path;
use crate::graph_util::contains_specifier;
@@ -517,7 +517,7 @@ pub async fn run_benchmarks_with_watch(
let include = bench_flags.include.unwrap_or_else(|| vec![".".to_string()]);
let ignore = bench_flags.ignore.clone();
let paths_to_watch: Vec<_> = include.iter().map(PathBuf::from).collect();
- let no_check = ps.flags.typecheck_mode == TypecheckMode::None;
+ let no_check = ps.flags.type_check_mode == TypeCheckMode::None;
let resolver = |changed: Option<Vec<PathBuf>>| {
let mut cache = cache::FetchCacher::new(
diff --git a/cli/tools/installer.rs b/cli/tools/installer.rs
index a4340e98c..8ebbf8f53 100644
--- a/cli/tools/installer.rs
+++ b/cli/tools/installer.rs
@@ -2,7 +2,7 @@
use crate::flags::Flags;
use crate::flags::InstallFlags;
-use crate::flags::TypecheckMode;
+use crate::flags::TypeCheckMode;
use crate::fs_util::canonicalize_path;
use deno_core::error::generic_error;
use deno_core::error::AnyError;
@@ -306,10 +306,10 @@ fn resolve_shim_data(
// we should avoid a default branch here to ensure we continue to cover any
// changes to this flag.
- match flags.typecheck_mode {
- TypecheckMode::All => (),
- TypecheckMode::None => executable_args.push("--no-check".to_string()),
- TypecheckMode::Local => {
+ match flags.type_check_mode {
+ TypeCheckMode::All => (),
+ TypeCheckMode::None => executable_args.push("--no-check".to_string()),
+ TypeCheckMode::Local => {
executable_args.push("--no-check=remote".to_string())
}
}
@@ -590,7 +590,7 @@ mod tests {
&Flags {
allow_net: Some(vec![]),
allow_read: Some(vec![]),
- typecheck_mode: TypecheckMode::None,
+ type_check_mode: TypeCheckMode::None,
log_level: Some(Level::Error),
compat: true,
..Flags::default()
diff --git a/cli/tools/standalone.rs b/cli/tools/standalone.rs
index e7c279f42..9f24b5f08 100644
--- a/cli/tools/standalone.rs
+++ b/cli/tools/standalone.rs
@@ -4,8 +4,9 @@ use crate::deno_dir::DenoDir;
use crate::flags::CompileFlags;
use crate::flags::DenoSubcommand;
use crate::flags::Flags;
+use crate::flags::FutureTypeCheckMode;
use crate::flags::RunFlags;
-use crate::flags::TypecheckMode;
+use crate::flags::TypeCheckMode;
use crate::fs_util;
use crate::standalone::Metadata;
use crate::standalone::MAGIC_TRAILER;
@@ -274,7 +275,9 @@ pub fn compile_to_runtime_flags(
lock_write: false,
lock: None,
log_level: flags.log_level,
- typecheck_mode: TypecheckMode::All,
+ type_check_mode: TypeCheckMode::All,
+ future_type_check_mode: FutureTypeCheckMode::None,
+ has_check_flag: false,
compat: flags.compat,
unsafely_ignore_certificate_errors: flags
.unsafely_ignore_certificate_errors
diff --git a/cli/tools/test.rs b/cli/tools/test.rs
index 242abab1b..96ee3ab6e 100644
--- a/cli/tools/test.rs
+++ b/cli/tools/test.rs
@@ -12,7 +12,7 @@ use crate::file_watcher;
use crate::file_watcher::ResolutionResult;
use crate::flags::Flags;
use crate::flags::TestFlags;
-use crate::flags::TypecheckMode;
+use crate::flags::TypeCheckMode;
use crate::fs_util::collect_specifiers;
use crate::fs_util::is_supported_test_ext;
use crate::fs_util::is_supported_test_path;
@@ -1075,7 +1075,7 @@ pub async fn run_tests_with_watch(
let include = test_flags.include.unwrap_or_else(|| vec![".".to_string()]);
let ignore = test_flags.ignore.clone();
let paths_to_watch: Vec<_> = include.iter().map(PathBuf::from).collect();
- let no_check = ps.flags.typecheck_mode == TypecheckMode::None;
+ let no_check = ps.flags.type_check_mode == TypeCheckMode::None;
let resolver = |changed: Option<Vec<PathBuf>>| {
let mut cache = cache::FetchCacher::new(