The relentless pace with which libraries, and dependent javascript resources now change, is quite difficult to keep up with – particularly when you’re attempting to be frugal and use open source projects like Telerik UI for ASP.NET MVC – which basically got dropped in 2013, and replaced by Kendo UI.
The basic problem is that when you’re using libraries like these, that depend quite a bit on things like JQuery, and get subsequently dropped – you can be left in a bit of an upgrade quandary.
It’s tempting to go to NuGet, and just ‘update all’ libraries you’re using, but all sorts of bad things can happen if you get a little trigger happy on that function. The Telerik components for instance expect JQuery 1.7.1 (which is a 2012 version). I now want to use Bootstrap to create a responsive theme, and that’s wanting JQuery 2.x. I’d tried to update to a later JQuery version previously and basically the whole deal broke – almost all components were using deprecated JQuery features. I was considering going through the code and patching where required, but I don’t have that kind of time.
Whilst looking for deprecated features on the JQuery API doco, I saw mention of JQuery.Migrate plugin – which basically fills in those gaps for you. I then picked up the package in NuGet, added to my Bundle config (right under JQuery)
bundles.Add(new ScriptBundle("~/bundles/jquery").Include( "~/Scripts/jquery-{version}.js", "~/Scripts/jquery-migrate-1.2.1.js", "~/Scripts/jquery.cookie.js", "~/Scripts/jquery.imagemapster.js", "~/Scripts/jquery.tooltipster.js"));
Stopped the site in IIS Express, restarted, and everything just magically started working again!
Now – I just have to get the responsive stuff singing and dancing with BootStrap 🙂