{"_id":"@arunava-innofied/fire","name":"@arunava-innofied/fire","dist-tags":{"latest":"17.0.2"},"versions":{"17.0.2":{"name":"@arunava-innofied/fire","version":"17.0.2","description":"Angular + Firebase = ❤️","scripts":{"test":"npm run build:jasmine && npm run test:node-esm && npm run test:chrome-headless","test:watch":"npx --yes firebase-tools emulators:exec --project=demo123 \"ng test --watch=true --browsers=Chrome\"","test:chrome":"npx --yes firebase-tools emulators:exec --project=demo123 \"ng test --watch=false --browsers=Chrome\"","test:firefox":"npx --yes firebase-tools emulators:exec --project=demo123 \"ng test --watch=false --browsers=Firefox\"","test:safari":"npx --yes firebase-tools emulators:exec --project=demo123 \"ng test --watch=false --browsers=SafariNative\"","test:chrome-headless":"npx --yes firebase-tools emulators:exec --project=demo123 \"ng test --watch=false --browsers=ChromeHeadless\"","test:firefox-headless":"npx --yes firebase-tools emulators:exec --project=demo123 \"ng test --watch=false --browsers=FirefoxHeadless\"","lint":"ng lint","test:node":"node -r tsconfig-paths/register ./dist/out-tsc/jasmine/tools/jasmine.mjs --input-type=commonjs","test:node-esm":"node -r tsconfig-paths/register ./dist/out-tsc/jasmine/tools/jasmine.mjs","test:typings":"node ./tools/run-typings-test.js","test:build":"bash ./test/ng-build/build.sh","test:all":"npm run test:node-esm && npm run test:chrome-headless && npm run test:typings && npm run test:build","build":"rimraf dist && tspc -p tsconfig.build.json && node --trace-warnings ./tools/build.js && npm pack ./dist/packages-dist","buildd":"tsc -p tsconfig.build.json && node --trace-warnings ./tools/build.js && npm pack ./dist/packages-dist","build:jasmine":"npx tsc -p tsconfig.jasmine.json --module es2015 && cp ./dist/out-tsc/jasmine/tools/jasmine.js ./dist/out-tsc/jasmine/tools/jasmine.mjs && npx tsc -p tsconfig.jasmine.json && cp ./dist/packages-dist/schematics/versions.json ./dist/out-tsc/jasmine/schematics","changelog":"conventional-changelog -p angular -i CHANGELOG.md -s -r 1"},"husky":{"hooks":{"pre-commit":"npm run lint"}},"schematics":"./dist/packages-dist/collection.json","builders":"./dist/packages-dist/builders.json","keywords":["angular","firebase","rxjs"],"repository":{"type":"git","url":"git+https://github.com/angular/angularfire.git"},"author":{"name":"davideast"},"license":"MIT","bugs":{"url":"https://github.com/angular/angularfire/issues"},"homepage":"https://github.com/angular/angularfire#readme","dependencies":{"@angular-devkit/architect":"~0.1700.0","@angular-devkit/core":"^17.0.0","@angular-devkit/schematics":"^17.0.0","@angular/common":"^17.0.0","@angular/compiler":"^17.0.0","@angular/core":"^17.0.0","@angular/platform-browser":"^17.0.0","@angular/platform-browser-dynamic":"^17.0.0","@angular/router":"^17.0.0","@schematics/angular":"^17.0.0","firebase":"^10.7.0","firebase-admin":"^9.11.1","firebase-functions":"^3.6.0","firebase-tools":"^13.0.0","fs-extra":"^8.0.1","fuzzy":"^0.1.3","husky":"^4.2.5","inquirer-autocomplete-prompt":"^1.0.1","jsonc-parser":"^3.0.0","open":"^7.0.3 || ^8.0.0","ora":"^5.3.0","rxfire":"^6.0.5","rxjs":"~7.8.0","semver":"^7.1.3","triple-beam":"^1.3.0","tslib":"^2.3.0","winston":"^3.0.0","zone.js":"~0.14.0"},"devDependencies":{"@angular-devkit/build-angular":"^17.0.0","@angular-eslint/builder":"17.1.1","@angular-eslint/eslint-plugin":"17.1.1","@angular-eslint/eslint-plugin-template":"17.1.1","@angular-eslint/schematics":"17.1.1","@angular-eslint/template-parser":"17.1.1","@angular/animations":"^17.0.0","@angular/cli":"^17.0.0","@angular/compiler-cli":"^17.0.0","@angular/platform-server":"^17.0.0","@types/fs-extra":"^7.0.0","@types/gzip-size":"^5.1.1","@types/inquirer":"^0.0.44","@types/jasmine":"^4.3.4","@types/lodash.isequal":"^4.5.5","@types/node":"^12.6.2 < 12.12.42","@types/request":"0.0.30","@types/semver":"^7.1.0","@types/triple-beam":"^1.3.0","@types/winston":"^2.4.4","@typescript-eslint/eslint-plugin":"6.13.1","@typescript-eslint/parser":"6.13.1","conventional-changelog-cli":"^1.2.0","cross-spawn":"^7.0.3","eslint":"^8.54.0","eslint-plugin-import":"^2.28.1","globals":"^13.21.0","globalthis":"^1.0.1","jasmine":"^5.0.0","jasmine-core":"~5.0.0","karma":"~6.4.0","karma-chrome-launcher":"~3.1.0","karma-coverage-istanbul-reporter":"~3.0.2","karma-firefox-launcher":"^2.1.0","karma-jasmine":"~5.1.0","karma-jasmine-html-reporter":"^2.1.0","karma-safarinative-launcher":"^1.1.0","ng-packagr":"^17.0.0","reflect-metadata":"^0.1.2","replace-in-file":"^5.0.2","rimraf":"^2.5.4","shelljs":"^0.8.0","ts-patch":"^3.0.2","ts-transformer-keys":"^0.4.2","tslint":"~6.1.0","typescript":"~5.2.2"},"typings":"index.d.ts","_id":"@arunava-innofied/fire@17.0.2","gitHead":"73b40da11f7f56884c86da9cbe1123f3d00bc866","_nodeVersion":"22.13.1","_npmVersion":"10.9.2","dist":{"integrity":"sha512-NXwA7AXi0LGrWajkzvmt+3YleRhzvoc66slpcImTQY+VyPrhNyfRLojYNpQE2MM7oH1vE1xUnGGiVrZZjU0XXQ==","shasum":"b46826cf1d1998535399803de0d058f9318b7e23","tarball":"https://registry.npmjs.org/@arunava-innofied/fire/-/fire-17.0.2.tgz","fileCount":1174,"unpackedSize":14450700,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDuRnI50l3VBp2RIIgqmoywlN/4dVbCwEJujISWTypZxAIgU2rYhqxtvjbjPkN6T9l6cQVm44m8xqCoAaTBoyXtv+U="}]},"_npmUser":{"name":"arunava-innofied","email":"arunava.ghosh@innofied.com"},"directories":{},"maintainers":[{"name":"arunava-innofied","email":"arunava.ghosh@innofied.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/fire_17.0.2_1739261518108_0.5025550613924838"},"_hasShrinkwrap":false}},"time":{"created":"2025-02-11T08:11:57.970Z","17.0.2":"2025-02-11T08:11:58.535Z","modified":"2025-02-11T08:11:58.817Z"},"maintainers":[{"name":"arunava-innofied","email":"arunava.ghosh@innofied.com"}],"description":"Angular + Firebase = ❤️","homepage":"https://github.com/angular/angularfire#readme","keywords":["angular","firebase","rxjs"],"repository":{"type":"git","url":"git+https://github.com/angular/angularfire.git"},"author":{"name":"davideast"},"bugs":{"url":"https://github.com/angular/angularfire/issues"},"license":"MIT","readme":"\n# AngularFire\n\nAngularFire smooths over the rough edges an Angular developer might encounter when implementing the framework-agnostic\n[Firebase JS SDK](https://github.com/firebase/firebase-js-sdk) & aims to provide a more natural developer experience\nby conforming to Angular conventions.\n\n<strong><pre>ng add @angular/fire</pre></strong>\n\n- **Dependency injection** - Provide and Inject Firebase services in your components\n- **Zone.js wrappers** - Stable zones allow proper functionality of service workers, forms, SSR, and pre-rendering\n- **Observable based** - Utilize RxJS rather than callbacks for realtime streams\n- **NgRx friendly API** - Integrate with NgRx using AngularFire's action based APIs.\n- **Lazy-loading** - AngularFire dynamically imports much of Firebase, reducing time to load your app\n- **Deploy schematics** - Get your Angular application deployed on Firebase Hosting with a single command\n- **Google Analytics** - Zero-effort Angular Router awareness in Google Analytics\n- **Router Guards** - Guard your Angular routes with built-in Firebase Authentication checks\n\n## Example use\n\n```ts\nimport { provideFirebaseApp, getApp, initializeApp } from '@angular/fire/app';\nimport { getFirestore, provideFirestore } from '@angular/fire/firestore';\n\n@NgModule({\n  imports: [\n    provideFirebaseApp(() => initializeApp({ ... })),\n    provideFirestore(() => getFirestore()),\n  ],\n  ...\n})\nexport class AppModule { }\n```\n\n```ts\nimport { inject } from '@angular/core';\nimport { Firestore, collectionData, collection } from '@angular/fire/firestore';\nimport { Observable } from 'rxjs';\n\ninterface Item {\n  name: string,\n  ...\n};\n\n@Component({\n  selector: 'app-root',\n  template: `\n  <ul>\n    <li *ngFor=\"let item of item$ | async\">\n      {{ item.name }}\n    </li>\n  </ul>\n  `\n})\nexport class AppComponent {\n  item$: Observable<Item[]>;\n  firestore: Firestore = inject(Firestore);\n\n  constructor() {\n    const itemCollection = collection(this.firestore, 'items');\n    this.item$ = collectionData(itemCollection);\n  }\n}\n```\n\n### Polyfills\n\nNeither AngularFire or Firebase ship with polyfills. To have compatibility across as wide-range of environments we suggest the following polyfills be added to your application:\n\n| API | Environments | Suggested Polyfill | License |\n|-----|--------------|--------------------|---------|\n| Various ES5+ features  | Safari &lt; 10 | [`core-js/stable`](https://github.com/zloirock/core-js#readme) | MIT |\n| `globalThis` | [Chrome &lt; 71<br>Safari &lt; 12.1<br>iOS &lt; 12.2<br>Node &lt; 12](https://caniuse.com/mdn-javascript_builtins_globalthis) | [`globalThis`](https://github.com/es-shims/globalThis#readme) | MIT |\n| `Proxy` | [Safari &lt; 10](https://caniuse.com/proxy) | [`proxy-polyfill`](https://github.com/GoogleChrome/proxy-polyfill#readme) | Apache 2.0 |\n| `fetch` | [Safari &lt; 10.1<br>iOS &lt; 10.3](https://caniuse.com/fetch) | [`cross-fetch`](https://github.com/lquixada/cross-fetch#readme) | MIT |\n\n## Resources\n\n[Quickstart](docs/install-and-setup.md) - Get your first application up and running by following our quickstart guide.\n\n[Contributing](CONTRIBUTING.md)\n\n[Stackblitz Template](https://stackblitz.com/edit/angular-fire-start) - Remember to set your Firebase configuration in `app/app.module.ts`.\n\n[Upgrading to v7.0? Check out our guide.](docs/version-7-upgrade.md)\n\n### Sample apps\n\nWe have three sample apps in this repository:\n\n1. [`samples/compat`](samples/compat) a kitchen sink application that demonstrates use of the \"compatibility\" API\n1. [`samples/modular`](samples/modular) a kitchen sink application that demonstrates the new tree-shakable API\n1. [`samples/advanced`](samples/advanced) the same app as `samples/modular` but demonstrates more advanced concepts such as Angular Universal state-transfer, dynamically importing Firebase feature modules, and Firestore data bundling.\n\n### Having troubles?\n\nGet help on our [Q&A board](https://github.com/angular/angularfire/discussions?discussions_q=category%3AQ%26A), the official [Firebase Mailing List](https://groups.google.com/forum/#!forum/firebase-talk), the [Firebase Community Slack](https://firebase.community/) (`#angularfire2`), the [Angular Community Discord](http://discord.gg/angular) (`#firebase`), [Gitter](https://gitter.im/angular/angularfire2), the [Firebase subreddit](https://www.reddit.com/r/firebase), or [Stack Overflow](https://stackoverflow.com/questions/tagged/angularfire2).\n\n> **NOTE:** AngularFire is maintained by Googlers but is not a supported Firebase product. Questions on the mailing list and issues filed here are answered on a <strong>best-effort basis</strong> by maintainers and other community members. If you are able to reproduce a problem with Firebase <em>outside of AngularFire's implementation</em>, please [file an issue on the Firebase JS SDK](https://github.com/firebase/firebase-js-sdk/issues) or reach out to the personalized [Firebase support channel](https://firebase.google.com/support/).\n\n## Developer Guide\n\nThis developer guide assimes you're using the new tree-shakable AngularFire API, [if you're looking for the compatability API you can find the documentation here](docs/compat.md).\n\n[See the v7 upgrade guide for more information on this change.](docs/version-7-upgrade.md).\n\n### Firebase product integrations\n\n<table>\n  <tr>\n    <td>\n\n#### [Analytics](docs/analytics.md#analytics)\n```ts\nimport { } from '@angular/fire/analytics';\n```\n</td>\n    <td>\n\n#### [Authentication](docs/auth.md#authentication)\n```ts\nimport { } from '@angular/fire/auth';\n```\n</td>\n  </tr>\n  <tr>\n    <td>\n\n#### [Cloud Firestore](docs/firestore.md#cloud-firestore)\n```ts\nimport { } from '@angular/fire/firestore';\n```\n</td>\n    <td>\n\n#### [Cloud Functions](docs/functions.md#cloud-functions)\n```ts\nimport { } from '@angular/fire/functions';\n```\n</td>\n  </tr>\n  <tr>\n    <td>\n\n#### [Cloud Messaging](docs/messaging.md#cloud-messaging)\n```ts\nimport { } from '@angular/fire/messaging';\n```\n</td>\n    <td>\n\n#### [Cloud Storage](docs/storage.md#cloud-storage)\n```ts\nimport { } from '@angular/fire/storage';\n```\n</td>\n  </tr>\n  <tr>\n    <td>\n\n#### [Performance Monitoring](docs/performance.md#performance-monitoring)\n```ts\nimport { } from '@angular/fire/performance';\n```\n</td>\n    <td>\n\n#### [Realtime Database](docs/database.md#realtime-database)\n```ts\nimport { } from '@angular/fire/database';\n```\n</td>\n  </tr>\n  <tr>\n    <td>\n\n#### [Remote Config](docs/remote-config.md#remote-config)\n```ts\nimport { } from '@angular/fire/remote-config';\n```\n</td>\n    <td>\n\n#### [App Check](docs/app-check.md#app-check)\n```ts\nimport { } from '@angular/fire/app-check';\n```\n</td>\n  </tr>\n</table>\n\n### Deploying your site\n\n* Deploy to Firebase Hosting\n* Angular Universal: Deploy to Cloud Functions\n* Angular Universal: Deploy to Cloud Run\n","readmeFilename":"README.md"}