diff --git a/reflex/utils/imports.py b/reflex/utils/imports.py index d894c7c2c..1b4c61f09 100644 --- a/reflex/utils/imports.py +++ b/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 diff --git a/tests/components/core/test_banner.py b/tests/components/core/test_banner.py index ac01a825c..27b4b3645 100644 --- a/tests/components/core/test_banner.py +++ b/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", ]