{"action":"created","comment":{"url":"https://api.github.com/repos/firebase/firebase-js-sdk/pulls/comments/153668829","pull_request_review_id":79708579,"id":153668829,"diff_hunk":"@@ -0,0 +1,86 @@\n+/**\n+ * Copyright 2017 Google Inc.\n+ *\n+ * Licensed under the Apache License, Version 2.0 (the \"License\");\n+ * you may not use this file except in compliance with the License.\n+ * You may obtain a copy of the License at\n+ *\n+ *   http://www.apache.org/licenses/LICENSE-2.0\n+ *\n+ * Unless required by applicable law or agreed to in writing, software\n+ * distributed under the License is distributed on an \"AS IS\" BASIS,\n+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n+ * See the License for the specific language governing permissions and\n+ * limitations under the License.\n+ */\n+\n+export type FirebaseOptions = {\n+  apiKey?: string;\n+  authDomain?: string;\n+  databaseURL?: string;\n+  projectId?: string;\n+  storageBucket?: string;\n+  messagingSenderId?: string;\n+  [name: string]: any;\n+};\n+\n+export class FirebaseApp {\n+  constructor();\n+  /**\n+   * The (read-only) name (identifier) for this App. '[DEFAULT]' is the default\n+   * App.\n+   */\n+  name: string;\n+\n+  /**\n+   * The (read-only) configuration options from the app initialization.\n+   */\n+  options: FirebaseOptions;\n+\n+  /**\n+   * Make the given App unusable and free resources.\n+   */\n+  delete(): Promise<void>;\n+}\n+\n+export interface FirebaseNamespace {\n+  /**\n+   * Create (and intialize) a FirebaseApp.\n+   *\n+   * @param options Options to configure the services use in the App.\n+   * @param name The optional name of the app to initialize ('[DEFAULT]' if\n+   *   none)\n+   */\n+  initializeApp(options: FirebaseOptions, name?: string): FirebaseApp;\n+\n+  app: {\n+    /**\n+     * Retrieve an instance of a FirebaseApp.\n+     *\n+     * Usage: firebase.app()\n+     *\n+     * @param name The optional name of the app to return ('[DEFAULT]' if none)\n+     */\n+    (name?: string): FirebaseApp;\n+\n+    /**\n+     * For testing FirebaseApp instances:\n+     *  app() instanceof firebase.app.App\n+     *\n+     * DO NOT call this constuctor directly (use firebase.app() instead).","path":"packages/app-types/index.d.ts","position":69,"original_position":70,"commit_id":"0dd8060dab6685de58347ad416b7fe1d37bc1549","original_commit_id":"25c506a2c3c8e80e660a8c81e1f9b31d600705fa","user":{"login":"jshcrowthe","id":5588878,"avatar_url":"https://avatars2.githubusercontent.com/u/5588878?v=4","gravatar_id":"","url":"https://api.github.com/users/jshcrowthe","html_url":"https://github.com/jshcrowthe","followers_url":"https://api.github.com/users/jshcrowthe/followers","following_url":"https://api.github.com/users/jshcrowthe/following{/other_user}","gists_url":"https://api.github.com/users/jshcrowthe/gists{/gist_id}","starred_url":"https://api.github.com/users/jshcrowthe/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jshcrowthe/subscriptions","organizations_url":"https://api.github.com/users/jshcrowthe/orgs","repos_url":"https://api.github.com/users/jshcrowthe/repos","events_url":"https://api.github.com/users/jshcrowthe/events{/privacy}","received_events_url":"https://api.github.com/users/jshcrowthe/received_events","type":"User","site_admin":false},"body":"Calling the `PublicFirestore` constructor directly results in an Error being thrown, whereas the other components provide valid constructors to the firebase.<component>.<Component> path.\r\n\r\nIt's a way to prevent people from instantiating the class themselves, but it is a change in the current behavior of the SDK. We do specify in our documentation that the constructors (presumably valid) exist at that path even though we say not to use it.\r\n\r\nEither way, if this is a change we really want to pursue, I'd say let's do it in follow up rather than in this PR.","created_at":"2017-11-29T00:58:35Z","updated_at":"2017-11-29T00:58:36Z","html_url":"https://github.com/firebase/firebase-js-sdk/pull/334#discussion_r153668829","pull_request_url":"https://api.github.com/repos/firebase/firebase-js-sdk/pulls/334","author_association":"MEMBER","_links":{"self":{"href":"https://api.github.com/repos/firebase/firebase-js-sdk/pulls/comments/153668829"},"html":{"href":"https://github.com/firebase/firebase-js-sdk/pull/334#discussion_r153668829"},"pull_request":{"href":"https://api.github.com/repos/firebase/firebase-js-sdk/pulls/334"}},"in_reply_to_id":153365990},"pull_request":{"url":"https://api.github.com/repos/firebase/firebase-js-sdk/pulls/334","id":154942766,"html_url":"https://github.com/firebase/firebase-js-sdk/pull/334","diff_url":"https://github.com/firebase/firebase-js-sdk/pull/334.diff","patch_url":"https://github.com/firebase/firebase-js-sdk/pull/334.patch","issue_url":"https://api.github.com/repos/firebase/firebase-js-sdk/issues/334","number":334,"state":"open","locked":false,"title":"Typings Refactor","user":{"login":"jshcrowthe","id":5588878,"avatar_url":"https://avatars2.githubusercontent.com/u/5588878?v=4","gravatar_id":"","url":"https://api.github.com/users/jshcrowthe","html_url":"https://github.com/jshcrowthe","followers_url":"https://api.github.com/users/jshcrowthe/followers","following_url":"https://api.github.com/users/jshcrowthe/following{/other_user}","gists_url":"https://api.github.com/users/jshcrowthe/gists{/gist_id}","starred_url":"https://api.github.com/users/jshcrowthe/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jshcrowthe/subscriptions","organizations_url":"https://api.github.com/users/jshcrowthe/orgs","repos_url":"https://api.github.com/users/jshcrowthe/repos","events_url":"https://api.github.com/users/jshcrowthe/events{/privacy}","received_events_url":"https://api.github.com/users/jshcrowthe/received_events","type":"User","site_admin":false},"body":"This PR refactors the single top level `firebase` package curated types into a series of 6 \"types packages.\"\r\n\r\nThey are:\r\n\r\n- `@firebase/app-types`\r\n- `@firebase/auth-types`\r\n- `@firebase/database-types`\r\n- `@firebase/firestore-types`\r\n- `@firebase/messaging-types`\r\n- `@firebase/storage-types`\r\n\r\nEach of these \"types packages\" defines the curated public interface and is used to generate our typings for the rest of the SDK.\r\n\r\nEach component is encouraged to `implement`/`extend` these interfaces in their implementation directly (see the `firestore` package for a great example of this being done consistently throughout a codebase). Allowing the type system to validate that we are in fact exposing the interface we think we are.\r\n\r\n## Review Guide\r\n\r\nAll reviewers should take a look at the following commits as it pertains to their component (i.e. look at `packages/app`, `packages/<COMPONENT>`, `packages/<COMPONENT>-types`, and `packages/firebase/<COMPONENT>` in each of these commits:\r\n\r\n- d85410f - @firebase/app type refactor (`@firebase/auth` reviewer can skip this section)\r\n- 9786607 - Adding the typings fields\r\n- 51cff8d - Adding type package deps\r\n- 086971e - Changes to the top level package\r\n\r\nBroken down for each package owner are the package specific changes that were made:\r\n\r\n### Auth\r\n\r\n<details>\r\n<summary>Open to see relevant changes</summary>\r\n\r\n- 26ba65f - Initial changes to auth structure\r\n- c7e9892 - Adding the @firebase/auth types\r\n\r\n</details>\r\n\r\n\r\n### Database\r\n\r\n<details>\r\n<summary>Open to see relevant changes</summary>\r\n\r\n- f16c975 - Initial changes to database structure\r\n- 0c93766 - Adding the @firebase/database types\r\n\r\n</details>\r\n\r\n### Firestore\r\n\r\n<details>\r\n<summary>Open to see relevant changes</summary>\r\n\r\n- 5b334fc - Initial changes to firestore structure\r\n- 244ae14 - Adding the @firebase/firestore types\r\n\r\n</details>\r\n\r\n### Messaging\r\n\r\n<details>\r\n<summary>Open to see relevant changes</summary>\r\n\r\n- 376d80c - Initial changes to messaging structure\r\n- aa1f7b0 - Adding the @firebase/messaging types\r\n\r\n</details>\r\n\r\n### Storage\r\n\r\n<details>\r\n<summary>Open to see relevant changes</summary>\r\n\r\n- fd26887 - Initial changes to storage structure\r\n- 30e8354 - Adding the @firebase/storage types\r\n\r\n</details>\r\n\r\nThere are a couple of cosmetic commits in there and a bugfix or two where an approach wasn't doing what I needed to do. Those commits don't actually change any code in what I have highlighted but move it to locations where everything works as expected.\r\n\r\n### Testing Flow\r\n\r\nI manually validated these changes doing the following:\r\n\r\n1. Run the following in your terminal (at the root of the package):\r\n    `$(npm bin)/lerna exec --scope @firebase/* --scope firebase -- yarn link`\r\n1. Create a separate sandbox directory to test changes\r\n1. Run `yarn link <COMPONENT>` for every component I intend to test\r\n\r\n    _e.g._\r\n    ```\r\n    $ yarn link @firebase/app\r\n    $ yarn link @firebase/messaging\r\n    ```\r\n1. Create a stub .ts file and import the components I linked.\r\n1. Exercise the API as I'd expect it to work.\r\n\r\n### Testing\r\n\r\nAdditionally (and I will continue adding to this), I have added a `test` folder to each `@fireabse/*-types` package. In this I can exercise the API as I'd expect and ensure that the file properly compiles. This tests the validity of the typings with regards to our expected use cases. These files will never actually be run so I don't need to make them semantically correct, we simply are using them to test all expected use cases (this is how the typings package [`DefinitelyTyped`](https://github.com/DefinitelyTyped/DefinitelyTyped#create-a-new-package) tests the typings for each respective package. ","created_at":"2017-11-27T23:25:14Z","updated_at":"2017-11-29T00:58:36Z","closed_at":null,"merged_at":null,"merge_commit_sha":"22671a355fcd72119c8c2e4fa56c84e8bd332480","assignee":{"login":"gauntface","id":139760,"avatar_url":"https://avatars0.githubusercontent.com/u/139760?v=4","gravatar_id":"","url":"https://api.github.com/users/gauntface","html_url":"https://github.com/gauntface","followers_url":"https://api.github.com/users/gauntface/followers","following_url":"https://api.github.com/users/gauntface/following{/other_user}","gists_url":"https://api.github.com/users/gauntface/gists{/gist_id}","starred_url":"https://api.github.com/users/gauntface/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gauntface/subscriptions","organizations_url":"https://api.github.com/users/gauntface/orgs","repos_url":"https://api.github.com/users/gauntface/repos","events_url":"https://api.github.com/users/gauntface/events{/privacy}","received_events_url":"https://api.github.com/users/gauntface/received_events","type":"User","site_admin":false},"assignees":[{"login":"gauntface","id":139760,"avatar_url":"https://avatars0.githubusercontent.com/u/139760?v=4","gravatar_id":"","url":"https://api.github.com/users/gauntface","html_url":"https://github.com/gauntface","followers_url":"https://api.github.com/users/gauntface/followers","following_url":"https://api.github.com/users/gauntface/following{/other_user}","gists_url":"https://api.github.com/users/gauntface/gists{/gist_id}","starred_url":"https://api.github.com/users/gauntface/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gauntface/subscriptions","organizations_url":"https://api.github.com/users/gauntface/orgs","repos_url":"https://api.github.com/users/gauntface/repos","events_url":"https://api.github.com/users/gauntface/events{/privacy}","received_events_url":"https://api.github.com/users/gauntface/received_events","type":"User","site_admin":false},{"login":"mikelehen","id":206364,"avatar_url":"https://avatars1.githubusercontent.com/u/206364?v=4","gravatar_id":"","url":"https://api.github.com/users/mikelehen","html_url":"https://github.com/mikelehen","followers_url":"https://api.github.com/users/mikelehen/followers","following_url":"https://api.github.com/users/mikelehen/following{/other_user}","gists_url":"https://api.github.com/users/mikelehen/gists{/gist_id}","starred_url":"https://api.github.com/users/mikelehen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mikelehen/subscriptions","organizations_url":"https://api.github.com/users/mikelehen/orgs","repos_url":"https://api.github.com/users/mikelehen/repos","events_url":"https://api.github.com/users/mikelehen/events{/privacy}","received_events_url":"https://api.github.com/users/mikelehen/received_events","type":"User","site_admin":false},{"login":"sphippen","id":1566912,"avatar_url":"https://avatars0.githubusercontent.com/u/1566912?v=4","gravatar_id":"","url":"https://api.github.com/users/sphippen","html_url":"https://github.com/sphippen","followers_url":"https://api.github.com/users/sphippen/followers","following_url":"https://api.github.com/users/sphippen/following{/other_user}","gists_url":"https://api.github.com/users/sphippen/gists{/gist_id}","starred_url":"https://api.github.com/users/sphippen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sphippen/subscriptions","organizations_url":"https://api.github.com/users/sphippen/orgs","repos_url":"https://api.github.com/users/sphippen/repos","events_url":"https://api.github.com/users/sphippen/events{/privacy}","received_events_url":"https://api.github.com/users/sphippen/received_events","type":"User","site_admin":false},{"login":"bojeil-google","id":13474811,"avatar_url":"https://avatars1.githubusercontent.com/u/13474811?v=4","gravatar_id":"","url":"https://api.github.com/users/bojeil-google","html_url":"https://github.com/bojeil-google","followers_url":"https://api.github.com/users/bojeil-google/followers","following_url":"https://api.github.com/users/bojeil-google/following{/other_user}","gists_url":"https://api.github.com/users/bojeil-google/gists{/gist_id}","starred_url":"https://api.github.com/users/bojeil-google/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bojeil-google/subscriptions","organizations_url":"https://api.github.com/users/bojeil-google/orgs","repos_url":"https://api.github.com/users/bojeil-google/repos","events_url":"https://api.github.com/users/bojeil-google/events{/privacy}","received_events_url":"https://api.github.com/users/bojeil-google/received_events","type":"User","site_admin":false},{"login":"schmidt-sebastian","id":19397744,"avatar_url":"https://avatars3.githubusercontent.com/u/19397744?v=4","gravatar_id":"","url":"https://api.github.com/users/schmidt-sebastian","html_url":"https://github.com/schmidt-sebastian","followers_url":"https://api.github.com/users/schmidt-sebastian/followers","following_url":"https://api.github.com/users/schmidt-sebastian/following{/other_user}","gists_url":"https://api.github.com/users/schmidt-sebastian/gists{/gist_id}","starred_url":"https://api.github.com/users/schmidt-sebastian/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/schmidt-sebastian/subscriptions","organizations_url":"https://api.github.com/users/schmidt-sebastian/orgs","repos_url":"https://api.github.com/users/schmidt-sebastian/repos","events_url":"https://api.github.com/users/schmidt-sebastian/events{/privacy}","received_events_url":"https://api.github.com/users/schmidt-sebastian/received_events","type":"User","site_admin":false}],"requested_reviewers":[{"login":"sphippen","id":1566912,"avatar_url":"https://avatars0.githubusercontent.com/u/1566912?v=4","gravatar_id":"","url":"https://api.github.com/users/sphippen","html_url":"https://github.com/sphippen","followers_url":"https://api.github.com/users/sphippen/followers","following_url":"https://api.github.com/users/sphippen/following{/other_user}","gists_url":"https://api.github.com/users/sphippen/gists{/gist_id}","starred_url":"https://api.github.com/users/sphippen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sphippen/subscriptions","organizations_url":"https://api.github.com/users/sphippen/orgs","repos_url":"https://api.github.com/users/sphippen/repos","events_url":"https://api.github.com/users/sphippen/events{/privacy}","received_events_url":"https://api.github.com/users/sphippen/received_events","type":"User","site_admin":false},{"login":"TMSCH","id":2036827,"avatar_url":"https://avatars0.githubusercontent.com/u/2036827?v=4","gravatar_id":"","url":"https://api.github.com/users/TMSCH","html_url":"https://github.com/TMSCH","followers_url":"https://api.github.com/users/TMSCH/followers","following_url":"https://api.github.com/users/TMSCH/following{/other_user}","gists_url":"https://api.github.com/users/TMSCH/gists{/gist_id}","starred_url":"https://api.github.com/users/TMSCH/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/TMSCH/subscriptions","organizations_url":"https://api.github.com/users/TMSCH/orgs","repos_url":"https://api.github.com/users/TMSCH/repos","events_url":"https://api.github.com/users/TMSCH/events{/privacy}","received_events_url":"https://api.github.com/users/TMSCH/received_events","type":"User","site_admin":false},{"login":"wilhuff","id":10249104,"avatar_url":"https://avatars1.githubusercontent.com/u/10249104?v=4","gravatar_id":"","url":"https://api.github.com/users/wilhuff","html_url":"https://github.com/wilhuff","followers_url":"https://api.github.com/users/wilhuff/followers","following_url":"https://api.github.com/users/wilhuff/following{/other_user}","gists_url":"https://api.github.com/users/wilhuff/gists{/gist_id}","starred_url":"https://api.github.com/users/wilhuff/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wilhuff/subscriptions","organizations_url":"https://api.github.com/users/wilhuff/orgs","repos_url":"https://api.github.com/users/wilhuff/repos","events_url":"https://api.github.com/users/wilhuff/events{/privacy}","received_events_url":"https://api.github.com/users/wilhuff/received_events","type":"User","site_admin":false},{"login":"bojeil-google","id":13474811,"avatar_url":"https://avatars1.githubusercontent.com/u/13474811?v=4","gravatar_id":"","url":"https://api.github.com/users/bojeil-google","html_url":"https://github.com/bojeil-google","followers_url":"https://api.github.com/users/bojeil-google/followers","following_url":"https://api.github.com/users/bojeil-google/following{/other_user}","gists_url":"https://api.github.com/users/bojeil-google/gists{/gist_id}","starred_url":"https://api.github.com/users/bojeil-google/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bojeil-google/subscriptions","organizations_url":"https://api.github.com/users/bojeil-google/orgs","repos_url":"https://api.github.com/users/bojeil-google/repos","events_url":"https://api.github.com/users/bojeil-google/events{/privacy}","received_events_url":"https://api.github.com/users/bojeil-google/received_events","type":"User","site_admin":false},{"login":"schmidt-sebastian","id":19397744,"avatar_url":"https://avatars3.githubusercontent.com/u/19397744?v=4","gravatar_id":"","url":"https://api.github.com/users/schmidt-sebastian","html_url":"https://github.com/schmidt-sebastian","followers_url":"https://api.github.com/users/schmidt-sebastian/followers","following_url":"https://api.github.com/users/schmidt-sebastian/following{/other_user}","gists_url":"https://api.github.com/users/schmidt-sebastian/gists{/gist_id}","starred_url":"https://api.github.com/users/schmidt-sebastian/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/schmidt-sebastian/subscriptions","organizations_url":"https://api.github.com/users/schmidt-sebastian/orgs","repos_url":"https://api.github.com/users/schmidt-sebastian/repos","events_url":"https://api.github.com/users/schmidt-sebastian/events{/privacy}","received_events_url":"https://api.github.com/users/schmidt-sebastian/received_events","type":"User","site_admin":false},{"login":"wti806","id":32399754,"avatar_url":"https://avatars3.githubusercontent.com/u/32399754?v=4","gravatar_id":"","url":"https://api.github.com/users/wti806","html_url":"https://github.com/wti806","followers_url":"https://api.github.com/users/wti806/followers","following_url":"https://api.github.com/users/wti806/following{/other_user}","gists_url":"https://api.github.com/users/wti806/gists{/gist_id}","starred_url":"https://api.github.com/users/wti806/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wti806/subscriptions","organizations_url":"https://api.github.com/users/wti806/orgs","repos_url":"https://api.github.com/users/wti806/repos","events_url":"https://api.github.com/users/wti806/events{/privacy}","received_events_url":"https://api.github.com/users/wti806/received_events","type":"User","site_admin":false}],"milestone":null,"commits_url":"https://api.github.com/repos/firebase/firebase-js-sdk/pulls/334/commits","review_comments_url":"https://api.github.com/repos/firebase/firebase-js-sdk/pulls/334/comments","review_comment_url":"https://api.github.com/repos/firebase/firebase-js-sdk/pulls/comments{/number}","comments_url":"https://api.github.com/repos/firebase/firebase-js-sdk/issues/334/comments","statuses_url":"https://api.github.com/repos/firebase/firebase-js-sdk/statuses/0dd8060dab6685de58347ad416b7fe1d37bc1549","head":{"label":"firebase:typings","ref":"typings","sha":"0dd8060dab6685de58347ad416b7fe1d37bc1549","user":{"login":"firebase","id":1335026,"avatar_url":"https://avatars2.githubusercontent.com/u/1335026?v=4","gravatar_id":"","url":"https://api.github.com/users/firebase","html_url":"https://github.com/firebase","followers_url":"https://api.github.com/users/firebase/followers","following_url":"https://api.github.com/users/firebase/following{/other_user}","gists_url":"https://api.github.com/users/firebase/gists{/gist_id}","starred_url":"https://api.github.com/users/firebase/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/firebase/subscriptions","organizations_url":"https://api.github.com/users/firebase/orgs","repos_url":"https://api.github.com/users/firebase/repos","events_url":"https://api.github.com/users/firebase/events{/privacy}","received_events_url":"https://api.github.com/users/firebase/received_events","type":"Organization","site_admin":false},"repo":{"id":89290483,"name":"firebase-js-sdk","full_name":"firebase/firebase-js-sdk","owner":{"login":"firebase","id":1335026,"avatar_url":"https://avatars2.githubusercontent.com/u/1335026?v=4","gravatar_id":"","url":"https://api.github.com/users/firebase","html_url":"https://github.com/firebase","followers_url":"https://api.github.com/users/firebase/followers","following_url":"https://api.github.com/users/firebase/following{/other_user}","gists_url":"https://api.github.com/users/firebase/gists{/gist_id}","starred_url":"https://api.github.com/users/firebase/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/firebase/subscriptions","organizations_url":"https://api.github.com/users/firebase/orgs","repos_url":"https://api.github.com/users/firebase/repos","events_url":"https://api.github.com/users/firebase/events{/privacy}","received_events_url":"https://api.github.com/users/firebase/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/firebase/firebase-js-sdk","description":"Firebase Javascript SDK","fork":false,"url":"https://api.github.com/repos/firebase/firebase-js-sdk","forks_url":"https://api.github.com/repos/firebase/firebase-js-sdk/forks","keys_url":"https://api.github.com/repos/firebase/firebase-js-sdk/keys{/key_id}","collaborators_url":"https://api.github.com/repos/firebase/firebase-js-sdk/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/firebase/firebase-js-sdk/teams","hooks_url":"https://api.github.com/repos/firebase/firebase-js-sdk/hooks","issue_events_url":"https://api.github.com/repos/firebase/firebase-js-sdk/issues/events{/number}","events_url":"https://api.github.com/repos/firebase/firebase-js-sdk/events","assignees_url":"https://api.github.com/repos/firebase/firebase-js-sdk/assignees{/user}","branches_url":"https://api.github.com/repos/firebase/firebase-js-sdk/branches{/branch}","tags_url":"https://api.github.com/repos/firebase/firebase-js-sdk/tags","blobs_url":"https://api.github.com/repos/firebase/firebase-js-sdk/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/firebase/firebase-js-sdk/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/firebase/firebase-js-sdk/git/refs{/sha}","trees_url":"https://api.github.com/repos/firebase/firebase-js-sdk/git/trees{/sha}","statuses_url":"https://api.github.com/repos/firebase/firebase-js-sdk/statuses/{sha}","languages_url":"https://api.github.com/repos/firebase/firebase-js-sdk/languages","stargazers_url":"https://api.github.com/repos/firebase/firebase-js-sdk/stargazers","contributors_url":"https://api.github.com/repos/firebase/firebase-js-sdk/contributors","subscribers_url":"https://api.github.com/repos/firebase/firebase-js-sdk/subscribers","subscription_url":"https://api.github.com/repos/firebase/firebase-js-sdk/subscription","commits_url":"https://api.github.com/repos/firebase/firebase-js-sdk/commits{/sha}","git_commits_url":"https://api.github.com/repos/firebase/firebase-js-sdk/git/commits{/sha}","comments_url":"https://api.github.com/repos/firebase/firebase-js-sdk/comments{/number}","issue_comment_url":"https://api.github.com/repos/firebase/firebase-js-sdk/issues/comments{/number}","contents_url":"https://api.github.com/repos/firebase/firebase-js-sdk/contents/{+path}","compare_url":"https://api.github.com/repos/firebase/firebase-js-sdk/compare/{base}...{head}","merges_url":"https://api.github.com/repos/firebase/firebase-js-sdk/merges","archive_url":"https://api.github.com/repos/firebase/firebase-js-sdk/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/firebase/firebase-js-sdk/downloads","issues_url":"https://api.github.com/repos/firebase/firebase-js-sdk/issues{/number}","pulls_url":"https://api.github.com/repos/firebase/firebase-js-sdk/pulls{/number}","milestones_url":"https://api.github.com/repos/firebase/firebase-js-sdk/milestones{/number}","notifications_url":"https://api.github.com/repos/firebase/firebase-js-sdk/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/firebase/firebase-js-sdk/labels{/name}","releases_url":"https://api.github.com/repos/firebase/firebase-js-sdk/releases{/id}","deployments_url":"https://api.github.com/repos/firebase/firebase-js-sdk/deployments","created_at":"2017-04-24T21:52:11Z","updated_at":"2017-11-28T20:33:21Z","pushed_at":"2017-11-28T23:39:48Z","git_url":"git://github.com/firebase/firebase-js-sdk.git","ssh_url":"git@github.com:firebase/firebase-js-sdk.git","clone_url":"https://github.com/firebase/firebase-js-sdk.git","svn_url":"https://github.com/firebase/firebase-js-sdk","homepage":"https://firebase.google.com/docs/web/setup","size":13190,"stargazers_count":719,"watchers_count":719,"language":"TypeScript","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":74,"mirror_url":null,"archived":false,"open_issues_count":65,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0"},"forks":74,"open_issues":65,"watchers":719,"default_branch":"master"}},"base":{"label":"firebase:master","ref":"master","sha":"790fa1af995a2f89623b477757820708f7ce8ff1","user":{"login":"firebase","id":1335026,"avatar_url":"https://avatars2.githubusercontent.com/u/1335026?v=4","gravatar_id":"","url":"https://api.github.com/users/firebase","html_url":"https://github.com/firebase","followers_url":"https://api.github.com/users/firebase/followers","following_url":"https://api.github.com/users/firebase/following{/other_user}","gists_url":"https://api.github.com/users/firebase/gists{/gist_id}","starred_url":"https://api.github.com/users/firebase/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/firebase/subscriptions","organizations_url":"https://api.github.com/users/firebase/orgs","repos_url":"https://api.github.com/users/firebase/repos","events_url":"https://api.github.com/users/firebase/events{/privacy}","received_events_url":"https://api.github.com/users/firebase/received_events","type":"Organization","site_admin":false},"repo":{"id":89290483,"name":"firebase-js-sdk","full_name":"firebase/firebase-js-sdk","owner":{"login":"firebase","id":1335026,"avatar_url":"https://avatars2.githubusercontent.com/u/1335026?v=4","gravatar_id":"","url":"https://api.github.com/users/firebase","html_url":"https://github.com/firebase","followers_url":"https://api.github.com/users/firebase/followers","following_url":"https://api.github.com/users/firebase/following{/other_user}","gists_url":"https://api.github.com/users/firebase/gists{/gist_id}","starred_url":"https://api.github.com/users/firebase/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/firebase/subscriptions","organizations_url":"https://api.github.com/users/firebase/orgs","repos_url":"https://api.github.com/users/firebase/repos","events_url":"https://api.github.com/users/firebase/events{/privacy}","received_events_url":"https://api.github.com/users/firebase/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/firebase/firebase-js-sdk","description":"Firebase Javascript SDK","fork":false,"url":"https://api.github.com/repos/firebase/firebase-js-sdk","forks_url":"https://api.github.com/repos/firebase/firebase-js-sdk/forks","keys_url":"https://api.github.com/repos/firebase/firebase-js-sdk/keys{/key_id}","collaborators_url":"https://api.github.com/repos/firebase/firebase-js-sdk/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/firebase/firebase-js-sdk/teams","hooks_url":"https://api.github.com/repos/firebase/firebase-js-sdk/hooks","issue_events_url":"https://api.github.com/repos/firebase/firebase-js-sdk/issues/events{/number}","events_url":"https://api.github.com/repos/firebase/firebase-js-sdk/events","assignees_url":"https://api.github.com/repos/firebase/firebase-js-sdk/assignees{/user}","branches_url":"https://api.github.com/repos/firebase/firebase-js-sdk/branches{/branch}","tags_url":"https://api.github.com/repos/firebase/firebase-js-sdk/tags","blobs_url":"https://api.github.com/repos/firebase/firebase-js-sdk/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/firebase/firebase-js-sdk/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/firebase/firebase-js-sdk/git/refs{/sha}","trees_url":"https://api.github.com/repos/firebase/firebase-js-sdk/git/trees{/sha}","statuses_url":"https://api.github.com/repos/firebase/firebase-js-sdk/statuses/{sha}","languages_url":"https://api.github.com/repos/firebase/firebase-js-sdk/languages","stargazers_url":"https://api.github.com/repos/firebase/firebase-js-sdk/stargazers","contributors_url":"https://api.github.com/repos/firebase/firebase-js-sdk/contributors","subscribers_url":"https://api.github.com/repos/firebase/firebase-js-sdk/subscribers","subscription_url":"https://api.github.com/repos/firebase/firebase-js-sdk/subscription","commits_url":"https://api.github.com/repos/firebase/firebase-js-sdk/commits{/sha}","git_commits_url":"https://api.github.com/repos/firebase/firebase-js-sdk/git/commits{/sha}","comments_url":"https://api.github.com/repos/firebase/firebase-js-sdk/comments{/number}","issue_comment_url":"https://api.github.com/repos/firebase/firebase-js-sdk/issues/comments{/number}","contents_url":"https://api.github.com/repos/firebase/firebase-js-sdk/contents/{+path}","compare_url":"https://api.github.com/repos/firebase/firebase-js-sdk/compare/{base}...{head}","merges_url":"https://api.github.com/repos/firebase/firebase-js-sdk/merges","archive_url":"https://api.github.com/repos/firebase/firebase-js-sdk/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/firebase/firebase-js-sdk/downloads","issues_url":"https://api.github.com/repos/firebase/firebase-js-sdk/issues{/number}","pulls_url":"https://api.github.com/repos/firebase/firebase-js-sdk/pulls{/number}","milestones_url":"https://api.github.com/repos/firebase/firebase-js-sdk/milestones{/number}","notifications_url":"https://api.github.com/repos/firebase/firebase-js-sdk/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/firebase/firebase-js-sdk/labels{/name}","releases_url":"https://api.github.com/repos/firebase/firebase-js-sdk/releases{/id}","deployments_url":"https://api.github.com/repos/firebase/firebase-js-sdk/deployments","created_at":"2017-04-24T21:52:11Z","updated_at":"2017-11-28T20:33:21Z","pushed_at":"2017-11-28T23:39:48Z","git_url":"git://github.com/firebase/firebase-js-sdk.git","ssh_url":"git@github.com:firebase/firebase-js-sdk.git","clone_url":"https://github.com/firebase/firebase-js-sdk.git","svn_url":"https://github.com/firebase/firebase-js-sdk","homepage":"https://firebase.google.com/docs/web/setup","size":13190,"stargazers_count":719,"watchers_count":719,"language":"TypeScript","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":74,"mirror_url":null,"archived":false,"open_issues_count":65,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0"},"forks":74,"open_issues":65,"watchers":719,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/firebase/firebase-js-sdk/pulls/334"},"html":{"href":"https://github.com/firebase/firebase-js-sdk/pull/334"},"issue":{"href":"https://api.github.com/repos/firebase/firebase-js-sdk/issues/334"},"comments":{"href":"https://api.github.com/repos/firebase/firebase-js-sdk/issues/334/comments"},"review_comments":{"href":"https://api.github.com/repos/firebase/firebase-js-sdk/pulls/334/comments"},"review_comment":{"href":"https://api.github.com/repos/firebase/firebase-js-sdk/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/firebase/firebase-js-sdk/pulls/334/commits"},"statuses":{"href":"https://api.github.com/repos/firebase/firebase-js-sdk/statuses/0dd8060dab6685de58347ad416b7fe1d37bc1549"}},"author_association":"MEMBER"}}
{"actor":{"display_login":"jshcrowthe"}}