diff options
Diffstat (limited to 'cli/args/config_file.rs')
-rw-r--r-- | cli/args/config_file.rs | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/cli/args/config_file.rs b/cli/args/config_file.rs index c31f09960..82ae7e5d7 100644 --- a/cli/args/config_file.rs +++ b/cli/args/config_file.rs @@ -465,6 +465,8 @@ pub enum LockConfig { pub struct ConfigFileJson { pub compiler_options: Option<Value>, pub import_map: Option<String>, + pub imports: Option<Value>, + pub scopes: Option<Value>, pub lint: Option<Value>, pub fmt: Option<Value>, pub tasks: Option<Value>, @@ -667,6 +669,21 @@ impl ConfigFile { self.json.import_map.clone() } + pub fn to_import_map_value(&self) -> Value { + let mut value = serde_json::Map::with_capacity(2); + if let Some(imports) = &self.json.imports { + value.insert("imports".to_string(), imports.clone()); + } + if let Some(scopes) = &self.json.scopes { + value.insert("scopes".to_string(), scopes.clone()); + } + value.into() + } + + pub fn is_an_import_map(&self) -> bool { + self.json.imports.is_some() || self.json.scopes.is_some() + } + pub fn to_fmt_config(&self) -> Result<Option<FmtConfig>, AnyError> { if let Some(config) = self.json.fmt.clone() { let fmt_config: SerializedFmtConfig = serde_json::from_value(config) |