@revenuecat/purchases-capacitor 12.3.0 → 12.3.2

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/Package.swift CHANGED
@@ -11,7 +11,7 @@ let package = Package(
11
11
  ],
12
12
  dependencies: [
13
13
  .package(url: "https://github.com/ionic-team/capacitor-swift-pm.git", from: "8.0.0"),
14
- .package(url: "https://github.com/RevenueCat/purchases-hybrid-common.git", exact: "17.52.0")
14
+ .package(url: "https://github.com/RevenueCat/purchases-hybrid-common.git", exact: "17.55.1")
15
15
  ],
16
16
  targets: [
17
17
  .target(
package/README.md CHANGED
@@ -1402,11 +1402,12 @@ The EntitlementInfo object gives you access to all of the information about the
1402
1402
 
1403
1403
  Represents a non-subscription transaction in the <a href="#store">Store</a>.
1404
1404
 
1405
- | Prop | Type | Description |
1406
- | --------------------------- | ------------------- | ---------------------------------------------------- |
1407
- | **`transactionIdentifier`** | <code>string</code> | Id of the transaction. |
1408
- | **`productIdentifier`** | <code>string</code> | Product Id associated with the transaction. |
1409
- | **`purchaseDate`** | <code>string</code> | Purchase date of the transaction in ISO 8601 format. |
1405
+ | Prop | Type | Description |
1406
+ | --------------------------- | --------------------------- | ---------------------------------------------------- |
1407
+ | **`transactionIdentifier`** | <code>string</code> | Id of the transaction. |
1408
+ | **`productIdentifier`** | <code>string</code> | Product Id associated with the transaction. |
1409
+ | **`purchaseDate`** | <code>string</code> | Purchase date of the transaction in ISO 8601 format. |
1410
+ | **`purchaseToken`** | <code>string \| null</code> | Purchase token of the transaction. Android only. |
1410
1411
 
1411
1412
 
1412
1413
  #### PurchasesSubscriptionInfo
@@ -13,6 +13,6 @@ Pod::Spec.new do |s|
13
13
  s.source_files = 'ios/Sources/**/*.{swift,h,m,c,cc,mm,cpp}'
14
14
  s.ios.deployment_target = '15.0'
15
15
  s.dependency 'Capacitor'
16
- s.dependency 'PurchasesHybridCommon', '17.52.0'
16
+ s.dependency 'PurchasesHybridCommon', '17.55.1'
17
17
  s.swift_version = '5.1'
18
18
  end
@@ -61,7 +61,7 @@ dependencies {
61
61
  implementation fileTree(dir: 'libs', include: ['*.jar'])
62
62
  implementation project(':capacitor-android')
63
63
  implementation "androidx.appcompat:appcompat:$androidxAppCompatVersion"
64
- implementation 'com.revenuecat.purchases:purchases-hybrid-common:17.52.0'
64
+ implementation 'com.revenuecat.purchases:purchases-hybrid-common:17.55.1'
65
65
  testImplementation "junit:junit:$junitVersion"
66
66
  androidTestImplementation "androidx.test.ext:junit:$androidxJunitVersion"
67
67
  androidTestImplementation "androidx.test.espresso:espresso-core:$androidxEspressoCoreVersion"
@@ -85,7 +85,7 @@ class PurchasesPlugin : Plugin() {
85
85
 
86
86
  companion object {
87
87
  private const val PLATFORM_NAME = "capacitor"
88
- private const val PLUGIN_VERSION = "12.3.0"
88
+ private const val PLUGIN_VERSION = "12.3.2"
89
89
 
90
90
  private const val CUSTOMER_INFO_KEY = "customerInfo"
91
91
  }
package/dist/docs.json CHANGED
@@ -2161,6 +2161,13 @@
2161
2161
  "docs": "Purchase date of the transaction in ISO 8601 format.",
2162
2162
  "complexTypes": [],
2163
2163
  "type": "string"
2164
+ },
2165
+ {
2166
+ "name": "purchaseToken",
2167
+ "tags": [],
2168
+ "docs": "Purchase token of the transaction. Android only.",
2169
+ "complexTypes": [],
2170
+ "type": "string | null"
2164
2171
  }
2165
2172
  ]
2166
2173
  },
package/dist/esm/web.js CHANGED
@@ -327,6 +327,7 @@ export class PurchasesWeb extends WebPlugin {
327
327
  productIdentifier: productIdentifier,
328
328
  purchaseDate: new Date().toISOString(),
329
329
  transactionIdentifier: '',
330
+ purchaseToken: null,
330
331
  };
331
332
  }
