#9569 refactor: Embed Hub client directly in lock service
Pull request opened by
edgarrmondragon
## Description
This will help us eventually support auto-locking plugin definitions from the Hub if the lockfile is not present, improving UX a bit.
## Related Issues
NA
## Summary by Sourcery
Embed Hub client directly into the plugin lock service, refine the PluginLock API to operate on PluginDefinition and variant names, and update related callsites and tests accordingly.
Enhancements:
• Refactor PluginLock to accept PluginDefinition and variant_name instead of ProjectPlugin
• Introduce save_definition method on PluginLock to separate JSON lockfile writing
• Add fetch_from_hub flag to PluginLockService.save to fetch definitions via the Hub
• Update CLI lock command to fetch plugin definitions from the Hub by default
• Update manifest merging and other callsites to use the new PluginLock signature
Tests:
• Adjust tests to invoke PluginLock with the new signature and patch PluginLockService.save instead of PluginLock.save
meltano/meltano