Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is the best way to keep javascript libraries up-to-date in rails?

I am currently develoing a Rails application which makes heavy use of some javascript libraries, including jquery, backbone.js and d3.js. For jquery, there is the jquery-rails gem, for backbone, we have backbone-rails. But nothing like this exists for d3.js.

I copied the javascript from d3.js to my repository, this feels a bit unclean to me though, because when d3 gets updated, I have to copy it again (and I have to notice, that d3 got updated!). I thought about git submodules, but I have to pull them manually every time I check out the repository. May be there is way to let bundler check out a specific release of the d3 repository?

How do you handle updating third-party javascript libraries in rails? Is there a preferred way?

like image 336
iblue Avatar asked Feb 17 '12 19:02

iblue


1 Answers

Not sure why you got downvoted for this...

But I'm going to have to agree with the comment that says to do it manually. I wouldn't leave it out of your repository - no call for that; you want to keep your current version around - but I'd not recommend having it update automatically.

That's for stability. If you make "heavy use" of JS like you say, a quirk - or even a bugfix for a bug you worked around - in the latest version of a library could play havoc with your code. We got bit by something like this when jQuery tweaked how it treated attr() and prop() between two versions.

So if you always update your libraries manually:

  • You always know when they change, and that you have to do some thorough testing before making the changes public.
  • You can stay with an older version of the library if you want to - for performance, or to give you time to work around the latest quirks, or whatever.

Hope that helps!

like image 165
Xavier Holt Avatar answered Oct 15 '22 09:10

Xavier Holt