{"_id":"@alaudoni/expo-firebase-extension-plugin","_rev":"3-5bcc0b634b14094f7fd73cc884ecc07b","name":"@alaudoni/expo-firebase-extension-plugin","dist-tags":{"latest":"3.0.8"},"versions":{"3.0.6":{"name":"@alaudoni/expo-firebase-extension-plugin","version":"3.0.6","keywords":["expo","firebase","push","notifications","EAS"],"author":{"name":"rgomezp"},"license":"MIT","_id":"@alaudoni/expo-firebase-extension-plugin@3.0.6","maintainers":[{"name":"alaudoni","email":"andrealaudoni@gmail.com"}],"contributors":[{"name":"Pablo de Cárcer"},{"name":"Karen Grigoryan"},{"name":"Rodrigo Gomez-Palacio"},{"name":"Charlie Cruzan"},{"name":"Wojciech Kozyra"},{"name":"Brian Smith"}],"homepage":"https://github.com/alaudoni/expo-firebase-extension-plugin#readme","bugs":{"url":"https://github.com/alaudoni/expo-firebase-extension-plugin#issues"},"dist":{"shasum":"1f4fce9d893efcc6bc4035cbc9de5e9c8f6985e3","tarball":"https://registry.npmjs.org/@alaudoni/expo-firebase-extension-plugin/-/expo-firebase-extension-plugin-3.0.6.tgz","fileCount":46,"integrity":"sha512-EkhQ1NZWPNiS0SHe2F4aQTH2Jg3U+hWp4qz4iUXuQCST9va5thk1Sf3GsNZ7b74InAUSvJOWWK1pOeCNFukKRA==","signatures":[{"sig":"MEYCIQD5DkHQCpXr6NSmIvU7p8caNoVPmNmJHadbG0IKkhhcvQIhANQXuR1bmx1IjVEpkj16Hf+mEhEoM/dFRUnIL/UUqhvt","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":80405},"main":"./app.plugin.js","gitHead":"39e30e4fb99e38160a75f3ca725e0061a131ef06","scripts":{"lint":"eslint . --ext .ts","test":"echo \"Error: no test specified\" && exit 1","build":"rm -rf build && tsc && cp -a support/serviceExtensionFiles build/support/","prepare":"pnpm run build"},"_npmUser":{"name":"alaudoni","email":"andrealaudoni@gmail.com"},"repository":{"url":"git+https://github.com/alaudoni/expo-firebase-extension-plugin.git","type":"git"},"_npmVersion":"11.3.0","description":"The Firebase Expo plugin allows you to use Firebase without leaving the managed workflow. Developed in collaboration with SweetGreen.","directories":{"example":"examples"},"_nodeVersion":"24.2.0","dependencies":{"@expo/image-utils":"^0.6.5","@expo/config-plugins":"^9.0.17"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.24.0","typescript":"^5.8.3","@types/node":"^22.14.0","@eslint/eslintrc":"^3.3.1","typescript-eslint":"^8.29.1","@expo/config-types":"^52.0.5","expo-module-scripts":"^4.0.5","readme-md-generator":"^1.0.0","@typescript-eslint/parser":"^8.29.1","@typescript-eslint/eslint-plugin":"^8.29.1"},"_npmOperationalInternal":{"tmp":"tmp/expo-firebase-extension-plugin_3.0.6_1754316686855_0.3675898305076766","host":"s3://npm-registry-packages-npm-production"}},"3.0.7":{"name":"@alaudoni/expo-firebase-extension-plugin","version":"3.0.7","keywords":["expo","firebase","push","notifications","EAS"],"author":{"name":"rgomezp"},"license":"MIT","_id":"@alaudoni/expo-firebase-extension-plugin@3.0.7","maintainers":[{"name":"alaudoni","email":"andrealaudoni@gmail.com"}],"contributors":[{"name":"Pablo de Cárcer"},{"name":"Karen Grigoryan"},{"name":"Rodrigo Gomez-Palacio"},{"name":"Charlie Cruzan"},{"name":"Wojciech Kozyra"},{"name":"Brian Smith"}],"homepage":"https://github.com/alaudoni/expo-firebase-extension-plugin#readme","bugs":{"url":"https://github.com/alaudoni/expo-firebase-extension-plugin#issues"},"dist":{"shasum":"5a9cbb4731a125905fae7b2ceab8a1f6cdb57482","tarball":"https://registry.npmjs.org/@alaudoni/expo-firebase-extension-plugin/-/expo-firebase-extension-plugin-3.0.7.tgz","fileCount":46,"integrity":"sha512-O1vYZ3v4k4g89gw3j3XM/CjpJe9c9XVL6nch0Gb62Lnp8BjAQwjo8KfDDX+lgWQfKxK1yAMLCYmRj/YNfa2mXA==","signatures":[{"sig":"MEUCIA+RhpfSOPI5u5FVOVap04WZDSd+jijAfG7I1IYwNp5lAiEA7K2UXQ2OTvWma+pU/gvpBV1a6yqicDU5E/gKq9MiK3Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":80405},"main":"./app.plugin.js","gitHead":"103777ae8bbc064b05bd1d84714a95494040c261","scripts":{"lint":"eslint . --ext .ts","test":"echo \"Error: no test specified\" && exit 1","build":"rm -rf build && tsc && cp -a support/serviceExtensionFiles build/support/","prepare":"pnpm run build"},"_npmUser":{"name":"alaudoni","email":"andrealaudoni@gmail.com"},"repository":{"url":"git+https://github.com/alaudoni/expo-firebase-extension-plugin.git","type":"git"},"_npmVersion":"11.3.0","description":"The Firebase Expo plugin allows you to use Firebase without leaving the managed workflow. Developed in collaboration with SweetGreen.","directories":{"example":"examples"},"_nodeVersion":"24.2.0","dependencies":{"@expo/image-utils":"^0.6.5","@expo/config-plugins":"^9.0.17"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.24.0","typescript":"^5.8.3","@types/node":"^22.14.0","@eslint/eslintrc":"^3.3.1","typescript-eslint":"^8.29.1","@expo/config-types":"^52.0.5","expo-module-scripts":"^4.0.5","readme-md-generator":"^1.0.0","@typescript-eslint/parser":"^8.29.1","@typescript-eslint/eslint-plugin":"^8.29.1"},"_npmOperationalInternal":{"tmp":"tmp/expo-firebase-extension-plugin_3.0.7_1754317098133_0.09806611032515122","host":"s3://npm-registry-packages-npm-production"}},"3.0.8":{"name":"@alaudoni/expo-firebase-extension-plugin","version":"3.0.8","description":"The Firebase Expo plugin allows you to use Firebase without leaving the managed workflow. Developed in collaboration with SweetGreen.","main":"./app.plugin.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"rm -rf build && tsc && cp -a support/serviceExtensionFiles build/support/","lint":"eslint . --ext .ts","prepare":"pnpm run build"},"repository":{"type":"git","url":"git+https://github.com/alaudoni/expo-firebase-extension-plugin.git"},"keywords":["expo","firebase","push","notifications","EAS"],"author":{"name":"rgomezp"},"contributors":[{"name":"Pablo de Cárcer"},{"name":"Karen Grigoryan"},{"name":"Rodrigo Gomez-Palacio"},{"name":"Charlie Cruzan"},{"name":"Wojciech Kozyra"},{"name":"Brian Smith"}],"license":"MIT","bugs":{"url":"https://github.com/alaudoni/expo-firebase-extension-plugin#issues"},"homepage":"https://github.com/alaudoni/expo-firebase-extension-plugin#readme","devDependencies":{"@eslint/eslintrc":"^3.3.1","@expo/config-types":"^52.0.5","@types/node":"^22.14.0","@typescript-eslint/eslint-plugin":"^8.29.1","@typescript-eslint/parser":"^8.29.1","eslint":"^9.24.0","expo-module-scripts":"^4.0.5","readme-md-generator":"^1.0.0","typescript":"^5.8.3","typescript-eslint":"^8.29.1"},"dependencies":{"@expo/config-plugins":"^9.0.17","@expo/image-utils":"^0.6.5"},"directories":{"example":"examples"},"_id":"@alaudoni/expo-firebase-extension-plugin@3.0.8","gitHead":"a20035f084e150c89b5efbcb79c7906a1dc0231e","_nodeVersion":"24.2.0","_npmVersion":"11.3.0","dist":{"integrity":"sha512-xchXAEwQBwr/fcnaap0+S4+32i+OUED7UzxzXorHeTR6SfunTvfCyBO7l5mV8KEUO/FMCMEfvi3gQUqdX59fSw==","shasum":"e6c8209d7e05304c868a70bce8c9bfd8ea5569cf","tarball":"https://registry.npmjs.org/@alaudoni/expo-firebase-extension-plugin/-/expo-firebase-extension-plugin-3.0.8.tgz","fileCount":46,"unpackedSize":71856,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCSJckfNU5TedtwiOZXSI2NMm6ZkIyqdro2bJYEUZl0WAIgHw8dZNNXKCOOfcflwJwmriLdBkM4i2rSSiEqVYqY+hQ="}]},"_npmUser":{"name":"alaudoni","email":"andrealaudoni@gmail.com"},"maintainers":[{"name":"alaudoni","email":"andrealaudoni@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/expo-firebase-extension-plugin_3.0.8_1754319128614_0.16054139061256856"},"_hasShrinkwrap":false}},"time":{"created":"2025-08-04T14:11:26.784Z","modified":"2025-08-04T14:52:08.968Z","3.0.6":"2025-08-04T14:11:27.110Z","3.0.7":"2025-08-04T14:18:18.310Z","3.0.8":"2025-08-04T14:52:08.799Z"},"bugs":{"url":"https://github.com/alaudoni/expo-firebase-extension-plugin#issues"},"author":{"name":"rgomezp"},"license":"MIT","homepage":"https://github.com/alaudoni/expo-firebase-extension-plugin#readme","keywords":["expo","firebase","push","notifications","EAS"],"repository":{"type":"git","url":"git+https://github.com/alaudoni/expo-firebase-extension-plugin.git"},"description":"The Firebase Expo plugin allows you to use Firebase without leaving the managed workflow. Developed in collaboration with SweetGreen.","contributors":[{"name":"Pablo de Cárcer"},{"name":"Karen Grigoryan"},{"name":"Rodrigo Gomez-Palacio"},{"name":"Charlie Cruzan"},{"name":"Wojciech Kozyra"},{"name":"Brian Smith"}],"maintainers":[{"name":"alaudoni","email":"andrealaudoni@gmail.com"}],"readme":"# @alaudoni/expo-firebase-extension-plugin\n\n> Forked from [abstract-cl/expo-firebase-extension-plugin](https://github.com/abstract-cl/expo-firebase-extension-plugin)\n\nThis plugin automates the setup required to use notification images on iOS with [`@react-native-firebase/messaging`](https://rnfirebase.io/messaging/ios-notification-images). See the official guide [here](https://rnfirebase.io/messaging/ios-notification-images).\n\n## Installation\n\n```sh\nnpm i @alaudoni/expo-firebase-extension-plugin\n```\n\n## Setup\n\n1. **Create the file** `./plugins/NotificationService.m` with the following content:\n\n    ```objective-c\n    #import \"NotificationService.h\"\n    #import <UserNotifications/UserNotifications.h>\n    #import <FirebaseMessaging/FirebaseMessaging.h>\n\n    @interface NotificationService ()\n\n    @property (nonatomic, strong) void (^contentHandler)(UNNotificationContent *contentToDeliver);\n    @property (nonatomic, strong) UNMutableNotificationContent *bestAttemptContent;\n\n    @end\n\n    @implementation NotificationService\n\n    - (void)didReceiveNotificationRequest:(UNNotificationRequest *)request\n                     withContentHandler:(void (^)(UNNotificationContent *))contentHandler {\n        self.contentHandler = contentHandler;\n        self.bestAttemptContent = [request.content mutableCopy];\n\n        if (self.bestAttemptContent) {\n            [[FIRMessaging extensionHelper] populateNotificationContent:self.bestAttemptContent withContentHandler:contentHandler];\n        } else {\n            contentHandler(request.content);\n        }\n    }\n\n    - (void)serviceExtensionTimeWillExpire {\n        if (self.contentHandler && self.bestAttemptContent) {\n            self.contentHandler(self.bestAttemptContent);\n        }\n    }\n\n    @end\n    ```\n\n2. **Add the plugin to your `app.config.json`:**\n\n    ```json\n    {\n      \"plugins\": [\n        [\n          \"@alaudoni/expo-firebase-extension-plugin\",\n          {\n            \"mode\": \"development\",\n            \"iosNSEFilePath\": \"./plugins/NotificationService.m\"\n          }\n        ]\n      ]\n    }\n    ```\n\n3. **Run Expo commands:**\n\n    ```sh\n    npx expo prebuild\n    npm run ios\n    ```\n","readmeFilename":"README.md"}