332
333
  mockNonReturningFunctionIfEnabled(functionName) {
@@ -1 +1 @@
1
- {"version":3,"file":"web.js","sourceRoot":"","sources":["../../src/web.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/no-unused-vars */\n\nimport { WebPlugin } from '@capacitor/core';\nimport type {\n BILLING_FEATURE,\n CustomerInfo,\n CustomerInfoUpdateListener,\n IN_APP_MESSAGE_TYPE,\n IntroEligibility,\n LOG_LEVEL,\n LogHandler,\n LogInResult,\n MakePurchaseResult,\n PurchasesConfiguration,\n PurchasesEntitlementInfo,\n PurchasesOffering,\n PurchasesOfferings,\n PurchasesPromotionalOffer,\n PurchasesStoreProduct,\n PurchasesStoreTransaction,\n PurchasesVirtualCurrencies,\n PurchasesWinBackOffer,\n ShouldPurchasePromoProductListener,\n Storefront,\n WebPurchaseRedemption,\n WebPurchaseRedemptionResult,\n} from '@revenuecat/purchases-typescript-internal-esm';\nimport {\n REFUND_REQUEST_STATUS,\n VERIFICATION_RESULT,\n WebPurchaseRedemptionResultType,\n} from '@revenuecat/purchases-typescript-internal-esm';\n\nimport type {\n GetEligibleWinBackOffersForPackageOptions,\n GetEligibleWinBackOffersForProductOptions,\n GetProductOptions,\n GetPromotionalOfferOptions,\n PurchaseDiscountedPackageOptions,\n PurchaseDiscountedProductOptions,\n PurchasePackageOptions,\n PurchasePackageWithWinBackOfferOptions,\n PurchaseProductWithWinBackOfferOptions,\n PurchasesPlugin,\n PurchaseStoreProductOptions,\n PurchaseSubscriptionOptionOptions,\n SyncAmazonPurchaseOptions,\n SyncObserverModeAmazonPurchaseOptions,\n TrackCustomPaywallImpressionOptions,\n} from './definitions';\n\nexport class PurchasesWeb extends WebPlugin implements PurchasesPlugin {\n private shouldMockWebResults = false;\n private webNotSupportedErrorMessage = 'Web not supported in this plugin.';\n\n configure(_configuration: PurchasesConfiguration): Promise<void> {\n return this.mockNonReturningFunctionIfEnabled('configure');\n }\n\n parseAsWebPurchaseRedemption(_options: { urlString: string }): Promise<{\n webPurchaseRedemption: WebPurchaseRedemption | null;\n }> {\n return this.mockReturningFunctionIfEnabled('parseAsWebPurchaseRedemption', { webPurchaseRedemption: null });\n }\n\n redeemWebPurchase(_options: { webPurchaseRedemption: WebPurchaseRedemption }): Promise<WebPurchaseRedemptionResult> {\n return this.mockReturningFunctionIfEnabled('redeemWebPurchase', {\n result: WebPurchaseRedemptionResultType.INVALID_TOKEN,\n });\n }\n\n setMockWebResults(options: { shouldMockWebResults: boolean }): Promise<void> {\n this.shouldMockWebResults = options.shouldMockWebResults;\n return Promise.resolve();\n }\n\n setSimulatesAskToBuyInSandbox(_simulatesAskToBuyInSandbox: { simulatesAskToBuyInSandbox: boolean }): Promise<void> {\n return this.mockNonReturningFunctionIfEnabled('setSimulatesAskToBuyInSandbox');\n }\n addCustomerInfoUpdateListener(_customerInfoUpdateListener: CustomerInfoUpdateListener): Promise<string> {\n return this.mockReturningFunctionIfEnabled('addCustomerInfoUpdateListener', 'mock-callback-id');\n }\n removeCustomerInfoUpdateListener(_options: { listenerToRemove: string }): Promise<{ wasRemoved: boolean }> {\n return this.mockReturningFunctionIfEnabled('removeCustomerInfoUpdateListener', { wasRemoved: false });\n }\n addShouldPurchasePromoProductListener(\n _shouldPurchasePromoProductListener: ShouldPurchasePromoProductListener,\n ): Promise<string> {\n return this.mockReturningFunctionIfEnabled('addShouldPurchasePromoProductListener', 'mock-callback-id');\n }\n removeShouldPurchasePromoProductListener(_listenerToRemove: string): Promise<{ wasRemoved: boolean }> {\n return this.mockReturningFunctionIfEnabled('removeShouldPurchasePromoProductListener', { wasRemoved: false });\n }\n getOfferings(): Promise<PurchasesOfferings> {\n const mockOfferings: PurchasesOfferings = {\n all: {},\n current: null,\n };\n return this.mockReturningFunctionIfEnabled('getOfferings', mockOfferings);\n }\n getCurrentOfferingForPlacement(_options: { placementIdentifier: string }): Promise<PurchasesOffering | null> {\n const mockOffering: PurchasesOffering | null = null;\n return this.mockReturningFunctionIfEnabled('getCurrentOfferingForPlacement', mockOffering);\n }\n syncAttributesAndOfferingsIfNeeded(): Promise<PurchasesOfferings> {\n const mockOfferings: PurchasesOfferings = {\n all: {},\n current: null,\n };\n return this.mockReturningFunctionIfEnabled('syncAttributesAndOfferingsIfNeeded', mockOfferings);\n }\n getProducts(_options: GetProductOptions): Promise<{ products: PurchasesStoreProduct[] }> {\n const mockProducts = { products: [] };\n return this.mockReturningFunctionIfEnabled('getProducts', mockProducts);\n }\n purchaseStoreProduct(_options: PurchaseStoreProductOptions): Promise<MakePurchaseResult> {\n const mockPurchaseResult: MakePurchaseResult = {\n productIdentifier: _options.product.identifier,\n customerInfo: this.mockEmptyCustomerInfo,\n transaction: this.mockTransaction(_options.product.identifier),\n };\n return this.mockReturningFunctionIfEnabled('purchaseStoreProduct', mockPurchaseResult);\n }\n purchaseDiscountedProduct(_options: PurchaseDiscountedProductOptions): Promise<MakePurchaseResult> {\n const mockPurchaseResult: MakePurchaseResult = {\n productIdentifier: _options.product.identifier,\n customerInfo: this.mockEmptyCustomerInfo,\n transaction: this.mockTransaction(_options.product.identifier),\n };\n return this.mockReturningFunctionIfEnabled('purchaseDiscountedProduct', mockPurchaseResult);\n }\n purchasePackage(_options: PurchasePackageOptions): Promise<MakePurchaseResult> {\n const mockPurchaseResult: MakePurchaseResult = {\n productIdentifier: _options.aPackage.product.identifier,\n customerInfo: this.mockEmptyCustomerInfo,\n transaction: this.mockTransaction(_options.aPackage.product.identifier),\n };\n return this.mockReturningFunctionIfEnabled('purchasePackage', mockPurchaseResult);\n }\n purchaseSubscriptionOption(_options: PurchaseSubscriptionOptionOptions): Promise<MakePurchaseResult> {\n const mockPurchaseResult: MakePurchaseResult = {\n productIdentifier: _options.subscriptionOption.productId,\n customerInfo: this.mockEmptyCustomerInfo,\n transaction: this.mockTransaction(_options.subscriptionOption.productId),\n };\n return this.mockReturningFunctionIfEnabled('purchaseSubscriptionOption', mockPurchaseResult);\n }\n purchaseDiscountedPackage(_options: PurchaseDiscountedPackageOptions): Promise<MakePurchaseResult> {\n const mockPurchaseResult: MakePurchaseResult = {\n productIdentifier: _options.aPackage.product.identifier,\n customerInfo: this.mockEmptyCustomerInfo,\n transaction: this.mockTransaction(_options.aPackage.product.identifier),\n };\n return this.mockReturningFunctionIfEnabled('purchaseDiscountedPackage', mockPurchaseResult);\n }\n restorePurchases(): Promise<{ customerInfo: CustomerInfo }> {\n const mockResponse = { customerInfo: this.mockEmptyCustomerInfo };\n return this.mockReturningFunctionIfEnabled('restorePurchases', mockResponse);\n }\n recordPurchase(options: { productID: string }): Promise<{ transaction: PurchasesStoreTransaction }> {\n const mockResponse = {\n transaction: this.mockTransaction(options.productID),\n };\n return this.mockReturningFunctionIfEnabled('recordPurchase', mockResponse);\n }\n getAppUserID(): Promise<{ appUserID: string }> {\n return this.mockReturningFunctionIfEnabled('getAppUserID', {\n appUserID: 'test-web-user-id',\n });\n }\n getStorefront(): Promise<Storefront> {\n return this.mockReturningFunctionIfEnabled('getStorefront', {\n countryCode: 'USA',\n });\n }\n logIn(_appUserID: { appUserID: string }): Promise<LogInResult> {\n const mockLogInResult: LogInResult = {\n customerInfo: this.mockEmptyCustomerInfo,\n created: false,\n };\n return this.mockReturningFunctionIfEnabled('logIn', mockLogInResult);\n }\n logOut(): Promise<{ customerInfo: CustomerInfo }> {\n const mockResponse = { customerInfo: this.mockEmptyCustomerInfo };\n return this.mockReturningFunctionIfEnabled('logOut', mockResponse);\n }\n setLogLevel(_level: { level: LOG_LEVEL }): Promise<void> {\n return this.mockNonReturningFunctionIfEnabled('setLogLevel');\n }\n setLogHandler(_logHandler: LogHandler): Promise<void> {\n return this.mockNonReturningFunctionIfEnabled('setLogHandler');\n }\n getCustomerInfo(): Promise<{ customerInfo: CustomerInfo }> {\n const mockResponse = { customerInfo: this.mockEmptyCustomerInfo };\n return this.mockReturningFunctionIfEnabled('getCustomerInfo', mockResponse);\n }\n syncPurchases(): Promise<void> {\n return this.mockNonReturningFunctionIfEnabled('syncPurchases');\n }\n syncObserverModeAmazonPurchase(_options: SyncObserverModeAmazonPurchaseOptions): Promise<void> {\n return this.mockNonReturningFunctionIfEnabled('syncObserverModeAmazonPurchase');\n }\n syncAmazonPurchase(_options: SyncAmazonPurchaseOptions): Promise<void> {\n return this.mockNonReturningFunctionIfEnabled('syncAmazonPurchase');\n }\n enableAdServicesAttributionTokenCollection(): Promise<void> {\n return this.mockNonReturningFunctionIfEnabled('enableAdServicesAttributionTokenCollection');\n }\n isAnonymous(): Promise<{ isAnonymous: boolean }> {\n const mockResponse = { isAnonymous: false };\n return this.mockReturningFunctionIfEnabled('isAnonymous', mockResponse);\n }\n checkTrialOrIntroductoryPriceEligibility(_productIdentifiers: {\n productIdentifiers: string[];\n }): Promise<{ [productId: string]: IntroEligibility }> {\n return this.mockReturningFunctionIfEnabled('checkTrialOrIntroductoryPriceEligibility', {});\n }\n getPromotionalOffer(_options: GetPromotionalOfferOptions): Promise<PurchasesPromotionalOffer | undefined> {\n return this.mockReturningFunctionIfEnabled('getPromotionalOffer', undefined);\n }\n getEligibleWinBackOffersForProduct(\n _options: GetEligibleWinBackOffersForProductOptions,\n ): Promise<{ eligibleWinBackOffers: PurchasesWinBackOffer[] }> {\n return this.mockReturningFunctionIfEnabled('getEligibleWinBackOffersForProduct', { eligibleWinBackOffers: [] });\n }\n getEligibleWinBackOffersForPackage(\n _options: GetEligibleWinBackOffersForPackageOptions,\n ): Promise<{ eligibleWinBackOffers: PurchasesWinBackOffer[] }> {\n return this.mockReturningFunctionIfEnabled('getEligibleWinBackOffersForPackage', { eligibleWinBackOffers: [] });\n }\n purchaseProductWithWinBackOffer(\n _options: PurchaseProductWithWinBackOfferOptions,\n ): Promise<MakePurchaseResult | undefined> {\n return this.mockReturningFunctionIfEnabled('purchaseProductWithWinBackOffer', undefined);\n }\n purchasePackageWithWinBackOffer(\n _options: PurchasePackageWithWinBackOfferOptions,\n ): Promise<MakePurchaseResult | undefined> {\n return this.mockReturningFunctionIfEnabled('purchasePackageWithWinBackOffer', undefined);\n }\n invalidateCustomerInfoCache(): Promise<void> {\n return this.mockNonReturningFunctionIfEnabled('invalidateCustomerInfoCache');\n }\n presentCodeRedemptionSheet(): Promise<void> {\n return this.mockNonReturningFunctionIfEnabled('presentCodeRedemptionSheet');\n }\n setAttributes(_attributes: { [key: string]: string | null }): Promise<void> {\n return this.mockNonReturningFunctionIfEnabled('setAttributes');\n }\n setEmail(_email: { email: string | null }): Promise<void> {\n return this.mockNonReturningFunctionIfEnabled('setEmail');\n }\n setPhoneNumber(_phoneNumber: { phoneNumber: string | null }): Promise<void> {\n return this.mockNonReturningFunctionIfEnabled('setPhoneNumber');\n }\n setDisplayName(_displayName: { displayName: string | null }): Promise<void> {\n return this.mockNonReturningFunctionIfEnabled('setDisplayName');\n }\n setPushToken(_pushToken: { pushToken: string | null }): Promise<void> {\n return this.mockNonReturningFunctionIfEnabled('setPushToken');\n }\n setProxyURL(_url: { url: string }): Promise<void> {\n return this.mockNonReturningFunctionIfEnabled('setProxyURL');\n }\n collectDeviceIdentifiers(): Promise<void> {\n return this.mockNonReturningFunctionIfEnabled('collectDeviceIdentifiers');\n }\n setAdjustID(_adjustID: { adjustID: string | null }): Promise<void> {\n return this.mockNonReturningFunctionIfEnabled('setAdjustID');\n }\n setAppsflyerID(_appsflyerID: { appsflyerID: string | null }): Promise<void> {\n return this.mockNonReturningFunctionIfEnabled('setAppsflyerID');\n }\n setFBAnonymousID(_fbAnonymousID: { fbAnonymousID: string | null }): Promise<void> {\n return this.mockNonReturningFunctionIfEnabled('setFBAnonymousID');\n }\n setMparticleID(_mparticleID: { mparticleID: string | null }): Promise<void> {\n return this.mockNonReturningFunctionIfEnabled('setMparticleID');\n }\n setCleverTapID(_cleverTapID: { cleverTapID: string | null }): Promise<void> {\n return this.mockNonReturningFunctionIfEnabled('setCleverTapID');\n }\n setMixpanelDistinctID(_mixpanelDistinctID: { mixpanelDistinctID: string | null }): Promise<void> {\n return this.mockNonReturningFunctionIfEnabled('setMixpanelDistinctID');\n }\n setFirebaseAppInstanceID(_firebaseAppInstanceID: { firebaseAppInstanceID: string | null }): Promise<void> {\n return this.mockNonReturningFunctionIfEnabled('setFirebaseAppInstanceID');\n }\n setOnesignalID(_onesignalID: { onesignalID: string | null }): Promise<void> {\n return this.mockNonReturningFunctionIfEnabled('setOnesignalID');\n }\n setOnesignalUserID(_onesignalUserID: { onesignalUserID: string | null }): Promise<void> {\n return this.mockNonReturningFunctionIfEnabled('setOnesignalUserID');\n }\n setAirshipChannelID(_airshipChannelID: { airshipChannelID: string | null }): Promise<void> {\n return this.mockNonReturningFunctionIfEnabled('setAirshipChannelID');\n }\n setMediaSource(_mediaSource: { mediaSource: string | null }): Promise<void> {\n return this.mockNonReturningFunctionIfEnabled('setMediaSource');\n }\n setCampaign(_campaign: { campaign: string | null }): Promise<void> {\n return this.mockNonReturningFunctionIfEnabled('setCampaign');\n }\n setAdGroup(_adGroup: { adGroup: string | null }): Promise<void> {\n return this.mockNonReturningFunctionIfEnabled('setAdGroup');\n }\n setAd(_ad: { ad: string | null }): Promise<void> {\n return this.mockNonReturningFunctionIfEnabled('setAd');\n }\n setKeyword(_keyword: { keyword: string | null }): Promise<void> {\n return this.mockNonReturningFunctionIfEnabled('setKeyword');\n }\n setCreative(_creative: { creative: string | null }): Promise<void> {\n return this.mockNonReturningFunctionIfEnabled('setCreative');\n }\n canMakePayments(_features?: { features?: BILLING_FEATURE[] }): Promise<{ canMakePayments: boolean }> {\n return this.mockReturningFunctionIfEnabled('canMakePayments', {\n canMakePayments: true,\n });\n }\n beginRefundRequestForActiveEntitlement(): Promise<{\n refundRequestStatus: REFUND_REQUEST_STATUS;\n }> {\n const mockResult = {\n refundRequestStatus: REFUND_REQUEST_STATUS.USER_CANCELLED,\n };\n return this.mockReturningFunctionIfEnabled('beginRefundRequestForActiveEntitlement', mockResult);\n }\n beginRefundRequestForEntitlement(_entitlementInfo: {\n entitlementInfo: PurchasesEntitlementInfo;\n }): Promise<{ refundRequestStatus: REFUND_REQUEST_STATUS }> {\n const mockResult = {\n refundRequestStatus: REFUND_REQUEST_STATUS.USER_CANCELLED,\n };\n return this.mockReturningFunctionIfEnabled('beginRefundRequestForEntitlement', mockResult);\n }\n beginRefundRequestForProduct(_storeProduct: {\n storeProduct: PurchasesStoreProduct;\n }): Promise<{ refundRequestStatus: REFUND_REQUEST_STATUS }> {\n const mockResult = {\n refundRequestStatus: REFUND_REQUEST_STATUS.USER_CANCELLED,\n };\n return this.mockReturningFunctionIfEnabled('beginRefundRequestForProduct', mockResult);\n }\n\n showInAppMessages(_options?: { messageTypes?: IN_APP_MESSAGE_TYPE[] }): Promise<void> {\n return this.mockNonReturningFunctionIfEnabled('showInAppMessages');\n }\n\n isConfigured(): Promise<{ isConfigured: boolean }> {\n const mockResult = { isConfigured: true };\n return this.mockReturningFunctionIfEnabled('isConfigured', mockResult);\n }\n\n overridePreferredUILocale(_options: { locale: string | null }): Promise<void> {\n return this.mockNonReturningFunctionIfEnabled('overridePreferredUILocale');\n }\n\n getVirtualCurrencies(): Promise<{ virtualCurrencies: PurchasesVirtualCurrencies }> {\n return this.mockReturningFunctionIfEnabled('getVirtualCurrencies', {\n virtualCurrencies: this.mockEmptyVirtualCurrencies,\n });\n }\n\n invalidateVirtualCurrenciesCache(): Promise<void> {\n return this.mockNonReturningFunctionIfEnabled('invalidateVirtualCurrenciesCache');\n }\n\n getCachedVirtualCurrencies(): Promise<{ cachedVirtualCurrencies: PurchasesVirtualCurrencies | null }> {\n return this.mockReturningFunctionIfEnabled('getCachedVirtualCurrencies', {\n cachedVirtualCurrencies: this.mockEmptyVirtualCurrencies,\n });\n }\n\n trackCustomPaywallImpression(_options?: TrackCustomPaywallImpressionOptions): Promise<void> {\n return this.mockNonReturningFunctionIfEnabled('trackCustomPaywallImpression');\n }\n\n // Mock helpers\n\n private mockEmptyCustomerInfo: CustomerInfo = {\n entitlements: {\n all: {},\n active: {},\n verification: VERIFICATION_RESULT.NOT_REQUESTED,\n },\n activeSubscriptions: [],\n allPurchasedProductIdentifiers: [],\n latestExpirationDate: null,\n firstSeen: '2023-08-31T15:11:21.445Z',\n originalAppUserId: 'mock-web-user-id',\n requestDate: '2023-08-31T15:11:21.445Z',\n allExpirationDates: {},\n allPurchaseDates: {},\n originalApplicationVersion: null,\n originalPurchaseDate: null,\n managementURL: null,\n nonSubscriptionTransactions: [],\n subscriptionsByProductIdentifier: {},\n };\n\n private mockEmptyVirtualCurrencies: PurchasesVirtualCurrencies = {\n all: {},\n };\n\n private mockTransaction(productIdentifier: string): PurchasesStoreTransaction {\n return {\n productIdentifier: productIdentifier,\n purchaseDate: new Date().toISOString(),\n transactionIdentifier: '',\n };\n }\n\n private mockNonReturningFunctionIfEnabled(functionName: string): Promise<void> {\n if (!this.shouldMockWebResults) {\n return Promise.reject(this.webNotSupportedErrorMessage);\n }\n console.log(`${functionName} called on web with mocking enabled. No-op`);\n return Promise.resolve();\n }\n\n private mockReturningFunctionIfEnabled<T>(functionName: string, returnValue: T): Promise<T> {\n if (!this.shouldMockWebResults) {\n return Promise.reject(this.webNotSupportedErrorMessage);\n }\n console.log(`${functionName} called on web with mocking enabled. Returning mocked value`);\n return Promise.resolve(returnValue);\n }\n}\n"]}
1
+ {"version":3,"file":"web.js","sourceRoot":"","sources":["../../src/web.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/no-unused-vars */\n\nimport { WebPlugin } from '@capacitor/core';\nimport type {\n BILLING_FEATURE,\n CustomerInfo,\n CustomerInfoUpdateListener,\n IN_APP_MESSAGE_TYPE,\n IntroEligibility,\n LOG_LEVEL,\n LogHandler,\n LogInResult,\n MakePurchaseResult,\n PurchasesConfiguration,\n PurchasesEntitlementInfo,\n PurchasesOffering,\n PurchasesOfferings,\n PurchasesPromotionalOffer,\n PurchasesStoreProduct,\n PurchasesStoreTransaction,\n PurchasesVirtualCurrencies,\n PurchasesWinBackOffer,\n ShouldPurchasePromoProductListener,\n Storefront,\n WebPurchaseRedemption,\n WebPurchaseRedemptionResult,\n} from '@revenuecat/purchases-typescript-internal-esm';\nimport {\n REFUND_REQUEST_STATUS,\n VERIFICATION_RESULT,\n WebPurchaseRedemptionResultType,\n} from '@revenuecat/purchases-typescript-internal-esm';\n\nimport type {\n GetEligibleWinBackOffersForPackageOptions,\n GetEligibleWinBackOffersForProductOptions,\n GetProductOptions,\n GetPromotionalOfferOptions,\n PurchaseDiscountedPackageOptions,\n PurchaseDiscountedProductOptions,\n PurchasePackageOptions,\n PurchasePackageWithWinBackOfferOptions,\n PurchaseProductWithWinBackOfferOptions,\n PurchasesPlugin,\n PurchaseStoreProductOptions,\n PurchaseSubscriptionOptionOptions,\n SyncAmazonPurchaseOptions,\n SyncObserverModeAmazonPurchaseOptions,\n TrackCustomPaywallImpressionOptions,\n} from './definitions';\n\nexport class PurchasesWeb extends WebPlugin implements PurchasesPlugin {\n private shouldMockWebResults = false;\n private webNotSupportedErrorMessage = 'Web not supported in this plugin.';\n\n configure(_configuration: PurchasesConfiguration): Promise<void> {\n return this.mockNonReturningFunctionIfEnabled('configure');\n }\n\n parseAsWebPurchaseRedemption(_options: { urlString: string }): Promise<{\n webPurchaseRedemption: WebPurchaseRedemption | null;\n }> {\n return this.mockReturningFunctionIfEnabled('parseAsWebPurchaseRedemption', { webPurchaseRedemption: null });\n }\n\n redeemWebPurchase(_options: { webPurchaseRedemption: WebPurchaseRedemption }): Promise<WebPurchaseRedemptionResult> {\n return this.mockReturningFunctionIfEnabled('redeemWebPurchase', {\n result: WebPurchaseRedemptionResultType.INVALID_TOKEN,\n });\n }\n\n setMockWebResults(options: { shouldMockWebResults: boolean }): Promise<void> {\n this.shouldMockWebResults = options.shouldMockWebResults;\n return Promise.resolve();\n }\n\n setSimulatesAskToBuyInSandbox(_simulatesAskToBuyInSandbox: { simulatesAskToBuyInSandbox: boolean }): Promise<void> {\n return this.mockNonReturningFunctionIfEnabled('setSimulatesAskToBuyInSandbox');\n }\n addCustomerInfoUpdateListener(_customerInfoUpdateListener: CustomerInfoUpdateListener): Promise<string> {\n return this.mockReturningFunctionIfEnabled('addCustomerInfoUpdateListener', 'mock-callback-id');\n }\n removeCustomerInfoUpdateListener(_options: { listenerToRemove: string }): Promise<{ wasRemoved: boolean }> {\n return this.mockReturningFunctionIfEnabled('removeCustomerInfoUpdateListener', { wasRemoved: false });\n }\n addShouldPurchasePromoProductListener(\n _shouldPurchasePromoProductListener: ShouldPurchasePromoProductListener,\n ): Promise<string> {\n return this.mockReturningFunctionIfEnabled('addShouldPurchasePromoProductListener', 'mock-callback-id');\n }\n removeShouldPurchasePromoProductListener(_listenerToRemove: string): Promise<{ wasRemoved: boolean }> {\n return this.mockReturningFunctionIfEnabled('removeShouldPurchasePromoProductListener', { wasRemoved: false });\n }\n getOfferings(): Promise<PurchasesOfferings> {\n const mockOfferings: PurchasesOfferings = {\n all: {},\n current: null,\n };\n return this.mockReturningFunctionIfEnabled('getOfferings', mockOfferings);\n }\n getCurrentOfferingForPlacement(_options: { placementIdentifier: string }): Promise<PurchasesOffering | null> {\n const mockOffering: PurchasesOffering | null = null;\n return this.mockReturningFunctionIfEnabled('getCurrentOfferingForPlacement', mockOffering);\n }\n syncAttributesAndOfferingsIfNeeded(): Promise<PurchasesOfferings> {\n const mockOfferings: PurchasesOfferings = {\n all: {},\n current: null,\n };\n return this.mockReturningFunctionIfEnabled('syncAttributesAndOfferingsIfNeeded', mockOfferings);\n }\n getProducts(_options: GetProductOptions): Promise<{ products: PurchasesStoreProduct[] }> {\n const mockProducts = { products: [] };\n return this.mockReturningFunctionIfEnabled('getProducts', mockProducts);\n }\n purchaseStoreProduct(_options: PurchaseStoreProductOptions): Promise<MakePurchaseResult> {\n const mockPurchaseResult: MakePurchaseResult = {\n productIdentifier: _options.product.identifier,\n customerInfo: this.mockEmptyCustomerInfo,\n transaction: this.mockTransaction(_options.product.identifier),\n };\n return this.mockReturningFunctionIfEnabled('purchaseStoreProduct', mockPurchaseResult);\n }\n purchaseDiscountedProduct(_options: PurchaseDiscountedProductOptions): Promise<MakePurchaseResult> {\n const mockPurchaseResult: MakePurchaseResult = {\n productIdentifier: _options.product.identifier,\n customerInfo: this.mockEmptyCustomerInfo,\n transaction: this.mockTransaction(_options.product.identifier),\n };\n return this.mockReturningFunctionIfEnabled('purchaseDiscountedProduct', mockPurchaseResult);\n }\n purchasePackage(_options: PurchasePackageOptions): Promise<MakePurchaseResult> {\n const mockPurchaseResult: MakePurchaseResult = {\n productIdentifier: _options.aPackage.product.identifier,\n customerInfo: this.mockEmptyCustomerInfo,\n transaction: this.mockTransaction(_options.aPackage.product.identifier),\n };\n return this.mockReturningFunctionIfEnabled('purchasePackage', mockPurchaseResult);\n }\n purchaseSubscriptionOption(_options: PurchaseSubscriptionOptionOptions): Promise<MakePurchaseResult> {\n const mockPurchaseResult: MakePurchaseResult = {\n productIdentifier: _options.subscriptionOption.productId,\n customerInfo: this.mockEmptyCustomerInfo,\n transaction: this.mockTransaction(_options.subscriptionOption.productId),\n };\n return this.mockReturningFunctionIfEnabled('purchaseSubscriptionOption', mockPurchaseResult);\n }\n purchaseDiscountedPackage(_options: PurchaseDiscountedPackageOptions): Promise<MakePurchaseResult> {\n const mockPurchaseResult: MakePurchaseResult = {\n productIdentifier: _options.aPackage.product.identifier,\n customerInfo: this.mockEmptyCustomerInfo,\n transaction: this.mockTransaction(_options.aPackage.product.identifier),\n };\n return this.mockReturningFunctionIfEnabled('purchaseDiscountedPackage', mockPurchaseResult);\n }\n restorePurchases(): Promise<{ customerInfo: CustomerInfo }> {\n const mockResponse = { customerInfo: this.mockEmptyCustomerInfo };\n return this.mockReturningFunctionIfEnabled('restorePurchases', mockResponse);\n }\n recordPurchase(options: { productID: string }): Promise<{ transaction: PurchasesStoreTransaction }> {\n const mockResponse = {\n transaction: this.mockTransaction(options.productID),\n };\n return this.mockReturningFunctionIfEnabled('recordPurchase', mockResponse);\n }\n getAppUserID(): Promise<{ appUserID: string }> {\n return this.mockReturningFunctionIfEnabled('getAppUserID', {\n appUserID: 'test-web-user-id',\n });\n }\n getStorefront(): Promise<Storefront> {\n return this.mockReturningFunctionIfEnabled('getStorefront', {\n countryCode: 'USA',\n });\n }\n logIn(_appUserID: { appUserID: string }): Promise<LogInResult> {\n const mockLogInResult: LogInResult = {\n customerInfo: this.mockEmptyCustomerInfo,\n created: false,\n };\n return this.mockReturningFunctionIfEnabled('logIn', mockLogInResult);\n }\n logOut(): Promise<{ customerInfo: CustomerInfo }> {\n const mockResponse = { customerInfo: this.mockEmptyCustomerInfo };\n return this.mockReturningFunctionIfEnabled('logOut', mockResponse);\n }\n setLogLevel(_level: { level: LOG_LEVEL }): Promise<void> {\n return this.mockNonReturningFunctionIfEnabled('setLogLevel');\n }\n setLogHandler(_logHandler: LogHandler): Promise<void> {\n return this.mockNonReturningFunctionIfEnabled('setLogHandler');\n }\n getCustomerInfo(): Promise<{ customerInfo: CustomerInfo }> {\n const mockResponse = { customerInfo: this.mockEmptyCustomerInfo };\n return this.mockReturningFunctionIfEnabled('getCustomerInfo', mockResponse);\n }\n syncPurchases(): Promise<void> {\n return this.mockNonReturningFunctionIfEnabled('syncPurchases');\n }\n syncObserverModeAmazonPurchase(_options: SyncObserverModeAmazonPurchaseOptions): Promise<void> {\n return this.mockNonReturningFunctionIfEnabled('syncObserverModeAmazonPurchase');\n }\n syncAmazonPurchase(_options: SyncAmazonPurchaseOptions): Promise<void> {\n return this.mockNonReturningFunctionIfEnabled('syncAmazonPurchase');\n }\n enableAdServicesAttributionTokenCollection(): Promise<void> {\n return this.mockNonReturningFunctionIfEnabled('enableAdServicesAttributionTokenCollection');\n }\n isAnonymous(): Promise<{ isAnonymous: boolean }> {\n const mockResponse = { isAnonymous: false };\n return this.mockReturningFunctionIfEnabled('isAnonymous', mockResponse);\n }\n checkTrialOrIntroductoryPriceEligibility(_productIdentifiers: {\n productIdentifiers: string[];\n }): Promise<{ [productId: string]: IntroEligibility }> {\n return this.mockReturningFunctionIfEnabled('checkTrialOrIntroductoryPriceEligibility', {});\n }\n getPromotionalOffer(_options: GetPromotionalOfferOptions): Promise<PurchasesPromotionalOffer | undefined> {\n return this.mockReturningFunctionIfEnabled('getPromotionalOffer', undefined);\n }\n getEligibleWinBackOffersForProduct(\n _options: GetEligibleWinBackOffersForProductOptions,\n ): Promise<{ eligibleWinBackOffers: PurchasesWinBackOffer[] }> {\n return this.mockReturningFunctionIfEnabled('getEligibleWinBackOffersForProduct', { eligibleWinBackOffers: [] });\n }\n getEligibleWinBackOffersForPackage(\n _options: GetEligibleWinBackOffersForPackageOptions,\n ): Promise<{ eligibleWinBackOffers: PurchasesWinBackOffer[] }> {\n return this.mockReturningFunctionIfEnabled('getEligibleWinBackOffersForPackage', { eligibleWinBackOffers: [] });\n }\n purchaseProductWithWinBackOffer(\n _options: PurchaseProductWithWinBackOfferOptions,\n ): Promise<MakePurchaseResult | undefined> {\n return this.mockReturningFunctionIfEnabled('purchaseProductWithWinBackOffer', undefined);\n }\n purchasePackageWithWinBackOffer(\n _options: PurchasePackageWithWinBackOfferOptions,\n ): Promise<MakePurchaseResult | undefined> {\n return this.mockReturningFunctionIfEnabled('purchasePackageWithWinBackOffer', undefined);\n }\n invalidateCustomerInfoCache(): Promise<void> {\n return this.mockNonReturningFunctionIfEnabled('invalidateCustomerInfoCache');\n }\n presentCodeRedemptionSheet(): Promise<void> {\n return this.mockNonReturningFunctionIfEnabled('presentCodeRedemptionSheet');\n }\n setAttributes(_attributes: { [key: string]: string | null }): Promise<void> {\n return this.mockNonReturningFunctionIfEnabled('setAttributes');\n }\n setEmail(_email: { email: string | null }): Promise<void> {\n return this.mockNonReturningFunctionIfEnabled('setEmail');\n }\n setPhoneNumber(_phoneNumber: { phoneNumber: string | null }): Promise<void> {\n return this.mockNonReturningFunctionIfEnabled('setPhoneNumber');\n }\n setDisplayName(_displayName: { displayName: string | null }): Promise<void> {\n return this.mockNonReturningFunctionIfEnabled('setDisplayName');\n }\n setPushToken(_pushToken: { pushToken: string | null }): Promise<void> {\n return this.mockNonReturningFunctionIfEnabled('setPushToken');\n }\n setProxyURL(_url: { url: string }): Promise<void> {\n return this.mockNonReturningFunctionIfEnabled('setProxyURL');\n }\n collectDeviceIdentifiers(): Promise<void> {\n return this.mockNonReturningFunctionIfEnabled('collectDeviceIdentifiers');\n }\n setAdjustID(_adjustID: { adjustID: string | null }): Promise<void> {\n return this.mockNonReturningFunctionIfEnabled('setAdjustID');\n }\n setAppsflyerID(_appsflyerID: { appsflyerID: string | null }): Promise<void> {\n return this.mockNonReturningFunctionIfEnabled('setAppsflyerID');\n }\n setFBAnonymousID(_fbAnonymousID: { fbAnonymousID: string | null }): Promise<void> {\n return this.mockNonReturningFunctionIfEnabled('setFBAnonymousID');\n }\n setMparticleID(_mparticleID: { mparticleID: string | null }): Promise<void> {\n return this.mockNonReturningFunctionIfEnabled('setMparticleID');\n }\n setCleverTapID(_cleverTapID: { cleverTapID: string | null }): Promise<void> {\n return this.mockNonReturningFunctionIfEnabled('setCleverTapID');\n }\n setMixpanelDistinctID(_mixpanelDistinctID: { mixpanelDistinctID: string | null }): Promise<void> {\n return this.mockNonReturningFunctionIfEnabled('setMixpanelDistinctID');\n }\n setFirebaseAppInstanceID(_firebaseAppInstanceID: { firebaseAppInstanceID: string | null }): Promise<void> {\n return this.mockNonReturningFunctionIfEnabled('setFirebaseAppInstanceID');\n }\n setOnesignalID(_onesignalID: { onesignalID: string | null }): Promise<void> {\n return this.mockNonReturningFunctionIfEnabled('setOnesignalID');\n }\n setOnesignalUserID(_onesignalUserID: { onesignalUserID: string | null }): Promise<void> {\n return this.mockNonReturningFunctionIfEnabled('setOnesignalUserID');\n }\n setAirshipChannelID(_airshipChannelID: { airshipChannelID: string | null }): Promise<void> {\n return this.mockNonReturningFunctionIfEnabled('setAirshipChannelID');\n }\n setMediaSource(_mediaSource: { mediaSource: string | null }): Promise<void> {\n return this.mockNonReturningFunctionIfEnabled('setMediaSource');\n }\n setCampaign(_campaign: { campaign: string | null }): Promise<void> {\n return this.mockNonReturningFunctionIfEnabled('setCampaign');\n }\n setAdGroup(_adGroup: { adGroup: string | null }): Promise<void> {\n return this.mockNonReturningFunctionIfEnabled('setAdGroup');\n }\n setAd(_ad: { ad: string | null }): Promise<void> {\n return this.mockNonReturningFunctionIfEnabled('setAd');\n }\n setKeyword(_keyword: { keyword: string | null }): Promise<void> {\n return this.mockNonReturningFunctionIfEnabled('setKeyword');\n }\n setCreative(_creative: { creative: string | null }): Promise<void> {\n return this.mockNonReturningFunctionIfEnabled('setCreative');\n }\n canMakePayments(_features?: { features?: BILLING_FEATURE[] }): Promise<{ canMakePayments: boolean }> {\n return this.mockReturningFunctionIfEnabled('canMakePayments', {\n canMakePayments: true,\n });\n }\n beginRefundRequestForActiveEntitlement(): Promise<{\n refundRequestStatus: REFUND_REQUEST_STATUS;\n }> {\n const mockResult = {\n refundRequestStatus: REFUND_REQUEST_STATUS.USER_CANCELLED,\n };\n return this.mockReturningFunctionIfEnabled('beginRefundRequestForActiveEntitlement', mockResult);\n }\n beginRefundRequestForEntitlement(_entitlementInfo: {\n entitlementInfo: PurchasesEntitlementInfo;\n }): Promise<{ refundRequestStatus: REFUND_REQUEST_STATUS }> {\n const mockResult = {\n refundRequestStatus: REFUND_REQUEST_STATUS.USER_CANCELLED,\n };\n return this.mockReturningFunctionIfEnabled('beginRefundRequestForEntitlement', mockResult);\n }\n beginRefundRequestForProduct(_storeProduct: {\n storeProduct: PurchasesStoreProduct;\n }): Promise<{ refundRequestStatus: REFUND_REQUEST_STATUS }> {\n const mockResult = {\n refundRequestStatus: REFUND_REQUEST_STATUS.USER_CANCELLED,\n };\n return this.mockReturningFunctionIfEnabled('beginRefundRequestForProduct', mockResult);\n }\n\n showInAppMessages(_options?: { messageTypes?: IN_APP_MESSAGE_TYPE[] }): Promise<void> {\n return this.mockNonReturningFunctionIfEnabled('showInAppMessages');\n }\n\n isConfigured(): Promise<{ isConfigured: boolean }> {\n const mockResult = { isConfigured: true };\n return this.mockReturningFunctionIfEnabled('isConfigured', mockResult);\n }\n\n overridePreferredUILocale(_options: { locale: string | null }): Promise<void> {\n return this.mockNonReturningFunctionIfEnabled('overridePreferredUILocale');\n }\n\n getVirtualCurrencies(): Promise<{ virtualCurrencies: PurchasesVirtualCurrencies }> {\n return this.mockReturningFunctionIfEnabled('getVirtualCurrencies', {\n virtualCurrencies: this.mockEmptyVirtualCurrencies,\n });\n }\n\n invalidateVirtualCurrenciesCache(): Promise<void> {\n return this.mockNonReturningFunctionIfEnabled('invalidateVirtualCurrenciesCache');\n }\n\n getCachedVirtualCurrencies(): Promise<{ cachedVirtualCurrencies: PurchasesVirtualCurrencies | null }> {\n return this.mockReturningFunctionIfEnabled('getCachedVirtualCurrencies', {\n cachedVirtualCurrencies: this.mockEmptyVirtualCurrencies,\n });\n }\n\n trackCustomPaywallImpression(_options?: TrackCustomPaywallImpressionOptions): Promise<void> {\n return this.mockNonReturningFunctionIfEnabled('trackCustomPaywallImpression');\n }\n\n // Mock helpers\n\n private mockEmptyCustomerInfo: CustomerInfo = {\n entitlements: {\n all: {},\n active: {},\n verification: VERIFICATION_RESULT.NOT_REQUESTED,\n },\n activeSubscriptions: [],\n allPurchasedProductIdentifiers: [],\n latestExpirationDate: null,\n firstSeen: '2023-08-31T15:11:21.445Z',\n originalAppUserId: 'mock-web-user-id',\n requestDate: '2023-08-31T15:11:21.445Z',\n allExpirationDates: {},\n allPurchaseDates: {},\n originalApplicationVersion: null,\n originalPurchaseDate: null,\n managementURL: null,\n nonSubscriptionTransactions: [],\n subscriptionsByProductIdentifier: {},\n };\n\n private mockEmptyVirtualCurrencies: PurchasesVirtualCurrencies = {\n all: {},\n };\n\n private mockTransaction(productIdentifier: string): PurchasesStoreTransaction {\n return {\n productIdentifier: productIdentifier,\n purchaseDate: new Date().toISOString(),\n transactionIdentifier: '',\n purchaseToken: null,\n };\n }\n\n private mockNonReturningFunctionIfEnabled(functionName: string): Promise<void> {\n if (!this.shouldMockWebResults) {\n return Promise.reject(this.webNotSupportedErrorMessage);\n }\n console.log(`${functionName} called on web with mocking enabled. No-op`);\n return Promise.resolve();\n }\n\n private mockReturningFunctionIfEnabled<T>(functionName: string, returnValue: T): Promise<T> {\n if (!this.shouldMockWebResults) {\n return Promise.reject(this.webNotSupportedErrorMessage);\n }\n console.log(`${functionName} called on web with mocking enabled. Returning mocked value`);\n return Promise.resolve(returnValue);\n }\n}\n"]}
@@ -90,7 +90,7 @@ public class PurchasesPlugin: CAPPlugin, PurchasesDelegate, CAPBridgedPlugin {
90
90
  CAPPluginMethod(name: "trackCustomPaywallImpression", returnType: CAPPluginReturnNone),
91
91
  ]
92
92
  private let platformFlavor = "capacitor"
93
- private let platformVersion = "12.3.0"
93
+ private let platformVersion = "12.3.2"
94
94
 
95
95
  private let customerInfoKey = "customerInfo"
96
96
  private let transactionKey = "transaction"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@revenuecat/purchases-capacitor",
3
- "version": "12.3.0",
3
+ "version": "12.3.2",
4
4
  "description": "Capacitor in-app purchases and subscriptions made easy. Support for iOS and Android.",
5
5
  "main": "dist/esm/index.js",
6
6
  "module": "dist/esm/index.js",
@@ -29,6 +29,7 @@
29
29
  "native"
30
30
  ],
