@react-native-firebase/app-check 23.6.0 → 23.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (117) hide show
  1. package/dist/commonjs/ReactNativeFirebaseAppCheckProvider.js +19 -0
  2. package/dist/commonjs/ReactNativeFirebaseAppCheckProvider.js.map +1 -0
  3. package/dist/commonjs/index.js +38 -0
  4. package/dist/commonjs/index.js.map +1 -0
  5. package/dist/commonjs/modular.js +124 -0
  6. package/dist/commonjs/modular.js.map +1 -0
  7. package/dist/commonjs/namespaced.js +212 -0
  8. package/dist/commonjs/namespaced.js.map +1 -0
  9. package/dist/commonjs/package.json +1 -0
  10. package/dist/commonjs/types/appcheck.js +93 -0
  11. package/dist/commonjs/types/appcheck.js.map +1 -0
  12. package/dist/commonjs/version.js +9 -0
  13. package/dist/commonjs/version.js.map +1 -0
  14. package/dist/commonjs/web/RNFBAppCheckModule.android.js +9 -0
  15. package/dist/commonjs/web/RNFBAppCheckModule.android.js.map +2 -0
  16. package/dist/commonjs/web/RNFBAppCheckModule.ios.js +9 -0
  17. package/dist/commonjs/web/RNFBAppCheckModule.ios.js.map +2 -0
  18. package/dist/commonjs/web/RNFBAppCheckModule.js +97 -0
  19. package/dist/commonjs/web/RNFBAppCheckModule.js.map +1 -0
  20. package/dist/module/ReactNativeFirebaseAppCheckProvider.js +14 -0
  21. package/dist/module/ReactNativeFirebaseAppCheckProvider.js.map +1 -0
  22. package/{ios/RNFBAppCheck/RNFBAppCheckModule.h → dist/module/index.js} +10 -12
  23. package/dist/module/index.js.map +1 -0
  24. package/dist/module/modular.js +110 -0
  25. package/dist/module/modular.js.map +1 -0
  26. package/{lib/index.js → dist/module/namespaced.js} +50 -80
  27. package/dist/module/namespaced.js.map +1 -0
  28. package/dist/module/package.json +1 -0
  29. package/dist/module/types/appcheck.js +89 -0
  30. package/dist/module/types/appcheck.js.map +1 -0
  31. package/dist/module/version.js +5 -0
  32. package/dist/module/version.js.map +1 -0
  33. package/dist/module/web/RNFBAppCheckModule.android.js +5 -0
  34. package/dist/module/web/RNFBAppCheckModule.android.js.map +2 -0
  35. package/dist/module/web/RNFBAppCheckModule.ios.js +5 -0
  36. package/dist/module/web/RNFBAppCheckModule.ios.js.map +2 -0
  37. package/dist/module/web/RNFBAppCheckModule.js +88 -0
  38. package/dist/module/web/RNFBAppCheckModule.js.map +1 -0
  39. package/dist/typescript/commonjs/lib/ReactNativeFirebaseAppCheckProvider.d.ts +8 -0
  40. package/dist/typescript/commonjs/lib/ReactNativeFirebaseAppCheckProvider.d.ts.map +1 -0
  41. package/dist/typescript/commonjs/lib/index.d.ts +5 -0
  42. package/dist/typescript/commonjs/lib/index.d.ts.map +1 -0
  43. package/dist/typescript/commonjs/lib/modular.d.ts +57 -0
  44. package/dist/typescript/commonjs/lib/modular.d.ts.map +1 -0
  45. package/dist/typescript/commonjs/lib/namespaced.d.ts +17 -0
  46. package/dist/typescript/commonjs/lib/namespaced.d.ts.map +1 -0
  47. package/{lib/index.d.ts → dist/typescript/commonjs/lib/types/appcheck.d.ts} +162 -221
  48. package/dist/typescript/commonjs/lib/types/appcheck.d.ts.map +1 -0
  49. package/dist/typescript/commonjs/lib/version.d.ts +2 -0
  50. package/dist/typescript/commonjs/lib/version.d.ts.map +1 -0
  51. package/dist/typescript/commonjs/lib/web/RNFBAppCheckModule.android.d.ts +3 -0
  52. package/dist/typescript/commonjs/lib/web/RNFBAppCheckModule.android.d.ts.map +1 -0
  53. package/dist/typescript/commonjs/lib/web/RNFBAppCheckModule.d.ts +18 -0
  54. package/dist/typescript/commonjs/lib/web/RNFBAppCheckModule.d.ts.map +1 -0
  55. package/dist/typescript/commonjs/lib/web/RNFBAppCheckModule.ios.d.ts +3 -0
  56. package/dist/typescript/commonjs/lib/web/RNFBAppCheckModule.ios.d.ts.map +1 -0
  57. package/dist/typescript/commonjs/package.json +1 -0
  58. package/dist/typescript/module/lib/ReactNativeFirebaseAppCheckProvider.d.ts +8 -0
  59. package/dist/typescript/module/lib/ReactNativeFirebaseAppCheckProvider.d.ts.map +1 -0
  60. package/dist/typescript/module/lib/index.d.ts +5 -0
  61. package/dist/typescript/module/lib/index.d.ts.map +1 -0
  62. package/dist/typescript/module/lib/modular.d.ts +57 -0
  63. package/dist/typescript/module/lib/modular.d.ts.map +1 -0
  64. package/dist/typescript/module/lib/namespaced.d.ts +17 -0
  65. package/dist/typescript/module/lib/namespaced.d.ts.map +1 -0
  66. package/dist/typescript/module/lib/types/appcheck.d.ts +299 -0
  67. package/dist/typescript/module/lib/types/appcheck.d.ts.map +1 -0
  68. package/dist/typescript/module/lib/version.d.ts +2 -0
  69. package/dist/typescript/module/lib/version.d.ts.map +1 -0
  70. package/dist/typescript/module/lib/web/RNFBAppCheckModule.android.d.ts +3 -0
  71. package/dist/typescript/module/lib/web/RNFBAppCheckModule.android.d.ts.map +1 -0
  72. package/dist/typescript/module/lib/web/RNFBAppCheckModule.d.ts +18 -0
  73. package/dist/typescript/module/lib/web/RNFBAppCheckModule.d.ts.map +1 -0
  74. package/dist/typescript/module/lib/web/RNFBAppCheckModule.ios.d.ts +3 -0
  75. package/dist/typescript/module/lib/web/RNFBAppCheckModule.ios.d.ts.map +1 -0
  76. package/dist/typescript/module/package.json +1 -0
  77. package/lib/ReactNativeFirebaseAppCheckProvider.ts +21 -0
  78. package/lib/index.ts +46 -0
  79. package/lib/modular.ts +157 -0
  80. package/lib/namespaced.ts +305 -0
  81. package/lib/types/appcheck.ts +386 -0
  82. package/lib/version.ts +2 -0
  83. package/lib/web/RNFBAppCheckModule.android.ts +4 -0
  84. package/lib/web/RNFBAppCheckModule.ios.ts +4 -0
  85. package/lib/web/RNFBAppCheckModule.ts +115 -0
  86. package/package.json +64 -8
  87. package/tsconfig.json +21 -0
  88. package/CHANGELOG.md +0 -769
  89. package/RNFBAppCheck.podspec +0 -50
  90. package/android/.editorconfig +0 -10
  91. package/android/build.gradle +0 -110
  92. package/android/lint.xml +0 -5
  93. package/android/settings.gradle +0 -1
  94. package/android/src/main/AndroidManifest.xml +0 -7
  95. package/android/src/main/java/io/invertase/firebase/appcheck/ReactNativeFirebaseAppCheckModule.java +0 -281
  96. package/android/src/main/java/io/invertase/firebase/appcheck/ReactNativeFirebaseAppCheckPackage.java +0 -41
  97. package/android/src/main/java/io/invertase/firebase/appcheck/ReactNativeFirebaseAppCheckProvider.java +0 -97
  98. package/android/src/main/java/io/invertase/firebase/appcheck/ReactNativeFirebaseAppCheckProviderFactory.java +0 -67
  99. package/app.plugin.js +0 -1
  100. package/ios/RNFBAppCheck/RNFBAppCheckModule.m +0 -171
  101. package/ios/RNFBAppCheck/RNFBAppCheckProvider.h +0 -33
  102. package/ios/RNFBAppCheck/RNFBAppCheckProvider.m +0 -90
  103. package/ios/RNFBAppCheck/RNFBAppCheckProviderFactory.h +0 -28
  104. package/ios/RNFBAppCheck/RNFBAppCheckProviderFactory.m +0 -61
  105. package/ios/RNFBAppCheck.xcodeproj/project.pbxproj +0 -349
  106. package/ios/RNFBAppCheck.xcodeproj/xcshareddata/IDETemplateMacros.plist +0 -24
  107. package/lib/ReactNativeFirebaseAppCheckProvider.js +0 -9
  108. package/lib/modular/index.d.ts +0 -149
  109. package/lib/modular/index.js +0 -102
  110. package/lib/version.js +0 -2
  111. package/plugin/build/index.d.ts +0 -3
  112. package/plugin/build/index.js +0 -15
  113. package/plugin/build/ios/appDelegate.d.ts +0 -6
  114. package/plugin/build/ios/appDelegate.js +0 -137
  115. package/plugin/build/ios/index.d.ts +0 -2
  116. package/plugin/build/ios/index.js +0 -5
  117. package/plugin/tsconfig.tsbuildinfo +0 -1
