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
32 changes: 32 additions & 0 deletions common/api-review/telemetry-angular.api.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
## API Report File for "@firebase/telemetry-angular"

> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).

```ts

import { ErrorHandler } from '@angular/core';
import { FirebaseApp } from '@firebase/app';
import { LoggerProvider } from '@opentelemetry/sdk-logs';

// @public (undocumented)
export class FirebaseErrorHandler implements ErrorHandler {
constructor(telemetryOptions?: TelemetryOptions | undefined);
// (undocumented)
handleError(error: unknown): void;
}

// @public
export interface Telemetry {
app: FirebaseApp;
loggerProvider: LoggerProvider;
}

// @public
export interface TelemetryOptions {
endpointUrl?: string;
}


// (No @packageDocumentation comment for this package)

```
9 changes: 9 additions & 0 deletions docs-devsite/_toc.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -701,6 +701,15 @@ toc:
path: /docs/reference/js/telemetry_.telemetry.md
- title: TelemetryOptions
path: /docs/reference/js/telemetry_.telemetryoptions.md
- title: telemetry/angular
path: /docs/reference/js/telemetry_angular.md
section:
- title: FirebaseErrorHandler
path: /docs/reference/js/telemetry_angular.firebaseerrorhandler.md
- title: Telemetry
path: /docs/reference/js/telemetry_angular.telemetry.md
- title: TelemetryOptions
path: /docs/reference/js/telemetry_angular.telemetryoptions.md
- title: telemetry/react
path: /docs/reference/js/telemetry_react.md
section:
Expand Down
1 change: 1 addition & 0 deletions docs-devsite/telemetry.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,5 +14,6 @@ https://github.com/firebase/firebase-js-sdk
| Entry Point | Description |
| --- | --- |
| [/](./telemetry_.md#@firebase/telemetry) | |
| [/angular](./telemetry_angular.md#@firebase/telemetry/angular) | |
| [/react](./telemetry_react.md#@firebase/telemetry/react) | |

65 changes: 65 additions & 0 deletions docs-devsite/telemetry_angular.firebaseerrorhandler.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
Project: /docs/reference/js/_project.yaml
Book: /docs/reference/_book.yaml
page_type: reference

{% comment %}
DO NOT EDIT THIS FILE!
This is generated by the JS SDK team, and any local changes will be
overwritten. Changes should be made in the source code at
https://github.com/firebase/firebase-js-sdk
{% endcomment %}

# FirebaseErrorHandler class
<b>Signature:</b>

```typescript
export declare class FirebaseErrorHandler implements ErrorHandler
```
<b>Implements:</b> ErrorHandler

## Constructors

| Constructor | Modifiers | Description |
| --- | --- | --- |
| [(constructor)(telemetryOptions)](./telemetry_angular.firebaseerrorhandler.md#firebaseerrorhandlerconstructor) | | Constructs a new instance of the <code>FirebaseErrorHandler</code> class |

## Methods

| Method | Modifiers | Description |
| --- | --- | --- |
| [handleError(error)](./telemetry_angular.firebaseerrorhandler.md#firebaseerrorhandlerhandleerror) | | |

## FirebaseErrorHandler.(constructor)

Constructs a new instance of the `FirebaseErrorHandler` class

<b>Signature:</b>

```typescript
constructor(telemetryOptions?: TelemetryOptions | undefined);
```

#### Parameters

| Parameter | Type | Description |
| --- | --- | --- |
| telemetryOptions | [TelemetryOptions](./telemetry_.telemetryoptions.md#telemetryoptions_interface) \| undefined | |

## FirebaseErrorHandler.handleError()

<b>Signature:</b>

```typescript
handleError(error: unknown): void;
```

#### Parameters

| Parameter | Type | Description |
| --- | --- | --- |
| error | unknown | |

<b>Returns:</b>

void

26 changes: 26 additions & 0 deletions docs-devsite/telemetry_angular.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
Project: /docs/reference/js/_project.yaml
Book: /docs/reference/_book.yaml
page_type: reference

{% comment %}
DO NOT EDIT THIS FILE!
This is generated by the JS SDK team, and any local changes will be
overwritten. Changes should be made in the source code at
https://github.com/firebase/firebase-js-sdk
{% endcomment %}

# @firebase/telemetry/angular

## Classes

| Class | Description |
| --- | --- |
| [FirebaseErrorHandler](./telemetry_angular.firebaseerrorhandler.md#firebaseerrorhandler_class) | |

## Interfaces

| Interface | Description |
| --- | --- |
| [Telemetry](./telemetry_angular.telemetry.md#telemetry_interface) | An instance of the Firebase Telemetry SDK.<!-- -->Do not create this instance directly. Instead, use [getTelemetry()](./telemetry_.md#gettelemetry_448bdc6)<!-- -->. |
| [TelemetryOptions](./telemetry_angular.telemetryoptions.md#telemetryoptions_interface) | Options for initialized the Telemetry service using [getTelemetry()](./telemetry_.md#gettelemetry_448bdc6)<!-- -->. |

48 changes: 48 additions & 0 deletions docs-devsite/telemetry_angular.telemetry.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
Project: /docs/reference/js/_project.yaml
Book: /docs/reference/_book.yaml
page_type: reference

{% comment %}
DO NOT EDIT THIS FILE!
This is generated by the JS SDK team, and any local changes will be
overwritten. Changes should be made in the source code at
https://github.com/firebase/firebase-js-sdk
{% endcomment %}

# Telemetry interface
An instance of the Firebase Telemetry SDK.

Do not create this instance directly. Instead, use [getTelemetry()](./telemetry_.md#gettelemetry_448bdc6)<!-- -->.

<b>Signature:</b>

```typescript
export interface Telemetry
```

## Properties

| Property | Type | Description |
| --- | --- | --- |
| [app](./telemetry_angular.telemetry.md#telemetryapp) | [FirebaseApp](./app.firebaseapp.md#firebaseapp_interface) | The [FirebaseApp](./app.firebaseapp.md#firebaseapp_interface) this [Telemetry](./telemetry_.telemetry.md#telemetry_interface) instance is associated with. |
| [loggerProvider](./telemetry_angular.telemetry.md#telemetryloggerprovider) | LoggerProvider | The this [Telemetry](./telemetry_.telemetry.md#telemetry_interface) instance uses. |

## Telemetry.app

The [FirebaseApp](./app.firebaseapp.md#firebaseapp_interface) this [Telemetry](./telemetry_.telemetry.md#telemetry_interface) instance is associated with.

<b>Signature:</b>

```typescript
app: FirebaseApp;
```

## Telemetry.loggerProvider

The this [Telemetry](./telemetry_.telemetry.md#telemetry_interface) instance uses.

<b>Signature:</b>

```typescript
loggerProvider: LoggerProvider;
```
35 changes: 35 additions & 0 deletions docs-devsite/telemetry_angular.telemetryoptions.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
Project: /docs/reference/js/_project.yaml
Book: /docs/reference/_book.yaml
page_type: reference

{% comment %}
DO NOT EDIT THIS FILE!
This is generated by the JS SDK team, and any local changes will be
overwritten. Changes should be made in the source code at
https://github.com/firebase/firebase-js-sdk
{% endcomment %}

# TelemetryOptions interface
Options for initialized the Telemetry service using [getTelemetry()](./telemetry_.md#gettelemetry_448bdc6)<!-- -->.

<b>Signature:</b>

```typescript
export interface TelemetryOptions
```

## Properties

| Property | Type | Description |
| --- | --- | --- |
| [endpointUrl](./telemetry_angular.telemetryoptions.md#telemetryoptionsendpointurl) | string | The URL for the endpoint to which telemetry data should be sent, in the Open Telemetry format. By default, data will be sent to Firebase. |

## TelemetryOptions.endpointUrl

The URL for the endpoint to which telemetry data should be sent, in the Open Telemetry format. By default, data will be sent to Firebase.

<b>Signature:</b>

```typescript
endpointUrl?: string;
```
4 changes: 4 additions & 0 deletions packages/telemetry/api-extractor.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,10 @@
{
"modulePath": "react",
"filePath": "<projectFolder>/dist/react/index.d.ts"
},
{
"modulePath": "angular",
"filePath": "<projectFolder>/dist/angular/index.d.ts"
}
],
"dtsRollup": {
Expand Down
33 changes: 30 additions & 3 deletions packages/telemetry/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,18 @@
},
"default": "./dist/react/index.esm.js"
},
"./angular": {
"types": "./dist/angular/index-public.d.ts",
"node": {
"import": "./dist/angular/index.esm.js",
"default": "./dist/angular/index.cjs.js"
},
"browser": {
"require": "./dist/angular/index.cjs.js",
"import": "./dist/angular/index.esm.js"
},
"default": "./dist/angular/index.esm.js"
},
"./package.json": "./package.json"
},
"files": [
Expand All @@ -39,18 +51,20 @@
"scripts": {
"lint": "eslint -c .eslintrc.js '**/*.ts' --ignore-path '../../.gitignore'",
"lint:fix": "eslint --fix -c .eslintrc.js '**/*.ts' --ignore-path '../../.gitignore'",
"build-only": "rollup -c",
"build": "rollup -c && yarn api-report",
"build:deps": "lerna run --scope @firebase/telemetry --include-dependencies build",
"dev": "rollup -c -w",
"test": "run-p --npm-path npm lint test:all",
"test:ci": "node ../../scripts/run_tests_in_ci.js -s test:all",
"test:all": "run-p --npm-path npm test:browser test:node",
"test:browser": "karma start",
"test:node": "TS_NODE_COMPILER_OPTIONS='{\"module\":\"commonjs\"}' nyc --reporter lcovonly -- mocha **/*.test.ts src/**/*.test.ts --config ../../config/mocharc.node.js",
"test:node": "TS_NODE_COMPILER_OPTIONS='{\"module\":\"commonjs\"}' nyc --reporter lcovonly -- mocha **/*.test.ts src/**/*.test.ts --exclude src/angular/*.test.ts --config ../../config/mocharc.node.js",
"trusted-type-check": "tsec -p tsconfig.json --noEmit",
"api-report": "yarn api-report:main && yarn api-report:react && yarn api-report:api-json",
"api-report": "yarn api-report:main && yarn api-report:react && yarn api-report:angular && yarn api-report:api-json",
"api-report:main": "ts-node-script ../../repo-scripts/prune-dts/extract-public-api.ts --package telemetry --packageRoot . --typescriptDts ./dist/index.d.ts --rollupDts ./dist/private.d.ts --untrimmedRollupDts ./dist/internal.d.ts --publicDts ./dist/index-public.d.ts",
"api-report:react": "ts-node-script ../../repo-scripts/prune-dts/extract-public-api.ts --package telemetry-react --packageRoot . --typescriptDts ./dist/react/index.d.ts --rollupDts ./dist/react/private.d.ts --untrimmedRollupDts ./dist/react/internal.d.ts --publicDts ./dist/react/index-public.d.ts",
"api-report:angular": "ts-node-script ../../repo-scripts/prune-dts/extract-public-api.ts --package telemetry-angular --packageRoot . --typescriptDts ./dist/angular/index.d.ts --rollupDts ./dist/angular/private.d.ts --untrimmedRollupDts ./dist/angular/internal.d.ts --publicDts ./dist/angular/index-public.d.ts",
"api-report:api-json": "api-extractor run --local --verbose",
"typings:public": "node ../../scripts/build/use_typings.js ./dist/index-public.d.ts"
},
Expand All @@ -66,6 +80,12 @@
},
"@types/react": {
"optional": true
},
"@angular/core": {
"optional": true
},
"@angular/router": {
"optional": true
}
},
"dependencies": {
Expand All @@ -82,6 +102,11 @@
},
"license": "Apache-2.0",
"devDependencies": {
"@angular/common": "19.2.15",
"@angular/compiler": "19.2.15",
"@angular/core": "19.2.15",
"@angular/platform-browser": "19.2.15",
"@angular/router": "19.2.15",
"@firebase/app": "0.14.4",
"@opentelemetry/sdk-trace-web": "2.1.0",
"@rollup/plugin-json": "6.1.0",
Expand All @@ -95,7 +120,9 @@
"rollup-plugin-copy": "3.5.0",
"rollup-plugin-replace": "2.2.0",
"rollup-plugin-typescript2": "0.36.0",
"typescript": "5.5.4"
"rxjs": "7.8.2",
"typescript": "5.5.4",
"zone.js": "0.15.1"
},
"repository": {
"directory": "packages/telemetry",
Expand Down
54 changes: 53 additions & 1 deletion packages/telemetry/rollup.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -123,4 +123,56 @@ const reactBuilds = [
}
];

export default [...browserBuilds, ...nodeBuilds, ...reactBuilds];
const angularBuilds = [
{
input: 'src/angular/index.ts',
output: {
file: pkg.exports['./angular'].browser.import,
format: 'es',
sourcemap: true
},
plugins: [
typescriptPlugin({
typescript,
tsconfig: 'tsconfig.angular.json'
}),
json(),
copy({
targets: [
{
src: 'dist/src/angular/index.d.ts',
dest: 'dist/angular'
},
{
src: 'dist/src/public-types.d.ts',
dest: 'dist'
}
]
})
],
external: id => deps.some(dep => id === dep || id.startsWith(`${dep}/`))
},
{
input: 'src/angular/index.ts',
output: {
file: pkg.exports['./angular'].browser.require,
format: 'cjs',
sourcemap: true
},
plugins: [
typescriptPlugin({
typescript,
tsconfig: 'tsconfig.angular.json'
}),
json()
],
external: id => deps.some(dep => id === dep || id.startsWith(`${dep}/`))
}
];

export default [
...browserBuilds,
...nodeBuilds,
...reactBuilds,
...angularBuilds
];
Loading
Loading