Not sure what type of complexity you're referring to, but it handles many file formats, though some better than others. For example, it supports using variables for the version number in Maven but not in GitLab CI. It handles private package repositories, and updates package-lock.json.