svelte-firekit 0.0.15 → 0.0.17
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/README.md +34 -87
- package/dist/{firebase/auth → auth}/auth.js +1 -2
- package/dist/auth/user.svelte.d.ts +94 -0
- package/dist/auth/user.svelte.js +134 -0
- package/dist/config.d.ts +2 -2
- package/dist/config.js +44 -28
- package/dist/{firebase/firebase.d.ts → firebase.d.ts} +1 -2
- package/dist/{firebase/firebase.js → firebase.js} +1 -4
- package/dist/{firebase/firestore → firestore}/awaitable-doc.svelte.js +1 -1
- package/dist/{firebase/firestore → firestore}/collection.svelte.js +1 -1
- package/dist/{firebase/firestore → firestore}/doc.svelte.js +1 -1
- package/dist/{firebase/firestore → firestore}/document-mutations.svelte.js +11 -11
- package/dist/index.d.ts +11 -23
- package/dist/index.js +11 -28
- package/package.json +10 -26
- package/dist/auth/auth.svelte +0 -65
- package/dist/auth/auth.svelte.d.ts +0 -2
- package/dist/auth/require-auth.svelte +0 -52
- package/dist/auth/require-auth.svelte.d.ts +0 -11
- package/dist/auth/require-no-auth.svelte +0 -42
- package/dist/auth/require-no-auth.svelte.d.ts +0 -6
- package/dist/auth/reset-password.svelte +0 -33
- package/dist/auth/reset-password.svelte.d.ts +0 -8
- package/dist/auth/sign-in.svelte +0 -61
- package/dist/auth/sign-in.svelte.d.ts +0 -15
- package/dist/auth/sign-up.svelte +0 -72
- package/dist/auth/sign-up.svelte.d.ts +0 -18
- package/dist/components/app/nav/app-sidebar.svelte +0 -35
- package/dist/components/app/nav/app-sidebar.svelte.d.ts +0 -8
- package/dist/components/app/nav/breadcrumb.svelte +0 -42
- package/dist/components/app/nav/breadcrumb.svelte.d.ts +0 -19
- package/dist/components/auth/google-sign-in.svelte +0 -62
- package/dist/components/auth/google-sign-in.svelte.d.ts +0 -4
- package/dist/components/auth/reset-password-form.svelte +0 -59
- package/dist/components/auth/reset-password-form.svelte.d.ts +0 -4
- package/dist/components/auth/sign-in-form.svelte +0 -92
- package/dist/components/auth/sign-in-form.svelte.d.ts +0 -9
- package/dist/components/auth/sign-up-form.svelte +0 -138
- package/dist/components/auth/sign-up-form.svelte.d.ts +0 -12
- package/dist/components/auth/user-button/profile-section/avatar-user.svelte +0 -107
- package/dist/components/auth/user-button/profile-section/avatar-user.svelte.d.ts +0 -2
- package/dist/components/auth/user-button/profile-section/connect-user.svelte +0 -45
- package/dist/components/auth/user-button/profile-section/connect-user.svelte.d.ts +0 -18
- package/dist/components/auth/user-button/profile-section/email-user.svelte +0 -81
- package/dist/components/auth/user-button/profile-section/email-user.svelte.d.ts +0 -2
- package/dist/components/auth/user-button/profile-section/phone-user.svelte +0 -122
- package/dist/components/auth/user-button/profile-section/phone-user.svelte.d.ts +0 -2
- package/dist/components/auth/user-button/profile-section/profile-section.svelte +0 -17
- package/dist/components/auth/user-button/profile-section/profile-section.svelte.d.ts +0 -18
- package/dist/components/auth/user-button/settings-dialog.svelte +0 -88
- package/dist/components/auth/user-button/settings-dialog.svelte.d.ts +0 -2
- package/dist/components/auth/user-button/type-account.svelte +0 -35
- package/dist/components/auth/user-button/type-account.svelte.d.ts +0 -4
- package/dist/components/auth/user-button/user-button.svelte +0 -131
- package/dist/components/auth/user-button/user-button.svelte.d.ts +0 -6
- package/dist/components/firestore/collection.svelte +0 -45
- package/dist/components/firestore/collection.svelte.d.ts +0 -25
- package/dist/components/firestore/doc.svelte +0 -39
- package/dist/components/firestore/doc.svelte.d.ts +0 -25
- package/dist/components/nav/app-sidebar.svelte +0 -46
- package/dist/components/nav/app-sidebar.svelte.d.ts +0 -8
- package/dist/components/nav/breadcrumb.svelte +0 -42
- package/dist/components/nav/breadcrumb.svelte.d.ts +0 -19
- package/dist/components/nav/dark-mode-toggle.svelte +0 -16
- package/dist/components/nav/dark-mode-toggle.svelte.d.ts +0 -18
- package/dist/components/nav/nav-main.svelte +0 -70
- package/dist/components/nav/nav-main.svelte.d.ts +0 -18
- package/dist/components/nav/nav.d.ts +0 -11
- package/dist/components/nav/nav.js +0 -157
- package/dist/components/nav/search-form.svelte +0 -21
- package/dist/components/nav/search-form.svelte.d.ts +0 -4
- package/dist/components/nav/version-switcher.svelte +0 -48
- package/dist/components/nav/version-switcher.svelte.d.ts +0 -5
- package/dist/components/public/footer-main.svelte +0 -0
- package/dist/components/public/footer-main.svelte.d.ts +0 -26
- package/dist/components/public/nav-main.svelte +0 -136
- package/dist/components/public/nav-main.svelte.d.ts +0 -18
- package/dist/components/storage/upload.svelte +0 -134
- package/dist/components/storage/upload.svelte.d.ts +0 -11
- package/dist/components/ui/alert-dialog/alert-dialog-action.svelte +0 -13
- package/dist/components/ui/alert-dialog/alert-dialog-action.svelte.d.ts +0 -3
- package/dist/components/ui/alert-dialog/alert-dialog-cancel.svelte +0 -17
- package/dist/components/ui/alert-dialog/alert-dialog-cancel.svelte.d.ts +0 -3
- package/dist/components/ui/alert-dialog/alert-dialog-content.svelte +0 -23
- package/dist/components/ui/alert-dialog/alert-dialog-content.svelte.d.ts +0 -2
- package/dist/components/ui/alert-dialog/alert-dialog-description.svelte +0 -16
- package/dist/components/ui/alert-dialog/alert-dialog-description.svelte.d.ts +0 -3
- package/dist/components/ui/alert-dialog/alert-dialog-footer.svelte +0 -20
- package/dist/components/ui/alert-dialog/alert-dialog-footer.svelte.d.ts +0 -4
- package/dist/components/ui/alert-dialog/alert-dialog-header.svelte +0 -20
- package/dist/components/ui/alert-dialog/alert-dialog-header.svelte.d.ts +0 -4
- package/dist/components/ui/alert-dialog/alert-dialog-overlay.svelte +0 -19
- package/dist/components/ui/alert-dialog/alert-dialog-overlay.svelte.d.ts +0 -3
- package/dist/components/ui/alert-dialog/alert-dialog-title.svelte +0 -18
- package/dist/components/ui/alert-dialog/alert-dialog-title.svelte.d.ts +0 -3
- package/dist/components/ui/alert-dialog/index.js +0 -15
- package/dist/components/ui/avatar/avatar-fallback.svelte +0 -16
- package/dist/components/ui/avatar/avatar-fallback.svelte.d.ts +0 -3
- package/dist/components/ui/avatar/avatar-image.svelte +0 -20
- package/dist/components/ui/avatar/avatar-image.svelte.d.ts +0 -3
- package/dist/components/ui/avatar/avatar.svelte +0 -18
- package/dist/components/ui/avatar/avatar.svelte.d.ts +0 -3
- package/dist/components/ui/avatar/index.d.ts +0 -4
- package/dist/components/ui/avatar/index.js +0 -6
- package/dist/components/ui/badge/badge.svelte +0 -49
- package/dist/components/ui/badge/badge.svelte.d.ts +0 -59
- package/dist/components/ui/badge/index.d.ts +0 -2
- package/dist/components/ui/badge/index.js +0 -2
- package/dist/components/ui/breadcrumb/breadcrumb-ellipsis.svelte +0 -23
- package/dist/components/ui/breadcrumb/breadcrumb-ellipsis.svelte.d.ts +0 -4
- package/dist/components/ui/breadcrumb/breadcrumb-item.svelte +0 -16
- package/dist/components/ui/breadcrumb/breadcrumb-item.svelte.d.ts +0 -4
- package/dist/components/ui/breadcrumb/breadcrumb-link.svelte +0 -31
- package/dist/components/ui/breadcrumb/breadcrumb-link.svelte.d.ts +0 -10
- package/dist/components/ui/breadcrumb/breadcrumb-list.svelte +0 -23
- package/dist/components/ui/breadcrumb/breadcrumb-list.svelte.d.ts +0 -4
- package/dist/components/ui/breadcrumb/breadcrumb-page.svelte +0 -23
- package/dist/components/ui/breadcrumb/breadcrumb-page.svelte.d.ts +0 -4
- package/dist/components/ui/breadcrumb/breadcrumb-separator.svelte +0 -27
- package/dist/components/ui/breadcrumb/breadcrumb-separator.svelte.d.ts +0 -4
- package/dist/components/ui/breadcrumb/breadcrumb.svelte +0 -15
- package/dist/components/ui/breadcrumb/breadcrumb.svelte.d.ts +0 -4
- package/dist/components/ui/breadcrumb/index.d.ts +0 -8
- package/dist/components/ui/breadcrumb/index.js +0 -10
- package/dist/components/ui/button/button.svelte +0 -75
- package/dist/components/ui/button/button.svelte.d.ts +0 -117
- package/dist/components/ui/button/index.d.ts +0 -2
- package/dist/components/ui/button/index.js +0 -4
- package/dist/components/ui/card/card-content.svelte +0 -16
- package/dist/components/ui/card/card-content.svelte.d.ts +0 -4
- package/dist/components/ui/card/card-description.svelte +0 -16
- package/dist/components/ui/card/card-description.svelte.d.ts +0 -4
- package/dist/components/ui/card/card-footer.svelte +0 -16
- package/dist/components/ui/card/card-footer.svelte.d.ts +0 -4
- package/dist/components/ui/card/card-header.svelte +0 -16
- package/dist/components/ui/card/card-header.svelte.d.ts +0 -4
- package/dist/components/ui/card/card-title.svelte +0 -25
- package/dist/components/ui/card/card-title.svelte.d.ts +0 -7
- package/dist/components/ui/card/card.svelte +0 -20
- package/dist/components/ui/card/card.svelte.d.ts +0 -4
- package/dist/components/ui/card/index.d.ts +0 -7
- package/dist/components/ui/card/index.js +0 -9
- package/dist/components/ui/checkbox/checkbox.svelte +0 -33
- package/dist/components/ui/checkbox/checkbox.svelte.d.ts +0 -3
- package/dist/components/ui/checkbox/index.d.ts +0 -2
- package/dist/components/ui/checkbox/index.js +0 -4
- package/dist/components/ui/collapsible/index.d.ts +0 -5
- package/dist/components/ui/collapsible/index.js +0 -7
- package/dist/components/ui/dialog/dialog-content.svelte +0 -36
- package/dist/components/ui/dialog/dialog-content.svelte.d.ts +0 -6
- package/dist/components/ui/dialog/dialog-description.svelte +0 -16
- package/dist/components/ui/dialog/dialog-description.svelte.d.ts +0 -3
- package/dist/components/ui/dialog/dialog-footer.svelte +0 -20
- package/dist/components/ui/dialog/dialog-footer.svelte.d.ts +0 -4
- package/dist/components/ui/dialog/dialog-header.svelte +0 -20
- package/dist/components/ui/dialog/dialog-header.svelte.d.ts +0 -4
- package/dist/components/ui/dialog/dialog-overlay.svelte +0 -19
- package/dist/components/ui/dialog/dialog-overlay.svelte.d.ts +0 -3
- package/dist/components/ui/dialog/dialog-title.svelte +0 -16
- package/dist/components/ui/dialog/dialog-title.svelte.d.ts +0 -3
- package/dist/components/ui/dialog/index.d.ts +0 -12
- package/dist/components/ui/dialog/index.js +0 -14
- package/dist/components/ui/dropdown-menu/dropdown-menu-checkbox-item.svelte +0 -40
- package/dist/components/ui/dropdown-menu/dropdown-menu-checkbox-item.svelte.d.ts +0 -6
- package/dist/components/ui/dropdown-menu/dropdown-menu-content.svelte +0 -22
- package/dist/components/ui/dropdown-menu/dropdown-menu-content.svelte.d.ts +0 -3
- package/dist/components/ui/dropdown-menu/dropdown-menu-group-heading.svelte +0 -19
- package/dist/components/ui/dropdown-menu/dropdown-menu-group-heading.svelte.d.ts +0 -11
- package/dist/components/ui/dropdown-menu/dropdown-menu-item.svelte +0 -23
- package/dist/components/ui/dropdown-menu/dropdown-menu-item.svelte.d.ts +0 -18
- package/dist/components/ui/dropdown-menu/dropdown-menu-label.svelte +0 -23
- package/dist/components/ui/dropdown-menu/dropdown-menu-label.svelte.d.ts +0 -7
- package/dist/components/ui/dropdown-menu/dropdown-menu-radio-item.svelte +0 -30
- package/dist/components/ui/dropdown-menu/dropdown-menu-radio-item.svelte.d.ts +0 -3
- package/dist/components/ui/dropdown-menu/dropdown-menu-separator.svelte +0 -16
- package/dist/components/ui/dropdown-menu/dropdown-menu-separator.svelte.d.ts +0 -3
- package/dist/components/ui/dropdown-menu/dropdown-menu-shortcut.svelte +0 -20
- package/dist/components/ui/dropdown-menu/dropdown-menu-shortcut.svelte.d.ts +0 -4
- package/dist/components/ui/dropdown-menu/dropdown-menu-sub-content.svelte +0 -19
- package/dist/components/ui/dropdown-menu/dropdown-menu-sub-content.svelte.d.ts +0 -3
- package/dist/components/ui/dropdown-menu/dropdown-menu-sub-trigger.svelte +0 -28
- package/dist/components/ui/dropdown-menu/dropdown-menu-sub-trigger.svelte.d.ts +0 -5
- package/dist/components/ui/dropdown-menu/index.js +0 -17
- package/dist/components/ui/form/form-button.svelte +0 -7
- package/dist/components/ui/form/form-button.svelte.d.ts +0 -3
- package/dist/components/ui/form/form-description.svelte +0 -17
- package/dist/components/ui/form/form-description.svelte.d.ts +0 -3
- package/dist/components/ui/form/form-element-field.svelte +0 -30
- package/dist/components/ui/form/form-element-field.svelte.d.ts +0 -22
- package/dist/components/ui/form/form-field-errors.svelte +0 -30
- package/dist/components/ui/form/form-field-errors.svelte.d.ts +0 -5
- package/dist/components/ui/form/form-field.svelte +0 -30
- package/dist/components/ui/form/form-field.svelte.d.ts +0 -21
- package/dist/components/ui/form/form-fieldset.svelte +0 -21
- package/dist/components/ui/form/form-fieldset.svelte.d.ts +0 -19
- package/dist/components/ui/form/form-label.svelte +0 -21
- package/dist/components/ui/form/form-label.svelte.d.ts +0 -3
- package/dist/components/ui/form/form-legend.svelte +0 -17
- package/dist/components/ui/form/form-legend.svelte.d.ts +0 -3
- package/dist/components/ui/form/index.d.ts +0 -11
- package/dist/components/ui/form/index.js +0 -13
- package/dist/components/ui/input/index.d.ts +0 -2
- package/dist/components/ui/input/index.js +0 -4
- package/dist/components/ui/input/input.svelte +0 -22
- package/dist/components/ui/input/input.svelte.d.ts +0 -4
- package/dist/components/ui/label/index.d.ts +0 -2
- package/dist/components/ui/label/index.js +0 -4
- package/dist/components/ui/label/label.svelte +0 -19
- package/dist/components/ui/label/label.svelte.d.ts +0 -3
- package/dist/components/ui/select/index.js +0 -13
- package/dist/components/ui/select/select-content.svelte +0 -38
- package/dist/components/ui/select/select-content.svelte.d.ts +0 -5
- package/dist/components/ui/select/select-group-heading.svelte +0 -16
- package/dist/components/ui/select/select-group-heading.svelte.d.ts +0 -3
- package/dist/components/ui/select/select-item.svelte +0 -37
- package/dist/components/ui/select/select-item.svelte.d.ts +0 -3
- package/dist/components/ui/select/select-scroll-down-button.svelte +0 -19
- package/dist/components/ui/select/select-scroll-down-button.svelte.d.ts +0 -3
- package/dist/components/ui/select/select-scroll-up-button.svelte +0 -19
- package/dist/components/ui/select/select-scroll-up-button.svelte.d.ts +0 -3
- package/dist/components/ui/select/select-separator.svelte +0 -13
- package/dist/components/ui/select/select-separator.svelte.d.ts +0 -3
- package/dist/components/ui/select/select-trigger.svelte +0 -24
- package/dist/components/ui/select/select-trigger.svelte.d.ts +0 -3
- package/dist/components/ui/separator/index.d.ts +0 -2
- package/dist/components/ui/separator/index.js +0 -4
- package/dist/components/ui/separator/separator.svelte +0 -22
- package/dist/components/ui/separator/separator.svelte.d.ts +0 -3
- package/dist/components/ui/sheet/index.js +0 -14
- package/dist/components/ui/sheet/sheet-content.svelte +0 -52
- package/dist/components/ui/sheet/sheet-content.svelte.d.ts +0 -59
- package/dist/components/ui/sheet/sheet-description.svelte +0 -16
- package/dist/components/ui/sheet/sheet-description.svelte.d.ts +0 -3
- package/dist/components/ui/sheet/sheet-footer.svelte +0 -20
- package/dist/components/ui/sheet/sheet-footer.svelte.d.ts +0 -4
- package/dist/components/ui/sheet/sheet-header.svelte +0 -20
- package/dist/components/ui/sheet/sheet-header.svelte.d.ts +0 -4
- package/dist/components/ui/sheet/sheet-overlay.svelte +0 -19
- package/dist/components/ui/sheet/sheet-overlay.svelte.d.ts +0 -3
- package/dist/components/ui/sheet/sheet-title.svelte +0 -16
- package/dist/components/ui/sheet/sheet-title.svelte.d.ts +0 -3
- package/dist/components/ui/sidebar/constants.d.ts +0 -6
- package/dist/components/ui/sidebar/constants.js +0 -6
- package/dist/components/ui/sidebar/context.svelte.d.ts +0 -42
- package/dist/components/ui/sidebar/context.svelte.js +0 -54
- package/dist/components/ui/sidebar/index.d.ts +0 -25
- package/dist/components/ui/sidebar/index.js +0 -27
- package/dist/components/ui/sidebar/sidebar-content.svelte +0 -24
- package/dist/components/ui/sidebar/sidebar-content.svelte.d.ts +0 -4
- package/dist/components/ui/sidebar/sidebar-footer.svelte +0 -21
- package/dist/components/ui/sidebar/sidebar-footer.svelte.d.ts +0 -4
- package/dist/components/ui/sidebar/sidebar-group-action.svelte +0 -36
- package/dist/components/ui/sidebar/sidebar-group-action.svelte.d.ts +0 -10
- package/dist/components/ui/sidebar/sidebar-group-content.svelte +0 -21
- package/dist/components/ui/sidebar/sidebar-group-content.svelte.d.ts +0 -4
- package/dist/components/ui/sidebar/sidebar-group-label.svelte +0 -34
- package/dist/components/ui/sidebar/sidebar-group-label.svelte.d.ts +0 -10
- package/dist/components/ui/sidebar/sidebar-group.svelte +0 -21
- package/dist/components/ui/sidebar/sidebar-group.svelte.d.ts +0 -4
- package/dist/components/ui/sidebar/sidebar-header.svelte +0 -21
- package/dist/components/ui/sidebar/sidebar-header.svelte.d.ts +0 -4
- package/dist/components/ui/sidebar/sidebar-input.svelte +0 -23
- package/dist/components/ui/sidebar/sidebar-input.svelte.d.ts +0 -4
- package/dist/components/ui/sidebar/sidebar-inset.svelte +0 -24
- package/dist/components/ui/sidebar/sidebar-inset.svelte.d.ts +0 -4
- package/dist/components/ui/sidebar/sidebar-menu-action.svelte +0 -43
- package/dist/components/ui/sidebar/sidebar-menu-action.svelte.d.ts +0 -11
- package/dist/components/ui/sidebar/sidebar-menu-badge.svelte +0 -29
- package/dist/components/ui/sidebar/sidebar-menu-badge.svelte.d.ts +0 -4
- package/dist/components/ui/sidebar/sidebar-menu-button.svelte +0 -97
- package/dist/components/ui/sidebar/sidebar-menu-button.svelte.d.ts +0 -91
- package/dist/components/ui/sidebar/sidebar-menu-item.svelte +0 -21
- package/dist/components/ui/sidebar/sidebar-menu-item.svelte.d.ts +0 -4
- package/dist/components/ui/sidebar/sidebar-menu-skeleton.svelte +0 -36
- package/dist/components/ui/sidebar/sidebar-menu-skeleton.svelte.d.ts +0 -7
- package/dist/components/ui/sidebar/sidebar-menu-sub-button.svelte +0 -43
- package/dist/components/ui/sidebar/sidebar-menu-sub-button.svelte.d.ts +0 -12
- package/dist/components/ui/sidebar/sidebar-menu-sub-item.svelte +0 -14
- package/dist/components/ui/sidebar/sidebar-menu-sub-item.svelte.d.ts +0 -4
- package/dist/components/ui/sidebar/sidebar-menu-sub.svelte +0 -25
- package/dist/components/ui/sidebar/sidebar-menu-sub.svelte.d.ts +0 -4
- package/dist/components/ui/sidebar/sidebar-menu.svelte +0 -21
- package/dist/components/ui/sidebar/sidebar-menu.svelte.d.ts +0 -4
- package/dist/components/ui/sidebar/sidebar-provider.svelte +0 -59
- package/dist/components/ui/sidebar/sidebar-provider.svelte.d.ts +0 -9
- package/dist/components/ui/sidebar/sidebar-rail.svelte +0 -36
- package/dist/components/ui/sidebar/sidebar-rail.svelte.d.ts +0 -4
- package/dist/components/ui/sidebar/sidebar-separator.svelte +0 -18
- package/dist/components/ui/sidebar/sidebar-separator.svelte.d.ts +0 -12
- package/dist/components/ui/sidebar/sidebar-trigger.svelte +0 -34
- package/dist/components/ui/sidebar/sidebar-trigger.svelte.d.ts +0 -9
- package/dist/components/ui/sidebar/sidebar.svelte +0 -98
- package/dist/components/ui/sidebar/sidebar.svelte.d.ts +0 -9
- package/dist/components/ui/skeleton/index.d.ts +0 -2
- package/dist/components/ui/skeleton/index.js +0 -4
- package/dist/components/ui/skeleton/skeleton.svelte +0 -17
- package/dist/components/ui/skeleton/skeleton.svelte.d.ts +0 -4
- package/dist/components/ui/sonner/index.d.ts +0 -1
- package/dist/components/ui/sonner/index.js +0 -1
- package/dist/components/ui/sonner/sonner.svelte +0 -20
- package/dist/components/ui/sonner/sonner.svelte.d.ts +0 -3
- package/dist/components/ui/tooltip/index.js +0 -8
- package/dist/components/ui/tooltip/tooltip-content.svelte +0 -21
- package/dist/components/ui/tooltip/tooltip-content.svelte.d.ts +0 -3
- package/dist/firebase/auth/auth-manager.svelte.d.ts +0 -85
- package/dist/firebase/auth/auth-manager.svelte.js +0 -386
- package/dist/firebase/config.d.ts +0 -2
- package/dist/firebase/config.js +0 -44
- package/dist/hooks/is-mobile.svelte.d.ts +0 -5
- package/dist/hooks/is-mobile.svelte.js +0 -23
- package/dist/schemas/reset-password.d.ts +0 -4
- package/dist/schemas/reset-password.js +0 -4
- package/dist/schemas/sign-in.d.ts +0 -5
- package/dist/schemas/sign-in.js +0 -5
- package/dist/schemas/sign-up.d.ts +0 -8
- package/dist/schemas/sign-up.js +0 -8
- package/dist/types/docs.d.ts +0 -50
- package/dist/types/docs.js +0 -1
- package/dist/types/nav.d.ts +0 -13
- package/dist/types/nav.js +0 -1
- package/dist/utils.d.ts +0 -29
- package/dist/utils.js +0 -92
- /package/dist/{firebase/auth → auth}/auth.d.ts +0 -0
- /package/dist/{firebase/firestore → firestore}/awaitable-doc.svelte.d.ts +0 -0
- /package/dist/{firebase/firestore → firestore}/collection.svelte.d.ts +0 -0
- /package/dist/{firebase/firestore → firestore}/doc.svelte.d.ts +0 -0
- /package/dist/{firebase/firestore → firestore}/document-mutations.svelte.d.ts +0 -0
- /package/dist/{firebase/storage → storage}/download-url.svelte.d.ts +0 -0
- /package/dist/{firebase/storage → storage}/download-url.svelte.js +0 -0
- /package/dist/{firebase/storage → storage}/storage-list.svelte.d.ts +0 -0
- /package/dist/{firebase/storage → storage}/storage-list.svelte.js +0 -0
- /package/dist/{firebase/storage → storage}/upload-task.svelte.d.ts +0 -0
- /package/dist/{firebase/storage → storage}/upload-task.svelte.js +0 -0
package/README.md
CHANGED
|
@@ -1,111 +1,58 @@
|
|
|
1
|
-
#
|
|
1
|
+
# create-svelte
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Everything you need to build a Svelte library, powered by [`create-svelte`](https://github.com/sveltejs/kit/tree/main/packages/create-svelte).
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
Read more about creating a library [in the docs](https://svelte.dev/docs/kit/packaging).
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
Please note that this library is still under development. Although it's functional and can be used, some features might be incomplete or subject to changes.
|
|
9
|
-
</p>
|
|
10
|
-
## Features
|
|
7
|
+
## Creating a project
|
|
11
8
|
|
|
12
|
-
|
|
13
|
-
- 🔐 **Authentication** - Complete auth system with built-in components
|
|
14
|
-
- 📚 **Firestore** - Reactive data stores and CRUD operations
|
|
15
|
-
- 📦 **Storage** - File upload and management utilities
|
|
16
|
-
- 🛡️ **Route Guards** - Protected routes and authorization
|
|
17
|
-
- ⚡ **SSR Compatible** - Full server-side rendering support
|
|
18
|
-
- 🎯 **Type Safe** - Built with TypeScript for better development experience
|
|
19
|
-
|
|
20
|
-
## Quick Start
|
|
9
|
+
If you're seeing this, you've probably already done this step. Congrats!
|
|
21
10
|
|
|
22
11
|
```bash
|
|
23
|
-
#
|
|
24
|
-
|
|
25
|
-
pnpm install @firekit/sveltekit
|
|
26
|
-
yarn add @firekit/sveltekit
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
## Basic Usage
|
|
30
|
-
|
|
31
|
-
```typescript
|
|
32
|
-
// Configure Firebase
|
|
33
|
-
import { firebaseConfig } from '@firekit/sveltekit';
|
|
34
|
-
firebaseConfig.init({
|
|
35
|
-
apiKey: 'your-api-key',
|
|
36
|
-
// ... other firebase config
|
|
37
|
-
});
|
|
12
|
+
# create a new project in the current directory
|
|
13
|
+
npx sv create
|
|
38
14
|
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
15
|
+
# create a new project in my-app
|
|
16
|
+
npx sv create my-app
|
|
17
|
+
```
|
|
42
18
|
|
|
43
|
-
|
|
44
|
-
import { firekitUser } from '@firekit/sveltekit';
|
|
45
|
-
isLoggedIn = $derived(firekitUser.isLoggedIn);
|
|
19
|
+
## Developing
|
|
46
20
|
|
|
47
|
-
|
|
48
|
-
import { firekitAuthGuard } from '@firekit/sveltekit';
|
|
49
|
-
await firekitAuthGuard.requireAuth();
|
|
21
|
+
Once you've created a project and installed dependencies with `npm install` (or `pnpm install` or `yarn`), start a development server:
|
|
50
22
|
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
const document = firekitDoc<UserData>('users/123');
|
|
54
|
-
const collection = firekitCollection<PostData>('posts');
|
|
23
|
+
```bash
|
|
24
|
+
npm run dev
|
|
55
25
|
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
const uploadTask = firekitUploadTask('path/to/file', file);
|
|
26
|
+
# or start the server and open the app in a new browser tab
|
|
27
|
+
npm run dev -- --open
|
|
59
28
|
```
|
|
60
29
|
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
### Firebase Configuration
|
|
64
|
-
- `firebaseConfig` - Firebase app configuration
|
|
65
|
-
- `firebaseService` - Core Firebase service initialization
|
|
66
|
-
|
|
67
|
-
### Authentication
|
|
68
|
-
- `firekitUser` - User state management
|
|
69
|
-
- `firekitAuth` - Authentication methods
|
|
70
|
-
- `firekitAuthGuard` - Route protection
|
|
30
|
+
Everything inside `src/lib` is part of your library, everything inside `src/routes` can be used as a showcase or preview app.
|
|
71
31
|
|
|
72
|
-
|
|
73
|
-
- `firekitDoc` - Real-time document subscription
|
|
74
|
-
- `firekitAwaitableDoc` - Promise-based document operations
|
|
75
|
-
- `firekitCollection` - Real-time collection subscription
|
|
76
|
-
- `firekitDocMutations` - Document CRUD operations
|
|
32
|
+
## Building
|
|
77
33
|
|
|
78
|
-
|
|
79
|
-
- `firekitDownloadUrl` - File URL management
|
|
80
|
-
- `firekitStorageList` - Storage browsing
|
|
81
|
-
- `firekitUploadTask` - File upload handling
|
|
34
|
+
To build your library:
|
|
82
35
|
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
- `SignInPage` - Complete sign-in page
|
|
87
|
-
- `SignUpPage` - User registration page
|
|
88
|
-
- `ResetPasswordPage` - Password reset flow
|
|
89
|
-
- `SignInForm` - Reusable sign-in form
|
|
90
|
-
- `SignUpForm` - Reusable registration form
|
|
91
|
-
- `ResetPasswordForm` - Password reset form
|
|
92
|
-
- `UserButton` - User profile button
|
|
36
|
+
```bash
|
|
37
|
+
npm run package
|
|
38
|
+
```
|
|
93
39
|
|
|
94
|
-
|
|
95
|
-
- `Collection` - Collection data display
|
|
96
|
-
- `Doc` - Document data display
|
|
40
|
+
To create a production version of your showcase app:
|
|
97
41
|
|
|
98
|
-
|
|
99
|
-
|
|
42
|
+
```bash
|
|
43
|
+
npm run build
|
|
44
|
+
```
|
|
100
45
|
|
|
101
|
-
|
|
46
|
+
You can preview the production build with `npm run preview`.
|
|
102
47
|
|
|
103
|
-
|
|
48
|
+
> To deploy your app, you may need to install an [adapter](https://svelte.dev/docs/kit/adapters) for your target environment.
|
|
104
49
|
|
|
105
|
-
##
|
|
50
|
+
## Publishing
|
|
106
51
|
|
|
107
|
-
|
|
52
|
+
Go into the `package.json` and give your package the desired name through the `"name"` option. Also consider adding a `"license"` field and point it to a `LICENSE` file which you can create from a template (one popular option is the [MIT license](https://opensource.org/license/mit/)).
|
|
108
53
|
|
|
109
|
-
|
|
54
|
+
To publish your library to [npm](https://www.npmjs.com):
|
|
110
55
|
|
|
111
|
-
|
|
56
|
+
```bash
|
|
57
|
+
npm publish
|
|
58
|
+
```
|
|
@@ -4,7 +4,7 @@ import { firebaseService } from '../firebase.js';
|
|
|
4
4
|
class FirekitAuth {
|
|
5
5
|
static instance;
|
|
6
6
|
auth = firebaseService.getAuthInstance();
|
|
7
|
-
firestore = firebaseService.
|
|
7
|
+
firestore = firebaseService.getDbInstance();
|
|
8
8
|
constructor() { }
|
|
9
9
|
static getInstance() {
|
|
10
10
|
if (!FirekitAuth.instance) {
|
|
@@ -40,7 +40,6 @@ class FirekitAuth {
|
|
|
40
40
|
photoURL: user.photoURL,
|
|
41
41
|
isAnonymous: user.isAnonymous,
|
|
42
42
|
providerId: user.providerId,
|
|
43
|
-
// phoneNumber: user.phoneNumber,
|
|
44
43
|
providerData: user.providerData,
|
|
45
44
|
};
|
|
46
45
|
await setDoc(ref, userData, { merge: true });
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { type User } from "firebase/auth";
|
|
2
|
+
/**
|
|
3
|
+
* FirekitUser provides a singleton class for managing Firebase authentication state and user operations.
|
|
4
|
+
* @class
|
|
5
|
+
* @example
|
|
6
|
+
* ```typescript
|
|
7
|
+
* // Get instance
|
|
8
|
+
* const auth = firekitUser;
|
|
9
|
+
*
|
|
10
|
+
* // Check if user is logged in
|
|
11
|
+
* if (auth.isLoggedIn) {
|
|
12
|
+
* console.log(auth.user);
|
|
13
|
+
* }
|
|
14
|
+
*
|
|
15
|
+
* // Update user profile
|
|
16
|
+
* await auth.updateDisplayName("John Doe");
|
|
17
|
+
* ```
|
|
18
|
+
*/
|
|
19
|
+
declare class FirekitUser {
|
|
20
|
+
private static instance;
|
|
21
|
+
private _user;
|
|
22
|
+
private _initialized;
|
|
23
|
+
private _isLoggedIn;
|
|
24
|
+
/** Current user's UID */
|
|
25
|
+
readonly uid: string | undefined;
|
|
26
|
+
/** Current user's email */
|
|
27
|
+
readonly email: string | null | undefined;
|
|
28
|
+
/** Current user's display name */
|
|
29
|
+
readonly displayName: string | null | undefined;
|
|
30
|
+
/** Current user's photo URL */
|
|
31
|
+
readonly photoURL: string | null | undefined;
|
|
32
|
+
/** Whether current user's email is verified */
|
|
33
|
+
readonly emailVerified: boolean | undefined;
|
|
34
|
+
private constructor();
|
|
35
|
+
/**
|
|
36
|
+
* Gets the singleton instance of FirekitUser
|
|
37
|
+
* @returns {FirekitUser} The FirekitUser instance
|
|
38
|
+
*/
|
|
39
|
+
static getInstance(): FirekitUser;
|
|
40
|
+
/**
|
|
41
|
+
* Gets the current Firebase user object
|
|
42
|
+
* @returns {User | undefined} The current user or undefined if not logged in
|
|
43
|
+
*/
|
|
44
|
+
get user(): User | undefined;
|
|
45
|
+
/**
|
|
46
|
+
* Checks if the Firebase Auth state has been initialized
|
|
47
|
+
* @returns {boolean | undefined} True if initialized, undefined if pending
|
|
48
|
+
*/
|
|
49
|
+
get initialized(): boolean | undefined;
|
|
50
|
+
/**
|
|
51
|
+
* Checks if a user is currently logged in
|
|
52
|
+
* @returns {boolean | undefined} True if logged in, false if not, undefined if pending
|
|
53
|
+
*/
|
|
54
|
+
get isLoggedIn(): boolean | undefined;
|
|
55
|
+
/**
|
|
56
|
+
* Updates the user's email address
|
|
57
|
+
* @param {string} email - The new email address
|
|
58
|
+
* @throws {Error} If no user is authenticated
|
|
59
|
+
* @example
|
|
60
|
+
* await firekitUser.updateEmailUser("new@email.com");
|
|
61
|
+
*/
|
|
62
|
+
updateEmailUser(email: string): Promise<void>;
|
|
63
|
+
/**
|
|
64
|
+
* Updates the user's password
|
|
65
|
+
* @param {string} password - The new password
|
|
66
|
+
* @throws {Error} If no user is authenticated
|
|
67
|
+
* @example
|
|
68
|
+
* await firekitUser.updatePassword("newPassword123");
|
|
69
|
+
*/
|
|
70
|
+
updatePassword(password: string): Promise<void>;
|
|
71
|
+
/**
|
|
72
|
+
* Updates the user's display name
|
|
73
|
+
* @param {string} displayName - The new display name
|
|
74
|
+
* @throws {Error} If no user is authenticated
|
|
75
|
+
* @example
|
|
76
|
+
* await firekitUser.updateDisplayName("John Doe");
|
|
77
|
+
*/
|
|
78
|
+
updateDisplayName(displayName: string): Promise<void>;
|
|
79
|
+
/**
|
|
80
|
+
* Updates the user's profile photo URL
|
|
81
|
+
* @param {string} photoURL - The new photo URL
|
|
82
|
+
* @throws {Error} If no user is authenticated
|
|
83
|
+
* @example
|
|
84
|
+
* await firekitUser.updatePhotoURL("https://example.com/photo.jpg");
|
|
85
|
+
*/
|
|
86
|
+
updatePhotoURL(photoURL: string): Promise<void>;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Singleton instance of FirekitUser
|
|
90
|
+
* @const
|
|
91
|
+
* @type {FirekitUser}
|
|
92
|
+
*/
|
|
93
|
+
export declare const firekitUser: FirekitUser;
|
|
94
|
+
export {};
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
import { firebaseService } from "../firebase.js";
|
|
2
|
+
import { onAuthStateChanged, updateEmail, updatePassword, updateProfile } from "firebase/auth";
|
|
3
|
+
/**
|
|
4
|
+
* FirekitUser provides a singleton class for managing Firebase authentication state and user operations.
|
|
5
|
+
* @class
|
|
6
|
+
* @example
|
|
7
|
+
* ```typescript
|
|
8
|
+
* // Get instance
|
|
9
|
+
* const auth = firekitUser;
|
|
10
|
+
*
|
|
11
|
+
* // Check if user is logged in
|
|
12
|
+
* if (auth.isLoggedIn) {
|
|
13
|
+
* console.log(auth.user);
|
|
14
|
+
* }
|
|
15
|
+
*
|
|
16
|
+
* // Update user profile
|
|
17
|
+
* await auth.updateDisplayName("John Doe");
|
|
18
|
+
* ```
|
|
19
|
+
*/
|
|
20
|
+
class FirekitUser {
|
|
21
|
+
static instance;
|
|
22
|
+
_user = $state();
|
|
23
|
+
_initialized = $state();
|
|
24
|
+
_isLoggedIn = $state();
|
|
25
|
+
/** Current user's UID */
|
|
26
|
+
uid = $derived(this._user?.uid);
|
|
27
|
+
/** Current user's email */
|
|
28
|
+
email = $derived(this._user?.email);
|
|
29
|
+
/** Current user's display name */
|
|
30
|
+
displayName = $derived(this._user?.displayName);
|
|
31
|
+
/** Current user's photo URL */
|
|
32
|
+
photoURL = $derived(this._user?.photoURL);
|
|
33
|
+
/** Whether current user's email is verified */
|
|
34
|
+
emailVerified = $derived(this._user?.emailVerified);
|
|
35
|
+
constructor() {
|
|
36
|
+
const auth = firebaseService.getAuthInstance();
|
|
37
|
+
onAuthStateChanged(auth, async (user) => {
|
|
38
|
+
if (user) {
|
|
39
|
+
this._user = user;
|
|
40
|
+
this._isLoggedIn = true;
|
|
41
|
+
this._initialized = true;
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
this._isLoggedIn = false;
|
|
45
|
+
this._initialized = true;
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Gets the singleton instance of FirekitUser
|
|
51
|
+
* @returns {FirekitUser} The FirekitUser instance
|
|
52
|
+
*/
|
|
53
|
+
static getInstance() {
|
|
54
|
+
if (!FirekitUser.instance) {
|
|
55
|
+
FirekitUser.instance = new FirekitUser();
|
|
56
|
+
}
|
|
57
|
+
return FirekitUser.instance;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Gets the current Firebase user object
|
|
61
|
+
* @returns {User | undefined} The current user or undefined if not logged in
|
|
62
|
+
*/
|
|
63
|
+
get user() {
|
|
64
|
+
return this._user;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Checks if the Firebase Auth state has been initialized
|
|
68
|
+
* @returns {boolean | undefined} True if initialized, undefined if pending
|
|
69
|
+
*/
|
|
70
|
+
get initialized() {
|
|
71
|
+
return this._initialized;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Checks if a user is currently logged in
|
|
75
|
+
* @returns {boolean | undefined} True if logged in, false if not, undefined if pending
|
|
76
|
+
*/
|
|
77
|
+
get isLoggedIn() {
|
|
78
|
+
return this._isLoggedIn;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Updates the user's email address
|
|
82
|
+
* @param {string} email - The new email address
|
|
83
|
+
* @throws {Error} If no user is authenticated
|
|
84
|
+
* @example
|
|
85
|
+
* await firekitUser.updateEmailUser("new@email.com");
|
|
86
|
+
*/
|
|
87
|
+
async updateEmailUser(email) {
|
|
88
|
+
if (!this._user)
|
|
89
|
+
throw new Error("No authenticated user");
|
|
90
|
+
await updateEmail(this._user, email);
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Updates the user's password
|
|
94
|
+
* @param {string} password - The new password
|
|
95
|
+
* @throws {Error} If no user is authenticated
|
|
96
|
+
* @example
|
|
97
|
+
* await firekitUser.updatePassword("newPassword123");
|
|
98
|
+
*/
|
|
99
|
+
async updatePassword(password) {
|
|
100
|
+
if (!this._user)
|
|
101
|
+
throw new Error("No authenticated user");
|
|
102
|
+
await updatePassword(this._user, password);
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Updates the user's display name
|
|
106
|
+
* @param {string} displayName - The new display name
|
|
107
|
+
* @throws {Error} If no user is authenticated
|
|
108
|
+
* @example
|
|
109
|
+
* await firekitUser.updateDisplayName("John Doe");
|
|
110
|
+
*/
|
|
111
|
+
async updateDisplayName(displayName) {
|
|
112
|
+
if (!this._user)
|
|
113
|
+
throw new Error("No authenticated user");
|
|
114
|
+
await updateProfile(this._user, { displayName });
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Updates the user's profile photo URL
|
|
118
|
+
* @param {string} photoURL - The new photo URL
|
|
119
|
+
* @throws {Error} If no user is authenticated
|
|
120
|
+
* @example
|
|
121
|
+
* await firekitUser.updatePhotoURL("https://example.com/photo.jpg");
|
|
122
|
+
*/
|
|
123
|
+
async updatePhotoURL(photoURL) {
|
|
124
|
+
if (!this._user)
|
|
125
|
+
throw new Error("No authenticated user");
|
|
126
|
+
await updateProfile(this._user, { photoURL });
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Singleton instance of FirekitUser
|
|
131
|
+
* @const
|
|
132
|
+
* @type {FirekitUser}
|
|
133
|
+
*/
|
|
134
|
+
export const firekitUser = FirekitUser.getInstance();
|
package/dist/config.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
export declare const
|
|
1
|
+
import type { FirebaseOptions } from 'firebase/app';
|
|
2
|
+
export declare const firebaseConfig: FirebaseOptions;
|
package/dist/config.js
CHANGED
|
@@ -1,28 +1,44 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
1
|
+
import { PUBLIC_FIREBASE_API_KEY, PUBLIC_FIREBASE_AUTH_DOMAIN, PUBLIC_FIREBASE_PROJECT_ID, PUBLIC_FIREBASE_STORAGE_BUCKET, PUBLIC_FIREBASE_MESSAGING_SENDER_ID, PUBLIC_FIREBASE_APP_ID, PUBLIC_FIREBASE_MEASUREMENT_ID } from '$env/static/public';
|
|
2
|
+
class FirebaseConfig {
|
|
3
|
+
static instance;
|
|
4
|
+
config;
|
|
5
|
+
constructor() {
|
|
6
|
+
const missingVars = this.getMissingFirebaseConfigVars();
|
|
7
|
+
if (missingVars.length > 0) {
|
|
8
|
+
throw Error(`The following Firebase configuration variables are missing: ${missingVars.join(', ')}`);
|
|
9
|
+
}
|
|
10
|
+
this.config = {
|
|
11
|
+
apiKey: PUBLIC_FIREBASE_API_KEY,
|
|
12
|
+
authDomain: PUBLIC_FIREBASE_AUTH_DOMAIN,
|
|
13
|
+
projectId: PUBLIC_FIREBASE_PROJECT_ID,
|
|
14
|
+
storageBucket: PUBLIC_FIREBASE_STORAGE_BUCKET,
|
|
15
|
+
messagingSenderId: PUBLIC_FIREBASE_MESSAGING_SENDER_ID,
|
|
16
|
+
appId: PUBLIC_FIREBASE_APP_ID,
|
|
17
|
+
measurementId: PUBLIC_FIREBASE_MEASUREMENT_ID
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
getMissingFirebaseConfigVars() {
|
|
21
|
+
const requiredVars = {
|
|
22
|
+
'PUBLIC_FIREBASE_API_KEY': PUBLIC_FIREBASE_API_KEY,
|
|
23
|
+
'PUBLIC_FIREBASE_AUTH_DOMAIN': PUBLIC_FIREBASE_AUTH_DOMAIN,
|
|
24
|
+
'PUBLIC_FIREBASE_PROJECT_ID': PUBLIC_FIREBASE_PROJECT_ID,
|
|
25
|
+
'PUBLIC_FIREBASE_STORAGE_BUCKET': PUBLIC_FIREBASE_STORAGE_BUCKET,
|
|
26
|
+
'PUBLIC_FIREBASE_MESSAGING_SENDER_ID': PUBLIC_FIREBASE_MESSAGING_SENDER_ID,
|
|
27
|
+
'PUBLIC_FIREBASE_APP_ID': PUBLIC_FIREBASE_APP_ID,
|
|
28
|
+
'PUBLIC_FIREBASE_MEASUREMENT_ID': PUBLIC_FIREBASE_MEASUREMENT_ID
|
|
29
|
+
};
|
|
30
|
+
return Object.entries(requiredVars)
|
|
31
|
+
.filter(([_, value]) => !value)
|
|
32
|
+
.map(([key]) => key);
|
|
33
|
+
}
|
|
34
|
+
static getInstance() {
|
|
35
|
+
if (!FirebaseConfig.instance) {
|
|
36
|
+
FirebaseConfig.instance = new FirebaseConfig();
|
|
37
|
+
}
|
|
38
|
+
return FirebaseConfig.instance;
|
|
39
|
+
}
|
|
40
|
+
getConfig() {
|
|
41
|
+
return this.config;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
export const firebaseConfig = FirebaseConfig.getInstance().getConfig();
|
|
@@ -17,12 +17,11 @@ declare class FirebaseService {
|
|
|
17
17
|
static getInstance(): FirebaseService;
|
|
18
18
|
getFirebaseApp(): FirebaseApp;
|
|
19
19
|
private initializeFirestoreInstance;
|
|
20
|
-
|
|
20
|
+
getDbInstance(): Firestore;
|
|
21
21
|
getAuthInstance(): Auth;
|
|
22
22
|
getFunctionsInstance(): Functions;
|
|
23
23
|
getDatabaseInstance(): Database;
|
|
24
24
|
getStorageInstance(): FirebaseStorage;
|
|
25
|
-
getBatch(): import("@firebase/firestore").WriteBatch;
|
|
26
25
|
}
|
|
27
26
|
export declare const firebaseService: FirebaseService;
|
|
28
27
|
export {};
|
|
@@ -54,7 +54,7 @@ class FirebaseService {
|
|
|
54
54
|
console.warn('Failed to initialize the Firestore cache index manager');
|
|
55
55
|
}
|
|
56
56
|
}
|
|
57
|
-
|
|
57
|
+
getDbInstance() {
|
|
58
58
|
if (!this.db)
|
|
59
59
|
this.getFirebaseApp();
|
|
60
60
|
return this.db;
|
|
@@ -79,8 +79,5 @@ class FirebaseService {
|
|
|
79
79
|
this.storage = getStorage(this.getFirebaseApp());
|
|
80
80
|
return this.storage;
|
|
81
81
|
}
|
|
82
|
-
getBatch() {
|
|
83
|
-
return writeBatch(this.getDb());
|
|
84
|
-
}
|
|
85
82
|
}
|
|
86
83
|
export const firebaseService = FirebaseService.getInstance();
|
|
@@ -10,7 +10,7 @@ class FirekitCollection {
|
|
|
10
10
|
constructor(path, ...queryConstraints) {
|
|
11
11
|
if (browser) {
|
|
12
12
|
try {
|
|
13
|
-
const firestore = firebaseService.
|
|
13
|
+
const firestore = firebaseService.getDbInstance();
|
|
14
14
|
this.colRef = collection(firestore, path);
|
|
15
15
|
this.queryRef = query(this.colRef, ...queryConstraints);
|
|
16
16
|
onSnapshot(this.queryRef, (snapshot) => {
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import { addDoc, setDoc, updateDoc, deleteDoc, doc, getDoc, collection, serverTimestamp, } from "firebase/firestore";
|
|
2
2
|
import { firebaseService } from "../firebase.js";
|
|
3
|
-
import {
|
|
3
|
+
import { firekitUser } from "../auth/user.svelte.js";
|
|
4
4
|
class FirekitDocumentMutations {
|
|
5
5
|
constructor() { }
|
|
6
6
|
async add(collectionPath, data, options = { timestamps: true }) {
|
|
7
|
-
const firestore = firebaseService.
|
|
7
|
+
const firestore = firebaseService.getDbInstance();
|
|
8
8
|
const colRef = collection(firestore, collectionPath);
|
|
9
9
|
const dataToAdd = {
|
|
10
10
|
...data,
|
|
11
11
|
...(options.timestamps && {
|
|
12
12
|
createdAt: serverTimestamp(),
|
|
13
|
-
createdBy:
|
|
13
|
+
createdBy: firekitUser.uid,
|
|
14
14
|
updatedAt: serverTimestamp(),
|
|
15
|
-
updatedBy:
|
|
15
|
+
updatedBy: firekitUser.uid,
|
|
16
16
|
}),
|
|
17
17
|
};
|
|
18
18
|
return addDoc(colRef, dataToAdd);
|
|
@@ -21,15 +21,15 @@ class FirekitDocumentMutations {
|
|
|
21
21
|
merge: false,
|
|
22
22
|
timestamps: true,
|
|
23
23
|
}) {
|
|
24
|
-
const firestore = firebaseService.
|
|
24
|
+
const firestore = firebaseService.getDbInstance();
|
|
25
25
|
const docRef = doc(collection(firestore, path));
|
|
26
26
|
const dataToSet = {
|
|
27
27
|
...data,
|
|
28
28
|
...(options.timestamps && {
|
|
29
29
|
createdAt: serverTimestamp(),
|
|
30
|
-
createdBy:
|
|
30
|
+
createdBy: firekitUser.uid,
|
|
31
31
|
updatedAt: serverTimestamp(),
|
|
32
|
-
updatedBy:
|
|
32
|
+
updatedBy: firekitUser.uid,
|
|
33
33
|
}),
|
|
34
34
|
uid: docRef.id,
|
|
35
35
|
};
|
|
@@ -37,24 +37,24 @@ class FirekitDocumentMutations {
|
|
|
37
37
|
return docRef.id;
|
|
38
38
|
}
|
|
39
39
|
async update(path, data, options = { timestamps: true }) {
|
|
40
|
-
const firestore = firebaseService.
|
|
40
|
+
const firestore = firebaseService.getDbInstance();
|
|
41
41
|
const docRef = doc(firestore, path);
|
|
42
42
|
const dataToUpdate = {
|
|
43
43
|
...data,
|
|
44
44
|
...(options.timestamps && {
|
|
45
45
|
updatedAt: serverTimestamp(),
|
|
46
|
-
updatedBy:
|
|
46
|
+
updatedBy: firekitUser.uid,
|
|
47
47
|
}),
|
|
48
48
|
};
|
|
49
49
|
return updateDoc(docRef, dataToUpdate);
|
|
50
50
|
}
|
|
51
51
|
async delete(path) {
|
|
52
|
-
const firestore = firebaseService.
|
|
52
|
+
const firestore = firebaseService.getDbInstance();
|
|
53
53
|
const docRef = doc(firestore, path);
|
|
54
54
|
return deleteDoc(docRef);
|
|
55
55
|
}
|
|
56
56
|
async exists(path) {
|
|
57
|
-
const firestore = firebaseService.
|
|
57
|
+
const firestore = firebaseService.getDbInstance();
|
|
58
58
|
const docRef = doc(firestore, path);
|
|
59
59
|
const docSnap = await getDoc(docRef);
|
|
60
60
|
return docSnap.exists();
|
package/dist/index.d.ts
CHANGED
|
@@ -1,23 +1,11 @@
|
|
|
1
|
-
export { firebaseConfig } from './
|
|
2
|
-
export { firebaseService } from './firebase
|
|
3
|
-
export {
|
|
4
|
-
export {
|
|
5
|
-
export {
|
|
6
|
-
export {
|
|
7
|
-
export {
|
|
8
|
-
export {
|
|
9
|
-
export {
|
|
10
|
-
export {
|
|
11
|
-
export {
|
|
12
|
-
export { default as SignUpPage } from './auth/sign-up.svelte';
|
|
13
|
-
export { default as ResetPassWordPage } from './auth/reset-password.svelte';
|
|
14
|
-
export { default as AuthPage } from './auth/auth.svelte';
|
|
15
|
-
export { default as RequireAuth } from './auth/require-auth.svelte';
|
|
16
|
-
export { default as RequireNoAuth } from './auth/require-no-auth.svelte';
|
|
17
|
-
export { default as ResetPassWordForm } from './components/auth/reset-password-form.svelte';
|
|
18
|
-
export { default as SignInForm } from './components/auth/sign-in-form.svelte';
|
|
19
|
-
export { default as SignUpForm } from './components/auth/sign-up-form.svelte';
|
|
20
|
-
export { default as UserButton } from './components/auth/user-button/user-button.svelte';
|
|
21
|
-
export { default as Collection } from './components/firestore/collection.svelte';
|
|
22
|
-
export { default as Doc } from './components/firestore/doc.svelte';
|
|
23
|
-
export { default as Upload } from './components/storage/upload.svelte';
|
|
1
|
+
export { firebaseConfig } from './config.js';
|
|
2
|
+
export { firebaseService } from './firebase.js';
|
|
3
|
+
export { firekitUser } from './auth/user.svelte.js';
|
|
4
|
+
export { firekitAuth } from './auth/auth.js';
|
|
5
|
+
export { firekitAwaitableDoc } from './firestore/awaitable-doc.svelte.js';
|
|
6
|
+
export { firekitDocMutations } from './firestore/document-mutations.svelte';
|
|
7
|
+
export { firekitCollection } from './firestore/collection.svelte.js';
|
|
8
|
+
export { firekitDoc } from './firestore/doc.svelte.js';
|
|
9
|
+
export { firekitDownloadUrl } from './storage/download-url.svelte.js';
|
|
10
|
+
export { firekitStorageList } from './storage/storage-list.svelte.js';
|
|
11
|
+
export { firekitUploadTask } from './storage/upload-task.svelte.js';
|