{"action":"opened","issue":{"url":"https://api.github.com/repos/markfinger/unfort/issues/25","labels_url":"https://api.github.com/repos/markfinger/unfort/issues/25/labels{/name}","comments_url":"https://api.github.com/repos/markfinger/unfort/issues/25/comments","events_url":"https://api.github.com/repos/markfinger/unfort/issues/25/events","html_url":"https://github.com/markfinger/unfort/issues/25","id":126786311,"number":25,"title":"HMR does not handle new dependencies","user":{"login":"markfinger","id":175974,"avatar_url":"https://avatars.githubusercontent.com/u/175974?v=3","gravatar_id":"","url":"https://api.github.com/users/markfinger","html_url":"https://github.com/markfinger","followers_url":"https://api.github.com/users/markfinger/followers","following_url":"https://api.github.com/users/markfinger/following{/other_user}","gists_url":"https://api.github.com/users/markfinger/gists{/gist_id}","starred_url":"https://api.github.com/users/markfinger/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/markfinger/subscriptions","organizations_url":"https://api.github.com/users/markfinger/orgs","repos_url":"https://api.github.com/users/markfinger/repos","events_url":"https://api.github.com/users/markfinger/events{/privacy}","received_events_url":"https://api.github.com/users/markfinger/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2016-01-15T01:21:02Z","updated_at":"2016-01-15T01:21:02Z","closed_at":null,"body":"By extension, it does not support new versions of dependencies either.\r\n\r\nModules need to be identifiable by both name (path) and a version.\r\n\r\n**pseudocode...**\r\n\r\n```\r\n# on hmr signal for module\r\n\r\nif module has not accepted:\r\n  exit\r\n\r\nif module has dependencies:\r\n  for dep in dependencies:\r\n     if dep has not accepted:\r\n        exit\r\n     if dep version is not current:\r\n        fetch dep async\r\n\r\nfetch module async\r\n```\r\n\r\n```\r\n# on module fetched\r\n\r\nif module version is not latest:\r\n  exit\r\n\r\nadd module\r\n\r\nif all dependencies are available:\r\n  execute module\r\n\r\nwhen all dependencies are available:\r\n  execute module\r\n```"}}