@@ -164,17 +164,14 @@ def deploy(self):
164164 copy (self , "*" , src = os .path .join (self .package_folder , "bin" ), dst = self .install_folder )
165165
166166 def package (self ):
167+ copy (self , pattern = "libnest2d_js*" , src = os .path .join (self .build_folder , "libnest2d_js" ),
168+ dst = os .path .join (self .package_folder , "bin" ))
169+ copy (self , f"*.d.ts" , src = self .build_folder , dst = os .path .join (self .package_folder , "bin" ), keep_path = False )
170+ copy (self , f"*.js" , src = self .build_folder , dst = os .path .join (self .package_folder , "bin" ), keep_path = False )
171+ copy (self , f"*.wasm" , src = self .build_folder , dst = os .path .join (self .package_folder , "bin" ), keep_path = False )
167172 packager = AutoPackager (self )
168173 packager .run ()
169174
170- # Specifically handle the Emscripten assets
171- if self .settings .os == "Emscripten" :
172- bin_dir = os .path .join (self .package_folder , "bin" )
173- build_dir = self .build_folder
174- copy (self , "libnest2d_js.js" , build_dir , bin_dir )
175- copy (self , "libnest2d_js.wasm" , build_dir , bin_dir )
176- copy (self , "*.d.ts" , build_dir , bin_dir , keep_path = False )
177-
178175 # Remove the header files from options not used in this package
179176 if self .options .geometries != "clipper" :
180177 files .rmdir (self , os .path .join (self .package_folder , "include" , "libnest2d" , "backends" , "clipper" ))
@@ -195,3 +192,6 @@ def package_info(self):
195192 # npm package json for Emscripten builds
196193 if self .settings .os == "Emscripten" or self .options .get_safe ("with_js_bindings" , False ):
197194 self .python_requires ["npmpackage" ].module .conf_package_json (self )
195+ # Expose the path to the JS/WASM assets for consumers
196+ js_asset_path = os .path .join (self .package_folder , "bin" )
197+ self .conf_info .define ("user.nest2d:js_path" , js_asset_path )
0 commit comments