@angular/fire 7.6.1 → 16.0.0-canary.e04cd7f
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/analytics/is-analytics-supported-factory.d.ts +4 -0
- package/auth-guard/auth-guard.d.ts +4 -4
- package/compat/auth/auth.d.ts +1 -1
- package/compat/auth-guard/auth-guard.d.ts +6 -4
- package/compat/database/interfaces.d.ts +12 -12
- package/compat/firestore/interfaces.d.ts +17 -17
- package/compat/proxy.d.ts +8 -8
- package/compat/remote-config/interfaces.d.ts +1 -1
- package/compat/storage/interfaces.d.ts +8 -8
- package/compat/storage/pipes/storageUrl.pipe.d.ts +1 -1
- package/core.d.ts +1 -12
- package/esm2022/analytics/analytics.module.mjs +94 -0
- package/esm2022/analytics/is-analytics-supported-factory.mjs +16 -0
- package/esm2022/analytics/overrides.mjs +3 -0
- package/esm2022/analytics/screen-tracking.service.mjs +147 -0
- package/esm2022/analytics/user-tracking.service.mjs +44 -0
- package/esm2022/app/app.module.mjs +84 -0
- package/esm2022/app-check/app-check.module.mjs +80 -0
- package/{esm2015/auth/auth.module.js → esm2022/auth/auth.module.mjs} +8 -8
- package/esm2022/auth-guard/auth-guard.mjs +51 -0
- package/{esm2015/auth-guard/auth-guard.module.js → esm2022/auth-guard/auth-guard.module.mjs} +5 -5
- package/esm2022/compat/analytics/analytics.mjs +161 -0
- package/{esm2015/compat/analytics/analytics.module.js → esm2022/compat/analytics/analytics.module.mjs} +5 -5
- package/esm2022/compat/analytics/screen-tracking.service.mjs +49 -0
- package/esm2022/compat/analytics/user-tracking.service.mjs +53 -0
- package/esm2022/compat/auth/auth.mjs +161 -0
- package/{esm2015/compat/auth/auth.module.js → esm2022/compat/auth/auth.module.mjs} +5 -5
- package/{esm2015/compat/auth/public_api.js → esm2022/compat/auth/public_api.mjs} +1 -1
- package/esm2022/compat/auth-guard/auth-guard.mjs +51 -0
- package/{esm2015/compat/auth-guard/auth-guard.module.js → esm2022/compat/auth-guard/auth-guard.module.mjs} +5 -5
- package/{esm2015/compat/cache.js → esm2022/compat/cache.mjs} +3 -3
- package/esm2022/compat/database/database.mjs +119 -0
- package/{esm2015/compat/database/database.module.js → esm2022/compat/database/database.module.mjs} +5 -5
- package/esm2022/compat/database/list/create-reference.mjs +44 -0
- package/{esm2015/compat/firebase.app.module.js → esm2022/compat/firebase.app.module.mjs} +11 -11
- package/esm2022/compat/firestore/collection/changes.mjs +108 -0
- package/esm2022/compat/firestore/collection/collection.mjs +123 -0
- package/esm2022/compat/firestore/collection-group/collection-group.mjs +86 -0
- package/esm2022/compat/firestore/document/document.mjs +87 -0
- package/esm2022/compat/firestore/firestore.mjs +257 -0
- package/{esm2015/compat/firestore/firestore.module.js → esm2022/compat/firestore/firestore.module.mjs} +5 -5
- package/esm2022/compat/firestore/interfaces.mjs +2 -0
- package/esm2022/compat/firestore/observable/fromRef.mjs +40 -0
- package/esm2022/compat/functions/functions.mjs +69 -0
- package/{esm2015/compat/functions/functions.module.js → esm2022/compat/functions/functions.module.mjs} +5 -5
- package/{esm2015/compat/functions/public_api.js → esm2022/compat/functions/public_api.mjs} +1 -1
- package/esm2022/compat/messaging/messaging.mjs +80 -0
- package/{esm2015/compat/messaging/messaging.module.js → esm2022/compat/messaging/messaging.module.mjs} +5 -5
- package/{esm2015/compat/performance/performance.js → esm2022/compat/performance/performance.mjs} +7 -6
- package/{esm2015/compat/performance/performance.module.js → esm2022/compat/performance/performance.module.mjs} +5 -5
- package/esm2022/compat/performance/performance.service.mjs +27 -0
- package/esm2022/compat/proxy.mjs +59 -0
- package/esm2022/compat/remote-config/remote-config.mjs +207 -0
- package/{esm2015/compat/remote-config/remote-config.module.js → esm2022/compat/remote-config/remote-config.module.mjs} +5 -5
- package/esm2022/compat/storage/pipes/storageUrl.pipe.mjs +58 -0
- package/esm2022/compat/storage/storage.mjs +95 -0
- package/{esm2015/compat/storage/storage.module.js → esm2022/compat/storage/storage.module.mjs} +5 -5
- package/esm2022/core.mjs +37 -0
- package/{esm2015/database/database.module.js → esm2022/database/database.module.mjs} +8 -8
- package/{esm2015/firestore/firestore.module.js → esm2022/firestore/firestore.module.mjs} +8 -8
- package/{esm2015/firestore/lite/lite.module.js → esm2022/firestore/lite/lite.module.mjs} +8 -8
- package/esm2022/firestore/rxfire.mjs +15 -0
- package/{esm2015/functions/functions.module.js → esm2022/functions/functions.module.mjs} +8 -8
- package/esm2022/messaging/is-messaging-supported-factory.mjs +16 -0
- package/esm2022/messaging/messaging.module.mjs +86 -0
- package/esm2022/messaging/overrides.mjs +3 -0
- package/{esm2015/performance/performance.module.js → esm2022/performance/performance.module.mjs} +8 -8
- package/esm2022/remote-config/is-remote-config-supported-factory.mjs +16 -0
- package/esm2022/remote-config/overrides.mjs +3 -0
- package/esm2022/remote-config/remote-config.module.mjs +86 -0
- package/{esm2015/storage/storage.module.js → esm2022/storage/storage.module.mjs} +8 -8
- package/esm2022/zones.mjs +196 -0
- package/{fesm2015/angular-fire-analytics.js → fesm2022/angular-fire-analytics.mjs} +61 -38
- package/fesm2022/angular-fire-analytics.mjs.map +1 -0
- package/{fesm2015/angular-fire-app-check.js → fesm2022/angular-fire-app-check.mjs} +9 -10
- package/fesm2022/angular-fire-app-check.mjs.map +1 -0
- package/{fesm2015/angular-fire-app.js → fesm2022/angular-fire-app.mjs} +8 -8
- package/fesm2022/angular-fire-app.mjs.map +1 -0
- package/{fesm2015/angular-fire-auth-guard.js → fesm2022/angular-fire-auth-guard.mjs} +25 -23
- package/fesm2022/angular-fire-auth-guard.mjs.map +1 -0
- package/{fesm2015/angular-fire-auth.js → fesm2022/angular-fire-auth.mjs} +8 -8
- package/fesm2022/angular-fire-auth.mjs.map +1 -0
- package/{fesm2015/angular-fire-compat-analytics.js → fesm2022/angular-fire-compat-analytics.mjs} +28 -28
- package/fesm2022/angular-fire-compat-analytics.mjs.map +1 -0
- package/{fesm2015/angular-fire-compat-auth-guard.js → fesm2022/angular-fire-compat-auth-guard.mjs} +25 -23
- package/fesm2022/angular-fire-compat-auth-guard.mjs.map +1 -0
- package/{fesm2015/angular-fire-compat-auth.js → fesm2022/angular-fire-compat-auth.mjs} +32 -10
- package/fesm2022/angular-fire-compat-auth.mjs.map +1 -0
- package/{fesm2015/angular-fire-compat-database.js → fesm2022/angular-fire-compat-database.mjs} +17 -12
- package/fesm2022/angular-fire-compat-database.mjs.map +1 -0
- package/{fesm2015/angular-fire-compat-firestore.js → fesm2022/angular-fire-compat-firestore.mjs} +37 -16
- package/fesm2022/angular-fire-compat-firestore.mjs.map +1 -0
- package/{fesm2015/angular-fire-compat-functions.js → fesm2022/angular-fire-compat-functions.mjs} +10 -9
- package/fesm2022/angular-fire-compat-functions.mjs.map +1 -0
- package/{fesm2015/angular-fire-compat-messaging.js → fesm2022/angular-fire-compat-messaging.mjs} +20 -15
- package/fesm2022/angular-fire-compat-messaging.mjs.map +1 -0
- package/{fesm2015/angular-fire-compat-performance.js → fesm2022/angular-fire-compat-performance.mjs} +16 -15
- package/fesm2022/angular-fire-compat-performance.mjs.map +1 -0
- package/{fesm2015/angular-fire-compat-remote-config.js → fesm2022/angular-fire-compat-remote-config.mjs} +33 -19
- package/fesm2022/angular-fire-compat-remote-config.mjs.map +1 -0
- package/{fesm2015/angular-fire-compat-storage.js → fesm2022/angular-fire-compat-storage.mjs} +23 -18
- package/fesm2022/angular-fire-compat-storage.mjs.map +1 -0
- package/{fesm2015/angular-fire-compat.js → fesm2022/angular-fire-compat.mjs} +15 -17
- package/fesm2022/angular-fire-compat.mjs.map +1 -0
- package/{fesm2015/angular-fire-database.js → fesm2022/angular-fire-database.mjs} +8 -8
- package/fesm2022/angular-fire-database.mjs.map +1 -0
- package/{fesm2015/angular-fire-firestore-lite.js → fesm2022/angular-fire-firestore-lite.mjs} +8 -8
- package/fesm2022/angular-fire-firestore-lite.mjs.map +1 -0
- package/{fesm2015/angular-fire-firestore.js → fesm2022/angular-fire-firestore.mjs} +12 -10
- package/fesm2022/angular-fire-firestore.mjs.map +1 -0
- package/{fesm2015/angular-fire-functions.js → fesm2022/angular-fire-functions.mjs} +8 -8
- package/fesm2022/angular-fire-functions.mjs.map +1 -0
- package/{fesm2015/angular-fire-messaging.js → fesm2022/angular-fire-messaging.mjs} +33 -19
- package/fesm2022/angular-fire-messaging.mjs.map +1 -0
- package/{fesm2015/angular-fire-performance.js → fesm2022/angular-fire-performance.mjs} +8 -8
- package/fesm2022/angular-fire-performance.mjs.map +1 -0
- package/{fesm2015/angular-fire-remote-config.js → fesm2022/angular-fire-remote-config.mjs} +34 -20
- package/fesm2022/angular-fire-remote-config.mjs.map +1 -0
- package/{fesm2015/angular-fire-storage.js → fesm2022/angular-fire-storage.mjs} +8 -8
- package/fesm2022/angular-fire-storage.mjs.map +1 -0
- package/{fesm2015/angular-fire.js → fesm2022/angular-fire.mjs} +23 -52
- package/fesm2022/angular-fire.mjs.map +1 -0
- package/firestore/rxfire.d.ts +3 -1
- package/messaging/is-messaging-supported-factory.d.ts +4 -0
- package/package.json +158 -7
- package/publish.sh +1 -0
- package/remote-config/is-remote-config-supported-factory.d.ts +4 -0
- package/schematics/add/index.js +1 -1
- package/schematics/common.js +8 -4
- package/schematics/deploy/actions.js +59 -59
- package/schematics/deploy/builder.js +5 -5
- package/schematics/firebaseTools.js +9 -5
- package/schematics/setup/index.js +24 -23
- package/schematics/setup/prompts.js +20 -15
- package/schematics/update/v7/index.js +5 -5
- package/schematics/utils.js +30 -30
- package/README.md +0 -216
- package/analytics/package.json +0 -11
- package/app/package.json +0 -11
- package/app-check/package.json +0 -11
- package/auth/package.json +0 -11
- package/auth-guard/package.json +0 -11
- package/bundles/angular-fire-analytics.umd.js +0 -673
- package/bundles/angular-fire-analytics.umd.js.map +0 -1
- package/bundles/angular-fire-app-check.umd.js +0 -465
- package/bundles/angular-fire-app-check.umd.js.map +0 -1
- package/bundles/angular-fire-app.umd.js +0 -477
- package/bundles/angular-fire-app.umd.js.map +0 -1
- package/bundles/angular-fire-auth-guard.umd.js +0 -109
- package/bundles/angular-fire-auth-guard.umd.js.map +0 -1
- package/bundles/angular-fire-auth.umd.js +0 -557
- package/bundles/angular-fire-auth.umd.js.map +0 -1
- package/bundles/angular-fire-compat-analytics.umd.js +0 -672
- package/bundles/angular-fire-compat-analytics.umd.js.map +0 -1
- package/bundles/angular-fire-compat-auth-guard.umd.js +0 -112
- package/bundles/angular-fire-compat-auth-guard.umd.js.map +0 -1
- package/bundles/angular-fire-compat-auth.umd.js +0 -559
- package/bundles/angular-fire-compat-auth.umd.js.map +0 -1
- package/bundles/angular-fire-compat-database.umd.js +0 -799
- package/bundles/angular-fire-compat-database.umd.js.map +0 -1
- package/bundles/angular-fire-compat-firestore.umd.js +0 -1073
- package/bundles/angular-fire-compat-firestore.umd.js.map +0 -1
- package/bundles/angular-fire-compat-functions.umd.js +0 -443
- package/bundles/angular-fire-compat-functions.umd.js.map +0 -1
- package/bundles/angular-fire-compat-messaging.umd.js +0 -465
- package/bundles/angular-fire-compat-messaging.umd.js.map +0 -1
- package/bundles/angular-fire-compat-performance.umd.js +0 -212
- package/bundles/angular-fire-compat-performance.umd.js.map +0 -1
- package/bundles/angular-fire-compat-remote-config.umd.js +0 -605
- package/bundles/angular-fire-compat-remote-config.umd.js.map +0 -1
- package/bundles/angular-fire-compat-storage.umd.js +0 -598
- package/bundles/angular-fire-compat-storage.umd.js.map +0 -1
- package/bundles/angular-fire-compat.umd.js +0 -535
- package/bundles/angular-fire-compat.umd.js.map +0 -1
- package/bundles/angular-fire-database.umd.js +0 -557
- package/bundles/angular-fire-database.umd.js.map +0 -1
- package/bundles/angular-fire-firestore-lite.umd.js +0 -531
- package/bundles/angular-fire-firestore-lite.umd.js.map +0 -1
- package/bundles/angular-fire-firestore.umd.js +0 -565
- package/bundles/angular-fire-firestore.umd.js.map +0 -1
- package/bundles/angular-fire-functions.umd.js +0 -461
- package/bundles/angular-fire-functions.umd.js.map +0 -1
- package/bundles/angular-fire-messaging.umd.js +0 -473
- package/bundles/angular-fire-messaging.umd.js.map +0 -1
- package/bundles/angular-fire-performance.umd.js +0 -473
- package/bundles/angular-fire-performance.umd.js.map +0 -1
- package/bundles/angular-fire-remote-config.umd.js +0 -499
- package/bundles/angular-fire-remote-config.umd.js.map +0 -1
- package/bundles/angular-fire-storage.umd.js +0 -485
- package/bundles/angular-fire-storage.umd.js.map +0 -1
- package/bundles/angular-fire.umd.js +0 -308
- package/bundles/angular-fire.umd.js.map +0 -1
- package/compat/analytics/package.json +0 -11
- package/compat/auth/package.json +0 -11
- package/compat/auth-guard/package.json +0 -11
- package/compat/database/package.json +0 -11
- package/compat/firestore/package.json +0 -11
- package/compat/functions/package.json +0 -11
- package/compat/messaging/package.json +0 -11
- package/compat/package.json +0 -11
- package/compat/performance/package.json +0 -11
- package/compat/remote-config/package.json +0 -11
- package/compat/storage/package.json +0 -11
- package/database/package.json +0 -11
- package/docs/analytics.md +0 -67
- package/docs/app-check.md +0 -53
- package/docs/auth.md +0 -165
- package/docs/compat/analytics/getting-started.md +0 -137
- package/docs/compat/auth/getting-started.md +0 -162
- package/docs/compat/auth/router-guards.md +0 -104
- package/docs/compat/emulators/emulators.md +0 -134
- package/docs/compat/firestore/collections.md +0 -326
- package/docs/compat/firestore/documents.md +0 -115
- package/docs/compat/firestore/offline-data.md +0 -39
- package/docs/compat/firestore/querying-collections.md +0 -204
- package/docs/compat/functions/functions.md +0 -166
- package/docs/compat/messaging/messaging.md +0 -232
- package/docs/compat/performance/getting-started.md +0 -132
- package/docs/compat/remote-config/getting-started.md +0 -134
- package/docs/compat/rtdb/lists.md +0 -257
- package/docs/compat/rtdb/objects.md +0 -182
- package/docs/compat/rtdb/querying-lists.md +0 -155
- package/docs/compat/storage/storage.md +0 -257
- package/docs/compat.md +0 -70
- package/docs/database.md +0 -175
- package/docs/deploy/getting-started.md +0 -204
- package/docs/firebase.json +0 -16
- package/docs/firestore.md +0 -148
- package/docs/functions.md +0 -52
- package/docs/images/analytics-illo_1x.png +0 -0
- package/docs/images/auth-illo_1x.png +0 -0
- package/docs/images/cloud-messaging-illo_1x.png +0 -0
- package/docs/images/database-illo_1x.png +0 -0
- package/docs/images/firestore-illo_1x.png +0 -0
- package/docs/images/functions-illo_1x.png +0 -0
- package/docs/images/hosting-illo_1x.png +0 -0
- package/docs/images/performance-illo_1x.png +0 -0
- package/docs/images/reCAPTCHA-logo@1x.png +0 -0
- package/docs/images/remote-config-illo_1x.png +0 -0
- package/docs/images/storage-illo_1x.png +0 -0
- package/docs/install-and-setup.md +0 -114
- package/docs/install-angular-cli-windows10.md +0 -82
- package/docs/messaging.md +0 -25
- package/docs/performance.md +0 -57
- package/docs/remote-config.md +0 -53
- package/docs/storage.md +0 -90
- package/docs/universal/cloud-functions.md +0 -75
- package/docs/universal/getting-started.md +0 -153
- package/docs/universal/prerendering.md +0 -72
- package/docs/version-4-upgrade.md +0 -119
- package/docs/version-5-upgrade.md +0 -82
- package/docs/version-6-upgrade.md +0 -16
- package/docs/version-7-upgrade.md +0 -298
- package/esm2015/analytics/analytics.module.js +0 -93
- package/esm2015/analytics/overrides.js +0 -3
- package/esm2015/analytics/screen-tracking.service.js +0 -139
- package/esm2015/analytics/user-tracking.service.js +0 -43
- package/esm2015/app/app.module.js +0 -84
- package/esm2015/app-check/app-check.module.js +0 -81
- package/esm2015/auth-guard/auth-guard.js +0 -49
- package/esm2015/compat/analytics/analytics.js +0 -163
- package/esm2015/compat/analytics/screen-tracking.service.js +0 -49
- package/esm2015/compat/analytics/user-tracking.service.js +0 -52
- package/esm2015/compat/auth/auth.js +0 -139
- package/esm2015/compat/auth-guard/auth-guard.js +0 -49
- package/esm2015/compat/database/database.js +0 -117
- package/esm2015/compat/database/list/create-reference.js +0 -41
- package/esm2015/compat/firestore/collection/changes.js +0 -107
- package/esm2015/compat/firestore/collection/collection.js +0 -117
- package/esm2015/compat/firestore/collection-group/collection-group.js +0 -81
- package/esm2015/compat/firestore/document/document.js +0 -82
- package/esm2015/compat/firestore/firestore.js +0 -254
- package/esm2015/compat/firestore/interfaces.js +0 -2
- package/esm2015/compat/firestore/observable/fromRef.js +0 -39
- package/esm2015/compat/functions/functions.js +0 -68
- package/esm2015/compat/messaging/messaging.js +0 -75
- package/esm2015/compat/performance/performance.service.js +0 -27
- package/esm2015/compat/proxy.js +0 -61
- package/esm2015/compat/remote-config/remote-config.js +0 -193
- package/esm2015/compat/storage/pipes/storageUrl.pipe.js +0 -54
- package/esm2015/compat/storage/storage.js +0 -94
- package/esm2015/core.js +0 -79
- package/esm2015/firestore/rxfire.js +0 -13
- package/esm2015/messaging/messaging.module.js +0 -85
- package/esm2015/messaging/overrides.js +0 -3
- package/esm2015/remote-config/overrides.js +0 -3
- package/esm2015/remote-config/remote-config.module.js +0 -85
- package/esm2015/zones.js +0 -183
- package/fesm2015/angular-fire-analytics.js.map +0 -1
- package/fesm2015/angular-fire-app-check.js.map +0 -1
- package/fesm2015/angular-fire-app.js.map +0 -1
- package/fesm2015/angular-fire-auth-guard.js.map +0 -1
- package/fesm2015/angular-fire-auth.js.map +0 -1
- package/fesm2015/angular-fire-compat-analytics.js.map +0 -1
- package/fesm2015/angular-fire-compat-auth-guard.js.map +0 -1
- package/fesm2015/angular-fire-compat-auth.js.map +0 -1
- package/fesm2015/angular-fire-compat-database.js.map +0 -1
- package/fesm2015/angular-fire-compat-firestore.js.map +0 -1
- package/fesm2015/angular-fire-compat-functions.js.map +0 -1
- package/fesm2015/angular-fire-compat-messaging.js.map +0 -1
- package/fesm2015/angular-fire-compat-performance.js.map +0 -1
- package/fesm2015/angular-fire-compat-remote-config.js.map +0 -1
- package/fesm2015/angular-fire-compat-storage.js.map +0 -1
- package/fesm2015/angular-fire-compat.js.map +0 -1
- package/fesm2015/angular-fire-database.js.map +0 -1
- package/fesm2015/angular-fire-firestore-lite.js.map +0 -1
- package/fesm2015/angular-fire-firestore.js.map +0 -1
- package/fesm2015/angular-fire-functions.js.map +0 -1
- package/fesm2015/angular-fire-messaging.js.map +0 -1
- package/fesm2015/angular-fire-performance.js.map +0 -1
- package/fesm2015/angular-fire-remote-config.js.map +0 -1
- package/fesm2015/angular-fire-storage.js.map +0 -1
- package/fesm2015/angular-fire.js.map +0 -1
- package/firestore/lite/package.json +0 -11
- package/firestore/package.json +0 -11
- package/firestore-protos.js +0 -4
- package/functions/package.json +0 -11
- package/messaging/package.json +0 -11
- package/performance/package.json +0 -11
- package/remote-config/package.json +0 -11
- package/schematics/add/schema.json +0 -16
- package/schematics/builders.json +0 -10
- package/schematics/collection.json +0 -15
- package/schematics/deploy/schema.json +0 -119
- package/schematics/migration.json +0 -15
- package/schematics/setup/schema.json +0 -16
- package/storage/package.json +0 -11
- /package/analytics/{angular-fire-analytics.d.ts → index.d.ts} +0 -0
- /package/app/{angular-fire-app.d.ts → index.d.ts} +0 -0
- /package/app-check/{angular-fire-app-check.d.ts → index.d.ts} +0 -0
- /package/auth/{angular-fire-auth.d.ts → index.d.ts} +0 -0
- /package/auth-guard/{angular-fire-auth-guard.d.ts → index.d.ts} +0 -0
- /package/compat/analytics/{angular-fire-compat-analytics.d.ts → index.d.ts} +0 -0
- /package/compat/auth/{angular-fire-compat-auth.d.ts → index.d.ts} +0 -0
- /package/compat/auth-guard/{angular-fire-compat-auth-guard.d.ts → index.d.ts} +0 -0
- /package/compat/database/{angular-fire-compat-database.d.ts → index.d.ts} +0 -0
- /package/compat/firestore/{angular-fire-compat-firestore.d.ts → index.d.ts} +0 -0
- /package/compat/functions/{angular-fire-compat-functions.d.ts → index.d.ts} +0 -0
- /package/compat/{angular-fire-compat.d.ts → index.d.ts} +0 -0
- /package/compat/messaging/{angular-fire-compat-messaging.d.ts → index.d.ts} +0 -0
- /package/compat/performance/{angular-fire-compat-performance.d.ts → index.d.ts} +0 -0
- /package/compat/remote-config/{angular-fire-compat-remote-config.d.ts → index.d.ts} +0 -0
- /package/compat/storage/{angular-fire-compat-storage.d.ts → index.d.ts} +0 -0
- /package/database/{angular-fire-database.d.ts → index.d.ts} +0 -0
- /package/{esm2015/analytics/analytics.js → esm2022/analytics/analytics.mjs} +0 -0
- /package/{esm2015/analytics/angular-fire-analytics.js → esm2022/analytics/angular-fire-analytics.mjs} +0 -0
- /package/{esm2015/analytics/firebase.js → esm2022/analytics/firebase.mjs} +0 -0
- /package/{esm2015/analytics/public_api.js → esm2022/analytics/public_api.mjs} +0 -0
- /package/{esm2015/angular-fire.js → esm2022/angular-fire.mjs} +0 -0
- /package/{esm2015/app/angular-fire-app.js → esm2022/app/angular-fire-app.mjs} +0 -0
- /package/{esm2015/app/app.js → esm2022/app/app.mjs} +0 -0
- /package/{esm2015/app/firebase.js → esm2022/app/firebase.mjs} +0 -0
- /package/{esm2015/app/public_api.js → esm2022/app/public_api.mjs} +0 -0
- /package/{esm2015/app-check/angular-fire-app-check.js → esm2022/app-check/angular-fire-app-check.mjs} +0 -0
- /package/{esm2015/app-check/app-check.js → esm2022/app-check/app-check.mjs} +0 -0
- /package/{esm2015/app-check/firebase.js → esm2022/app-check/firebase.mjs} +0 -0
- /package/{esm2015/app-check/public_api.js → esm2022/app-check/public_api.mjs} +0 -0
- /package/{esm2015/auth/angular-fire-auth.js → esm2022/auth/angular-fire-auth.mjs} +0 -0
- /package/{esm2015/auth/auth.js → esm2022/auth/auth.mjs} +0 -0
- /package/{esm2015/auth/firebase.js → esm2022/auth/firebase.mjs} +0 -0
- /package/{esm2015/auth/public_api.js → esm2022/auth/public_api.mjs} +0 -0
- /package/{esm2015/auth/rxfire.js → esm2022/auth/rxfire.mjs} +0 -0
- /package/{esm2015/auth-guard/angular-fire-auth-guard.js → esm2022/auth-guard/angular-fire-auth-guard.mjs} +0 -0
- /package/{esm2015/auth-guard/public_api.js → esm2022/auth-guard/public_api.mjs} +0 -0
- /package/{esm2015/compat/analytics/angular-fire-compat-analytics.js → esm2022/compat/analytics/angular-fire-compat-analytics.mjs} +0 -0
- /package/{esm2015/compat/analytics/base.js → esm2022/compat/analytics/base.mjs} +0 -0
- /package/{esm2015/compat/analytics/public_api.js → esm2022/compat/analytics/public_api.mjs} +0 -0
- /package/{esm2015/compat/angular-fire-compat.js → esm2022/compat/angular-fire-compat.mjs} +0 -0
- /package/{esm2015/compat/auth/angular-fire-compat-auth.js → esm2022/compat/auth/angular-fire-compat-auth.mjs} +0 -0
- /package/{esm2015/compat/auth/base.js → esm2022/compat/auth/base.mjs} +0 -0
- /package/{esm2015/compat/auth-guard/angular-fire-compat-auth-guard.js → esm2022/compat/auth-guard/angular-fire-compat-auth-guard.mjs} +0 -0
- /package/{esm2015/compat/auth-guard/public_api.js → esm2022/compat/auth-guard/public_api.mjs} +0 -0
- /package/{esm2015/compat/database/angular-fire-compat-database.js → esm2022/compat/database/angular-fire-compat-database.mjs} +0 -0
- /package/{esm2015/compat/database/interfaces.js → esm2022/compat/database/interfaces.mjs} +0 -0
- /package/{esm2015/compat/database/list/audit-trail.js → esm2022/compat/database/list/audit-trail.mjs} +0 -0
- /package/{esm2015/compat/database/list/changes.js → esm2022/compat/database/list/changes.mjs} +0 -0
- /package/{esm2015/compat/database/list/data-operation.js → esm2022/compat/database/list/data-operation.mjs} +0 -0
- /package/{esm2015/compat/database/list/remove.js → esm2022/compat/database/list/remove.mjs} +0 -0
- /package/{esm2015/compat/database/list/snapshot-changes.js → esm2022/compat/database/list/snapshot-changes.mjs} +0 -0
- /package/{esm2015/compat/database/list/state-changes.js → esm2022/compat/database/list/state-changes.mjs} +0 -0
- /package/{esm2015/compat/database/list/utils.js → esm2022/compat/database/list/utils.mjs} +0 -0
- /package/{esm2015/compat/database/object/create-reference.js → esm2022/compat/database/object/create-reference.mjs} +0 -0
- /package/{esm2015/compat/database/object/snapshot-changes.js → esm2022/compat/database/object/snapshot-changes.mjs} +0 -0
- /package/{esm2015/compat/database/observable/fromRef.js → esm2022/compat/database/observable/fromRef.mjs} +0 -0
- /package/{esm2015/compat/database/public_api.js → esm2022/compat/database/public_api.mjs} +0 -0
- /package/{esm2015/compat/database/utils.js → esm2022/compat/database/utils.mjs} +0 -0
- /package/{esm2015/compat/firebase.app.js → esm2022/compat/firebase.app.mjs} +0 -0
- /package/{esm2015/compat/firestore/angular-fire-compat-firestore.js → esm2022/compat/firestore/angular-fire-compat-firestore.mjs} +0 -0
- /package/{esm2015/compat/firestore/public_api.js → esm2022/compat/firestore/public_api.mjs} +0 -0
- /package/{esm2015/compat/functions/angular-fire-compat-functions.js → esm2022/compat/functions/angular-fire-compat-functions.mjs} +0 -0
- /package/{esm2015/compat/functions/base.js → esm2022/compat/functions/base.mjs} +0 -0
- /package/{esm2015/compat/messaging/angular-fire-compat-messaging.js → esm2022/compat/messaging/angular-fire-compat-messaging.mjs} +0 -0
- /package/{esm2015/compat/messaging/base.js → esm2022/compat/messaging/base.mjs} +0 -0
- /package/{esm2015/compat/messaging/public_api.js → esm2022/compat/messaging/public_api.mjs} +0 -0
- /package/{esm2015/compat/performance/angular-fire-compat-performance.js → esm2022/compat/performance/angular-fire-compat-performance.mjs} +0 -0
- /package/{esm2015/compat/performance/base.js → esm2022/compat/performance/base.mjs} +0 -0
- /package/{esm2015/compat/performance/public_api.js → esm2022/compat/performance/public_api.mjs} +0 -0
- /package/{esm2015/compat/public_api.js → esm2022/compat/public_api.mjs} +0 -0
- /package/{esm2015/compat/remote-config/angular-fire-compat-remote-config.js → esm2022/compat/remote-config/angular-fire-compat-remote-config.mjs} +0 -0
- /package/{esm2015/compat/remote-config/base.js → esm2022/compat/remote-config/base.mjs} +0 -0
- /package/{esm2015/compat/remote-config/interfaces.js → esm2022/compat/remote-config/interfaces.mjs} +0 -0
- /package/{esm2015/compat/remote-config/public_api.js → esm2022/compat/remote-config/public_api.mjs} +0 -0
- /package/{esm2015/compat/storage/angular-fire-compat-storage.js → esm2022/compat/storage/angular-fire-compat-storage.mjs} +0 -0
- /package/{esm2015/compat/storage/interfaces.js → esm2022/compat/storage/interfaces.mjs} +0 -0
- /package/{esm2015/compat/storage/observable/fromTask.js → esm2022/compat/storage/observable/fromTask.mjs} +0 -0
- /package/{esm2015/compat/storage/public_api.js → esm2022/compat/storage/public_api.mjs} +0 -0
- /package/{esm2015/compat/storage/ref.js → esm2022/compat/storage/ref.mjs} +0 -0
- /package/{esm2015/compat/storage/task.js → esm2022/compat/storage/task.mjs} +0 -0
- /package/{esm2015/database/angular-fire-database.js → esm2022/database/angular-fire-database.mjs} +0 -0
- /package/{esm2015/database/database.js → esm2022/database/database.mjs} +0 -0
- /package/{esm2015/database/firebase.js → esm2022/database/firebase.mjs} +0 -0
- /package/{esm2015/database/public_api.js → esm2022/database/public_api.mjs} +0 -0
- /package/{esm2015/database/rxfire.js → esm2022/database/rxfire.mjs} +0 -0
- /package/{esm2015/firestore/angular-fire-firestore.js → esm2022/firestore/angular-fire-firestore.mjs} +0 -0
- /package/{esm2015/firestore/firebase.js → esm2022/firestore/firebase.mjs} +0 -0
- /package/{esm2015/firestore/firestore.js → esm2022/firestore/firestore.mjs} +0 -0
- /package/{esm2015/firestore/lite/angular-fire-firestore-lite.js → esm2022/firestore/lite/angular-fire-firestore-lite.mjs} +0 -0
- /package/{esm2015/firestore/lite/firebase.js → esm2022/firestore/lite/firebase.mjs} +0 -0
- /package/{esm2015/firestore/lite/lite.js → esm2022/firestore/lite/lite.mjs} +0 -0
- /package/{esm2015/firestore/lite/public_api.js → esm2022/firestore/lite/public_api.mjs} +0 -0
- /package/{esm2015/firestore/lite/rxfire.js → esm2022/firestore/lite/rxfire.mjs} +0 -0
- /package/{esm2015/firestore/public_api.js → esm2022/firestore/public_api.mjs} +0 -0
- /package/{esm2015/functions/angular-fire-functions.js → esm2022/functions/angular-fire-functions.mjs} +0 -0
- /package/{esm2015/functions/firebase.js → esm2022/functions/firebase.mjs} +0 -0
- /package/{esm2015/functions/functions.js → esm2022/functions/functions.mjs} +0 -0
- /package/{esm2015/functions/public_api.js → esm2022/functions/public_api.mjs} +0 -0
- /package/{esm2015/functions/rxfire.js → esm2022/functions/rxfire.mjs} +0 -0
- /package/{esm2015/messaging/angular-fire-messaging.js → esm2022/messaging/angular-fire-messaging.mjs} +0 -0
- /package/{esm2015/messaging/firebase.js → esm2022/messaging/firebase.mjs} +0 -0
- /package/{esm2015/messaging/messaging.js → esm2022/messaging/messaging.mjs} +0 -0
- /package/{esm2015/messaging/public_api.js → esm2022/messaging/public_api.mjs} +0 -0
- /package/{esm2015/performance/angular-fire-performance.js → esm2022/performance/angular-fire-performance.mjs} +0 -0
- /package/{esm2015/performance/firebase.js → esm2022/performance/firebase.mjs} +0 -0
- /package/{esm2015/performance/performance.js → esm2022/performance/performance.mjs} +0 -0
- /package/{esm2015/performance/public_api.js → esm2022/performance/public_api.mjs} +0 -0
- /package/{esm2015/performance/rxfire.js → esm2022/performance/rxfire.mjs} +0 -0
- /package/{esm2015/public_api.js → esm2022/public_api.mjs} +0 -0
- /package/{esm2015/remote-config/angular-fire-remote-config.js → esm2022/remote-config/angular-fire-remote-config.mjs} +0 -0
- /package/{esm2015/remote-config/firebase.js → esm2022/remote-config/firebase.mjs} +0 -0
- /package/{esm2015/remote-config/public_api.js → esm2022/remote-config/public_api.mjs} +0 -0
- /package/{esm2015/remote-config/remote-config.js → esm2022/remote-config/remote-config.mjs} +0 -0
- /package/{esm2015/remote-config/rxfire.js → esm2022/remote-config/rxfire.mjs} +0 -0
- /package/{esm2015/storage/angular-fire-storage.js → esm2022/storage/angular-fire-storage.mjs} +0 -0
- /package/{esm2015/storage/firebase.js → esm2022/storage/firebase.mjs} +0 -0
- /package/{esm2015/storage/public_api.js → esm2022/storage/public_api.mjs} +0 -0
- /package/{esm2015/storage/rxfire.js → esm2022/storage/rxfire.mjs} +0 -0
- /package/{esm2015/storage/storage.js → esm2022/storage/storage.mjs} +0 -0
- /package/firestore/{angular-fire-firestore.d.ts → index.d.ts} +0 -0
- /package/firestore/lite/{angular-fire-firestore-lite.d.ts → index.d.ts} +0 -0
- /package/functions/{angular-fire-functions.d.ts → index.d.ts} +0 -0
- /package/{angular-fire.d.ts → index.d.ts} +0 -0
- /package/messaging/{angular-fire-messaging.d.ts → index.d.ts} +0 -0
- /package/performance/{angular-fire-performance.d.ts → index.d.ts} +0 -0
- /package/remote-config/{angular-fire-remote-config.d.ts → index.d.ts} +0 -0
- /package/storage/{angular-fire-storage.d.ts → index.d.ts} +0 -0
|
@@ -1,114 +0,0 @@
|
|
|
1
|
-
# AngularFire Quickstart
|
|
2
|
-
|
|
3
|
-
### 1. Create a new project
|
|
4
|
-
|
|
5
|
-
```bash
|
|
6
|
-
# Using yarn create
|
|
7
|
-
yarn create @angular <project-name>
|
|
8
|
-
cd <project-name>
|
|
9
|
-
```
|
|
10
|
-
or
|
|
11
|
-
|
|
12
|
-
```bash
|
|
13
|
-
# Using npm create
|
|
14
|
-
npm create @angular <project-name>
|
|
15
|
-
cd <project-name>
|
|
16
|
-
```
|
|
17
|
-
|
|
18
|
-
optionally installing the tooling directly:
|
|
19
|
-
```bash
|
|
20
|
-
# Installing the tooling directly
|
|
21
|
-
npm install -g @angular/cli
|
|
22
|
-
ng new <project-name>
|
|
23
|
-
cd <project-name>
|
|
24
|
-
```
|
|
25
|
-
|
|
26
|
-
The Angular CLI's `new` command will set up the latest Angular build in a new project structure.
|
|
27
|
-
|
|
28
|
-
### 2. Install AngularFire and Firebase
|
|
29
|
-
|
|
30
|
-
```bash
|
|
31
|
-
ng add @angular/fire
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
Now that you have a new project setup, install AngularFire and Firebase from npm. This will complete the following tasks:
|
|
35
|
-
|
|
36
|
-
1. Add Firebase config to environments variables
|
|
37
|
-
2. Configure `@NgModule` for the `AngularFireModule`
|
|
38
|
-
|
|
39
|
-
### 3. Inject `Firestore`
|
|
40
|
-
|
|
41
|
-
Open `/src/app/app.component.ts`, and make the following changes to :
|
|
42
|
-
|
|
43
|
-
```ts
|
|
44
|
-
import { Component, inject } from '@angular/core';
|
|
45
|
-
import { Firestore } from '@angular/fire/firestore';
|
|
46
|
-
|
|
47
|
-
@Component({
|
|
48
|
-
selector: 'app-root',
|
|
49
|
-
templateUrl: 'app.component.html',
|
|
50
|
-
styleUrls: ['app.component.css']
|
|
51
|
-
})
|
|
52
|
-
export class AppComponent {
|
|
53
|
-
firestore: Firestore = inject(Firestore);
|
|
54
|
-
|
|
55
|
-
constructor() {
|
|
56
|
-
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
```
|
|
60
|
-
|
|
61
|
-
### 4. Bind a Firestore collection to a list
|
|
62
|
-
|
|
63
|
-
In `/src/app/app.component.ts`:
|
|
64
|
-
|
|
65
|
-
```ts
|
|
66
|
-
import { Component, inject } from '@angular/core';
|
|
67
|
-
import { Firestore, collection, collectionData } from '@angular/fire/firestore';
|
|
68
|
-
import { Observable } from 'rxjs';
|
|
69
|
-
|
|
70
|
-
@Component({
|
|
71
|
-
selector: 'app-root',
|
|
72
|
-
templateUrl: 'app.component.html',
|
|
73
|
-
styleUrls: ['app.component.css']
|
|
74
|
-
})
|
|
75
|
-
export class AppComponent {
|
|
76
|
-
firestore: Firestore = inject(Firestore)
|
|
77
|
-
items$: Observable<any[]>;
|
|
78
|
-
|
|
79
|
-
constructor() {
|
|
80
|
-
const aCollection = collection(this.firestore, 'items')
|
|
81
|
-
this.items$ = collectionData(aCollection);
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
```
|
|
85
|
-
|
|
86
|
-
Open `/src/app/app.component.html`:
|
|
87
|
-
|
|
88
|
-
```html
|
|
89
|
-
<ul>
|
|
90
|
-
<li class="text" *ngFor="let item of items | async">
|
|
91
|
-
{{item.name}}
|
|
92
|
-
</li>
|
|
93
|
-
</ul>
|
|
94
|
-
```
|
|
95
|
-
|
|
96
|
-
### 5. Run your app locally
|
|
97
|
-
|
|
98
|
-
```bash
|
|
99
|
-
ng serve
|
|
100
|
-
```
|
|
101
|
-
|
|
102
|
-
Your Angular app will compile and serve locally, visit it we should find an empty list.
|
|
103
|
-
|
|
104
|
-
In another tab [start adding data to an `items` collection in Firestore](https://firebase.google.com/docs/firestore/manage-data/add-data). *As we're not authenticating users yet, be sure to start Firestore in **test mode** or allow reading from the `items` collection in Security Rules (`allow read: if true`).*
|
|
105
|
-
|
|
106
|
-
Once you've created a `items` collection and are inserting documents, you should find data streaming into your Angular application and being rendered in your browser.
|
|
107
|
-
|
|
108
|
-
### 6. Deploy your app
|
|
109
|
-
|
|
110
|
-
Finally, we can deploy the application to Firebase hosting:
|
|
111
|
-
|
|
112
|
-
```bash
|
|
113
|
-
ng deploy
|
|
114
|
-
```
|
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
# Installing Angular CLI on Windows 10
|
|
2
|
-
|
|
3
|
-
> There had been installation issues of `@angular/cli` on Windows 10 system. Most of the time these errors are related to Python dependencies and node-gyp.
|
|
4
|
-
|
|
5
|
-
Something as below :
|
|
6
|
-
|
|
7
|
-
```bash
|
|
8
|
-
execSync@1.0.2 install C:\Users\User\AppData\Roaming\npm\node_modules\angu
|
|
9
|
-
lar-cli\node_modules\angular2-template-loader\node_modules\codecov\node_modules\
|
|
10
|
-
execSync
|
|
11
|
-
node install.js
|
|
12
|
-
|
|
13
|
-
[execsync v1.0.2] Attempting to compile native extensions.
|
|
14
|
-
{ [Error: spawn node-gyp ENOENT]
|
|
15
|
-
code: 'ENOENT',
|
|
16
|
-
errno: 'ENOENT',
|
|
17
|
-
syscall: 'spawn node-gyp',
|
|
18
|
-
path: 'node-gyp',
|
|
19
|
-
spawnargs: [ 'rebuild' ] }
|
|
20
|
-
[execSync v1.0.2]
|
|
21
|
-
Native code compile failed!!
|
|
22
|
-
Will try to use win32 extension.
|
|
23
|
-
npm WARN deprecated tough-cookie@2.2.2: ReDoS vulnerability parsing Set-Cookie h
|
|
24
|
-
ttps://nodesecurity.io/advisories/130
|
|
25
|
-
npm WARN deprecated minimatch@0.3.0: Please update to minimatch 3.0.2 or higher
|
|
26
|
-
to avoid a RegExp DoS issue
|
|
27
|
-
npm WARN deprecated minimatch@2.0.10: Please update to minimatch 3.0.2 or higher
|
|
28
|
-
to avoid a RegExp DoS issue
|
|
29
|
-
|
|
30
|
-
node-zopfli@2.0.1 install C:\Users\User\AppData\Roaming\npm\node_modules\a
|
|
31
|
-
ngular-cli\node_modules\compression-webpack-plugin\node_modules\node-zopfli
|
|
32
|
-
node-pre-gyp install --fallback-to-build
|
|
33
|
-
.......................
|
|
34
|
-
```
|
|
35
|
-
|
|
36
|
-
To resolve this issue, make sure you've upgraded to the latest version of **NPM** and try installing `@angular/cli` again. This seems to have worked on certain scenarios.
|
|
37
|
-
|
|
38
|
-
If the above doesn't work then the below steps should help. Please ensure all the commands are executed as an **Administrator**.
|
|
39
|
-
|
|
40
|
-
## Steps:
|
|
41
|
-
|
|
42
|
-
### 1) Install `node-gyp` from [here](https://github.com/nodejs/node-gyp) using NPM
|
|
43
|
-
|
|
44
|
-
```bash
|
|
45
|
-
npm install -g node-gyp
|
|
46
|
-
```
|
|
47
|
-
|
|
48
|
-
### 2) Install Windows build tools from [here](https://github.com/felixrieseberg/windows-build-tools) using NPM
|
|
49
|
-
|
|
50
|
-
```bash
|
|
51
|
-
npm install --global windows-build-tools
|
|
52
|
-
```
|
|
53
|
-
|
|
54
|
-
*This will also install Python
|
|
55
|
-
|
|
56
|
-
### 3) Install Angular CLI
|
|
57
|
-
|
|
58
|
-
```bash
|
|
59
|
-
npm install -g @angular/cli
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
This should install `@angular/cli` without errors.
|
|
63
|
-
|
|
64
|
-
#### Post this installation, follow the installation [guide](https://github.com/angular/angularfire2/blob/master/docs/install-and-setup.md) to install AngularFire and everything should work as expected.
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
### Note:
|
|
68
|
-
|
|
69
|
-
When you start your app using `ng serve` in the console, you might still see the below errors. Despite these errors, the application should work as expected and should be able to talk to Firebase.
|
|
70
|
-
|
|
71
|
-
```bash
|
|
72
|
-
ERROR in [default] C:\angularFire2Test\node_modules\angularfire2\interfaces.d.ts:12:34
|
|
73
|
-
Cannot find namespace 'firebase'.
|
|
74
|
-
|
|
75
|
-
ERROR in [default] C:\angularFire2Test\src\typings.d.ts:6:12
|
|
76
|
-
Subsequent variable declarations must have the same type. Variable 'require' must be of type 'NodeRequire',
|
|
77
|
-
but here has type 'any'.
|
|
78
|
-
|
|
79
|
-
ERROR in [default] C:\angularFire2Test\src\typings.d.ts:7:12
|
|
80
|
-
Subsequent variable declarations must have the same type. Variable 'module' must be of type 'NodeModule',
|
|
81
|
-
but here has type 'any'.
|
|
82
|
-
```
|
package/docs/messaging.md
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
<img align="right" width="30%" src="images/cloud-messaging-illo_1x.png">
|
|
2
|
-
|
|
3
|
-
<small>
|
|
4
|
-
<a href="https://github.com/angular/angularfire">AngularFire</a> ❱ <a href="../README.md#developer-guide">Developer Guide</a> ❱ Realtime Cloud Messaging
|
|
5
|
-
</small>
|
|
6
|
-
|
|
7
|
-
# Cloud Messaging
|
|
8
|
-
|
|
9
|
-
The FCM JavaScript API lets you receive notification messages in web apps running in browsers that support the Push API.
|
|
10
|
-
|
|
11
|
-
[Learn More](https://firebase.google.com/docs/cloud-messaging/)
|
|
12
|
-
|
|
13
|
-
## Dependency Injection
|
|
14
|
-
|
|
15
|
-
YADA YADA YADA
|
|
16
|
-
|
|
17
|
-
## Firebase API
|
|
18
|
-
|
|
19
|
-
Something something look at the offical docs
|
|
20
|
-
|
|
21
|
-
## Convenience observables
|
|
22
|
-
|
|
23
|
-
### Foo
|
|
24
|
-
|
|
25
|
-
bar baz
|
package/docs/performance.md
DELETED
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
<img align="right" width="30%" src="images/performance-illo_1x.png">
|
|
2
|
-
|
|
3
|
-
<small>
|
|
4
|
-
<a href="https://github.com/angular/angularfire">AngularFire</a> ❱ <a href="../README.md#developer-guide">Developer Guide</a> ❱ Realtime Performance Monitoring
|
|
5
|
-
</small>
|
|
6
|
-
|
|
7
|
-
# Performance Monitoring
|
|
8
|
-
|
|
9
|
-
Firebase Performance Monitoring is a service that helps you to gain insight into the performance characteristics of your Apple, Android, and web apps.
|
|
10
|
-
|
|
11
|
-
[Learn More](https://firebase.google.com/docs/perf-mon)
|
|
12
|
-
|
|
13
|
-
## Dependency Injection
|
|
14
|
-
|
|
15
|
-
As a prerequisite, ensure that `AngularFire` has been added to your project via
|
|
16
|
-
```bash
|
|
17
|
-
ng add @angular/fire
|
|
18
|
-
```
|
|
19
|
-
|
|
20
|
-
Provide a Performance instance and configuration in the application's `NgModule` (`app.module.ts`):
|
|
21
|
-
|
|
22
|
-
```ts
|
|
23
|
-
import { provideFirebaseApp, initializeApp } from '@angular/fire/app';
|
|
24
|
-
import { getPerformance, providePerformance} from '@angular/fire/performance';
|
|
25
|
-
|
|
26
|
-
@NgModule({
|
|
27
|
-
imports: [
|
|
28
|
-
provideFirebaseApp(() => initializeApp(environment.firebase)),
|
|
29
|
-
providePerformance(() => getPerformance()),
|
|
30
|
-
]
|
|
31
|
-
})
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
Next inject it into your component:
|
|
35
|
-
|
|
36
|
-
```ts
|
|
37
|
-
import { Component, inject} from '@angular/core';
|
|
38
|
-
import { Performance } from '@angular/fire/performance';
|
|
39
|
-
|
|
40
|
-
@Component({ ... })
|
|
41
|
-
export class PerformanceComponent {
|
|
42
|
-
private performance: Performance = inject(Performance);
|
|
43
|
-
...
|
|
44
|
-
}
|
|
45
|
-
```
|
|
46
|
-
|
|
47
|
-
## Firebase API
|
|
48
|
-
|
|
49
|
-
The [Performance documentation](https://firebase.google.com/docs/reference/js/performance.md#performance_package) is available on the Firebase website.
|
|
50
|
-
|
|
51
|
-
## Services
|
|
52
|
-
|
|
53
|
-
Coming soon.
|
|
54
|
-
|
|
55
|
-
## Convenience observables
|
|
56
|
-
|
|
57
|
-
Coming soon.
|
package/docs/remote-config.md
DELETED
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
<img align="right" width="30%" src="images/remote-config-illo_1x.png">
|
|
2
|
-
|
|
3
|
-
<small>
|
|
4
|
-
<a href="https://github.com/angular/angularfire">AngularFire</a> ❱ <a href="../README.md#developer-guide">Developer Guide</a> ❱ Realtime Remote Config
|
|
5
|
-
</small>
|
|
6
|
-
|
|
7
|
-
# Remote Config
|
|
8
|
-
|
|
9
|
-
Firebase Remote Config is a cloud service that lets you change the behavior and appearance of your app without requiring users to download an app update.
|
|
10
|
-
|
|
11
|
-
[Learn More](https://firebase.google.com/docs/remote-config/)
|
|
12
|
-
|
|
13
|
-
## Dependency Injection
|
|
14
|
-
|
|
15
|
-
As a prerequisite, ensure that `AngularFire` has been added to your project via
|
|
16
|
-
```bash
|
|
17
|
-
ng add @angular/fire
|
|
18
|
-
```
|
|
19
|
-
|
|
20
|
-
Provide a Performance instance and configuration in the application's `NgModule` (`app.module.ts`):
|
|
21
|
-
|
|
22
|
-
```ts
|
|
23
|
-
import { provideFirebaseApp, initializeApp } from '@angular/fire/app';
|
|
24
|
-
import { getRemoteConfig, provideRemoteConfig} from '@angular/fire/remote-config';
|
|
25
|
-
|
|
26
|
-
@NgModule({
|
|
27
|
-
imports: [
|
|
28
|
-
provideFirebaseApp(() => initializeApp(environment.firebase)),
|
|
29
|
-
provideRemoteConfig(() => getRemoteConfig()),
|
|
30
|
-
]
|
|
31
|
-
})
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
Next inject it into your component:
|
|
35
|
-
|
|
36
|
-
```ts
|
|
37
|
-
import { Component, inject} from '@angular/core';
|
|
38
|
-
import { RemoteConfig } from '@angular/fire/remote-config';
|
|
39
|
-
|
|
40
|
-
@Component({ ... })
|
|
41
|
-
export class RemoteConfigComponent {
|
|
42
|
-
private remoteConfig: RemoteConfig = inject(RemoteConfig);
|
|
43
|
-
...
|
|
44
|
-
}
|
|
45
|
-
```
|
|
46
|
-
|
|
47
|
-
## Firebase API
|
|
48
|
-
|
|
49
|
-
The [Remote Config documentation](https://firebase.google.com/docs/reference/js/remote-config) is available on the Firebase website.
|
|
50
|
-
|
|
51
|
-
## Convenience observables
|
|
52
|
-
|
|
53
|
-
Coming soon.
|
package/docs/storage.md
DELETED
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
<img align="right" width="30%" src="images/storage-illo_1x.png">
|
|
2
|
-
|
|
3
|
-
<small>
|
|
4
|
-
<a href="https://github.com/angular/angularfire">AngularFire</a> ❱ <a href="../README.md#developer-guide">Developer Guide</a> ❱ Realtime Cloud Storage
|
|
5
|
-
</small>
|
|
6
|
-
|
|
7
|
-
# Cloud Storage
|
|
8
|
-
|
|
9
|
-
Cloud Storage allows developers to upload and share user generated content such as images, video and more. Data is stored in Google Cloud Storage.
|
|
10
|
-
|
|
11
|
-
[Learn more](https://firebase.google.com/docs/storage)
|
|
12
|
-
|
|
13
|
-
## Dependency Injection
|
|
14
|
-
|
|
15
|
-
AngularFire allows you to work with Firebase Storage via Angular's Dependency Injection.
|
|
16
|
-
|
|
17
|
-
As a prerequisite, ensure that `AngularFire` has been added to your project via
|
|
18
|
-
```bash
|
|
19
|
-
ng add @angular/fire
|
|
20
|
-
```
|
|
21
|
-
|
|
22
|
-
Provide a Firebase Storage instance in the application's `NgModule` (`app.module.ts`):
|
|
23
|
-
|
|
24
|
-
```ts
|
|
25
|
-
import { provideFirebaseApp, initializeApp } from '@angular/fire/app';
|
|
26
|
-
import { getStorage, provideStorage } from '@angular/fire/storage';
|
|
27
|
-
|
|
28
|
-
@NgModule({
|
|
29
|
-
imports: [
|
|
30
|
-
provideFirebaseApp(() => initializeApp(environment.firebase)),
|
|
31
|
-
provideStorage(() => getStorage()),
|
|
32
|
-
]
|
|
33
|
-
})
|
|
34
|
-
```
|
|
35
|
-
|
|
36
|
-
Next inject it into your component:
|
|
37
|
-
|
|
38
|
-
```ts
|
|
39
|
-
import { Component, inject} from '@angular/core';
|
|
40
|
-
import { Storage } from '@angular/fire/storage';
|
|
41
|
-
|
|
42
|
-
@Component({ ... })
|
|
43
|
-
export class StorageComponent {
|
|
44
|
-
private storage: Storage = inject(Storage);
|
|
45
|
-
...
|
|
46
|
-
}
|
|
47
|
-
```
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
## Firebase API
|
|
51
|
-
|
|
52
|
-
AngularFire wraps the Firebase JS SDK to ensure proper functionality in Angular, while providing the same API.
|
|
53
|
-
|
|
54
|
-
Update the imports from `import { ... } from 'firebase/storage'` to `import { ... } from '@angular/fire/storage'` and follow the offical documentation.
|
|
55
|
-
|
|
56
|
-
[Getting Started](https://firebase.google.com/docs/storage/web/start) | [API Reference](https://firebase.google.com/docs/reference/js/storage)
|
|
57
|
-
|
|
58
|
-
## File Upload Example
|
|
59
|
-
|
|
60
|
-
```ts
|
|
61
|
-
import { Component, inject } from '@angular/core';
|
|
62
|
-
import { Storage, ref, uploadBytesResumable } from '@angular/fire/storage';
|
|
63
|
-
|
|
64
|
-
@Component({
|
|
65
|
-
selector: 'app-storage',
|
|
66
|
-
template: `
|
|
67
|
-
<h1>Storage</h1>
|
|
68
|
-
<label for="fileUpload">Choose a File</label>
|
|
69
|
-
<input id="fileUpload" type="file" #upload>
|
|
70
|
-
<button (click)="uploadFile(upload)">Upload</button>
|
|
71
|
-
`,
|
|
72
|
-
})
|
|
73
|
-
export class StorageComponent {
|
|
74
|
-
private readonly storage: Storage = inject(Storage);
|
|
75
|
-
|
|
76
|
-
uploadFile(input: HTMLInputElement) {
|
|
77
|
-
if (!input.files) return
|
|
78
|
-
|
|
79
|
-
const files: FileList = input.files;
|
|
80
|
-
|
|
81
|
-
for (let i = 0; i < files.length; i++) {
|
|
82
|
-
const file = files.item(i);
|
|
83
|
-
if (file) {
|
|
84
|
-
const storageRef = ref(this.storage, file.name);
|
|
85
|
-
uploadBytesResumable(storageRef, file);
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
```
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
# Deploying your Universal application on Cloud Functions for Firebase
|
|
2
|
-
|
|
3
|
-
After [setting up your application with Angular Universal as outlined in Getting Started](getting-started.md), you're now ready to build your application for Firebase Hosting & Cloud Functions.
|
|
4
|
-
|
|
5
|
-
> Cloud Functions for Firebase lets you automatically run backend code in response to events triggered by Firebase features and HTTPS requests. Your code is stored in Google's cloud and runs in a managed environment. There's no need to manage and scale your own servers. [Learn more about Cloud Functions for Firebase](https://firebase.google.com/docs/functions/).
|
|
6
|
-
|
|
7
|
-
If you don't already have the Firebase CLI installed, do so:
|
|
8
|
-
|
|
9
|
-
```bash
|
|
10
|
-
npm i -g firebase-tools
|
|
11
|
-
firebase login
|
|
12
|
-
```
|
|
13
|
-
|
|
14
|
-
Then inside your project root, setup your Firebase CLI project:
|
|
15
|
-
|
|
16
|
-
```bash
|
|
17
|
-
firebase init
|
|
18
|
-
```
|
|
19
|
-
|
|
20
|
-
Configure whichever features you'd want to manage but make sure to select at least `functions` and `hosting`. Choose Typescript for Cloud Functions and use the default `public` directory for Hosting.
|
|
21
|
-
|
|
22
|
-
After you're configured, you should now see a `firebase.json` file in your project root. Let's add the following `rewrites` directive to it:
|
|
23
|
-
|
|
24
|
-
```js
|
|
25
|
-
{
|
|
26
|
-
// ...
|
|
27
|
-
"hosting": {
|
|
28
|
-
// ...
|
|
29
|
-
"rewrites": [
|
|
30
|
-
{ "source": "**", "function": "universal" }
|
|
31
|
-
]
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
```
|
|
35
|
-
|
|
36
|
-
This will inform Firebase Hosting that it should proxy all requests to Cloud Functions, if a file isn't already present in the hosting directory.
|
|
37
|
-
|
|
38
|
-
Let's go ahead and modify your `package.json` to build for Cloud Functions:
|
|
39
|
-
|
|
40
|
-
```js
|
|
41
|
-
"scripts": {
|
|
42
|
-
// ... omitted
|
|
43
|
-
"build": "ng build && npm run copy:hosting && npm run build:ssr && npm run build:functions",
|
|
44
|
-
"copy:hosting": "cp -r ./dist/YOUR_PROJECT_NAME/* ./public && rm ./public/index.html",
|
|
45
|
-
"build:functions": "npm run --prefix functions build"
|
|
46
|
-
},
|
|
47
|
-
```
|
|
48
|
-
|
|
49
|
-
Change the build script in your `functions/package.json` to the following:
|
|
50
|
-
|
|
51
|
-
```js
|
|
52
|
-
"scripts": {
|
|
53
|
-
// ... omitted
|
|
54
|
-
"build": "rm -r ./dist && cp -r ../dist . && tsc",
|
|
55
|
-
}
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
Finally, add the following to your `functions/src/index.ts`:
|
|
59
|
-
|
|
60
|
-
```ts
|
|
61
|
-
export const universal = functions.https.onRequest((request, response) => {
|
|
62
|
-
require(`${process.cwd()}/dist/YOUR_PROJECT_NAME-webpack/server`).app(request, response);
|
|
63
|
-
});
|
|
64
|
-
```
|
|
65
|
-
|
|
66
|
-
We you should now be able to run `npm run build` to build your project for Firebase Hosting and Cloud Functions.
|
|
67
|
-
|
|
68
|
-
To test, spin up the emulator with `firebase serve`. Once you've confirmed it's working go ahead and `firebase deploy`.
|
|
69
|
-
|
|
70
|
-
### [Next Step: Prerendering your Universal application](prerendering.md)
|
|
71
|
-
|
|
72
|
-
## Additional Resources
|
|
73
|
-
|
|
74
|
-
- [Universal Starter Template](https://github.com/angular/universal-starter)
|
|
75
|
-
- [FireShip: Angular Universal SSR with Firebase](https://fireship.io/lessons/angular-universal-firebase/)
|
|
@@ -1,153 +0,0 @@
|
|
|
1
|
-
# Getting started with AngularFire and Universal
|
|
2
|
-
|
|
3
|
-
Server-side rendering (SSR) is the process of converting a JavaScript app to plain HTML at request-time, allowing search engine crawlers and linkbots to understand page content reliably.
|
|
4
|
-
|
|
5
|
-
## 0. Prerequisites
|
|
6
|
-
|
|
7
|
-
- @angular/cli >= v6.0
|
|
8
|
-
- @angular/fire >= v5.0.0
|
|
9
|
-
|
|
10
|
-
## 1. Generate the Angular Universal Server Module
|
|
11
|
-
|
|
12
|
-
First, create a server module with the Angular CLI.
|
|
13
|
-
|
|
14
|
-
```
|
|
15
|
-
ng generate universal --client-project <your-project>
|
|
16
|
-
```
|
|
17
|
-
|
|
18
|
-
## 2. Build a Server with ExpressJS
|
|
19
|
-
|
|
20
|
-
[ExpressJS](https://expressjs.com/) is a lightweight web framework that can serve http requests in Node. First, install the dev dependencies:
|
|
21
|
-
|
|
22
|
-
```bash
|
|
23
|
-
npm install --save-dev @nguniversal/express-engine @nguniversal/module-map-ngfactory-loader express webpack-cli ts-loader ws xhr2
|
|
24
|
-
```
|
|
25
|
-
|
|
26
|
-
Create a file called `server.ts` in the root of you project.
|
|
27
|
-
|
|
28
|
-
```ts
|
|
29
|
-
// These are important and needed before anything else
|
|
30
|
-
import 'zone.js/dist/zone-node';
|
|
31
|
-
import 'reflect-metadata';
|
|
32
|
-
|
|
33
|
-
import { enableProdMode } from '@angular/core';
|
|
34
|
-
import { ngExpressEngine } from '@nguniversal/express-engine';
|
|
35
|
-
import { provideModuleMap } from '@nguniversal/module-map-ngfactory-loader';
|
|
36
|
-
|
|
37
|
-
import * as express from 'express';
|
|
38
|
-
import { join } from 'path';
|
|
39
|
-
import { readFileSync } from 'fs';
|
|
40
|
-
|
|
41
|
-
// Polyfills required for Firebase
|
|
42
|
-
(global as any).WebSocket = require('ws');
|
|
43
|
-
(global as any).XMLHttpRequest = require('xhr2');
|
|
44
|
-
|
|
45
|
-
// Faster renders in prod mode
|
|
46
|
-
enableProdMode();
|
|
47
|
-
|
|
48
|
-
// Export our express server
|
|
49
|
-
export const app = express();
|
|
50
|
-
|
|
51
|
-
const DIST_FOLDER = join(process.cwd(), 'dist');
|
|
52
|
-
const APP_NAME = 'YOUR_PROJECT_NAME'; // TODO: replace me!
|
|
53
|
-
|
|
54
|
-
const { AppServerModuleNgFactory, LAZY_MODULE_MAP } = require(`./dist/${APP_NAME}-server/main`);
|
|
55
|
-
|
|
56
|
-
// index.html template
|
|
57
|
-
const template = readFileSync(join(DIST_FOLDER, APP_NAME, 'index.html')).toString();
|
|
58
|
-
|
|
59
|
-
app.engine('html', ngExpressEngine({
|
|
60
|
-
bootstrap: AppServerModuleNgFactory,
|
|
61
|
-
providers: [
|
|
62
|
-
provideModuleMap(LAZY_MODULE_MAP)
|
|
63
|
-
]
|
|
64
|
-
}));
|
|
65
|
-
|
|
66
|
-
app.set('view engine', 'html');
|
|
67
|
-
app.set('views', join(DIST_FOLDER, APP_NAME));
|
|
68
|
-
|
|
69
|
-
// Serve static files
|
|
70
|
-
app.get('*.*', express.static(join(DIST_FOLDER, APP_NAME)));
|
|
71
|
-
|
|
72
|
-
// All regular routes use the Universal engine
|
|
73
|
-
app.get('*', (req, res) => {
|
|
74
|
-
res.render(join(DIST_FOLDER, APP_NAME, 'index.html'), { req });
|
|
75
|
-
});
|
|
76
|
-
|
|
77
|
-
// If we're not in the Cloud Functions environment, spin up a Node server
|
|
78
|
-
if (!process.env.FUNCTION_NAME) {
|
|
79
|
-
const PORT = process.env.PORT || 4000;
|
|
80
|
-
app.listen(PORT, () => {
|
|
81
|
-
console.log(`Node server listening on http://localhost:${PORT}`);
|
|
82
|
-
});
|
|
83
|
-
}
|
|
84
|
-
```
|
|
85
|
-
|
|
86
|
-
## 3. Add a Webpack Config for the Express Server
|
|
87
|
-
|
|
88
|
-
Create a new file named `webpack.server.config.js` to bundle the express app from previous step.
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
```js
|
|
92
|
-
const path = require('path');
|
|
93
|
-
const webpack = require('webpack');
|
|
94
|
-
|
|
95
|
-
const APP_NAME = 'YOUR_PROJECT_NAME'; // TODO: replace me!
|
|
96
|
-
|
|
97
|
-
module.exports = {
|
|
98
|
-
entry: { server: './server.ts' },
|
|
99
|
-
resolve: { extensions: ['.js', '.ts'] },
|
|
100
|
-
mode: 'development',
|
|
101
|
-
target: 'node',
|
|
102
|
-
externals: [
|
|
103
|
-
/* Firebase has some troubles being webpacked when in
|
|
104
|
-
in the Node environment, let's skip it.
|
|
105
|
-
Note: you may need to exclude other dependencies depending
|
|
106
|
-
on your project. */
|
|
107
|
-
/^firebase/
|
|
108
|
-
],
|
|
109
|
-
output: {
|
|
110
|
-
// Export a UMD of the webpacked server.ts & deps, for
|
|
111
|
-
// rendering in Cloud Functions
|
|
112
|
-
path: path.join(__dirname, `dist/${APP_NAME}-webpack`),
|
|
113
|
-
library: 'app',
|
|
114
|
-
libraryTarget: 'umd',
|
|
115
|
-
filename: '[name].js'
|
|
116
|
-
},
|
|
117
|
-
module: {
|
|
118
|
-
rules: [
|
|
119
|
-
{ test: /\.ts$/, loader: 'ts-loader' }
|
|
120
|
-
]
|
|
121
|
-
},
|
|
122
|
-
plugins: [
|
|
123
|
-
new webpack.ContextReplacementPlugin(
|
|
124
|
-
/(.+)?angular(\\|\/)core(.+)?/,
|
|
125
|
-
path.join(__dirname, 'src'), // location of your src
|
|
126
|
-
{} // a map of your routes
|
|
127
|
-
),
|
|
128
|
-
new webpack.ContextReplacementPlugin(
|
|
129
|
-
/(.+)?express(\\|\/)(.+)?/,
|
|
130
|
-
path.join(__dirname, 'src'),
|
|
131
|
-
{}
|
|
132
|
-
)
|
|
133
|
-
]
|
|
134
|
-
}
|
|
135
|
-
```
|
|
136
|
-
|
|
137
|
-
## 4.0 Build Scripts
|
|
138
|
-
|
|
139
|
-
Update your `package.json` with the following build scripts, replacing `YOUR_PROJECT_NAME` with the name of your project.
|
|
140
|
-
|
|
141
|
-
```js
|
|
142
|
-
"scripts": {
|
|
143
|
-
// ... omitted
|
|
144
|
-
"build": "ng build && npm run build:ssr",
|
|
145
|
-
"build:ssr": "ng run YOUR_PROJECT_NAME:server && npm run webpack:ssr",
|
|
146
|
-
"webpack:ssr": "webpack --config webpack.server.config.js",
|
|
147
|
-
"serve:ssr": "node dist/YOUR_PROJECT_NAME-webpack/server.js"
|
|
148
|
-
},
|
|
149
|
-
```
|
|
150
|
-
|
|
151
|
-
Test your app locally by running `npm run build && npm run serve:ssr`.
|
|
152
|
-
|
|
153
|
-
### [Next Step: Deploying your Universal application on Cloud Functions for Firebase](cloud-functions.md)
|