{"action":"created","issue":{"url":"https://api.github.com/repos/contentful/rich-text/issues/24","repository_url":"https://api.github.com/repos/contentful/rich-text","labels_url":"https://api.github.com/repos/contentful/rich-text/issues/24/labels{/name}","comments_url":"https://api.github.com/repos/contentful/rich-text/issues/24/comments","events_url":"https://api.github.com/repos/contentful/rich-text/issues/24/events","html_url":"https://github.com/contentful/rich-text/pull/24","id":386263219,"node_id":"MDExOlB1bGxSZXF1ZXN0MjM1MDQ3NDIy","number":24,"title":"More benchmark improvements","user":{"login":"cribbles","id":10690704,"node_id":"MDQ6VXNlcjEwNjkwNzA0","avatar_url":"https://avatars1.githubusercontent.com/u/10690704?v=4","gravatar_id":"","url":"https://api.github.com/users/cribbles","html_url":"https://github.com/cribbles","followers_url":"https://api.github.com/users/cribbles/followers","following_url":"https://api.github.com/users/cribbles/following{/other_user}","gists_url":"https://api.github.com/users/cribbles/gists{/gist_id}","starred_url":"https://api.github.com/users/cribbles/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cribbles/subscriptions","organizations_url":"https://api.github.com/users/cribbles/orgs","repos_url":"https://api.github.com/users/cribbles/repos","events_url":"https://api.github.com/users/cribbles/events{/privacy}","received_events_url":"https://api.github.com/users/cribbles/received_events","type":"User","site_admin":false},"labels":[{"id":1102776345,"node_id":"MDU6TGFiZWwxMTAyNzc2MzQ1","url":"https://api.github.com/repos/contentful/rich-text/labels/enhancement","name":"enhancement","color":"a2eeef","default":true}],"state":"open","locked":false,"assignee":{"login":"Khaledgarbaya","id":1156093,"node_id":"MDQ6VXNlcjExNTYwOTM=","avatar_url":"https://avatars1.githubusercontent.com/u/1156093?v=4","gravatar_id":"","url":"https://api.github.com/users/Khaledgarbaya","html_url":"https://github.com/Khaledgarbaya","followers_url":"https://api.github.com/users/Khaledgarbaya/followers","following_url":"https://api.github.com/users/Khaledgarbaya/following{/other_user}","gists_url":"https://api.github.com/users/Khaledgarbaya/gists{/gist_id}","starred_url":"https://api.github.com/users/Khaledgarbaya/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Khaledgarbaya/subscriptions","organizations_url":"https://api.github.com/users/Khaledgarbaya/orgs","repos_url":"https://api.github.com/users/Khaledgarbaya/repos","events_url":"https://api.github.com/users/Khaledgarbaya/events{/privacy}","received_events_url":"https://api.github.com/users/Khaledgarbaya/received_events","type":"User","site_admin":false},"assignees":[{"login":"Khaledgarbaya","id":1156093,"node_id":"MDQ6VXNlcjExNTYwOTM=","avatar_url":"https://avatars1.githubusercontent.com/u/1156093?v=4","gravatar_id":"","url":"https://api.github.com/users/Khaledgarbaya","html_url":"https://github.com/Khaledgarbaya","followers_url":"https://api.github.com/users/Khaledgarbaya/followers","following_url":"https://api.github.com/users/Khaledgarbaya/following{/other_user}","gists_url":"https://api.github.com/users/Khaledgarbaya/gists{/gist_id}","starred_url":"https://api.github.com/users/Khaledgarbaya/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Khaledgarbaya/subscriptions","organizations_url":"https://api.github.com/users/Khaledgarbaya/orgs","repos_url":"https://api.github.com/users/Khaledgarbaya/repos","events_url":"https://api.github.com/users/Khaledgarbaya/events{/privacy}","received_events_url":"https://api.github.com/users/Khaledgarbaya/received_events","type":"User","site_admin":false},{"login":"sbezludny","id":1378452,"node_id":"MDQ6VXNlcjEzNzg0NTI=","avatar_url":"https://avatars0.githubusercontent.com/u/1378452?v=4","gravatar_id":"","url":"https://api.github.com/users/sbezludny","html_url":"https://github.com/sbezludny","followers_url":"https://api.github.com/users/sbezludny/followers","following_url":"https://api.github.com/users/sbezludny/following{/other_user}","gists_url":"https://api.github.com/users/sbezludny/gists{/gist_id}","starred_url":"https://api.github.com/users/sbezludny/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sbezludny/subscriptions","organizations_url":"https://api.github.com/users/sbezludny/orgs","repos_url":"https://api.github.com/users/sbezludny/repos","events_url":"https://api.github.com/users/sbezludny/events{/privacy}","received_events_url":"https://api.github.com/users/sbezludny/received_events","type":"User","site_admin":false},{"login":"zcei","id":1705507,"node_id":"MDQ6VXNlcjE3MDU1MDc=","avatar_url":"https://avatars1.githubusercontent.com/u/1705507?v=4","gravatar_id":"","url":"https://api.github.com/users/zcei","html_url":"https://github.com/zcei","followers_url":"https://api.github.com/users/zcei/followers","following_url":"https://api.github.com/users/zcei/following{/other_user}","gists_url":"https://api.github.com/users/zcei/gists{/gist_id}","starred_url":"https://api.github.com/users/zcei/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/zcei/subscriptions","organizations_url":"https://api.github.com/users/zcei/orgs","repos_url":"https://api.github.com/users/zcei/repos","events_url":"https://api.github.com/users/zcei/events{/privacy}","received_events_url":"https://api.github.com/users/zcei/received_events","type":"User","site_admin":false}],"milestone":null,"comments":4,"created_at":"2018-11-30T16:40:05Z","updated_at":"2018-12-03T15:05:48Z","closed_at":null,"author_association":"COLLABORATOR","pull_request":{"url":"https://api.github.com/repos/contentful/rich-text/pulls/24","html_url":"https://github.com/contentful/rich-text/pull/24","diff_url":"https://github.com/contentful/rich-text/pull/24.diff","patch_url":"https://github.com/contentful/rich-text/pull/24.patch"},"body":"## This PR:\r\n\r\n- **Adds a `rich-text-plain-text-renderer` benchmark.** I originally added this thinking preferring `const of` over `[].prototype.reduce` (plus some minor tweaks) would yield perf improvements. I was wrong, but let's keep the benchmark for now, since this is a crucial function that gets called in quite a few places.\r\n- **switches from `Array.from` to array destructuring in `rich-text-links`.** I know I said the other way around was faster in the [last PR](21) but that was wrong, destructuring is slightly faster here. (too bad, since `Array.from` seems more \"correct\", but really the compiler should be optimizing for either in essentially the same way so...)\r\n  - Also adds `downlevelIteration` to our root `tsconfig` since this is apparently necessary to support such an idiom without the compiler complaining. I don't know why.\r\n- **Makes benchmarks root-level and more CI-friendly.** See below...\r\n\r\n### New benchmark flow\r\n\r\nNow you can run\r\n```sh\r\nnpm run benchmark rich-text-plain-text-renderer\r\n```\r\nor\r\n```sh\r\nnpm run benchmark @contentful/rich-text-plain-text-renderer\r\n```\r\nfrom a root level to specify a package.\r\n\r\nThis refactor includes process exit codes for extra robustness. The idea here is that we can very easily add additional benchmarks and, in the future, perhaps even wire this up to CI / semver. Hence packages below a certain benchmark floor would produce failing builds.\r\n\r\nAlso changes the module export style for both packages for maximal compatibility with lint, test and benchmark commands (which each have their compiler idiosyncrasies). **NB:** this should not change the way these files are imported in `rollup`-ed ES5-land.\r\n\r\nThis also means we can move benchmark-related dependencies out of `rich-text-links` and into the repository root (since those aren't really relevant unless you're developing the package as a whole)."},"comment":{"url":"https://api.github.com/repos/contentful/rich-text/issues/comments/443741706","html_url":"https://github.com/contentful/rich-text/pull/24#issuecomment-443741706","issue_url":"https://api.github.com/repos/contentful/rich-text/issues/24","id":443741706,"node_id":"MDEyOklzc3VlQ29tbWVudDQ0Mzc0MTcwNg==","user":{"login":"cribbles","id":10690704,"node_id":"MDQ6VXNlcjEwNjkwNzA0","avatar_url":"https://avatars1.githubusercontent.com/u/10690704?v=4","gravatar_id":"","url":"https://api.github.com/users/cribbles","html_url":"https://github.com/cribbles","followers_url":"https://api.github.com/users/cribbles/followers","following_url":"https://api.github.com/users/cribbles/following{/other_user}","gists_url":"https://api.github.com/users/cribbles/gists{/gist_id}","starred_url":"https://api.github.com/users/cribbles/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cribbles/subscriptions","organizations_url":"https://api.github.com/users/cribbles/orgs","repos_url":"https://api.github.com/users/cribbles/repos","events_url":"https://api.github.com/users/cribbles/events{/privacy}","received_events_url":"https://api.github.com/users/cribbles/received_events","type":"User","site_admin":false},"created_at":"2018-12-03T15:05:48Z","updated_at":"2018-12-03T15:05:48Z","author_association":"COLLABORATOR","body":"To be clear, `values()` in the above code sample is being called upon an es6 `Map` object"}}
{"actor":{"display_login":"cribbles"}}