diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md
index d4d824c0..798e9a31 100644
--- a/.github/ISSUE_TEMPLATE.md
+++ b/.github/ISSUE_TEMPLATE.md
@@ -14,27 +14,31 @@ The issue list of this repo is exclusively for bug reports.
-
-
### Environment
-1. Application Target Platform:
+
+1. Application Target Platform:
-2. Development Operating System:
+
+2. Development Operating System:
-3. Build Tools:
+
+3. Build Tools:
-4. React Native version:
+
+4. React Native version:
-5. RNFirebase Version:
+
+5. RNFirebase Version:
-6. Firebase Module:
+
+6. Firebase Module:
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 295cfb85..79b02ec8 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -4,16 +4,17 @@
First, thank you for considering contributing to react-native-firebase! It's people like you that make the open source community such a great community! 😊
-We welcome any type of contribution, not only code. You can help with
-- **QA**: file bug reports, the more details you can give the better (e.g. screenshots with the console open)
-- **Marketing**: writing blog posts, howto's, printing stickers, ...
-- **Community**: presenting the project at meetups, organizing a dedicated meetup for the local community, ...
-- **Code**: take a look at the [open issues](issues). Even if you can't write code, commenting on them, showing that you care about a given issue matters. It helps us triage them.
-- **Money**: we welcome financial contributions in full transparency on our [open collective](https://opencollective.com/react-native-firebase).
+We welcome any type of contribution, not only code. You can help with
+
+* **QA**: file bug reports, the more details you can give the better (e.g. screenshots with the console open)
+* **Marketing**: writing blog posts, howto's, printing stickers, ...
+* **Community**: presenting the project at meetups, organizing a dedicated meetup for the local community, ...
+* **Code**: take a look at the [open issues](issues). Even if you can't write code, commenting on them, showing that you care about a given issue matters. It helps us triage them.
+* **Money**: we welcome financial contributions in full transparency on our [open collective](https://opencollective.com/react-native-firebase).
## Your First Contribution
-Working on your first Pull Request? You can learn how from this *free* series, [How to Contribute to an Open Source Project on GitHub](https://egghead.io/series/how-to-contribute-to-an-open-source-project-on-github).
+Working on your first Pull Request? You can learn how from this _free_ series, [How to Contribute to an Open Source Project on GitHub](https://egghead.io/series/how-to-contribute-to-an-open-source-project-on-github).
## Submitting code
@@ -41,14 +42,12 @@ You can also reach us at oss@invertase.io
Thank you to all the people who have already contributed to react-native-firebase!
-
### Backers
Thank you to all our backers! [[Become a backer](https://opencollective.com/react-native-firebase#backer)]
-
### Sponsors
Thank you to all our sponsors! (please ask your company to also support this open source project by [becoming a sponsor](https://opencollective.com/react-native-firebase#sponsor))
diff --git a/README.md b/README.md
index c96fe625..4c9ad359 100644
--- a/README.md
+++ b/README.md
@@ -30,43 +30,44 @@ All in all, RNFirebase provides much faster performance (~2x) over the web SDK a
---
## Supported Firebase Features
-> The Web SDK column indicates what modules/functionality from the Web SDK are usable within React Native.
+> The Web SDK column indicates what modules/functionality from the Web SDK are usable within React Native.
> '**?**' indicates partial support
-| Firebase Features | v1.x.x | v2.x.x | v3.x.x | v3.1.x | v3.2.x | Web SDK |
-| ---------------------- | :---: | :---: | :---: | :---: | :---: | :---: |
-| **AdMob** | ❌ | ✅ | ✅ | ✅ | ✅ | ❌ |
-| **Analytics** | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ |
-| **App Indexing** | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
-| **Authentication** | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
-| _-- Phone Auth_ | ❌ | ❌ | ✅ | ✅ | ✅ | ❌ |
-| **Core** | ❌ |**?**| ✅ | ✅ | ✅ | ✅ |
-| _-- Multiple Apps_ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ |
-| **Cloud Firestore** | ❌ | ❌ | ✅ | ✅ | ✅ |**?**|
-| **Cloud Messaging (FCM)** | ✅ | ✅ | ✅ | ✅ | ✅ |**?**|
-| **Crashlytics** | ❌ | ❌ | ❌ | ❌ | ✅ | ❌ |
-| **Crash Reporting** | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ |
-| **Dynamic Links** | ❌ | ❌ | ❌ | ✅ | ✅ | ❌ |
-| **Invites** | ❌ | ❌ | ❌ |**?**|**?**| ❌ |
-| **Performance Monitoring** | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ |
-| **Realtime Database** | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
-| _-- Offline Persistence_ | ✅ | ✅ | ✅ | ✅ | ✅ |**?**|
-| _-- Transactions_ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
-| **Remote Config** | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ |
-| **Storage** | ✅ | ✅ | ✅ | ✅ | ✅ |**?**|
+| Firebase Features | v1.x.x | v2.x.x | v3.x.x | v3.1.x | v3.2.x | Web SDK |
+| -------------------------- | :----: | :----: | :----: | :----: | :----: | :-----: |
+| **AdMob** | ❌ | ✅ | ✅ | ✅ | ✅ | ❌ |
+| **Analytics** | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ |
+| **App Indexing** | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
+| **Authentication** | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
+| _-- Phone Auth_ | ❌ | ❌ | ✅ | ✅ | ✅ | ❌ |
+| **Core** | ❌ | **?** | ✅ | ✅ | ✅ | ✅ |
+| _-- Multiple Apps_ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ |
+| **Cloud Firestore** | ❌ | ❌ | ✅ | ✅ | ✅ | **?** |
+| **Cloud Messaging (FCM)** | ✅ | ✅ | ✅ | ✅ | ✅ | **?** |
+| **Crashlytics** | ❌ | ❌ | ❌ | ❌ | ✅ | ❌ |
+| **Crash Reporting** | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ |
+| **Dynamic Links** | ❌ | ❌ | ❌ | ✅ | ✅ | ❌ |
+| **Invites** | ❌ | ❌ | ❌ | **?** | **?** | ❌ |
+| **Performance Monitoring** | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ |
+| **Realtime Database** | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
+| _-- Offline Persistence_ | ✅ | ✅ | ✅ | ✅ | ✅ | **?** |
+| _-- Transactions_ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
+| **Remote Config** | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ |
+| **Storage** | ✅ | ✅ | ✅ | ✅ | ✅ | **?** |
---
+
### Supported versions - React Native / Firebase
> The table below shows the supported versions of React Native and the Firebase SDKs for different versions of `react-native-firebase`
-| | 1.X.X | 2.0.X | 2.1.X / 2.2.X | 3.0.X | 3.1.X | 3.2.X |
-|------------------------|-------------|-------------|-----------------|----------|-------------|----------|
-| React Native | 0.36 - 0.39 | 0.40 - 0.46 | 0.47 + | 0.48 + | 0.48 - 0.49 | 0.50 + |
-| Firebase Android SDK | 10.2.0 + | 11.0.0 + | 11.0.0 + | 11.4.2 + | 11.6.0 + | 11.6.2 + |
-| Firebase iOS SDK | 3.15.0 + | 4.0.0 + | 4.0.0 + | 4.3.0 + | 4.5.0 + | 4.7.0 + |
+| | 1.X.X | 2.0.X | 2.1.X / 2.2.X | 3.0.X | 3.1.X | 3.2.X |
+| -------------------- | ----------- | ----------- | ------------- | -------- | ----------- | -------- |
+| React Native | 0.36 - 0.39 | 0.40 - 0.46 | 0.47 + | 0.48 + | 0.48 - 0.49 | 0.50 + |
+| Firebase Android SDK | 10.2.0 + | 11.0.0 + | 11.0.0 + | 11.4.2 + | 11.6.0 + | 11.6.2 + |
+| Firebase iOS SDK | 3.15.0 + | 4.0.0 + | 4.0.0 + | 4.3.0 + | 4.5.0 + | 4.7.0 + |
---
@@ -96,7 +97,7 @@ Detailed changes for each release are documented in the [releases notes](https:/
RNFirebase is an Apache-2.0 licensed open source project. It's an independent project with its ongoing development made possible entirely thanks to the support by these awesome [sponsors](#sponsors) and [backers](#backers). If you'd like to join them, please consider:
-- [Become a backer or sponsor on Open Collective](https://opencollective.com/react-native-firebase).
+* [Become a backer or sponsor on Open Collective](https://opencollective.com/react-native-firebase).
### Sponsors
@@ -131,4 +132,4 @@ Thank you to all the people who have already contributed to RNFirebase!
## License
-- See [LICENSE](/LICENSE)
+* See [LICENSE](/LICENSE)
diff --git a/jsconfig.json b/jsconfig.json
index c98b6e08..c11a3996 100644
--- a/jsconfig.json
+++ b/jsconfig.json
@@ -1,9 +1,7 @@
{
- "compilerOptions": {
- "allowJs": true,
- "allowSyntheticDefaultImports": true
- },
- "exclude": [
- "node_modules"
- ]
-}
\ No newline at end of file
+ "compilerOptions": {
+ "allowJs": true,
+ "allowSyntheticDefaultImports": true
+ },
+ "exclude": ["node_modules"]
+}
diff --git a/package.json b/package.json
index fd9b7925..84184cb9 100644
--- a/package.json
+++ b/package.json
@@ -11,7 +11,8 @@
"build-lib": "BABEL_ENV=publish babel lib -d dist --ignore __tests__ --copy-files",
"clean": "rimraf dist/",
"flow": "flow",
- "format": "npm run lint -- --fix",
+ "format:assets": "prettier --ignore-path .gitignore --write \"**/*.{json,md}\"",
+ "format": "npm run format:assets && npm run lint -- --fix",
"lint": "eslint ./lib ./tests/src ./tests/lib",
"precommit": "lint-staged",
"prepublish": "npm run clean && npm run build",
@@ -31,45 +32,10 @@
"jest": {
"preset": "jest-react-native",
"setupFiles": [],
- "unmockedModulePathPatterns": [
- "./node_modules/react",
- "./node_modules/react-native",
- "./node_modules/react-native-mock",
- "./node_modules/react-addons-test-utils"
- ]
+ "unmockedModulePathPatterns": ["./node_modules/react", "./node_modules/react-native", "./node_modules/react-native-mock", "./node_modules/react-addons-test-utils"]
},
"license": "APACHE-2.0",
- "keywords": [
- "react",
- "admob",
- "auth",
- "config",
- "digits",
- "phone-auth",
- "sms",
- "firestore",
- "cloud-firestore",
- "datastore",
- "remote-config",
- "transactions",
- "react-native",
- "react-native-firebase",
- "firebase",
- "fcm",
- "apn",
- "gcm",
- "analytics",
- "messaging",
- "database",
- "android",
- "ios",
- "crash",
- "firestack",
- "performance",
- "firestore",
- "dynamic-links",
- "crashlytics"
- ],
+ "keywords": ["react", "admob", "auth", "config", "digits", "phone-auth", "sms", "firestore", "cloud-firestore", "datastore", "remote-config", "transactions", "react-native", "react-native-firebase", "firebase", "fcm", "apn", "gcm", "analytics", "messaging", "database", "android", "ios", "crash", "firestack", "performance", "firestore", "dynamic-links", "crashlytics"],
"peerDependencies": {
"react": "*",
"react-native": ">= 0.48.0",
@@ -127,13 +93,8 @@
"logo": "https://opencollective.com/opencollective/logo.txt"
},
"lint-staged": {
- "lib/**/*.js": [
- "eslint --fix",
- "git add"
- ],
- "tests/{src|lib}/**/*.js": [
- "eslint --fix",
- "git add"
- ]
+ "lib/**/*.js": ["eslint --fix", "git add"],
+ "tests/{src|lib}/**/*.js": ["eslint --fix", "git add"],
+ "*.{json,md,scss}": ["prettier --write", "git add"]
}
}
diff --git a/prettier.config.js b/prettier.config.js
index 87d39087..ee3c8d52 100644
--- a/prettier.config.js
+++ b/prettier.config.js
@@ -1,4 +1,12 @@
module.exports = {
trailingComma: 'es5',
singleQuote: true,
+ overrides: [
+ {
+ files: '*.json',
+ options: {
+ printWidth: 400,
+ },
+ },
+ ],
};
diff --git a/tests/ios/ReactNativeFirebaseDemo/Images.xcassets/AppIcon.appiconset/Contents.json b/tests/ios/ReactNativeFirebaseDemo/Images.xcassets/AppIcon.appiconset/Contents.json
index c9202920..664ab6ca 100644
--- a/tests/ios/ReactNativeFirebaseDemo/Images.xcassets/AppIcon.appiconset/Contents.json
+++ b/tests/ios/ReactNativeFirebaseDemo/Images.xcassets/AppIcon.appiconset/Contents.json
@@ -1,79 +1,79 @@
{
- "images" : [
+ "images": [
{
- "size" : "20x20",
- "idiom" : "iphone",
- "filename" : "Icon-20@2x.png",
- "scale" : "2x"
+ "size": "20x20",
+ "idiom": "iphone",
+ "filename": "Icon-20@2x.png",
+ "scale": "2x"
},
{
- "size" : "20x20",
- "idiom" : "iphone",
- "filename" : "Icon-20@3x.png",
- "scale" : "3x"
+ "size": "20x20",
+ "idiom": "iphone",
+ "filename": "Icon-20@3x.png",
+ "scale": "3x"
},
{
- "size" : "29x29",
- "idiom" : "iphone",
- "filename" : "Icon-29.png",
- "scale" : "1x"
+ "size": "29x29",
+ "idiom": "iphone",
+ "filename": "Icon-29.png",
+ "scale": "1x"
},
{
- "size" : "29x29",
- "idiom" : "iphone",
- "filename" : "Icon-29@2x.png",
- "scale" : "2x"
+ "size": "29x29",
+ "idiom": "iphone",
+ "filename": "Icon-29@2x.png",
+ "scale": "2x"
},
{
- "size" : "29x29",
- "idiom" : "iphone",
- "filename" : "Icon-29@3x.png",
- "scale" : "3x"
+ "size": "29x29",
+ "idiom": "iphone",
+ "filename": "Icon-29@3x.png",
+ "scale": "3x"
},
{
- "size" : "40x40",
- "idiom" : "iphone",
- "filename" : "Icon-40@2x.png",
- "scale" : "2x"
+ "size": "40x40",
+ "idiom": "iphone",
+ "filename": "Icon-40@2x.png",
+ "scale": "2x"
},
{
- "size" : "40x40",
- "idiom" : "iphone",
- "filename" : "Icon-40@3x.png",
- "scale" : "3x"
+ "size": "40x40",
+ "idiom": "iphone",
+ "filename": "Icon-40@3x.png",
+ "scale": "3x"
},
{
- "size" : "57x57",
- "idiom" : "iphone",
- "filename" : "Icon-57.png",
- "scale" : "1x"
+ "size": "57x57",
+ "idiom": "iphone",
+ "filename": "Icon-57.png",
+ "scale": "1x"
},
{
- "size" : "57x57",
- "idiom" : "iphone",
- "filename" : "Icon-57@2x.png",
- "scale" : "2x"
+ "size": "57x57",
+ "idiom": "iphone",
+ "filename": "Icon-57@2x.png",
+ "scale": "2x"
},
{
- "size" : "60x60",
- "idiom" : "iphone",
- "filename" : "Icon-60@2x.png",
- "scale" : "2x"
+ "size": "60x60",
+ "idiom": "iphone",
+ "filename": "Icon-60@2x.png",
+ "scale": "2x"
},
{
- "size" : "60x60",
- "idiom" : "iphone",
- "filename" : "Icon-60@3x.png",
- "scale" : "3x"
+ "size": "60x60",
+ "idiom": "iphone",
+ "filename": "Icon-60@3x.png",
+ "scale": "3x"
},
{
- "idiom" : "ios-marketing",
- "size" : "1024x1024",
- "scale" : "1x"
+ "idiom": "ios-marketing",
+ "size": "1024x1024",
+ "scale": "1x"
}
],
- "info" : {
- "version" : 1,
- "author" : "xcode"
+ "info": {
+ "version": 1,
+ "author": "xcode"
}
-}
\ No newline at end of file
+}
diff --git a/tests/ios/ReactNativeFirebaseDemo/Images.xcassets/Contents.json b/tests/ios/ReactNativeFirebaseDemo/Images.xcassets/Contents.json
index da4a164c..97a8662e 100644
--- a/tests/ios/ReactNativeFirebaseDemo/Images.xcassets/Contents.json
+++ b/tests/ios/ReactNativeFirebaseDemo/Images.xcassets/Contents.json
@@ -1,6 +1,6 @@
{
- "info" : {
- "version" : 1,
- "author" : "xcode"
+ "info": {
+ "version": 1,
+ "author": "xcode"
}
-}
\ No newline at end of file
+}
diff --git a/tsconfig.json b/tsconfig.json
index 550ece32..2d1dc9e1 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -1,25 +1,18 @@
{
"compilerOptions": {
- "target": "es5",
- "module": "commonjs",
- "jsx": "react",
- "sourceMap": true,
- "strict": true,
- "noUnusedLocals": true,
- "noUnusedParameters": true,
- "noImplicitReturns": true,
- "noFallthroughCasesInSwitch": true,
- "moduleResolution": "node",
- "experimentalDecorators": true,
- "emitDecoratorMetadata": true,
- "lib": [
- "es2015",
- "es2016",
- "esnext",
- "dom"
- ]
+ "target": "es5",
+ "module": "commonjs",
+ "jsx": "react",
+ "sourceMap": true,
+ "strict": true,
+ "noUnusedLocals": true,
+ "noUnusedParameters": true,
+ "noImplicitReturns": true,
+ "noFallthroughCasesInSwitch": true,
+ "moduleResolution": "node",
+ "experimentalDecorators": true,
+ "emitDecoratorMetadata": true,
+ "lib": ["es2015", "es2016", "esnext", "dom"]
},
- "files": [
- "./lib/index.d.ts"
- ]
+ "files": ["./lib/index.d.ts"]
}