Skip to content
This repository has been archived by the owner on Jun 26, 2018. It is now read-only.

Dependency Management

Marc Streit edited this page Nov 4, 2017 · 1 revision

Each plugin can require additional dependencies. Depending on the plugin type (frontend vs. backend) different dependency management systems are used.

Frontend Dependencies

Frontend web dependencies are managed via the NPMJS package manager and stored in the “package.json” file contained in each plugin. During workspace creating and updating all dependencies of all plugins contained in the workspace are collected and centrally installed in the workspace directory. This reduces the storage footprint by avoiding duplicates. See also yo phovea:install

Backend Dependencies

Backend Python dependencies are mainly managed via PyPI by entering the dependency in the “requirements.txt” file of the backend plugin (slib, service). During workspace creation and update all requirements are collected and automatically installed in the local development docker container. In addition, additional Debian packages can be installed by adding them to the “docker-packages.txt” file. However, this should be avoided if possible due to portability.