Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
364 commits
Select commit Hold shift + click to select a range
c471033
test(react): PhoneAuthScreen tests
Ehesp Sep 16, 2025
db7be28
test(react): SignInAuthScreen tests
Ehesp Sep 16, 2025
9a2a289
test(react): SignUpAuthScreen tests
Ehesp Sep 16, 2025
e7e91d5
test(react): OAuthButton tests
Ehesp Sep 16, 2025
00a495b
test(react): GoogleSignInButton tests
Ehesp Sep 17, 2025
f783b5f
fix(react): Remove tsconfig reference
Ehesp Sep 17, 2025
7a0cd76
chore(react): Bump tanstack form
Ehesp Sep 17, 2025
a275905
fix(*): update Firebase peer dependencies to support v11 and v12
dackers86 Sep 17, 2025
a51d40c
fix(core): added translations as a core dependency
dackers86 Sep 17, 2025
e5ec6d2
fix(packages): move translations to peer dependencies in core package
dackers86 Sep 17, 2025
7e28ce2
fix(angular): remove redundant translations peer dependency
dackers86 Sep 17, 2025
406f446
chore(angular): Align angular dependencies
Ehesp Sep 17, 2025
9a1ae4e
@invertase/upgrade-angular-v20
dackers86 Sep 17, 2025
21ec181
chore(*): merged latest
dackers86 Sep 17, 2025
d03832c
Merge branch '@invertase/v7-development' into @invertase/fix-peer-dep…
dackers86 Sep 17, 2025
22b4b75
feat(react): Rework SignInAuthForm to new tanstack version
Ehesp Sep 17, 2025
1147348
test(react): Add form tests
Ehesp Sep 17, 2025
59f40d2
feat(react): Add additional schema hooks
Ehesp Sep 17, 2025
0d37db4
test(react): SignUpAuthForm tests
Ehesp Sep 17, 2025
8e49414
test(react): ForgotPasswordAuthForm tests
Ehesp Sep 17, 2025
b3e875e
test(react): EmailLinkAuthForm tests
Ehesp Sep 17, 2025
2fe94b5
test(react): PhoneAuthForm tests
Ehesp Sep 17, 2025
1179ab9
chore(react): Delete field info component
Ehesp Sep 17, 2025
7e8c704
chore(*): updated depenencies for angular and core
dackers86 Sep 17, 2025
5a80a9f
refactor(react): TanStack Form updates
dackers86 Sep 17, 2025
9a23ee8
Merge pull request #1183 from firebase/@invertase/align-core-tests
Ehesp Sep 17, 2025
19a3ef4
chore(core): Upgrade zod version
Ehesp Sep 17, 2025
b5c45c4
Merge pull request #1182 from firebase/@invertase/align-react
Ehesp Sep 17, 2025
04fcfdc
Merge pull request #1188 from firebase/@invertase/align-react-tests
Ehesp Sep 17, 2025
2c70cca
fix(react): Align exports
Ehesp Sep 17, 2025
2604580
chore(example,react): Update example, typescript, api changes
Ehesp Sep 17, 2025
0ff79ea
Merge branch '@invertase/v7-development' of https://github.com/fireba…
Ehesp Sep 17, 2025
d42c8d9
Merge branch '@invertase/v7-development' of https://github.com/fireba…
Ehesp Sep 18, 2025
cfbbd10
Merge branch '@invertase/align-core' of https://github.com/firebase/f…
Ehesp Sep 18, 2025
09c9867
fix(styles): Strip tailwind pre-flight from dist output
Ehesp Sep 18, 2025
008f3e5
fix(styles): Strip tailwind pre-flight from dist output
dackers86 Sep 18, 2025
99085ec
chore(*): merge latest
dackers86 Sep 18, 2025
36bf7d9
chore(angular): moved translations to be a main dependency
dackers86 Sep 18, 2025
69d5f24
feat(styles): Apply dark mode styles to root theme
Ehesp Sep 18, 2025
7af2bbb
feat(styles): Apply dark mode styles to base theme
dackers86 Sep 18, 2025
1835e4f
fix(angular):removed translation dependency
dackers86 Sep 18, 2025
74c5273
chore(core): formatted dependencies in package json
dackers86 Sep 18, 2025
35c56ee
chore(angular): added licensing
dackers86 Sep 18, 2025
8c41477
feat(angular): Add injectors
Ehesp Sep 18, 2025
a9fe689
refactor(angular): Update sign-in-auth-form
Ehesp Sep 18, 2025
50e6890
refator(angular): Update forgot-password-auth-screen
Ehesp Sep 18, 2025
8547c42
refactor(angular): Update sign-in-auth-screen
Ehesp Sep 18, 2025
1ed20e2
refactor(angular): Update forgot-password-auth-form
Ehesp Sep 18, 2025
a5b2ca2
refactor(angular): Refactor fui-button
Ehesp Sep 18, 2025
85fd1bc
refactor(angular): Update card component
Ehesp Sep 18, 2025
f1b76cf
refactor(divider): Update divider component
Ehesp Sep 18, 2025
d7815f3
refactor(angular): Upgrade tanstack form
Ehesp Sep 18, 2025
c2f16fc
fix(*): updated peer dependencies
dackers86 Sep 19, 2025
92a5021
Merge branch '@invertase/v7-development' of https://github.com/fireba…
dackers86 Sep 19, 2025
e82c9a2
fix(ci): added example apps to linting checks
dackers86 Sep 19, 2025
2dbfcff
chore(*): Updated linting config for example apps
dackers86 Sep 19, 2025
c591967
chore(*): ran prettier
dackers86 Sep 19, 2025
70970c9
chore(*): added .next cache to gitignore
dackers86 Sep 19, 2025
76bc7eb
feat(*): migrate to vitest for angular
dackers86 Sep 19, 2025
8260c29
fix: Angular Vitest test configuration and compatibility issues
dackers86 Sep 19, 2025
70d5386
fix: resolve DividerComponent dependency injection issues
dackers86 Sep 19, 2025
4070d55
fix: resolve component ID collision issues
dackers86 Sep 19, 2025
4e7873c
fix: attempt to resolve duplicate country keys issue
dackers86 Sep 19, 2025
6574119
BREAKTHROUGH: Solve Zone.js ProxyZone issue with async/await pattern
dackers86 Sep 19, 2025
28bcb91
Continue Zone.js ProxyZone fixes with async/await pattern
dackers86 Sep 19, 2025
da79b45
Fix OAuth Button Component tests with async/await pattern
dackers86 Sep 19, 2025
a68ca7f
Fix Terms and Privacy Component tests with async/await pattern
dackers86 Sep 19, 2025
b1ab6c5
Fix remaining Screen Component tests with async/await pattern
dackers86 Sep 19, 2025
cf4f380
Fix all Integration Tests with async/await pattern
dackers86 Sep 19, 2025
ffaac88
feat: migrate Angular example from Jasmine+Karma to Vitest
dackers86 Sep 19, 2025
3878395
fix: update pnpm-lock.yaml to sync Vitest versions
dackers86 Sep 19, 2025
9a13194
fix: properly skip problematic OAuth test instead of throwing error
dackers86 Sep 19, 2025
8314858
refactor: remove all Jasmine syntax from test files
dackers86 Sep 19, 2025
8abee7f
refactor: clean up test-setup.ts files
dackers86 Sep 19, 2025
9a01082
chore: final cleanup of Jasmine/Karma references
dackers86 Sep 19, 2025
57048c4
refactor(angular): updated email link auth screen
dackers86 Sep 19, 2025
311508e
revert: restore original Kosovo country codes
dackers86 Sep 19, 2025
baa0fee
Merge pull request #1193 from firebase/@invertase/add-angular-vitest
Ehesp Sep 22, 2025
b2cf40f
refactor(angular): Upgrade tanstack form
dackers86 Sep 22, 2025
8f33341
refactor(angular): Update sign-up-auth-{screen,form} components
Ehesp Sep 22, 2025
9c72f46
refactor(angular): Update fui-oauth-screen
Ehesp Sep 22, 2025
f8bc5c6
refactor(angular): email-link-auth-{screen,form}
Ehesp Sep 22, 2025
35c4c49
refactor(angular): Update forgot-password-auth-{screen,form}
Ehesp Sep 22, 2025
da11775
refactor(angular): forgot-password-{screen,form} updates
Ehesp Sep 23, 2025
3084b81
refactor(angular): oauth-button & google-sign-in-button component upd…
Ehesp Sep 23, 2025
1efd69e
refactor(angular): Migrate outputs to signals
Ehesp Sep 23, 2025
ee4c08c
fix(angular): Set default country
Ehesp Sep 23, 2025
05bd07b
feat(styles): added where clauses and tests
dackers86 Sep 23, 2025
150bccc
chore(*): resolve conflicts
dackers86 Sep 23, 2025
5106b7b
ci(*): fixed litning issues
dackers86 Sep 23, 2025
0194ead
test(angular): updated angular testing framwork
dackers86 Sep 23, 2025
7ff60e2
chore(*): ran formattng
dackers86 Sep 23, 2025
3828b00
chore(*): added linting and formatting to CI
dackers86 Sep 23, 2025
ea7089b
fix(styles): added where clauses on styles
dackers86 Sep 23, 2025
00a3731
refactor(angular): Rework phone auth flows
Ehesp Sep 23, 2025
d68e549
refactor(angular): Align policies component
Ehesp Sep 23, 2025
ef25f6d
refactor(angular): Rework to contentChildren signal
Ehesp Sep 23, 2025
8a8a265
fix(angular): Fix build issues
Ehesp Sep 23, 2025
abcaa82
chore(angular): Align example with updates
Ehesp Sep 24, 2025
5faad00
fix(angular): Bump tanstack form version
Ehesp Sep 24, 2025
9cbd4e7
chore(angular): updated client and server routing
dackers86 Sep 24, 2025
6657b88
fix(angular): Subscribe to form state correctly
Ehesp Sep 25, 2025
5d3a9ac
fix(angular): Ensure fui-form-action is imported
Ehesp Sep 25, 2025
2a254de
fix(angular): Correctly bubble output events
Ehesp Sep 25, 2025
a8a0026
fix(angular): Correctly handle children rendering
Ehesp Sep 25, 2025
1fdf14a
feat(*): Add brand logos / styling
Ehesp Sep 25, 2025
8c7f25b
Merge branch '@invertase/v7-development' of https://github.com/fireba…
Ehesp Sep 26, 2025
741e2ed
Merge branch '@invertase/align-core' of https://github.com/firebase/f…
Ehesp Sep 26, 2025
f63fc32
refactor(core,styles,translations): Align tsconfigs
Ehesp Sep 26, 2025
4351302
Merge branch '@invertase/align-core' of https://github.com/firebase/f…
Ehesp Sep 29, 2025
f0385a3
chore(react): Rework tsconfig setup
Ehesp Sep 29, 2025
bbcad15
Merge branch '@invertase/align-core' of https://github.com/firebase/f…
Ehesp Sep 29, 2025
05f21a6
test(angular): Switch to testing-library angular + vitest
Ehesp Sep 29, 2025
d2cbb65
feat(core): Support recaptchaVerification behavior
Ehesp Sep 30, 2025
b60f7fc
Merge pull request #1202 from firebase/@invertase/core-recaptcha-veri…
Ehesp Sep 30, 2025
d1d1405
Merge branch '@invertase/align-core' of https://github.com/firebase/f…
Ehesp Sep 30, 2025
98a99ed
feat(react): Phone auth + recaptcha verifier
Ehesp Sep 30, 2025
dc12f7b
feat(core): Country code behavior
Ehesp Sep 30, 2025
8daea56
Merge branch '@invertase/v7-development' of https://github.com/fireba…
Ehesp Oct 1, 2025
ec4ffa7
Merge pull request #1179 from firebase/@invertase/align-translations
Ehesp Oct 1, 2025
6e70048
Merge branch '@invertase/v7-development' of https://github.com/fireba…
Ehesp Oct 1, 2025
474fd65
Merge pull request #1180 from firebase/@invertase/align-core
Ehesp Oct 1, 2025
d2df304
Merge branch '@invertase/v7-development' of https://github.com/fireba…
Ehesp Oct 1, 2025
c49a83a
Merge pull request #1190 from firebase/@invertase/align-react
Ehesp Oct 1, 2025
b434354
feat(core): Add registerFramework util
Ehesp Oct 1, 2025
e1eda84
feat(react): Register react framework
Ehesp Oct 1, 2025
4efa124
refactor(core): Rework behaviors
Ehesp Oct 2, 2025
27ca8ed
Merge pull request #1206 from firebase/@invertase/behavior-rework
Ehesp Oct 2, 2025
f0f9414
fix(core): Fix type references
Ehesp Oct 2, 2025
ee57c38
feat(core): Add oneTapSignIn behavior
Ehesp Oct 2, 2025
b96aa7e
feat(core): Allow MFA Resolver to be set when the multi-factor-auth-r…
Ehesp Oct 2, 2025
fe5f978
fix: Update framework base name
Ehesp Oct 2, 2025
e3ec627
feat(core): Add registerFramework util
dackers86 Oct 2, 2025
32de52a
Merge pull request #1207 from firebase/@invertase/one-tap-behavior
Ehesp Oct 2, 2025
67e15da
feat(core): Add provider strategy
Ehesp Oct 2, 2025
e5972bd
Merge branch '@invertase/v7-development' of https://github.com/fireba…
Ehesp Oct 2, 2025
cd9bb6f
test(core): Update signInWithProvider tests to reflect behavioral usage
Ehesp Oct 2, 2025
8f2687d
feat(core): Support onUpgrade callback on anonymous upgrading
Ehesp Oct 2, 2025
1ef0b1f
Merge pull request #1208 from firebase/@invertase/core-mfa-resolver
Ehesp Oct 2, 2025
58d91a4
Merge pull request #1210 from firebase/@invertase/provider-strategy
Ehesp Oct 2, 2025
1c78f8e
Merge pull request #1211 from firebase/@invertase/anon-on-upgrade
Ehesp Oct 2, 2025
35b7d29
Merge branch '@invertase/provider-strategy' of https://github.com/fir…
Ehesp Oct 2, 2025
b774d89
feat(core): Add requireDisplayName behavior
Ehesp Oct 2, 2025
3c1b7d0
feat(react): Support display name field when behavior is enabled
Ehesp Oct 2, 2025
7d8ad1f
feat(core): Add generateTotpQrCode function
Ehesp Oct 2, 2025
e830ce9
chore(*): Setup flat eslint/prettier rule and workflows
Ehesp Oct 2, 2025
4360c9f
chore: Align tests with CICD
Ehesp Oct 3, 2025
73472ba
test(react): Skip integration tests and update hook tests to exported…
Ehesp Oct 3, 2025
e577760
fix(*): Ignore register framework in dev
Ehesp Oct 3, 2025
9fd3f00
chore: Update job name
Ehesp Oct 3, 2025
2c4550b
chore: Update test workflow
Ehesp Oct 3, 2025
c80999a
chore: Stop duplicate job runs
Ehesp Oct 3, 2025
eca265b
fix: Missing dev dep
Ehesp Oct 3, 2025
ef2b203
Merge pull request #1216 from firebase/@invertase/tests-ci-cd
Ehesp Oct 3, 2025
8c532fe
Merge branch '@invertase/v7-development' of https://github.com/fireba…
Ehesp Oct 3, 2025
bcf07ba
chore: Add logo build to build script
Ehesp Oct 3, 2025
9d5aa4c
feat(*): Align styling and button tests
Ehesp Oct 3, 2025
b87b061
fix: Remove fixed styling from card content
Ehesp Oct 3, 2025
a609c14
Merge pull request #1217 from firebase/@invertase/brands
Ehesp Oct 3, 2025
e1a5df7
fix(*): Apply vertical margin to screen children via styles (.fui-scr…
Ehesp Oct 3, 2025
e403d86
fix(react,styles): Update policies component
Ehesp Oct 3, 2025
5db38b0
Merge pull request #1218 from firebase/@invertase/react-policies
Ehesp Oct 3, 2025
d5acb21
Merge branch '@invertase/v7-development' of https://github.com/fireba…
Ehesp Oct 3, 2025
75137ae
chore: Align formatting with dev branch
Ehesp Oct 3, 2025
0241275
Merge branch '@invertase/v7-development' of https://github.com/fireba…
Ehesp Oct 3, 2025
fc7157b
chore: Align formatting with dev branch
Ehesp Oct 3, 2025
c7e77e0
fix: Add qr npm package
Ehesp Oct 3, 2025
ef65977
Merge branch '@invertase/require-display-name-behavior' of https://gi…
Ehesp Oct 3, 2025
31bc80c
chore: Linting fix
Ehesp Oct 3, 2025
15d416a
chore: Linting fix
Ehesp Oct 3, 2025
513b23f
fix: Update test query matchers
Ehesp Oct 6, 2025
7d8cc3b
Merge branch '@invertase/v7-development' of https://github.com/fireba…
Ehesp Oct 6, 2025
7560c08
fix: Align with main linting changes
Ehesp Oct 6, 2025
68e3df8
refactor(core): Remove state managament from behaviors
Ehesp Oct 6, 2025
82b6c22
Merge pull request #1212 from firebase/@invertase/require-display-nam…
Ehesp Oct 6, 2025
8e928f8
Merge pull request #1213 from firebase/@invertase/require-display-nam…
Ehesp Oct 6, 2025
2f0b2c2
Merge pull request #1215 from firebase/@invertase/generate-totp-qrcode
Ehesp Oct 6, 2025
ac019ae
Merge pull request #1220 from firebase/@invertase/behavior-state
Ehesp Oct 6, 2025
fe9d851
Merge pull request #1219 from firebase/@invertase/react-recaptcha-ver…
Ehesp Oct 6, 2025
85a3792
refactor(core,react): signInWithPhoneNumber -> verifyPhoneNumber
Ehesp Oct 6, 2025
954d34f
refactor(core,react): signInWithPhoneNumber -> verifyPhoneNumber
dackers86 Oct 6, 2025
fba78c5
refactor(core,react): Break out phone auth schemas
Ehesp Oct 6, 2025
12c959d
chore: Bump deps
Ehesp Oct 7, 2025
cd24445
Merge branch '@invertase/v7-development' of https://github.com/fireba…
Ehesp Oct 7, 2025
e18ab45
chore: Add eslint angular
Ehesp Oct 7, 2025
b2f5b13
refactor: Migrate to Jest (from Vitest)
Ehesp Oct 7, 2025
dc136a1
feat(react): Extract useSignInWithProvider for shadcn usage
Ehesp Oct 7, 2025
c73764a
Merge branch '@invertase/v7-development' of https://github.com/fireba…
Ehesp Oct 8, 2025
26d872d
feat(core,react): counteyCodes behavior and CountrySelector rework
Ehesp Oct 8, 2025
c6c08df
chore: Formatting
Ehesp Oct 8, 2025
27429e9
refactor: Rework number formatting logic
Ehesp Oct 8, 2025
617cf51
chore: TS assertion
Ehesp Oct 8, 2025
ed920ea
Merge pull request #1224 from firebase/@invertase/county-code-behavior
Ehesp Oct 8, 2025
71e57df
chore: Add type-imports eslint rule + fix
Ehesp Oct 8, 2025
5dc1aff
Merge branch '@invertase/v7-development' of https://github.com/fireba…
Ehesp Oct 8, 2025
cae6a13
feat(angular): fui-divider
Ehesp Oct 9, 2025
42e60e5
feat(angular): Button component
Ehesp Oct 9, 2025
399ca50
feat(angular): fui-card
Ehesp Oct 9, 2025
ea08c3e
test(angular): Form tests
Ehesp Oct 9, 2025
b432c4b
chore(angular): Cleaup imports
Ehesp Oct 9, 2025
26e6d51
feat(angular): Policies tests
Ehesp Oct 9, 2025
aaf8e3d
fix(angular): Fix schema imports
Ehesp Oct 9, 2025
f5d2b93
Merge branch '@invertase/v7-development' of https://github.com/fireba…
Ehesp Oct 9, 2025
6f15008
feat(angular): Rework country selector on new spec
Ehesp Oct 9, 2025
5347b90
chore(angular): Cleanup
Ehesp Oct 9, 2025
791b424
feat(angular): Google sign in button
Ehesp Oct 9, 2025
8f6a0c8
feat(angular): Add component logo generation script
Ehesp Oct 9, 2025
df53799
feat(angular): Add facebook sign in button
Ehesp Oct 9, 2025
3b5ef52
feat(angular): Apple sign in button
Ehesp Oct 9, 2025
bf84f8e
feat(angular): Microsoft sign in button
Ehesp Oct 9, 2025
3216ef9
feat(angular): Twitter sign in button
Ehesp Oct 9, 2025
e5ffc01
feat(angular): GitHub sign in button
Ehesp Oct 9, 2025
330a6da
feat(angular): Add fui-content component
Ehesp Oct 9, 2025
2f4ece4
feat(angular): fui-sign-in-auth-screen component rework
Ehesp Oct 9, 2025
62872c8
feat(angular): fui-sign-up-auth-screen rework
Ehesp Oct 9, 2025
e32c62f
feat(angular): oauth-screen rework
Ehesp Oct 9, 2025
03b1098
test(angular): Update fui-forgot-password-screen tests to jest
Ehesp Oct 9, 2025
2958c0b
feat(angular): fui-email-link-auth-screen rework
Ehesp Oct 9, 2025
c63c438
feat(angular): fui-phone-auth-screen rework
Ehesp Oct 9, 2025
485b4a0
chore: Add readme
Ehesp Oct 9, 2025
57e270e
test(angular): Update forgot password form + test setup around ESM issue
Ehesp Oct 14, 2025
aabaa1a
test(angular): Update email link auth form tests
Ehesp Oct 14, 2025
9ee8fea
test(angular): Update sign in auth form tests
Ehesp Oct 14, 2025
63680bf
test(angular): Update sign up form tests
Ehesp Oct 14, 2025
9ef4e14
refactor(angular): Rework phone auth form
Ehesp Oct 14, 2025
6c269bb
chore(angular): Cleanup test files
Ehesp Oct 14, 2025
58e43fe
chore(angular): Cleanup
Ehesp Oct 14, 2025
15cd82a
chore(angular): Update example app
Ehesp Oct 14, 2025
0e34a45
[skip ci] chore: Linting fix
Ehesp Oct 14, 2025
605ba43
Merge branch '@invertase/v7-development' of https://github.com/fireba…
Ehesp Oct 14, 2025
7806c39
chore: Run formatting
Ehesp Oct 14, 2025
b7ce962
fix: Ensure angular tests run in CI
Ehesp Oct 14, 2025
87db341
fix(react): Ensure only a single react dependency is bundled
Ehesp Oct 14, 2025
80be7b5
Merge branch '@invertase/v7-development' of https://github.com/fireba…
Ehesp Oct 14, 2025
3a365fc
fix(angular): Remove invalid property
Ehesp Oct 14, 2025
23cd761
chore(angular): Add prepare step
Ehesp Oct 14, 2025
28d686d
test(angular): Rework Jest mocking setup
Ehesp Oct 14, 2025
8730abd
chore(angular): Formatting
Ehesp Oct 14, 2025
1a9410d
chore(angular): Apply formatting to logo generation
Ehesp Oct 14, 2025
9f29448
[skip ci] chore: Add GEMINI context files
Ehesp Oct 14, 2025
c341c78
[skip ci] chore: Update dependency graph
Ehesp Oct 15, 2025
a1585ff
Merge branch '@invertase/v7-development' into @invertase/align-update…
Ehesp Oct 15, 2025
fb9504c
fix(*): Rename FirebaseUIConfiguration -> FirebaseUI
Ehesp Oct 15, 2025
3485eed
fix(*): Rename FirebaseUIConfiguration -> FirebaseUI
dackers86 Oct 15, 2025
3bca15d
chore(*): resolved conflicts
dackers86 Oct 17, 2025
5835f4f
fix(angular): updated angular example app to new firebase config types
dackers86 Oct 17, 2025
1d971ba
chore(*): removed api confiog from example apps
dackers86 Oct 17, 2025
caa1c8d
refactor(angular): Align and update angular api with spec
dackers86 Oct 17, 2025
d8db30a
fix(angular): Version registration in prod
Ehesp Oct 22, 2025
3cb5f1b
fix(angular): Version registration in prod
dackers86 Oct 22, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
53 changes: 53 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
---
name: Bug report
about: Create a report to help us improve
---

<!-- Step 1 [READ THIS] -->
<!--
Are you in the right place?
* For issues or feature requests related to __the code in this repository__
file a Github issue.
* If this is a __feature request__ make sure the issue title starts with "FR:".
* For general technical questions, post a question on [StackOverflow](http://stackoverflow.com/)
with the firebase-authentication tag.
* For general Firebase discussion, use the [firebase-talk](https://groups.google.com/forum/#!forum/firebase-talk)
google group.
* For help troubleshooting your application that does not fall under one
of the above categories, reach out to the personalized
[Firebase support channel](https://firebase.google.com/support/).
-->

<!-- Step 2 -->

### [REQUIRED] Describe your environment

- Operating System version: **\_**
- Browser version: **\_**
- Firebase UI version: **\_**
- Firebase SDK version: **\_**
- Package name: **\_**

<!-- Step 3 -->

### [REQUIRED] Describe the problem

#### Steps to reproduce

<!--
What happened? How can we make the problem occur?
This could be a description, log/console output, etc.
-->

#### Relevant Code

<!--
Reproduce the issue on StackBlitz and provide your forked URL
or give us some sample code below
-->

<https://stackblitz.com/fork/firebase-issue-sandbox>

```javascript
// TODO(you): code here to reproduce the problem
```
16 changes: 16 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
---
name: Feature request
about: Suggest an idea for this project
---

**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

**Describe the solution you'd like**
A clear and concise description of what you want to happen.

**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.

**Additional context**
Add any other context or screenshots about the feature request here.
35 changes: 35 additions & 0 deletions .github/workflows/lint.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
name: Lint and Format Check

on:
push:
branches:
- "@invertase/v7-development"
pull_request:

jobs:
lint:
name: Lint and Format Check
runs-on: ubuntu-latest

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'

- name: Setup pnpm
uses: pnpm/action-setup@v4
with:
version: 10

- name: Install dependencies
run: pnpm install --frozen-lockfile

- name: Run ESLint check
run: pnpm run lint:check

- name: Run Prettier check
run: pnpm run format:check
49 changes: 49 additions & 0 deletions .github/workflows/test.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
name: Test

on:
push:
branches:
- "@invertase/v7-development"
pull_request:

jobs:

test:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Setup node
uses: actions/setup-node@v4
with:
node-version: '20'
check-latest: true

- name: Setup pnpm
uses: pnpm/action-setup@v4
with:
version: latest

- name: Install dependencies
run: pnpm install

- name: Build packages
run: pnpm run build

- name: Install Firebase CLI
run: npm i -g firebase-tools@14.15.2

- name: Start Firebase emulator
run: |
firebase emulators:start --only auth --project demo-test &
sleep 15
# Wait for emulator to be ready
until wget -q --spider http://localhost:9099 2>/dev/null; do
echo "Waiting for emulator to start..."
sleep 2
done
echo "Emulator is ready"

- name: Run tests
run: pnpm test
9 changes: 9 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,15 @@ dist
dist-ssr
*.local

# Angular
.angular

# Next.js
.next

# Coverage
coverage

# Editor directories and files
.vscode/*
!.vscode/extensions.json
Expand Down
26 changes: 10 additions & 16 deletions .opensource/project.json
Original file line number Diff line number Diff line change
@@ -1,19 +1,13 @@
{
"name": "FirebaseUI for Web",

"platforms": [
"Web"
],

"content": "README.md",
"name": "FirebaseUI for Web",

"pages" : {
"LANGUAGES.md": "Supported Languages"
},
"related": [
"firebase/firebaseui-android",
"firebase/firebaseui-ios",
"firebase/firebaseui-web-react"
]
"platforms": ["Web"],

"content": "README.md",

"pages": {
"LANGUAGES.md": "Supported Languages"
},

"related": ["firebase/firebaseui-android", "firebase/firebaseui-ios", "firebase/firebaseui-web-react"]
}
23 changes: 23 additions & 0 deletions .prettierignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Dependencies
node_modules/
pnpm-lock.yaml
package-lock.json
yarn.lock

# Build outputs
dist/
build/
.angular/
releases/

# Generated files
*.min.js
*.min.css
packages/styles/dist.css

# Logs
*.log

# OS generated files
.DS_Store
Thumbs.db
5 changes: 3 additions & 2 deletions packages/firebaseui-core/.prettierrc → .prettierrc
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
{
"semi": true,
"trailingComma": "es5",
"singleQuote": true,
"singleQuote": false,
"printWidth": 120,
"tabWidth": 2,
"useTabs": false
"useTabs": false,
"endOfLine": "auto"
}
49 changes: 49 additions & 0 deletions GEMINI.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
# Firebase UI for Web

A library for building UIs with Firebase, with first class support for Angular and shad (with Shadcn).

## General rules

- The workspace is managed with pnpm. Always use pnpm commands for installation and execution.
- This is a monorepo, with `packages` and `examples` sub-directories.
- Linting is controlled by ESLint, via a root flatconfig `eslint.config.ts` file. Run `pnpm lint:check` for linting errors.
- Formatting is controlled vi Prettier integrated with ESLint via the `.prettierrc` file. Run `pnpm format:check` for formatting errors.
- The workspace uses pnpm cataloges to ensure dependency version alignment. If a dependency exists twice, it should be cataloged.
- Tests can be run for the entire workspace via `pnpm test` or scoped to a package via `test:<name>`.

## Structure

The project structure is setup in a way which provides a framework agnostic set of packages; `core`, `translations` and `styles`.

- `core`: The main entry-point to the package via `initalizeUI`. Firebase UI provides it's own functional exports, which when called wraps the Firebase JS SDK functionality, however manages state, translated error handling and behaviors (configurable by the user).
- `translations`: A package exporting utilities and translation mappings for various languages, which `core` depends on.
- `styles`: A package providing CSS utility classes which frameworks can use to provide consistent styling. The `styles` package works for existing Tailwind users, but also exports a distributable file with compiled "tailwindless" CSS. The CSS styles heavily depend on CSS variables for customization.

Additionally, framework specific packages depend on these agnostic packages to offer full integration with the frameworks:

- `react`: Exposes React UI components (in the form of screens, full page components, or forms, the bare-bones UI forms) & hooks, enabling users to easily build their own UIs or consume the built in ones.
- `angular`: Exposes Angular UI components (in the form of screens, full page components, or forms, the bare-bones UI forms) & DI functionality, enabling users to easily build their own UIs or consume the built in ones. This package depends directly on AngularFire.

The dependency graph is:

```
graph TD
core --> translations;
react --> core;
angular --> core;
angular --> styles;
react --> styles;
shadcn --> react;
```

## Misc

- All packages extend the same base `tsconfig.json` file.
- Where possible, prefer Vitest testing framework.

## Additional Context

- `core`: @./packages/core/GEMINI.md
- `react`: @./packages/react/GEMINI.md
- `styles`: @./packages/styles/GEMINI.md
- `translations`: @./packages/translations/GEMINI.md
Loading