{"action":"created","comment":{"url":"https://api.github.com/repos/tracespace/tracespace/pulls/comments/259840195","pull_request_review_id":207395701,"id":259840195,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDI1OTg0MDE5NQ==","diff_hunk":"@@ -0,0 +1,9 @@\n+declare module '*.png' {\n+  const href: string\n+  export = href","path":"apps/view/src/images/types.d.ts","position":3,"original_position":3,"commit_id":"0f2e65443e83fef4b0e0d921f96ce7743522139b","original_commit_id":"0f2e65443e83fef4b0e0d921f96ce7743522139b","user":{"login":"mcous","id":2963448,"node_id":"MDQ6VXNlcjI5NjM0NDg=","avatar_url":"https://avatars1.githubusercontent.com/u/2963448?v=4","gravatar_id":"","url":"https://api.github.com/users/mcous","html_url":"https://github.com/mcous","followers_url":"https://api.github.com/users/mcous/followers","following_url":"https://api.github.com/users/mcous/following{/other_user}","gists_url":"https://api.github.com/users/mcous/gists{/gist_id}","starred_url":"https://api.github.com/users/mcous/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mcous/subscriptions","organizations_url":"https://api.github.com/users/mcous/orgs","repos_url":"https://api.github.com/users/mcous/repos","events_url":"https://api.github.com/users/mcous/events{/privacy}","received_events_url":"https://api.github.com/users/mcous/received_events","type":"User","site_admin":false},"body":"I think I should prefer `export default` for ES6 modules (which is what webpack will be treating these as)","created_at":"2019-02-25T14:12:50Z","updated_at":"2019-02-25T14:23:30Z","html_url":"https://github.com/tracespace/tracespace/pull/104#discussion_r259840195","pull_request_url":"https://api.github.com/repos/tracespace/tracespace/pulls/104","author_association":"MEMBER","_links":{"self":{"href":"https://api.github.com/repos/tracespace/tracespace/pulls/comments/259840195"},"html":{"href":"https://github.com/tracespace/tracespace/pull/104#discussion_r259840195"},"pull_request":{"href":"https://api.github.com/repos/tracespace/tracespace/pulls/104"}}},"pull_request":{"url":"https://api.github.com/repos/tracespace/tracespace/pulls/104","id":255044034,"node_id":"MDExOlB1bGxSZXF1ZXN0MjU1MDQ0MDM0","html_url":"https://github.com/tracespace/tracespace/pull/104","diff_url":"https://github.com/tracespace/tracespace/pull/104.diff","patch_url":"https://github.com/tracespace/tracespace/pull/104.patch","issue_url":"https://api.github.com/repos/tracespace/tracespace/issues/104","number":104,"state":"open","locked":false,"title":"feat(view): Add viewer rewrite to monorepo","user":{"login":"mcous","id":2963448,"node_id":"MDQ6VXNlcjI5NjM0NDg=","avatar_url":"https://avatars1.githubusercontent.com/u/2963448?v=4","gravatar_id":"","url":"https://api.github.com/users/mcous","html_url":"https://github.com/mcous","followers_url":"https://api.github.com/users/mcous/followers","following_url":"https://api.github.com/users/mcous/following{/other_user}","gists_url":"https://api.github.com/users/mcous/gists{/gist_id}","starred_url":"https://api.github.com/users/mcous/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mcous/subscriptions","organizations_url":"https://api.github.com/users/mcous/orgs","repos_url":"https://api.github.com/users/mcous/repos","events_url":"https://api.github.com/users/mcous/events{/privacy}","received_events_url":"https://api.github.com/users/mcous/received_events","type":"User","site_admin":false},"body":"## overview\r\n\r\nThis PR is part 3 of mcous/tracespace#1, and adds the new viewer app to the monorepo. It's written in Typescript and still needs tests, but this (I think) is feature-complete enough to launch.\r\n\r\nPreview at: <https://staging.tracespace.io/view>\r\n\r\nStill TODO in follow up PR(s):\r\n\r\n- Contributing documentation updates\r\n- Set up CI deploy\r\n- Set up Greenkeeper\r\n- Set up offline support\r\n- Component consolidation and simplification\r\n- Way more tests\r\n\r\n## changelog\r\n\r\nImprovements from the code living at [tracespace/viewer](https://github.com/tracespace/viewer):\r\n\r\n- Uses the latest tracespace libraries, which fixes tracespace/viewer#15\r\n- Written in React instead of a random dead framework\r\n- Actually works with Firefox when:\r\n    - scrolling side panels (closes tracespace/viewer#3)\r\n    - scrolling to zoom with a mouse instead of a trackpad (closes tracespace/viewer#10)\r\n- Can drop files anywhere in the app to open them (closes tracespace/viewer#5)\r\n- Files that don't render have an indicator and tooltip (closes tracespace/viewer#6)\r\n- There's a download button to save all the SVG renders (closes tracespace/viewer#9)\r\n- Link to GitHub repo from site (closes tracespace/viewer#11)\r\n- Supports opening zip files (closes tracespace/viewer#12)\r\n- Can easily isolate layers in layer view with shift+click on visibility toggle (closes tracespace/viewer#13)\r\n- More obvious first use instructions + a default render to try (Arduino) ready to go (closes tracespace/viewer#18)\r\n- All relevant render options can be set by the user (closes tracespace/viewer#19)\r\n\r\n## try it out\r\n\r\n```shell\r\n# install dependencies\r\ncd tracespace\r\nnpm i\r\n\r\n# launch dev server on localhost:8080\r\n# also launches pcb-stackup, pcb-stackup-core, gerber-to-svg dev servers\r\nnpm start\r\n\r\n# build production assets and serve them on localhost:9090\r\nnpm run build\r\nnpm run serve\r\n```","created_at":"2019-02-21T14:25:37Z","updated_at":"2019-02-25T14:23:29Z","closed_at":null,"merged_at":null,"merge_commit_sha":"2d8e57ea3ddb8ccecd03ca0db4771f414c63dd53","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[{"id":242174533,"node_id":"MDU6TGFiZWwyNDIxNzQ1MzM=","url":"https://api.github.com/repos/tracespace/tracespace/labels/feature","name":"feature","color":"84b6eb","default":false},{"id":1243651267,"node_id":"MDU6TGFiZWwxMjQzNjUxMjY3","url":"https://api.github.com/repos/tracespace/tracespace/labels/view","name":"view","color":"f3f99d","default":false}],"milestone":null,"commits_url":"https://api.github.com/repos/tracespace/tracespace/pulls/104/commits","review_comments_url":"https://api.github.com/repos/tracespace/tracespace/pulls/104/comments","review_comment_url":"https://api.github.com/repos/tracespace/tracespace/pulls/comments{/number}","comments_url":"https://api.github.com/repos/tracespace/tracespace/issues/104/comments","statuses_url":"https://api.github.com/repos/tracespace/tracespace/statuses/0f2e65443e83fef4b0e0d921f96ce7743522139b","head":{"label":"tracespace:feat-add-viewer","ref":"feat-add-viewer","sha":"0f2e65443e83fef4b0e0d921f96ce7743522139b","user":{"login":"tracespace","id":12790124,"node_id":"MDEyOk9yZ2FuaXphdGlvbjEyNzkwMTI0","avatar_url":"https://avatars3.githubusercontent.com/u/12790124?v=4","gravatar_id":"","url":"https://api.github.com/users/tracespace","html_url":"https://github.com/tracespace","followers_url":"https://api.github.com/users/tracespace/followers","following_url":"https://api.github.com/users/tracespace/following{/other_user}","gists_url":"https://api.github.com/users/tracespace/gists{/gist_id}","starred_url":"https://api.github.com/users/tracespace/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tracespace/subscriptions","organizations_url":"https://api.github.com/users/tracespace/orgs","repos_url":"https://api.github.com/users/tracespace/repos","events_url":"https://api.github.com/users/tracespace/events{/privacy}","received_events_url":"https://api.github.com/users/tracespace/received_events","type":"Organization","site_admin":false},"repo":{"id":39924597,"node_id":"MDEwOlJlcG9zaXRvcnkzOTkyNDU5Nw==","name":"tracespace","full_name":"tracespace/tracespace","private":false,"owner":{"login":"tracespace","id":12790124,"node_id":"MDEyOk9yZ2FuaXphdGlvbjEyNzkwMTI0","avatar_url":"https://avatars3.githubusercontent.com/u/12790124?v=4","gravatar_id":"","url":"https://api.github.com/users/tracespace","html_url":"https://github.com/tracespace","followers_url":"https://api.github.com/users/tracespace/followers","following_url":"https://api.github.com/users/tracespace/following{/other_user}","gists_url":"https://api.github.com/users/tracespace/gists{/gist_id}","starred_url":"https://api.github.com/users/tracespace/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tracespace/subscriptions","organizations_url":"https://api.github.com/users/tracespace/orgs","repos_url":"https://api.github.com/users/tracespace/repos","events_url":"https://api.github.com/users/tracespace/events{/privacy}","received_events_url":"https://api.github.com/users/tracespace/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/tracespace/tracespace","description":"⚡️generate beautiful and accurate SVG renders of printed circuit boards","fork":false,"url":"https://api.github.com/repos/tracespace/tracespace","forks_url":"https://api.github.com/repos/tracespace/tracespace/forks","keys_url":"https://api.github.com/repos/tracespace/tracespace/keys{/key_id}","collaborators_url":"https://api.github.com/repos/tracespace/tracespace/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/tracespace/tracespace/teams","hooks_url":"https://api.github.com/repos/tracespace/tracespace/hooks","issue_events_url":"https://api.github.com/repos/tracespace/tracespace/issues/events{/number}","events_url":"https://api.github.com/repos/tracespace/tracespace/events","assignees_url":"https://api.github.com/repos/tracespace/tracespace/assignees{/user}","branches_url":"https://api.github.com/repos/tracespace/tracespace/branches{/branch}","tags_url":"https://api.github.com/repos/tracespace/tracespace/tags","blobs_url":"https://api.github.com/repos/tracespace/tracespace/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/tracespace/tracespace/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/tracespace/tracespace/git/refs{/sha}","trees_url":"https://api.github.com/repos/tracespace/tracespace/git/trees{/sha}","statuses_url":"https://api.github.com/repos/tracespace/tracespace/statuses/{sha}","languages_url":"https://api.github.com/repos/tracespace/tracespace/languages","stargazers_url":"https://api.github.com/repos/tracespace/tracespace/stargazers","contributors_url":"https://api.github.com/repos/tracespace/tracespace/contributors","subscribers_url":"https://api.github.com/repos/tracespace/tracespace/subscribers","subscription_url":"https://api.github.com/repos/tracespace/tracespace/subscription","commits_url":"https://api.github.com/repos/tracespace/tracespace/commits{/sha}","git_commits_url":"https://api.github.com/repos/tracespace/tracespace/git/commits{/sha}","comments_url":"https://api.github.com/repos/tracespace/tracespace/comments{/number}","issue_comment_url":"https://api.github.com/repos/tracespace/tracespace/issues/comments{/number}","contents_url":"https://api.github.com/repos/tracespace/tracespace/contents/{+path}","compare_url":"https://api.github.com/repos/tracespace/tracespace/compare/{base}...{head}","merges_url":"https://api.github.com/repos/tracespace/tracespace/merges","archive_url":"https://api.github.com/repos/tracespace/tracespace/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/tracespace/tracespace/downloads","issues_url":"https://api.github.com/repos/tracespace/tracespace/issues{/number}","pulls_url":"https://api.github.com/repos/tracespace/tracespace/pulls{/number}","milestones_url":"https://api.github.com/repos/tracespace/tracespace/milestones{/number}","notifications_url":"https://api.github.com/repos/tracespace/tracespace/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/tracespace/tracespace/labels{/name}","releases_url":"https://api.github.com/repos/tracespace/tracespace/releases{/id}","deployments_url":"https://api.github.com/repos/tracespace/tracespace/deployments","created_at":"2015-07-30T01:24:20Z","updated_at":"2019-02-22T03:07:20Z","pushed_at":"2019-02-25T13:25:47Z","git_url":"git://github.com/tracespace/tracespace.git","ssh_url":"git@github.com:tracespace/tracespace.git","clone_url":"https://github.com/tracespace/tracespace.git","svn_url":"https://github.com/tracespace/tracespace","homepage":"","size":6470,"stargazers_count":371,"watchers_count":371,"language":"JavaScript","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":27,"mirror_url":null,"archived":false,"open_issues_count":15,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"},"forks":27,"open_issues":15,"watchers":371,"default_branch":"next"}},"base":{"label":"tracespace:next","ref":"next","sha":"bb6e8f902a47eb669d0eabea4c0e2bb80be7cf08","user":{"login":"tracespace","id":12790124,"node_id":"MDEyOk9yZ2FuaXphdGlvbjEyNzkwMTI0","avatar_url":"https://avatars3.githubusercontent.com/u/12790124?v=4","gravatar_id":"","url":"https://api.github.com/users/tracespace","html_url":"https://github.com/tracespace","followers_url":"https://api.github.com/users/tracespace/followers","following_url":"https://api.github.com/users/tracespace/following{/other_user}","gists_url":"https://api.github.com/users/tracespace/gists{/gist_id}","starred_url":"https://api.github.com/users/tracespace/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tracespace/subscriptions","organizations_url":"https://api.github.com/users/tracespace/orgs","repos_url":"https://api.github.com/users/tracespace/repos","events_url":"https://api.github.com/users/tracespace/events{/privacy}","received_events_url":"https://api.github.com/users/tracespace/received_events","type":"Organization","site_admin":false},"repo":{"id":39924597,"node_id":"MDEwOlJlcG9zaXRvcnkzOTkyNDU5Nw==","name":"tracespace","full_name":"tracespace/tracespace","private":false,"owner":{"login":"tracespace","id":12790124,"node_id":"MDEyOk9yZ2FuaXphdGlvbjEyNzkwMTI0","avatar_url":"https://avatars3.githubusercontent.com/u/12790124?v=4","gravatar_id":"","url":"https://api.github.com/users/tracespace","html_url":"https://github.com/tracespace","followers_url":"https://api.github.com/users/tracespace/followers","following_url":"https://api.github.com/users/tracespace/following{/other_user}","gists_url":"https://api.github.com/users/tracespace/gists{/gist_id}","starred_url":"https://api.github.com/users/tracespace/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tracespace/subscriptions","organizations_url":"https://api.github.com/users/tracespace/orgs","repos_url":"https://api.github.com/users/tracespace/repos","events_url":"https://api.github.com/users/tracespace/events{/privacy}","received_events_url":"https://api.github.com/users/tracespace/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/tracespace/tracespace","description":"⚡️generate beautiful and accurate SVG renders of printed circuit boards","fork":false,"url":"https://api.github.com/repos/tracespace/tracespace","forks_url":"https://api.github.com/repos/tracespace/tracespace/forks","keys_url":"https://api.github.com/repos/tracespace/tracespace/keys{/key_id}","collaborators_url":"https://api.github.com/repos/tracespace/tracespace/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/tracespace/tracespace/teams","hooks_url":"https://api.github.com/repos/tracespace/tracespace/hooks","issue_events_url":"https://api.github.com/repos/tracespace/tracespace/issues/events{/number}","events_url":"https://api.github.com/repos/tracespace/tracespace/events","assignees_url":"https://api.github.com/repos/tracespace/tracespace/assignees{/user}","branches_url":"https://api.github.com/repos/tracespace/tracespace/branches{/branch}","tags_url":"https://api.github.com/repos/tracespace/tracespace/tags","blobs_url":"https://api.github.com/repos/tracespace/tracespace/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/tracespace/tracespace/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/tracespace/tracespace/git/refs{/sha}","trees_url":"https://api.github.com/repos/tracespace/tracespace/git/trees{/sha}","statuses_url":"https://api.github.com/repos/tracespace/tracespace/statuses/{sha}","languages_url":"https://api.github.com/repos/tracespace/tracespace/languages","stargazers_url":"https://api.github.com/repos/tracespace/tracespace/stargazers","contributors_url":"https://api.github.com/repos/tracespace/tracespace/contributors","subscribers_url":"https://api.github.com/repos/tracespace/tracespace/subscribers","subscription_url":"https://api.github.com/repos/tracespace/tracespace/subscription","commits_url":"https://api.github.com/repos/tracespace/tracespace/commits{/sha}","git_commits_url":"https://api.github.com/repos/tracespace/tracespace/git/commits{/sha}","comments_url":"https://api.github.com/repos/tracespace/tracespace/comments{/number}","issue_comment_url":"https://api.github.com/repos/tracespace/tracespace/issues/comments{/number}","contents_url":"https://api.github.com/repos/tracespace/tracespace/contents/{+path}","compare_url":"https://api.github.com/repos/tracespace/tracespace/compare/{base}...{head}","merges_url":"https://api.github.com/repos/tracespace/tracespace/merges","archive_url":"https://api.github.com/repos/tracespace/tracespace/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/tracespace/tracespace/downloads","issues_url":"https://api.github.com/repos/tracespace/tracespace/issues{/number}","pulls_url":"https://api.github.com/repos/tracespace/tracespace/pulls{/number}","milestones_url":"https://api.github.com/repos/tracespace/tracespace/milestones{/number}","notifications_url":"https://api.github.com/repos/tracespace/tracespace/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/tracespace/tracespace/labels{/name}","releases_url":"https://api.github.com/repos/tracespace/tracespace/releases{/id}","deployments_url":"https://api.github.com/repos/tracespace/tracespace/deployments","created_at":"2015-07-30T01:24:20Z","updated_at":"2019-02-22T03:07:20Z","pushed_at":"2019-02-25T13:25:47Z","git_url":"git://github.com/tracespace/tracespace.git","ssh_url":"git@github.com:tracespace/tracespace.git","clone_url":"https://github.com/tracespace/tracespace.git","svn_url":"https://github.com/tracespace/tracespace","homepage":"","size":6470,"stargazers_count":371,"watchers_count":371,"language":"JavaScript","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":27,"mirror_url":null,"archived":false,"open_issues_count":15,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"},"forks":27,"open_issues":15,"watchers":371,"default_branch":"next"}},"_links":{"self":{"href":"https://api.github.com/repos/tracespace/tracespace/pulls/104"},"html":{"href":"https://github.com/tracespace/tracespace/pull/104"},"issue":{"href":"https://api.github.com/repos/tracespace/tracespace/issues/104"},"comments":{"href":"https://api.github.com/repos/tracespace/tracespace/issues/104/comments"},"review_comments":{"href":"https://api.github.com/repos/tracespace/tracespace/pulls/104/comments"},"review_comment":{"href":"https://api.github.com/repos/tracespace/tracespace/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/tracespace/tracespace/pulls/104/commits"},"statuses":{"href":"https://api.github.com/repos/tracespace/tracespace/statuses/0f2e65443e83fef4b0e0d921f96ce7743522139b"}},"author_association":"MEMBER"}}
{"actor":{"display_login":"mcous"}}