{"bugs":{"url":"https://github.com/unimodules/react-native-unimodules/issues"},"dist":{"shasum":"0e65a399677836c88d21717ddb063a2eef8a9662","tarball":"https://registry.npmjs.org/react-native-unimodules/-/react-native-unimodules-0.7.0-rc.2.tgz","fileCount":9,"integrity":"sha512-UiNy7Xy6T6tnNsQ57EMSzWbfNBSKh3upDpZ8QiR/j3Qn2WYWfBx2I11+SG36nBKbcnrIXEqImVehUeG7QjqRyg==","signatures":[{"sig":"MEYCIQCc5lqJe88s45DGYDiq3GMZAW7d2U2oROIAM0ckZZptSQIhAMPXUwxS4XNByxQU7a44LynI+ve/FVq3WhxyWI+bIK+f","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":27881,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdqdfCCRA9TVsSAnZWagAABZoP/0UsVDEGX8O4/m2VxoYh\n0X14wrPB/c7f+Zkv4k7eY+WGaupDHXQwzEXZ4AuEb1dAcTPFbH9BaLz43qGz\nEzPzbRooxhT8gggPbFHIYN5jeY918x4CLqJVwZZEy5e6XSH0jMmZov7aWUwN\nqv1BtAHuENpkypwx+aRfRyn5riP/9idYnrzEFviBdl0xK0Qrq8aWiM/k38we\nxIeUibretopf3NFkFUwZNbG2nxkFGSbrINjq7eY+FtRtiBBRrHN+weRzetKv\nSDg/DgnC63qBXgNeqTIwdp9xmJA+1FhxwAP7uRSkuzfMOzoKI9/JO4Iid7Ml\nc21r6RZtQsosVh8HyxoqVGAIxc8ZeYDvQoMgL/sQMuEAWjkJ9bYHFWaCSm33\nCGZmwXpuwSUnNUNSRT8pFbpklUEg6z0FSdhJx9krvBSxlZrafavWmWwKYdtJ\nbWh3pWNlBvUxiCmgfW+IGWw/yIAKVK00yUbQEOPxhLF5wt031X7Mcvbhj/qy\ncBgFJBiqU3SuLwr5+bzQSuNI14uvKHLC9Yb6VYMZzaWLr1R4aMtSj6ZnWKx6\nGxy0f03Y9VfNKqqEx2SdfmKYrjD1PzHYL3CrJt0vW1+8AAyFxON0IYYz8y/L\na8b0/Qx3jTJLv2Y5LKg8h6mqnxDqGosySzNgq++XxMSWQyPAdKyX6ul+HZ9j\n+R+t\r\n=M+7G\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","name":"react-native-unimodules","types":"index.d.ts","author":"","readme":"# react-native-unimodules\n\nThis library contains the core unimodule infrastructure and a collection of unimodules and interfaces that are commonly depended on by other unimodules. You only need to install `react-native-unimodules` once and then you will be able to use [most of the packages from the Expo SDK](https://docs.expo.io/versions/latest/bare/unimodules-full-list/), like [expo-camera](https://docs.expo.io/versions/latest/sdk/camera/), [expo-media-library](https://docs.expo.io/versions/latest/sdk/media-library/) and many more, [in any React Native project](https://blog.expo.io/you-can-now-use-expo-apis-in-any-react-native-app-7c3a93041331).\n\nThe easiest way to use the library is to initialize a \"bare\" project with `expo-cli` (`npm i -g expo-cli`) using `expo init --template bare-minimum` or `expo init --template expo-template-bare-typescript` if you prefer TypeScript. If you have an existing project you'd like to install it into, please read the following instructions.\n\n## 📦 Installation\n\n**This project requires that you use CocoaPods on iOS**, to set it up see [this gist](https://gist.github.com/brentvatne/b0ea11a36dc423e441b7d36e36eb5a26), or relevant parts of the [this guide](https://facebook.github.io/react-native/docs/integration-with-existing-apps#3-install-cocoapods). React Native >= 0.60 ships with Cocoapods support by default, so this should be easy if you're already on that version.\n\n```bash\nnpm install react-native-unimodules\n```\n\nNow you need to configure the library for iOS and/or Android.\n\n## 🍎 Configure iOS\n\n- Open `ios/Podfile` in your editor and make it look [like this one on react-native <= 0.59](https://gist.github.com/sjchmiela/6c079f2173938a9a61a7c6f053c45000) or [like this one on react-native >= 0.60](https://gist.github.com/brentvatne/d093e440698404803bd9c29d962949b0/revisions#diff-4a25b996826623c4a3a4910f47f10c30).\n- Run `pod install` again\n- Update your `AppDelegate.h` and `AppDelegate.m` according to [to look like these](https://gist.github.com/brentvatne/1ece8c32a3c5c9d0ac3a470460c65603).\n  - If you use [`react-native-navigation`](https://github.com/wix/react-native-navigation), you will need to use its `bridgeManagerDelegate` option [like in this gist](https://gist.github.com/brentvatne/67909ec442121de22c9b81c629a99aa6).\n\n### Add permission usage description keys to Info.plist\n\nIn order to submit your app to the App Store, you will need to eventually add permission usage keys to your `Info.plist`. Even if you don't use the APIs described, you need to include the keys because code related to asking the permission will be bundled regardless, and Apple's static analysis tools will detect it and reject your app if the key isn't present. Including the key without using it has no impact to your users - iOS app permissions are requested at runtime and not listed in the app store listing as they are on Android. Test the permission prompts and customize the message as needed.\n\n<details><summary>See a list of keys to add to Info.plist</summary>\n<p>\n\n```xml\n<key>NSCalendarsUsageDescription</key>\n<string>Allow $(PRODUCT_NAME) to access your calendar</string>\n<key>NSCameraUsageDescription</key>\n<string>Allow $(PRODUCT_NAME) to use the camera</string>\n<key>NSContactsUsageDescription</key>\n<string>Allow $(PRODUCT_NAME) to access your contacts</string>\n<key>NSLocationAlwaysAndWhenInUseUsageDescription</key>\n<string>Allow $(PRODUCT_NAME) to use your location</string>\n<key>NSLocationAlwaysUsageDescription</key>\n<string>Allow $(PRODUCT_NAME) to use your location</string>\n<key>NSLocationWhenInUseUsageDescription</key>\n<string>Allow $(PRODUCT_NAME) to use your location</string>\n<key>NSMicrophoneUsageDescription</key>\n<string>Allow $(PRODUCT_NAME) to access your microphone</string>\n<key>NSMotionUsageDescription</key>\n<string>Allow $(PRODUCT_NAME) to access your device's accelerometer</string>\n<key>NSPhotoLibraryAddUsageDescription</key>\n<string>Give $(PRODUCT_NAME) permission to save photos</string>\n<key>NSPhotoLibraryUsageDescription</key>\n<string>Give $(PRODUCT_NAME) permission to access your photos</string>\n<key>NSRemindersUsageDescription</key>\n<string>Allow $(PRODUCT_NAME) to access your reminders</string>\n```\n\n</p>\n</details>\n\n### Advanced configuration\n\n<details><summary>Need to customize node_modules path?</summary>\n<p>\n\nIf you need to customize the path to node_modules, for example because you are using yarn workspaces, then you can pass in a param for this: `use_unimodules!(modules_paths: ['./path/to/node_modules'])`\n\n</p>\n</details>\n\n<details><summary>Need to exclude some unimodules that are being automatically linked?</summary> \n<p>\n\nIf you need to exclude some of the unimodules that you are not using but they got installed by your other dependencies (like `expo`), then you can pass in `exclude` param for this. For example, if you want to exclude `expo-face-detector`, you may want to use this: `use_unimodules!(exclude: ['expo-face-detector'])`\n\n</p>\n</details>\n\n## 🤖 Configure Android\n\n__In `android/settings.gradle`__\n1. At the top add `apply from: '../node_modules/react-native-unimodules/gradle.groovy'` \n1. Then call `includeUnimodulesProjects()` on the next line.\n\n__In `android/app/build.gradle`__\n1. Add `apply from: '../../node_modules/react-native-unimodules/gradle.groovy'` anywhere.\n1. Add `addUnimodulesDependencies()` inside `dependencies {}` block.\n1. We recommend you use Java 1.8, you can set this [like this](https://github.com/expo/expo/commit/e175f870418fc69e8c129168118264439d73d7cc).\n\n__In `android/build.gradle`__\n1. Update `minSdkVersion` to `21`.\n\n__In `MainApplication.java`__\nMake the changes outlined in the diff that correspondes to your react-native version. \n- [this diff for react-native <= 0.59](https://gist.github.com/tsapeta/9e50a4c2c0083fe8e578959526bfbed3/revisions#diff-a2e7ff8a82f1c4be06f8b8163f2afefa)\n- [this diff for react-native >= 0.60](https://gist.github.com/brentvatne/62a9c949aa7d1cda410adbe01cba0554/revisions#diff-a2e7ff8a82f1c4be06f8b8163f2afefa)\n\n### Optional: Add permissions to AndroidManifest.xml\n\nAdd permissions you would like to use in your app to `android/app/src/main/AndroidManifest.xml`:\n\n<details><summary>See a list of some Android permissions</summary>\n<p>\n\n```xml\n<uses-permission android:name=\"android.permission.ACCESS_COARSE_LOCATION\" />\n<uses-permission android:name=\"android.permission.ACCESS_FINE_LOCATION\" />\n<uses-permission android:name=\"android.permission.CAMERA\" />\n<uses-permission android:name=\"android.permission.READ_CONTACTS\" />\n<uses-permission android:name=\"android.permission.READ_CALENDAR\" />\n<uses-permission android:name=\"android.permission.WRITE_CALENDAR\" />\n<uses-permission android:name=\"android.permission.READ_EXTERNAL_STORAGE\" />\n<uses-permission android:name=\"android.permission.RECORD_AUDIO\" />\n<uses-permission android:name=\"android.permission.WRITE_EXTERNAL_STORAGE\" />\n<uses-permission android:name=\"android.permission.WRITE_SETTINGS\" />\n```\n\n</p>\n</details>\n\n### Advanced configuration\n\n<details><summary>Need to customize node_modules path?</summary>\n<p>\n\nIf you need to customize the path to node_modules, for example because you are using yarn workspaces, then you can pass in a param `modulesPaths` for both of these functions: `includeUnimodulesProjects([modulesPaths: ['./path/to/node_modules']])`, `addUnimodulesDependencies([modulesPaths: ['./path/to/node_modules']])`\n\n</p>\n</details>\n\n<details><summary>Need to exclude some unimodules that are being automatically linked?</summary>\n<p>\n\nIf you need to exclude some of the unimodules that you are not using but they got installed by your other dependencies (like `expo`), then you can pass in `exclude` param for this. For example, if you want to exclude `expo-face-detector`, you may want to use this: `addUnimodulesDependencies([exclude: ['expo-face-detector']])`\n\n</p>\n</details>\n\n<details><summary>Need to customize configuration of unimodule dependencies?</summary>\n<p>\n\nYou can also customize the configuration of the unimodules dependencies (the default is `implementation`, if you're using Gradle older than 3.0, you will need to set `configuration: \"compile\"` in `addUnimodulesDependencies`, like: `addUnimodulesDependencies([configuration: \"compile\"])`)\n\n</p>\n</details>\n\n# API\n\nIt's possible that you will not have to use any of the code provided by this package directly, it may be used only by other Unimodules that you install.\n\nBut it's likely that you will want to use something like FileSystem or Permissions, and to do that you can import the following modules like so:\n\n```js\nimport {\n  Asset,\n  Constants,\n  FileSystem,\n  Permissions,\n} from 'react-native-unimodules';\n```\n\nYou can import them directly from the specific Unimodule package if you like, but your linter may complain about importing a transitive dependency.\n\n```js\nimport * as Permissions from 'expo-permissions';\n```\n","gitHead":"4e13b3cb88d9205f14bee7764038ab2dd9ef1fbd","license":"MIT","private":false,"scripts":{"postinstall":"node ./scripts/postinstall.js"},"_npmUser":{"name":"tsapeta","email":"sapeta.tomasz@gmail.com"},"homepage":"https://github.com/unimodules/react-native-unimodules#readme","deprecated":"replaced by the 'expo' package, learn more: https://blog.expo.dev/whats-new-in-expo-modules-infrastructure-7a7cdda81ebc","repository":{"url":"git+https://github.com/unimodules/react-native-unimodules.git","type":"git"},"_npmVersion":"6.9.0","description":"This library contains the core unimodule infrastructure and a collection of unimodules and interfaces that are commonly depended on by other unimodules. You only need to install `react-native-unimodules` once and then you will be able to use [most of the ","directories":{},"maintainers":[{"name":"bbarthec","email":"bartlomiejbukowski.b@gmail.com"},{"name":"brentvatne","email":"brentvatne@gmail.com"},{"name":"ccheever","email":"ccheever@gmail.com"},{"name":"charliecruzan","email":"charliecruzan@gmail.com"},{"name":"dsokal","email":"dominiksokal@gmail.com"},{"name":"esamelson","email":"eric@expo.io"},{"name":"evanbacon","email":"baconbrix@gmail.com"},{"name":"expoadmin","email":"support@expo.io"},{"name":"exponent","email":"exponent.team@gmail.com"},{"name":"fson","email":"ville.immonen@iki.fi"},{"name":"ide","email":"ide+npm@jameside.com"},{"name":"mczernek","email":"czernekmichal@gmail.com"},{"name":"quinlanj","email":"quinlanjung@gmail.com"},{"name":"sjchmiela","email":"sjchmiela@gmail.com"},{"name":"szymon20000","email":"szymon.kapala@swmansion.com"},{"name":"tcdavis","email":"tc@expo.io"},{"name":"tsapeta","email":"sapeta.tomasz@gmail.com"},{"name":"wkozyra","email":"wojciech.kozyra@swmansion.com"}],"_nodeVersion":"10.16.3","dependencies":{"chalk":"^2.4.2","expo-asset":"~7.0.0","expo-constants":"~8.0.0-rc.1","@unimodules/core":"~4.0.0","expo-file-system":"~8.0.0-rc.0","expo-permissions":"~8.0.0-rc.0","expo-app-loader-provider":"~7.0.0","unimodules-font-interface":"~4.0.0","unimodules-camera-interface":"~4.0.0","unimodules-sensors-interface":"~4.0.0","unimodules-constants-interface":"~4.0.0","@unimodules/react-native-adapter":"~5.0.0-alpha.0","unimodules-file-system-interface":"~4.0.0","unimodules-permissions-interface":"~4.0.0","unimodules-image-loader-interface":"~5.0.0-rc.0","unimodules-task-manager-interface":"~4.0.0","unimodules-face-detector-interface":"~4.0.0","unimodules-barcode-scanner-interface":"~4.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/react-native-unimodules_0.7.0-rc.2_1571411906007_0.4394805472026422","host":"s3://npm-registry-packages"},"_id":"react-native-unimodules@0.7.0-rc.2","version":"0.7.0-rc.2"}