{"action":"created","comment":{"url":"https://api.github.com/repos/nuxt/vue-meta/pulls/comments/255470170","pull_request_review_id":202059756,"id":255470170,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDI1NTQ3MDE3MA==","diff_hunk":"@@ -1,3 +1,5 @@\n+import { isUndefined } from '../../shared/typeof'","path":"src/server/generators/attribute.js","position":1,"original_position":1,"commit_id":"02e4094a35c2ccb2ac97f258c32ed89fbabcb2c6","original_commit_id":"674189736994f3a7314eb4cd6dd29e0e3e24c0a8","user":{"login":"manniL","id":640208,"node_id":"MDQ6VXNlcjY0MDIwOA==","avatar_url":"https://avatars0.githubusercontent.com/u/640208?v=4","gravatar_id":"","url":"https://api.github.com/users/manniL","html_url":"https://github.com/manniL","followers_url":"https://api.github.com/users/manniL/followers","following_url":"https://api.github.com/users/manniL/following{/other_user}","gists_url":"https://api.github.com/users/manniL/gists{/gist_id}","starred_url":"https://api.github.com/users/manniL/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/manniL/subscriptions","organizations_url":"https://api.github.com/users/manniL/orgs","repos_url":"https://api.github.com/users/manniL/repos","events_url":"https://api.github.com/users/manniL/events{/privacy}","received_events_url":"https://api.github.com/users/manniL/received_events","type":"User","site_admin":false},"body":"It's a webpack feature ☺️ ","created_at":"2019-02-11T11:35:53Z","updated_at":"2019-02-11T11:35:53Z","html_url":"https://github.com/nuxt/vue-meta/pull/319#discussion_r255470170","pull_request_url":"https://api.github.com/repos/nuxt/vue-meta/pulls/319","author_association":"MEMBER","_links":{"self":{"href":"https://api.github.com/repos/nuxt/vue-meta/pulls/comments/255470170"},"html":{"href":"https://github.com/nuxt/vue-meta/pull/319#discussion_r255470170"},"pull_request":{"href":"https://api.github.com/repos/nuxt/vue-meta/pulls/319"}},"in_reply_to_id":255443792},"pull_request":{"url":"https://api.github.com/repos/nuxt/vue-meta/pulls/319","id":251698840,"node_id":"MDExOlB1bGxSZXF1ZXN0MjUxNjk4ODQw","html_url":"https://github.com/nuxt/vue-meta/pull/319","diff_url":"https://github.com/nuxt/vue-meta/pull/319.diff","patch_url":"https://github.com/nuxt/vue-meta/pull/319.patch","issue_url":"https://api.github.com/repos/nuxt/vue-meta/issues/319","number":319,"state":"open","locked":false,"title":"feat: major refactor, cleanup and jest tests","user":{"login":"pimlie","id":1067403,"node_id":"MDQ6VXNlcjEwNjc0MDM=","avatar_url":"https://avatars3.githubusercontent.com/u/1067403?v=4","gravatar_id":"","url":"https://api.github.com/users/pimlie","html_url":"https://github.com/pimlie","followers_url":"https://api.github.com/users/pimlie/followers","following_url":"https://api.github.com/users/pimlie/following{/other_user}","gists_url":"https://api.github.com/users/pimlie/gists{/gist_id}","starred_url":"https://api.github.com/users/pimlie/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pimlie/subscriptions","organizations_url":"https://api.github.com/users/pimlie/orgs","repos_url":"https://api.github.com/users/pimlie/repos","events_url":"https://api.github.com/users/pimlie/events{/privacy}","received_events_url":"https://api.github.com/users/pimlie/received_events","type":"User","site_admin":false},"body":"I apologize in advance cause it will probably be a pain to review, but this is a major refactor of vue-meta to fully bring it under the nuxt umbrella.After this pr is merged it will use eslint, babel and jest. I optimized most of the code and standardized variable names and file names where possible. Also I added tests so we can now guarantee vue-meta generates exactly the same html on the server side as on the client (well, \r\nactually its vue-meta's interpretation vs jsdom).\r\n\r\nIt also includes a workaround to prevent polluting all components with our lifecycle hooks, now it only inserts beforeCreate.\r\n\r\nI didnt optimize `getMetaInfo` and `getComponentOption`, I guess you could say that those are two core functons of vue-meta and although I briefly looked into it that really deserves a separate pr. Eg I would really like to remove that deepmerge dependency and I think that should be possible (but not sure yet). Also we shouldnt walk through all components that exists, we can do some smart stuff to only walk branches which contain vue-meta components.\r\n\r\nI removed the dependencies for the examples to a separate package.json within that dir and updated the readme, they felt like they were cluttering my efforts trying to get a clean project\r\n\r\nThe only sensible thing we could/should add are some e2e tests, probably should use nuxt for that somehow as nuxt tests already have functionality for that.","created_at":"2019-02-09T21:12:23Z","updated_at":"2019-02-11T11:35:53Z","closed_at":null,"merged_at":null,"merge_commit_sha":"884ac623ced5ed76e5192402b738fe004cbb4ca5","assignee":null,"assignees":[],"requested_reviewers":[{"login":"Atinux","id":904724,"node_id":"MDQ6VXNlcjkwNDcyNA==","avatar_url":"https://avatars2.githubusercontent.com/u/904724?v=4","gravatar_id":"","url":"https://api.github.com/users/Atinux","html_url":"https://github.com/Atinux","followers_url":"https://api.github.com/users/Atinux/followers","following_url":"https://api.github.com/users/Atinux/following{/other_user}","gists_url":"https://api.github.com/users/Atinux/gists{/gist_id}","starred_url":"https://api.github.com/users/Atinux/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Atinux/subscriptions","organizations_url":"https://api.github.com/users/Atinux/orgs","repos_url":"https://api.github.com/users/Atinux/repos","events_url":"https://api.github.com/users/Atinux/events{/privacy}","received_events_url":"https://api.github.com/users/Atinux/received_events","type":"User","site_admin":false}],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/nuxt/vue-meta/pulls/319/commits","review_comments_url":"https://api.github.com/repos/nuxt/vue-meta/pulls/319/comments","review_comment_url":"https://api.github.com/repos/nuxt/vue-meta/pulls/comments{/number}","comments_url":"https://api.github.com/repos/nuxt/vue-meta/issues/319/comments","statuses_url":"https://api.github.com/repos/nuxt/vue-meta/statuses/02e4094a35c2ccb2ac97f258c32ed89fbabcb2c6","head":{"label":"pimlie:feat-jest","ref":"feat-jest","sha":"02e4094a35c2ccb2ac97f258c32ed89fbabcb2c6","user":{"login":"pimlie","id":1067403,"node_id":"MDQ6VXNlcjEwNjc0MDM=","avatar_url":"https://avatars3.githubusercontent.com/u/1067403?v=4","gravatar_id":"","url":"https://api.github.com/users/pimlie","html_url":"https://github.com/pimlie","followers_url":"https://api.github.com/users/pimlie/followers","following_url":"https://api.github.com/users/pimlie/following{/other_user}","gists_url":"https://api.github.com/users/pimlie/gists{/gist_id}","starred_url":"https://api.github.com/users/pimlie/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pimlie/subscriptions","organizations_url":"https://api.github.com/users/pimlie/orgs","repos_url":"https://api.github.com/users/pimlie/repos","events_url":"https://api.github.com/users/pimlie/events{/privacy}","received_events_url":"https://api.github.com/users/pimlie/received_events","type":"User","site_admin":false},"repo":{"id":111923836,"node_id":"MDEwOlJlcG9zaXRvcnkxMTE5MjM4MzY=","name":"vue-meta","full_name":"pimlie/vue-meta","private":false,"owner":{"login":"pimlie","id":1067403,"node_id":"MDQ6VXNlcjEwNjc0MDM=","avatar_url":"https://avatars3.githubusercontent.com/u/1067403?v=4","gravatar_id":"","url":"https://api.github.com/users/pimlie","html_url":"https://github.com/pimlie","followers_url":"https://api.github.com/users/pimlie/followers","following_url":"https://api.github.com/users/pimlie/following{/other_user}","gists_url":"https://api.github.com/users/pimlie/gists{/gist_id}","starred_url":"https://api.github.com/users/pimlie/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pimlie/subscriptions","organizations_url":"https://api.github.com/users/pimlie/orgs","repos_url":"https://api.github.com/users/pimlie/repos","events_url":"https://api.github.com/users/pimlie/events{/privacy}","received_events_url":"https://api.github.com/users/pimlie/received_events","type":"User","site_admin":false},"html_url":"https://github.com/pimlie/vue-meta","description":"Manage page meta info in Vue 2.0 components. SSR + Streaming supported.","fork":true,"url":"https://api.github.com/repos/pimlie/vue-meta","forks_url":"https://api.github.com/repos/pimlie/vue-meta/forks","keys_url":"https://api.github.com/repos/pimlie/vue-meta/keys{/key_id}","collaborators_url":"https://api.github.com/repos/pimlie/vue-meta/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/pimlie/vue-meta/teams","hooks_url":"https://api.github.com/repos/pimlie/vue-meta/hooks","issue_events_url":"https://api.github.com/repos/pimlie/vue-meta/issues/events{/number}","events_url":"https://api.github.com/repos/pimlie/vue-meta/events","assignees_url":"https://api.github.com/repos/pimlie/vue-meta/assignees{/user}","branches_url":"https://api.github.com/repos/pimlie/vue-meta/branches{/branch}","tags_url":"https://api.github.com/repos/pimlie/vue-meta/tags","blobs_url":"https://api.github.com/repos/pimlie/vue-meta/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/pimlie/vue-meta/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/pimlie/vue-meta/git/refs{/sha}","trees_url":"https://api.github.com/repos/pimlie/vue-meta/git/trees{/sha}","statuses_url":"https://api.github.com/repos/pimlie/vue-meta/statuses/{sha}","languages_url":"https://api.github.com/repos/pimlie/vue-meta/languages","stargazers_url":"https://api.github.com/repos/pimlie/vue-meta/stargazers","contributors_url":"https://api.github.com/repos/pimlie/vue-meta/contributors","subscribers_url":"https://api.github.com/repos/pimlie/vue-meta/subscribers","subscription_url":"https://api.github.com/repos/pimlie/vue-meta/subscription","commits_url":"https://api.github.com/repos/pimlie/vue-meta/commits{/sha}","git_commits_url":"https://api.github.com/repos/pimlie/vue-meta/git/commits{/sha}","comments_url":"https://api.github.com/repos/pimlie/vue-meta/comments{/number}","issue_comment_url":"https://api.github.com/repos/pimlie/vue-meta/issues/comments{/number}","contents_url":"https://api.github.com/repos/pimlie/vue-meta/contents/{+path}","compare_url":"https://api.github.com/repos/pimlie/vue-meta/compare/{base}...{head}","merges_url":"https://api.github.com/repos/pimlie/vue-meta/merges","archive_url":"https://api.github.com/repos/pimlie/vue-meta/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/pimlie/vue-meta/downloads","issues_url":"https://api.github.com/repos/pimlie/vue-meta/issues{/number}","pulls_url":"https://api.github.com/repos/pimlie/vue-meta/pulls{/number}","milestones_url":"https://api.github.com/repos/pimlie/vue-meta/milestones{/number}","notifications_url":"https://api.github.com/repos/pimlie/vue-meta/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/pimlie/vue-meta/labels{/name}","releases_url":"https://api.github.com/repos/pimlie/vue-meta/releases{/id}","deployments_url":"https://api.github.com/repos/pimlie/vue-meta/deployments","created_at":"2017-11-24T13:54:27Z","updated_at":"2019-01-24T19:51:26Z","pushed_at":"2019-02-11T11:04:07Z","git_url":"git://github.com/pimlie/vue-meta.git","ssh_url":"git@github.com:pimlie/vue-meta.git","clone_url":"https://github.com/pimlie/vue-meta.git","svn_url":"https://github.com/pimlie/vue-meta","homepage":"https://npmjs.com/package/vue-meta","size":1214,"stargazers_count":0,"watchers_count":0,"language":"JavaScript","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"},"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"nuxt:master","ref":"master","sha":"bcca7563dae7b4a963321f4fd0a31a1fd279a0a2","user":{"login":"nuxt","id":23360933,"node_id":"MDEyOk9yZ2FuaXphdGlvbjIzMzYwOTMz","avatar_url":"https://avatars2.githubusercontent.com/u/23360933?v=4","gravatar_id":"","url":"https://api.github.com/users/nuxt","html_url":"https://github.com/nuxt","followers_url":"https://api.github.com/users/nuxt/followers","following_url":"https://api.github.com/users/nuxt/following{/other_user}","gists_url":"https://api.github.com/users/nuxt/gists{/gist_id}","starred_url":"https://api.github.com/users/nuxt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nuxt/subscriptions","organizations_url":"https://api.github.com/users/nuxt/orgs","repos_url":"https://api.github.com/users/nuxt/repos","events_url":"https://api.github.com/users/nuxt/events{/privacy}","received_events_url":"https://api.github.com/users/nuxt/received_events","type":"Organization","site_admin":false},"repo":{"id":72311680,"node_id":"MDEwOlJlcG9zaXRvcnk3MjMxMTY4MA==","name":"vue-meta","full_name":"nuxt/vue-meta","private":false,"owner":{"login":"nuxt","id":23360933,"node_id":"MDEyOk9yZ2FuaXphdGlvbjIzMzYwOTMz","avatar_url":"https://avatars2.githubusercontent.com/u/23360933?v=4","gravatar_id":"","url":"https://api.github.com/users/nuxt","html_url":"https://github.com/nuxt","followers_url":"https://api.github.com/users/nuxt/followers","following_url":"https://api.github.com/users/nuxt/following{/other_user}","gists_url":"https://api.github.com/users/nuxt/gists{/gist_id}","starred_url":"https://api.github.com/users/nuxt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nuxt/subscriptions","organizations_url":"https://api.github.com/users/nuxt/orgs","repos_url":"https://api.github.com/users/nuxt/repos","events_url":"https://api.github.com/users/nuxt/events{/privacy}","received_events_url":"https://api.github.com/users/nuxt/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/nuxt/vue-meta","description":"Manage page meta info in Vue 2.0 components. SSR + Streaming supported.","fork":false,"url":"https://api.github.com/repos/nuxt/vue-meta","forks_url":"https://api.github.com/repos/nuxt/vue-meta/forks","keys_url":"https://api.github.com/repos/nuxt/vue-meta/keys{/key_id}","collaborators_url":"https://api.github.com/repos/nuxt/vue-meta/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/nuxt/vue-meta/teams","hooks_url":"https://api.github.com/repos/nuxt/vue-meta/hooks","issue_events_url":"https://api.github.com/repos/nuxt/vue-meta/issues/events{/number}","events_url":"https://api.github.com/repos/nuxt/vue-meta/events","assignees_url":"https://api.github.com/repos/nuxt/vue-meta/assignees{/user}","branches_url":"https://api.github.com/repos/nuxt/vue-meta/branches{/branch}","tags_url":"https://api.github.com/repos/nuxt/vue-meta/tags","blobs_url":"https://api.github.com/repos/nuxt/vue-meta/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/nuxt/vue-meta/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/nuxt/vue-meta/git/refs{/sha}","trees_url":"https://api.github.com/repos/nuxt/vue-meta/git/trees{/sha}","statuses_url":"https://api.github.com/repos/nuxt/vue-meta/statuses/{sha}","languages_url":"https://api.github.com/repos/nuxt/vue-meta/languages","stargazers_url":"https://api.github.com/repos/nuxt/vue-meta/stargazers","contributors_url":"https://api.github.com/repos/nuxt/vue-meta/contributors","subscribers_url":"https://api.github.com/repos/nuxt/vue-meta/subscribers","subscription_url":"https://api.github.com/repos/nuxt/vue-meta/subscription","commits_url":"https://api.github.com/repos/nuxt/vue-meta/commits{/sha}","git_commits_url":"https://api.github.com/repos/nuxt/vue-meta/git/commits{/sha}","comments_url":"https://api.github.com/repos/nuxt/vue-meta/comments{/number}","issue_comment_url":"https://api.github.com/repos/nuxt/vue-meta/issues/comments{/number}","contents_url":"https://api.github.com/repos/nuxt/vue-meta/contents/{+path}","compare_url":"https://api.github.com/repos/nuxt/vue-meta/compare/{base}...{head}","merges_url":"https://api.github.com/repos/nuxt/vue-meta/merges","archive_url":"https://api.github.com/repos/nuxt/vue-meta/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/nuxt/vue-meta/downloads","issues_url":"https://api.github.com/repos/nuxt/vue-meta/issues{/number}","pulls_url":"https://api.github.com/repos/nuxt/vue-meta/pulls{/number}","milestones_url":"https://api.github.com/repos/nuxt/vue-meta/milestones{/number}","notifications_url":"https://api.github.com/repos/nuxt/vue-meta/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/nuxt/vue-meta/labels{/name}","releases_url":"https://api.github.com/repos/nuxt/vue-meta/releases{/id}","deployments_url":"https://api.github.com/repos/nuxt/vue-meta/deployments","created_at":"2016-10-29T22:00:54Z","updated_at":"2019-02-11T06:13:29Z","pushed_at":"2019-02-11T11:04:08Z","git_url":"git://github.com/nuxt/vue-meta.git","ssh_url":"git@github.com:nuxt/vue-meta.git","clone_url":"https://github.com/nuxt/vue-meta.git","svn_url":"https://github.com/nuxt/vue-meta","homepage":"https://npmjs.com/package/vue-meta","size":1154,"stargazers_count":2244,"watchers_count":2244,"language":"JavaScript","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":124,"mirror_url":null,"archived":false,"open_issues_count":39,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"},"forks":124,"open_issues":39,"watchers":2244,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/nuxt/vue-meta/pulls/319"},"html":{"href":"https://github.com/nuxt/vue-meta/pull/319"},"issue":{"href":"https://api.github.com/repos/nuxt/vue-meta/issues/319"},"comments":{"href":"https://api.github.com/repos/nuxt/vue-meta/issues/319/comments"},"review_comments":{"href":"https://api.github.com/repos/nuxt/vue-meta/pulls/319/comments"},"review_comment":{"href":"https://api.github.com/repos/nuxt/vue-meta/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/nuxt/vue-meta/pulls/319/commits"},"statuses":{"href":"https://api.github.com/repos/nuxt/vue-meta/statuses/02e4094a35c2ccb2ac97f258c32ed89fbabcb2c6"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"manniL"}}