@react-native-firebase/app-distribution 21.7.4 → 21.9.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.
- package/CHANGELOG.md +13 -0
- package/lib/version.js +1 -1
- package/package.json +4 -4
- package/plugin/tsconfig.tsbuildinfo +1 -1
- package/__tests__/app-distribution.test.ts +0 -42
- package/plugin/__tests__/README.md +0 -1
- package/plugin/__tests__/__snapshots__/androidPlugin.test.ts.snap +0 -167
- package/plugin/__tests__/androidPlugin.test.ts +0 -32
- package/plugin/__tests__/fixtures/app_build.gradle +0 -118
- package/plugin/__tests__/fixtures/project_build.gradle +0 -38
- package/type-test.ts +0 -22
package/CHANGELOG.md
CHANGED
@@ -3,6 +3,19 @@
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
5
5
|
|
6
|
+
## [21.9.0](https://github.com/invertase/react-native-firebase/compare/v21.8.0...v21.9.0) (2025-02-11)
|
7
|
+
|
8
|
+
### Bug Fixes
|
9
|
+
|
10
|
+
- firebase-ios-sdk 11.8.0 / firebase-android-sdk 33.9.0 ([67aba08](https://github.com/invertase/react-native-firebase/commit/67aba08c00aa46b72fcb1353bd428fa552b6686a))
|
11
|
+
|
12
|
+
## [21.8.0](https://github.com/invertase/react-native-firebase/compare/v21.7.4...v21.8.0) (2025-02-10)
|
13
|
+
|
14
|
+
### Bug Fixes
|
15
|
+
|
16
|
+
- do not ship types tests with released packages ([a870cf7](https://github.com/invertase/react-native-firebase/commit/a870cf749687ad2bd6a7a027540bdf29beeaffaa))
|
17
|
+
- do not ship unit tests in released packages ([e71dadf](https://github.com/invertase/react-native-firebase/commit/e71dadfc1c0cad2e89c94100913af31ddf7d9c91))
|
18
|
+
|
6
19
|
## [21.7.4](https://github.com/invertase/react-native-firebase/compare/v21.7.3...v21.7.4) (2025-02-08)
|
7
20
|
|
8
21
|
### Bug Fixes
|
package/lib/version.js
CHANGED
@@ -1,2 +1,2 @@
|
|
1
1
|
// Generated by genversion.
|
2
|
-
module.exports = '21.
|
2
|
+
module.exports = '21.9.0';
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@react-native-firebase/app-distribution",
|
3
|
-
"version": "21.
|
3
|
+
"version": "21.9.0",
|
4
4
|
"author": "Invertase <oss@invertase.io> (http://invertase.io)",
|
5
5
|
"description": "React Native Firebase - App Distribution",
|
6
6
|
"main": "lib/index.js",
|
@@ -24,11 +24,11 @@
|
|
24
24
|
"app-distribution"
|
25
25
|
],
|
26
26
|
"peerDependencies": {
|
27
|
-
"@react-native-firebase/app": "21.
|
27
|
+
"@react-native-firebase/app": "21.9.0",
|
28
28
|
"expo": ">=47.0.0"
|
29
29
|
},
|
30
30
|
"devDependencies": {
|
31
|
-
"expo": "^52.0.
|
31
|
+
"expo": "^52.0.32"
|
32
32
|
},
|
33
33
|
"peerDependenciesMeta": {
|
34
34
|
"expo": {
|
@@ -38,5 +38,5 @@
|
|
38
38
|
"publishConfig": {
|
39
39
|
"access": "public"
|
40
40
|
},
|
41
|
-
"gitHead": "
|
41
|
+
"gitHead": "306d9c766ff5614fff6404be5c3dd4bcdb450754"
|
42
42
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"root":["./src/index.ts","./src/android/
|
1
|
+
{"root":["./src/index.ts","./src/android/applyplugin.ts","./src/android/buildscriptdependency.ts","./src/android/constants.ts","./src/android/index.ts"],"version":"5.7.3"}
|
@@ -1,42 +0,0 @@
|
|
1
|
-
import { describe, expect, it } from '@jest/globals';
|
2
|
-
|
3
|
-
import {
|
4
|
-
firebase,
|
5
|
-
getAppDistribution,
|
6
|
-
isTesterSignedIn,
|
7
|
-
signInTester,
|
8
|
-
checkForUpdate,
|
9
|
-
signOutTester,
|
10
|
-
} from '../lib';
|
11
|
-
|
12
|
-
describe('appDistribution()', function () {
|
13
|
-
describe('namespace', function () {
|
14
|
-
it('accessible from firebase.app()', function () {
|
15
|
-
const app = firebase.app();
|
16
|
-
expect(app.appDistribution).toBeDefined();
|
17
|
-
expect(app.appDistribution().app).toEqual(app);
|
18
|
-
});
|
19
|
-
});
|
20
|
-
|
21
|
-
describe('modular', function () {
|
22
|
-
it('`getAppDistribution` function is properly exposed to end user', function () {
|
23
|
-
expect(getAppDistribution).toBeDefined();
|
24
|
-
});
|
25
|
-
|
26
|
-
it('`isTesterSignedIn` function is properly exposed to end user', function () {
|
27
|
-
expect(isTesterSignedIn).toBeDefined();
|
28
|
-
});
|
29
|
-
|
30
|
-
it('`signInTester` function is properly exposed to end user', function () {
|
31
|
-
expect(signInTester).toBeDefined();
|
32
|
-
});
|
33
|
-
|
34
|
-
it('`checkForUpdate` function is properly exposed to end user', function () {
|
35
|
-
expect(checkForUpdate).toBeDefined();
|
36
|
-
});
|
37
|
-
|
38
|
-
it('`signOutTester` function is properly exposed to end user', function () {
|
39
|
-
expect(signOutTester).toBeDefined();
|
40
|
-
});
|
41
|
-
});
|
42
|
-
});
|
@@ -1 +0,0 @@
|
|
1
|
-
Please see the `packages/app/plugin/__tests__/README.md`.
|
@@ -1,167 +0,0 @@
|
|
1
|
-
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
2
|
-
|
3
|
-
exports[`App distribution Plugin Android Tests applies app distribution classpath to project build.gradle 1`] = `
|
4
|
-
"// Top-level build file where you can add configuration options common to all sub-projects/modules.
|
5
|
-
|
6
|
-
buildscript {
|
7
|
-
ext {
|
8
|
-
buildToolsVersion = "29.0.3"
|
9
|
-
minSdkVersion = 21
|
10
|
-
compileSdkVersion = 30
|
11
|
-
targetSdkVersion = 30
|
12
|
-
}
|
13
|
-
repositories {
|
14
|
-
google()
|
15
|
-
jcenter()
|
16
|
-
}
|
17
|
-
dependencies {
|
18
|
-
classpath 'com.google.firebase:firebase-appdistribution-gradle:5.1.0'
|
19
|
-
classpath("com.android.tools.build:gradle:4.1.0")
|
20
|
-
|
21
|
-
// NOTE: Do not place your application dependencies here; they belong
|
22
|
-
// in the individual module build.gradle files
|
23
|
-
}
|
24
|
-
}
|
25
|
-
|
26
|
-
allprojects {
|
27
|
-
repositories {
|
28
|
-
mavenLocal()
|
29
|
-
maven {
|
30
|
-
// All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
|
31
|
-
url("$rootDir/../node_modules/react-native/android")
|
32
|
-
}
|
33
|
-
maven {
|
34
|
-
// Android JSC is installed from npm
|
35
|
-
url("$rootDir/../node_modules/jsc-android/dist")
|
36
|
-
}
|
37
|
-
|
38
|
-
google()
|
39
|
-
jcenter()
|
40
|
-
maven { url 'https://www.jitpack.io' }
|
41
|
-
}
|
42
|
-
}
|
43
|
-
"
|
44
|
-
`;
|
45
|
-
|
46
|
-
exports[`App distribution Plugin Android Tests applies app distribution plugin to app/build.gradle 1`] = `
|
47
|
-
"/* Example build.gradle file from https://github.com/expo/expo/blob/6ab0274b5cb9a9c223e0d453787a522b438b4fcb/templates/expo-template-bare-minimum/android/app/build.gradle */
|
48
|
-
|
49
|
-
apply plugin: "com.android.application"
|
50
|
-
|
51
|
-
import com.android.build.OutputFile
|
52
|
-
|
53
|
-
|
54
|
-
project.ext.react = [
|
55
|
-
enableHermes: false
|
56
|
-
]
|
57
|
-
|
58
|
-
apply from: '../../node_modules/react-native-unimodules/gradle.groovy'
|
59
|
-
apply from: "../../node_modules/react-native/react.gradle"
|
60
|
-
apply from: "../../node_modules/expo-constants/scripts/get-app-config-android.gradle"
|
61
|
-
apply from: "../../node_modules/expo-updates/scripts/create-manifest-android.gradle"
|
62
|
-
|
63
|
-
def enableSeparateBuildPerCPUArchitecture = false
|
64
|
-
|
65
|
-
def enableProguardInReleaseBuilds = false
|
66
|
-
|
67
|
-
def jscFlavor = 'org.webkit:android-jsc:+'
|
68
|
-
|
69
|
-
def enableHermes = project.ext.react.get("enableHermes", false);
|
70
|
-
|
71
|
-
android {
|
72
|
-
compileSdkVersion rootProject.ext.compileSdkVersion
|
73
|
-
|
74
|
-
compileOptions {
|
75
|
-
sourceCompatibility JavaVersion.VERSION_1_8
|
76
|
-
targetCompatibility JavaVersion.VERSION_1_8
|
77
|
-
}
|
78
|
-
|
79
|
-
defaultConfig {
|
80
|
-
applicationId "com.helloworld"
|
81
|
-
minSdkVersion rootProject.ext.minSdkVersion
|
82
|
-
targetSdkVersion rootProject.ext.targetSdkVersion
|
83
|
-
versionCode 1
|
84
|
-
versionName "1.0"
|
85
|
-
}
|
86
|
-
splits {
|
87
|
-
abi {
|
88
|
-
reset()
|
89
|
-
enable enableSeparateBuildPerCPUArchitecture
|
90
|
-
universalApk false // If true, also generate a universal APK
|
91
|
-
include "armeabi-v7a", "x86", "arm64-v8a", "x86_64"
|
92
|
-
}
|
93
|
-
}
|
94
|
-
signingConfigs {
|
95
|
-
debug {
|
96
|
-
storeFile file('debug.keystore')
|
97
|
-
storePassword 'android'
|
98
|
-
keyAlias 'androiddebugkey'
|
99
|
-
keyPassword 'android'
|
100
|
-
}
|
101
|
-
}
|
102
|
-
buildTypes {
|
103
|
-
debug {
|
104
|
-
signingConfig signingConfigs.debug
|
105
|
-
}
|
106
|
-
release {
|
107
|
-
// Caution! In production, you need to generate your own keystore file.
|
108
|
-
// see https://reactnative.dev/docs/signed-apk-android.
|
109
|
-
signingConfig signingConfigs.debug
|
110
|
-
minifyEnabled enableProguardInReleaseBuilds
|
111
|
-
proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"
|
112
|
-
}
|
113
|
-
}
|
114
|
-
|
115
|
-
// applicationVariants are e.g. debug, release
|
116
|
-
applicationVariants.all { variant ->
|
117
|
-
variant.outputs.each { output ->
|
118
|
-
// For each separate APK per architecture, set a unique version code as described here:
|
119
|
-
// https://developer.android.com/studio/build/configure-apk-splits.html
|
120
|
-
def versionCodes = ["armeabi-v7a": 1, "x86": 2, "arm64-v8a": 3, "x86_64": 4]
|
121
|
-
def abi = output.getFilter(OutputFile.ABI)
|
122
|
-
if (abi != null) { // null for the universal-debug, universal-release variants
|
123
|
-
output.versionCodeOverride =
|
124
|
-
versionCodes.get(abi) * 1048576 + defaultConfig.versionCode
|
125
|
-
}
|
126
|
-
|
127
|
-
}
|
128
|
-
}
|
129
|
-
}
|
130
|
-
|
131
|
-
dependencies {
|
132
|
-
implementation fileTree(dir: "libs", include: ["*.jar"])
|
133
|
-
//noinspection GradleDynamicVersion
|
134
|
-
implementation "com.facebook.react:react-native:+" // From node_modules
|
135
|
-
implementation "androidx.swiperefreshlayout:swiperefreshlayout:1.0.0"
|
136
|
-
debugImplementation("com.facebook.flipper:flipper:\${FLIPPER_VERSION}") {
|
137
|
-
exclude group:'com.facebook.fbjni'
|
138
|
-
}
|
139
|
-
debugImplementation("com.facebook.flipper:flipper-network-plugin:\${FLIPPER_VERSION}") {
|
140
|
-
exclude group:'com.facebook.flipper'
|
141
|
-
exclude group:'com.squareup.okhttp3', module:'okhttp'
|
142
|
-
}
|
143
|
-
debugImplementation("com.facebook.flipper:flipper-fresco-plugin:\${FLIPPER_VERSION}") {
|
144
|
-
exclude group:'com.facebook.flipper'
|
145
|
-
}
|
146
|
-
addUnimodulesDependencies()
|
147
|
-
|
148
|
-
if (enableHermes) {
|
149
|
-
def hermesPath = "../../node_modules/hermes-engine/android/";
|
150
|
-
debugImplementation files(hermesPath + "hermes-debug.aar")
|
151
|
-
releaseImplementation files(hermesPath + "hermes-release.aar")
|
152
|
-
} else {
|
153
|
-
implementation jscFlavor
|
154
|
-
}
|
155
|
-
}
|
156
|
-
|
157
|
-
// Run this once to be able to run the application with BUCK
|
158
|
-
// puts all compile dependencies into folder libs for BUCK to use
|
159
|
-
task copyDownloadableDepsToLibs(type: Copy) {
|
160
|
-
from configurations.compile
|
161
|
-
into 'libs'
|
162
|
-
}
|
163
|
-
|
164
|
-
apply from: file("../../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesAppBuildGradle(project)
|
165
|
-
|
166
|
-
apply plugin: 'com.google.firebase.appdistribution'"
|
167
|
-
`;
|
@@ -1,32 +0,0 @@
|
|
1
|
-
import fs from 'fs/promises';
|
2
|
-
import path from 'path';
|
3
|
-
import { beforeAll, describe, expect, it } from '@jest/globals';
|
4
|
-
|
5
|
-
import { applyPlugin } from '../src/android/applyPlugin';
|
6
|
-
import { setBuildscriptDependency } from '../src/android/buildscriptDependency';
|
7
|
-
|
8
|
-
describe('App distribution Plugin Android Tests', function () {
|
9
|
-
let appBuildGradle: string;
|
10
|
-
let projectBuildGradle: string;
|
11
|
-
|
12
|
-
beforeAll(async function () {
|
13
|
-
projectBuildGradle = await fs.readFile(
|
14
|
-
path.resolve(__dirname, './fixtures/project_build.gradle'),
|
15
|
-
{ encoding: 'utf-8' },
|
16
|
-
);
|
17
|
-
|
18
|
-
appBuildGradle = await fs.readFile(path.resolve(__dirname, './fixtures/app_build.gradle'), {
|
19
|
-
encoding: 'utf-8',
|
20
|
-
});
|
21
|
-
});
|
22
|
-
|
23
|
-
it('applies app distribution classpath to project build.gradle', async function () {
|
24
|
-
const result = setBuildscriptDependency(projectBuildGradle);
|
25
|
-
expect(result).toMatchSnapshot();
|
26
|
-
});
|
27
|
-
|
28
|
-
it('applies app distribution plugin to app/build.gradle', async function () {
|
29
|
-
const result = applyPlugin(appBuildGradle);
|
30
|
-
expect(result).toMatchSnapshot();
|
31
|
-
});
|
32
|
-
});
|
@@ -1,118 +0,0 @@
|
|
1
|
-
/* Example build.gradle file from https://github.com/expo/expo/blob/6ab0274b5cb9a9c223e0d453787a522b438b4fcb/templates/expo-template-bare-minimum/android/app/build.gradle */
|
2
|
-
|
3
|
-
apply plugin: "com.android.application"
|
4
|
-
|
5
|
-
import com.android.build.OutputFile
|
6
|
-
|
7
|
-
|
8
|
-
project.ext.react = [
|
9
|
-
enableHermes: false
|
10
|
-
]
|
11
|
-
|
12
|
-
apply from: '../../node_modules/react-native-unimodules/gradle.groovy'
|
13
|
-
apply from: "../../node_modules/react-native/react.gradle"
|
14
|
-
apply from: "../../node_modules/expo-constants/scripts/get-app-config-android.gradle"
|
15
|
-
apply from: "../../node_modules/expo-updates/scripts/create-manifest-android.gradle"
|
16
|
-
|
17
|
-
def enableSeparateBuildPerCPUArchitecture = false
|
18
|
-
|
19
|
-
def enableProguardInReleaseBuilds = false
|
20
|
-
|
21
|
-
def jscFlavor = 'org.webkit:android-jsc:+'
|
22
|
-
|
23
|
-
def enableHermes = project.ext.react.get("enableHermes", false);
|
24
|
-
|
25
|
-
android {
|
26
|
-
compileSdkVersion rootProject.ext.compileSdkVersion
|
27
|
-
|
28
|
-
compileOptions {
|
29
|
-
sourceCompatibility JavaVersion.VERSION_1_8
|
30
|
-
targetCompatibility JavaVersion.VERSION_1_8
|
31
|
-
}
|
32
|
-
|
33
|
-
defaultConfig {
|
34
|
-
applicationId "com.helloworld"
|
35
|
-
minSdkVersion rootProject.ext.minSdkVersion
|
36
|
-
targetSdkVersion rootProject.ext.targetSdkVersion
|
37
|
-
versionCode 1
|
38
|
-
versionName "1.0"
|
39
|
-
}
|
40
|
-
splits {
|
41
|
-
abi {
|
42
|
-
reset()
|
43
|
-
enable enableSeparateBuildPerCPUArchitecture
|
44
|
-
universalApk false // If true, also generate a universal APK
|
45
|
-
include "armeabi-v7a", "x86", "arm64-v8a", "x86_64"
|
46
|
-
}
|
47
|
-
}
|
48
|
-
signingConfigs {
|
49
|
-
debug {
|
50
|
-
storeFile file('debug.keystore')
|
51
|
-
storePassword 'android'
|
52
|
-
keyAlias 'androiddebugkey'
|
53
|
-
keyPassword 'android'
|
54
|
-
}
|
55
|
-
}
|
56
|
-
buildTypes {
|
57
|
-
debug {
|
58
|
-
signingConfig signingConfigs.debug
|
59
|
-
}
|
60
|
-
release {
|
61
|
-
// Caution! In production, you need to generate your own keystore file.
|
62
|
-
// see https://reactnative.dev/docs/signed-apk-android.
|
63
|
-
signingConfig signingConfigs.debug
|
64
|
-
minifyEnabled enableProguardInReleaseBuilds
|
65
|
-
proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"
|
66
|
-
}
|
67
|
-
}
|
68
|
-
|
69
|
-
// applicationVariants are e.g. debug, release
|
70
|
-
applicationVariants.all { variant ->
|
71
|
-
variant.outputs.each { output ->
|
72
|
-
// For each separate APK per architecture, set a unique version code as described here:
|
73
|
-
// https://developer.android.com/studio/build/configure-apk-splits.html
|
74
|
-
def versionCodes = ["armeabi-v7a": 1, "x86": 2, "arm64-v8a": 3, "x86_64": 4]
|
75
|
-
def abi = output.getFilter(OutputFile.ABI)
|
76
|
-
if (abi != null) { // null for the universal-debug, universal-release variants
|
77
|
-
output.versionCodeOverride =
|
78
|
-
versionCodes.get(abi) * 1048576 + defaultConfig.versionCode
|
79
|
-
}
|
80
|
-
|
81
|
-
}
|
82
|
-
}
|
83
|
-
}
|
84
|
-
|
85
|
-
dependencies {
|
86
|
-
implementation fileTree(dir: "libs", include: ["*.jar"])
|
87
|
-
//noinspection GradleDynamicVersion
|
88
|
-
implementation "com.facebook.react:react-native:+" // From node_modules
|
89
|
-
implementation "androidx.swiperefreshlayout:swiperefreshlayout:1.0.0"
|
90
|
-
debugImplementation("com.facebook.flipper:flipper:${FLIPPER_VERSION}") {
|
91
|
-
exclude group:'com.facebook.fbjni'
|
92
|
-
}
|
93
|
-
debugImplementation("com.facebook.flipper:flipper-network-plugin:${FLIPPER_VERSION}") {
|
94
|
-
exclude group:'com.facebook.flipper'
|
95
|
-
exclude group:'com.squareup.okhttp3', module:'okhttp'
|
96
|
-
}
|
97
|
-
debugImplementation("com.facebook.flipper:flipper-fresco-plugin:${FLIPPER_VERSION}") {
|
98
|
-
exclude group:'com.facebook.flipper'
|
99
|
-
}
|
100
|
-
addUnimodulesDependencies()
|
101
|
-
|
102
|
-
if (enableHermes) {
|
103
|
-
def hermesPath = "../../node_modules/hermes-engine/android/";
|
104
|
-
debugImplementation files(hermesPath + "hermes-debug.aar")
|
105
|
-
releaseImplementation files(hermesPath + "hermes-release.aar")
|
106
|
-
} else {
|
107
|
-
implementation jscFlavor
|
108
|
-
}
|
109
|
-
}
|
110
|
-
|
111
|
-
// Run this once to be able to run the application with BUCK
|
112
|
-
// puts all compile dependencies into folder libs for BUCK to use
|
113
|
-
task copyDownloadableDepsToLibs(type: Copy) {
|
114
|
-
from configurations.compile
|
115
|
-
into 'libs'
|
116
|
-
}
|
117
|
-
|
118
|
-
apply from: file("../../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesAppBuildGradle(project)
|
@@ -1,38 +0,0 @@
|
|
1
|
-
// Top-level build file where you can add configuration options common to all sub-projects/modules.
|
2
|
-
|
3
|
-
buildscript {
|
4
|
-
ext {
|
5
|
-
buildToolsVersion = "29.0.3"
|
6
|
-
minSdkVersion = 21
|
7
|
-
compileSdkVersion = 30
|
8
|
-
targetSdkVersion = 30
|
9
|
-
}
|
10
|
-
repositories {
|
11
|
-
google()
|
12
|
-
jcenter()
|
13
|
-
}
|
14
|
-
dependencies {
|
15
|
-
classpath("com.android.tools.build:gradle:4.1.0")
|
16
|
-
|
17
|
-
// NOTE: Do not place your application dependencies here; they belong
|
18
|
-
// in the individual module build.gradle files
|
19
|
-
}
|
20
|
-
}
|
21
|
-
|
22
|
-
allprojects {
|
23
|
-
repositories {
|
24
|
-
mavenLocal()
|
25
|
-
maven {
|
26
|
-
// All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
|
27
|
-
url("$rootDir/../node_modules/react-native/android")
|
28
|
-
}
|
29
|
-
maven {
|
30
|
-
// Android JSC is installed from npm
|
31
|
-
url("$rootDir/../node_modules/jsc-android/dist")
|
32
|
-
}
|
33
|
-
|
34
|
-
google()
|
35
|
-
jcenter()
|
36
|
-
maven { url 'https://www.jitpack.io' }
|
37
|
-
}
|
38
|
-
}
|
package/type-test.ts
DELETED
@@ -1,22 +0,0 @@
|
|
1
|
-
import firebase from '.';
|
2
|
-
|
3
|
-
// checks module exists at root
|
4
|
-
console.log(firebase.appDistribution().app.name);
|
5
|
-
|
6
|
-
// checks module exists at app level
|
7
|
-
console.log(firebase.app().appDistribution().app.name);
|
8
|
-
|
9
|
-
// checks statics exist
|
10
|
-
console.log(firebase.appDistribution.SDK_VERSION);
|
11
|
-
|
12
|
-
// checks root exists
|
13
|
-
console.log(firebase.SDK_VERSION);
|
14
|
-
|
15
|
-
// checks firebase named export exists on module
|
16
|
-
console.log(firebase.SDK_VERSION);
|
17
|
-
|
18
|
-
// checks multi-app support exists
|
19
|
-
console.log(firebase.appDistribution(firebase.app()).app.name);
|
20
|
-
|
21
|
-
// checks default export supports app arg
|
22
|
-
console.log(firebase(firebase.app()).app.name);
|