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
This commit is contained in:
David Sherret 2024-09-04 17:39:30 +02:00 committed by GitHub
parent 5400f1af6c
commit 07ad47da53
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
17 changed files with 36 additions and 39 deletions

View file

@ -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"),
);
}
}