{"action":"created","comment":{"url":"https://api.github.com/repos/storybooks/storybook/pulls/comments/226715537","pull_request_review_id":166611647,"id":226715537,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIyNjcxNTUzNw==","diff_hunk":"@@ -0,0 +1,83 @@\n+import semver from 'semver';\n+\n+let MiniCssExtractPlugin;\n+let normalizeCondition;\n+\n+export function isReactScriptsInstalled() {\n+  try {\n+    // eslint-disable-next-line global-require, import/no-extraneous-dependencies\n+    const reactScriptsJson = require('react-scripts/package.json');\n+    if (semver.lt(reactScriptsJson.version, '2.0.0')) return false;\n+\n+    // eslint-disable-next-line global-require, import/no-extraneous-dependencies, prefer-destructuring\n+    normalizeCondition = require('webpack/lib/RuleSet').normalizeCondition;\n+    // eslint-disable-next-line global-require, import/no-extraneous-dependencies\n+    MiniCssExtractPlugin = require('mini-css-extract-plugin');\n+    return true;\n+  } catch (e) {\n+    return false;\n+  }\n+}\n+\n+export function getStyleRules(rules) {\n+  // Extensions of style rules we're interested in\n+  const extensions = ['.css', '.scss', '.sass', '.module.css', '.module.scss', '.module.sass'];\n+\n+  return rules.reduce((styleRules, rule) => {\n+    if (rule.test && extensions.some(normalizeCondition(rule.test))) {\n+      // If the base test is for styles, return early\n+      return styleRules.concat(rule);\n+    }\n+\n+    if (!rule.test && rule.oneOf) {\n+      styleRules.push(...getStyleRules(rule.oneOf));\n+    }\n+\n+    if (!rule.test && rule.rules) {\n+      styleRules.push(...getStyleRules(rule.rules));\n+    }\n+\n+    return styleRules;\n+  }, []);\n+}\n+\n+export function applyCRAWebpackConfig(baseConfig) {\n+  // Remove style rules from baseConfig\n+  const baseRulesExcludingStyles = baseConfig.module.rules.filter(\n+    rule => !rule.test || !['.css', '.scss', '.sass'].some(normalizeCondition(rule.test))\n+  );\n+\n+  //  Load create-react-app config\n+  let craWebpackConfig;\n+  if (baseConfig.mode === 'production') {\n+    // eslint-disable-next-line global-require, import/no-extraneous-dependencies\n+    craWebpackConfig = require('react-scripts/config/webpack.config.prod');\n+  } else {\n+    // eslint-disable-next-line global-require, import/no-extraneous-dependencies\n+    craWebpackConfig = require('react-scripts/config/webpack.config.dev');\n+  }\n+\n+  //  Concat will ensure rules is an array\n+  const craStyleRules = getStyleRules([].concat(craWebpackConfig.module.rules));\n+\n+  //  Add css minification for production\n+  const plugins = [...baseConfig.plugins];\n+  if (baseConfig.mode === 'production')\n+    plugins.push(\n+      new MiniCssExtractPlugin({","path":"app/react/src/server/cra_config.js","position":67,"original_position":67,"commit_id":"2873911d03791ecff4c275d93d2cf726825d95d9","original_commit_id":"b2f9e6617cf115137f98373ed7ad0cb2e1c47022","user":{"login":"chadfawcett","id":3250463,"node_id":"MDQ6VXNlcjMyNTA0NjM=","avatar_url":"https://avatars2.githubusercontent.com/u/3250463?v=4","gravatar_id":"","url":"https://api.github.com/users/chadfawcett","html_url":"https://github.com/chadfawcett","followers_url":"https://api.github.com/users/chadfawcett/followers","following_url":"https://api.github.com/users/chadfawcett/following{/other_user}","gists_url":"https://api.github.com/users/chadfawcett/gists{/gist_id}","starred_url":"https://api.github.com/users/chadfawcett/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chadfawcett/subscriptions","organizations_url":"https://api.github.com/users/chadfawcett/orgs","repos_url":"https://api.github.com/users/chadfawcett/repos","events_url":"https://api.github.com/users/chadfawcett/events{/privacy}","received_events_url":"https://api.github.com/users/chadfawcett/received_events","type":"User","site_admin":false},"body":"Nope! I just thought minification would be good for production.\r\n\r\nAlso, if we don't want to include this plugin, then we have to filter out the related rule from all of the style rules. Adding the plugin was less work than removing it.\r\nhttps://github.com/facebook/create-react-app/blob/master/packages/react-scripts/config/webpack.config.prod.js#L65-L71","created_at":"2018-10-19T16:58:26Z","updated_at":"2018-10-19T16:58:27Z","html_url":"https://github.com/storybooks/storybook/pull/4405#discussion_r226715537","pull_request_url":"https://api.github.com/repos/storybooks/storybook/pulls/4405","author_association":"CONTRIBUTOR","_links":{"self":{"href":"https://api.github.com/repos/storybooks/storybook/pulls/comments/226715537"},"html":{"href":"https://github.com/storybooks/storybook/pull/4405#discussion_r226715537"},"pull_request":{"href":"https://api.github.com/repos/storybooks/storybook/pulls/4405"}},"in_reply_to_id":226621598},"pull_request":{"url":"https://api.github.com/repos/storybooks/storybook/pulls/4405","id":222627426,"node_id":"MDExOlB1bGxSZXF1ZXN0MjIyNjI3NDI2","html_url":"https://github.com/storybooks/storybook/pull/4405","diff_url":"https://github.com/storybooks/storybook/pull/4405.diff","patch_url":"https://github.com/storybooks/storybook/pull/4405.patch","issue_url":"https://api.github.com/repos/storybooks/storybook/issues/4405","number":4405,"state":"open","locked":false,"title":"Support css-modules","user":{"login":"chadfawcett","id":3250463,"node_id":"MDQ6VXNlcjMyNTA0NjM=","avatar_url":"https://avatars2.githubusercontent.com/u/3250463?v=4","gravatar_id":"","url":"https://api.github.com/users/chadfawcett","html_url":"https://github.com/chadfawcett","followers_url":"https://api.github.com/users/chadfawcett/followers","following_url":"https://api.github.com/users/chadfawcett/following{/other_user}","gists_url":"https://api.github.com/users/chadfawcett/gists{/gist_id}","starred_url":"https://api.github.com/users/chadfawcett/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chadfawcett/subscriptions","organizations_url":"https://api.github.com/users/chadfawcett/orgs","repos_url":"https://api.github.com/users/chadfawcett/repos","events_url":"https://api.github.com/users/chadfawcett/events{/privacy}","received_events_url":"https://api.github.com/users/chadfawcett/received_events","type":"User","site_admin":false},"body":"Issue: Resolve #4306\r\n\r\n## What I did\r\n\r\nCreated a react webpack preset that pulls style rules from `create-react-app`'s congis.\r\n* Support for css modules (`*.module.css`)\r\n* Support for sass (`scss` and `sass`)\r\n* Support for sass modules (`*.module.scss` and `*.module.sass`)\r\n\r\n~> The default Webpack config of Storybook is balanced for a medium-size project (specially created with Create React App) or a library.~\r\n\r\n~I know @ndelangen mentioned that this statement is a little outdated, but I feel this change should be okay as it shouldn't cause any harm adding css modules as is.~\r\n\r\n~@igor-dv I chose to propose the simpler option first, as `presets` aren't well defined yet, and I saw @ndelangen was working on separating the manager and preview webpack processes. Either of these may result in a better implementation of the CRA webpack config in the future.~\r\n\r\n~I can work on implementing the `presets` approach if this method is not sufficient. What are your thoughts?~\r\n\r\n## How to test\r\n\r\nYou can update `examples/cra-kitchen-sink` to the following in order to test (example code taken from initial reporting issue):\r\n\r\n```css\r\n//  App.module.css (New file)\r\n.text {\r\n  color: red;\r\n  font-size: 2rem;\r\n}\r\n```\r\n\r\n```js\r\n//  App.js (Existing file)\r\n...\r\nimport styles from './App.module.css'\r\n\r\nconst App = () => (\r\n  ...\r\n    <h2 className={styles.text}>Welcome to React</h2>\r\n  ...\r\n)\r\n```\r\n\r\nThen run `yarn storybook` from the `examples/cra-kitchen-sink` repo and the \"Welcome to React\" will be red.\r\n\r\n<img width=\"450\" alt=\"screen shot 2018-10-12 at 9 31 25 pm\" src=\"https://user-images.githubusercontent.com/3250463/46901383-839f2b00-ce67-11e8-8ae4-4a30a7ffdd6b.png\">\r\n\r\n_Does this need a new example in the kitchen sink apps?_\r\nMaybe? I can add something similar to the code above if we want it committed into the repo.","created_at":"2018-10-13T04:41:29Z","updated_at":"2018-10-19T16:58:27Z","closed_at":null,"merged_at":null,"merge_commit_sha":"569779f08218948db12e3036eef704d0eb85e6a9","assignee":{"login":"chadfawcett","id":3250463,"node_id":"MDQ6VXNlcjMyNTA0NjM=","avatar_url":"https://avatars2.githubusercontent.com/u/3250463?v=4","gravatar_id":"","url":"https://api.github.com/users/chadfawcett","html_url":"https://github.com/chadfawcett","followers_url":"https://api.github.com/users/chadfawcett/followers","following_url":"https://api.github.com/users/chadfawcett/following{/other_user}","gists_url":"https://api.github.com/users/chadfawcett/gists{/gist_id}","starred_url":"https://api.github.com/users/chadfawcett/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chadfawcett/subscriptions","organizations_url":"https://api.github.com/users/chadfawcett/orgs","repos_url":"https://api.github.com/users/chadfawcett/repos","events_url":"https://api.github.com/users/chadfawcett/events{/privacy}","received_events_url":"https://api.github.com/users/chadfawcett/received_events","type":"User","site_admin":false},"assignees":[{"login":"chadfawcett","id":3250463,"node_id":"MDQ6VXNlcjMyNTA0NjM=","avatar_url":"https://avatars2.githubusercontent.com/u/3250463?v=4","gravatar_id":"","url":"https://api.github.com/users/chadfawcett","html_url":"https://github.com/chadfawcett","followers_url":"https://api.github.com/users/chadfawcett/followers","following_url":"https://api.github.com/users/chadfawcett/following{/other_user}","gists_url":"https://api.github.com/users/chadfawcett/gists{/gist_id}","starred_url":"https://api.github.com/users/chadfawcett/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chadfawcett/subscriptions","organizations_url":"https://api.github.com/users/chadfawcett/orgs","repos_url":"https://api.github.com/users/chadfawcett/repos","events_url":"https://api.github.com/users/chadfawcett/events{/privacy}","received_events_url":"https://api.github.com/users/chadfawcett/received_events","type":"User","site_admin":false}],"requested_reviewers":[{"login":"tmeasday","id":132554,"node_id":"MDQ6VXNlcjEzMjU1NA==","avatar_url":"https://avatars1.githubusercontent.com/u/132554?v=4","gravatar_id":"","url":"https://api.github.com/users/tmeasday","html_url":"https://github.com/tmeasday","followers_url":"https://api.github.com/users/tmeasday/followers","following_url":"https://api.github.com/users/tmeasday/following{/other_user}","gists_url":"https://api.github.com/users/tmeasday/gists{/gist_id}","starred_url":"https://api.github.com/users/tmeasday/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tmeasday/subscriptions","organizations_url":"https://api.github.com/users/tmeasday/orgs","repos_url":"https://api.github.com/users/tmeasday/repos","events_url":"https://api.github.com/users/tmeasday/events{/privacy}","received_events_url":"https://api.github.com/users/tmeasday/received_events","type":"User","site_admin":false},{"login":"shilman","id":488689,"node_id":"MDQ6VXNlcjQ4ODY4OQ==","avatar_url":"https://avatars2.githubusercontent.com/u/488689?v=4","gravatar_id":"","url":"https://api.github.com/users/shilman","html_url":"https://github.com/shilman","followers_url":"https://api.github.com/users/shilman/followers","following_url":"https://api.github.com/users/shilman/following{/other_user}","gists_url":"https://api.github.com/users/shilman/gists{/gist_id}","starred_url":"https://api.github.com/users/shilman/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/shilman/subscriptions","organizations_url":"https://api.github.com/users/shilman/orgs","repos_url":"https://api.github.com/users/shilman/repos","events_url":"https://api.github.com/users/shilman/events{/privacy}","received_events_url":"https://api.github.com/users/shilman/received_events","type":"User","site_admin":false},{"login":"alterx","id":1593752,"node_id":"MDQ6VXNlcjE1OTM3NTI=","avatar_url":"https://avatars2.githubusercontent.com/u/1593752?v=4","gravatar_id":"","url":"https://api.github.com/users/alterx","html_url":"https://github.com/alterx","followers_url":"https://api.github.com/users/alterx/followers","following_url":"https://api.github.com/users/alterx/following{/other_user}","gists_url":"https://api.github.com/users/alterx/gists{/gist_id}","starred_url":"https://api.github.com/users/alterx/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/alterx/subscriptions","organizations_url":"https://api.github.com/users/alterx/orgs","repos_url":"https://api.github.com/users/alterx/repos","events_url":"https://api.github.com/users/alterx/events{/privacy}","received_events_url":"https://api.github.com/users/alterx/received_events","type":"User","site_admin":false},{"login":"thomasbertet","id":2551574,"node_id":"MDQ6VXNlcjI1NTE1NzQ=","avatar_url":"https://avatars0.githubusercontent.com/u/2551574?v=4","gravatar_id":"","url":"https://api.github.com/users/thomasbertet","html_url":"https://github.com/thomasbertet","followers_url":"https://api.github.com/users/thomasbertet/followers","following_url":"https://api.github.com/users/thomasbertet/following{/other_user}","gists_url":"https://api.github.com/users/thomasbertet/gists{/gist_id}","starred_url":"https://api.github.com/users/thomasbertet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/thomasbertet/subscriptions","organizations_url":"https://api.github.com/users/thomasbertet/orgs","repos_url":"https://api.github.com/users/thomasbertet/repos","events_url":"https://api.github.com/users/thomasbertet/events{/privacy}","received_events_url":"https://api.github.com/users/thomasbertet/received_events","type":"User","site_admin":false}],"requested_teams":[],"labels":[{"id":626669469,"node_id":"MDU6TGFiZWw2MjY2Njk0Njk=","url":"https://api.github.com/repos/storybooks/storybook/labels/app:%20react","name":"app: react","color":"f9d0c4","default":false},{"id":571245712,"node_id":"MDU6TGFiZWw1NzEyNDU3MTI=","url":"https://api.github.com/repos/storybooks/storybook/labels/compatibility%20with%20other%20tools","name":"compatibility with other tools","color":"F1951D","default":false},{"id":343576456,"node_id":"MDU6TGFiZWwzNDM1NzY0NTY=","url":"https://api.github.com/repos/storybooks/storybook/labels/feature%20request","name":"feature request","color":"9B58D8","default":false}],"milestone":{"url":"https://api.github.com/repos/storybooks/storybook/milestones/4","html_url":"https://github.com/storybooks/storybook/milestone/4","labels_url":"https://api.github.com/repos/storybooks/storybook/milestones/4/labels","id":2512250,"node_id":"MDk6TWlsZXN0b25lMjUxMjI1MA==","number":4,"title":"v4.0.0","description":"","creator":{"login":"ndelangen","id":3070389,"node_id":"MDQ6VXNlcjMwNzAzODk=","avatar_url":"https://avatars2.githubusercontent.com/u/3070389?v=4","gravatar_id":"","url":"https://api.github.com/users/ndelangen","html_url":"https://github.com/ndelangen","followers_url":"https://api.github.com/users/ndelangen/followers","following_url":"https://api.github.com/users/ndelangen/following{/other_user}","gists_url":"https://api.github.com/users/ndelangen/gists{/gist_id}","starred_url":"https://api.github.com/users/ndelangen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ndelangen/subscriptions","organizations_url":"https://api.github.com/users/ndelangen/orgs","repos_url":"https://api.github.com/users/ndelangen/repos","events_url":"https://api.github.com/users/ndelangen/events{/privacy}","received_events_url":"https://api.github.com/users/ndelangen/received_events","type":"User","site_admin":false},"open_issues":4,"closed_issues":62,"state":"open","created_at":"2017-05-10T09:50:08Z","updated_at":"2018-10-19T12:47:35Z","due_on":null,"closed_at":null},"commits_url":"https://api.github.com/repos/storybooks/storybook/pulls/4405/commits","review_comments_url":"https://api.github.com/repos/storybooks/storybook/pulls/4405/comments","review_comment_url":"https://api.github.com/repos/storybooks/storybook/pulls/comments{/number}","comments_url":"https://api.github.com/repos/storybooks/storybook/issues/4405/comments","statuses_url":"https://api.github.com/repos/storybooks/storybook/statuses/2873911d03791ecff4c275d93d2cf726825d95d9","head":{"label":"chadfawcett:css-modules","ref":"css-modules","sha":"2873911d03791ecff4c275d93d2cf726825d95d9","user":{"login":"chadfawcett","id":3250463,"node_id":"MDQ6VXNlcjMyNTA0NjM=","avatar_url":"https://avatars2.githubusercontent.com/u/3250463?v=4","gravatar_id":"","url":"https://api.github.com/users/chadfawcett","html_url":"https://github.com/chadfawcett","followers_url":"https://api.github.com/users/chadfawcett/followers","following_url":"https://api.github.com/users/chadfawcett/following{/other_user}","gists_url":"https://api.github.com/users/chadfawcett/gists{/gist_id}","starred_url":"https://api.github.com/users/chadfawcett/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chadfawcett/subscriptions","organizations_url":"https://api.github.com/users/chadfawcett/orgs","repos_url":"https://api.github.com/users/chadfawcett/repos","events_url":"https://api.github.com/users/chadfawcett/events{/privacy}","received_events_url":"https://api.github.com/users/chadfawcett/received_events","type":"User","site_admin":false},"repo":{"id":108920309,"node_id":"MDEwOlJlcG9zaXRvcnkxMDg5MjAzMDk=","name":"storybook","full_name":"chadfawcett/storybook","private":false,"owner":{"login":"chadfawcett","id":3250463,"node_id":"MDQ6VXNlcjMyNTA0NjM=","avatar_url":"https://avatars2.githubusercontent.com/u/3250463?v=4","gravatar_id":"","url":"https://api.github.com/users/chadfawcett","html_url":"https://github.com/chadfawcett","followers_url":"https://api.github.com/users/chadfawcett/followers","following_url":"https://api.github.com/users/chadfawcett/following{/other_user}","gists_url":"https://api.github.com/users/chadfawcett/gists{/gist_id}","starred_url":"https://api.github.com/users/chadfawcett/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chadfawcett/subscriptions","organizations_url":"https://api.github.com/users/chadfawcett/orgs","repos_url":"https://api.github.com/users/chadfawcett/repos","events_url":"https://api.github.com/users/chadfawcett/events{/privacy}","received_events_url":"https://api.github.com/users/chadfawcett/received_events","type":"User","site_admin":false},"html_url":"https://github.com/chadfawcett/storybook","description":"Interactive development & testing environment for React, React-Native, Vue UI components","fork":true,"url":"https://api.github.com/repos/chadfawcett/storybook","forks_url":"https://api.github.com/repos/chadfawcett/storybook/forks","keys_url":"https://api.github.com/repos/chadfawcett/storybook/keys{/key_id}","collaborators_url":"https://api.github.com/repos/chadfawcett/storybook/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/chadfawcett/storybook/teams","hooks_url":"https://api.github.com/repos/chadfawcett/storybook/hooks","issue_events_url":"https://api.github.com/repos/chadfawcett/storybook/issues/events{/number}","events_url":"https://api.github.com/repos/chadfawcett/storybook/events","assignees_url":"https://api.github.com/repos/chadfawcett/storybook/assignees{/user}","branches_url":"https://api.github.com/repos/chadfawcett/storybook/branches{/branch}","tags_url":"https://api.github.com/repos/chadfawcett/storybook/tags","blobs_url":"https://api.github.com/repos/chadfawcett/storybook/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/chadfawcett/storybook/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/chadfawcett/storybook/git/refs{/sha}","trees_url":"https://api.github.com/repos/chadfawcett/storybook/git/trees{/sha}","statuses_url":"https://api.github.com/repos/chadfawcett/storybook/statuses/{sha}","languages_url":"https://api.github.com/repos/chadfawcett/storybook/languages","stargazers_url":"https://api.github.com/repos/chadfawcett/storybook/stargazers","contributors_url":"https://api.github.com/repos/chadfawcett/storybook/contributors","subscribers_url":"https://api.github.com/repos/chadfawcett/storybook/subscribers","subscription_url":"https://api.github.com/repos/chadfawcett/storybook/subscription","commits_url":"https://api.github.com/repos/chadfawcett/storybook/commits{/sha}","git_commits_url":"https://api.github.com/repos/chadfawcett/storybook/git/commits{/sha}","comments_url":"https://api.github.com/repos/chadfawcett/storybook/comments{/number}","issue_comment_url":"https://api.github.com/repos/chadfawcett/storybook/issues/comments{/number}","contents_url":"https://api.github.com/repos/chadfawcett/storybook/contents/{+path}","compare_url":"https://api.github.com/repos/chadfawcett/storybook/compare/{base}...{head}","merges_url":"https://api.github.com/repos/chadfawcett/storybook/merges","archive_url":"https://api.github.com/repos/chadfawcett/storybook/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/chadfawcett/storybook/downloads","issues_url":"https://api.github.com/repos/chadfawcett/storybook/issues{/number}","pulls_url":"https://api.github.com/repos/chadfawcett/storybook/pulls{/number}","milestones_url":"https://api.github.com/repos/chadfawcett/storybook/milestones{/number}","notifications_url":"https://api.github.com/repos/chadfawcett/storybook/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/chadfawcett/storybook/labels{/name}","releases_url":"https://api.github.com/repos/chadfawcett/storybook/releases{/id}","deployments_url":"https://api.github.com/repos/chadfawcett/storybook/deployments","created_at":"2017-10-30T23:36:00Z","updated_at":"2018-10-17T02:15:03Z","pushed_at":"2018-10-19T12:40:14Z","git_url":"git://github.com/chadfawcett/storybook.git","ssh_url":"git@github.com:chadfawcett/storybook.git","clone_url":"https://github.com/chadfawcett/storybook.git","svn_url":"https://github.com/chadfawcett/storybook","homepage":"https://storybook.js.org","size":97032,"stargazers_count":0,"watchers_count":0,"language":"JavaScript","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"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":"storybooks:master","ref":"master","sha":"db8be4b156bf5000c6b92161b263ab89acd995b4","user":{"login":"storybooks","id":22632046,"node_id":"MDEyOk9yZ2FuaXphdGlvbjIyNjMyMDQ2","avatar_url":"https://avatars3.githubusercontent.com/u/22632046?v=4","gravatar_id":"","url":"https://api.github.com/users/storybooks","html_url":"https://github.com/storybooks","followers_url":"https://api.github.com/users/storybooks/followers","following_url":"https://api.github.com/users/storybooks/following{/other_user}","gists_url":"https://api.github.com/users/storybooks/gists{/gist_id}","starred_url":"https://api.github.com/users/storybooks/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/storybooks/subscriptions","organizations_url":"https://api.github.com/users/storybooks/orgs","repos_url":"https://api.github.com/users/storybooks/repos","events_url":"https://api.github.com/users/storybooks/events{/privacy}","received_events_url":"https://api.github.com/users/storybooks/received_events","type":"Organization","site_admin":false},"repo":{"id":54173593,"node_id":"MDEwOlJlcG9zaXRvcnk1NDE3MzU5Mw==","name":"storybook","full_name":"storybooks/storybook","private":false,"owner":{"login":"storybooks","id":22632046,"node_id":"MDEyOk9yZ2FuaXphdGlvbjIyNjMyMDQ2","avatar_url":"https://avatars3.githubusercontent.com/u/22632046?v=4","gravatar_id":"","url":"https://api.github.com/users/storybooks","html_url":"https://github.com/storybooks","followers_url":"https://api.github.com/users/storybooks/followers","following_url":"https://api.github.com/users/storybooks/following{/other_user}","gists_url":"https://api.github.com/users/storybooks/gists{/gist_id}","starred_url":"https://api.github.com/users/storybooks/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/storybooks/subscriptions","organizations_url":"https://api.github.com/users/storybooks/orgs","repos_url":"https://api.github.com/users/storybooks/repos","events_url":"https://api.github.com/users/storybooks/events{/privacy}","received_events_url":"https://api.github.com/users/storybooks/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/storybooks/storybook","description":"Interactive UI component dev & test: React, React Native, Vue, Angular, Ember","fork":false,"url":"https://api.github.com/repos/storybooks/storybook","forks_url":"https://api.github.com/repos/storybooks/storybook/forks","keys_url":"https://api.github.com/repos/storybooks/storybook/keys{/key_id}","collaborators_url":"https://api.github.com/repos/storybooks/storybook/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/storybooks/storybook/teams","hooks_url":"https://api.github.com/repos/storybooks/storybook/hooks","issue_events_url":"https://api.github.com/repos/storybooks/storybook/issues/events{/number}","events_url":"https://api.github.com/repos/storybooks/storybook/events","assignees_url":"https://api.github.com/repos/storybooks/storybook/assignees{/user}","branches_url":"https://api.github.com/repos/storybooks/storybook/branches{/branch}","tags_url":"https://api.github.com/repos/storybooks/storybook/tags","blobs_url":"https://api.github.com/repos/storybooks/storybook/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/storybooks/storybook/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/storybooks/storybook/git/refs{/sha}","trees_url":"https://api.github.com/repos/storybooks/storybook/git/trees{/sha}","statuses_url":"https://api.github.com/repos/storybooks/storybook/statuses/{sha}","languages_url":"https://api.github.com/repos/storybooks/storybook/languages","stargazers_url":"https://api.github.com/repos/storybooks/storybook/stargazers","contributors_url":"https://api.github.com/repos/storybooks/storybook/contributors","subscribers_url":"https://api.github.com/repos/storybooks/storybook/subscribers","subscription_url":"https://api.github.com/repos/storybooks/storybook/subscription","commits_url":"https://api.github.com/repos/storybooks/storybook/commits{/sha}","git_commits_url":"https://api.github.com/repos/storybooks/storybook/git/commits{/sha}","comments_url":"https://api.github.com/repos/storybooks/storybook/comments{/number}","issue_comment_url":"https://api.github.com/repos/storybooks/storybook/issues/comments{/number}","contents_url":"https://api.github.com/repos/storybooks/storybook/contents/{+path}","compare_url":"https://api.github.com/repos/storybooks/storybook/compare/{base}...{head}","merges_url":"https://api.github.com/repos/storybooks/storybook/merges","archive_url":"https://api.github.com/repos/storybooks/storybook/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/storybooks/storybook/downloads","issues_url":"https://api.github.com/repos/storybooks/storybook/issues{/number}","pulls_url":"https://api.github.com/repos/storybooks/storybook/pulls{/number}","milestones_url":"https://api.github.com/repos/storybooks/storybook/milestones{/number}","notifications_url":"https://api.github.com/repos/storybooks/storybook/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/storybooks/storybook/labels{/name}","releases_url":"https://api.github.com/repos/storybooks/storybook/releases{/id}","deployments_url":"https://api.github.com/repos/storybooks/storybook/deployments","created_at":"2016-03-18T04:23:44Z","updated_at":"2018-10-19T16:55:32Z","pushed_at":"2018-10-19T13:36:00Z","git_url":"git://github.com/storybooks/storybook.git","ssh_url":"git@github.com:storybooks/storybook.git","clone_url":"https://github.com/storybooks/storybook.git","svn_url":"https://github.com/storybooks/storybook","homepage":"https://storybook.js.org","size":98141,"stargazers_count":29753,"watchers_count":29753,"language":"JavaScript","has_issues":true,"has_projects":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":2125,"mirror_url":null,"archived":false,"open_issues_count":188,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"},"forks":2125,"open_issues":188,"watchers":29753,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/storybooks/storybook/pulls/4405"},"html":{"href":"https://github.com/storybooks/storybook/pull/4405"},"issue":{"href":"https://api.github.com/repos/storybooks/storybook/issues/4405"},"comments":{"href":"https://api.github.com/repos/storybooks/storybook/issues/4405/comments"},"review_comments":{"href":"https://api.github.com/repos/storybooks/storybook/pulls/4405/comments"},"review_comment":{"href":"https://api.github.com/repos/storybooks/storybook/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/storybooks/storybook/pulls/4405/commits"},"statuses":{"href":"https://api.github.com/repos/storybooks/storybook/statuses/2873911d03791ecff4c275d93d2cf726825d95d9"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"chadfawcett"}}