Use safevalues to fix trusted types issues reported by tsec
This fixes all but two errors reported by yarn trusted-type-check, by using https://github.com/google/safevalues. The other error fixes won't be included in this PR since they require some refactoring.
In Analytics, we already used TrustedTypes, but tsec reports an error saying that it does not allow this without a security review. So, the usage of TrustedTypes has been replaced with safevalues.
Please ignore the stray rules-unit-testing/functions/yarn.lock change, it will go away once #8298 is merged
🦋 Changeset detected
Latest commit: c2bc27a12e19edb4371df34b74adc237499501e7
The changes in this PR will be included in the next version bump.
This PR includes changesets to release 5 packages
| Name | Type |
|---|---|
| @firebase/analytics | Patch |
| @firebase/app-check | Patch |
| @firebase/analytics-compat | Patch |
| firebase | Patch |
| @firebase/app-check-compat | Patch |
Not sure what this means? Click here to learn what changesets are.
Click here if you're a maintainer who wants to add another changeset to this PR
Changeset File Check :warning:
- Warning: This PR modifies files in the following packages but they have not been included in the changeset file:%0A - @firebase/auth%0A - @firebase/database-compat%0A - @firebase/database%0A - @firebase/messaging%0A%0A Make sure this was intentional.
Size Report 1
Affected Products
@firebase/analyticsType Base (84fe880) Merge (50d088c) Diff browser 21.8 kB 21.3 kB -531 B (-2.4%) esm5 27.0 kB 26.6 kB -386 B (-1.4%) main 28.4 kB 28.1 kB -351 B (-1.2%) module 21.8 kB 21.3 kB -531 B (-2.4%) @firebase/app-checkType Base (84fe880) Merge (50d088c) Diff browser 26.3 kB 26.4 kB +64 B (+0.2%) esm5 31.6 kB 31.9 kB +348 B (+1.1%) main 32.8 kB 33.2 kB +404 B (+1.2%) module 26.3 kB 26.4 kB +64 B (+0.2%) bundleType Base (84fe880) Merge (50d088c) Diff analytics (logEvent) 44.5 kB 48.3 kB +3.82 kB (+8.6%) app-check (ReCaptchaEnterpriseProvider) 39.9 kB 44.0 kB +4.09 kB (+10.3%) app-check (ReCaptchaV3Provider) 39.8 kB 43.9 kB +4.09 kB (+10.3%) firebaseType Base (84fe880) Merge (50d088c) Diff firebase-analytics-compat.js 26.5 kB 29.9 kB +3.41 kB (+12.9%) firebase-analytics.js 29.7 kB 33.7 kB +4.01 kB (+13.5%) firebase-app-check-compat.js 23.4 kB 27.0 kB +3.67 kB (+15.7%) firebase-app-check.js 25.0 kB 29.4 kB +4.40 kB (+17.6%) firebase-compat.js 786 kB 789 kB +3.38 kB (+0.4%)
Test Logs
Size Analysis Report 1
Affected Products
@firebase/analyticsgetAnalyticsSize
Type Base (84fe880) Merge (50d088c) Diff size 10.6 kB 10.4 kB -190 B (-1.8%) size-with-ext-deps 44.4 kB 48.2 kB +3.82 kB (+8.6%) Dependency
Type Base (84fe880) Merge (50d088c) Diff functions 25 dependencies
_initializeAnalytics attemptFetchDynamicConfigWithRetry createGtagTrustedTypesScriptURL createTrustedTypesPolicy factory fetchDynamicConfig fetchDynamicConfigWithRetry findGtagScriptOnPage getAnalytics getHeaders getOrCreateDataLayer gtagOnConfig gtagOnEvent initializeAnalytics insertScriptTag isRetriableError logEvent logEvent$1 promiseAllSettled registerAnalytics setAbortableTimeout validateIndexedDB warnOnBrowserContextMismatch wrapGtag wrapOrCreateGtag
23 dependencies
_initializeAnalytics attemptFetchDynamicConfigWithRetry factory fetchDynamicConfig fetchDynamicConfigWithRetry findGtagScriptOnPage getAnalytics getHeaders getOrCreateDataLayer gtagOnConfig gtagOnEvent initializeAnalytics insertScriptTag isRetriableError logEvent logEvent$1 promiseAllSettled registerAnalytics setAbortableTimeout validateIndexedDB warnOnBrowserContextMismatch wrapGtag wrapOrCreateGtag
- createGtagTrustedTypesScriptURL- createTrustedTypesPolicyExternal Dependency
Module Base (84fe880) Merge (50d088c) Diff safevaluestrustedResourceUrl
+ trustedResourceUrlsafevalues/domsafeScriptEl
+ safeScriptElgetGoogleAnalyticsClientIdSize
Type Base (84fe880) Merge (50d088c) Diff size 10.5 kB 10.3 kB -190 B (-1.8%) size-with-ext-deps 37.2 kB 41.0 kB +3.82 kB (+10.3%) Dependency
Type Base (84fe880) Merge (50d088c) Diff functions 25 dependencies
_initializeAnalytics attemptFetchDynamicConfigWithRetry createGtagTrustedTypesScriptURL createTrustedTypesPolicy factory fetchDynamicConfig fetchDynamicConfigWithRetry findGtagScriptOnPage getGoogleAnalyticsClientId getHeaders getOrCreateDataLayer gtagOnConfig gtagOnEvent insertScriptTag internalGetGoogleAnalyticsClientId isRetriableError logEvent logEvent$1 promiseAllSettled registerAnalytics setAbortableTimeout validateIndexedDB warnOnBrowserContextMismatch wrapGtag wrapOrCreateGtag
23 dependencies
_initializeAnalytics attemptFetchDynamicConfigWithRetry factory fetchDynamicConfig fetchDynamicConfigWithRetry findGtagScriptOnPage getGoogleAnalyticsClientId getHeaders getOrCreateDataLayer gtagOnConfig gtagOnEvent insertScriptTag internalGetGoogleAnalyticsClientId isRetriableError logEvent logEvent$1 promiseAllSettled registerAnalytics setAbortableTimeout validateIndexedDB warnOnBrowserContextMismatch wrapGtag wrapOrCreateGtag
- createGtagTrustedTypesScriptURL- createTrustedTypesPolicyExternal Dependency
Module Base (84fe880) Merge (50d088c) Diff safevaluestrustedResourceUrl
+ trustedResourceUrlsafevalues/domsafeScriptEl
+ safeScriptElinitializeAnalyticsSize
Type Base (84fe880) Merge (50d088c) Diff size 10.5 kB 10.3 kB -190 B (-1.8%) size-with-ext-deps 37.5 kB 41.3 kB +3.82 kB (+10.2%) Dependency
Type Base (84fe880) Merge (50d088c) Diff functions 24 dependencies
_initializeAnalytics attemptFetchDynamicConfigWithRetry createGtagTrustedTypesScriptURL createTrustedTypesPolicy factory fetchDynamicConfig fetchDynamicConfigWithRetry findGtagScriptOnPage getHeaders getOrCreateDataLayer gtagOnConfig gtagOnEvent initializeAnalytics insertScriptTag isRetriableError logEvent logEvent$1 promiseAllSettled registerAnalytics setAbortableTimeout validateIndexedDB warnOnBrowserContextMismatch wrapGtag wrapOrCreateGtag
22 dependencies
_initializeAnalytics attemptFetchDynamicConfigWithRetry factory fetchDynamicConfig fetchDynamicConfigWithRetry findGtagScriptOnPage getHeaders getOrCreateDataLayer gtagOnConfig gtagOnEvent initializeAnalytics insertScriptTag isRetriableError logEvent logEvent$1 promiseAllSettled registerAnalytics setAbortableTimeout validateIndexedDB warnOnBrowserContextMismatch wrapGtag wrapOrCreateGtag
- createGtagTrustedTypesScriptURL- createTrustedTypesPolicyExternal Dependency
Module Base (84fe880) Merge (50d088c) Diff safevaluestrustedResourceUrl
+ trustedResourceUrlsafevalues/domsafeScriptEl
+ safeScriptElisSupportedSize
Type Base (84fe880) Merge (50d088c) Diff size 10.4 kB 10.2 kB -190 B (-1.8%) size-with-ext-deps 37.1 kB 40.9 kB +3.82 kB (+10.3%) Dependency
Type Base (84fe880) Merge (50d088c) Diff functions 24 dependencies
_initializeAnalytics attemptFetchDynamicConfigWithRetry createGtagTrustedTypesScriptURL createTrustedTypesPolicy factory fetchDynamicConfig fetchDynamicConfigWithRetry findGtagScriptOnPage getHeaders getOrCreateDataLayer gtagOnConfig gtagOnEvent insertScriptTag isRetriableError isSupported logEvent logEvent$1 promiseAllSettled registerAnalytics setAbortableTimeout validateIndexedDB warnOnBrowserContextMismatch wrapGtag wrapOrCreateGtag
22 dependencies
_initializeAnalytics attemptFetchDynamicConfigWithRetry factory fetchDynamicConfig fetchDynamicConfigWithRetry findGtagScriptOnPage getHeaders getOrCreateDataLayer gtagOnConfig gtagOnEvent insertScriptTag isRetriableError isSupported logEvent logEvent$1 promiseAllSettled registerAnalytics setAbortableTimeout validateIndexedDB warnOnBrowserContextMismatch wrapGtag wrapOrCreateGtag
- createGtagTrustedTypesScriptURL- createTrustedTypesPolicyExternal Dependency
Module Base (84fe880) Merge (50d088c) Diff safevaluestrustedResourceUrl
+ trustedResourceUrlsafevalues/domsafeScriptEl
+ safeScriptEllogEventSize
Type Base (84fe880) Merge (50d088c) Diff size 10.2 kB 10.0 kB -190 B (-1.9%) size-with-ext-deps 37.0 kB 40.8 kB +3.82 kB (+10.3%) Dependency
Type Base (84fe880) Merge (50d088c) Diff functions 23 dependencies
_initializeAnalytics attemptFetchDynamicConfigWithRetry createGtagTrustedTypesScriptURL createTrustedTypesPolicy factory fetchDynamicConfig fetchDynamicConfigWithRetry findGtagScriptOnPage getHeaders getOrCreateDataLayer gtagOnConfig gtagOnEvent insertScriptTag isRetriableError logEvent logEvent$1 promiseAllSettled registerAnalytics setAbortableTimeout validateIndexedDB warnOnBrowserContextMismatch wrapGtag wrapOrCreateGtag
21 dependencies
_initializeAnalytics attemptFetchDynamicConfigWithRetry factory fetchDynamicConfig fetchDynamicConfigWithRetry findGtagScriptOnPage getHeaders getOrCreateDataLayer gtagOnConfig gtagOnEvent insertScriptTag isRetriableError logEvent logEvent$1 promiseAllSettled registerAnalytics setAbortableTimeout validateIndexedDB warnOnBrowserContextMismatch wrapGtag wrapOrCreateGtag
- createGtagTrustedTypesScriptURL- createTrustedTypesPolicyExternal Dependency
Module Base (84fe880) Merge (50d088c) Diff safevaluestrustedResourceUrl
+ trustedResourceUrlsafevalues/domsafeScriptEl
+ safeScriptElsetAnalyticsCollectionEnabledSize
Type Base (84fe880) Merge (50d088c) Diff size 10.4 kB 10.2 kB -190 B (-1.8%) size-with-ext-deps 37.1 kB 40.9 kB +3.82 kB (+10.3%) Dependency
Type Base (84fe880) Merge (50d088c) Diff functions 25 dependencies
_initializeAnalytics attemptFetchDynamicConfigWithRetry createGtagTrustedTypesScriptURL createTrustedTypesPolicy factory fetchDynamicConfig fetchDynamicConfigWithRetry findGtagScriptOnPage getHeaders getOrCreateDataLayer gtagOnConfig gtagOnEvent insertScriptTag isRetriableError logEvent logEvent$1 promiseAllSettled registerAnalytics setAbortableTimeout setAnalyticsCollectionEnabled setAnalyticsCollectionEnabled$1 validateIndexedDB warnOnBrowserContextMismatch wrapGtag wrapOrCreateGtag
23 dependencies
_initializeAnalytics attemptFetchDynamicConfigWithRetry factory fetchDynamicConfig fetchDynamicConfigWithRetry findGtagScriptOnPage getHeaders getOrCreateDataLayer gtagOnConfig gtagOnEvent insertScriptTag isRetriableError logEvent logEvent$1 promiseAllSettled registerAnalytics setAbortableTimeout setAnalyticsCollectionEnabled setAnalyticsCollectionEnabled$1 validateIndexedDB warnOnBrowserContextMismatch wrapGtag wrapOrCreateGtag
- createGtagTrustedTypesScriptURL- createTrustedTypesPolicyExternal Dependency
Module Base (84fe880) Merge (50d088c) Diff safevaluestrustedResourceUrl
+ trustedResourceUrlsafevalues/domsafeScriptEl
+ safeScriptElsetConsentSize
Type Base (84fe880) Merge (50d088c) Diff size 10.4 kB 10.2 kB -190 B (-1.8%) size-with-ext-deps 37.1 kB 40.9 kB +3.82 kB (+10.3%) Dependency
Type Base (84fe880) Merge (50d088c) Diff functions 25 dependencies
_initializeAnalytics _setConsentDefaultForInit attemptFetchDynamicConfigWithRetry createGtagTrustedTypesScriptURL createTrustedTypesPolicy factory fetchDynamicConfig fetchDynamicConfigWithRetry findGtagScriptOnPage getHeaders getOrCreateDataLayer gtagOnConfig gtagOnEvent insertScriptTag isRetriableError logEvent logEvent$1 promiseAllSettled registerAnalytics setAbortableTimeout setConsent validateIndexedDB warnOnBrowserContextMismatch wrapGtag wrapOrCreateGtag
23 dependencies
_initializeAnalytics _setConsentDefaultForInit attemptFetchDynamicConfigWithRetry factory fetchDynamicConfig fetchDynamicConfigWithRetry findGtagScriptOnPage getHeaders getOrCreateDataLayer gtagOnConfig gtagOnEvent insertScriptTag isRetriableError logEvent logEvent$1 promiseAllSettled registerAnalytics setAbortableTimeout setConsent validateIndexedDB warnOnBrowserContextMismatch wrapGtag wrapOrCreateGtag
- createGtagTrustedTypesScriptURL- createTrustedTypesPolicyExternal Dependency
Module Base (84fe880) Merge (50d088c) Diff safevaluestrustedResourceUrl
+ trustedResourceUrlsafevalues/domsafeScriptEl
+ safeScriptElsetCurrentScreenSize
Type Base (84fe880) Merge (50d088c) Diff size 10.5 kB 10.3 kB -190 B (-1.8%) size-with-ext-deps 37.2 kB 41.0 kB +3.82 kB (+10.3%) Dependency
Type Base (84fe880) Merge (50d088c) Diff functions 25 dependencies
_initializeAnalytics attemptFetchDynamicConfigWithRetry createGtagTrustedTypesScriptURL createTrustedTypesPolicy factory fetchDynamicConfig fetchDynamicConfigWithRetry findGtagScriptOnPage getHeaders getOrCreateDataLayer gtagOnConfig gtagOnEvent insertScriptTag isRetriableError logEvent logEvent$1 promiseAllSettled registerAnalytics setAbortableTimeout setCurrentScreen setCurrentScreen$1 validateIndexedDB warnOnBrowserContextMismatch wrapGtag wrapOrCreateGtag
23 dependencies
_initializeAnalytics attemptFetchDynamicConfigWithRetry factory fetchDynamicConfig fetchDynamicConfigWithRetry findGtagScriptOnPage getHeaders getOrCreateDataLayer gtagOnConfig gtagOnEvent insertScriptTag isRetriableError logEvent logEvent$1 promiseAllSettled registerAnalytics setAbortableTimeout setCurrentScreen setCurrentScreen$1 validateIndexedDB warnOnBrowserContextMismatch wrapGtag wrapOrCreateGtag
- createGtagTrustedTypesScriptURL- createTrustedTypesPolicyExternal Dependency
Module Base (84fe880) Merge (50d088c) Diff safevaluestrustedResourceUrl
+ trustedResourceUrlsafevalues/domsafeScriptEl
+ safeScriptElsetDefaultEventParametersSize
Type Base (84fe880) Merge (50d088c) Diff size 10.4 kB 10.2 kB -190 B (-1.8%) size-with-ext-deps 37.1 kB 40.9 kB +3.82 kB (+10.3%) Dependency
Type Base (84fe880) Merge (50d088c) Diff functions 25 dependencies
_initializeAnalytics _setDefaultEventParametersForInit attemptFetchDynamicConfigWithRetry createGtagTrustedTypesScriptURL createTrustedTypesPolicy factory fetchDynamicConfig fetchDynamicConfigWithRetry findGtagScriptOnPage getHeaders getOrCreateDataLayer gtagOnConfig gtagOnEvent insertScriptTag isRetriableError logEvent logEvent$1 promiseAllSettled registerAnalytics setAbortableTimeout setDefaultEventParameters validateIndexedDB warnOnBrowserContextMismatch wrapGtag wrapOrCreateGtag
23 dependencies
_initializeAnalytics _setDefaultEventParametersForInit attemptFetchDynamicConfigWithRetry factory fetchDynamicConfig fetchDynamicConfigWithRetry findGtagScriptOnPage getHeaders getOrCreateDataLayer gtagOnConfig gtagOnEvent insertScriptTag isRetriableError logEvent logEvent$1 promiseAllSettled registerAnalytics setAbortableTimeout setDefaultEventParameters validateIndexedDB warnOnBrowserContextMismatch wrapGtag wrapOrCreateGtag
- createGtagTrustedTypesScriptURL- createTrustedTypesPolicyExternal Dependency
Module Base (84fe880) Merge (50d088c) Diff safevaluestrustedResourceUrl
+ trustedResourceUrlsafevalues/domsafeScriptEl
+ safeScriptElsetUserIdSize
Type Base (84fe880) Merge (50d088c) Diff size 10.5 kB 10.3 kB -190 B (-1.8%) size-with-ext-deps 37.2 kB 41.0 kB +3.82 kB (+10.3%) Dependency
Type Base (84fe880) Merge (50d088c) Diff functions 25 dependencies
_initializeAnalytics attemptFetchDynamicConfigWithRetry createGtagTrustedTypesScriptURL createTrustedTypesPolicy factory fetchDynamicConfig fetchDynamicConfigWithRetry findGtagScriptOnPage getHeaders getOrCreateDataLayer gtagOnConfig gtagOnEvent insertScriptTag isRetriableError logEvent logEvent$1 promiseAllSettled registerAnalytics setAbortableTimeout setUserId setUserId$1 validateIndexedDB warnOnBrowserContextMismatch wrapGtag wrapOrCreateGtag
23 dependencies
_initializeAnalytics attemptFetchDynamicConfigWithRetry factory fetchDynamicConfig fetchDynamicConfigWithRetry findGtagScriptOnPage getHeaders getOrCreateDataLayer gtagOnConfig gtagOnEvent insertScriptTag isRetriableError logEvent logEvent$1 promiseAllSettled registerAnalytics setAbortableTimeout setUserId setUserId$1 validateIndexedDB warnOnBrowserContextMismatch wrapGtag wrapOrCreateGtag
- createGtagTrustedTypesScriptURL- createTrustedTypesPolicyExternal Dependency
Module Base (84fe880) Merge (50d088c) Diff safevaluestrustedResourceUrl
+ trustedResourceUrlsafevalues/domsafeScriptEl
+ safeScriptElsetUserPropertiesSize
Type Base (84fe880) Merge (50d088c) Diff size 10.5 kB 10.4 kB -190 B (-1.8%) size-with-ext-deps 37.3 kB 41.1 kB +3.82 kB (+10.2%) Dependency
Type Base (84fe880) Merge (50d088c) Diff functions 25 dependencies
_initializeAnalytics attemptFetchDynamicConfigWithRetry createGtagTrustedTypesScriptURL createTrustedTypesPolicy factory fetchDynamicConfig fetchDynamicConfigWithRetry findGtagScriptOnPage getHeaders getOrCreateDataLayer gtagOnConfig gtagOnEvent insertScriptTag isRetriableError logEvent logEvent$1 promiseAllSettled registerAnalytics setAbortableTimeout setUserProperties setUserProperties$1 validateIndexedDB warnOnBrowserContextMismatch wrapGtag wrapOrCreateGtag
23 dependencies
_initializeAnalytics attemptFetchDynamicConfigWithRetry factory fetchDynamicConfig fetchDynamicConfigWithRetry findGtagScriptOnPage getHeaders getOrCreateDataLayer gtagOnConfig gtagOnEvent insertScriptTag isRetriableError logEvent logEvent$1 promiseAllSettled registerAnalytics setAbortableTimeout setUserProperties setUserProperties$1 validateIndexedDB warnOnBrowserContextMismatch wrapGtag wrapOrCreateGtag
- createGtagTrustedTypesScriptURL- createTrustedTypesPolicyExternal Dependency
Module Base (84fe880) Merge (50d088c) Diff safevaluestrustedResourceUrl
+ trustedResourceUrlsafevalues/domsafeScriptEl
+ safeScriptElsettingsSize
Type Base (84fe880) Merge (50d088c) Diff size 10.4 kB 10.2 kB -190 B (-1.8%) size-with-ext-deps 37.1 kB 40.9 kB +3.82 kB (+10.3%) Dependency
Type Base (84fe880) Merge (50d088c) Diff functions 24 dependencies
_initializeAnalytics attemptFetchDynamicConfigWithRetry createGtagTrustedTypesScriptURL createTrustedTypesPolicy factory fetchDynamicConfig fetchDynamicConfigWithRetry findGtagScriptOnPage getHeaders getOrCreateDataLayer gtagOnConfig gtagOnEvent insertScriptTag isRetriableError logEvent logEvent$1 promiseAllSettled registerAnalytics setAbortableTimeout settings validateIndexedDB warnOnBrowserContextMismatch wrapGtag wrapOrCreateGtag
22 dependencies
_initializeAnalytics attemptFetchDynamicConfigWithRetry factory fetchDynamicConfig fetchDynamicConfigWithRetry findGtagScriptOnPage getHeaders getOrCreateDataLayer gtagOnConfig gtagOnEvent insertScriptTag isRetriableError logEvent logEvent$1 promiseAllSettled registerAnalytics setAbortableTimeout settings validateIndexedDB warnOnBrowserContextMismatch wrapGtag wrapOrCreateGtag
- createGtagTrustedTypesScriptURL- createTrustedTypesPolicyExternal Dependency
Module Base (84fe880) Merge (50d088c) Diff safevaluestrustedResourceUrl
+ trustedResourceUrlsafevalues/domsafeScriptEl
+ safeScriptEl
@firebase/app-checkCustomProviderSize
Type Base (84fe880) Merge (50d088c) Diff size 7.72 kB 7.76 kB +42 B (+0.5%) ReCaptchaEnterpriseProviderSize
Type Base (84fe880) Merge (50d088c) Diff size 11.4 kB 11.5 kB +93 B (+0.8%) size-with-ext-deps 29.7 kB 33.8 kB +4.09 kB (+13.8%) Dependency
Type Base (84fe880) Merge (50d088c) Diff variables 19 dependencies
APP_CHECK_NAME APP_CHECK_NAME_INTERNAL APP_CHECK_STATES BASE_ENDPOINT DB_NAME DB_VERSION DEFAULT_STATE ERRORS ERROR_FACTORY EXCHANGE_RECAPTCHA_ENTERPRISE_TOKEN_METHOD ONE_DAY RECAPTCHA_ENTERPRISE_URL STORE_NAME TOKEN_REFRESH_TIME dbPromise defaultTokenErrorData logger name version
18 dependencies
APP_CHECK_NAME APP_CHECK_NAME_INTERNAL APP_CHECK_STATES BASE_ENDPOINT DB_NAME DB_VERSION DEFAULT_STATE ERRORS ERROR_FACTORY EXCHANGE_RECAPTCHA_ENTERPRISE_TOKEN_METHOD ONE_DAY STORE_NAME TOKEN_REFRESH_TIME dbPromise defaultTokenErrorData logger name version
- RECAPTCHA_ENTERPRISE_URLExternal Dependency
Module Base (84fe880) Merge (50d088c) Diff safevaluestrustedResourceUrl
+ trustedResourceUrlsafevalues/domsafeScriptEl
+ safeScriptElReCaptchaV3ProviderSize
Type Base (84fe880) Merge (50d088c) Diff size 11.4 kB 11.5 kB +93 B (+0.8%) size-with-ext-deps 29.7 kB 33.7 kB +4.09 kB (+13.8%) Dependency
Type Base (84fe880) Merge (50d088c) Diff variables 19 dependencies
APP_CHECK_NAME APP_CHECK_NAME_INTERNAL APP_CHECK_STATES BASE_ENDPOINT DB_NAME DB_VERSION DEFAULT_STATE ERRORS ERROR_FACTORY EXCHANGE_RECAPTCHA_TOKEN_METHOD ONE_DAY RECAPTCHA_URL STORE_NAME TOKEN_REFRESH_TIME dbPromise defaultTokenErrorData logger name version
18 dependencies
APP_CHECK_NAME APP_CHECK_NAME_INTERNAL APP_CHECK_STATES BASE_ENDPOINT DB_NAME DB_VERSION DEFAULT_STATE ERRORS ERROR_FACTORY EXCHANGE_RECAPTCHA_TOKEN_METHOD ONE_DAY STORE_NAME TOKEN_REFRESH_TIME dbPromise defaultTokenErrorData logger name version
- RECAPTCHA_URLExternal Dependency
Module Base (84fe880) Merge (50d088c) Diff safevaluestrustedResourceUrl
+ trustedResourceUrlsafevalues/domsafeScriptEl
+ safeScriptElgetLimitedUseTokenSize
Type Base (84fe880) Merge (50d088c) Diff size 7.29 kB 7.34 kB +42 B (+0.6%) getTokenSize
Type Base (84fe880) Merge (50d088c) Diff size 7.35 kB 7.39 kB +42 B (+0.6%) initializeAppCheckSize
Type Base (84fe880) Merge (50d088c) Diff size 11.2 kB 11.3 kB +42 B (+0.4%) onTokenChangedSize
Type Base (84fe880) Merge (50d088c) Diff size 7.44 kB 7.49 kB +42 B (+0.6%) setTokenAutoRefreshEnabledSize
Type Base (84fe880) Merge (50d088c) Diff size 7.44 kB 7.48 kB +42 B (+0.6%)
Test Logs
Hi team, we are upgrading Firebase sdk to 10.12.4 and encountered some issues in our unit tests. Could you please help us to resolve them? Thanks
TypeError:
############################## ERROR ##############################
It looks like you are trying to call a template tag function (fn`...`)
using the normal function syntax (fn(...)), which is not supported.
The functions in the safevalues library are not designed to be called
like normal functions, and doing so invalidates the security guarantees
that safevalues provides.
If you are stuck and not sure how to proceed, please reach out to us
instead through:
- https://github.com/google/safevalues/issues
############################## ERROR ##############################
30 | const appCheckProvider = new ReCaptchaEnterpriseProvider(siteKey);
31 |
> 32 | const appCheck = initializeAppCheck(firebaseApp, {
| ^
33 | provider: appCheckProvider,
34 | isTokenAutoRefreshEnabled: true,
35 | });
at assertIsTemplateObject (../../node_modules/.pnpm/[email protected]/node_modules/safevalues/dist/cjs/internals/string_literal.js:19:15)
at Object.trustedResourceUrl (../../node_modules/.pnpm/[email protected]/node_modules/safevalues/dist/cjs/builders/resource_url_builders.js:162:56)
at trustedResourceUrl (../../node_modules/.pnpm/@[email protected]_@[email protected]/node_modules/@firebase/app-check/src/recaptcha.ts:186:5)
at initializeEnterprise (../../node_modules/.pnpm/@[email protected]_@[email protected]/node_modules/@firebase/app-check/src/recaptcha.ts:72:5)
at ReCaptchaEnterpriseProvider.initializeRecaptchaEnterprise [as initialize] (../../node_modules/.pnpm/@[email protected]_@[email protected]/node_modules/@firebase/app-check/src/providers.ts:209:5)
at _activate (../../node_modules/.pnpm/@[email protected]_@[email protected]/node_modules/@firebase/app-check/src/api.ts:160:18)
at initializeAppCheck (../../node_modules/.pnpm/@[email protected]_@[email protected]/node_modules/@firebase/app-check/src/api.ts:106:3)
at src/app-check/app-check.tsx:32:40
at apply (../utils/src/memo.tsx:41:29)
at getAppCheckToken (src/app-check/app-check-token.tsx:23:53)
at Object.<anonymous> (src/app-check/app-check-token.test.tsx:92:36)
Hi team, we are upgrading Firebase sdk to
10.12.4and encountered some issues in our unit tests. Could you please help us to resolve them? ThanksTypeError: ############################## ERROR ############################## It looks like you are trying to call a template tag function (fn`...`) using the normal function syntax (fn(...)), which is not supported. The functions in the safevalues library are not designed to be called like normal functions, and doing so invalidates the security guarantees that safevalues provides. If you are stuck and not sure how to proceed, please reach out to us instead through: - https://github.com/google/safevalues/issues ############################## ERROR ############################## 30 | const appCheckProvider = new ReCaptchaEnterpriseProvider(siteKey); 31 | > 32 | const appCheck = initializeAppCheck(firebaseApp, { | ^ 33 | provider: appCheckProvider, 34 | isTokenAutoRefreshEnabled: true, 35 | }); at assertIsTemplateObject (../../node_modules/.pnpm/[email protected]/node_modules/safevalues/dist/cjs/internals/string_literal.js:19:15) at Object.trustedResourceUrl (../../node_modules/.pnpm/[email protected]/node_modules/safevalues/dist/cjs/builders/resource_url_builders.js:162:56) at trustedResourceUrl (../../node_modules/.pnpm/@[email protected]_@[email protected]/node_modules/@firebase/app-check/src/recaptcha.ts:186:5) at initializeEnterprise (../../node_modules/.pnpm/@[email protected]_@[email protected]/node_modules/@firebase/app-check/src/recaptcha.ts:72:5) at ReCaptchaEnterpriseProvider.initializeRecaptchaEnterprise [as initialize] (../../node_modules/.pnpm/@[email protected]_@[email protected]/node_modules/@firebase/app-check/src/providers.ts:209:5) at _activate (../../node_modules/.pnpm/@[email protected]_@[email protected]/node_modules/@firebase/app-check/src/api.ts:160:18) at initializeAppCheck (../../node_modules/.pnpm/@[email protected]_@[email protected]/node_modules/@firebase/app-check/src/api.ts:106:3) at src/app-check/app-check.tsx:32:40 at apply (../utils/src/memo.tsx:41:29) at getAppCheckToken (src/app-check/app-check-token.tsx:23:53) at Object.<anonymous> (src/app-check/app-check-token.test.tsx:92:36)
Hi @nicole0707, sorry that you're suddenly running into issues with this.
I just tried to re-create this error message in my own Firebase web app, but was unsuccessful. I'd really like to figure out why you're seeing this issue, and reproduce it myself. It would be helpful if you could share:
- Code snippet of your unit test that raised the error
- Your environment (any web frameworks, testing frameworks, libraries etc...)
- Your testing configuration
Also, if you believe this is an issue with Firebase, and not your code, please submit a new issue.
Hi @dlarocque, FYI we are using the Firebase sdk with Next.js, and the testing framework is Jest. I will look into the issue and try to provide a minimal demo to reproduce it. Thanks!
Hello Firebase team, my NextJS project won't build because of an exception that seem related to this update:
./node_modules/firebase/analytics/dist/index.mjs + 51 modules
Cannot get final name for export 'trustedResourceUrl' of ./node_modules/safevalues/dist/mjs/index.js
I am using firebase: ^10.12.4
Hello Firebase team, my NextJS project won't build because of an exception that seem related to this update:
./node_modules/firebase/analytics/dist/index.mjs + 51 modules Cannot get final name for export 'trustedResourceUrl' of ./node_modules/safevalues/dist/mjs/index.jsI am using
firebase: ^10.12.4
Downgrading to "firebase": "10.12.3" solved the issue
Hello Firebase team, my NextJS project won't build because of an exception that seem related to this update:
./node_modules/firebase/analytics/dist/index.mjs + 51 modules Cannot get final name for export 'trustedResourceUrl' of ./node_modules/safevalues/dist/mjs/index.jsI am using
firebase: ^10.12.4
Hi @delmaass, thanks for reporting this. As a sanity check, I upgraded my own Next.js app (It's just the template app with basic Firebase usage) to Firebase 10.12.4, but I was not able to reproduce your issue when building or deploying. If you believe this is an issue caused by the SDK, could you please submit a new Issue in this repo including more details?
I am worried this might cause issues for a lot of Next.js users, but I haven't been able to reproduce any issues myself.
@nicole0707 I have been able to reproduce your issue with Jest. If you have any additional info that may help us solve this issue, please mention it in https://github.com/firebase/firebase-js-sdk/issues/8386
Hi @dlarocque, FYI we are using the Firebase sdk with Next.js, and the testing framework is Jest. I will look into the issue and try to provide a minimal demo to reproduce it. Thanks!
Hi @nicole0707, this should be fixed in the next release which will be out by the end of the week.
For more information, see #8395
Hi @dlarocque, FYI we are using the Firebase sdk with Next.js, and the testing framework is Jest. I will look into the issue and try to provide a minimal demo to reproduce it. Thanks!
Hi @nicole0707, this should be fixed in the next release which will be out by the end of the week.
For more information, see #8395
Thanks @dlarocque, I just checked the issue has been fixed in 10.12.5.