{"action":"closed","number":660,"pull_request":{"url":"https://api.github.com/repos/excaliburjs/Excalibur/pulls/660","id":87621591,"html_url":"https://github.com/excaliburjs/Excalibur/pull/660","diff_url":"https://github.com/excaliburjs/Excalibur/pull/660.diff","patch_url":"https://github.com/excaliburjs/Excalibur/pull/660.patch","issue_url":"https://api.github.com/repos/excaliburjs/Excalibur/issues/660","number":660,"state":"closed","locked":false,"title":"[#621] Automate npm pre-release versioning","user":{"login":"eonarheim","id":612071,"avatar_url":"https://avatars.githubusercontent.com/u/612071?v=3","gravatar_id":"","url":"https://api.github.com/users/eonarheim","html_url":"https://github.com/eonarheim","followers_url":"https://api.github.com/users/eonarheim/followers","following_url":"https://api.github.com/users/eonarheim/following{/other_user}","gists_url":"https://api.github.com/users/eonarheim/gists{/gist_id}","starred_url":"https://api.github.com/users/eonarheim/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/eonarheim/subscriptions","organizations_url":"https://api.github.com/users/eonarheim/orgs","repos_url":"https://api.github.com/users/eonarheim/repos","events_url":"https://api.github.com/users/eonarheim/events{/privacy}","received_events_url":"https://api.github.com/users/eonarheim/received_events","type":"User","site_admin":false},"body":"<!-- If you're closing an issue with this pull request, or contributing a significant change, please include your changes in the appropriate section of CHANGELOG.md as outlined in CONTRIBUTING.md-->\r\n\r\nCloses #621 \r\n\r\n## Proposed Changes:\r\n\r\nThis includes a new grunt plugin for manipulating package.json files to help on 2 fronts\r\n 1. Only needing to update the package.json version in 1 place (main excalibur repo package.json)\r\n 2. Automate pre-release npm package deployments in the form exVersion-alpha.travisBuildNumber+commitHash (for example a plausible package version would be 0.7.1-alpha.12+6feca33)\r\n\r\nThis PR needs to be merged into master before the travis automation can be verified, bummer I know 😭  Once we know that the excalibur-dist repo is being updated appropriately with the correct package.json, the automagic publish to npm job can be activated.\r\n\r\nUltimately I would like to also automate the cutting of release NPM packages when a release is tagged (see https://docs.travis-ci.com/user/deployment/npm/) but I think that may be a bigger team discussion outside of this PR \r\n","created_at":"2016-10-02T01:49:03Z","updated_at":"2016-10-04T01:21:06Z","closed_at":"2016-10-04T01:21:06Z","merged_at":"2016-10-04T01:21:06Z","merge_commit_sha":"2d976df5976efe35f4a29d47734ad8d25a3618ca","assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/excaliburjs/Excalibur/milestones/11","html_url":"https://github.com/excaliburjs/Excalibur/milestones/0.7.1%20Release","labels_url":"https://api.github.com/repos/excaliburjs/Excalibur/milestones/11/labels","id":1640570,"number":11,"title":"0.7.1 Release","description":"Bug fixes, testing enhancements, and optimizations","creator":{"login":"jedeen","id":675840,"avatar_url":"https://avatars.githubusercontent.com/u/675840?v=3","gravatar_id":"","url":"https://api.github.com/users/jedeen","html_url":"https://github.com/jedeen","followers_url":"https://api.github.com/users/jedeen/followers","following_url":"https://api.github.com/users/jedeen/following{/other_user}","gists_url":"https://api.github.com/users/jedeen/gists{/gist_id}","starred_url":"https://api.github.com/users/jedeen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jedeen/subscriptions","organizations_url":"https://api.github.com/users/jedeen/orgs","repos_url":"https://api.github.com/users/jedeen/repos","events_url":"https://api.github.com/users/jedeen/events{/privacy}","received_events_url":"https://api.github.com/users/jedeen/received_events","type":"User","site_admin":false},"open_issues":4,"closed_issues":21,"state":"open","created_at":"2016-03-12T17:30:25Z","updated_at":"2016-10-04T01:21:06Z","due_on":"2016-09-30T00:00:00Z","closed_at":null},"commits_url":"https://api.github.com/repos/excaliburjs/Excalibur/pulls/660/commits","review_comments_url":"https://api.github.com/repos/excaliburjs/Excalibur/pulls/660/comments","review_comment_url":"https://api.github.com/repos/excaliburjs/Excalibur/pulls/comments{/number}","comments_url":"https://api.github.com/repos/excaliburjs/Excalibur/issues/660/comments","statuses_url":"https://api.github.com/repos/excaliburjs/Excalibur/statuses/9fd305d5e9251bc52ef3e77168c5df78145c14c0","head":{"label":"excaliburjs:621-add-npm-installation","ref":"621-add-npm-installation","sha":"9fd305d5e9251bc52ef3e77168c5df78145c14c0","user":{"login":"excaliburjs","id":6165683,"avatar_url":"https://avatars.githubusercontent.com/u/6165683?v=3","gravatar_id":"","url":"https://api.github.com/users/excaliburjs","html_url":"https://github.com/excaliburjs","followers_url":"https://api.github.com/users/excaliburjs/followers","following_url":"https://api.github.com/users/excaliburjs/following{/other_user}","gists_url":"https://api.github.com/users/excaliburjs/gists{/gist_id}","starred_url":"https://api.github.com/users/excaliburjs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/excaliburjs/subscriptions","organizations_url":"https://api.github.com/users/excaliburjs/orgs","repos_url":"https://api.github.com/users/excaliburjs/repos","events_url":"https://api.github.com/users/excaliburjs/events{/privacy}","received_events_url":"https://api.github.com/users/excaliburjs/received_events","type":"Organization","site_admin":false},"repo":{"id":7457728,"name":"Excalibur","full_name":"excaliburjs/Excalibur","owner":{"login":"excaliburjs","id":6165683,"avatar_url":"https://avatars.githubusercontent.com/u/6165683?v=3","gravatar_id":"","url":"https://api.github.com/users/excaliburjs","html_url":"https://github.com/excaliburjs","followers_url":"https://api.github.com/users/excaliburjs/followers","following_url":"https://api.github.com/users/excaliburjs/following{/other_user}","gists_url":"https://api.github.com/users/excaliburjs/gists{/gist_id}","starred_url":"https://api.github.com/users/excaliburjs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/excaliburjs/subscriptions","organizations_url":"https://api.github.com/users/excaliburjs/orgs","repos_url":"https://api.github.com/users/excaliburjs/repos","events_url":"https://api.github.com/users/excaliburjs/events{/privacy}","received_events_url":"https://api.github.com/users/excaliburjs/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/excaliburjs/Excalibur","description":"A simple HTML5 Canvas game engine written in TypeScript","fork":false,"url":"https://api.github.com/repos/excaliburjs/Excalibur","forks_url":"https://api.github.com/repos/excaliburjs/Excalibur/forks","keys_url":"https://api.github.com/repos/excaliburjs/Excalibur/keys{/key_id}","collaborators_url":"https://api.github.com/repos/excaliburjs/Excalibur/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/excaliburjs/Excalibur/teams","hooks_url":"https://api.github.com/repos/excaliburjs/Excalibur/hooks","issue_events_url":"https://api.github.com/repos/excaliburjs/Excalibur/issues/events{/number}","events_url":"https://api.github.com/repos/excaliburjs/Excalibur/events","assignees_url":"https://api.github.com/repos/excaliburjs/Excalibur/assignees{/user}","branches_url":"https://api.github.com/repos/excaliburjs/Excalibur/branches{/branch}","tags_url":"https://api.github.com/repos/excaliburjs/Excalibur/tags","blobs_url":"https://api.github.com/repos/excaliburjs/Excalibur/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/excaliburjs/Excalibur/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/excaliburjs/Excalibur/git/refs{/sha}","trees_url":"https://api.github.com/repos/excaliburjs/Excalibur/git/trees{/sha}","statuses_url":"https://api.github.com/repos/excaliburjs/Excalibur/statuses/{sha}","languages_url":"https://api.github.com/repos/excaliburjs/Excalibur/languages","stargazers_url":"https://api.github.com/repos/excaliburjs/Excalibur/stargazers","contributors_url":"https://api.github.com/repos/excaliburjs/Excalibur/contributors","subscribers_url":"https://api.github.com/repos/excaliburjs/Excalibur/subscribers","subscription_url":"https://api.github.com/repos/excaliburjs/Excalibur/subscription","commits_url":"https://api.github.com/repos/excaliburjs/Excalibur/commits{/sha}","git_commits_url":"https://api.github.com/repos/excaliburjs/Excalibur/git/commits{/sha}","comments_url":"https://api.github.com/repos/excaliburjs/Excalibur/comments{/number}","issue_comment_url":"https://api.github.com/repos/excaliburjs/Excalibur/issues/comments{/number}","contents_url":"https://api.github.com/repos/excaliburjs/Excalibur/contents/{+path}","compare_url":"https://api.github.com/repos/excaliburjs/Excalibur/compare/{base}...{head}","merges_url":"https://api.github.com/repos/excaliburjs/Excalibur/merges","archive_url":"https://api.github.com/repos/excaliburjs/Excalibur/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/excaliburjs/Excalibur/downloads","issues_url":"https://api.github.com/repos/excaliburjs/Excalibur/issues{/number}","pulls_url":"https://api.github.com/repos/excaliburjs/Excalibur/pulls{/number}","milestones_url":"https://api.github.com/repos/excaliburjs/Excalibur/milestones{/number}","notifications_url":"https://api.github.com/repos/excaliburjs/Excalibur/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/excaliburjs/Excalibur/labels{/name}","releases_url":"https://api.github.com/repos/excaliburjs/Excalibur/releases{/id}","deployments_url":"https://api.github.com/repos/excaliburjs/Excalibur/deployments","created_at":"2013-01-05T17:05:56Z","updated_at":"2016-10-03T17:05:03Z","pushed_at":"2016-10-04T01:21:06Z","git_url":"git://github.com/excaliburjs/Excalibur.git","ssh_url":"git@github.com:excaliburjs/Excalibur.git","clone_url":"https://github.com/excaliburjs/Excalibur.git","svn_url":"https://github.com/excaliburjs/Excalibur","homepage":"excaliburjs.com","size":47966,"stargazers_count":89,"watchers_count":89,"language":"TypeScript","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":11,"mirror_url":null,"open_issues_count":155,"forks":11,"open_issues":155,"watchers":89,"default_branch":"master"}},"base":{"label":"excaliburjs:master","ref":"master","sha":"b42ed05f7924706e6b57fa870342ef4c89e31b03","user":{"login":"excaliburjs","id":6165683,"avatar_url":"https://avatars.githubusercontent.com/u/6165683?v=3","gravatar_id":"","url":"https://api.github.com/users/excaliburjs","html_url":"https://github.com/excaliburjs","followers_url":"https://api.github.com/users/excaliburjs/followers","following_url":"https://api.github.com/users/excaliburjs/following{/other_user}","gists_url":"https://api.github.com/users/excaliburjs/gists{/gist_id}","starred_url":"https://api.github.com/users/excaliburjs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/excaliburjs/subscriptions","organizations_url":"https://api.github.com/users/excaliburjs/orgs","repos_url":"https://api.github.com/users/excaliburjs/repos","events_url":"https://api.github.com/users/excaliburjs/events{/privacy}","received_events_url":"https://api.github.com/users/excaliburjs/received_events","type":"Organization","site_admin":false},"repo":{"id":7457728,"name":"Excalibur","full_name":"excaliburjs/Excalibur","owner":{"login":"excaliburjs","id":6165683,"avatar_url":"https://avatars.githubusercontent.com/u/6165683?v=3","gravatar_id":"","url":"https://api.github.com/users/excaliburjs","html_url":"https://github.com/excaliburjs","followers_url":"https://api.github.com/users/excaliburjs/followers","following_url":"https://api.github.com/users/excaliburjs/following{/other_user}","gists_url":"https://api.github.com/users/excaliburjs/gists{/gist_id}","starred_url":"https://api.github.com/users/excaliburjs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/excaliburjs/subscriptions","organizations_url":"https://api.github.com/users/excaliburjs/orgs","repos_url":"https://api.github.com/users/excaliburjs/repos","events_url":"https://api.github.com/users/excaliburjs/events{/privacy}","received_events_url":"https://api.github.com/users/excaliburjs/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/excaliburjs/Excalibur","description":"A simple HTML5 Canvas game engine written in TypeScript","fork":false,"url":"https://api.github.com/repos/excaliburjs/Excalibur","forks_url":"https://api.github.com/repos/excaliburjs/Excalibur/forks","keys_url":"https://api.github.com/repos/excaliburjs/Excalibur/keys{/key_id}","collaborators_url":"https://api.github.com/repos/excaliburjs/Excalibur/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/excaliburjs/Excalibur/teams","hooks_url":"https://api.github.com/repos/excaliburjs/Excalibur/hooks","issue_events_url":"https://api.github.com/repos/excaliburjs/Excalibur/issues/events{/number}","events_url":"https://api.github.com/repos/excaliburjs/Excalibur/events","assignees_url":"https://api.github.com/repos/excaliburjs/Excalibur/assignees{/user}","branches_url":"https://api.github.com/repos/excaliburjs/Excalibur/branches{/branch}","tags_url":"https://api.github.com/repos/excaliburjs/Excalibur/tags","blobs_url":"https://api.github.com/repos/excaliburjs/Excalibur/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/excaliburjs/Excalibur/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/excaliburjs/Excalibur/git/refs{/sha}","trees_url":"https://api.github.com/repos/excaliburjs/Excalibur/git/trees{/sha}","statuses_url":"https://api.github.com/repos/excaliburjs/Excalibur/statuses/{sha}","languages_url":"https://api.github.com/repos/excaliburjs/Excalibur/languages","stargazers_url":"https://api.github.com/repos/excaliburjs/Excalibur/stargazers","contributors_url":"https://api.github.com/repos/excaliburjs/Excalibur/contributors","subscribers_url":"https://api.github.com/repos/excaliburjs/Excalibur/subscribers","subscription_url":"https://api.github.com/repos/excaliburjs/Excalibur/subscription","commits_url":"https://api.github.com/repos/excaliburjs/Excalibur/commits{/sha}","git_commits_url":"https://api.github.com/repos/excaliburjs/Excalibur/git/commits{/sha}","comments_url":"https://api.github.com/repos/excaliburjs/Excalibur/comments{/number}","issue_comment_url":"https://api.github.com/repos/excaliburjs/Excalibur/issues/comments{/number}","contents_url":"https://api.github.com/repos/excaliburjs/Excalibur/contents/{+path}","compare_url":"https://api.github.com/repos/excaliburjs/Excalibur/compare/{base}...{head}","merges_url":"https://api.github.com/repos/excaliburjs/Excalibur/merges","archive_url":"https://api.github.com/repos/excaliburjs/Excalibur/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/excaliburjs/Excalibur/downloads","issues_url":"https://api.github.com/repos/excaliburjs/Excalibur/issues{/number}","pulls_url":"https://api.github.com/repos/excaliburjs/Excalibur/pulls{/number}","milestones_url":"https://api.github.com/repos/excaliburjs/Excalibur/milestones{/number}","notifications_url":"https://api.github.com/repos/excaliburjs/Excalibur/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/excaliburjs/Excalibur/labels{/name}","releases_url":"https://api.github.com/repos/excaliburjs/Excalibur/releases{/id}","deployments_url":"https://api.github.com/repos/excaliburjs/Excalibur/deployments","created_at":"2013-01-05T17:05:56Z","updated_at":"2016-10-03T17:05:03Z","pushed_at":"2016-10-04T01:21:06Z","git_url":"git://github.com/excaliburjs/Excalibur.git","ssh_url":"git@github.com:excaliburjs/Excalibur.git","clone_url":"https://github.com/excaliburjs/Excalibur.git","svn_url":"https://github.com/excaliburjs/Excalibur","homepage":"excaliburjs.com","size":47966,"stargazers_count":89,"watchers_count":89,"language":"TypeScript","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":11,"mirror_url":null,"open_issues_count":155,"forks":11,"open_issues":155,"watchers":89,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/excaliburjs/Excalibur/pulls/660"},"html":{"href":"https://github.com/excaliburjs/Excalibur/pull/660"},"issue":{"href":"https://api.github.com/repos/excaliburjs/Excalibur/issues/660"},"comments":{"href":"https://api.github.com/repos/excaliburjs/Excalibur/issues/660/comments"},"review_comments":{"href":"https://api.github.com/repos/excaliburjs/Excalibur/pulls/660/comments"},"review_comment":{"href":"https://api.github.com/repos/excaliburjs/Excalibur/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/excaliburjs/Excalibur/pulls/660/commits"},"statuses":{"href":"https://api.github.com/repos/excaliburjs/Excalibur/statuses/9fd305d5e9251bc52ef3e77168c5df78145c14c0"}},"merged":true,"mergeable":null,"mergeable_state":"unknown","merged_by":{"login":"eonarheim","id":612071,"avatar_url":"https://avatars.githubusercontent.com/u/612071?v=3","gravatar_id":"","url":"https://api.github.com/users/eonarheim","html_url":"https://github.com/eonarheim","followers_url":"https://api.github.com/users/eonarheim/followers","following_url":"https://api.github.com/users/eonarheim/following{/other_user}","gists_url":"https://api.github.com/users/eonarheim/gists{/gist_id}","starred_url":"https://api.github.com/users/eonarheim/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/eonarheim/subscriptions","organizations_url":"https://api.github.com/users/eonarheim/orgs","repos_url":"https://api.github.com/users/eonarheim/repos","events_url":"https://api.github.com/users/eonarheim/events{/privacy}","received_events_url":"https://api.github.com/users/eonarheim/received_events","type":"User","site_admin":false},"comments":0,"review_comments":0,"commits":1,"additions":22,"deletions":4,"changed_files":3}}
{"actor":{"display_login":"eonarheim"}}