Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
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.
40 changes: 40 additions & 0 deletions .github/workflows/test.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
name: Test

on:
push:
branches:
- **
pull_request:
branches:
- "**"

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: Install Firebase CLI
run: npm i -g [email protected]
- name: Start Firebase emulator and run tests
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, running tests..."
pnpm test
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,9 @@ dist
dist-ssr
*.local

# Angular
.angular

# Editor directories and files
.vscode/*
!.vscode/extensions.json
Expand Down
13 changes: 12 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,24 @@
"name": "@firebaseui/root",
"private": true,
"scripts": {
"emulators": "firebase emulators:start --only auth",
"emulators": "firebase emulators:start --only auth --project demo-test",
"build": "pnpm run build:translations && pnpm run build:core && pnpm run build:react",
"build:core": "pnpm --filter=@firebase-ui/core run build",
"build:translations": "pnpm --filter=@firebase-ui/translations run build",
"build:react": "pnpm --filter=@firebase-ui/react run build",
"build:angular": "pnpm --filter=@firebase-ui/angular run build",

"test": "pnpm run test:core && pnpm run test:react && pnpm run test:angular && pnpm run test:translations && pnpm run test:styles",
"test:core": "pnpm --filter=@firebase-ui/core run test",
"test:react": "pnpm --filter=@firebase-ui/react run test",
"test:angular": "pnpm --filter=@firebase-ui/angular run test",
"test:translations": "pnpm --filter=@firebase-ui/translations run test",
"test:styles": "pnpm --filter=@firebase-ui/styles run test",
"test:watch": "pnpm run test:core:watch & pnpm run test:react:watch & pnpm run test:angular:watch",
"test:core:watch": "pnpm --filter=@firebase-ui/core run test:unit:watch",
"test:react:watch": "pnpm --filter=@firebase-ui/react run test:unit:watch",
"test:angular:watch": "pnpm --filter=@firebase-ui/angular run test:watch",

"publish:tags:core": "pnpm --filter=@firebase-ui/core run publish:tags",
"publish:tags:translations": "pnpm --filter=@firebase-ui/translations run publish:tags",
"publish:tags:react": "pnpm --filter=@firebase-ui/react run publish:tags",
Expand Down
37 changes: 37 additions & 0 deletions packages/firebaseui-angular/angular.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
{
"$schema": "./node_modules/@angular/cli/lib/config/schema.json",
"version": 1,
"newProjectRoot": "projects",
"projects": {
"firebase-ui-angular": {
"projectType": "library",
"root": "",
"sourceRoot": "src",
"prefix": "lib",
"architect": {
"build": {
"builder": "@angular-devkit/build-angular:ng-packagr",
"options": {
"project": "ng-package.json"
}
},
"test": {
"builder": "@angular-devkit/build-angular:karma",
"options": {
"main": "src/test.ts",
"tsConfig": "tsconfig.spec.json",
"karmaConfig": "karma.conf.js",
"polyfills": ["zone.js", "zone.js/testing"],
"styles": [],
"scripts": [],
"assets": [],
"include": [
"src/**/*.spec.ts",
"src/**/*.d.ts"
]
}
}
}
}
}
}
52 changes: 52 additions & 0 deletions packages/firebaseui-angular/karma.conf.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
/**
* Copyright 2025 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

// Karma configuration file, see link for more information
// https://karma-runner.github.io/1.0/config/configuration-file.html

module.exports = function (config) {
config.set({
basePath: "",
frameworks: ["jasmine", "@angular-devkit/build-angular"],
plugins: [
require("karma-jasmine"),
require("karma-chrome-launcher"),
require("karma-jasmine-html-reporter"),
require("karma-coverage"),
require("@angular-devkit/build-angular/plugins/karma"),
],
client: {
jasmine: {
// you can add configuration options for Jasmine here
// the possible options are listed at https://jasmine.github.io/api/edge/Configuration.html
// for example, you can disable the random execution order
// random: false
},
clearContext: false, // leave Jasmine Spec Runner output visible in browser
},
jasmineHtmlReporter: {
suppressAll: true, // removes the duplicated traces
},
coverageReporter: {
dir: require("path").join(__dirname, "./coverage/"),
subdir: ".",
reporters: [{ type: "html" }, { type: "text-summary" }],
},
reporters: ["progress", "kjhtml"],
browsers: ["ChromeHeadless"],
restartOnFileChange: true,
});
};
3 changes: 3 additions & 0 deletions packages/firebaseui-angular/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,9 @@
},
"scripts": {
"build": "ng-packagr -p ng-package.json",
"test": "ng test --watch=false --browsers=ChromeHeadless --project=firebase-ui-angular",
"test:watch": "ng test --watch=true --project=firebase-ui-angular",
"test:ci": "ng test --watch=false --browsers=ChromeHeadless --code-coverage --project=firebase-ui-angular",
"publish:tags": "sh -c 'TAG=\"${npm_package_name}@${npm_package_version}\"; git tag --list \"$TAG\" | grep . || git tag \"$TAG\"; git push origin \"$TAG\"'",
"release": "pnpm pack --pack-destination ../../releases/"
},
Expand Down
Loading