jashkenas / jashkenas/backbone
Testing against outdated vendor libraries
- Dominant language
- JavaScript
- Stars
- 28.1k
- Forks
- 5.3k
- PR merge metrics
- No merged PRs in 30d
Description
The project is currently testing against local hardcopies of jQuery, json2, QUnit, require.js and Underscore. These versions are all outdated by at least seven years.
There is a real advantage to this: testing against old versions of dependencies safeguards backwards compatibility.
There is also an obvious disadvantage: the more outdated these dependencies become, the more likely it is that incompatibilities creep into newer versions, without the tests detecting them.
In my own projects, I use Backbone with the latest versions of Underscore and jQuery, and I haven't noticed any problems. So far, we might have gotten away with the outdatedness of the dependencies, thanks to the fact that jQuery and Underscore are both very stable. However, at some point, this streak of luck will likely end.
I am convinced that we need to test against recent versions of jQuery and Underscore. They can simply be sourced from the `node_modules` instead of `test/vendor`. I am less sure about the old versions; should we keep *also* testing against those or not?
Thoughts appreciated. CC @GammaGames
Contributor guide
Research direction
Start by inspecting the test/vendor copies and how the tests load jQuery, json2, QUnit, require.js, and Underscore. Before changing anything, decide whether recent versions should come from node_modules and whether the old versions remain; the issue does not yet define that decision or a concrete completion test.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript, jquery
- Domain
- testing
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100