Widgets will need dependency management if we are to build widgets composed of other widgets that may or may not already be in a project. Some things we'll need to do so:
- A dependencies key in the manifest. We should probably format this just like the dependencies in nodejs packages to keep it familiar and flexible.
- A dependency manager that needs to be able to:
- check if dependencies are met for a project
- make supported widgets available for installation (think npm install PACKAGE)
- add publicly available dependencies to project when needed, just as npm would.
These bullet point will probably require integration with TiStudio. The logic of the dependency manager probably makes most sense in a compiler plugin right now, but this may change as the CLI changes.