From 07ad47da53d1fbabf6fc5d26c89dc6ba683d27fd Mon Sep 17 00:00:00 2001 From: David Sherret Date: Wed, 4 Sep 2024 17:39:30 +0200 Subject: 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 --- cli/lsp/config.rs | 8 +++----- cli/lsp/language_server.rs | 5 ++--- 2 files changed, 5 insertions(+), 8 deletions(-) (limited to 'cli/lsp') diff --git a/cli/lsp/config.rs b/cli/lsp/config.rs index f9262d12e..fcea96aa5 100644 --- a/cli/lsp/config.rs +++ b/cli/lsp/config.rs @@ -1387,10 +1387,8 @@ impl ConfigData { } } - let node_modules_dir = member_dir - .workspace - .node_modules_dir_mode() - .unwrap_or_default(); + let node_modules_dir = + member_dir.workspace.node_modules_dir().unwrap_or_default(); let byonm = match node_modules_dir { Some(mode) => mode == NodeModulesDirMode::Manual, None => member_dir.workspace.root_pkg_json().is_some(), @@ -1873,7 +1871,7 @@ fn resolve_node_modules_dir( // `nodeModulesDir: true` setting in the deno.json file. This is to // reduce the chance of modifying someone's node_modules directory // without them having asked us to do so. - let node_modules_mode = workspace.node_modules_dir_mode().ok().flatten(); + let node_modules_mode = workspace.node_modules_dir().ok().flatten(); let explicitly_disabled = node_modules_mode == Some(NodeModulesDirMode::None); if explicitly_disabled { return None; diff --git a/cli/lsp/language_server.rs b/cli/lsp/language_server.rs index 05c54dfc6..2bb13e5e4 100644 --- a/cli/lsp/language_server.rs +++ b/cli/lsp/language_server.rs @@ -966,9 +966,8 @@ impl Inner { .await; for config_file in self.config.tree.config_files() { (|| { - let compiler_options = config_file.to_compiler_options().ok()?.0; - let compiler_options_obj = compiler_options.as_object()?; - let jsx_import_source = compiler_options_obj.get("jsxImportSource")?; + let compiler_options = config_file.to_compiler_options().ok()?.options; + let jsx_import_source = compiler_options.get("jsxImportSource")?; let jsx_import_source = jsx_import_source.as_str()?; let referrer = config_file.specifier.clone(); let specifier = Url::parse(&format!( -- cgit v1.2.3