@@ -0,0 +1,4 @@
1
+ // No-op for ios.
2
+ const module: Record<string, never> = {};
3
+
4
+ export default module;
@@ -0,0 +1,115 @@
1
+ import {
2
+ getApp,
3
+ initializeAppCheck,
4
+ getToken,
5
+ getLimitedUseToken,
6
+ setTokenAutoRefreshEnabled,
7
+ CustomProvider,
8
+ onTokenChanged,
9
+ makeIDBAvailable,
10
+ } from '@react-native-firebase/app/lib/internal/web/firebaseAppCheck';
11
+ import { guard, emitEvent } from '@react-native-firebase/app/lib/internal/web/utils';
12
+ import type { FirebaseAppCheckTypes } from '../types/appcheck';
13
+
14
+ let appCheckInstances: Record<string, any> = {};
15
+ let listenersForApp: Record<string, () => void> = {};
16
+
17
+ function getAppCheckInstanceForApp(appName: string): any {
18
+ if (!appCheckInstances[appName]) {
19
+ throw new Error(
20
+ `firebase AppCheck instance for app ${appName} has not been initialized, ensure you have called initializeAppCheck() first.`,
21
+ );
22
+ }
23
+ return appCheckInstances[appName];
24
+ }
25
+
26
+ interface AppCheckModule {
27
+ initializeAppCheck(
28
+ appName: string,
29
+ options: FirebaseAppCheckTypes.AppCheckOptions,
30
+ ): Promise<void>;
31
+ setTokenAutoRefreshEnabled(appName: string, isTokenAutoRefreshEnabled: boolean): Promise<void>;
32
+ getLimitedUseToken(appName: string): Promise<FirebaseAppCheckTypes.AppCheckTokenResult>;
33
+ getToken(
34
+ appName: string,
35
+ forceRefresh: boolean,
36
+ ): Promise<FirebaseAppCheckTypes.AppCheckTokenResult>;
37
+ addAppCheckListener(appName: string): Promise<void>;
38
+ removeAppCheckListener(appName: string): Promise<void>;
39
+ }
40
+
41
+ /**
42
+ * This is a 'NativeModule' for the web platform.
43
+ * Methods here are identical to the ones found in
44
+ * the native android/ios modules e.g. `@ReactMethod` annotated
45
+ * java methods on Android.
46
+ */
47
+ const module: AppCheckModule = {
48
+ initializeAppCheck(appName: string, options: FirebaseAppCheckTypes.AppCheckOptions) {
49
+ makeIDBAvailable();
50
+ return guard(async () => {
51
+ if (appCheckInstances[appName]) {
52
+ return;
53
+ }
54
+ const { provider, isTokenAutoRefreshEnabled } = options;
55
+ const _provider = new CustomProvider({
56
+ getToken() {
57
+ if ('getToken' in provider && typeof provider.getToken === 'function') {
58
+ return provider.getToken();
59
+ }
60
+ throw new Error('Provider does not have a getToken method');
61
+ },
62
+ });
63
+ appCheckInstances[appName] = initializeAppCheck(getApp(appName), {
64
+ provider: _provider,
65
+ isTokenAutoRefreshEnabled,
66
+ });
67
+ });
68
+ },
69
+ setTokenAutoRefreshEnabled(appName: string, isTokenAutoRefreshEnabled: boolean) {
70
+ return guard(async () => {
71
+ const instance = getAppCheckInstanceForApp(appName);
72
+ setTokenAutoRefreshEnabled(instance, isTokenAutoRefreshEnabled);
73
+ });
74
+ },
75
+ getLimitedUseToken(appName: string) {
76
+ return guard(async () => {
77
+ const instance = getAppCheckInstanceForApp(appName);
78
+ return getLimitedUseToken(instance);
79
+ });
80
+ },
81
+ getToken(appName: string, forceRefresh: boolean) {
82
+ return guard(async () => {
83
+ const instance = getAppCheckInstanceForApp(appName);
84
+ return getToken(instance, forceRefresh);
85
+ });
86
+ },
87
+ addAppCheckListener(appName: string) {
88
+ return guard(async () => {
89
+ if (listenersForApp[appName]) {
90
+ return;
91
+ }
92
+ const instance = getAppCheckInstanceForApp(appName);
93
+ listenersForApp[appName] = onTokenChanged(
94
+ instance,
95
+ (tokenResult: FirebaseAppCheckTypes.AppCheckTokenResult) => {
96
+ emitEvent('appCheck_token_changed', {
97
+ appName,
98
+ ...tokenResult,
99
+ });
100
+ },
101
+ );
102
+ });
103
+ },
104
+ removeAppCheckListener(appName: string) {
105
+ return guard(async () => {
106
+ if (!listenersForApp[appName]) {
107
+ return;
108
+ }
109
+ listenersForApp[appName]();
110
+ delete listenersForApp[appName];
111
+ });
112
+ },
113
+ };
114
+
115
+ export default module;
package/package.json CHANGED
@@ -1,16 +1,18 @@
1
1
  {
2
2
  "name": "@react-native-firebase/app-check",
3
- "version": "23.6.0",
3
+ "version": "23.8.0",
4
4
  "author": "Invertase <oss@invertase.io> (http://invertase.io)",
5
5
  "description": "React Native Firebase - App Check",
6
- "main": "lib/index.js",
7
- "types": "lib/index.d.ts",
6
+ "main": "./dist/commonjs/index.js",
7
+ "module": "./dist/module/index.js",
8
+ "types": "./dist/typescript/commonjs/lib/index.d.ts",
8
9
  "scripts": {
9
- "build": "genversion --semi lib/version.js",
10
+ "build": "genversion --esm --semi lib/version.ts",
10
11
  "build:clean": "rimraf android/build && rimraf ios/build",
11
12
  "build:plugin": "rimraf plugin/build && tsc --build plugin",
12
13
  "lint:plugin": "eslint plugin/src/*",
13
- "prepare": "yarn run build && yarn run build:plugin"
14
+ "compile": "bob build",
15
+ "prepare": "yarn run build && yarn compile && yarn run build:plugin"
14
16
  },
15
17
  "repository": {
16
18
  "type": "git",
@@ -25,11 +27,13 @@
25
27
  "appCheck"
26
28
  ],
27
29
  "peerDependencies": {
28
- "@react-native-firebase/app": "23.6.0",
30
+ "@react-native-firebase/app": "23.8.0",
29
31
  "expo": ">=47.0.0"
30
32
  },
31
33
  "devDependencies": {
32
- "expo": "^54.0.27"
34
+ "expo": "^54.0.27",
35
+ "react-native-builder-bob": "^0.40.12",
36
+ "typescript": "^5.8.3"
33
37
  },
34
38
  "peerDependenciesMeta": {
35
39
  "expo": {
@@ -40,5 +44,57 @@
40
44
  "access": "public",
41
45
  "provenance": true
42
46
  },
43
- "gitHead": "748e89f9bfcdfbee971c627cd8a698963ba09f33"
47
+ "exports": {
48
+ ".": {
49
+ "source": "./lib/index.ts",
50
+ "import": {
51
+ "types": "./dist/typescript/module/lib/index.d.ts",
52
+ "default": "./dist/module/index.js"
53
+ },
54
+ "require": {
55
+ "types": "./dist/typescript/commonjs/lib/index.d.ts",
56
+ "default": "./dist/commonjs/index.js"
57
+ }
58
+ },
59
+ "./package.json": "./package.json"
60
+ },
61
+ "files": [
62
+ "lib",
63
+ "plugin/src",
64
+ "tsconfig.json",
65
+ "plugin/tsconfig.json",
66
+ "dist",
67
+ "!**/__tests__",
68
+ "!**/__fixtures__",
69
+ "!**/__mocks__"
70
+ ],
71
+ "react-native-builder-bob": {
72
+ "source": "lib",
73
+ "output": "dist",
74
+ "targets": [
75
+ [
76
+ "module",
77
+ {
78
+ "esm": true
79
+ }
80
+ ],
81
+ [
82
+ "commonjs",
83
+ {
84
+ "esm": true
85
+ }
86
+ ],
87
+ [
88
+ "typescript",
89
+ {
90
+ "tsc": "../../node_modules/.bin/tsc"
91
+ }
92
+ ]
93
+ ]
94
+ },
95
+ "eslintIgnore": [
96
+ "node_modules/",
97
+ "dist/"
98
+ ],
99
+ "gitHead": "724ddcfea6ebe93875e5a54ff38ca57ab5990822"
44
100
  }
package/tsconfig.json ADDED
@@ -0,0 +1,21 @@
1
+ {
2
+ "extends": "../../tsconfig.packages.base.json",
3
+ "compilerOptions": {
4
+ "baseUrl": ".",
5
+ "rootDir": ".",
6
+ "paths": {
7
+ "@react-native-firebase/app/lib/common/*": ["../app/dist/typescript/commonjs/lib/common/*"],
8
+ "@react-native-firebase/app/lib/common": ["../app/dist/typescript/commonjs/lib/common"],
9
+ "@react-native-firebase/app/lib/internal/web/*": [
10
+ "../app/dist/typescript/commonjs/lib/internal/web/*"
11
+ ],
12
+ "@react-native-firebase/app/lib/internal/*": [
13
+ "../app/dist/typescript/commonjs/lib/internal/*"
14
+ ],
15
+ "@react-native-firebase/app/lib/internal": ["../app/dist/typescript/commonjs/lib/internal"],
16
+ "@react-native-firebase/app": ["../app/dist/typescript/commonjs/lib"]
17
+ }
18
+ },
19
+ "include": ["lib/**/*", "../app/lib/internal/global.d.ts"],
20
+ "exclude": ["node_modules", "dist", "__tests__", "**/*.test.ts"]
21
+ }