Multiple versions of same JS library with Bower and django-pipeline

Issue

Two of the libraries I use in my single page application are moment and backgrid-moment-cell. I use bower to manage my front-end libraries and django-pipeline for asset packaging.

I’d like to use version 2.8.1 of moment, but backgrid-moment-cell requires version ~2.5.0. How can I get both version into my project?

Solution

Front-end development should use a single dependency because you want to minimize the amount of code your users need to download. Bower helps you to manage this, which is a major benefit of using it. You have a few options:

  • Manually namespace the modules then include both (really not recommended)
  • Use resolutions in bower.json, but you may introduce bugs:
"resolutions": {
    "moment": "2.8.1"
}
  • Ask the maintainer to bump bower dependency versions (recommended)

Answered By – Ray Shan

Answer Checked By – Marilyn (AngularFixing Volunteer)

Leave a Reply

Your email address will not be published.