intersystems / intersystems/ipm

Update framework enhancement: remove dependencies that don't exist in a new version of a module

Open
#868 2 comments 0 reactions 0 assignees View on GitHub
enhancement prio: medium
Dominant language
ObjectScript
Stars
41
Forks
29
Avg merge
23h 54m
Merged PRs (30d)
4

Description

Motivating example:
- User installs module A v1.0.0, which depends on module B
- User updates to module A v2.0.0, which doesn't have any dependencies
- After the update, a new version of module A code is loaded. Module B code and data linger on the user system by default

The module developers can always uninstall module B in an update step, but it should be done automatically.

Dev Notes:
- One option for implementing this: within the `update` command logic, we could consider running the `clean` lifecycle phase of the existing module before installing the new version
- Consider how to propagate a -purge flag to the correct module to uninstall (which removes data associated with the module), if it is passed to the `update` command

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.