@namiml/web-sdk 1.0.0 → 1.2.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.
Files changed (77) hide show
  1. package/CHANGELOG.md +33 -2
  2. package/dist/components/ContextConsumer.d.ts +11 -0
  3. package/dist/components/ContextProvider.d.ts +45 -0
  4. package/dist/components/NamiElement.d.ts +10 -0
  5. package/dist/components/Paywall.d.ts +17 -0
  6. package/dist/components/TemplateComponent.d.ts +2 -0
  7. package/dist/components/containers/BackgroundContainer.d.ts +10 -0
  8. package/dist/components/containers/Container.d.ts +10 -0
  9. package/dist/components/containers/Content.d.ts +10 -0
  10. package/dist/components/containers/Footer.d.ts +10 -0
  11. package/dist/components/containers/Header.d.ts +11 -0
  12. package/dist/components/containers/ProductContainer.d.ts +10 -0
  13. package/dist/components/elements/Button.d.ts +11 -0
  14. package/dist/components/elements/Image.d.ts +9 -0
  15. package/dist/components/elements/SegmentPicker.d.ts +11 -0
  16. package/dist/components/elements/SegmentPickerItem.d.ts +15 -0
  17. package/dist/components/elements/Spacer.d.ts +9 -0
  18. package/dist/components/elements/Text.d.ts +27 -0
  19. package/dist/components/index.d.ts +30 -0
  20. package/dist/components/productDetails.d.ts +3 -0
  21. package/dist/components/styles/reset.d.ts +2 -0
  22. package/dist/components/utils/actionTap.d.ts +13 -0
  23. package/dist/components/utils/eventConst.d.ts +5 -0
  24. package/dist/components/utils/helpers.d.ts +17 -0
  25. package/dist/components/utils/iconMap.d.ts +1 -0
  26. package/dist/components/utils/impression.d.ts +4 -0
  27. package/dist/components/utils/products.d.ts +18 -0
  28. package/dist/components/utils/state.d.ts +13 -0
  29. package/dist/components/utils/styles.d.ts +21 -0
  30. package/dist/core/errors.d.ts +46 -0
  31. package/dist/core/withRetry.d.ts +1 -0
  32. package/dist/decorators/index.d.ts +2 -0
  33. package/dist/nami/api.d.ts +20 -0
  34. package/dist/nami/campaign.d.ts +47 -0
  35. package/dist/nami/customer.d.ts +91 -0
  36. package/dist/nami/emitter.d.ts +12 -0
  37. package/dist/nami/index.d.ts +9 -0
  38. package/dist/nami/namiRefs.d.ts +7 -0
  39. package/dist/nami/paywalls.d.ts +31 -0
  40. package/dist/nami/profile.d.ts +12 -0
  41. package/dist/nami/utils/purchase.d.ts +3 -0
  42. package/dist/nami-web.cjs +18 -20
  43. package/dist/nami-web.d.ts +193 -114
  44. package/dist/nami-web.js +18 -20
  45. package/dist/nami-web.mjs +18 -20
  46. package/dist/nami-web.umd.js +15 -17
  47. package/dist/repositories/campaignRule.repository.d.ts +13 -0
  48. package/dist/repositories/config.repository.d.ts +5 -0
  49. package/dist/repositories/device.repository.d.ts +10 -0
  50. package/dist/repositories/paywall.repository.d.ts +8 -0
  51. package/dist/repositories/products.repository.d.ts +6 -0
  52. package/dist/services/logger.service.d.ts +13 -0
  53. package/dist/services/session.service.d.ts +4 -0
  54. package/dist/services/storage.service.d.ts +61 -0
  55. package/dist/types/api.d.ts +28 -0
  56. package/dist/types/campaign.d.ts +21 -0
  57. package/dist/types/components/containers.d.ts +67 -0
  58. package/dist/types/components/elements.d.ts +79 -0
  59. package/dist/types/components/index.d.ts +117 -0
  60. package/dist/types/config.d.ts +43 -0
  61. package/dist/types/device.d.ts +35 -0
  62. package/dist/types/errors.d.ts +11 -0
  63. package/dist/types/languages.d.ts +1 -0
  64. package/dist/types/loglevel.d.ts +7 -0
  65. package/dist/types/paywall.d.ts +222 -0
  66. package/dist/types/products.d.ts +34 -0
  67. package/dist/types/profile.d.ts +20 -0
  68. package/dist/types/purchase.d.ts +45 -0
  69. package/dist/types/sku.d.ts +35 -0
  70. package/dist/types/utils.d.ts +1 -0
  71. package/dist/utils/config.d.ts +5 -0
  72. package/dist/utils/const.d.ts +1 -0
  73. package/dist/utils/device.d.ts +3 -0
  74. package/dist/utils/events.d.ts +30 -0
  75. package/dist/utils/fonts.d.ts +7 -0
  76. package/dist/utils/ssr-shim.d.ts +1 -0
  77. package/package.json +18 -7
