refactor!: refactor installer internals and add new Package class methods #1523
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This contains the following changes:
Package:install()
now accepts a second, optional, callback argument which is called when installation finishes(successfully or not).
uninstall:success
andpackage:uninstall:success
events now include an additional payload argument containingthe receipt of the uninstalled package.
Package:is_installing()
method.This contains the following breaking changes:
Package:install()
will now error when called while an installation is already ongoing. Use the newPackage:is_installing()
method to check whether an installation is already running.This also refactors large portions of the tests by removing test globals, removing async_test, and adding the
mason-test
Lua module instead. Test helpers via globals are problematic to work with due to not being detected throughtools like the Lua language server without additional configuration. This has been replaced with a Lua module
mason-test
.async_test
has also been removed in favour of explicitly making use of themason-core.async
API. Thesechanges stands for a significant portion of the diff.