31
31
  "scripts": {
32
+ "prepare": "husky",
32
33
  "verify": "npm run verify:ios && npm run verify:android && npm run verify:web",
33
34
  "verify:ios": "xcodebuild -scheme RevenuecatPurchasesCapacitor -destination generic/platform=iOS && npm run verify:ios:cocoapods",
34
35
  "verify:ios:cocoapods": "cd ios/CocoapodsInstallationTest && pod install && xcodebuild -workspace CocoapodsInstallationTest.xcworkspace -scheme CocoapodsInstallationTest -destination 'generic/platform=iOS' CODE_SIGNING_ALLOWED=NO CODE_SIGNING_REQUIRED=NO CODE_SIGN_IDENTITY=\"\" build",
@@ -42,10 +43,19 @@
42
43
  "build": "npm run clean && npm run docgen && tsc",
43
44
  "clean": "rimraf ./dist",
44
45
  "watch": "tsc --watch",
46
+ "apitest": "npm run build && cd apitesters && npm install && tsc -p .",
45
47
  "prepublishOnly": "npm run build",
46
48
  "extract-api": "api-extractor run --local --verbose"
47
49
  },
50
+ "lint-staged": {
51
+ "*.{ts,js,java,html,css}": [
52
+ "eslint --fix",
53
+ "prettier --write --plugin=prettier-plugin-java"
54
+ ]
55
+ },
48
56
  "devDependencies": {
57
+ "husky": "^9.1.7",
58
+ "lint-staged": "^16.4.0",
49
59
  "@capacitor/android": "^8.0.0",
50
60
  "@capacitor/core": "^8.0.0",
51
61
  "@capacitor/docgen": "^0.3.1",
@@ -78,6 +88,6 @@
78
88
  }
79
89
  },
80
90
  "dependencies": {
81
- "@revenuecat/purchases-typescript-internal-esm": "17.52.0"
91
+ "@revenuecat/purchases-typescript-internal-esm": "17.55.1"
82
92
  }
83
93
  }