55from tempfile import TemporaryDirectory
66from typing import Dict , Iterable , List , Sequence , Set , Union
77
8- from idom .config import IDOM_CLIENT_WEB_MODULE_BASE_URL
8+ from idom .config import IDOM_CLIENT_BUILD_DIR , IDOM_CLIENT_WEB_MODULE_BASE_URL
99
1010from . import _private
1111
1212
1313logger = getLogger (__name__ )
1414
1515
16+ def web_modules_dir () -> Path :
17+ return IDOM_CLIENT_BUILD_DIR .get () / "_snowpack" / "pkg"
18+
19+
20+ def web_module_path (package_name : str , must_exist : bool = False ) -> Path :
21+ path = web_modules_dir ().joinpath (* (package_name + ".js" ).split ("/" ))
22+ if must_exist and not path .exists ():
23+ raise ValueError (
24+ f"Web module { package_name !r} does not exist at path { str (path )!r} "
25+ )
26+ return path
27+
28+
1629def web_module_exports (package_name : str ) -> List [str ]:
1730 web_module_path (package_name , must_exist = True )
1831 return _private .find_js_module_exports_in_source (
@@ -31,7 +44,7 @@ def web_module_exists(package_name: str) -> bool:
3144
3245def web_module_names () -> Set [str ]:
3346 names = []
34- web_mod_dir = _private . web_modules_dir ()
47+ web_mod_dir = web_modules_dir ()
3548 for pth in web_mod_dir .glob ("**/*.js" ):
3649 rel_pth = pth .relative_to (web_mod_dir )
3750 if Path ("common" ) in rel_pth .parents :
@@ -53,15 +66,6 @@ def add_web_module(package_name: str, source: Union[Path, str]) -> str:
5366 return web_module_url (package_name )
5467
5568
56- def web_module_path (package_name : str , must_exist : bool = False ) -> Path :
57- path = _private .web_modules_dir ().joinpath (* (package_name + ".js" ).split ("/" ))
58- if must_exist and not path .exists ():
59- raise ValueError (
60- f"Web module { package_name !r} does not exist at path { str (path )!r} "
61- )
62- return path
63-
64-
6569def restore () -> None :
6670 _private .restore_build_dir_from_backup ()
6771
0 commit comments