147 Commits
Author SHA1 Message Date
Daniel La RocqueandGitHub 475c5b6791 test: prompt for WebKit playwright installation (#10167)
* test: prompt for WebKit playwright installation

Adds a check to see if WebKitHeadless is available, and prompts the user
for permission to install it with playwright if it's not installed.

* format
2026-07-24 12:48:41 -04:00
Christina HollandandGitHub 3180c9a700 build(deps): update deps with security issues (pass 1) (#10119) 2026-07-01 12:30:03 -07:00
Christina HollandandGitHub b0588826a8 chore: Add explicit types to tsconfig (#10015) 2026-06-01 09:23:40 -07:00
Christina HollandandGitHub 243fa10131 chore: migrate test functions to v2 (#9910) 2026-05-04 11:20:39 -07:00
macastelazandGitHub f16431be0c Re-enable coverage reporting for firebase-js-sdk (#9761) 2026-04-01 14:49:58 -07:00
Christina HollandandGitHub 1795e7c213 Fix functions deploy by upgrading to node 20 (#9377) 2025-11-12 18:17:22 -08:00
Christina HollandandGitHub 342fd3fcb6 chore!: update engines.node to minimum of 20 (#9128) 2025-07-15 09:48:06 -07:00
Christina HollandandGitHub 0267edce9c build!: update build targets to ES2020 (#9101) 2025-07-11 17:27:17 -07:00
Daniel La RocqueandGitHub a7f5195731 test: Use inline source maps for webpack test output (#9109) 2025-07-02 16:06:10 -04:00
Mark DuckworthandGitHub 0f77d4839e Reorder reporters to prevent log message duplication in CI (#9040) 2025-05-22 12:17:01 -06:00
Mark DuckworthandGitHub a028af9859 Fix encoding of CSI keys in Safari (#8993) 2025-05-09 14:45:08 -06:00
Denver ConeybeareandGitHub 1d8fe37a04 karma.base.js: replace "BROWSER" with "BROWSERS" in log messages, to reflect the actual name of the environment variable (see #8491) (#8875) 2025-03-27 16:21:42 -04:00
Christina HollandandGitHub 7bec6a1f4b Update dependencies in packages and repo-scripts (#8729) 2025-02-04 13:31:24 -08:00
DellaBittaandGitHub e1b961d8f2 Upgrade two more download-artifact v3 actions to v4 in Firestore workflow (#8706)
There were a pair of `download-artifact` GitHub actions that were still set to `v3` instead of `v4`. The `v3` actions were unable to find the build archive in the test-changed-firestore workflow. This PR upgrades those to `v4` actions.
2025-01-14 18:47:02 -05:00
Daniel LeeandGitHub 6ab1e32756 Support streaming streaming responses for callable functions. (#8609)
The new .stream() API allows the client to consume streaming responses from the WIP streaming callable functions in Firebase Functions Node.js SDK.

When client makes a request to the callable function w/ header Accept: text/event-stream, the callable function responds with response chunks in Server-Sent Event format.

The sdk changes here abstracts over the wire-protocol by parsing the response chunks and returning an instance of a AsyncIterable to consume to data:

import { getFunctions, httpsCallable } from "firebase/functions";

const functions = getFunctions();
const generateText = httpsCallable(functions, 'generateText');
const resp = await generateText.stream(
  { text: 'What is your favorite Firebase service and why?' },
  { signal: AbortSignal.timeout(60_000) },
);
try {
  for await (const message of resp.stream) {
     console.log(message); // prints "foo", "bar"
  }
  console.log(await resp.data) // prints "foo bar"
} catch (e) {
  // FirebaseError(code='cancelled', message='Request was cancelled.');
  console.error(e)
}
2024-12-04 09:48:50 -08:00
Daniel La RocqueandGitHub 3610608dc8 Upgrade ESLint ecmaVersion to 2017 (#8590) 2024-10-23 10:22:23 -04:00
5ac9bb26a4 Merge v11 Feature Branch (#8475)
* Add node engines fields specifying a minimum of 18 (#8457)

* Make memory lru gc the default (#8110)

* Make memory lru gc the default

* undo yarn.lock

* Make memory lru gc the default

* Fix tests

* V11 release removal of node-fetch and undici dependencies (#8492)

Our v11 release will require node 18+. Since fetch has been introduced in these node versions, we can remove our dependency on third party fetch implementations.

This change removes our usage of fetch variants undici and node-fetch for our node target builds and our CI tools.

* V11 - Remove functions node bundle (#8507)

With the removal of fetch we no long need to create a node bundle for functions. Instead the sourcebase may become isomorphic, so long as we remove the older node sources. And that's what the PR does!

* Initial changes for Vertex GA packaging (#8498)

* [Vertex GA] Rewrite Schema (#8479)

* [Vertex GA] Add new endpoint and error message. (#8497)

* [Vertex GA] Miscellaneous breaking changes for Vertex GA (#8514)

* Remove ES5 Support (#8509)

* Emit a module package file for functions ESM builds (#8517)

* Update API_NOT_ENABLED error for Vertex (#8549)

* Upgrade cjs bundles for storage and performance (#8557)

These should have been part of the bigger PR, but I missed these.

* Rollup JS files with rollup-typescript-plugin (#8503)

The rollup-typescript-plugin does not transpile JS files using the TS
compiler by default. This means that external dependencies that provide
JS bundles will not be transpiled to the target ES version specified in
the TypeScript config used by the plugin.

This resulted in one of our dependencies (https://github.com/jakearchibald/idb)
being included in the CDN bundles without being transpiled to
ES5 (the target ES version). Since this dependencies bundle uses
ES2018 syntax (object spread operator `{ ...x }`), this upgraded our CDN
bundles' minimum ES version requirement to ES2018 which isn't compatible with older browser versions.
To see the ES2018 syntax in one of the CDN bundles, see
https://www.gstatic.com/firebasejs/10.13.1/firebase-app.js and search for `...oldTraps`.

* Fix tsc errors in vertex tests (#8562)

* Make SafetySettings.method optional (#8567)

* Make SafetySettings.method optional

* Update API reports

---------

Co-authored-by: hsubox76 <[email protected]>

* [Vertex GA] Regenerate docs after Vertex GA changes (#8505)

* Close emulator file after download is complete (#8572)

* close file

* Add test:ci to end of test command in CI

* revert workflow file changes

* format

* rename vertexai package reference in a changeset (#8573)

* Missed one doc change from a PR (#8575)

* Overwrite undefined candidate index (#8577)

* Overwrite undefined candidate index

* Fix index overwrite condition to only be true when index is not a property

* Upgrade Vertex Mock Responses to V5 (#8579)

* Upgrade to mock responses v4

* Upgrade from v4 to v5 mock responses

---------

Co-authored-by: wu-hui <[email protected]>
Co-authored-by: DellaBitta <[email protected]>
Co-authored-by: Daniel La Rocque <[email protected]>
Co-authored-by: hsubox76 <[email protected]>
2024-10-17 14:06:59 -07:00
Daniel La RocqueandGitHub 5d0eb3e117 Introduce WebkitHeadless browser testing (#8491)
* Introduce WebkitHeadless browser testing

Replace Safari with WebkitHeadless in list of supported karma browsers

Install playwright browsers in CI

Set WEBKIT_HEADLESS_BIN

Update launcher version

Run firestore test changed on push

Fix

Don't use  in test-changed-firestore

Ignore failing tests

* Formatting

* Respond to review comments
2024-10-02 12:12:28 -04:00
Daniel La RocqueandGitHub f5f74471ef Set singleRun to true and remove from all karma start scripts (#8484) 2024-09-10 10:05:27 -04:00
Josh SorefandGitHub b4e60981a5 Spelling (#8280)
Numerous fixes to spelling across the SDK.
2024-07-18 16:53:00 -04:00
Daniel La RocqueandGitHub 169668cb23 Add tsec script to all packages (#8285)
Added the `yarn trusted-type-check` script to all packages. The script runs https://github.com/google/tsec to report possible security issues related to XSS.
2024-06-04 16:36:49 -05:00
DellaBittaandGitHub 365e8c7096 Upgrade dependencies April 2024 (#8098)
### Discussion

Updating a series of Renovate-found outdated dependencies.

Including:

 - PR: #7770
 - PR: #7571
 - PR: #7450
 - PR: #4827
 - PR #8108

Additional minor dependency updates based on the renovate PR #5566:

 - `@babel/core`: `7.22.11 -> 7.24.3`
 - `@babel/register`: `7.22.5 -> 7.23.7`
 - `@rushstack/ts-command-line`: `4.15.2 -> 4.19.1`
 - `@types/chai`: `4.3.5 -> 4.3.14`
 - `@types/chai-as-promised`: `7.1.5 -> 7.1.8`
 - `@types/child-process-promise`: `2.2.2 -> 2.2.6`
 - `@types/express`: `4.17.17 -> 4.17.21`
 - `@types/inquirer`: `8.2.6 -> 8.2.10`
 - `@types/js-yaml`: `4.0.5 -> 4.0.9`
 - `@types/json-stable-stringify`: `1.0.34 -> 1.0.36`
 - `@types/listr`: `0.14.4 -> 0.14.9`
 - `@types/mz`: `2.7.4 -> 2.7.8`
 - `@types/request`: `2.48.8 -> 2.48.12`
 - `@types/sinon-chai`: `3.2.9 -> 3.2.12`
 - `@types/resolve`: `1.20.2 -> 1.20.6`
 - `@types/tmp`: `0.2.3 -> 0.2.6`
 - `@types/trusted-types`: `2.0.3 -> 2.0.7`
 - `@types/webpack `: `5.28.0 -> 5.28.5`
 - `@types/yargs`: `17.0.24 -> 17.0.32`
 - `chai`: `4.3.7 -> 4.4.1`
 - `firebase-admin`: `11.10.1 -> 11.11.1`
 - `json-stable-stringify`: `1.0.2 -> 1.1.1`
- `rollup-plugin-copy`:  `3.4.0 -> 3.5.0`
- `rollup-plugin-dts`: `5.3.0 -> 5.3.1`
 - `rollup-plugin-license`: `3.0.1 -> 3.3.1`
 - `karma-webpack`: `5.0.0 -> 5.0.1`
 - `karma-firefox-launcher`: `2.1.2 -> 2.1.3`
 - `karma-spec-reporter`: `0.0.34 -> 0.0.36`
- `patch-package`: `7.0.0 -> 7.0.2`
- `protobufjs`: `7.2.4 -> 7.2.6`
- `simple-git`: `3.19.1 -> 3.24.0`
2024-04-03 15:38:27 -04:00
DellaBittaandGitHub 90b72e3090 [ServerApp] Firebase Server App feature branch (#8005)
Feature branch merge for the addition of FirebaseServerApp - a tool to ease the use of working with Firebase in SSR frameworks.
2024-03-23 08:11:30 -04:00
DellaBittaandGitHub dde852cc45 [E2E CI] Update firebase-tools to v13.0.2 (#7883)
Previously we ran into an issue where we couldn't use the latest firebase-tools CLI version (v13+) due to an error attempting to deploy the E2E cloud function.

The error was due to a new requirement of the CLI that `firebase.json` requires a `functions` configuration. This change adds that configuration and pins the firebase CLI version to 13.0.2.
2023-12-18 13:05:51 -05:00
DellaBittaandGitHub 52e57d94a0 Update some minor dependencies. (#7592)
Update some of our dependencies.

- babel-core:`7.17.10` -> `7.22.11`
- babel/plugin-transform-modules-commonjs:`7.22.5` -> `7.22.11`
- babel/preset-env:`7.19.4` -> `7.22.10`
- babel/preset-typescript:`7.22.5` -> `7.22.11`
- firebase-admin: `11.9.0` -> `11.10.1`
- grpc/grpc-js: `~1.8.17` -> `~1.9.0`
- inquirer: `8.2.5` -> `8.2.6`
- karma-spec-reporter: `0.0.34` -> `0.0.36`
- lcov-result-merger: `3.1.0` -> `3.3.0`
- types/chai: `4.3.4` -> `4.3.5`
- types/inquirer: `8.2.1` -> `8.2.6`
- types/node-fetch: `2.6.2` -> `2.6.4`
- typescript-eslint/eslint-plugin: `5.43.0` -> `5.62.0`
- typescript-eslint/eslint-plugin-tslint: `5.43.0` -> `5.62.0`
- typescript-eslint/parser: `5.43.0` -> `5.62.0`
- memfs: `3.4.7` -> `3.5.3`
- rushstack/node-core-library: `3.45.5` -> `3.59.7`
- rushstack/ts-command-line: `4.13.2` -> `4.15.2`
- simple-git: `3.16.0` -> `3.19.1`
- yargs: `17.7.1` -> `17.7.2`
2023-09-01 11:13:07 -04:00
Denver ConeybeareandGitHub 668b9852df Include full output from mocha/karma in CI (#7567) 2023-08-16 19:25:47 -04:00
Christina HollandandGitHub 9bd385ef62 Fix webpack env variable settings (#7557) 2023-08-16 14:41:42 -07:00
Christina HollandandGitHub 5eda8c8cd0 Upgrade webpack to v5 (#7540) 2023-08-14 12:36:58 -07:00
dwyfrequencyandGitHub df44f5e27e Update select non-major deps (#7436) 2023-07-18 13:30:37 -04:00
6c0138f0e3 Add support for App Check replay protection in callable functions (#7296)
* Add limited token support for functions

* add test, works as a unit test, broken karma

* Finish adding support for app check callable functions SDK

* PR Feedback

* Doc feedback

Co-authored-by: Kevin Cheung <[email protected]>

* s/useLimitedUseAppCheckToken/limitedUseAppCheckTokens/g

* PR Feedback

---------

Co-authored-by: Samuel Bushi <[email protected]>
Co-authored-by: Kevin Cheung <[email protected]>
2023-05-15 16:25:05 -07:00
dwyfrequencyandGitHub 89450d151b Update select non-major dependencies (#7232) 2023-04-19 16:46:29 -04:00
dwyfrequencyandGitHub df1de41307 Update select non-major deps (#7027) 2023-02-13 13:10:06 -05:00
dwyfrequencyandGitHub 374c6f1f66 Update non-major dependencies (#6849)
* Update non-major dependencies

* Update additional deps

* Update firebase-admin and webpack
2022-12-07 16:46:37 -05:00
dwyfrequencyandGitHub b41558a467 Update select non-major dependencies (#6710)
* Remove babel-plugin-transform-import-meta

* Update semver

* Update firebase-functions

* Update Express import

* Add express types to auth
2022-10-21 14:16:07 -04:00
Maneesh TewaniandGitHub b5331907cf Fixed faulty transaction bug (#6508)
Fixed issue where if a listener on a filtered query with a server-side index is created with a listener at a non-intersecting path would cause incorrect results to be reported.
2022-08-15 15:16:38 -07:00
dwyfrequencyandGitHub 1df9db9510 Add firefox cross browser test to changed packages (#6481)
* Add mod github action to run tests on firefox as well as chrome

* Add copyright

* Remove placeholder file

* Remove test comment
2022-07-28 16:27:00 -04:00
Christina HollandandGitHub 3d295d1c8a Update firebase-functions version (#6454) 2022-07-19 17:44:29 -07:00
Christina HollandandGitHub d01eed1083 Update @grpc/proto-loader dep to address protobufjs security issue (#6442) 2022-07-19 10:02:12 -07:00
84bec43763 Update all non-major dependencies (#6255)
* Update all non-major dependencies

* Remove eslint update

Co-authored-by: Renovate Bot <[email protected]>
2022-05-10 12:49:55 -04:00
dwyfrequencyandGitHub ede9e428af Update firebase-functions dependency (#6214) 2022-05-09 15:08:43 -04:00
dwyfrequencyandGitHub 3f45d8818b Update API Extractor line endings to 'lf' (#6242)
* Update API Extractor line endings to 'lf'

* Switch API docs to lf line endings

* Update API reports
2022-05-09 12:11:08 -04:00
8dd6771ec7 Update dependency firebase-admin to v10 (#5621)
Co-authored-by: Renovate Bot <[email protected]>
2022-04-28 15:06:55 -04:00
dwyfrequencyandGitHub 53be0cec1c Update firebase-functions dependency (#6183)
* Update firebase-functions dependencies

* Add yarn file updates
2022-04-27 14:34:20 -04:00
dwyfrequencyandGitHub 1f56d88527 Add firebase-admin dep updates (#6184) 2022-04-27 13:01:06 -04:00
f3fc038430 fix firestore node tests (#5741)
* fix firestore node tests

* Create plenty-trains-switch.md

* IntelliJ and VSCode runners for Babel (#5756)

* format

Co-authored-by: Sebastian Schmidt <[email protected]>
2021-12-03 14:34:45 -08:00
FeiyangandGitHub d9ee41820a Add exports to all packages (#5646)
* exports for analytics

* support exports for app

* support exports for app-check

* add exports to auth

* support exports for auth-compat

* add exports to component

* add exports to database packages

* exports for firestore

* add exports to functions

* add exports to installations

* add exports to logger

* add exports to messaging

* add exports to perf

* add exports to rc

* add exports to storage

* update template

* add exports to util

* add exports to webchannel

* use default import to import cjs libs

* make node code esm compatible

* remove esm entrypoint for app in nodejs to mininize dual package hazard

* reorganize builds by env

* fix typo

* format

* remove esm entrypoint for nodejs for fcm

* expose package.json to nodejs

* fix

* fix path in build

* simplify exports

* formatting

* enable esModuleInterop

* use default import

* use default import

* remove esm support for Nodejs in messaging
2021-11-02 15:37:39 -07:00
Christina HollandandGitHub d85b3d420b Add E2E workflow and tests (#5204) 2021-09-28 11:40:18 -07:00
09df0664ae Update all non-major dependencies (#5507)
Co-authored-by: Renovate Bot <[email protected]>
2021-09-24 17:49:54 -07:00
FeiyangandGitHub 9f0b2f8404 use esm2017 builds by default (#5539)
* use esm2017 builds by default for util libs

* Create heavy-books-mate.md

* fix tests

* get function name properly

* Create wet-queens-tell.md

* update
2021-09-24 11:54:00 -07:00
bff78948fa Update all non-major dependencies (#5217)
* Update all non-major dependencies

* fix lock

* remove unneeded file

Co-authored-by: Renovate Bot <[email protected]>
Co-authored-by: Feiyang1 <[email protected]>
2021-09-09 19:52:43 -07:00