summaryrefslogtreecommitdiff
path: root/cli/args/deno_json.rs
diff options
context:
space:
mode:
authorDavid Sherret <dsherret@users.noreply.github.com>2024-09-04 17:39:30 +0200
committerGitHub <noreply@github.com>2024-09-04 17:39:30 +0200
commit07ad47da53d1fbabf6fc5d26c89dc6ba683d27fd (patch)
tree9b59f66129ec8a9b6bb1737e8733fd2d352c1f98 /cli/args/deno_json.rs
parent5400f1af6cdca6a71de80093c9d49cdde1f34ce5 (diff)
BREAKING(config): make supported compilerOptions an allow list (#25432)
Deno has been using a deny list, which doesn't make sense because a lot of these options don't even work. Closes #25363
Diffstat (limited to 'cli/args/deno_json.rs')
-rw-r--r--cli/args/deno_json.rs16
1 files changed, 16 insertions, 0 deletions
diff --git a/cli/args/deno_json.rs b/cli/args/deno_json.rs
index cbc33aa0b..e9ab0189f 100644
--- a/cli/args/deno_json.rs
+++ b/cli/args/deno_json.rs
@@ -2,6 +2,7 @@
use std::collections::HashSet;
+use deno_config::deno_json::TsConfigForEmit;
use deno_core::serde_json;
use deno_semver::jsr::JsrDepPackageReq;
use deno_semver::jsr::JsrPackageReqReference;
@@ -105,3 +106,18 @@ fn values_to_set<'a>(
}
entries
}
+
+pub fn check_warn_tsconfig(ts_config: &TsConfigForEmit) {
+ if let Some(ignored_options) = &ts_config.maybe_ignored_options {
+ log::warn!("{}", ignored_options);
+ }
+ let serde_json::Value::Object(obj) = &ts_config.ts_config.0 else {
+ return;
+ };
+ if obj.get("experimentalDecorators") == Some(&serde_json::Value::Bool(true)) {
+ log::warn!(
+ "{} experimentalDecorators compiler option is deprecated and may be removed at any time",
+ deno_runtime::colors::yellow("Warning"),
+ );
+ }
+}