@@ -0,0 +1,222 @@
1
+ import { CampaignRule } from "./campaign";
2
+ import { TComponent, TContainer } from "./components";
3
+ import { TButtonContainer, TCarouselSlidesState } from "./components/containers";
4
+ import { TSpacerComponent, TTextComponent } from "./components/elements";
5
+ import { TDeviceOrientation } from "./device";
6
+ import { NamiSKU, PaywallSKU } from "./sku";
7
+ import { NamiPurchase } from "./purchase";
8
+ import { Optional } from "./utils";
9
+ import { LaunchCampaignError } from "./errors";
10
+ export type TPaywallContext = TInitialState & {
11
+ paywallId: string;
12
+ livePaywalls: IPaywall[];
13
+ selectedPaywall: IPaywall | undefined;
14
+ campaignRules: CampaignRule[];
15
+ anySkuHasTrialOffer: boolean;
16
+ anySkuHasIntroOffer: boolean;
17
+ anySkuHasPromoOffer: boolean;
18
+ safeAreaTop: number;
19
+ slides?: TCarouselSlidesState;
20
+ currentPage: string;
21
+ fullScreenPresentation?: boolean;
22
+ isLoggedIn?: boolean;
23
+ darkMode?: boolean;
24
+ orientation: TDeviceOrientation;
25
+ focusedState: boolean;
26
+ platformId: string;
27
+ mediaList: {
28
+ [key: string]: any;
29
+ };
30
+ customer: {
31
+ [key: string]: any;
32
+ };
33
+ hasNotch: boolean;
34
+ skuItems: PaywallSKU[];
35
+ groups: {
36
+ id: string;
37
+ displayName: string;
38
+ ref: string;
39
+ }[];
40
+ currentGroupId: string;
41
+ selectedProducts: {
42
+ [currentGroupId: string]: string;
43
+ };
44
+ launch: TPaywallLaunchContext;
45
+ sku: {
46
+ [key: string]: any;
47
+ };
48
+ purchaseInProgress: boolean;
49
+ productBeingPurchased?: NamiSKU;
50
+ timeSpentOnPaywall?: number;
51
+ };
52
+ export type TPaywallLaunchContext = {
53
+ productGroups: string[];
54
+ customAttributes: {
55
+ [key: string]: any;
56
+ };
57
+ customObject?: {
58
+ [key: string]: any;
59
+ };
60
+ };
61
+ export type ProductGroup = {
62
+ id: string;
63
+ products: PaywallSKU[];
64
+ ref: string;
65
+ };
66
+ export interface IPaywall {
67
+ id: string;
68
+ name: string;
69
+ paywall_type: string;
70
+ sku_menus: ISkuMenu[];
71
+ template: TPaywallTemplate;
72
+ fonts: FontCollection;
73
+ }
74
+ export interface ISkuMenu {
75
+ id: string;
76
+ name: string;
77
+ display_name: string;
78
+ ref: string;
79
+ products: PaywallSKU[];
80
+ }
81
+ export interface IEntitlements {
82
+ id: string;
83
+ entitlement_ref_id: string;
84
+ name: string;
85
+ description: string | null;
86
+ type: string;
87
+ }
88
+ export interface IProductsWithComponents extends PaywallSKU {
89
+ components: TComponent;
90
+ }
91
+ export type FontCollection = {
92
+ [fontName: string]: FontDetails;
93
+ };
94
+ export type FontDetails = {
95
+ id: string;
96
+ family: string;
97
+ style: string;
98
+ file: string;
99
+ };
100
+ export type TPaywallTemplate = {
101
+ id: string;
102
+ orgs?: string | null;
103
+ org_id?: string;
104
+ changelog?: string;
105
+ userHasAccess?: boolean;
106
+ media?: {
107
+ [key: string]: string;
108
+ };
109
+ pages: TPages[];
110
+ ready?: boolean;
111
+ version: string | number;
112
+ codename: string;
113
+ doc_link: string;
114
+ thumbnail?: string;
115
+ skuContexts?: {
116
+ [skuId: string]: {
117
+ [key: string]: any;
118
+ };
119
+ };
120
+ initialState: TInitialState;
121
+ min_sdk_version: string;
122
+ };
123
+ export type TPages = {
124
+ name: string;
125
+ header: Array<TButtonContainer | TSpacerComponent | TTextComponent | TContainer>;
126
+ contentContainer: TContainer | null;
127
+ footer: TComponent[] | null;
128
+ backgroundContainer: TContainer | null;
129
+ };
130
+ export type TInitialState = {
131
+ slides?: TCarouselSlidesState;
132
+ currentPage: string;
133
+ fullScreenPresentation?: boolean;
134
+ isLoggedIn?: boolean;
135
+ [key: string]: any;
136
+ groups: {
137
+ id: string;
138
+ displayName: string;
139
+ ref: string;
140
+ }[];
141
+ currentGroupId: string;
142
+ selectedProducts: {
143
+ [currentGroupId: string]: string;
144
+ };
145
+ };
146
+ export type TPaywallMedia = {
147
+ id: string;
148
+ content: string | null;
149
+ paywall: string;
150
+ name: string;
151
+ };
152
+ export type TProductGroup = {
153
+ id: string;
154
+ display_name: string;
155
+ display_order: number;
156
+ default: boolean;
157
+ paywall: string;
158
+ ref: string;
159
+ };
160
+ export type TMediaTypes = {
161
+ [name: string]: Optional<TPaywallMedia, 'id'>;
162
+ };
163
+ export type TOffer = {
164
+ freeTrialEligible: boolean;
165
+ introEligible: boolean;
166
+ promoEligible: boolean;
167
+ };
168
+ export declare enum PaywallManagerEvents {
169
+ REGISTER_BUY_SKU = "RegisterBuySKU",
170
+ PAYWALL_CLOSE_REQUESTED = "PaywallCloseRequested",
171
+ PAYWALL_SIGNIN_REQUESTED = "PaywallSignInRequested",
172
+ PAYWALL_RESTORE_REQUESTED = "PaywallRestoreRequested",
173
+ PAYWALL_DEEPLINK_ACTION = "PaywallDeeplinkAction"
174
+ }
175
+ export declare enum NamiPaywallAction {
176
+ BUY_SKU = "BUY_SKU",
177
+ SELECT_SKU = "SELECT_SKU",
178
+ RESTORE_PURCHASES = "RESTORE_PURCHASES",
179
+ SIGN_IN = "SIGN_IN",
180
+ CLOSE_PAYWALL = "CLOSE_PAYWALL",
181
+ SHOW_PAYWALL = "SHOW_PAYWALL",
182
+ PURCHASE_SELECTED_SKU = "PURCHASE_SELECTED_SKU",
183
+ PURCHASE_SUCCESS = "PURCHASE_SUCCESS",
184
+ PURCHASE_FAILED = "PURCHASE_FAILED",
185
+ PURCHASE_CANCELLED = "PURCHASE_CANCELLED",
186
+ PURCHASE_PENDING = "PURCHASE_PENDING",
187
+ PURCHASE_UNKNOWN = "PURCHASE_UNKNOWN",
188
+ PURCHASE_DEFERRED = "PURCHASE_DEFERRED",
189
+ EMPTY = ""
190
+ }
191
+ export type NamiPaywallEvent = {
192
+ action: NamiPaywallAction;
193
+ sku?: NamiSKU;
194
+ campaignId?: string;
195
+ campaignName?: string;
196
+ campaignType?: string;
197
+ campaignLabel?: string;
198
+ campaignUrl?: string;
199
+ paywallId?: string;
200
+ paywallName?: string;
201
+ componentChange?: NamiPaywallComponentChange;
202
+ segmentId?: string;
203
+ externalSegmentId?: string;
204
+ deeplinkUrl?: string;
205
+ purchaseError?: string;
206
+ purchases?: NamiPurchase[];
207
+ timeSpentOnPaywall?: number;
208
+ };
209
+ export type NamiPaywallComponentChange = {
210
+ id?: string;
211
+ name?: string;
212
+ };
213
+ export type PaywallActionEvent = {
214
+ action: NamiPaywallAction;
215
+ sku?: NamiSKU;
216
+ timeSpentOnPaywall?: number;
217
+ componentChange?: NamiPaywallComponentChange;
218
+ purchaseError?: string;
219
+ purchases?: NamiPurchase[];
220
+ };
221
+ export type NamiPaywallActionHandler = (event: NamiPaywallEvent) => void;
222
+ export type PaywallResultHandler = (success: boolean, error?: LaunchCampaignError) => void;
@@ -0,0 +1,34 @@
1
+ export interface NamiProductDetails {
2
+ name?: string;
3
+ description?: string;
4
+ product_ref_id: string;
5
+ product_type: ProductType;
6
+ subscription_period?: NamiSubscriptionPeriod;
7
+ offers: NamiProductOffer[];
8
+ }
9
+ export type NamiProductOffer = NamiOfferPrice & {
10
+ offer_ref_id?: string;
11
+ offer_type: 'promo' | 'default';
12
+ promo_period?: NamiOfferPeriod;
13
+ promo_price?: NamiOfferPrice;
14
+ };
15
+ type NamiOfferPrice = {
16
+ price: number;
17
+ currency: string;
18
+ };
19
+ export type NamiSubscriptionPeriod = {
20
+ type: SubscriptionInterval;
21
+ count: number;
22
+ period_start?: number;
23
+ period_end?: number;
24
+ };
25
+ type NamiOfferPeriod = NamiSubscriptionPeriod;
26
+ export type SubscriptionInterval = 'day' | 'week' | 'month' | 'year' | 'unknown';
27
+ export type ProductType = 'subscription' | 'one_time_purchase' | 'unknown';
28
+ export type PricingPhase = {
29
+ priceAmountMicros: number;
30
+ priceCurrencyCode: string;
31
+ billingPeriod: string;
32
+ formattedPrice: string;
33
+ };
34
+ export {};
@@ -0,0 +1,20 @@
1
+ export type NamiProfile = {
2
+ externalId: string;
3
+ };
4
+ /**
5
+ * Represents the possible actions that can be performed on the account state.
6
+ */
7
+ export declare enum AccountStateAction {
8
+ LOGIN = "login",
9
+ LOGOUT = "logout",
10
+ ADVERTISING_ID_SET = "advertising_id_set",
11
+ ADVERTISING_ID_CLEARED = "advertising_id_cleared",
12
+ VENDOR_ID_SET = "vendor_id_set",
13
+ VENDOR_ID_CLEARED = "vendor_id_cleared",
14
+ CUSTOMER_DATA_PLATFORM_ID_SET = "customer_data_platform_id_set",
15
+ CUSTOMER_DATA_PLATFORM_ID_CLEARED = "customer_data_platform_id_cleared",
16
+ ANONYMOUS_MODE_ON = "anonymous_mode_on",
17
+ ANONYMOUS_MODE_OFF = "anonymous_mode_off",
18
+ NAMI_DEVICE_ID_SET = "nami_device_id_set",
19
+ NAMI_DEVICE_ID_CLEARED = "nami_device_id_cleared"
20
+ }
@@ -0,0 +1,45 @@
1
+ import { NamiSKU } from "./sku";
2
+ export type NamiPurchaseSource = "campaign" | "marketplace" | "unknown";
3
+ export type NamiPurchaseState = "purchased" | "failed" | "cancelled" | "pending" | "unknown";
4
+ export interface Purchase {
5
+ orderId: string;
6
+ productId: string;
7
+ purchaseTime: number;
8
+ purchaseState: NamiPurchaseState;
9
+ purchaseToken: string;
10
+ autoRenewing: boolean;
11
+ acknowledged: boolean;
12
+ sku: NamiSKU;
13
+ type: "inapp" | "subs" | "unknown";
14
+ }
15
+ export type NamiPurchase = {
16
+ purchase_initiated_timestamp: number;
17
+ purchase_source: NamiPurchaseSource;
18
+ sku_id: string;
19
+ sku_UUID: string;
20
+ transaction_identifier?: string;
21
+ purchase_token?: string;
22
+ };
23
+ export type TransactionRequest = {
24
+ quantity?: string;
25
+ currency?: string;
26
+ purchase_env: string;
27
+ amount: string;
28
+ impression?: string;
29
+ session: string;
30
+ original_transaction_id?: string;
31
+ transaction_id?: string;
32
+ source?: string;
33
+ sku?: string;
34
+ localized_description?: string;
35
+ subscription_interval?: string;
36
+ subscription_interval_count: number;
37
+ purchase_date?: string;
38
+ original_purchase_date?: string;
39
+ app_env?: string;
40
+ };
41
+ export type PurchaseValidationRequest = {
42
+ app_env: string;
43
+ payload: string;
44
+ sku: string;
45
+ };
@@ -0,0 +1,35 @@
1
+ import { IEntitlements } from "./paywall";
2
+ import { NamiProductDetails, ProductType } from "./products";
3
+ export interface SKU {
4
+ id: string;
5
+ name: string;
6
+ sku_ref_id: string;
7
+ entitlements: IEntitlements[];
8
+ sku_type: ProductType;
9
+ }
10
+ export interface PaywallSKU extends SKU {
11
+ display_text?: string;
12
+ sub_display_text?: string;
13
+ featured?: boolean;
14
+ variables?: {
15
+ [key: string]: any;
16
+ };
17
+ product_details?: NamiProductDetails | null;
18
+ }
19
+ export type NamiSKU = {
20
+ id: string;
21
+ name?: string;
22
+ skuId: string;
23
+ appleProduct?: AppleProduct;
24
+ googleProduct?: GoogleProduct;
25
+ amazonProduct?: AmazonProduct;
26
+ type: ProductType;
27
+ promoId?: string | null;
28
+ promoToken?: string | null;
29
+ productDetails?: NamiProductDetails | null;
30
+ entitlements: IEntitlements[];
31
+ };
32
+ type AppleProduct = unknown;
33
+ type GoogleProduct = unknown;
34
+ type AmazonProduct = unknown;
35
+ export {};
@@ -0,0 +1 @@
1
+ export type Optional<T, K extends keyof T> = Pick<Partial<T>, K> & Omit<T, K>;
@@ -0,0 +1,5 @@
1
+ import { ExtendedPlatformInfo } from "src/types/config";
2
+ export declare const getBaseUrl: (namiCommands?: string[]) => string;
3
+ export declare const getExtendedClientInfo: (namiCommands: string[]) => ExtendedPlatformInfo;
4
+ export declare const hasCapability: (capability: string) => boolean;
5
+ export declare const hasPurchaseManagement: (messagePrefix?: string) => boolean;
@@ -0,0 +1 @@
1
+ export declare const NAMI_SDK_VERSION: string, PRODUCTION: string, DEVELOPMENT: string, PLATFORM_ID_REQUIRED: string, DEVICE_ID_REQUIRED: string, EXTERNAL_ID_REQUIRED: string, SDK_NOT_INITIALIZED: string, CAMPAIGN_NOT_AVAILABLE: string, UNABLE_TO_UPDATE_CDP_ID: string, ANONYMOUS_MODE_ALREADY_ON: string, ANONYMOUS_MODE_ALREADY_OFF: string, ANONYMOUS_MODE_LOGIN_NOT_ALLOWED: string, SESSION_REQUIRED: string, AUTH_DEVICE: string, NAMI_CONFIGURATION: string, NAMI_PROFILE: string, API_CONFIG: string, API_CAMPAIGN_RULES: string, API_PAYWALLS: string, API_PRODUCTS: string, INITIAL_APP_CONFIG: string, INITIAL_CAMPAIGN_RULES: string, INITIAL_PAYWALLS: string, INITIAL_PRODUCTS: string, CUSTOMER_ATTRIBUTES_KEY_PREFIX: string, ANONYMOUS_MODE: string, KEY_SESSION_COUNTER: string, INITIAL_SESSION_COUNTER_VALUE: number, NAMI_LAST_IMPRESSION_ID: string, NAMI_SESSION_ID: string, API_VERSION: any, BASE_URL_PATH: string, BASE_URL: string, BASE_STAGING_URL: string, CUSTOM_HOST_PREFIX: string, USE_STAGING_API: string, EXTENDED_CLIENT_INFO_PREFIX: string, EXTENDED_CLIENT_INFO_DELIMITER: string, EXTENDED_PLATFORM: string, EXTENDED_PLATFORM_VERSION: string, API_MAX_CALLS_LIMIT: number, API_RETRY_DELAY_SEC: number, DEVICE_API_TIMEOUT_LIMIT: number, STATUS_SUCCESS: number, STATUS_BAD_REQUEST: number, STATUS_NOT_FOUND: number, STATUS_INTERNAL_SERVER_ERROR: number, INITIAL_SUCCESS: string, RECONFIG_SUCCESS: string, ALREADY_CONFIGURED: string, AVAILABLE_CAMPAIGNS_CHANGED: string, PAYWALL_ACTION_EVENT: string, SKU_TEXT_REGEX: RegExp, VAR_REGEX: RegExp, CORS_PROXY_URL: string, CORS_PROXY_URL_LOCAL: string;
@@ -0,0 +1,3 @@
1
+ import { DevicePayload, TDevice } from "src/types/device";
2
+ export declare const getDeviceData: (namiCommands?: string[]) => DevicePayload;
3
+ export declare const getDeviceFormFactor: () => TDevice;
@@ -0,0 +1,30 @@
1
+ export function once(emitter: any, name: any): Promise<any>;
2
+ export default EventEmitter;
3
+ declare function EventEmitter(): void;
4
+ declare class EventEmitter {
5
+ _events: any;
6
+ _eventsCount: number | undefined;
7
+ _maxListeners: number | undefined;
8
+ setMaxListeners(n: any): this;
9
+ getMaxListeners(): any;
10
+ emit(type: any, ...args: any[]): boolean;
11
+ addListener(type: any, listener: any): any;
12
+ on: any;
13
+ prependListener(type: any, listener: any): any;
14
+ once(type: any, listener: any): this;
15
+ prependOnceListener(type: any, listener: any): this;
16
+ removeListener(type: any, listener: any): this;
17
+ off: any;
18
+ removeAllListeners(type: any, ...args: any[]): this;
19
+ listeners(type: any): any[];
20
+ rawListeners(type: any): any[];
21
+ listenerCount: typeof listenerCount;
22
+ eventNames(): any;
23
+ }
24
+ declare namespace EventEmitter {
25
+ export { EventEmitter };
26
+ export let defaultMaxListeners: number;
27
+ export function init(): void;
28
+ export function listenerCount(emitter: any, type: any): any;
29
+ }
30
+ declare function listenerCount(type: any): any;
@@ -0,0 +1,7 @@
1
+ import { FontDetails } from "src/types/paywall";
2
+ export declare function prepareAndLoadFonts(fontsObject: {
3
+ [key: string]: any;
4
+ }): Promise<FontFaceSet>;
5
+ export declare const loadFonts: (fonts: FontDetails[]) => Promise<FontFaceSet>;
6
+ export declare function buildFontFaceFamily(font: FontDetails): string;
7
+ export declare function sanitizeFontName(value: string): string;
@@ -0,0 +1 @@
1
+ export {};
package/package.json CHANGED
@@ -1,14 +1,14 @@
1
1
  {
2
2
  "name": "@namiml/web-sdk",
3
3
  "type": "module",
4
- "version": "1.0.0",
5
- "source": "src/index.ts",
4
+ "version": "1.2.0",
5
+ "source": "src/nami-web.ts",
6
6
  "description": "Nami Web SDK makes subscriptions & in-app purchases easy, with powerful built-in paywalls and A/B testing",
7
7
  "scripts": {
8
8
  "clear-test-cache": "jest --clearCache",
9
9
  "test": "yarn clear-test-cache && jest --coverage -i --forceExit",
10
- "build-sdk": "rm -rf dist && tsc && rollup -c",
11
- "watch-modern-sdk": "microbundle --tsconfig tsconfig.json --no-sourcemap --output ./dist/nami.mjs --watch --no-compress --format modern --define NAMI_SDK_ENV='development'",
10
+ "build-sdk": "rm -rf dist && rollup -c",
11
+ "watch": "microbundle --tsconfig tsconfig.dev.json --output ./dist/nami-web.mjs --watch --no-compress --format modern --define NAMI_SDK_ENV='development'",
12
12
  "build:dev": "yarn build-sdk --environment NAMI_SDK_ENV:development",
13
13
  "build:prod": "yarn build-sdk --environment NAMI_SDK_ENV:production",
14
14
  "react-dev": "yarn build:dev && yarn copy-react && cd examples/react-demo && yarn start",
@@ -63,7 +63,6 @@
63
63
  "@types/jest": "^29.5.12",
64
64
  "@types/lodash-es": "^4.17.4",
65
65
  "eslint": "^9.2.0",
66
- "globals": "^15.1.0",
67
66
  "jest": "^29.7.0",
68
67
  "jest-environment-jsdom": "^29.7.0",
69
68
  "jest-fetch-mock": "^3.0.3",
@@ -75,13 +74,25 @@
75
74
  "ts-jest": "^29.1.2",
76
75
  "ts-node": "^10.9.2",
77
76
  "typescript": "^5.4.5",
78
- "typescript-eslint": "^7.8.0"
77
+ "typescript-eslint": "^7.8.0",
78
+ "wrangler": "^3.66.0"
79
79
  },
80
80
  "dependencies": {
81
+ "@lit-labs/ssr-dom-shim": "^1.2.0",
81
82
  "bowser": "^2.11.0",
82
83
  "lit": "^3.1.3",
83
84
  "lodash-es": "^4.17.21",
84
85
  "marked": "^12.0.2"
85
86
  },
86
- "homepage": "https://www.namiml.com"
87
+ "homepage": "https://www.namiml.com",
88
+ "bugs": {
89
+ "url": "https://github.com/namiml/nami-web-sdk/issues"
90
+ },
91
+ "repository": {
92
+ "type": "git",
93
+ "url": "https://github.com/namiml/nami-web-sdk.git"
94
+ },
95
+ "resolutions": {
96
+ "@esm-bundle/chai": "4.3.4-fix.0"
97
+ }
87
98
  }