{"action":"created","comment":{"url":"https://api.github.com/repos/IvanoffDan/event-sourcing/pulls/comments/192798305","pull_request_review_id":125643470,"id":192798305,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDE5Mjc5ODMwNQ==","diff_hunk":"@@ -0,0 +1,150 @@\n+'use strict';\n+\n+// Do this as the first thing so that any code reading it knows the right env.\n+process.env.BABEL_ENV = 'production';\n+process.env.NODE_ENV = 'production';\n+\n+// Makes the script crash on unhandled rejections instead of silently\n+// ignoring them. In the future, promise rejections that are not handled will\n+// terminate the Node.js process with a non-zero exit code.\n+process.on('unhandledRejection', err => {\n+  throw err;\n+});\n+\n+// Ensure environment variables are read.\n+require('../config/env');\n+\n+const path = require('path');\n+const chalk = require('chalk');\n+const fs = require('fs-extra');\n+const webpack = require('webpack');\n+const config = require('../config/webpack.config.prod');\n+const paths = require('../config/paths');\n+const checkRequiredFiles = require('react-dev-utils/checkRequiredFiles');\n+const formatWebpackMessages = require('react-dev-utils/formatWebpackMessages');\n+const printHostingInstructions = require('react-dev-utils/printHostingInstructions');\n+const FileSizeReporter = require('react-dev-utils/FileSizeReporter');\n+const printBuildError = require('react-dev-utils/printBuildError');\n+\n+const measureFileSizesBeforeBuild =\n+  FileSizeReporter.measureFileSizesBeforeBuild;\n+const printFileSizesAfterBuild = FileSizeReporter.printFileSizesAfterBuild;\n+const useYarn = fs.existsSync(paths.yarnLockFile);\n+\n+// These sizes are pretty large. We'll warn for bundles exceeding them.\n+const WARN_AFTER_BUNDLE_GZIP_SIZE = 512 * 1024;\n+const WARN_AFTER_CHUNK_GZIP_SIZE = 1024 * 1024;\n+\n+// Warn and crash if required files are missing\n+if (!checkRequiredFiles([paths.appHtml, paths.appIndexJs])) {\n+  process.exit(1);\n+}\n+\n+// First, read the current file sizes in build directory.\n+// This lets us display how much they changed later.\n+measureFileSizesBeforeBuild(paths.appBuild)\n+  .then(previousFileSizes => {\n+    // Remove all content but keep the directory so that\n+    // if you're in it, you don't end up in Trash\n+    fs.emptyDirSync(paths.appBuild);\n+    // Merge with the public folder\n+    copyPublicFolder();\n+    // Start the webpack build\n+    return build(previousFileSizes);\n+  })\n+  .then(\n+    ({ stats, previousFileSizes, warnings }) => {\n+      if (warnings.length) {\n+        console.log(chalk.yellow('Compiled with warnings.\\n'));\n+        console.log(warnings.join('\\n\\n'));\n+        console.log(\n+          '\\nSearch for the ' +\n+            chalk.underline(chalk.yellow('keywords')) +\n+            ' to learn more about each warning.'\n+        );\n+        console.log(\n+          'To ignore, add ' +\n+            chalk.cyan('// eslint-disable-next-line') +\n+            ' to the line before.\\n'\n+        );\n+      } else {\n+        console.log(chalk.green('Compiled successfully.\\n'));\n+      }\n+\n+      console.log('File sizes after gzip:\\n');\n+      printFileSizesAfterBuild(\n+        stats,\n+        previousFileSizes,\n+        paths.appBuild,\n+        WARN_AFTER_BUNDLE_GZIP_SIZE,\n+        WARN_AFTER_CHUNK_GZIP_SIZE\n+      );\n+      console.log();\n+\n+      const appPackage = require(paths.appPackageJson);\n+      const publicUrl = paths.publicUrl;\n+      const publicPath = config.output.publicPath;\n+      const buildFolder = path.relative(process.cwd(), paths.appBuild);\n+      printHostingInstructions(\n+        appPackage,\n+        publicUrl,\n+        publicPath,\n+        buildFolder,\n+        useYarn\n+      );\n+    },\n+    err => {\n+      console.log(chalk.red('Failed to compile.\\n'));\n+      printBuildError(err);\n+      process.exit(1);\n+    }\n+  );\n+\n+// Create the production build and print the deployment instructions.\n+function build(previousFileSizes) {\n+  console.log('Creating an optimized production build...');\n+\n+  let compiler = webpack(config);\n+  return new Promise((resolve, reject) => {\n+    compiler.run((err, stats) => {\n+      if (err) {\n+        return reject(err);\n+      }\n+      const messages = formatWebpackMessages(stats.toJson({}, true));\n+      if (messages.errors.length) {\n+        // Only keep the first error. Others are often indicative\n+        // of the same problem, but confuse the reader with noise.\n+        if (messages.errors.length > 1) {\n+          messages.errors.length = 1;\n+        }\n+        return reject(new Error(messages.errors.join('\\n\\n')));\n+      }\n+      if (\n+        process.env.CI &&\n+        (typeof process.env.CI !== 'string' ||\n+          process.env.CI.toLowerCase() !== 'false') &&\n+        messages.warnings.length\n+      ) {\n+        console.log(\n+          chalk.yellow(\n+            '\\nTreating warnings as errors because process.env.CI = true.\\n' +\n+              'Most CI servers set it automatically.\\n'","path":"client/scripts/build.js","position":131,"original_position":131,"commit_id":"2e0a75b9d74f5ad25bacee3dd00e11414d945983","original_commit_id":"2e0a75b9d74f5ad25bacee3dd00e11414d945983","user":{"login":"codacy-bot","id":19940114,"node_id":"MDQ6VXNlcjE5OTQwMTE0","avatar_url":"https://avatars1.githubusercontent.com/u/19940114?v=4","gravatar_id":"","url":"https://api.github.com/users/codacy-bot","html_url":"https://github.com/codacy-bot","followers_url":"https://api.github.com/users/codacy-bot/followers","following_url":"https://api.github.com/users/codacy-bot/following{/other_user}","gists_url":"https://api.github.com/users/codacy-bot/gists{/gist_id}","starred_url":"https://api.github.com/users/codacy-bot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/codacy-bot/subscriptions","organizations_url":"https://api.github.com/users/codacy-bot/orgs","repos_url":"https://api.github.com/users/codacy-bot/repos","events_url":"https://api.github.com/users/codacy-bot/events{/privacy}","received_events_url":"https://api.github.com/users/codacy-bot/received_events","type":"User","site_admin":false},"body":"![Codacy](https://app.codacy.com/assets/images/favicon.png) Issue found: [Strings must use doublequote. (quotes)](https://app.codacy.com/app/IvanoffDan/event-sourcing/pullRequest?prid=1734146)","created_at":"2018-06-04T16:12:51Z","updated_at":"2018-06-04T16:12:51Z","html_url":"https://github.com/IvanoffDan/event-sourcing/pull/3#discussion_r192798305","pull_request_url":"https://api.github.com/repos/IvanoffDan/event-sourcing/pulls/3","author_association":"NONE","_links":{"self":{"href":"https://api.github.com/repos/IvanoffDan/event-sourcing/pulls/comments/192798305"},"html":{"href":"https://github.com/IvanoffDan/event-sourcing/pull/3#discussion_r192798305"},"pull_request":{"href":"https://api.github.com/repos/IvanoffDan/event-sourcing/pulls/3"}}},"pull_request":{"url":"https://api.github.com/repos/IvanoffDan/event-sourcing/pulls/3","id":192458531,"node_id":"MDExOlB1bGxSZXF1ZXN0MTkyNDU4NTMx","html_url":"https://github.com/IvanoffDan/event-sourcing/pull/3","diff_url":"https://github.com/IvanoffDan/event-sourcing/pull/3.diff","patch_url":"https://github.com/IvanoffDan/event-sourcing/pull/3.patch","issue_url":"https://api.github.com/repos/IvanoffDan/event-sourcing/issues/3","number":3,"state":"open","locked":false,"title":"Client CI Integration","user":{"login":"IvanoffDan","id":20333439,"node_id":"MDQ6VXNlcjIwMzMzNDM5","avatar_url":"https://avatars2.githubusercontent.com/u/20333439?v=4","gravatar_id":"","url":"https://api.github.com/users/IvanoffDan","html_url":"https://github.com/IvanoffDan","followers_url":"https://api.github.com/users/IvanoffDan/followers","following_url":"https://api.github.com/users/IvanoffDan/following{/other_user}","gists_url":"https://api.github.com/users/IvanoffDan/gists{/gist_id}","starred_url":"https://api.github.com/users/IvanoffDan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/IvanoffDan/subscriptions","organizations_url":"https://api.github.com/users/IvanoffDan/orgs","repos_url":"https://api.github.com/users/IvanoffDan/repos","events_url":"https://api.github.com/users/IvanoffDan/events{/privacy}","received_events_url":"https://api.github.com/users/IvanoffDan/received_events","type":"User","site_admin":false},"body":"","created_at":"2018-06-04T16:11:34Z","updated_at":"2018-06-04T16:12:51Z","closed_at":null,"merged_at":null,"merge_commit_sha":"dc5d61855da068fc8ee2a93672e4ff2dddf31dab","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/IvanoffDan/event-sourcing/pulls/3/commits","review_comments_url":"https://api.github.com/repos/IvanoffDan/event-sourcing/pulls/3/comments","review_comment_url":"https://api.github.com/repos/IvanoffDan/event-sourcing/pulls/comments{/number}","comments_url":"https://api.github.com/repos/IvanoffDan/event-sourcing/issues/3/comments","statuses_url":"https://api.github.com/repos/IvanoffDan/event-sourcing/statuses/2e0a75b9d74f5ad25bacee3dd00e11414d945983","head":{"label":"IvanoffDan:adding-client","ref":"adding-client","sha":"2e0a75b9d74f5ad25bacee3dd00e11414d945983","user":{"login":"IvanoffDan","id":20333439,"node_id":"MDQ6VXNlcjIwMzMzNDM5","avatar_url":"https://avatars2.githubusercontent.com/u/20333439?v=4","gravatar_id":"","url":"https://api.github.com/users/IvanoffDan","html_url":"https://github.com/IvanoffDan","followers_url":"https://api.github.com/users/IvanoffDan/followers","following_url":"https://api.github.com/users/IvanoffDan/following{/other_user}","gists_url":"https://api.github.com/users/IvanoffDan/gists{/gist_id}","starred_url":"https://api.github.com/users/IvanoffDan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/IvanoffDan/subscriptions","organizations_url":"https://api.github.com/users/IvanoffDan/orgs","repos_url":"https://api.github.com/users/IvanoffDan/repos","events_url":"https://api.github.com/users/IvanoffDan/events{/privacy}","received_events_url":"https://api.github.com/users/IvanoffDan/received_events","type":"User","site_admin":false},"repo":{"id":135667486,"node_id":"MDEwOlJlcG9zaXRvcnkxMzU2Njc0ODY=","name":"event-sourcing","full_name":"IvanoffDan/event-sourcing","owner":{"login":"IvanoffDan","id":20333439,"node_id":"MDQ6VXNlcjIwMzMzNDM5","avatar_url":"https://avatars2.githubusercontent.com/u/20333439?v=4","gravatar_id":"","url":"https://api.github.com/users/IvanoffDan","html_url":"https://github.com/IvanoffDan","followers_url":"https://api.github.com/users/IvanoffDan/followers","following_url":"https://api.github.com/users/IvanoffDan/following{/other_user}","gists_url":"https://api.github.com/users/IvanoffDan/gists{/gist_id}","starred_url":"https://api.github.com/users/IvanoffDan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/IvanoffDan/subscriptions","organizations_url":"https://api.github.com/users/IvanoffDan/orgs","repos_url":"https://api.github.com/users/IvanoffDan/repos","events_url":"https://api.github.com/users/IvanoffDan/events{/privacy}","received_events_url":"https://api.github.com/users/IvanoffDan/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/IvanoffDan/event-sourcing","description":null,"fork":false,"url":"https://api.github.com/repos/IvanoffDan/event-sourcing","forks_url":"https://api.github.com/repos/IvanoffDan/event-sourcing/forks","keys_url":"https://api.github.com/repos/IvanoffDan/event-sourcing/keys{/key_id}","collaborators_url":"https://api.github.com/repos/IvanoffDan/event-sourcing/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/IvanoffDan/event-sourcing/teams","hooks_url":"https://api.github.com/repos/IvanoffDan/event-sourcing/hooks","issue_events_url":"https://api.github.com/repos/IvanoffDan/event-sourcing/issues/events{/number}","events_url":"https://api.github.com/repos/IvanoffDan/event-sourcing/events","assignees_url":"https://api.github.com/repos/IvanoffDan/event-sourcing/assignees{/user}","branches_url":"https://api.github.com/repos/IvanoffDan/event-sourcing/branches{/branch}","tags_url":"https://api.github.com/repos/IvanoffDan/event-sourcing/tags","blobs_url":"https://api.github.com/repos/IvanoffDan/event-sourcing/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/IvanoffDan/event-sourcing/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/IvanoffDan/event-sourcing/git/refs{/sha}","trees_url":"https://api.github.com/repos/IvanoffDan/event-sourcing/git/trees{/sha}","statuses_url":"https://api.github.com/repos/IvanoffDan/event-sourcing/statuses/{sha}","languages_url":"https://api.github.com/repos/IvanoffDan/event-sourcing/languages","stargazers_url":"https://api.github.com/repos/IvanoffDan/event-sourcing/stargazers","contributors_url":"https://api.github.com/repos/IvanoffDan/event-sourcing/contributors","subscribers_url":"https://api.github.com/repos/IvanoffDan/event-sourcing/subscribers","subscription_url":"https://api.github.com/repos/IvanoffDan/event-sourcing/subscription","commits_url":"https://api.github.com/repos/IvanoffDan/event-sourcing/commits{/sha}","git_commits_url":"https://api.github.com/repos/IvanoffDan/event-sourcing/git/commits{/sha}","comments_url":"https://api.github.com/repos/IvanoffDan/event-sourcing/comments{/number}","issue_comment_url":"https://api.github.com/repos/IvanoffDan/event-sourcing/issues/comments{/number}","contents_url":"https://api.github.com/repos/IvanoffDan/event-sourcing/contents/{+path}","compare_url":"https://api.github.com/repos/IvanoffDan/event-sourcing/compare/{base}...{head}","merges_url":"https://api.github.com/repos/IvanoffDan/event-sourcing/merges","archive_url":"https://api.github.com/repos/IvanoffDan/event-sourcing/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/IvanoffDan/event-sourcing/downloads","issues_url":"https://api.github.com/repos/IvanoffDan/event-sourcing/issues{/number}","pulls_url":"https://api.github.com/repos/IvanoffDan/event-sourcing/pulls{/number}","milestones_url":"https://api.github.com/repos/IvanoffDan/event-sourcing/milestones{/number}","notifications_url":"https://api.github.com/repos/IvanoffDan/event-sourcing/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/IvanoffDan/event-sourcing/labels{/name}","releases_url":"https://api.github.com/repos/IvanoffDan/event-sourcing/releases{/id}","deployments_url":"https://api.github.com/repos/IvanoffDan/event-sourcing/deployments","created_at":"2018-06-01T04:30:04Z","updated_at":"2018-06-04T13:57:08Z","pushed_at":"2018-06-04T16:11:35Z","git_url":"git://github.com/IvanoffDan/event-sourcing.git","ssh_url":"git@github.com:IvanoffDan/event-sourcing.git","clone_url":"https://github.com/IvanoffDan/event-sourcing.git","svn_url":"https://github.com/IvanoffDan/event-sourcing","homepage":null,"size":236,"stargazers_count":0,"watchers_count":0,"language":"Go","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":1,"license":null,"forks":0,"open_issues":1,"watchers":0,"default_branch":"master"}},"base":{"label":"IvanoffDan:master","ref":"master","sha":"f33884fc53b6cc38bb30b8e24b4ff593e1517c84","user":{"login":"IvanoffDan","id":20333439,"node_id":"MDQ6VXNlcjIwMzMzNDM5","avatar_url":"https://avatars2.githubusercontent.com/u/20333439?v=4","gravatar_id":"","url":"https://api.github.com/users/IvanoffDan","html_url":"https://github.com/IvanoffDan","followers_url":"https://api.github.com/users/IvanoffDan/followers","following_url":"https://api.github.com/users/IvanoffDan/following{/other_user}","gists_url":"https://api.github.com/users/IvanoffDan/gists{/gist_id}","starred_url":"https://api.github.com/users/IvanoffDan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/IvanoffDan/subscriptions","organizations_url":"https://api.github.com/users/IvanoffDan/orgs","repos_url":"https://api.github.com/users/IvanoffDan/repos","events_url":"https://api.github.com/users/IvanoffDan/events{/privacy}","received_events_url":"https://api.github.com/users/IvanoffDan/received_events","type":"User","site_admin":false},"repo":{"id":135667486,"node_id":"MDEwOlJlcG9zaXRvcnkxMzU2Njc0ODY=","name":"event-sourcing","full_name":"IvanoffDan/event-sourcing","owner":{"login":"IvanoffDan","id":20333439,"node_id":"MDQ6VXNlcjIwMzMzNDM5","avatar_url":"https://avatars2.githubusercontent.com/u/20333439?v=4","gravatar_id":"","url":"https://api.github.com/users/IvanoffDan","html_url":"https://github.com/IvanoffDan","followers_url":"https://api.github.com/users/IvanoffDan/followers","following_url":"https://api.github.com/users/IvanoffDan/following{/other_user}","gists_url":"https://api.github.com/users/IvanoffDan/gists{/gist_id}","starred_url":"https://api.github.com/users/IvanoffDan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/IvanoffDan/subscriptions","organizations_url":"https://api.github.com/users/IvanoffDan/orgs","repos_url":"https://api.github.com/users/IvanoffDan/repos","events_url":"https://api.github.com/users/IvanoffDan/events{/privacy}","received_events_url":"https://api.github.com/users/IvanoffDan/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/IvanoffDan/event-sourcing","description":null,"fork":false,"url":"https://api.github.com/repos/IvanoffDan/event-sourcing","forks_url":"https://api.github.com/repos/IvanoffDan/event-sourcing/forks","keys_url":"https://api.github.com/repos/IvanoffDan/event-sourcing/keys{/key_id}","collaborators_url":"https://api.github.com/repos/IvanoffDan/event-sourcing/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/IvanoffDan/event-sourcing/teams","hooks_url":"https://api.github.com/repos/IvanoffDan/event-sourcing/hooks","issue_events_url":"https://api.github.com/repos/IvanoffDan/event-sourcing/issues/events{/number}","events_url":"https://api.github.com/repos/IvanoffDan/event-sourcing/events","assignees_url":"https://api.github.com/repos/IvanoffDan/event-sourcing/assignees{/user}","branches_url":"https://api.github.com/repos/IvanoffDan/event-sourcing/branches{/branch}","tags_url":"https://api.github.com/repos/IvanoffDan/event-sourcing/tags","blobs_url":"https://api.github.com/repos/IvanoffDan/event-sourcing/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/IvanoffDan/event-sourcing/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/IvanoffDan/event-sourcing/git/refs{/sha}","trees_url":"https://api.github.com/repos/IvanoffDan/event-sourcing/git/trees{/sha}","statuses_url":"https://api.github.com/repos/IvanoffDan/event-sourcing/statuses/{sha}","languages_url":"https://api.github.com/repos/IvanoffDan/event-sourcing/languages","stargazers_url":"https://api.github.com/repos/IvanoffDan/event-sourcing/stargazers","contributors_url":"https://api.github.com/repos/IvanoffDan/event-sourcing/contributors","subscribers_url":"https://api.github.com/repos/IvanoffDan/event-sourcing/subscribers","subscription_url":"https://api.github.com/repos/IvanoffDan/event-sourcing/subscription","commits_url":"https://api.github.com/repos/IvanoffDan/event-sourcing/commits{/sha}","git_commits_url":"https://api.github.com/repos/IvanoffDan/event-sourcing/git/commits{/sha}","comments_url":"https://api.github.com/repos/IvanoffDan/event-sourcing/comments{/number}","issue_comment_url":"https://api.github.com/repos/IvanoffDan/event-sourcing/issues/comments{/number}","contents_url":"https://api.github.com/repos/IvanoffDan/event-sourcing/contents/{+path}","compare_url":"https://api.github.com/repos/IvanoffDan/event-sourcing/compare/{base}...{head}","merges_url":"https://api.github.com/repos/IvanoffDan/event-sourcing/merges","archive_url":"https://api.github.com/repos/IvanoffDan/event-sourcing/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/IvanoffDan/event-sourcing/downloads","issues_url":"https://api.github.com/repos/IvanoffDan/event-sourcing/issues{/number}","pulls_url":"https://api.github.com/repos/IvanoffDan/event-sourcing/pulls{/number}","milestones_url":"https://api.github.com/repos/IvanoffDan/event-sourcing/milestones{/number}","notifications_url":"https://api.github.com/repos/IvanoffDan/event-sourcing/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/IvanoffDan/event-sourcing/labels{/name}","releases_url":"https://api.github.com/repos/IvanoffDan/event-sourcing/releases{/id}","deployments_url":"https://api.github.com/repos/IvanoffDan/event-sourcing/deployments","created_at":"2018-06-01T04:30:04Z","updated_at":"2018-06-04T13:57:08Z","pushed_at":"2018-06-04T16:11:35Z","git_url":"git://github.com/IvanoffDan/event-sourcing.git","ssh_url":"git@github.com:IvanoffDan/event-sourcing.git","clone_url":"https://github.com/IvanoffDan/event-sourcing.git","svn_url":"https://github.com/IvanoffDan/event-sourcing","homepage":null,"size":236,"stargazers_count":0,"watchers_count":0,"language":"Go","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":1,"license":null,"forks":0,"open_issues":1,"watchers":0,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/IvanoffDan/event-sourcing/pulls/3"},"html":{"href":"https://github.com/IvanoffDan/event-sourcing/pull/3"},"issue":{"href":"https://api.github.com/repos/IvanoffDan/event-sourcing/issues/3"},"comments":{"href":"https://api.github.com/repos/IvanoffDan/event-sourcing/issues/3/comments"},"review_comments":{"href":"https://api.github.com/repos/IvanoffDan/event-sourcing/pulls/3/comments"},"review_comment":{"href":"https://api.github.com/repos/IvanoffDan/event-sourcing/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/IvanoffDan/event-sourcing/pulls/3/commits"},"statuses":{"href":"https://api.github.com/repos/IvanoffDan/event-sourcing/statuses/2e0a75b9d74f5ad25bacee3dd00e11414d945983"}},"author_association":"OWNER"}}
{"actor":{"display_login":"codacy-bot"}}