{"action":"created","issue":{"url":"https://api.github.com/repos/TechToThePeople/node-civicrm/issues/3","labels_url":"https://api.github.com/repos/TechToThePeople/node-civicrm/issues/3/labels{/name}","comments_url":"https://api.github.com/repos/TechToThePeople/node-civicrm/issues/3/comments","events_url":"https://api.github.com/repos/TechToThePeople/node-civicrm/issues/3/events","html_url":"https://github.com/TechToThePeople/node-civicrm/issues/3","id":120475857,"number":3,"title":"Dependencies rely on forwards compatibility","user":{"login":"boutell","id":32125,"avatar_url":"https://avatars.githubusercontent.com/u/32125?v=3","gravatar_id":"","url":"https://api.github.com/users/boutell","html_url":"https://github.com/boutell","followers_url":"https://api.github.com/users/boutell/followers","following_url":"https://api.github.com/users/boutell/following{/other_user}","gists_url":"https://api.github.com/users/boutell/gists{/gist_id}","starred_url":"https://api.github.com/users/boutell/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/boutell/subscriptions","organizations_url":"https://api.github.com/users/boutell/orgs","repos_url":"https://api.github.com/users/boutell/repos","events_url":"https://api.github.com/users/boutell/events{/privacy}","received_events_url":"https://api.github.com/users/boutell/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2015-12-04T20:03:21Z","updated_at":"2015-12-04T20:03:34Z","closed_at":null,"body":"Currently the dependencies of this module assume all future versions of the required modules will be compatible:\r\n\r\n    \"async\": \">=0.2.9\",\r\n    \"qs\": \">=0.5.0\",\r\n    \"request\": \">=2.22.0\",\r\n    \"underscore\": \">=1.2.3\"\r\n\r\nThe qs module has moved to requiring ES6 in its latest version, which breaks the widely deployed node 0.10.x release. That may or may not concern you personally (although I'm stuck forking your module to get around it), but as it's written, your dependencies would allow versions that are not API compatible with the way you're using these modules at all.\r\n\r\nI recommend you set your dependencies more conservatively, for instance using '0.5.x' or '~0.5.0' to ensure that you get patchlevels in the 0.5.x series of qs, and '^1.2.3' to keep getting updates in the 1.x.y series of underscore (since it is semver compliant and won't break bc without changing the major version number). Otherwise your code will at some point stop working, even in the latest node, as the APIs of the modules you depend on change.\r\n"},"comment":{"url":"https://api.github.com/repos/TechToThePeople/node-civicrm/issues/comments/162068239","html_url":"https://github.com/TechToThePeople/node-civicrm/issues/3#issuecomment-162068239","issue_url":"https://api.github.com/repos/TechToThePeople/node-civicrm/issues/3","id":162068239,"user":{"login":"boutell","id":32125,"avatar_url":"https://avatars.githubusercontent.com/u/32125?v=3","gravatar_id":"","url":"https://api.github.com/users/boutell","html_url":"https://github.com/boutell","followers_url":"https://api.github.com/users/boutell/followers","following_url":"https://api.github.com/users/boutell/following{/other_user}","gists_url":"https://api.github.com/users/boutell/gists{/gist_id}","starred_url":"https://api.github.com/users/boutell/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/boutell/subscriptions","organizations_url":"https://api.github.com/users/boutell/orgs","repos_url":"https://api.github.com/users/boutell/repos","events_url":"https://api.github.com/users/boutell/events{/privacy}","received_events_url":"https://api.github.com/users/boutell/received_events","type":"User","site_admin":false},"created_at":"2015-12-04T20:03:34Z","updated_at":"2015-12-04T20:03:34Z","body":"(P.S. Thanks for this excellent and useful module.)"}}