{"action":"created","comment":{"url":"https://api.github.com/repos/magento-research/pwa-studio/pulls/comments/227483286","pull_request_review_id":166921236,"id":227483286,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIyNzQ4MzI4Ng==","diff_hunk":"@@ -0,0 +1,16 @@\n+import { Component } from '../../components/abstract.component';\r\n+\r\n+// tslint:disable-next-line:ban-types\r\n+export function components<T extends Function>(locator: string, componenet: T, count: number): PropertyDecorator {\r\n+    return (target, key) => {\r\n+        const isntances: T[] = [];\r\n+        for (let index = 0; index < count; index++) {\r\n+            const instance = Reflect.construct(componenet, [locator]) as T;\r\n+            isntances.push(instance);\r\n+        }\r\n+\r\n+        Reflect.defineProperty(target, key, {\r","path":"packages/pwa-e2e/src/utils/protractor/components.ts","position":12,"original_position":12,"commit_id":"5416f851485f8399e220b817f1a390555f9b640c","original_commit_id":"5416f851485f8399e220b817f1a390555f9b640c","user":{"login":"zetlen","id":1643758,"node_id":"MDQ6VXNlcjE2NDM3NTg=","avatar_url":"https://avatars3.githubusercontent.com/u/1643758?v=4","gravatar_id":"","url":"https://api.github.com/users/zetlen","html_url":"https://github.com/zetlen","followers_url":"https://api.github.com/users/zetlen/followers","following_url":"https://api.github.com/users/zetlen/following{/other_user}","gists_url":"https://api.github.com/users/zetlen/gists{/gist_id}","starred_url":"https://api.github.com/users/zetlen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/zetlen/subscriptions","organizations_url":"https://api.github.com/users/zetlen/orgs","repos_url":"https://api.github.com/users/zetlen/repos","events_url":"https://api.github.com/users/zetlen/events{/privacy}","received_events_url":"https://api.github.com/users/zetlen/received_events","type":"User","site_admin":false},"body":"It looks like this is a map structure. Rather than a complex generic type over an object literal, could you use a `Map` or a `WeakMap` to store instances?","created_at":"2018-10-23T17:07:51Z","updated_at":"2018-10-23T17:10:05Z","html_url":"https://github.com/magento-research/pwa-studio/pull/391#discussion_r227483286","pull_request_url":"https://api.github.com/repos/magento-research/pwa-studio/pulls/391","author_association":"CONTRIBUTOR","_links":{"self":{"href":"https://api.github.com/repos/magento-research/pwa-studio/pulls/comments/227483286"},"html":{"href":"https://github.com/magento-research/pwa-studio/pull/391#discussion_r227483286"},"pull_request":{"href":"https://api.github.com/repos/magento-research/pwa-studio/pulls/391"}}},"pull_request":{"url":"https://api.github.com/repos/magento-research/pwa-studio/pulls/391","id":224048198,"node_id":"MDExOlB1bGxSZXF1ZXN0MjI0MDQ4MTk4","html_url":"https://github.com/magento-research/pwa-studio/pull/391","diff_url":"https://github.com/magento-research/pwa-studio/pull/391.diff","patch_url":"https://github.com/magento-research/pwa-studio/pull/391.patch","issue_url":"https://api.github.com/repos/magento-research/pwa-studio/issues/391","number":391,"state":"open","locked":false,"title":"Implement TA framework","user":{"login":"vitalics","id":8816260,"node_id":"MDQ6VXNlcjg4MTYyNjA=","avatar_url":"https://avatars2.githubusercontent.com/u/8816260?v=4","gravatar_id":"","url":"https://api.github.com/users/vitalics","html_url":"https://github.com/vitalics","followers_url":"https://api.github.com/users/vitalics/followers","following_url":"https://api.github.com/users/vitalics/following{/other_user}","gists_url":"https://api.github.com/users/vitalics/gists{/gist_id}","starred_url":"https://api.github.com/users/vitalics/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vitalics/subscriptions","organizations_url":"https://api.github.com/users/vitalics/orgs","repos_url":"https://api.github.com/users/vitalics/repos","events_url":"https://api.github.com/users/vitalics/events{/privacy}","received_events_url":"https://api.github.com/users/vitalics/received_events","type":"User","site_admin":false},"body":"<!-- (REQUIRED) What is the nature of this PR? -->\r\n\r\n## This PR is a:\r\n\r\n[x] New feature\r\n[ ] Enhancement/Optimization\r\n[ ] Refactor\r\n[ ] Bugfix\r\n[ ] Test for existing code\r\n[ ] Documentation\r\n\r\n<!-- (REQUIRED) What does this PR change? -->\r\n\r\n## Summary\r\n\r\nWhen this pull request is merged, it will a new package for pwa-studio. I implement bacis test automation framework, which we can integrate with current CI/CD process\r\n\r\n<!-- (OPTIONAL) What other information can you provide about this PR? -->\r\n\r\n## Additional information\r\n\r\n<!--\r\nThank you for your contribution!\r\n\r\nBefore submitting this pull request, please make sure you have read our Contribution Guidelines and your PR meets our contribution standards:\r\nhttps://github.com/magento-research/pwa-studio/blob/master/.github/CONTRIBUTION.md\r\n\r\nPlease fill out as much information as you can about your PR to help speed up the review process.\r\nIf your PR addresses an existing GitHub Issue, please refer to it in the title or Additional Information section to make the connection.\r\n\r\nWe may ask you for changes in your PR in order to meet the standards set in our Contribution Guidelines. PR's that do not comply with our guidelines may be closed at the maintainers' discretion.\r\n\r\nFeel free to remove this section before creating this PR.\r\n-->\r\n","created_at":"2018-10-18T18:06:46Z","updated_at":"2018-10-23T17:10:04Z","closed_at":null,"merged_at":null,"merge_commit_sha":"d562df11d52edb1ba2206c76bf3ffb115d2c02c9","assignee":{"login":"vitalics","id":8816260,"node_id":"MDQ6VXNlcjg4MTYyNjA=","avatar_url":"https://avatars2.githubusercontent.com/u/8816260?v=4","gravatar_id":"","url":"https://api.github.com/users/vitalics","html_url":"https://github.com/vitalics","followers_url":"https://api.github.com/users/vitalics/followers","following_url":"https://api.github.com/users/vitalics/following{/other_user}","gists_url":"https://api.github.com/users/vitalics/gists{/gist_id}","starred_url":"https://api.github.com/users/vitalics/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vitalics/subscriptions","organizations_url":"https://api.github.com/users/vitalics/orgs","repos_url":"https://api.github.com/users/vitalics/repos","events_url":"https://api.github.com/users/vitalics/events{/privacy}","received_events_url":"https://api.github.com/users/vitalics/received_events","type":"User","site_admin":false},"assignees":[{"login":"vitalics","id":8816260,"node_id":"MDQ6VXNlcjg4MTYyNjA=","avatar_url":"https://avatars2.githubusercontent.com/u/8816260?v=4","gravatar_id":"","url":"https://api.github.com/users/vitalics","html_url":"https://github.com/vitalics","followers_url":"https://api.github.com/users/vitalics/followers","following_url":"https://api.github.com/users/vitalics/following{/other_user}","gists_url":"https://api.github.com/users/vitalics/gists{/gist_id}","starred_url":"https://api.github.com/users/vitalics/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vitalics/subscriptions","organizations_url":"https://api.github.com/users/vitalics/orgs","repos_url":"https://api.github.com/users/vitalics/repos","events_url":"https://api.github.com/users/vitalics/events{/privacy}","received_events_url":"https://api.github.com/users/vitalics/received_events","type":"User","site_admin":false}],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/magento-research/pwa-studio/pulls/391/commits","review_comments_url":"https://api.github.com/repos/magento-research/pwa-studio/pulls/391/comments","review_comment_url":"https://api.github.com/repos/magento-research/pwa-studio/pulls/comments{/number}","comments_url":"https://api.github.com/repos/magento-research/pwa-studio/issues/391/comments","statuses_url":"https://api.github.com/repos/magento-research/pwa-studio/statuses/5416f851485f8399e220b817f1a390555f9b640c","head":{"label":"magento-research:vitali/e2e","ref":"vitali/e2e","sha":"5416f851485f8399e220b817f1a390555f9b640c","user":{"login":"magento-research","id":26729824,"node_id":"MDEyOk9yZ2FuaXphdGlvbjI2NzI5ODI0","avatar_url":"https://avatars0.githubusercontent.com/u/26729824?v=4","gravatar_id":"","url":"https://api.github.com/users/magento-research","html_url":"https://github.com/magento-research","followers_url":"https://api.github.com/users/magento-research/followers","following_url":"https://api.github.com/users/magento-research/following{/other_user}","gists_url":"https://api.github.com/users/magento-research/gists{/gist_id}","starred_url":"https://api.github.com/users/magento-research/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/magento-research/subscriptions","organizations_url":"https://api.github.com/users/magento-research/orgs","repos_url":"https://api.github.com/users/magento-research/repos","events_url":"https://api.github.com/users/magento-research/events{/privacy}","received_events_url":"https://api.github.com/users/magento-research/received_events","type":"Organization","site_admin":false},"repo":{"id":137249745,"node_id":"MDEwOlJlcG9zaXRvcnkxMzcyNDk3NDU=","name":"pwa-studio","full_name":"magento-research/pwa-studio","private":false,"owner":{"login":"magento-research","id":26729824,"node_id":"MDEyOk9yZ2FuaXphdGlvbjI2NzI5ODI0","avatar_url":"https://avatars0.githubusercontent.com/u/26729824?v=4","gravatar_id":"","url":"https://api.github.com/users/magento-research","html_url":"https://github.com/magento-research","followers_url":"https://api.github.com/users/magento-research/followers","following_url":"https://api.github.com/users/magento-research/following{/other_user}","gists_url":"https://api.github.com/users/magento-research/gists{/gist_id}","starred_url":"https://api.github.com/users/magento-research/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/magento-research/subscriptions","organizations_url":"https://api.github.com/users/magento-research/orgs","repos_url":"https://api.github.com/users/magento-research/repos","events_url":"https://api.github.com/users/magento-research/events{/privacy}","received_events_url":"https://api.github.com/users/magento-research/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/magento-research/pwa-studio","description":"🛠Development tools to build, optimize and deploy Progressive Web Applications for Magento 2.","fork":false,"url":"https://api.github.com/repos/magento-research/pwa-studio","forks_url":"https://api.github.com/repos/magento-research/pwa-studio/forks","keys_url":"https://api.github.com/repos/magento-research/pwa-studio/keys{/key_id}","collaborators_url":"https://api.github.com/repos/magento-research/pwa-studio/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/magento-research/pwa-studio/teams","hooks_url":"https://api.github.com/repos/magento-research/pwa-studio/hooks","issue_events_url":"https://api.github.com/repos/magento-research/pwa-studio/issues/events{/number}","events_url":"https://api.github.com/repos/magento-research/pwa-studio/events","assignees_url":"https://api.github.com/repos/magento-research/pwa-studio/assignees{/user}","branches_url":"https://api.github.com/repos/magento-research/pwa-studio/branches{/branch}","tags_url":"https://api.github.com/repos/magento-research/pwa-studio/tags","blobs_url":"https://api.github.com/repos/magento-research/pwa-studio/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/magento-research/pwa-studio/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/magento-research/pwa-studio/git/refs{/sha}","trees_url":"https://api.github.com/repos/magento-research/pwa-studio/git/trees{/sha}","statuses_url":"https://api.github.com/repos/magento-research/pwa-studio/statuses/{sha}","languages_url":"https://api.github.com/repos/magento-research/pwa-studio/languages","stargazers_url":"https://api.github.com/repos/magento-research/pwa-studio/stargazers","contributors_url":"https://api.github.com/repos/magento-research/pwa-studio/contributors","subscribers_url":"https://api.github.com/repos/magento-research/pwa-studio/subscribers","subscription_url":"https://api.github.com/repos/magento-research/pwa-studio/subscription","commits_url":"https://api.github.com/repos/magento-research/pwa-studio/commits{/sha}","git_commits_url":"https://api.github.com/repos/magento-research/pwa-studio/git/commits{/sha}","comments_url":"https://api.github.com/repos/magento-research/pwa-studio/comments{/number}","issue_comment_url":"https://api.github.com/repos/magento-research/pwa-studio/issues/comments{/number}","contents_url":"https://api.github.com/repos/magento-research/pwa-studio/contents/{+path}","compare_url":"https://api.github.com/repos/magento-research/pwa-studio/compare/{base}...{head}","merges_url":"https://api.github.com/repos/magento-research/pwa-studio/merges","archive_url":"https://api.github.com/repos/magento-research/pwa-studio/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/magento-research/pwa-studio/downloads","issues_url":"https://api.github.com/repos/magento-research/pwa-studio/issues{/number}","pulls_url":"https://api.github.com/repos/magento-research/pwa-studio/pulls{/number}","milestones_url":"https://api.github.com/repos/magento-research/pwa-studio/milestones{/number}","notifications_url":"https://api.github.com/repos/magento-research/pwa-studio/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/magento-research/pwa-studio/labels{/name}","releases_url":"https://api.github.com/repos/magento-research/pwa-studio/releases{/id}","deployments_url":"https://api.github.com/repos/magento-research/pwa-studio/deployments","created_at":"2018-06-13T17:35:05Z","updated_at":"2018-10-23T16:45:43Z","pushed_at":"2018-10-23T16:45:46Z","git_url":"git://github.com/magento-research/pwa-studio.git","ssh_url":"git@github.com:magento-research/pwa-studio.git","clone_url":"https://github.com/magento-research/pwa-studio.git","svn_url":"https://github.com/magento-research/pwa-studio","homepage":"http://pwastudio.io","size":9632,"stargazers_count":127,"watchers_count":127,"language":"JavaScript","has_issues":true,"has_projects":false,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":56,"mirror_url":null,"archived":false,"open_issues_count":158,"license":{"key":"other","name":"Other","spdx_id":"NOASSERTION","url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":56,"open_issues":158,"watchers":127,"default_branch":"release/2.0"}},"base":{"label":"magento-research:release/2.0","ref":"release/2.0","sha":"420d47e36f3d564196d5fd68999659f7bb6154f4","user":{"login":"magento-research","id":26729824,"node_id":"MDEyOk9yZ2FuaXphdGlvbjI2NzI5ODI0","avatar_url":"https://avatars0.githubusercontent.com/u/26729824?v=4","gravatar_id":"","url":"https://api.github.com/users/magento-research","html_url":"https://github.com/magento-research","followers_url":"https://api.github.com/users/magento-research/followers","following_url":"https://api.github.com/users/magento-research/following{/other_user}","gists_url":"https://api.github.com/users/magento-research/gists{/gist_id}","starred_url":"https://api.github.com/users/magento-research/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/magento-research/subscriptions","organizations_url":"https://api.github.com/users/magento-research/orgs","repos_url":"https://api.github.com/users/magento-research/repos","events_url":"https://api.github.com/users/magento-research/events{/privacy}","received_events_url":"https://api.github.com/users/magento-research/received_events","type":"Organization","site_admin":false},"repo":{"id":137249745,"node_id":"MDEwOlJlcG9zaXRvcnkxMzcyNDk3NDU=","name":"pwa-studio","full_name":"magento-research/pwa-studio","private":false,"owner":{"login":"magento-research","id":26729824,"node_id":"MDEyOk9yZ2FuaXphdGlvbjI2NzI5ODI0","avatar_url":"https://avatars0.githubusercontent.com/u/26729824?v=4","gravatar_id":"","url":"https://api.github.com/users/magento-research","html_url":"https://github.com/magento-research","followers_url":"https://api.github.com/users/magento-research/followers","following_url":"https://api.github.com/users/magento-research/following{/other_user}","gists_url":"https://api.github.com/users/magento-research/gists{/gist_id}","starred_url":"https://api.github.com/users/magento-research/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/magento-research/subscriptions","organizations_url":"https://api.github.com/users/magento-research/orgs","repos_url":"https://api.github.com/users/magento-research/repos","events_url":"https://api.github.com/users/magento-research/events{/privacy}","received_events_url":"https://api.github.com/users/magento-research/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/magento-research/pwa-studio","description":"🛠Development tools to build, optimize and deploy Progressive Web Applications for Magento 2.","fork":false,"url":"https://api.github.com/repos/magento-research/pwa-studio","forks_url":"https://api.github.com/repos/magento-research/pwa-studio/forks","keys_url":"https://api.github.com/repos/magento-research/pwa-studio/keys{/key_id}","collaborators_url":"https://api.github.com/repos/magento-research/pwa-studio/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/magento-research/pwa-studio/teams","hooks_url":"https://api.github.com/repos/magento-research/pwa-studio/hooks","issue_events_url":"https://api.github.com/repos/magento-research/pwa-studio/issues/events{/number}","events_url":"https://api.github.com/repos/magento-research/pwa-studio/events","assignees_url":"https://api.github.com/repos/magento-research/pwa-studio/assignees{/user}","branches_url":"https://api.github.com/repos/magento-research/pwa-studio/branches{/branch}","tags_url":"https://api.github.com/repos/magento-research/pwa-studio/tags","blobs_url":"https://api.github.com/repos/magento-research/pwa-studio/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/magento-research/pwa-studio/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/magento-research/pwa-studio/git/refs{/sha}","trees_url":"https://api.github.com/repos/magento-research/pwa-studio/git/trees{/sha}","statuses_url":"https://api.github.com/repos/magento-research/pwa-studio/statuses/{sha}","languages_url":"https://api.github.com/repos/magento-research/pwa-studio/languages","stargazers_url":"https://api.github.com/repos/magento-research/pwa-studio/stargazers","contributors_url":"https://api.github.com/repos/magento-research/pwa-studio/contributors","subscribers_url":"https://api.github.com/repos/magento-research/pwa-studio/subscribers","subscription_url":"https://api.github.com/repos/magento-research/pwa-studio/subscription","commits_url":"https://api.github.com/repos/magento-research/pwa-studio/commits{/sha}","git_commits_url":"https://api.github.com/repos/magento-research/pwa-studio/git/commits{/sha}","comments_url":"https://api.github.com/repos/magento-research/pwa-studio/comments{/number}","issue_comment_url":"https://api.github.com/repos/magento-research/pwa-studio/issues/comments{/number}","contents_url":"https://api.github.com/repos/magento-research/pwa-studio/contents/{+path}","compare_url":"https://api.github.com/repos/magento-research/pwa-studio/compare/{base}...{head}","merges_url":"https://api.github.com/repos/magento-research/pwa-studio/merges","archive_url":"https://api.github.com/repos/magento-research/pwa-studio/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/magento-research/pwa-studio/downloads","issues_url":"https://api.github.com/repos/magento-research/pwa-studio/issues{/number}","pulls_url":"https://api.github.com/repos/magento-research/pwa-studio/pulls{/number}","milestones_url":"https://api.github.com/repos/magento-research/pwa-studio/milestones{/number}","notifications_url":"https://api.github.com/repos/magento-research/pwa-studio/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/magento-research/pwa-studio/labels{/name}","releases_url":"https://api.github.com/repos/magento-research/pwa-studio/releases{/id}","deployments_url":"https://api.github.com/repos/magento-research/pwa-studio/deployments","created_at":"2018-06-13T17:35:05Z","updated_at":"2018-10-23T16:45:43Z","pushed_at":"2018-10-23T16:45:46Z","git_url":"git://github.com/magento-research/pwa-studio.git","ssh_url":"git@github.com:magento-research/pwa-studio.git","clone_url":"https://github.com/magento-research/pwa-studio.git","svn_url":"https://github.com/magento-research/pwa-studio","homepage":"http://pwastudio.io","size":9632,"stargazers_count":127,"watchers_count":127,"language":"JavaScript","has_issues":true,"has_projects":false,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":56,"mirror_url":null,"archived":false,"open_issues_count":158,"license":{"key":"other","name":"Other","spdx_id":"NOASSERTION","url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":56,"open_issues":158,"watchers":127,"default_branch":"release/2.0"}},"_links":{"self":{"href":"https://api.github.com/repos/magento-research/pwa-studio/pulls/391"},"html":{"href":"https://github.com/magento-research/pwa-studio/pull/391"},"issue":{"href":"https://api.github.com/repos/magento-research/pwa-studio/issues/391"},"comments":{"href":"https://api.github.com/repos/magento-research/pwa-studio/issues/391/comments"},"review_comments":{"href":"https://api.github.com/repos/magento-research/pwa-studio/pulls/391/comments"},"review_comment":{"href":"https://api.github.com/repos/magento-research/pwa-studio/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/magento-research/pwa-studio/pulls/391/commits"},"statuses":{"href":"https://api.github.com/repos/magento-research/pwa-studio/statuses/5416f851485f8399e220b817f1a390555f9b640c"}},"author_association":"NONE"}}
{"actor":{"display_login":"zetlen"}}