{"action":"created","comment":{"url":"https://api.github.com/repos/apollographql/apollo-tooling/pulls/comments/297874638","pull_request_review_id":254883224,"id":297874638,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDI5Nzg3NDYzOA==","diff_hunk":"@@ -0,0 +1,173 @@\n+import { flags } from \"@oclif/command\";\n+import { ProjectCommand } from \"../../Command\";\n+import { GraphQLSchema } from \"graphql\";\n+import sortBy from \"lodash.sortby\";\n+import { table } from \"heroku-cli-util\";\n+import moment from \"moment\";\n+import { ApolloConfig, isServiceProject } from \"apollo-language-server\";\n+import chalk from \"chalk\";\n+import {\n+  ListServices_service_implementingServices,\n+  ListServices_service_implementingServices_FederatedImplementingServices_services\n+} from \"apollo-language-server/lib/graphqlTypes\";\n+\n+interface TasksOutput {\n+  config: ApolloConfig;\n+  implementingServices: ListServices_service_implementingServices | null;\n+}\n+\n+const formatImplementingService = (\n+  implementingService: ListServices_service_implementingServices_FederatedImplementingServices_services\n+) => {\n+  return {\n+    name: implementingService.name,\n+    url: implementingService.url || \"\",\n+    updatedAt: `${moment(implementingService.updatedAt).format(\n+      \"D MMMM YYYY\"\n+    )} (${moment(implementingService.updatedAt).fromNow()})`\n+  };\n+};\n+\n+function formatHumanReadable({\n+  implementingServices,\n+  graphName,\n+  frontendUrl\n+}: {\n+  implementingServices: ListServices_service_implementingServices | null;\n+  graphName: string | undefined;\n+  frontendUrl: string | undefined;\n+}): string {\n+  let result = \"\";\n+  if (\n+    !implementingServices ||\n+    implementingServices.__typename === \"NonFederatedImplementingService\"\n+  ) {\n+    result =\n+      \"\\nThis graph is not federated, there are no services composing the graph\";\n+  } else if (implementingServices.services.length === 0) {\n+    result = \"\\nThere are no services on this federated graph\";\n+  } else {\n+    // Create a sorted list of the services.\n+    const sortedImplementingServices = sortBy<\n+      ListServices_service_implementingServices_FederatedImplementingServices_services\n+    >(implementingServices.services, [service => service.name.toUpperCase()]);\n+\n+    table(\n+      [...sortedImplementingServices.map(formatImplementingService)].filter(\n+        Boolean\n+      ),\n+      {\n+        columns: [\n+          { key: \"name\", label: \"Name\" },\n+          { key: \"url\", label: \"Url\" },\n+          { key: \"updatedAt\", label: \"Last Updated At\" }\n+        ],\n+        // Override `printHeader` so we don't print a header\n+        printHeader: () => {},\n+        // The default `printLine` will output to the console; we want to capture the output so we can test\n+        // it.\n+        printLine: line => {\n+          result += `\\n${line}`;\n+        }\n+      }\n+    );\n+    const serviceListUrlEnding = `/service/${graphName}/service-list`;\n+    const targetUrl = frontendUrl\n+      ? `${frontendUrl}${serviceListUrlEnding}`\n+      : `https://engine.apollographql.com${serviceListUrlEnding}`;\n+    result += `\\n\\nView full details at: ${targetUrl}`;\n+  }\n+  return result;\n+}\n+\n+export default class ServiceList extends ProjectCommand {\n+  static description = \"List the services in a graph\";\n+  static flags = {\n+    ...ProjectCommand.flags,\n+    tag: flags.string({\n+      char: \"t\",\n+      description: \"The published tag to list the services from\"","path":"packages/apollo/src/commands/service/list.ts","position":89,"original_position":89,"commit_id":"451e931698211bd6daafd8f8ae27cc403ffca7db","original_commit_id":"ffa985b06c49cea5bffdfa6f83287749f96dd852","user":{"login":"mayakoneval","id":14367451,"node_id":"MDQ6VXNlcjE0MzY3NDUx","avatar_url":"https://avatars1.githubusercontent.com/u/14367451?v=4","gravatar_id":"","url":"https://api.github.com/users/mayakoneval","html_url":"https://github.com/mayakoneval","followers_url":"https://api.github.com/users/mayakoneval/followers","following_url":"https://api.github.com/users/mayakoneval/following{/other_user}","gists_url":"https://api.github.com/users/mayakoneval/gists{/gist_id}","starred_url":"https://api.github.com/users/mayakoneval/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mayakoneval/subscriptions","organizations_url":"https://api.github.com/users/mayakoneval/orgs","repos_url":"https://api.github.com/users/mayakoneval/repos","events_url":"https://api.github.com/users/mayakoneval/events{/privacy}","received_events_url":"https://api.github.com/users/mayakoneval/received_events","type":"User","site_admin":false},"body":"Agreed, but the whole cli would have to make this change before this PR does!","created_at":"2019-06-26T21:29:25Z","updated_at":"2019-06-26T21:29:26Z","html_url":"https://github.com/apollographql/apollo-tooling/pull/1358#discussion_r297874638","pull_request_url":"https://api.github.com/repos/apollographql/apollo-tooling/pulls/1358","author_association":"NONE","_links":{"self":{"href":"https://api.github.com/repos/apollographql/apollo-tooling/pulls/comments/297874638"},"html":{"href":"https://github.com/apollographql/apollo-tooling/pull/1358#discussion_r297874638"},"pull_request":{"href":"https://api.github.com/repos/apollographql/apollo-tooling/pulls/1358"}},"in_reply_to_id":297294146},"pull_request":{"url":"https://api.github.com/repos/apollographql/apollo-tooling/pulls/1358","id":289905794,"node_id":"MDExOlB1bGxSZXF1ZXN0Mjg5OTA1Nzk0","html_url":"https://github.com/apollographql/apollo-tooling/pull/1358","diff_url":"https://github.com/apollographql/apollo-tooling/pull/1358.diff","patch_url":"https://github.com/apollographql/apollo-tooling/pull/1358.patch","issue_url":"https://api.github.com/repos/apollographql/apollo-tooling/issues/1358","number":1358,"state":"open","locked":false,"title":"service:list in CLI","user":{"login":"mayakoneval","id":14367451,"node_id":"MDQ6VXNlcjE0MzY3NDUx","avatar_url":"https://avatars1.githubusercontent.com/u/14367451?v=4","gravatar_id":"","url":"https://api.github.com/users/mayakoneval","html_url":"https://github.com/mayakoneval","followers_url":"https://api.github.com/users/mayakoneval/followers","following_url":"https://api.github.com/users/mayakoneval/following{/other_user}","gists_url":"https://api.github.com/users/mayakoneval/gists{/gist_id}","starred_url":"https://api.github.com/users/mayakoneval/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mayakoneval/subscriptions","organizations_url":"https://api.github.com/users/mayakoneval/orgs","repos_url":"https://api.github.com/users/mayakoneval/repos","events_url":"https://api.github.com/users/mayakoneval/events{/privacy}","received_events_url":"https://api.github.com/users/mayakoneval/received_events","type":"User","site_admin":false},"body":"This PR adds `service:list` to the Apollo CLI tool, printing out the lists in a federated services like so:\r\n![image](https://user-images.githubusercontent.com/14367451/59806627-df00a300-92a9-11e9-8158-0f7f843d98b8.png)\r\n\r\nOpen questions:\r\n- ~is copy / pasting the functions `uncaptureApplicationOutput` and `captureApplicationOutput` necessary / how do you share those testing helpers with the shared console log?~ (resolved - see comment below)\r\n\r\nTODO:\r\n- [x] Update CHANGELOG.md\\* with your change (include reference to issue & this PR)\r\n- [x] Make sure all of the significant new logic is covered by tests\r\n- [x] Rebase your changes on master so that they can be merged easily\r\n- [x] Make sure all tests and linter rules pass\r\n\r\n\\*Make sure changelog entries note which project(s) has been affected. See older entries for examples on what this looks like.\r\n","created_at":"2019-06-19T22:49:04Z","updated_at":"2019-06-26T21:29:26Z","closed_at":null,"merged_at":null,"merge_commit_sha":"df54aaceea97fbaf26f033361dd9efcb79c79be9","assignee":null,"assignees":[],"requested_reviewers":[{"login":"justinanastos","id":5224118,"node_id":"MDQ6VXNlcjUyMjQxMTg=","avatar_url":"https://avatars0.githubusercontent.com/u/5224118?v=4","gravatar_id":"","url":"https://api.github.com/users/justinanastos","html_url":"https://github.com/justinanastos","followers_url":"https://api.github.com/users/justinanastos/followers","following_url":"https://api.github.com/users/justinanastos/following{/other_user}","gists_url":"https://api.github.com/users/justinanastos/gists{/gist_id}","starred_url":"https://api.github.com/users/justinanastos/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/justinanastos/subscriptions","organizations_url":"https://api.github.com/users/justinanastos/orgs","repos_url":"https://api.github.com/users/justinanastos/repos","events_url":"https://api.github.com/users/justinanastos/events{/privacy}","received_events_url":"https://api.github.com/users/justinanastos/received_events","type":"User","site_admin":false},{"login":"evans","id":5565407,"node_id":"MDQ6VXNlcjU1NjU0MDc=","avatar_url":"https://avatars0.githubusercontent.com/u/5565407?v=4","gravatar_id":"","url":"https://api.github.com/users/evans","html_url":"https://github.com/evans","followers_url":"https://api.github.com/users/evans/followers","following_url":"https://api.github.com/users/evans/following{/other_user}","gists_url":"https://api.github.com/users/evans/gists{/gist_id}","starred_url":"https://api.github.com/users/evans/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/evans/subscriptions","organizations_url":"https://api.github.com/users/evans/orgs","repos_url":"https://api.github.com/users/evans/repos","events_url":"https://api.github.com/users/evans/events{/privacy}","received_events_url":"https://api.github.com/users/evans/received_events","type":"User","site_admin":false},{"login":"trevor-scheer","id":29644393,"node_id":"MDQ6VXNlcjI5NjQ0Mzkz","avatar_url":"https://avatars2.githubusercontent.com/u/29644393?v=4","gravatar_id":"","url":"https://api.github.com/users/trevor-scheer","html_url":"https://github.com/trevor-scheer","followers_url":"https://api.github.com/users/trevor-scheer/followers","following_url":"https://api.github.com/users/trevor-scheer/following{/other_user}","gists_url":"https://api.github.com/users/trevor-scheer/gists{/gist_id}","starred_url":"https://api.github.com/users/trevor-scheer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/trevor-scheer/subscriptions","organizations_url":"https://api.github.com/users/trevor-scheer/orgs","repos_url":"https://api.github.com/users/trevor-scheer/repos","events_url":"https://api.github.com/users/trevor-scheer/events{/privacy}","received_events_url":"https://api.github.com/users/trevor-scheer/received_events","type":"User","site_admin":false}],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/apollographql/apollo-tooling/pulls/1358/commits","review_comments_url":"https://api.github.com/repos/apollographql/apollo-tooling/pulls/1358/comments","review_comment_url":"https://api.github.com/repos/apollographql/apollo-tooling/pulls/comments{/number}","comments_url":"https://api.github.com/repos/apollographql/apollo-tooling/issues/1358/comments","statuses_url":"https://api.github.com/repos/apollographql/apollo-tooling/statuses/451e931698211bd6daafd8f8ae27cc403ffca7db","head":{"label":"apollographql:mkoneval/AP-512/service-list-cli","ref":"mkoneval/AP-512/service-list-cli","sha":"451e931698211bd6daafd8f8ae27cc403ffca7db","user":{"login":"apollographql","id":17189275,"node_id":"MDEyOk9yZ2FuaXphdGlvbjE3MTg5Mjc1","avatar_url":"https://avatars0.githubusercontent.com/u/17189275?v=4","gravatar_id":"","url":"https://api.github.com/users/apollographql","html_url":"https://github.com/apollographql","followers_url":"https://api.github.com/users/apollographql/followers","following_url":"https://api.github.com/users/apollographql/following{/other_user}","gists_url":"https://api.github.com/users/apollographql/gists{/gist_id}","starred_url":"https://api.github.com/users/apollographql/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/apollographql/subscriptions","organizations_url":"https://api.github.com/users/apollographql/orgs","repos_url":"https://api.github.com/users/apollographql/repos","events_url":"https://api.github.com/users/apollographql/events{/privacy}","received_events_url":"https://api.github.com/users/apollographql/received_events","type":"Organization","site_admin":false},"repo":{"id":65563448,"node_id":"MDEwOlJlcG9zaXRvcnk2NTU2MzQ0OA==","name":"apollo-tooling","full_name":"apollographql/apollo-tooling","private":false,"owner":{"login":"apollographql","id":17189275,"node_id":"MDEyOk9yZ2FuaXphdGlvbjE3MTg5Mjc1","avatar_url":"https://avatars0.githubusercontent.com/u/17189275?v=4","gravatar_id":"","url":"https://api.github.com/users/apollographql","html_url":"https://github.com/apollographql","followers_url":"https://api.github.com/users/apollographql/followers","following_url":"https://api.github.com/users/apollographql/following{/other_user}","gists_url":"https://api.github.com/users/apollographql/gists{/gist_id}","starred_url":"https://api.github.com/users/apollographql/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/apollographql/subscriptions","organizations_url":"https://api.github.com/users/apollographql/orgs","repos_url":"https://api.github.com/users/apollographql/repos","events_url":"https://api.github.com/users/apollographql/events{/privacy}","received_events_url":"https://api.github.com/users/apollographql/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/apollographql/apollo-tooling","description":"✏️ Tooling for development and production Apollo workflows","fork":false,"url":"https://api.github.com/repos/apollographql/apollo-tooling","forks_url":"https://api.github.com/repos/apollographql/apollo-tooling/forks","keys_url":"https://api.github.com/repos/apollographql/apollo-tooling/keys{/key_id}","collaborators_url":"https://api.github.com/repos/apollographql/apollo-tooling/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/apollographql/apollo-tooling/teams","hooks_url":"https://api.github.com/repos/apollographql/apollo-tooling/hooks","issue_events_url":"https://api.github.com/repos/apollographql/apollo-tooling/issues/events{/number}","events_url":"https://api.github.com/repos/apollographql/apollo-tooling/events","assignees_url":"https://api.github.com/repos/apollographql/apollo-tooling/assignees{/user}","branches_url":"https://api.github.com/repos/apollographql/apollo-tooling/branches{/branch}","tags_url":"https://api.github.com/repos/apollographql/apollo-tooling/tags","blobs_url":"https://api.github.com/repos/apollographql/apollo-tooling/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/apollographql/apollo-tooling/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/apollographql/apollo-tooling/git/refs{/sha}","trees_url":"https://api.github.com/repos/apollographql/apollo-tooling/git/trees{/sha}","statuses_url":"https://api.github.com/repos/apollographql/apollo-tooling/statuses/{sha}","languages_url":"https://api.github.com/repos/apollographql/apollo-tooling/languages","stargazers_url":"https://api.github.com/repos/apollographql/apollo-tooling/stargazers","contributors_url":"https://api.github.com/repos/apollographql/apollo-tooling/contributors","subscribers_url":"https://api.github.com/repos/apollographql/apollo-tooling/subscribers","subscription_url":"https://api.github.com/repos/apollographql/apollo-tooling/subscription","commits_url":"https://api.github.com/repos/apollographql/apollo-tooling/commits{/sha}","git_commits_url":"https://api.github.com/repos/apollographql/apollo-tooling/git/commits{/sha}","comments_url":"https://api.github.com/repos/apollographql/apollo-tooling/comments{/number}","issue_comment_url":"https://api.github.com/repos/apollographql/apollo-tooling/issues/comments{/number}","contents_url":"https://api.github.com/repos/apollographql/apollo-tooling/contents/{+path}","compare_url":"https://api.github.com/repos/apollographql/apollo-tooling/compare/{base}...{head}","merges_url":"https://api.github.com/repos/apollographql/apollo-tooling/merges","archive_url":"https://api.github.com/repos/apollographql/apollo-tooling/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/apollographql/apollo-tooling/downloads","issues_url":"https://api.github.com/repos/apollographql/apollo-tooling/issues{/number}","pulls_url":"https://api.github.com/repos/apollographql/apollo-tooling/pulls{/number}","milestones_url":"https://api.github.com/repos/apollographql/apollo-tooling/milestones{/number}","notifications_url":"https://api.github.com/repos/apollographql/apollo-tooling/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/apollographql/apollo-tooling/labels{/name}","releases_url":"https://api.github.com/repos/apollographql/apollo-tooling/releases{/id}","deployments_url":"https://api.github.com/repos/apollographql/apollo-tooling/deployments","created_at":"2016-08-12T15:28:09Z","updated_at":"2019-06-26T21:13:19Z","pushed_at":"2019-06-26T17:07:42Z","git_url":"git://github.com/apollographql/apollo-tooling.git","ssh_url":"git@github.com:apollographql/apollo-tooling.git","clone_url":"https://github.com/apollographql/apollo-tooling.git","svn_url":"https://github.com/apollographql/apollo-tooling","homepage":"https://apollographql.com","size":13386,"stargazers_count":1932,"watchers_count":1932,"language":"TypeScript","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":297,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":158,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"},"forks":297,"open_issues":158,"watchers":1932,"default_branch":"master"}},"base":{"label":"apollographql:master","ref":"master","sha":"ad3676bc111cfb6294e6718baa8d1ed396d0dff7","user":{"login":"apollographql","id":17189275,"node_id":"MDEyOk9yZ2FuaXphdGlvbjE3MTg5Mjc1","avatar_url":"https://avatars0.githubusercontent.com/u/17189275?v=4","gravatar_id":"","url":"https://api.github.com/users/apollographql","html_url":"https://github.com/apollographql","followers_url":"https://api.github.com/users/apollographql/followers","following_url":"https://api.github.com/users/apollographql/following{/other_user}","gists_url":"https://api.github.com/users/apollographql/gists{/gist_id}","starred_url":"https://api.github.com/users/apollographql/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/apollographql/subscriptions","organizations_url":"https://api.github.com/users/apollographql/orgs","repos_url":"https://api.github.com/users/apollographql/repos","events_url":"https://api.github.com/users/apollographql/events{/privacy}","received_events_url":"https://api.github.com/users/apollographql/received_events","type":"Organization","site_admin":false},"repo":{"id":65563448,"node_id":"MDEwOlJlcG9zaXRvcnk2NTU2MzQ0OA==","name":"apollo-tooling","full_name":"apollographql/apollo-tooling","private":false,"owner":{"login":"apollographql","id":17189275,"node_id":"MDEyOk9yZ2FuaXphdGlvbjE3MTg5Mjc1","avatar_url":"https://avatars0.githubusercontent.com/u/17189275?v=4","gravatar_id":"","url":"https://api.github.com/users/apollographql","html_url":"https://github.com/apollographql","followers_url":"https://api.github.com/users/apollographql/followers","following_url":"https://api.github.com/users/apollographql/following{/other_user}","gists_url":"https://api.github.com/users/apollographql/gists{/gist_id}","starred_url":"https://api.github.com/users/apollographql/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/apollographql/subscriptions","organizations_url":"https://api.github.com/users/apollographql/orgs","repos_url":"https://api.github.com/users/apollographql/repos","events_url":"https://api.github.com/users/apollographql/events{/privacy}","received_events_url":"https://api.github.com/users/apollographql/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/apollographql/apollo-tooling","description":"✏️ Tooling for development and production Apollo workflows","fork":false,"url":"https://api.github.com/repos/apollographql/apollo-tooling","forks_url":"https://api.github.com/repos/apollographql/apollo-tooling/forks","keys_url":"https://api.github.com/repos/apollographql/apollo-tooling/keys{/key_id}","collaborators_url":"https://api.github.com/repos/apollographql/apollo-tooling/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/apollographql/apollo-tooling/teams","hooks_url":"https://api.github.com/repos/apollographql/apollo-tooling/hooks","issue_events_url":"https://api.github.com/repos/apollographql/apollo-tooling/issues/events{/number}","events_url":"https://api.github.com/repos/apollographql/apollo-tooling/events","assignees_url":"https://api.github.com/repos/apollographql/apollo-tooling/assignees{/user}","branches_url":"https://api.github.com/repos/apollographql/apollo-tooling/branches{/branch}","tags_url":"https://api.github.com/repos/apollographql/apollo-tooling/tags","blobs_url":"https://api.github.com/repos/apollographql/apollo-tooling/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/apollographql/apollo-tooling/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/apollographql/apollo-tooling/git/refs{/sha}","trees_url":"https://api.github.com/repos/apollographql/apollo-tooling/git/trees{/sha}","statuses_url":"https://api.github.com/repos/apollographql/apollo-tooling/statuses/{sha}","languages_url":"https://api.github.com/repos/apollographql/apollo-tooling/languages","stargazers_url":"https://api.github.com/repos/apollographql/apollo-tooling/stargazers","contributors_url":"https://api.github.com/repos/apollographql/apollo-tooling/contributors","subscribers_url":"https://api.github.com/repos/apollographql/apollo-tooling/subscribers","subscription_url":"https://api.github.com/repos/apollographql/apollo-tooling/subscription","commits_url":"https://api.github.com/repos/apollographql/apollo-tooling/commits{/sha}","git_commits_url":"https://api.github.com/repos/apollographql/apollo-tooling/git/commits{/sha}","comments_url":"https://api.github.com/repos/apollographql/apollo-tooling/comments{/number}","issue_comment_url":"https://api.github.com/repos/apollographql/apollo-tooling/issues/comments{/number}","contents_url":"https://api.github.com/repos/apollographql/apollo-tooling/contents/{+path}","compare_url":"https://api.github.com/repos/apollographql/apollo-tooling/compare/{base}...{head}","merges_url":"https://api.github.com/repos/apollographql/apollo-tooling/merges","archive_url":"https://api.github.com/repos/apollographql/apollo-tooling/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/apollographql/apollo-tooling/downloads","issues_url":"https://api.github.com/repos/apollographql/apollo-tooling/issues{/number}","pulls_url":"https://api.github.com/repos/apollographql/apollo-tooling/pulls{/number}","milestones_url":"https://api.github.com/repos/apollographql/apollo-tooling/milestones{/number}","notifications_url":"https://api.github.com/repos/apollographql/apollo-tooling/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/apollographql/apollo-tooling/labels{/name}","releases_url":"https://api.github.com/repos/apollographql/apollo-tooling/releases{/id}","deployments_url":"https://api.github.com/repos/apollographql/apollo-tooling/deployments","created_at":"2016-08-12T15:28:09Z","updated_at":"2019-06-26T21:13:19Z","pushed_at":"2019-06-26T17:07:42Z","git_url":"git://github.com/apollographql/apollo-tooling.git","ssh_url":"git@github.com:apollographql/apollo-tooling.git","clone_url":"https://github.com/apollographql/apollo-tooling.git","svn_url":"https://github.com/apollographql/apollo-tooling","homepage":"https://apollographql.com","size":13386,"stargazers_count":1932,"watchers_count":1932,"language":"TypeScript","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":297,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":158,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"},"forks":297,"open_issues":158,"watchers":1932,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/apollographql/apollo-tooling/pulls/1358"},"html":{"href":"https://github.com/apollographql/apollo-tooling/pull/1358"},"issue":{"href":"https://api.github.com/repos/apollographql/apollo-tooling/issues/1358"},"comments":{"href":"https://api.github.com/repos/apollographql/apollo-tooling/issues/1358/comments"},"review_comments":{"href":"https://api.github.com/repos/apollographql/apollo-tooling/pulls/1358/comments"},"review_comment":{"href":"https://api.github.com/repos/apollographql/apollo-tooling/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/apollographql/apollo-tooling/pulls/1358/commits"},"statuses":{"href":"https://api.github.com/repos/apollographql/apollo-tooling/statuses/451e931698211bd6daafd8f8ae27cc403ffca7db"}},"author_association":"NONE"}}
{"actor":{"display_login":"mayakoneval"}}