summaryrefslogtreecommitdiff
path: root/cli/args/mod.rs
diff options
context:
space:
mode:
Diffstat (limited to 'cli/args/mod.rs')
-rw-r--r--cli/args/mod.rs20
1 files changed, 19 insertions, 1 deletions
diff --git a/cli/args/mod.rs b/cli/args/mod.rs
index 0778dee79..1d28df124 100644
--- a/cli/args/mod.rs
+++ b/cli/args/mod.rs
@@ -723,7 +723,14 @@ impl CliOptions {
}
pub fn ts_type_lib_window(&self) -> TsTypeLib {
- if self.flags.unstable {
+ if self.flags.unstable
+ || !self.flags.unstable_features.is_empty()
+ || self
+ .maybe_config_file
+ .as_ref()
+ .map(|f| !f.json.unstable.is_empty())
+ .unwrap_or(false)
+ {
TsTypeLib::UnstableDenoWindow
} else {
TsTypeLib::DenoWindow
@@ -1264,6 +1271,17 @@ impl CliOptions {
.unwrap_or(false)
}
+ pub fn unstable_features(&self) -> Vec<String> {
+ let mut from_config_file = self
+ .maybe_config_file()
+ .as_ref()
+ .map(|c| c.json.unstable.clone())
+ .unwrap_or_default();
+
+ from_config_file.extend_from_slice(&self.flags.unstable_features);
+ from_config_file
+ }
+
pub fn v8_flags(&self) -> &Vec<String> {
&self.flags.v8_flags
}