Browse Source

Fixup deduped package names in collapse()

Masen Furer 1 year ago
parent
commit
fe4a4ee81b
2 changed files with 10 additions and 7 deletions
  1. 4 1
      reflex/utils/imports.py
  2. 6 6
      tests/components/core/test_banner.py

+ 4 - 1
reflex/utils/imports.py

@@ -284,7 +284,10 @@ class ImportList(List[ImportVar]):
                     f"Imports from {lib} have conflicting version specifiers: "
                     f"{packages} {imps}"
                 )
-            deduped[list(packages)[0] or ""] = list(imps.values())
+            package = lib
+            if packages:
+                package = packages.pop() or ""
+            deduped[package] = list(imps.values())
         return deduped
 
 

+ 6 - 6
tests/components/core/test_banner.py

@@ -15,12 +15,12 @@ def test_websocket_target_url():
 
 def test_connection_banner():
     banner = ConnectionBanner.create()
-    _imports = banner._get_all_imports()
-    assert [i.library for i in _imports] == [
+    _imports = banner._get_all_imports().collapse()
+    assert list(_imports) == [
         "react",
         "/utils/context",
         "/utils/state",
-        "@radix-ui/themes",
+        "@radix-ui/themes@^3.0.0",
         "/env.json",
     ]
 
@@ -31,12 +31,12 @@ def test_connection_banner():
 
 def test_connection_modal():
     modal = ConnectionModal.create()
-    _imports = modal._get_all_imports()
-    assert [i.library for i in _imports] == [
+    _imports = modal._get_all_imports().collapse()
+    assert list(_imports) == [
         "react",
         "/utils/context",
         "/utils/state",
-        "@radix-ui/themes",
+        "@radix-ui/themes@^3.0.0",
         "/env.json",
     ]