{"action":"created","comment":{"url":"https://api.github.com/repos/Polymer/polymer-cli/pulls/comments/62770659","id":62770659,"diff_hunk":"@@ -176,6 +190,45 @@ export class Bundler {\n     });\n   }\n \n+  _addSharedImportsToShell(bundles: Map<string, string[]>): string {\n+    console.assert(this.shell != null);\n+    let shellDeps = bundles.get(this.shell)\n+        .slice()\n+        .map((d) => path.relative(path.dirname(this.shell), d));\n+    let shellDepsSet = new Set(shellDeps);\n+    let file = this.streamResolver._files.get(this.shell);\n+    console.assert(file != null);\n+    let contents = file.contents.toString();\n+    let doc = dom5.parse(contents);\n+    let imports = dom5.queryAll(doc, dom5.predicates.AND(\n+      dom5.predicates.hasTagName('link'),\n+      dom5.predicates.hasAttrValue('rel', 'import')\n+    ));\n+    for (let _import of imports) {\n+      if (shellDepsSet.has(dom5.getAttribute(_import, 'href'))) {\n+        dom5.remove(_import);\n+      }\n+    }\n+    let head = dom5.query(doc, dom5.predicates.hasTagName('head'));\n+    if (!head) {","path":"src/build/bundle.ts","position":76,"original_position":76,"commit_id":"f518489a7bb14c96de2a56672771d30291fe6fbd","original_commit_id":"f518489a7bb14c96de2a56672771d30291fe6fbd","user":{"login":"justinfagnani","id":522948,"avatar_url":"https://avatars.githubusercontent.com/u/522948?v=3","gravatar_id":"","url":"https://api.github.com/users/justinfagnani","html_url":"https://github.com/justinfagnani","followers_url":"https://api.github.com/users/justinfagnani/followers","following_url":"https://api.github.com/users/justinfagnani/following{/other_user}","gists_url":"https://api.github.com/users/justinfagnani/gists{/gist_id}","starred_url":"https://api.github.com/users/justinfagnani/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/justinfagnani/subscriptions","organizations_url":"https://api.github.com/users/justinfagnani/orgs","repos_url":"https://api.github.com/users/justinfagnani/repos","events_url":"https://api.github.com/users/justinfagnani/events{/privacy}","received_events_url":"https://api.github.com/users/justinfagnani/received_events","type":"User","site_admin":false},"body":"done","created_at":"2016-05-10T23:22:18Z","updated_at":"2016-05-10T23:22:18Z","html_url":"https://github.com/Polymer/polymer-cli/pull/74#discussion_r62770659","pull_request_url":"https://api.github.com/repos/Polymer/polymer-cli/pulls/74","_links":{"self":{"href":"https://api.github.com/repos/Polymer/polymer-cli/pulls/comments/62770659"},"html":{"href":"https://github.com/Polymer/polymer-cli/pull/74#discussion_r62770659"},"pull_request":{"href":"https://api.github.com/repos/Polymer/polymer-cli/pulls/74"}}},"pull_request":{"url":"https://api.github.com/repos/Polymer/polymer-cli/pulls/74","id":69551766,"html_url":"https://github.com/Polymer/polymer-cli/pull/74","diff_url":"https://github.com/Polymer/polymer-cli/pull/74.diff","patch_url":"https://github.com/Polymer/polymer-cli/pull/74.patch","issue_url":"https://api.github.com/repos/Polymer/polymer-cli/issues/74","number":74,"state":"open","locked":false,"title":"Bundle shared imports into the shell","user":{"login":"justinfagnani","id":522948,"avatar_url":"https://avatars.githubusercontent.com/u/522948?v=3","gravatar_id":"","url":"https://api.github.com/users/justinfagnani","html_url":"https://github.com/justinfagnani","followers_url":"https://api.github.com/users/justinfagnani/followers","following_url":"https://api.github.com/users/justinfagnani/following{/other_user}","gists_url":"https://api.github.com/users/justinfagnani/gists{/gist_id}","starred_url":"https://api.github.com/users/justinfagnani/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/justinfagnani/subscriptions","organizations_url":"https://api.github.com/users/justinfagnani/orgs","repos_url":"https://api.github.com/users/justinfagnani/repos","events_url":"https://api.github.com/users/justinfagnani/events{/privacy}","received_events_url":"https://api.github.com/users/justinfagnani/received_events","type":"User","site_admin":false},"body":"Fixes #67 ","created_at":"2016-05-10T18:09:42Z","updated_at":"2016-05-10T23:22:18Z","closed_at":null,"merged_at":null,"merge_commit_sha":"2846b5c1cd9a1a87ef670bab2984dabf87df67e9","assignee":{"login":"azakus","id":46725,"avatar_url":"https://avatars.githubusercontent.com/u/46725?v=3","gravatar_id":"","url":"https://api.github.com/users/azakus","html_url":"https://github.com/azakus","followers_url":"https://api.github.com/users/azakus/followers","following_url":"https://api.github.com/users/azakus/following{/other_user}","gists_url":"https://api.github.com/users/azakus/gists{/gist_id}","starred_url":"https://api.github.com/users/azakus/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/azakus/subscriptions","organizations_url":"https://api.github.com/users/azakus/orgs","repos_url":"https://api.github.com/users/azakus/repos","events_url":"https://api.github.com/users/azakus/events{/privacy}","received_events_url":"https://api.github.com/users/azakus/received_events","type":"User","site_admin":false},"milestone":null,"commits_url":"https://api.github.com/repos/Polymer/polymer-cli/pulls/74/commits","review_comments_url":"https://api.github.com/repos/Polymer/polymer-cli/pulls/74/comments","review_comment_url":"https://api.github.com/repos/Polymer/polymer-cli/pulls/comments{/number}","comments_url":"https://api.github.com/repos/Polymer/polymer-cli/issues/74/comments","statuses_url":"https://api.github.com/repos/Polymer/polymer-cli/statuses/f518489a7bb14c96de2a56672771d30291fe6fbd","head":{"label":"Polymer:shell","ref":"shell","sha":"f518489a7bb14c96de2a56672771d30291fe6fbd","user":{"login":"Polymer","id":2159051,"avatar_url":"https://avatars.githubusercontent.com/u/2159051?v=3","gravatar_id":"","url":"https://api.github.com/users/Polymer","html_url":"https://github.com/Polymer","followers_url":"https://api.github.com/users/Polymer/followers","following_url":"https://api.github.com/users/Polymer/following{/other_user}","gists_url":"https://api.github.com/users/Polymer/gists{/gist_id}","starred_url":"https://api.github.com/users/Polymer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Polymer/subscriptions","organizations_url":"https://api.github.com/users/Polymer/orgs","repos_url":"https://api.github.com/users/Polymer/repos","events_url":"https://api.github.com/users/Polymer/events{/privacy}","received_events_url":"https://api.github.com/users/Polymer/received_events","type":"Organization","site_admin":false},"repo":{"id":51951003,"name":"polymer-cli","full_name":"Polymer/polymer-cli","owner":{"login":"Polymer","id":2159051,"avatar_url":"https://avatars.githubusercontent.com/u/2159051?v=3","gravatar_id":"","url":"https://api.github.com/users/Polymer","html_url":"https://github.com/Polymer","followers_url":"https://api.github.com/users/Polymer/followers","following_url":"https://api.github.com/users/Polymer/following{/other_user}","gists_url":"https://api.github.com/users/Polymer/gists{/gist_id}","starred_url":"https://api.github.com/users/Polymer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Polymer/subscriptions","organizations_url":"https://api.github.com/users/Polymer/orgs","repos_url":"https://api.github.com/users/Polymer/repos","events_url":"https://api.github.com/users/Polymer/events{/privacy}","received_events_url":"https://api.github.com/users/Polymer/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/Polymer/polymer-cli","description":"A command-line tool for Polymer projects","fork":false,"url":"https://api.github.com/repos/Polymer/polymer-cli","forks_url":"https://api.github.com/repos/Polymer/polymer-cli/forks","keys_url":"https://api.github.com/repos/Polymer/polymer-cli/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Polymer/polymer-cli/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Polymer/polymer-cli/teams","hooks_url":"https://api.github.com/repos/Polymer/polymer-cli/hooks","issue_events_url":"https://api.github.com/repos/Polymer/polymer-cli/issues/events{/number}","events_url":"https://api.github.com/repos/Polymer/polymer-cli/events","assignees_url":"https://api.github.com/repos/Polymer/polymer-cli/assignees{/user}","branches_url":"https://api.github.com/repos/Polymer/polymer-cli/branches{/branch}","tags_url":"https://api.github.com/repos/Polymer/polymer-cli/tags","blobs_url":"https://api.github.com/repos/Polymer/polymer-cli/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Polymer/polymer-cli/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Polymer/polymer-cli/git/refs{/sha}","trees_url":"https://api.github.com/repos/Polymer/polymer-cli/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Polymer/polymer-cli/statuses/{sha}","languages_url":"https://api.github.com/repos/Polymer/polymer-cli/languages","stargazers_url":"https://api.github.com/repos/Polymer/polymer-cli/stargazers","contributors_url":"https://api.github.com/repos/Polymer/polymer-cli/contributors","subscribers_url":"https://api.github.com/repos/Polymer/polymer-cli/subscribers","subscription_url":"https://api.github.com/repos/Polymer/polymer-cli/subscription","commits_url":"https://api.github.com/repos/Polymer/polymer-cli/commits{/sha}","git_commits_url":"https://api.github.com/repos/Polymer/polymer-cli/git/commits{/sha}","comments_url":"https://api.github.com/repos/Polymer/polymer-cli/comments{/number}","issue_comment_url":"https://api.github.com/repos/Polymer/polymer-cli/issues/comments{/number}","contents_url":"https://api.github.com/repos/Polymer/polymer-cli/contents/{+path}","compare_url":"https://api.github.com/repos/Polymer/polymer-cli/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Polymer/polymer-cli/merges","archive_url":"https://api.github.com/repos/Polymer/polymer-cli/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Polymer/polymer-cli/downloads","issues_url":"https://api.github.com/repos/Polymer/polymer-cli/issues{/number}","pulls_url":"https://api.github.com/repos/Polymer/polymer-cli/pulls{/number}","milestones_url":"https://api.github.com/repos/Polymer/polymer-cli/milestones{/number}","notifications_url":"https://api.github.com/repos/Polymer/polymer-cli/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Polymer/polymer-cli/labels{/name}","releases_url":"https://api.github.com/repos/Polymer/polymer-cli/releases{/id}","deployments_url":"https://api.github.com/repos/Polymer/polymer-cli/deployments","created_at":"2016-02-17T19:57:15Z","updated_at":"2016-05-09T21:38:33Z","pushed_at":"2016-05-10T23:08:16Z","git_url":"git://github.com/Polymer/polymer-cli.git","ssh_url":"git@github.com:Polymer/polymer-cli.git","clone_url":"https://github.com/Polymer/polymer-cli.git","svn_url":"https://github.com/Polymer/polymer-cli","homepage":null,"size":120,"stargazers_count":10,"watchers_count":10,"language":"TypeScript","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":6,"mirror_url":null,"open_issues_count":21,"forks":6,"open_issues":21,"watchers":10,"default_branch":"master"}},"base":{"label":"Polymer:master","ref":"master","sha":"176fac7e678a76ee99eca4a6807c9411cb1fbc21","user":{"login":"Polymer","id":2159051,"avatar_url":"https://avatars.githubusercontent.com/u/2159051?v=3","gravatar_id":"","url":"https://api.github.com/users/Polymer","html_url":"https://github.com/Polymer","followers_url":"https://api.github.com/users/Polymer/followers","following_url":"https://api.github.com/users/Polymer/following{/other_user}","gists_url":"https://api.github.com/users/Polymer/gists{/gist_id}","starred_url":"https://api.github.com/users/Polymer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Polymer/subscriptions","organizations_url":"https://api.github.com/users/Polymer/orgs","repos_url":"https://api.github.com/users/Polymer/repos","events_url":"https://api.github.com/users/Polymer/events{/privacy}","received_events_url":"https://api.github.com/users/Polymer/received_events","type":"Organization","site_admin":false},"repo":{"id":51951003,"name":"polymer-cli","full_name":"Polymer/polymer-cli","owner":{"login":"Polymer","id":2159051,"avatar_url":"https://avatars.githubusercontent.com/u/2159051?v=3","gravatar_id":"","url":"https://api.github.com/users/Polymer","html_url":"https://github.com/Polymer","followers_url":"https://api.github.com/users/Polymer/followers","following_url":"https://api.github.com/users/Polymer/following{/other_user}","gists_url":"https://api.github.com/users/Polymer/gists{/gist_id}","starred_url":"https://api.github.com/users/Polymer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Polymer/subscriptions","organizations_url":"https://api.github.com/users/Polymer/orgs","repos_url":"https://api.github.com/users/Polymer/repos","events_url":"https://api.github.com/users/Polymer/events{/privacy}","received_events_url":"https://api.github.com/users/Polymer/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/Polymer/polymer-cli","description":"A command-line tool for Polymer projects","fork":false,"url":"https://api.github.com/repos/Polymer/polymer-cli","forks_url":"https://api.github.com/repos/Polymer/polymer-cli/forks","keys_url":"https://api.github.com/repos/Polymer/polymer-cli/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Polymer/polymer-cli/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Polymer/polymer-cli/teams","hooks_url":"https://api.github.com/repos/Polymer/polymer-cli/hooks","issue_events_url":"https://api.github.com/repos/Polymer/polymer-cli/issues/events{/number}","events_url":"https://api.github.com/repos/Polymer/polymer-cli/events","assignees_url":"https://api.github.com/repos/Polymer/polymer-cli/assignees{/user}","branches_url":"https://api.github.com/repos/Polymer/polymer-cli/branches{/branch}","tags_url":"https://api.github.com/repos/Polymer/polymer-cli/tags","blobs_url":"https://api.github.com/repos/Polymer/polymer-cli/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Polymer/polymer-cli/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Polymer/polymer-cli/git/refs{/sha}","trees_url":"https://api.github.com/repos/Polymer/polymer-cli/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Polymer/polymer-cli/statuses/{sha}","languages_url":"https://api.github.com/repos/Polymer/polymer-cli/languages","stargazers_url":"https://api.github.com/repos/Polymer/polymer-cli/stargazers","contributors_url":"https://api.github.com/repos/Polymer/polymer-cli/contributors","subscribers_url":"https://api.github.com/repos/Polymer/polymer-cli/subscribers","subscription_url":"https://api.github.com/repos/Polymer/polymer-cli/subscription","commits_url":"https://api.github.com/repos/Polymer/polymer-cli/commits{/sha}","git_commits_url":"https://api.github.com/repos/Polymer/polymer-cli/git/commits{/sha}","comments_url":"https://api.github.com/repos/Polymer/polymer-cli/comments{/number}","issue_comment_url":"https://api.github.com/repos/Polymer/polymer-cli/issues/comments{/number}","contents_url":"https://api.github.com/repos/Polymer/polymer-cli/contents/{+path}","compare_url":"https://api.github.com/repos/Polymer/polymer-cli/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Polymer/polymer-cli/merges","archive_url":"https://api.github.com/repos/Polymer/polymer-cli/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Polymer/polymer-cli/downloads","issues_url":"https://api.github.com/repos/Polymer/polymer-cli/issues{/number}","pulls_url":"https://api.github.com/repos/Polymer/polymer-cli/pulls{/number}","milestones_url":"https://api.github.com/repos/Polymer/polymer-cli/milestones{/number}","notifications_url":"https://api.github.com/repos/Polymer/polymer-cli/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Polymer/polymer-cli/labels{/name}","releases_url":"https://api.github.com/repos/Polymer/polymer-cli/releases{/id}","deployments_url":"https://api.github.com/repos/Polymer/polymer-cli/deployments","created_at":"2016-02-17T19:57:15Z","updated_at":"2016-05-09T21:38:33Z","pushed_at":"2016-05-10T23:08:16Z","git_url":"git://github.com/Polymer/polymer-cli.git","ssh_url":"git@github.com:Polymer/polymer-cli.git","clone_url":"https://github.com/Polymer/polymer-cli.git","svn_url":"https://github.com/Polymer/polymer-cli","homepage":null,"size":120,"stargazers_count":10,"watchers_count":10,"language":"TypeScript","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":6,"mirror_url":null,"open_issues_count":21,"forks":6,"open_issues":21,"watchers":10,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/Polymer/polymer-cli/pulls/74"},"html":{"href":"https://github.com/Polymer/polymer-cli/pull/74"},"issue":{"href":"https://api.github.com/repos/Polymer/polymer-cli/issues/74"},"comments":{"href":"https://api.github.com/repos/Polymer/polymer-cli/issues/74/comments"},"review_comments":{"href":"https://api.github.com/repos/Polymer/polymer-cli/pulls/74/comments"},"review_comment":{"href":"https://api.github.com/repos/Polymer/polymer-cli/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/Polymer/polymer-cli/pulls/74/commits"},"statuses":{"href":"https://api.github.com/repos/Polymer/polymer-cli/statuses/f518489a7bb14c96de2a56672771d30291fe6fbd"}}}}