{"action":"created","comment":{"url":"https://api.github.com/repos/medic/medic-webapp/pulls/comments/180910621","pull_request_review_id":111417528,"id":180910621,"diff_hunk":"@@ -740,7 +741,7 @@ module.exports = function(grunt) {\n     'jshint',\n   ]);\n \n-  grunt.registerTask('dev-webapp-no-npm', 'Build and deploy the webapp for dev, without reinstalling dependencies.', [\n+  grunt.registerTask('dev-webapp-no-yarn', 'Build and deploy the webapp for dev, without reinstalling dependencies.', [","path":"Gruntfile.js","position":76,"original_position":76,"commit_id":"c5ab45f7e849d4c1080f3a42ab22716444bda17c","original_commit_id":"c5ab45f7e849d4c1080f3a42ab22716444bda17c","user":{"login":"garethbowen","id":2064938,"avatar_url":"https://avatars2.githubusercontent.com/u/2064938?v=4","gravatar_id":"","url":"https://api.github.com/users/garethbowen","html_url":"https://github.com/garethbowen","followers_url":"https://api.github.com/users/garethbowen/followers","following_url":"https://api.github.com/users/garethbowen/following{/other_user}","gists_url":"https://api.github.com/users/garethbowen/gists{/gist_id}","starred_url":"https://api.github.com/users/garethbowen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/garethbowen/subscriptions","organizations_url":"https://api.github.com/users/garethbowen/orgs","repos_url":"https://api.github.com/users/garethbowen/repos","events_url":"https://api.github.com/users/garethbowen/events{/privacy}","received_events_url":"https://api.github.com/users/garethbowen/received_events","type":"User","site_admin":false},"body":"Same here? `dev-webapp-no-dependencies`?","created_at":"2018-04-11T21:57:03Z","updated_at":"2018-04-11T22:01:43Z","html_url":"https://github.com/medic/medic-webapp/pull/4414#discussion_r180910621","pull_request_url":"https://api.github.com/repos/medic/medic-webapp/pulls/4414","author_association":"OWNER","_links":{"self":{"href":"https://api.github.com/repos/medic/medic-webapp/pulls/comments/180910621"},"html":{"href":"https://github.com/medic/medic-webapp/pull/4414#discussion_r180910621"},"pull_request":{"href":"https://api.github.com/repos/medic/medic-webapp/pulls/4414"}}},"pull_request":{"url":"https://api.github.com/repos/medic/medic-webapp/pulls/4414","id":180978569,"html_url":"https://github.com/medic/medic-webapp/pull/4414","diff_url":"https://github.com/medic/medic-webapp/pull/4414.diff","patch_url":"https://github.com/medic/medic-webapp/pull/4414.patch","issue_url":"https://api.github.com/repos/medic/medic-webapp/issues/4414","number":4414,"state":"open","locked":false,"title":"3032 Move to yarn","user":{"login":"rmhowe","id":9385231,"avatar_url":"https://avatars2.githubusercontent.com/u/9385231?v=4","gravatar_id":"","url":"https://api.github.com/users/rmhowe","html_url":"https://github.com/rmhowe","followers_url":"https://api.github.com/users/rmhowe/followers","following_url":"https://api.github.com/users/rmhowe/following{/other_user}","gists_url":"https://api.github.com/users/rmhowe/gists{/gist_id}","starred_url":"https://api.github.com/users/rmhowe/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rmhowe/subscriptions","organizations_url":"https://api.github.com/users/rmhowe/orgs","repos_url":"https://api.github.com/users/rmhowe/repos","events_url":"https://api.github.com/users/rmhowe/events{/privacy}","received_events_url":"https://api.github.com/users/rmhowe/received_events","type":"User","site_admin":false},"body":"# Description\r\n\r\nFor reasons discussed on the issue, we're moving from npm to yarn.\r\n\r\nA few points worth noting:\r\n- One major complication in this move was that based on our dependencies, yarn was installing 2 versions of jQuery (where npm was only installing one). This broke the app to the point where it wouldn't load. Npm resolved this by only using the lower of the 2 versions, and yarn allows setting deep dependencies so that's what we've done here, however this may not be a sustainable solution if these packages bump their dependencies and explicitly require later jQuery versions. As it stands this would be a blocking issue for moving to yarn.\r\n- We all need to be on the same version of yarn for the `yarn.lock` file to work correctly and be the same for all of us. In my opinion the best way to achieve this is using the `engines` field in `package.json` to explicitly set a yarn version for use with `medic-webapp`. This has some complications though as in the next point\r\n- The `engines` field is used inconsistently in npm packages. In theory it should be used to determine which versions of node/npm a particular package requires, however some packages we require (eg. `angular-pouchdb`) have set their node versions very explicitly, and if you are outside of this then yarn will throw an error such as the one below. This means that until packages correctly use the `engines` field, yarn needs to be called using the `--ignore-engines` flag. This is a slight pain and also means our own `engines` field (which tells you which version of yarn is required) will be ignored as well, but seems necessary.\r\n```\r\nerror angular-pouchdb@5.0.1: The engine \"node\" is incompatible with this module. Expected version \">=4 <5\".\r\n```\r\n\r\ncc @garethbowen @SCdF @alxndrsn @dianabarsan @vimemo \r\n\r\nmedic/medic-webapp#3032\r\n\r\n# Review checklist\r\n\r\n- [ ] Readable: Concise, well named, follows the [style guide](https://github.com/medic/medic-docs/blob/master/development/style-guide.md), documented if necessary.\r\n- [ ] Documented: Announced in Changes.md in plain English. Configuration and user documentation on [medic-docs](https://github.com/medic/medic-docs/)\r\n- [ ] Tested: Unit and/or e2e where appropriate\r\n- [ ] Internationalised: All user facing text\r\n- [ ] Backwards compatible: Works with existing data and configuration or includes a migration. Any breaking changes documented in Changes.md.","created_at":"2018-04-11T17:42:58Z","updated_at":"2018-04-11T22:01:43Z","closed_at":null,"merged_at":null,"merge_commit_sha":"d5b3a4d034396c1dd00e38554f6d0ec3f1ae9a9a","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/medic/medic-webapp/pulls/4414/commits","review_comments_url":"https://api.github.com/repos/medic/medic-webapp/pulls/4414/comments","review_comment_url":"https://api.github.com/repos/medic/medic-webapp/pulls/comments{/number}","comments_url":"https://api.github.com/repos/medic/medic-webapp/issues/4414/comments","statuses_url":"https://api.github.com/repos/medic/medic-webapp/statuses/c5ab45f7e849d4c1080f3a42ab22716444bda17c","head":{"label":"medic:3032-move-to-yarn","ref":"3032-move-to-yarn","sha":"c5ab45f7e849d4c1080f3a42ab22716444bda17c","user":{"login":"medic","id":474424,"avatar_url":"https://avatars2.githubusercontent.com/u/474424?v=4","gravatar_id":"","url":"https://api.github.com/users/medic","html_url":"https://github.com/medic","followers_url":"https://api.github.com/users/medic/followers","following_url":"https://api.github.com/users/medic/following{/other_user}","gists_url":"https://api.github.com/users/medic/gists{/gist_id}","starred_url":"https://api.github.com/users/medic/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/medic/subscriptions","organizations_url":"https://api.github.com/users/medic/orgs","repos_url":"https://api.github.com/users/medic/repos","events_url":"https://api.github.com/users/medic/events{/privacy}","received_events_url":"https://api.github.com/users/medic/received_events","type":"Organization","site_admin":false},"repo":{"id":2698821,"name":"medic-webapp","full_name":"medic/medic-webapp","owner":{"login":"medic","id":474424,"avatar_url":"https://avatars2.githubusercontent.com/u/474424?v=4","gravatar_id":"","url":"https://api.github.com/users/medic","html_url":"https://github.com/medic","followers_url":"https://api.github.com/users/medic/followers","following_url":"https://api.github.com/users/medic/following{/other_user}","gists_url":"https://api.github.com/users/medic/gists{/gist_id}","starred_url":"https://api.github.com/users/medic/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/medic/subscriptions","organizations_url":"https://api.github.com/users/medic/orgs","repos_url":"https://api.github.com/users/medic/repos","events_url":"https://api.github.com/users/medic/events{/privacy}","received_events_url":"https://api.github.com/users/medic/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/medic/medic-webapp","description":"Medic Mobile combines SMS messaging, data collection, and analytics for health workers and health systems in hard-to-reach areas with or without internet connectivity.","fork":false,"url":"https://api.github.com/repos/medic/medic-webapp","forks_url":"https://api.github.com/repos/medic/medic-webapp/forks","keys_url":"https://api.github.com/repos/medic/medic-webapp/keys{/key_id}","collaborators_url":"https://api.github.com/repos/medic/medic-webapp/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/medic/medic-webapp/teams","hooks_url":"https://api.github.com/repos/medic/medic-webapp/hooks","issue_events_url":"https://api.github.com/repos/medic/medic-webapp/issues/events{/number}","events_url":"https://api.github.com/repos/medic/medic-webapp/events","assignees_url":"https://api.github.com/repos/medic/medic-webapp/assignees{/user}","branches_url":"https://api.github.com/repos/medic/medic-webapp/branches{/branch}","tags_url":"https://api.github.com/repos/medic/medic-webapp/tags","blobs_url":"https://api.github.com/repos/medic/medic-webapp/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/medic/medic-webapp/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/medic/medic-webapp/git/refs{/sha}","trees_url":"https://api.github.com/repos/medic/medic-webapp/git/trees{/sha}","statuses_url":"https://api.github.com/repos/medic/medic-webapp/statuses/{sha}","languages_url":"https://api.github.com/repos/medic/medic-webapp/languages","stargazers_url":"https://api.github.com/repos/medic/medic-webapp/stargazers","contributors_url":"https://api.github.com/repos/medic/medic-webapp/contributors","subscribers_url":"https://api.github.com/repos/medic/medic-webapp/subscribers","subscription_url":"https://api.github.com/repos/medic/medic-webapp/subscription","commits_url":"https://api.github.com/repos/medic/medic-webapp/commits{/sha}","git_commits_url":"https://api.github.com/repos/medic/medic-webapp/git/commits{/sha}","comments_url":"https://api.github.com/repos/medic/medic-webapp/comments{/number}","issue_comment_url":"https://api.github.com/repos/medic/medic-webapp/issues/comments{/number}","contents_url":"https://api.github.com/repos/medic/medic-webapp/contents/{+path}","compare_url":"https://api.github.com/repos/medic/medic-webapp/compare/{base}...{head}","merges_url":"https://api.github.com/repos/medic/medic-webapp/merges","archive_url":"https://api.github.com/repos/medic/medic-webapp/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/medic/medic-webapp/downloads","issues_url":"https://api.github.com/repos/medic/medic-webapp/issues{/number}","pulls_url":"https://api.github.com/repos/medic/medic-webapp/pulls{/number}","milestones_url":"https://api.github.com/repos/medic/medic-webapp/milestones{/number}","notifications_url":"https://api.github.com/repos/medic/medic-webapp/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/medic/medic-webapp/labels{/name}","releases_url":"https://api.github.com/repos/medic/medic-webapp/releases{/id}","deployments_url":"https://api.github.com/repos/medic/medic-webapp/deployments","created_at":"2011-11-02T23:19:55Z","updated_at":"2018-04-11T15:22:27Z","pushed_at":"2018-04-11T21:11:46Z","git_url":"git://github.com/medic/medic-webapp.git","ssh_url":"git@github.com:medic/medic-webapp.git","clone_url":"https://github.com/medic/medic-webapp.git","svn_url":"https://github.com/medic/medic-webapp","homepage":"http://medicmobile.org/tools","size":41212,"stargazers_count":101,"watchers_count":101,"language":"JavaScript","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":49,"mirror_url":null,"archived":false,"open_issues_count":353,"license":null,"forks":49,"open_issues":353,"watchers":101,"default_branch":"master"}},"base":{"label":"medic:master","ref":"master","sha":"aa50c4e6ce30cf660e1476af66409a3a6b4b88ab","user":{"login":"medic","id":474424,"avatar_url":"https://avatars2.githubusercontent.com/u/474424?v=4","gravatar_id":"","url":"https://api.github.com/users/medic","html_url":"https://github.com/medic","followers_url":"https://api.github.com/users/medic/followers","following_url":"https://api.github.com/users/medic/following{/other_user}","gists_url":"https://api.github.com/users/medic/gists{/gist_id}","starred_url":"https://api.github.com/users/medic/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/medic/subscriptions","organizations_url":"https://api.github.com/users/medic/orgs","repos_url":"https://api.github.com/users/medic/repos","events_url":"https://api.github.com/users/medic/events{/privacy}","received_events_url":"https://api.github.com/users/medic/received_events","type":"Organization","site_admin":false},"repo":{"id":2698821,"name":"medic-webapp","full_name":"medic/medic-webapp","owner":{"login":"medic","id":474424,"avatar_url":"https://avatars2.githubusercontent.com/u/474424?v=4","gravatar_id":"","url":"https://api.github.com/users/medic","html_url":"https://github.com/medic","followers_url":"https://api.github.com/users/medic/followers","following_url":"https://api.github.com/users/medic/following{/other_user}","gists_url":"https://api.github.com/users/medic/gists{/gist_id}","starred_url":"https://api.github.com/users/medic/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/medic/subscriptions","organizations_url":"https://api.github.com/users/medic/orgs","repos_url":"https://api.github.com/users/medic/repos","events_url":"https://api.github.com/users/medic/events{/privacy}","received_events_url":"https://api.github.com/users/medic/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/medic/medic-webapp","description":"Medic Mobile combines SMS messaging, data collection, and analytics for health workers and health systems in hard-to-reach areas with or without internet connectivity.","fork":false,"url":"https://api.github.com/repos/medic/medic-webapp","forks_url":"https://api.github.com/repos/medic/medic-webapp/forks","keys_url":"https://api.github.com/repos/medic/medic-webapp/keys{/key_id}","collaborators_url":"https://api.github.com/repos/medic/medic-webapp/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/medic/medic-webapp/teams","hooks_url":"https://api.github.com/repos/medic/medic-webapp/hooks","issue_events_url":"https://api.github.com/repos/medic/medic-webapp/issues/events{/number}","events_url":"https://api.github.com/repos/medic/medic-webapp/events","assignees_url":"https://api.github.com/repos/medic/medic-webapp/assignees{/user}","branches_url":"https://api.github.com/repos/medic/medic-webapp/branches{/branch}","tags_url":"https://api.github.com/repos/medic/medic-webapp/tags","blobs_url":"https://api.github.com/repos/medic/medic-webapp/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/medic/medic-webapp/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/medic/medic-webapp/git/refs{/sha}","trees_url":"https://api.github.com/repos/medic/medic-webapp/git/trees{/sha}","statuses_url":"https://api.github.com/repos/medic/medic-webapp/statuses/{sha}","languages_url":"https://api.github.com/repos/medic/medic-webapp/languages","stargazers_url":"https://api.github.com/repos/medic/medic-webapp/stargazers","contributors_url":"https://api.github.com/repos/medic/medic-webapp/contributors","subscribers_url":"https://api.github.com/repos/medic/medic-webapp/subscribers","subscription_url":"https://api.github.com/repos/medic/medic-webapp/subscription","commits_url":"https://api.github.com/repos/medic/medic-webapp/commits{/sha}","git_commits_url":"https://api.github.com/repos/medic/medic-webapp/git/commits{/sha}","comments_url":"https://api.github.com/repos/medic/medic-webapp/comments{/number}","issue_comment_url":"https://api.github.com/repos/medic/medic-webapp/issues/comments{/number}","contents_url":"https://api.github.com/repos/medic/medic-webapp/contents/{+path}","compare_url":"https://api.github.com/repos/medic/medic-webapp/compare/{base}...{head}","merges_url":"https://api.github.com/repos/medic/medic-webapp/merges","archive_url":"https://api.github.com/repos/medic/medic-webapp/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/medic/medic-webapp/downloads","issues_url":"https://api.github.com/repos/medic/medic-webapp/issues{/number}","pulls_url":"https://api.github.com/repos/medic/medic-webapp/pulls{/number}","milestones_url":"https://api.github.com/repos/medic/medic-webapp/milestones{/number}","notifications_url":"https://api.github.com/repos/medic/medic-webapp/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/medic/medic-webapp/labels{/name}","releases_url":"https://api.github.com/repos/medic/medic-webapp/releases{/id}","deployments_url":"https://api.github.com/repos/medic/medic-webapp/deployments","created_at":"2011-11-02T23:19:55Z","updated_at":"2018-04-11T15:22:27Z","pushed_at":"2018-04-11T21:11:46Z","git_url":"git://github.com/medic/medic-webapp.git","ssh_url":"git@github.com:medic/medic-webapp.git","clone_url":"https://github.com/medic/medic-webapp.git","svn_url":"https://github.com/medic/medic-webapp","homepage":"http://medicmobile.org/tools","size":41212,"stargazers_count":101,"watchers_count":101,"language":"JavaScript","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":49,"mirror_url":null,"archived":false,"open_issues_count":353,"license":null,"forks":49,"open_issues":353,"watchers":101,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/medic/medic-webapp/pulls/4414"},"html":{"href":"https://github.com/medic/medic-webapp/pull/4414"},"issue":{"href":"https://api.github.com/repos/medic/medic-webapp/issues/4414"},"comments":{"href":"https://api.github.com/repos/medic/medic-webapp/issues/4414/comments"},"review_comments":{"href":"https://api.github.com/repos/medic/medic-webapp/pulls/4414/comments"},"review_comment":{"href":"https://api.github.com/repos/medic/medic-webapp/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/medic/medic-webapp/pulls/4414/commits"},"statuses":{"href":"https://api.github.com/repos/medic/medic-webapp/statuses/c5ab45f7e849d4c1080f3a42ab22716444bda17c"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"garethbowen"}}