diff options
author | David Sherret <dsherret@users.noreply.github.com> | 2024-09-04 17:39:30 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-09-04 17:39:30 +0200 |
commit | 07ad47da53d1fbabf6fc5d26c89dc6ba683d27fd (patch) | |
tree | 9b59f66129ec8a9b6bb1737e8733fd2d352c1f98 /cli/args/deno_json.rs | |
parent | 5400f1af6cdca6a71de80093c9d49cdde1f34ce5 (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.rs | 16 |
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"), + ); + } +} |