{"action":"closed","number":29,"pull_request":{"url":"https://api.github.com/repos/economist-components/component-list/pulls/29","id":66040703,"html_url":"https://github.com/economist-components/component-list/pull/29","diff_url":"https://github.com/economist-components/component-list/pull/29.diff","patch_url":"https://github.com/economist-components/component-list/pull/29.patch","issue_url":"https://api.github.com/repos/economist-components/component-list/issues/29","number":29,"state":"closed","locked":false,"title":"browser-sync@2.12.1 untested ⚠️","user":{"login":"greenkeeperio-bot","id":14790466,"avatar_url":"https://avatars.githubusercontent.com/u/14790466?v=3","gravatar_id":"","url":"https://api.github.com/users/greenkeeperio-bot","html_url":"https://github.com/greenkeeperio-bot","followers_url":"https://api.github.com/users/greenkeeperio-bot/followers","following_url":"https://api.github.com/users/greenkeeperio-bot/following{/other_user}","gists_url":"https://api.github.com/users/greenkeeperio-bot/gists{/gist_id}","starred_url":"https://api.github.com/users/greenkeeperio-bot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/greenkeeperio-bot/subscriptions","organizations_url":"https://api.github.com/users/greenkeeperio-bot/orgs","repos_url":"https://api.github.com/users/greenkeeperio-bot/repos","events_url":"https://api.github.com/users/greenkeeperio-bot/events{/privacy}","received_events_url":"https://api.github.com/users/greenkeeperio-bot/received_events","type":"User","site_admin":false},"body":"Hello :wave:\n\n:warning::warning::warning:\n\n[browser-sync](https://www.npmjs.com/package/browser-sync) just published its new version 2.12.1, which **is covered by your current version range**. **No automated tests** are configured for this project.\n\nThis means it’s now **unclear whether your software still works**. Manually check if that’s still the case\nand close this pull request – if it broke, use this branch to work on adaptions and fixes.\n\n<sub>\nDo you think getting a pull request for every single new version of your dependencies is too noisy?\nConfigure continuous integration and you will only receive them when tests fail. \n</sub>\n\n\nHappy fixing and merging :palm_tree:\n\n---\n[GitHub Release](https://github.com/BrowserSync/browser-sync/releases/tag/v2.12.1)\n\n<p>As work continues on Browsersync V3, I've decided to take some time to back-port some improvements that have been discovered during the re-write. Many new features are not compatible with the architecture of this 2.x master branch, but those that are have made it into this <code>2.12</code> release. </p>\n\n<h2>Proxy</h2>\n\n<ul>\n<li>\n<strong>Add <code>proxyReq</code> &amp; <code>proxyRes</code> to better align with <a href=\"http://urls.greenkeeper.io/nodejitsu/node-http-proxy\">http-proxy API</a></strong> - this allows you to modify the request before and after it hits the target.</li>\n<li>\n<strong>Remove foxy module, bring proxy code into core</strong>. There was too much duplication &amp; glue-code caused by having the proxy module separate and given they are intrinsically linked, it made sense to keep all of the logic together.</li>\n</ul>\n\n<h2>Middleware</h2>\n\n<ul>\n<li>\n<strong>Allow middleware to be registered per-route</strong>. Previously, if you wanted to only apply a middleware based on a route, you had to check the url manually, now you can mix &amp; match 'global' middleware that affect every request with more targeted ones that only act when a particular \nroute is hit. (see below for examples)</li>\n</ul>\n\n<h2>CLI</h2>\n\n<ul>\n<li>\n<strong>Switch from <code>meow</code> to <code>yargs</code></strong> - for more features re: processing CLI input</li>\n<li>\n<strong>Allow dot notation</strong> - to enable nested properties (eg: <code>--proxy.ws</code>)</li>\n<li>\n<strong>Allow multiple items per option</strong> (eg: <code>--files \"*.html\" \"*.css\"</code>)</li>\n<li>\n<strong>Allow per-command help</strong> (eg: <code>browser-sync start --help</code>, <code>browser-sync recipe --help</code> etc)</li>\n<li>\n<strong>Add short-hand alias for common options</strong> (eg: <code>-s</code> for server, <code>-p</code> for proxy etc)</li>\n<li>\n<strong>Accept config from <code>browser-sync</code> key in package.json</strong> <a href=\"http://urls.greenkeeper.io/BrowserSync/browser-sync/issues/1040\" class=\"issue-link js-issue-link\" data-url=\"https://github.com/BrowserSync/browser-sync/issues/1040\" data-id=\"142929802\" data-error-text=\"Failed to load issue title\" data-permission-text=\"Issue title is private\">#1040</a>\n</li>\n<li>\n<strong>Allow flags to override all other forms of config</strong> </li>\n</ul>\n\n<h2>Plugins</h2>\n\n<ul>\n<li>\n<strong>Allow options in query strings</strong> - a big help when using the cli + plugins \n\n<ul>\n<li>(eg: <code>browser-sync start -s --plugins bs-html-injector?files[]=*.html</code>)</li>\n</ul>\n</li>\n</ul>\n\n<h2>Snippet</h2>\n\n<ul>\n<li>\n<strong>Append snippet to end of document</strong> - by far the most commonly reported bug is a result of the deliberately simple regex used to insert the script tag directly after the first <code>&lt;body&gt;</code> tag. During testing for V3 I discovered that every single browser that we support is more than happy to accept a JS file that is loaded as the final thing on the page (even after the body/html tags) - this discovery alone should solve the countless hours that have been consumed reporting &amp; replying to issues related to this.</li>\n</ul>\n\n<h2>Bug fixes</h2>\n\n<ul>\n<li>\n<strong>Always show 'codeSync' option - in sync-option in UI</strong> - <a href=\"http://urls.greenkeeper.io/BrowserSync/browser-sync/issues/931\" class=\"issue-link js-issue-link\" data-url=\"https://github.com/BrowserSync/browser-sync/issues/931\" data-id=\"122414829\" data-error-text=\"Failed to load issue title\" data-permission-text=\"Issue title is private\">#931</a> <a href=\"http://urls.greenkeeper.io/BrowserSync/browser-sync/issues/802\" class=\"issue-link js-issue-link\" data-url=\"https://github.com/BrowserSync/browser-sync/issues/802\" data-id=\"104645089\" data-error-text=\"Failed to load issue title\" data-permission-text=\"Issue title is private\">#802</a> </li>\n<li>\n<strong>Don't clobber existing url params on injected files</strong> - part of <a href=\"http://urls.greenkeeper.io/BrowserSync/browser-sync/issues/687\" class=\"issue-link js-issue-link\" data-url=\"https://github.com/BrowserSync/browser-sync/issues/687\" data-id=\"90375239\" data-error-text=\"Failed to load issue title\" data-permission-text=\"Issue title is private\">#687</a>\n</li>\n</ul>\n\n<h1>Examples</h1>\n\n<p>Below are a few examples showing what is now possible in 2.12.0</p>\n\n<h2>Proxy - <code>proxyReq</code> &amp; <code>proxyRes</code>\n</h2>\n\n<div class=\"highlight highlight-source-js\"><pre>proxy<span class=\"pl-k\">:</span> {\n    target<span class=\"pl-k\">:</span> <span class=\"pl-s\"><span class=\"pl-pds\">\"</span>http://www.bbc.co.uk<span class=\"pl-pds\">\"</span></span>,\n    <span class=\"pl-c\">/**</span>\n<span class=\"pl-c\">     * Functions given here will be called with the proxy </span>\n<span class=\"pl-c\">     * request object *before* it hits your application</span>\n<span class=\"pl-c\">     */</span>\n    proxyReq<span class=\"pl-k\">:</span> [\n        <span class=\"pl-k\">function</span> (<span class=\"pl-smi\">proxyReq</span>) {\n            <span class=\"pl-smi\">proxyReq</span>.<span class=\"pl-en\">setHeader</span>(<span class=\"pl-s\"><span class=\"pl-pds\">'</span>X-Special-Proxy-Header<span class=\"pl-pds\">'</span></span>, <span class=\"pl-s\"><span class=\"pl-pds\">'</span>foobar<span class=\"pl-pds\">'</span></span>);\n        }\n    ],\n    <span class=\"pl-c\">/**</span>\n<span class=\"pl-c\">     * Functions given here will be called with the response </span>\n<span class=\"pl-c\">     * object *before* it hits the browser</span>\n<span class=\"pl-c\">     */</span>\n    proxyRes<span class=\"pl-k\">:</span> [\n        <span class=\"pl-c\">/**</span>\n<span class=\"pl-c\">         * Here you have access to the raw response from your</span>\n<span class=\"pl-c\">         * application *before* it hits the browser</span>\n<span class=\"pl-c\">         */</span>\n        <span class=\"pl-k\">function</span> (<span class=\"pl-smi\">res</span>) {\n            <span class=\"pl-smi\">res</span>.<span class=\"pl-c1\">headers</span>[<span class=\"pl-s\"><span class=\"pl-pds\">'</span>some-other-header<span class=\"pl-pds\">'</span></span>] <span class=\"pl-k\">=</span> <span class=\"pl-s\"><span class=\"pl-pds\">'</span>value<span class=\"pl-pds\">'</span></span>;\n        }\n    ]\n}</pre></div>\n\n<h3>Middleware - applied on a per-route basis</h3>\n\n<p><strong>Before</strong> - you needed to check the url manually</p>\n\n<div class=\"highlight highlight-source-js\"><pre>middleware<span class=\"pl-k\">:</span> [<span class=\"pl-k\">function</span> (<span class=\"pl-smi\">req</span>, <span class=\"pl-smi\">res</span>, <span class=\"pl-smi\">next</span>) {\n    <span class=\"pl-k\">if</span> (<span class=\"pl-smi\">req</span>.<span class=\"pl-smi\">url</span>.<span class=\"pl-c1\">match</span>(<span class=\"pl-sr\"><span class=\"pl-pds\">/</span><span class=\"pl-k\">^</span><span class=\"pl-cce\">\\/</span>api<span class=\"pl-pds\">/</span></span>)) {\n        <span class=\"pl-c\">// some middleware logic</span>\n    } <span class=\"pl-k\">else</span> {\n        <span class=\"pl-en\">next</span>();\n    }\n}]</pre></div>\n\n<p><strong>After</strong> - define the route up front</p>\n\n<div class=\"highlight highlight-source-js\"><pre>middleware<span class=\"pl-k\">:</span> [\n    {\n        route<span class=\"pl-k\">:</span> <span class=\"pl-s\"><span class=\"pl-pds\">\"</span>/api<span class=\"pl-pds\">\"</span></span>,\n        <span class=\"pl-en\">handle</span><span class=\"pl-k\">:</span> <span class=\"pl-k\">function</span> (<span class=\"pl-smi\">req</span>, <span class=\"pl-smi\">res</span>, <span class=\"pl-smi\">next</span>) {\n            <span class=\"pl-c\">// some middleware logic</span>\n        }\n    }\n]</pre></div>\n\n<p><strong>Mix and match</strong> - some middleware are global, some per-route. No problem. Here's an example where 2 global middleware apply to every route, and one applies to <code>/api</code> only</p>\n\n<div class=\"highlight highlight-source-js\"><pre>middleware<span class=\"pl-k\">:</span> [\n    <span class=\"pl-c1\">require</span>(<span class=\"pl-s\"><span class=\"pl-pds\">\"</span>compression<span class=\"pl-pds\">\"</span></span>)(), <span class=\"pl-c\">// global gzip middleware</span>\n    <span class=\"pl-k\">function</span> (<span class=\"pl-smi\">req</span>, <span class=\"pl-smi\">res</span>, <span class=\"pl-smi\">next</span>) {\n       <span class=\"pl-c\">// some other generic middleware</span>\n       <span class=\"pl-en\">next</span>();\n    },\n    {\n        route<span class=\"pl-k\">:</span> <span class=\"pl-s\"><span class=\"pl-pds\">\"</span>/api<span class=\"pl-pds\">\"</span></span>, <span class=\"pl-c\">// per-route</span>\n        <span class=\"pl-en\">handle</span><span class=\"pl-k\">:</span> <span class=\"pl-k\">function</span> (<span class=\"pl-smi\">req</span>, <span class=\"pl-smi\">res</span>, <span class=\"pl-smi\">next</span>) {\n            <span class=\"pl-c\">// some middleware logic</span>\n            <span class=\"pl-c\">// like handing the request off to a proxy etc</span>\n        }\n    }\n]</pre></div>\n\n<h3>CLI improvements</h3>\n\n<p><strong>new short hand examples</strong></p>\n\n<ul>\n<li>\n<code>-p</code> = <code>--proxy</code>\n</li>\n<li>\n<code>-s</code> = <code>--server</code>\n</li>\n<li>\n<code>-f</code> = <code>--files</code>\n</li>\n<li>\n<code>-b</code> = <code>--browser</code>\n</li>\n<li>\n<code>-c</code> = <code>--config</code>\n</li>\n<li>\n<code>--ss</code> = <code>--serveStatic</code>\n</li>\n</ul>\n\n<div class=\"highlight highlight-source-shell\"><pre><span class=\"pl-c\"># Start a server from the `app` directory, watching all files</span>\n$ browser-sync start -s <span class=\"pl-s\"><span class=\"pl-pds\">'</span>app<span class=\"pl-pds\">'</span></span> -f <span class=\"pl-s\"><span class=\"pl-pds\">'</span>app<span class=\"pl-pds\">'</span></span>\n\n<span class=\"pl-c\"># Proxy a PHP app + serve static files &amp; watch them</span>\n$ browser-sync start -p <span class=\"pl-s\"><span class=\"pl-pds\">'</span>mylocal.dev<span class=\"pl-pds\">'</span></span> --ss <span class=\"pl-s\"><span class=\"pl-pds\">'</span>public<span class=\"pl-pds\">'</span></span> -f <span class=\"pl-s\"><span class=\"pl-pds\">'</span>public<span class=\"pl-pds\">'</span></span>\n\n<span class=\"pl-c\"># Start Browsersync from a config file</span>\n$ browser-sync start -c conf/browser-sync.js\n\n<span class=\"pl-c\"># Start Browsersync from a config file with overriding flags</span>\n$ browser-sync start -c conf/browser-sync.js --port 4000</pre></div>\n\n<p><strong>inline plugin options</strong></p>\n\n<div class=\"highlight highlight-source-shell\"><pre><span class=\"pl-c\"># 1. Start a server from the `app` directory</span>\n<span class=\"pl-c\"># 2. Register the bs-html-injector plugin with files: ['*.html'] option</span>\nbrowser-sync start -s <span class=\"pl-s\"><span class=\"pl-pds\">'</span>app<span class=\"pl-pds\">'</span></span> --plugins bs-html-injector<span class=\"pl-k\">?</span>files[]=<span class=\"pl-k\">*</span>.html </pre></div>\n\n<h1>Have fun!</h1>\n\n<p>This is meant to be a non-breaking-change release, so please inform me if you encounter any issues. :) </p>\n\n---\nThe new version differs by 130 commits .\n\n- [`24206ca`](https://github.com/BrowserSync/browser-sync/commit/24206caa0fa4957af7031d8de4a1435098aa3beb) `2.12.1`\n- [`5f9423c`](https://github.com/BrowserSync/browser-sync/commit/5f9423c71b8a56557002b523f0e04bc8d4c5fca8) `fix(cli): add shebang`\n- [`e1babca`](https://github.com/BrowserSync/browser-sync/commit/e1babca881e982e7383ef406f292164ae80f2c35) `2.12.0`\n- [`10c7720`](https://github.com/BrowserSync/browser-sync/commit/10c7720509e4315ad48a5e3fc02945b763b95495) `deps: bump lodash, yargs, micromatch, chokidar`\n- [`308b76c`](https://github.com/BrowserSync/browser-sync/commit/308b76cb8bd78cd2a1db9483bdb481fa0dbd87af) `bump brower-sync-ui to inherit fixes for #802 #931`\n- [`6c95765`](https://github.com/BrowserSync/browser-sync/commit/6c957657ae37544ff1d5c54f77349f9b6b2e2aba) `tests: plugins: add tests for incorrectly configured plugins`\n- [`8113649`](https://github.com/BrowserSync/browser-sync/commit/81136497e42b83ed99b977c2f9dee0ae1a23519d) `[wip] - adding support for plugin errors`\n- [`f0ac65f`](https://github.com/BrowserSync/browser-sync/commit/f0ac65f7078babfd4b333293df984b3c89bc7d28) `fix(proxy): fail when second port scanner (when proxy.ws=true) throws`\n- [`c85195d`](https://github.com/BrowserSync/browser-sync/commit/c85195dea1cdbbf85a1ff699024001f97a6d7eb9) `chore: remove redundant 'bs.app' check`\n- [`decb092`](https://github.com/BrowserSync/browser-sync/commit/decb0921e16cacde962f305434d6e656d8da5101) `tests: ensure second call to getPorts (when proxy.ws=true) can handle an error correctly`\n- [`7a1e42e`](https://github.com/BrowserSync/browser-sync/commit/7a1e42e99c760176e8ad9bdd7b4d31305a1af9d8) `tests: add initial rewriteRule to ensure the filtering works as expected`\n- [`7acc3fa`](https://github.com/BrowserSync/browser-sync/commit/7acc3fad5bcf872211a6a76b012ecfc74809d9d8) `cleanup: remove redundant isArray check from each series`\n- [`f09a3ed`](https://github.com/BrowserSync/browser-sync/commit/f09a3edde84b0a14a182c24112d210c0ee6a7352) `tests: add tests for init with null/undefined`\n- [`94d4414`](https://github.com/BrowserSync/browser-sync/commit/94d44146e178cfe69f590f8c5a415928321df480) `test(plugins): Add test for plugins that cannot be located`\n- [`ce6a293`](https://github.com/BrowserSync/browser-sync/commit/ce6a2939fefd2b0d03c17507c7255df657ae2700) `logger: remove unused methods`\n\n\nThere are 130 commits in total. See the [full diff](https://github.com/BrowserSync/browser-sync/compare/d3b4601ff2b02fcff42396deceada43351d713d9...24206caa0fa4957af7031d8de4a1435098aa3beb).\n\n---\nThis pull request was created by [greenkeeper.io](http://greenkeeper.io/).\nIt keeps your software, up to date, all the time.\n\n<sub>\nTired of seeing this sponsor message? Upgrade to the supporter plan!\nYou'll also get your pull requests faster :zap:\n</sub>","created_at":"2016-04-11T18:35:32Z","updated_at":"2016-04-26T16:01:32Z","closed_at":"2016-04-26T16:01:32Z","merged_at":null,"merge_commit_sha":"f80fb4f76177a1f3a8388fdae9efb3bdddf9875c","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/economist-components/component-list/pulls/29/commits","review_comments_url":"https://api.github.com/repos/economist-components/component-list/pulls/29/comments","review_comment_url":"https://api.github.com/repos/economist-components/component-list/pulls/comments{/number}","comments_url":"https://api.github.com/repos/economist-components/component-list/issues/29/comments","statuses_url":"https://api.github.com/repos/economist-components/component-list/statuses/45c6587e2c05b76a20ea110bff9a03d5b4a74268","head":{"label":"economist-components:greenkeeper-browser-sync-2.12.1","ref":"greenkeeper-browser-sync-2.12.1","sha":"45c6587e2c05b76a20ea110bff9a03d5b4a74268","user":{"login":"economist-components","id":14197671,"avatar_url":"https://avatars.githubusercontent.com/u/14197671?v=3","gravatar_id":"","url":"https://api.github.com/users/economist-components","html_url":"https://github.com/economist-components","followers_url":"https://api.github.com/users/economist-components/followers","following_url":"https://api.github.com/users/economist-components/following{/other_user}","gists_url":"https://api.github.com/users/economist-components/gists{/gist_id}","starred_url":"https://api.github.com/users/economist-components/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/economist-components/subscriptions","organizations_url":"https://api.github.com/users/economist-components/orgs","repos_url":"https://api.github.com/users/economist-components/repos","events_url":"https://api.github.com/users/economist-components/events{/privacy}","received_events_url":"https://api.github.com/users/economist-components/received_events","type":"Organization","site_admin":false},"repo":{"id":42183752,"name":"component-list","full_name":"economist-components/component-list","owner":{"login":"economist-components","id":14197671,"avatar_url":"https://avatars.githubusercontent.com/u/14197671?v=3","gravatar_id":"","url":"https://api.github.com/users/economist-components","html_url":"https://github.com/economist-components","followers_url":"https://api.github.com/users/economist-components/followers","following_url":"https://api.github.com/users/economist-components/following{/other_user}","gists_url":"https://api.github.com/users/economist-components/gists{/gist_id}","starred_url":"https://api.github.com/users/economist-components/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/economist-components/subscriptions","organizations_url":"https://api.github.com/users/economist-components/orgs","repos_url":"https://api.github.com/users/economist-components/repos","events_url":"https://api.github.com/users/economist-components/events{/privacy}","received_events_url":"https://api.github.com/users/economist-components/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/economist-components/component-list","description":"","fork":false,"url":"https://api.github.com/repos/economist-components/component-list","forks_url":"https://api.github.com/repos/economist-components/component-list/forks","keys_url":"https://api.github.com/repos/economist-components/component-list/keys{/key_id}","collaborators_url":"https://api.github.com/repos/economist-components/component-list/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/economist-components/component-list/teams","hooks_url":"https://api.github.com/repos/economist-components/component-list/hooks","issue_events_url":"https://api.github.com/repos/economist-components/component-list/issues/events{/number}","events_url":"https://api.github.com/repos/economist-components/component-list/events","assignees_url":"https://api.github.com/repos/economist-components/component-list/assignees{/user}","branches_url":"https://api.github.com/repos/economist-components/component-list/branches{/branch}","tags_url":"https://api.github.com/repos/economist-components/component-list/tags","blobs_url":"https://api.github.com/repos/economist-components/component-list/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/economist-components/component-list/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/economist-components/component-list/git/refs{/sha}","trees_url":"https://api.github.com/repos/economist-components/component-list/git/trees{/sha}","statuses_url":"https://api.github.com/repos/economist-components/component-list/statuses/{sha}","languages_url":"https://api.github.com/repos/economist-components/component-list/languages","stargazers_url":"https://api.github.com/repos/economist-components/component-list/stargazers","contributors_url":"https://api.github.com/repos/economist-components/component-list/contributors","subscribers_url":"https://api.github.com/repos/economist-components/component-list/subscribers","subscription_url":"https://api.github.com/repos/economist-components/component-list/subscription","commits_url":"https://api.github.com/repos/economist-components/component-list/commits{/sha}","git_commits_url":"https://api.github.com/repos/economist-components/component-list/git/commits{/sha}","comments_url":"https://api.github.com/repos/economist-components/component-list/comments{/number}","issue_comment_url":"https://api.github.com/repos/economist-components/component-list/issues/comments{/number}","contents_url":"https://api.github.com/repos/economist-components/component-list/contents/{+path}","compare_url":"https://api.github.com/repos/economist-components/component-list/compare/{base}...{head}","merges_url":"https://api.github.com/repos/economist-components/component-list/merges","archive_url":"https://api.github.com/repos/economist-components/component-list/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/economist-components/component-list/downloads","issues_url":"https://api.github.com/repos/economist-components/component-list/issues{/number}","pulls_url":"https://api.github.com/repos/economist-components/component-list/pulls{/number}","milestones_url":"https://api.github.com/repos/economist-components/component-list/milestones{/number}","notifications_url":"https://api.github.com/repos/economist-components/component-list/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/economist-components/component-list/labels{/name}","releases_url":"https://api.github.com/repos/economist-components/component-list/releases{/id}","deployments_url":"https://api.github.com/repos/economist-components/component-list/deployments","created_at":"2015-09-09T14:31:13Z","updated_at":"2016-03-08T17:08:43Z","pushed_at":"2016-04-26T11:32:09Z","git_url":"git://github.com/economist-components/component-list.git","ssh_url":"git@github.com:economist-components/component-list.git","clone_url":"https://github.com/economist-components/component-list.git","svn_url":"https://github.com/economist-components/component-list","homepage":"","size":669,"stargazers_count":0,"watchers_count":0,"language":"JavaScript","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":true,"forks_count":4,"mirror_url":null,"open_issues_count":9,"forks":4,"open_issues":9,"watchers":0,"default_branch":"master"}},"base":{"label":"economist-components:master","ref":"master","sha":"4429ecd9daed74735678356f773ff477a290074b","user":{"login":"economist-components","id":14197671,"avatar_url":"https://avatars.githubusercontent.com/u/14197671?v=3","gravatar_id":"","url":"https://api.github.com/users/economist-components","html_url":"https://github.com/economist-components","followers_url":"https://api.github.com/users/economist-components/followers","following_url":"https://api.github.com/users/economist-components/following{/other_user}","gists_url":"https://api.github.com/users/economist-components/gists{/gist_id}","starred_url":"https://api.github.com/users/economist-components/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/economist-components/subscriptions","organizations_url":"https://api.github.com/users/economist-components/orgs","repos_url":"https://api.github.com/users/economist-components/repos","events_url":"https://api.github.com/users/economist-components/events{/privacy}","received_events_url":"https://api.github.com/users/economist-components/received_events","type":"Organization","site_admin":false},"repo":{"id":42183752,"name":"component-list","full_name":"economist-components/component-list","owner":{"login":"economist-components","id":14197671,"avatar_url":"https://avatars.githubusercontent.com/u/14197671?v=3","gravatar_id":"","url":"https://api.github.com/users/economist-components","html_url":"https://github.com/economist-components","followers_url":"https://api.github.com/users/economist-components/followers","following_url":"https://api.github.com/users/economist-components/following{/other_user}","gists_url":"https://api.github.com/users/economist-components/gists{/gist_id}","starred_url":"https://api.github.com/users/economist-components/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/economist-components/subscriptions","organizations_url":"https://api.github.com/users/economist-components/orgs","repos_url":"https://api.github.com/users/economist-components/repos","events_url":"https://api.github.com/users/economist-components/events{/privacy}","received_events_url":"https://api.github.com/users/economist-components/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/economist-components/component-list","description":"","fork":false,"url":"https://api.github.com/repos/economist-components/component-list","forks_url":"https://api.github.com/repos/economist-components/component-list/forks","keys_url":"https://api.github.com/repos/economist-components/component-list/keys{/key_id}","collaborators_url":"https://api.github.com/repos/economist-components/component-list/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/economist-components/component-list/teams","hooks_url":"https://api.github.com/repos/economist-components/component-list/hooks","issue_events_url":"https://api.github.com/repos/economist-components/component-list/issues/events{/number}","events_url":"https://api.github.com/repos/economist-components/component-list/events","assignees_url":"https://api.github.com/repos/economist-components/component-list/assignees{/user}","branches_url":"https://api.github.com/repos/economist-components/component-list/branches{/branch}","tags_url":"https://api.github.com/repos/economist-components/component-list/tags","blobs_url":"https://api.github.com/repos/economist-components/component-list/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/economist-components/component-list/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/economist-components/component-list/git/refs{/sha}","trees_url":"https://api.github.com/repos/economist-components/component-list/git/trees{/sha}","statuses_url":"https://api.github.com/repos/economist-components/component-list/statuses/{sha}","languages_url":"https://api.github.com/repos/economist-components/component-list/languages","stargazers_url":"https://api.github.com/repos/economist-components/component-list/stargazers","contributors_url":"https://api.github.com/repos/economist-components/component-list/contributors","subscribers_url":"https://api.github.com/repos/economist-components/component-list/subscribers","subscription_url":"https://api.github.com/repos/economist-components/component-list/subscription","commits_url":"https://api.github.com/repos/economist-components/component-list/commits{/sha}","git_commits_url":"https://api.github.com/repos/economist-components/component-list/git/commits{/sha}","comments_url":"https://api.github.com/repos/economist-components/component-list/comments{/number}","issue_comment_url":"https://api.github.com/repos/economist-components/component-list/issues/comments{/number}","contents_url":"https://api.github.com/repos/economist-components/component-list/contents/{+path}","compare_url":"https://api.github.com/repos/economist-components/component-list/compare/{base}...{head}","merges_url":"https://api.github.com/repos/economist-components/component-list/merges","archive_url":"https://api.github.com/repos/economist-components/component-list/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/economist-components/component-list/downloads","issues_url":"https://api.github.com/repos/economist-components/component-list/issues{/number}","pulls_url":"https://api.github.com/repos/economist-components/component-list/pulls{/number}","milestones_url":"https://api.github.com/repos/economist-components/component-list/milestones{/number}","notifications_url":"https://api.github.com/repos/economist-components/component-list/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/economist-components/component-list/labels{/name}","releases_url":"https://api.github.com/repos/economist-components/component-list/releases{/id}","deployments_url":"https://api.github.com/repos/economist-components/component-list/deployments","created_at":"2015-09-09T14:31:13Z","updated_at":"2016-03-08T17:08:43Z","pushed_at":"2016-04-26T11:32:09Z","git_url":"git://github.com/economist-components/component-list.git","ssh_url":"git@github.com:economist-components/component-list.git","clone_url":"https://github.com/economist-components/component-list.git","svn_url":"https://github.com/economist-components/component-list","homepage":"","size":669,"stargazers_count":0,"watchers_count":0,"language":"JavaScript","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":true,"forks_count":4,"mirror_url":null,"open_issues_count":9,"forks":4,"open_issues":9,"watchers":0,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/economist-components/component-list/pulls/29"},"html":{"href":"https://github.com/economist-components/component-list/pull/29"},"issue":{"href":"https://api.github.com/repos/economist-components/component-list/issues/29"},"comments":{"href":"https://api.github.com/repos/economist-components/component-list/issues/29/comments"},"review_comments":{"href":"https://api.github.com/repos/economist-components/component-list/pulls/29/comments"},"review_comment":{"href":"https://api.github.com/repos/economist-components/component-list/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/economist-components/component-list/pulls/29/commits"},"statuses":{"href":"https://api.github.com/repos/economist-components/component-list/statuses/45c6587e2c05b76a20ea110bff9a03d5b4a74268"}},"merged":false,"mergeable":true,"mergeable_state":"clean","merged_by":null,"comments":0,"review_comments":0,"commits":1,"additions":1,"deletions":1,"changed_files":1}}