onesignal-expo-plugin 2.7.2 → 2.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.
- package/README.md +28 -16
- package/dist/index.d.ts +1 -3
- package/dist/index.js +26 -23
- package/dist/plugin.d.ts +2 -6
- package/dist/plugin.js +2 -4
- package/dist/{types-CCAtwmH-.d.ts → types-DC6uSYcE.d.ts} +7 -2
- package/package.json +17 -13
package/README.md
CHANGED
|
@@ -77,21 +77,22 @@ export default {
|
|
|
77
77
|
|
|
78
78
|
You can pass props to the plugin config object to configure:
|
|
79
79
|
|
|
80
|
-
| Plugin Prop
|
|
81
|
-
|
|
|
82
|
-
| `mode`
|
|
83
|
-
| `devTeam`
|
|
84
|
-
| `iPhoneDeploymentTarget`
|
|
85
|
-
| `smallIcons`
|
|
86
|
-
| `largeIcons`
|
|
87
|
-
| `smallIconAccentColor`
|
|
88
|
-
| `iosNSEFilePath`
|
|
89
|
-
| `appGroupName`
|
|
90
|
-
| `nseBundleIdentifier`
|
|
91
|
-
| `disableNSE`
|
|
92
|
-
| `disableLocation`
|
|
93
|
-
| `
|
|
94
|
-
| `
|
|
80
|
+
| Plugin Prop | | |
|
|
81
|
+
| ------------------------------ | -------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
82
|
+
| `mode` | **required** | Used to configure [APNs environment](https://developer.apple.com/documentation/bundleresources/entitlements/aps-environment) entitlement. `"development"` or `"production"` |
|
|
83
|
+
| `devTeam` | **deprecated** | Use [`ios.appleTeamId`](https://docs.expo.dev/versions/latest/config/app/#appleteamid) in your Expo config instead. Falls back to this value if `appleTeamId` is not set. e.g: `"91SW8A37CR"` |
|
|
84
|
+
| `iPhoneDeploymentTarget` | optional | Target `IPHONEOS_DEPLOYMENT_TARGET` value to be used when adding the iOS [NSE](https://documentation.onesignal.com/docs/service-extensions). A deployment target is nothing more than the minimum version of the operating system the application can run on. This value should match the value in your Podfile e.g: `"15.0"`. |
|
|
85
|
+
| `smallIcons` | optional | An array of local paths to small notification icons for Android. Image should be white, transparent, and 96x96 in size. Input images will be automatically scaled down and placed in the appropriate resource folders. e.g: `["./assets/ic_stat_onesignal_default.png"]`. See https://documentation.onesignal.com/docs/customize-notification-icons#small-notification-icons. |
|
|
86
|
+
| `largeIcons` | optional | An array of local paths to large notification icons for Android. Image should be white, transparent, and 256x256 in size. e.g: `["./assets/ic_onesignal_large_icon_default.png"]`. See https://documentation.onesignal.com/docs/customize-notification-icons#large-notification-icons. |
|
|
87
|
+
| `smallIconAccentColor` | optional | The accent color to use for notification icons on Android. Must be a valid hex value, e.g: `"#FF0000"` |
|
|
88
|
+
| `iosNSEFilePath` | optional | The local path to a custom Notification Service Extension (NSE), written in Swift. The NSE will typically start as a copy of the [default NSE](https://github.com/OneSignal/onesignal-expo-plugin/blob/main/serviceExtensionFiles/NotificationService.swift), then altered to support any custom logic required. e.g: `"./assets/NotificationService.swift"`. |
|
|
89
|
+
| `appGroupName` | optional | Used to configure a custom iOS [App Group](https://documentation.onesignal.com/docs/ios-sdk-setup#step-3-create-an-app-group) name. If not provided, defaults to `"group.{ios.bundleIdentifier}.onesignal"`. e.g: `"group.com.example.myapp.onesignal2"`. |
|
|
90
|
+
| `nseBundleIdentifier` | optional | Used to configure a custom bundle identifier suffix for the iOS Notification Service Extension. The full bundle identifier will be `"{ios.bundleIdentifier}.{nseBundleIdentifier}"`. If not provided, defaults to `"OneSignalNotificationServiceExtension"`. |
|
|
91
|
+
| `disableNSE` | optional | If `true`, the iOS Notification Service Extension (NSE) will not be added to the project. The NSE is required for badges, confirmed delivery, media attachments, and action buttons. Only disable this if you only need basic push notifications. |
|
|
92
|
+
| `disableLocation` | optional | If `true`, the native OneSignal location module will be excluded from iOS and Android builds. Use this if your app does not call `OneSignal.Location` and should not link native location APIs. |
|
|
93
|
+
| `enableFirebaseInstallationId` | optional | Android only. If `true`, adds `firebase_messaging_installation_id_enabled=true` meta-data to the Android manifest so push registration uses the Firebase Installation ID (FID) path. If unset, the manifest is untouched (legacy FCM token path). If `false`, removes the entry from the app manifest if present. See [Firebase Installation ID (Android)](#firebase-installation-id-android). |
|
|
94
|
+
| `sounds` | optional | An array of local paths to custom notification sound files (`.wav` only, ≤30 seconds). Files are copied into the app bundle on iOS and `res/raw/` on Android. e.g: `["./assets/notification_sound.wav"]`. See https://documentation.onesignal.com/docs/customize-notification-sounds. |
|
|
95
|
+
| `liveActivities` | optional | Opt in to scaffolding an iOS Widget Extension target for OneSignal Live Activities. Use `{}` for the default `OneSignalWidget` target, or pass `targetName`, `bundleIdentifierSuffix`, `widgetFilePath`, or `deploymentTarget` to customize it. See [Live Activities](#live-activities). |
|
|
95
96
|
|
|
96
97
|
### Disabling Location
|
|
97
98
|
|
|
@@ -101,6 +102,17 @@ writes the Podfile environment setting used during CocoaPods resolution. On
|
|
|
101
102
|
Android, it writes `onesignal.disableLocation=true` to the generated Gradle
|
|
102
103
|
properties.
|
|
103
104
|
|
|
105
|
+
### Firebase Installation ID (Android)
|
|
106
|
+
|
|
107
|
+
`enableFirebaseInstallationId: true` opts in to the Firebase Installation ID (FID) push registration path. The plugin only writes the manifest flag; the rest of the setup is owned by your app:
|
|
108
|
+
|
|
109
|
+
- Use `react-native-onesignal` 5.5.16 or newer (OneSignal Android SDK 5.11.0+).
|
|
110
|
+
- Set `android.googleServicesFile` in your Expo config to a `google-services.json` from your own Firebase project. Its client entry must match `android.package` (and every variant you build). Expo prebuild then applies the Google Services Gradle plugin.
|
|
111
|
+
- Resolve `com.google.firebase:firebase-messaging` 25.1.0 or newer. The OneSignal Android SDK declares a lower range, so force the version in your app, e.g. with a config plugin that adds a Gradle `resolutionStrategy`. Firebase Messaging 25.x requires `minSdkVersion` 23.
|
|
112
|
+
- Build with a development build or `expo run:android`. Expo Go is not supported.
|
|
113
|
+
|
|
114
|
+
Leaving the prop unset keeps the legacy FCM token path and requires none of the above. Setting it to `false` removes the flag from the app manifest, for example after an earlier `expo prebuild` without `--clean`; it never writes `false`. The flag is app-wide, so another dependency can also enable it through manifest merging; in that case the same setup applies even without this prop.
|
|
115
|
+
|
|
104
116
|
### Live Activities
|
|
105
117
|
|
|
106
118
|
Set `liveActivities` to an object to add the native iOS Widget Extension files and Podfile target required for OneSignal Live Activities.
|
|
@@ -167,8 +179,8 @@ Add your OneSignal App ID to your [Expo constants via the `extra` param](https:/
|
|
|
167
179
|
You can then access the value to pass to the `initialize` function:
|
|
168
180
|
|
|
169
181
|
```js
|
|
170
|
-
import { OneSignal } from 'react-native-onesignal';
|
|
171
182
|
import Constants from 'expo-constants';
|
|
183
|
+
import { OneSignal } from 'react-native-onesignal';
|
|
172
184
|
OneSignal.initialize(Constants.expoConfig.extra.oneSignalAppId);
|
|
173
185
|
```
|
|
174
186
|
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
import { t as OneSignalPluginProps } from "./types-
|
|
1
|
+
import { t as OneSignalPluginProps } from "./types-DC6uSYcE.js";
|
|
2
2
|
import { ConfigPlugin } from "expo/config-plugins";
|
|
3
|
-
//#region src/onesignal/withOneSignal.d.ts
|
|
4
3
|
declare const withOneSignal: ConfigPlugin<OneSignalPluginProps>;
|
|
5
|
-
//#endregion
|
|
6
4
|
export { type OneSignalPluginProps, withOneSignal as default };
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
// \0rolldown/runtime.js
|
|
2
2
|
var __create = Object.create;
|
|
3
3
|
var __defProp = Object.defineProperty;
|
|
4
4
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
@@ -19,7 +19,6 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
19
19
|
value: mod,
|
|
20
20
|
enumerable: true
|
|
21
21
|
}) : target, mod));
|
|
22
|
-
//#endregion
|
|
23
22
|
let path = require("path");
|
|
24
23
|
path = __toESM(path);
|
|
25
24
|
let fs = require("fs");
|
|
@@ -55,8 +54,7 @@ target '${targetName}' do
|
|
|
55
54
|
use_frameworks! :linkage => podfile_properties['ios.useFrameworks'].to_sym if podfile_properties['ios.useFrameworks']
|
|
56
55
|
end`;
|
|
57
56
|
const liveActivityPodfileRegex = (targetName) => new RegExp(`target '${targetName}'`);
|
|
58
|
-
|
|
59
|
-
//#region src/support/OneSignalLog.ts
|
|
57
|
+
// src/support/OneSignalLog.ts
|
|
60
58
|
var OneSignalLog = class {
|
|
61
59
|
static log(str) {
|
|
62
60
|
console.log(`\tonesignal-expo-plugin: ${str}`);
|
|
@@ -65,8 +63,7 @@ var OneSignalLog = class {
|
|
|
65
63
|
console.error(`\tonesignal-expo-plugin: ${str}`);
|
|
66
64
|
}
|
|
67
65
|
};
|
|
68
|
-
|
|
69
|
-
//#region src/support/helpers.ts
|
|
66
|
+
// src/support/helpers.ts
|
|
70
67
|
const HEX_COLOR_6_REGEX = /^#?[0-9A-Fa-f]{6}$/;
|
|
71
68
|
const HEX_COLOR_8_REGEX = /^#?[0-9A-Fa-f]{8}$/;
|
|
72
69
|
const ONESIGNAL_PLUGIN_PROPS = [
|
|
@@ -81,6 +78,7 @@ const ONESIGNAL_PLUGIN_PROPS = [
|
|
|
81
78
|
"nseBundleIdentifier",
|
|
82
79
|
"disableNSE",
|
|
83
80
|
"disableLocation",
|
|
81
|
+
"enableFirebaseInstallationId",
|
|
84
82
|
"sounds",
|
|
85
83
|
"liveActivities"
|
|
86
84
|
];
|
|
@@ -116,6 +114,7 @@ function validatePluginProps(props) {
|
|
|
116
114
|
if (props.nseBundleIdentifier && typeof props.nseBundleIdentifier !== "string") throw new Error("OneSignal Expo Plugin: 'nseBundleIdentifier' must be a string.");
|
|
117
115
|
if (props.disableNSE !== void 0 && typeof props.disableNSE !== "boolean") throw new Error("OneSignal Expo Plugin: 'disableNSE' must be a boolean.");
|
|
118
116
|
if (props.disableLocation !== void 0 && typeof props.disableLocation !== "boolean") throw new Error("OneSignal Expo Plugin: 'disableLocation' must be a boolean.");
|
|
117
|
+
if (props.enableFirebaseInstallationId !== void 0 && typeof props.enableFirebaseInstallationId !== "boolean") throw new Error("OneSignal Expo Plugin: 'enableFirebaseInstallationId' must be a boolean.");
|
|
119
118
|
if (props.sounds !== void 0) {
|
|
120
119
|
if (!Array.isArray(props.sounds)) throw new Error("OneSignal Expo Plugin: 'sounds' must be an array.");
|
|
121
120
|
for (const sound of props.sounds) {
|
|
@@ -170,14 +169,14 @@ function resolveDevTeam(config, props) {
|
|
|
170
169
|
return props.devTeam;
|
|
171
170
|
}
|
|
172
171
|
}
|
|
173
|
-
|
|
174
|
-
//#region src/onesignal/withOneSignalAndroid.ts
|
|
172
|
+
// src/onesignal/withOneSignalAndroid.ts
|
|
175
173
|
/**
|
|
176
174
|
* Expo config plugin for OneSignal (Android)
|
|
177
175
|
* @see https://documentation.onesignal.com/docs/react-native-sdk-setup#step-4-install-for-ios-using-cocoapods-for-ios-apps
|
|
178
176
|
*/
|
|
179
177
|
const RESOURCE_ROOT_PATH = "android/app/src/main/res/";
|
|
180
178
|
const ONESIGNAL_DISABLE_LOCATION_GRADLE_PROPERTY = "onesignal.disableLocation";
|
|
179
|
+
const FIREBASE_INSTALLATION_ID_META_DATA = "firebase_messaging_installation_id_enabled";
|
|
181
180
|
const SMALL_ICON_DIRS_TO_SIZE = {
|
|
182
181
|
"drawable-mdpi": 24,
|
|
183
182
|
"drawable-hdpi": 36,
|
|
@@ -236,6 +235,17 @@ const withLocationModuleGradleProperty = (config, onesignalProps) => {
|
|
|
236
235
|
return config;
|
|
237
236
|
});
|
|
238
237
|
};
|
|
238
|
+
const withFirebaseInstallationIdManifest = (config, onesignalProps) => {
|
|
239
|
+
const enabled = onesignalProps.enableFirebaseInstallationId;
|
|
240
|
+
if (enabled == null) return config;
|
|
241
|
+
if (enabled && !config.android?.googleServicesFile) expo_config_plugins.WarningAggregator.addWarningAndroid("onesignal-expo-plugin", "'enableFirebaseInstallationId' is true but 'android.googleServicesFile' is not set. Firebase Installation ID push registration needs your own Firebase project's google-services.json.");
|
|
242
|
+
return (0, expo_config_plugins.withAndroidManifest)(config, (config) => {
|
|
243
|
+
const mainApplication = expo_config_plugins.AndroidConfig.Manifest.getMainApplicationOrThrow(config.modResults);
|
|
244
|
+
if (enabled) expo_config_plugins.AndroidConfig.Manifest.addMetaDataItemToMainApplication(mainApplication, FIREBASE_INSTALLATION_ID_META_DATA, "true");
|
|
245
|
+
else expo_config_plugins.AndroidConfig.Manifest.removeMetaDataItemFromMainApplication(mainApplication, FIREBASE_INSTALLATION_ID_META_DATA);
|
|
246
|
+
return config;
|
|
247
|
+
});
|
|
248
|
+
};
|
|
239
249
|
async function saveIconsArrayAsync(projectRoot, icons, dirsToSize, defaultName) {
|
|
240
250
|
for (let i = 0; i < icons.length; i++) {
|
|
241
251
|
const outputName = i === 0 ? defaultName : void 0;
|
|
@@ -281,11 +291,11 @@ const withOneSignalAndroid = (config, props) => {
|
|
|
281
291
|
config = withLargeIcons(config, props);
|
|
282
292
|
config = withSmallIconAccentColor(config, props);
|
|
283
293
|
config = withLocationModuleGradleProperty(config, props);
|
|
294
|
+
config = withFirebaseInstallationIdManifest(config, props);
|
|
284
295
|
config = withSoundFiles$1(config, props);
|
|
285
296
|
return config;
|
|
286
297
|
};
|
|
287
|
-
|
|
288
|
-
//#region src/support/eas/getEasManagedCredentialsConfigExtra.ts
|
|
298
|
+
// src/support/eas/getEasManagedCredentialsConfigExtra.ts
|
|
289
299
|
function getEasManagedCredentialsConfigExtra(config, appGroupName, nseBundleIdentifier, liveActivities, disableNSE) {
|
|
290
300
|
const bundleIdentifier = config?.ios?.bundleIdentifier ?? "";
|
|
291
301
|
const appExtensions = [...config.extra?.eas?.build?.experimental?.ios?.appExtensions ?? []];
|
|
@@ -323,8 +333,7 @@ function getEasManagedCredentialsConfigExtra(config, appGroupName, nseBundleIden
|
|
|
323
333
|
}
|
|
324
334
|
};
|
|
325
335
|
}
|
|
326
|
-
|
|
327
|
-
//#region src/support/FileManager.ts
|
|
336
|
+
// src/support/FileManager.ts
|
|
328
337
|
/**
|
|
329
338
|
* FileManager contains static *awaitable* file-system functions
|
|
330
339
|
*/
|
|
@@ -361,8 +370,7 @@ var FileManager = class FileManager {
|
|
|
361
370
|
return fs.existsSync(path);
|
|
362
371
|
}
|
|
363
372
|
};
|
|
364
|
-
|
|
365
|
-
//#region src/support/NseUpdaterManager.ts
|
|
373
|
+
// src/support/NseUpdaterManager.ts
|
|
366
374
|
const entitlementsFileName = `${NSE_TARGET_NAME}.entitlements`;
|
|
367
375
|
const plistFileName = `${NSE_TARGET_NAME}-Info.plist`;
|
|
368
376
|
var NseUpdaterManager = class {
|
|
@@ -402,8 +410,7 @@ var NseUpdaterManager = class {
|
|
|
402
410
|
await FileManager.writeFile(plistFilePath, plistFile);
|
|
403
411
|
}
|
|
404
412
|
};
|
|
405
|
-
|
|
406
|
-
//#region src/support/updatePodfile.ts
|
|
413
|
+
// src/support/updatePodfile.ts
|
|
407
414
|
const ONESIGNAL_DISABLE_LOCATION_ENV = "ENV['ONESIGNAL_DISABLE_LOCATION']";
|
|
408
415
|
const ONESIGNAL_DISABLE_LOCATION_REGEX = /^(?:ENV\[['"]ONESIGNAL_DISABLE_LOCATION['"]\]\s*=\s*['"](true|false)['"]|\$OneSignalDisableLocation\s*=\s*(true|false))\s*$/m;
|
|
409
416
|
async function updatePodfile(iosPath, disableLocation = false) {
|
|
@@ -424,8 +431,7 @@ async function updatePodfileLocationModule(iosPath, disableLocation) {
|
|
|
424
431
|
}
|
|
425
432
|
await fs_promises.default.writeFile(podfilePath, `${nextValue}\n${podfile}`);
|
|
426
433
|
}
|
|
427
|
-
|
|
428
|
-
//#region src/onesignal/withOneSignalLiveActivity.ts
|
|
434
|
+
// src/onesignal/withOneSignalLiveActivity.ts
|
|
429
435
|
/**
|
|
430
436
|
* Expo config plugin that scaffolds an iOS Widget Extension target for OneSignal Live Activities.
|
|
431
437
|
* @see https://documentation.onesignal.com/docs/cross-platform-live-activity-setup
|
|
@@ -550,8 +556,7 @@ const withOneSignalLiveActivity = (config, props) => {
|
|
|
550
556
|
config = withLiveActivityXcodeProject(config, props);
|
|
551
557
|
return config;
|
|
552
558
|
};
|
|
553
|
-
|
|
554
|
-
//#region src/onesignal/withOneSignalIos.ts
|
|
559
|
+
// src/onesignal/withOneSignalIos.ts
|
|
555
560
|
/**
|
|
556
561
|
* Expo config plugin for One Signal (iOS)
|
|
557
562
|
* @see https://documentation.onesignal.com/docs/react-native-sdk-setup#step-4-install-for-ios-using-cocoapods-for-ios-apps
|
|
@@ -738,8 +743,7 @@ const withOneSignalIos = (config, props) => {
|
|
|
738
743
|
if (!props.disableNSE || props.liveActivities) config = withEasManagedCredentials(config, props);
|
|
739
744
|
return config;
|
|
740
745
|
};
|
|
741
|
-
|
|
742
|
-
//#region src/onesignal/withOneSignal.ts
|
|
746
|
+
// src/onesignal/withOneSignal.ts
|
|
743
747
|
const withOneSignal = (config, props) => {
|
|
744
748
|
if (!props) throw new Error("You are trying to use the OneSignal plugin without any props. Property \"mode\" is required. Please see https://github.com/OneSignal/onesignal-expo-plugin for more info.");
|
|
745
749
|
validatePluginProps(props);
|
|
@@ -747,5 +751,4 @@ const withOneSignal = (config, props) => {
|
|
|
747
751
|
config = withOneSignalAndroid(config, props);
|
|
748
752
|
return config;
|
|
749
753
|
};
|
|
750
|
-
//#endregion
|
|
751
754
|
module.exports = withOneSignal;
|
package/dist/plugin.d.ts
CHANGED
|
@@ -1,7 +1,3 @@
|
|
|
1
|
-
import { t as OneSignalPluginProps } from "./types-
|
|
2
|
-
|
|
3
|
-
declare let name: string;
|
|
4
|
-
//#endregion
|
|
5
|
-
//#region src/onesignal/plugin.d.ts
|
|
6
|
-
declare const withOneSignal: (props: OneSignalPluginProps) => [typeof name, OneSignalPluginProps];
|
|
1
|
+
import { t as OneSignalPluginProps } from "./types-DC6uSYcE.js";
|
|
2
|
+
declare const withOneSignal: (props: OneSignalPluginProps) => [string, OneSignalPluginProps];
|
|
7
3
|
export = withOneSignal;
|
package/dist/plugin.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
//#region src/types.d.ts
|
|
2
1
|
/**
|
|
3
2
|
* Configuration for the iOS Widget Extension target that hosts Live Activities.
|
|
4
3
|
*/
|
|
@@ -84,6 +83,13 @@ type OneSignalPluginProps = {
|
|
|
84
83
|
* OneSignal.Location APIs will not collect location and will no-op or return false.
|
|
85
84
|
*/
|
|
86
85
|
disableLocation?: boolean;
|
|
86
|
+
/**
|
|
87
|
+
* (optional, Android only) If true, sets `firebase_messaging_installation_id_enabled=true` in the Android manifest so
|
|
88
|
+
* push registration uses the Firebase Installation ID (FID) path instead of the legacy FCM token API.
|
|
89
|
+
* Requires the app's own Firebase project (`android.googleServicesFile`), `firebase-messaging` 25.1.0+
|
|
90
|
+
* and `react-native-onesignal` 5.5.16+ (OneSignal Android SDK 5.11.0+). If unset, the manifest is untouched; if false, the app's own entry is removed.
|
|
91
|
+
*/
|
|
92
|
+
enableFirebaseInstallationId?: boolean;
|
|
87
93
|
/**
|
|
88
94
|
* (optional) An array of local paths to custom notification sound files (.wav only).
|
|
89
95
|
* Files are added to the iOS app bundle and Android res/raw/.
|
|
@@ -97,5 +103,4 @@ type OneSignalPluginProps = {
|
|
|
97
103
|
*/
|
|
98
104
|
liveActivities?: OneSignalLiveActivityProps;
|
|
99
105
|
};
|
|
100
|
-
//#endregion
|
|
101
106
|
export { OneSignalPluginProps as t };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "onesignal-expo-plugin",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.8.0",
|
|
4
4
|
"description": "OneSignal Expo config plugin for adding iOS and Android push notification support to managed Expo apps.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"EAS",
|
|
@@ -39,11 +39,11 @@
|
|
|
39
39
|
"scripts": {
|
|
40
40
|
"build": "vp pack",
|
|
41
41
|
"format:spotless": "./examples/demo/android/gradlew spotlessApply",
|
|
42
|
-
"format": "vp fmt &&
|
|
42
|
+
"format": "vp fmt && vp run format:spotless",
|
|
43
43
|
"format:check:spotless": "./examples/demo/android/gradlew spotlessCheck",
|
|
44
|
-
"format:check": "vp fmt --check &&
|
|
45
|
-
"lint": "vp check src &&
|
|
46
|
-
"lint:fix": "vp check --fix src &&
|
|
44
|
+
"format:check": "vp fmt --check && vp run format:check:spotless",
|
|
45
|
+
"lint": "vp check src && vp run format:check",
|
|
46
|
+
"lint:fix": "vp check --fix src && vp run format",
|
|
47
47
|
"test": "vp test"
|
|
48
48
|
},
|
|
49
49
|
"dependencies": {
|
|
@@ -51,19 +51,23 @@
|
|
|
51
51
|
},
|
|
52
52
|
"devDependencies": {
|
|
53
53
|
"@types/node": "^22.19.3",
|
|
54
|
-
"@vitest/coverage-v8": "5.0.
|
|
55
|
-
"typescript": "^
|
|
56
|
-
"vite": "npm:@voidzero-dev/vite-plus-core@1.
|
|
57
|
-
"vite-plus": "1.
|
|
58
|
-
"vitest": "5.0.1"
|
|
54
|
+
"@vitest/coverage-v8": "5.0.5",
|
|
55
|
+
"typescript": "^7.0.2",
|
|
56
|
+
"vite": "npm:@voidzero-dev/vite-plus-core@1.4.0",
|
|
57
|
+
"vite-plus": "1.4.0"
|
|
59
58
|
},
|
|
60
59
|
"peerDependencies": {
|
|
61
60
|
"expo": ">=53.0.0",
|
|
62
61
|
"react-native-onesignal": ">=5.0.0"
|
|
63
62
|
},
|
|
64
63
|
"overrides": {
|
|
65
|
-
"vite": "npm:@voidzero-dev/vite-plus-core@1.
|
|
66
|
-
"vitest": "5.0.1"
|
|
64
|
+
"vite": "npm:@voidzero-dev/vite-plus-core@1.4.0"
|
|
67
65
|
},
|
|
68
|
-
"
|
|
66
|
+
"devEngines": {
|
|
67
|
+
"packageManager": {
|
|
68
|
+
"name": "bun",
|
|
69
|
+
"version": "1.4.4",
|
|
70
|
+
"onFail": "warn"
|
|
71
|
+
}
|
|
72
|
+
}
|
|
69
73
|
}
|