{"action":"created","issue":{"url":"https://api.github.com/repos/npm/registry/issues/31","repository_url":"https://api.github.com/repos/npm/registry","labels_url":"https://api.github.com/repos/npm/registry/issues/31/labels{/name}","comments_url":"https://api.github.com/repos/npm/registry/issues/31/comments","events_url":"https://api.github.com/repos/npm/registry/issues/31/events","html_url":"https://github.com/npm/registry/issues/31","id":161495185,"number":31,"title":"Feature: Add support for registry package to be linked to github instead of duplicating","user":{"login":"prasannavl","id":559409,"avatar_url":"https://avatars.githubusercontent.com/u/559409?v=3","gravatar_id":"","url":"https://api.github.com/users/prasannavl","html_url":"https://github.com/prasannavl","followers_url":"https://api.github.com/users/prasannavl/followers","following_url":"https://api.github.com/users/prasannavl/following{/other_user}","gists_url":"https://api.github.com/users/prasannavl/gists{/gist_id}","starred_url":"https://api.github.com/users/prasannavl/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/prasannavl/subscriptions","organizations_url":"https://api.github.com/users/prasannavl/orgs","repos_url":"https://api.github.com/users/prasannavl/repos","events_url":"https://api.github.com/users/prasannavl/events{/privacy}","received_events_url":"https://api.github.com/users/prasannavl/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/npm/registry/labels/feature%20request","name":"feature request","color":"d4c5f9"}],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":2,"created_at":"2016-06-21T17:28:12Z","updated_at":"2016-06-24T18:08:33Z","closed_at":"2016-06-22T16:21:45Z","body":"Currently, the procedure most commonly is this, for public packages.\r\n\r\n1. Develop on GitHub.\r\n1. Commit.\r\n1. Tag releases.\r\n1. publish to npm registry.\r\n\r\nHowever, npm also supports directly from Github. However, publishing to npmjs has the advantage of discovery through the registry. Since a major percent of it is on GitHub anyway, why not allow package to be aliased?\r\n\r\n**The Proposal (TL;DR)**\r\n\r\n- npm registry will show the package and everything will behave exactly the same way. \r\n- I can search npm, find `history-next` - install. \r\n- Under the covers, it simply does `npm install prasannavl/history-next` (which uses GitHub). \r\n\r\n**What gets better:** \r\n- No more double publishing (One to GitHub, one to npm). npm tracks GitHub.\r\n- Any GitHub repo can be discovered through npm with just possibly just a simple single `publish` command with an alias.\r\n- No more out of sync READMEs between GitHub, and npms.\r\n- The publishing step becomes a one-time process. Publish once and forget. GitHub tags are release versions. (These mechanisms are already in place).\r\n\r\n**Explanation:**\r\n\r\nNow, I have a package `prasannavl/history-next`. Its on GitHub. And its published on npm. I can install from npm with `npm install history-next`. I can also install with `prasannavl/history-next` to do the same from GitHub. GitHub tags also serve the versioning process nicely. \r\n\r\nMy point is, **the maintenance of both GitHub, and then replicating it to npmjs, is highly repetitive, and painful when not using a build system to automate it**. Again, adding more complexity. I _really want to unpublish my package now, and simply just use `npm install prasannavl/history-next`_. But the reason I don't is because it would serve the **discovery** through npm. \r\n\r\nNow, if npm just allowed alias to GitHub, all these goals are accomplished without replicating, making the whole process simpler. And as an added advantage, if many projects are simply directly aliased, relives a huge load off npm servers. \r\n\r\nThe only downside is possibly the single point of failure - GitHub. (Which honestly, I don't think is a huge problem for a huge number of projects on npm). And even so, practically, with all due respects, GitHub servers have historically been a lot more reliable than npm. And let's face it - if GitHub is down, the OSS world comes to down to a halting stop (well, not really, but I think the exaggeration is justified in credit to GitHub :)) And when that's a concern, there's also nothing stopping the authors for doing the exact same model that exists today - Everybody wins (rarely does this statement ever fit so aptly)"},"comment":{"url":"https://api.github.com/repos/npm/registry/issues/comments/228418554","html_url":"https://github.com/npm/registry/issues/31#issuecomment-228418554","issue_url":"https://api.github.com/repos/npm/registry/issues/31","id":228418554,"user":{"login":"prasannavl","id":559409,"avatar_url":"https://avatars.githubusercontent.com/u/559409?v=3","gravatar_id":"","url":"https://api.github.com/users/prasannavl","html_url":"https://github.com/prasannavl","followers_url":"https://api.github.com/users/prasannavl/followers","following_url":"https://api.github.com/users/prasannavl/following{/other_user}","gists_url":"https://api.github.com/users/prasannavl/gists{/gist_id}","starred_url":"https://api.github.com/users/prasannavl/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/prasannavl/subscriptions","organizations_url":"https://api.github.com/users/prasannavl/orgs","repos_url":"https://api.github.com/users/prasannavl/repos","events_url":"https://api.github.com/users/prasannavl/events{/privacy}","received_events_url":"https://api.github.com/users/prasannavl/received_events","type":"User","site_admin":false},"created_at":"2016-06-24T18:08:33Z","updated_at":"2016-06-24T18:08:33Z","body":"Hi. @ashleygwilliams, @nexdrew, thanks for the detailed reply. Yes, I'm aware of the tools to simply the things. But I was hoping linking to GitHub repos would be simplify the process even without some of the tooling. \r\n\r\nThough the other problems could potentially be solved given the intention and investment in time, I do understand the problems with unpublishing. That makes sense. Could be more complicated at best when taken out of the npm ecosystem. \r\n\r\nCheers."}}
{"actor":{"display_login":"prasannavl"}}