native-update 1.1.3 → 1.1.4

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/cli/index.js CHANGED
@@ -38,9 +38,11 @@ ${chalk.bold('Documentation:')}
38
38
  });
39
39
 
40
40
  // Bundle Management Commands
41
- program
41
+ const bundleCmd = program
42
42
  .command('bundle')
43
- .description('Bundle management commands')
43
+ .description('Bundle management commands');
44
+
45
+ bundleCmd
44
46
  .command('create <webDir>')
45
47
  .alias('create-bundle')
46
48
  .description(`Create an update bundle from your web directory
@@ -63,8 +65,7 @@ ${chalk.bold('Examples:')}
63
65
  await createBundle(webDir, options);
64
66
  });
65
67
 
66
- program
67
- .command('bundle')
68
+ bundleCmd
68
69
  .command('sign <bundlePath>')
69
70
  .alias('sign-bundle')
70
71
  .description(`Sign an update bundle with your private key
@@ -82,8 +83,7 @@ ${chalk.bold('Examples:')}
82
83
  await signBundle(bundlePath, options);
83
84
  });
84
85
 
85
- program
86
- .command('bundle')
86
+ bundleCmd
87
87
  .command('verify <bundlePath>')
88
88
  .alias('verify-bundle')
89
89
  .description(`Verify a signed bundle with public key
@@ -97,9 +97,11 @@ ${chalk.bold('Example:')}
97
97
  });
98
98
 
99
99
  // Key Management Commands
100
- program
100
+ const keysCmd = program
101
101
  .command('keys')
102
- .description('Key management commands')
102
+ .description('Key management commands');
103
+
104
+ keysCmd
103
105
  .command('generate')
104
106
  .alias('generate-keys')
105
107
  .description(`Generate a new key pair for bundle signing
@@ -122,9 +124,11 @@ ${chalk.bold('Examples:')}
122
124
  });
123
125
 
124
126
  // Server Commands
125
- program
127
+ const serverCmd = program
126
128
  .command('server')
127
- .description('Development server commands')
129
+ .description('Development server commands');
130
+
131
+ serverCmd
128
132
  .command('start')
129
133
  .alias('start-server')
130
134
  .description('Start a local update server for testing')
@@ -158,9 +162,11 @@ ${chalk.bold('Examples:')}
158
162
  });
159
163
 
160
164
  // Backend Commands
161
- program
165
+ const backendCmd = program
162
166
  .command('backend')
163
- .description('Backend template commands')
167
+ .description('Backend template commands');
168
+
169
+ backendCmd
164
170
  .command('create <type>')
165
171
  .alias('create-backend')
166
172
  .description(`Create a backend template (express, firebase, vercel)
@@ -183,9 +189,11 @@ ${chalk.bold('Examples:')}
183
189
  });
184
190
 
185
191
  // Config Commands
186
- program
192
+ const configCmd = program
187
193
  .command('config')
188
- .description('Configuration commands')
194
+ .description('Configuration commands');
195
+
196
+ configCmd
189
197
  .command('check')
190
198
  .description('Validate your native-update configuration')
191
199
  .action(async () => {
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Centralized event emitter for the Native Update plugin
3
+ */
4
+ export declare class EventEmitter {
5
+ private static instance;
6
+ private listeners;
7
+ private constructor();
8
+ static getInstance(): EventEmitter;
9
+ /**
10
+ * Add a listener for an event
11
+ */
12
+ addListener(eventName: string, listener: (data: any) => void): () => void;
13
+ /**
14
+ * Emit an event to all listeners
15
+ */
16
+ emit(eventName: string, data: any): void;
17
+ /**
18
+ * Remove all listeners for a specific event
19
+ */
20
+ removeListeners(eventName: string): void;
21
+ /**
22
+ * Remove all listeners
23
+ */
24
+ removeAllListeners(): void;
25
+ /**
26
+ * Get the number of listeners for an event
27
+ */
28
+ listenerCount(eventName: string): number;
29
+ /**
30
+ * Get all event names that have listeners
31
+ */
32
+ eventNames(): string[];
33
+ }
@@ -0,0 +1,75 @@
1
+ /**
2
+ * Centralized event emitter for the Native Update plugin
3
+ */
4
+ export class EventEmitter {
5
+ constructor() {
6
+ this.listeners = new Map();
7
+ }
8
+ static getInstance() {
9
+ if (!EventEmitter.instance) {
10
+ EventEmitter.instance = new EventEmitter();
11
+ }
12
+ return EventEmitter.instance;
13
+ }
14
+ /**
15
+ * Add a listener for an event
16
+ */
17
+ addListener(eventName, listener) {
18
+ if (!this.listeners.has(eventName)) {
19
+ this.listeners.set(eventName, new Set());
20
+ }
21
+ this.listeners.get(eventName).add(listener);
22
+ // Return remove function
23
+ return () => {
24
+ const listeners = this.listeners.get(eventName);
25
+ if (listeners) {
26
+ listeners.delete(listener);
27
+ if (listeners.size === 0) {
28
+ this.listeners.delete(eventName);
29
+ }
30
+ }
31
+ };
32
+ }
33
+ /**
34
+ * Emit an event to all listeners
35
+ */
36
+ emit(eventName, data) {
37
+ const listeners = this.listeners.get(eventName);
38
+ if (listeners) {
39
+ listeners.forEach(listener => {
40
+ try {
41
+ listener(data);
42
+ }
43
+ catch (error) {
44
+ console.error(`Error in event listener for ${eventName}:`, error);
45
+ }
46
+ });
47
+ }
48
+ }
49
+ /**
50
+ * Remove all listeners for a specific event
51
+ */
52
+ removeListeners(eventName) {
53
+ this.listeners.delete(eventName);
54
+ }
55
+ /**
56
+ * Remove all listeners
57
+ */
58
+ removeAllListeners() {
59
+ this.listeners.clear();
60
+ }
61
+ /**
62
+ * Get the number of listeners for an event
63
+ */
64
+ listenerCount(eventName) {
65
+ var _a;
66
+ return ((_a = this.listeners.get(eventName)) === null || _a === void 0 ? void 0 : _a.size) || 0;
67
+ }
68
+ /**
69
+ * Get all event names that have listeners
70
+ */
71
+ eventNames() {
72
+ return Array.from(this.listeners.keys());
73
+ }
74
+ }
75
+ //# sourceMappingURL=event-emitter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-emitter.js","sourceRoot":"","sources":["../../../src/core/event-emitter.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,OAAO,YAAY;IAIvB;QAFQ,cAAS,GAA0C,IAAI,GAAG,EAAE,CAAC;IAE9C,CAAC;IAExB,MAAM,CAAC,WAAW;QAChB,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;YAC3B,YAAY,CAAC,QAAQ,GAAG,IAAI,YAAY,EAAE,CAAC;QAC7C,CAAC;QACD,OAAO,YAAY,CAAC,QAAQ,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,WAAW,CACT,SAAiB,EACjB,QAA6B;QAE7B,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YACnC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;QAC3C,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAE7C,yBAAyB;QACzB,OAAO,GAAG,EAAE;YACV,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAChD,IAAI,SAAS,EAAE,CAAC;gBACd,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC3B,IAAI,SAAS,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;oBACzB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBACnC,CAAC;YACH,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,IAAI,CAAC,SAAiB,EAAE,IAAS;QAC/B,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAChD,IAAI,SAAS,EAAE,CAAC;YACd,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAC3B,IAAI,CAAC;oBACH,QAAQ,CAAC,IAAI,CAAC,CAAC;gBACjB,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,CAAC,KAAK,CAAC,+BAA+B,SAAS,GAAG,EAAE,KAAK,CAAC,CAAC;gBACpE,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED;;OAEG;IACH,eAAe,CAAC,SAAiB;QAC/B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACnC,CAAC;IAED;;OAEG;IACH,kBAAkB;QAChB,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,SAAiB;;QAC7B,OAAO,CAAA,MAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,0CAAE,IAAI,KAAI,CAAC,CAAC;IAClD,CAAC;IAED;;OAEG;IACH,UAAU;QACR,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;IAC3C,CAAC;CACF"}
@@ -4,6 +4,8 @@ import { SecurityValidator } from './security';
4
4
  import { BundleManager } from '../live-update/bundle-manager';
5
5
  import { DownloadManager } from '../live-update/download-manager';
6
6
  import { VersionManager } from '../live-update/version-manager';
7
+ import { AppUpdateManager } from '../app-update/app-update-manager';
8
+ import { EventEmitter } from './event-emitter';
7
9
  import { PluginInitConfig } from '../definitions';
8
10
  /**
9
11
  * Central manager for all plugin components
@@ -13,9 +15,11 @@ export declare class PluginManager {
13
15
  private readonly configManager;
14
16
  private readonly logger;
15
17
  private readonly securityValidator;
18
+ private readonly eventEmitter;
16
19
  private bundleManager;
17
20
  private downloadManager;
18
21
  private versionManager;
22
+ private appUpdateManager;
19
23
  private initialized;
20
24
  private constructor();
21
25
  static getInstance(): PluginManager;
@@ -55,6 +59,14 @@ export declare class PluginManager {
55
59
  * Get security validator
56
60
  */
57
61
  getSecurityValidator(): SecurityValidator;
62
+ /**
63
+ * Get app update manager
64
+ */
65
+ getAppUpdateManager(): AppUpdateManager;
66
+ /**
67
+ * Get event emitter
68
+ */
69
+ getEventEmitter(): EventEmitter;
58
70
  /**
59
71
  * Reset plugin state
60
72
  */
@@ -63,4 +75,8 @@ export declare class PluginManager {
63
75
  * Clean up resources
64
76
  */
65
77
  cleanup(): Promise<void>;
78
+ /**
79
+ * Setup event bridge between AppUpdateManager and central EventEmitter
80
+ */
81
+ private setupAppUpdateEventBridge;
66
82
  }
@@ -6,6 +6,8 @@ import { SecurityValidator } from './security';
6
6
  import { BundleManager } from '../live-update/bundle-manager';
7
7
  import { DownloadManager } from '../live-update/download-manager';
8
8
  import { VersionManager } from '../live-update/version-manager';
9
+ import { AppUpdateManager } from '../app-update/app-update-manager';
10
+ import { EventEmitter } from './event-emitter';
9
11
  import { NativeUpdateError, ErrorCode } from './errors';
10
12
  /**
11
13
  * Central manager for all plugin components
@@ -15,10 +17,12 @@ export class PluginManager {
15
17
  this.bundleManager = null;
16
18
  this.downloadManager = null;
17
19
  this.versionManager = null;
20
+ this.appUpdateManager = null;
18
21
  this.initialized = false;
19
22
  this.configManager = ConfigManager.getInstance();
20
23
  this.logger = Logger.getInstance();
21
24
  this.securityValidator = SecurityValidator.getInstance();
25
+ this.eventEmitter = EventEmitter.getInstance();
22
26
  }
23
27
  static getInstance() {
24
28
  if (!PluginManager.instance) {
@@ -30,6 +34,7 @@ export class PluginManager {
30
34
  * Initialize the plugin with configuration
31
35
  */
32
36
  async initialize(config) {
37
+ var _a, _b;
33
38
  if (this.initialized) {
34
39
  this.logger.warn('Plugin already initialized');
35
40
  return;
@@ -51,6 +56,20 @@ export class PluginManager {
51
56
  await this.downloadManager.initialize();
52
57
  this.versionManager = new VersionManager();
53
58
  await this.versionManager.initialize();
59
+ this.appUpdateManager = new AppUpdateManager({
60
+ serverUrl: config.serverUrl || config.baseUrl || '',
61
+ channel: config.channel || 'production',
62
+ autoCheck: (_a = config.autoCheck) !== null && _a !== void 0 ? _a : true,
63
+ autoUpdate: (_b = config.autoUpdate) !== null && _b !== void 0 ? _b : false,
64
+ updateStrategy: config.updateStrategy,
65
+ publicKey: config.publicKey,
66
+ requireSignature: config.requireSignature,
67
+ checksumAlgorithm: config.checksumAlgorithm,
68
+ checkInterval: config.checkInterval,
69
+ security: config.security,
70
+ });
71
+ // Wire up app update manager events to central event emitter
72
+ this.setupAppUpdateEventBridge();
54
73
  this.initialized = true;
55
74
  this.logger.info('Plugin initialized successfully');
56
75
  }
@@ -112,6 +131,19 @@ export class PluginManager {
112
131
  getSecurityValidator() {
113
132
  return this.securityValidator;
114
133
  }
134
+ /**
135
+ * Get app update manager
136
+ */
137
+ getAppUpdateManager() {
138
+ this.ensureInitialized();
139
+ return this.appUpdateManager;
140
+ }
141
+ /**
142
+ * Get event emitter
143
+ */
144
+ getEventEmitter() {
145
+ return this.eventEmitter;
146
+ }
115
147
  /**
116
148
  * Reset plugin state
117
149
  */
@@ -131,7 +163,10 @@ export class PluginManager {
131
163
  this.bundleManager = null;
132
164
  this.downloadManager = null;
133
165
  this.versionManager = null;
166
+ this.appUpdateManager = null;
134
167
  this.initialized = false;
168
+ // Clear all event listeners
169
+ this.eventEmitter.removeAllListeners();
135
170
  this.logger.info('Plugin reset complete');
136
171
  }
137
172
  /**
@@ -149,5 +184,20 @@ export class PluginManager {
149
184
  }
150
185
  this.logger.info('Cleanup complete');
151
186
  }
187
+ /**
188
+ * Setup event bridge between AppUpdateManager and central EventEmitter
189
+ */
190
+ setupAppUpdateEventBridge() {
191
+ if (!this.appUpdateManager)
192
+ return;
193
+ // Bridge appUpdateStateChanged events
194
+ this.appUpdateManager.addListener('appUpdateStateChanged', (event) => {
195
+ this.eventEmitter.emit('appUpdateStateChanged', event);
196
+ });
197
+ // Bridge appUpdateProgress events
198
+ this.appUpdateManager.addListener('appUpdateProgress', (event) => {
199
+ this.eventEmitter.emit('appUpdateProgress', event);
200
+ });
201
+ }
152
202
  }
153
203
  //# sourceMappingURL=plugin-manager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-manager.js","sourceRoot":"","sources":["../../../src/core/plugin-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin-manager.js","sourceRoot":"","sources":["../../../src/core/plugin-manager.ts"],"names":[],"mappings":"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"}
@@ -497,6 +497,37 @@ export interface BackgroundUpdateNotificationEvent {
497
497
  version?: string;
498
498
  action?: 'shown' | 'tapped' | 'dismissed';
499
499
  }
500
+ /**
501
+ * App Update Events
502
+ */
503
+ export interface AppUpdateStateChangedEvent {
504
+ status: InstallStatus;
505
+ installErrorCode?: number;
506
+ }
507
+ export interface AppUpdateProgressEvent {
508
+ percent: number;
509
+ bytesDownloaded: number;
510
+ totalBytes: number;
511
+ }
512
+ export interface AppUpdateAvailableEvent {
513
+ currentVersion: string;
514
+ availableVersion: string;
515
+ updatePriority: number;
516
+ updateSize?: number;
517
+ releaseNotes?: string[];
518
+ storeUrl?: string;
519
+ }
520
+ export interface AppUpdateReadyEvent {
521
+ message: string;
522
+ }
523
+ export interface AppUpdateFailedEvent {
524
+ error: string;
525
+ code: string;
526
+ }
527
+ export interface AppUpdateNotificationClickedEvent {
528
+ }
529
+ export interface AppUpdateInstallClickedEvent {
530
+ }
500
531
  /**
501
532
  * Plugin Events
502
533
  */
@@ -520,6 +551,34 @@ export interface NativeUpdateListeners {
520
551
  * Listen for background update notifications
521
552
  */
522
553
  addListener(eventName: 'backgroundUpdateNotification', listenerFunc: (event: BackgroundUpdateNotificationEvent) => void): Promise<PluginListenerHandle>;
554
+ /**
555
+ * Listen for app update state changes
556
+ */
557
+ addListener(eventName: 'appUpdateStateChanged', listenerFunc: (event: AppUpdateStateChangedEvent) => void): Promise<PluginListenerHandle>;
558
+ /**
559
+ * Listen for app update progress
560
+ */
561
+ addListener(eventName: 'appUpdateProgress', listenerFunc: (event: AppUpdateProgressEvent) => void): Promise<PluginListenerHandle>;
562
+ /**
563
+ * Listen for app update available
564
+ */
565
+ addListener(eventName: 'appUpdateAvailable', listenerFunc: (event: AppUpdateAvailableEvent) => void): Promise<PluginListenerHandle>;
566
+ /**
567
+ * Listen for app update ready
568
+ */
569
+ addListener(eventName: 'appUpdateReady', listenerFunc: (event: AppUpdateReadyEvent) => void): Promise<PluginListenerHandle>;
570
+ /**
571
+ * Listen for app update failed
572
+ */
573
+ addListener(eventName: 'appUpdateFailed', listenerFunc: (event: AppUpdateFailedEvent) => void): Promise<PluginListenerHandle>;
574
+ /**
575
+ * Listen for app update notification clicked
576
+ */
577
+ addListener(eventName: 'appUpdateNotificationClicked', listenerFunc: (event: AppUpdateNotificationClickedEvent) => void): Promise<PluginListenerHandle>;
578
+ /**
579
+ * Listen for app update install clicked
580
+ */
581
+ addListener(eventName: 'appUpdateInstallClicked', listenerFunc: (event: AppUpdateInstallClickedEvent) => void): Promise<PluginListenerHandle>;
523
582
  /**
524
583
  * Remove all listeners
525
584
  */
@@ -1,5 +1,5 @@
1
1
  export { NativeUpdate } from './plugin';
2
- export type { NativeUpdatePlugin, NativeUpdateCombinedPlugin, NativeUpdateListeners, LiveUpdatePlugin, AppUpdatePlugin, AppReviewPlugin, PluginConfig, UpdateConfig, LiveUpdateConfig, AppUpdateConfig, AppReviewConfig, BundleInfo, BundleStatus, UpdateStrategy, InstallMode, DownloadOptions, DownloadProgressEvent, SyncOptions, SyncResult, DeleteOptions, LatestVersion, ValidateOptions, ValidationResult, AppUpdateInfo, OpenAppStoreOptions, ReviewResult, CanRequestReviewResult, UpdateStateChangedEvent, UpdateError, UpdateErrorCode, } from './definitions';
2
+ export type { NativeUpdatePlugin, NativeUpdateCombinedPlugin, NativeUpdateListeners, LiveUpdatePlugin, AppUpdatePlugin, AppReviewPlugin, PluginConfig, UpdateConfig, LiveUpdateConfig, AppUpdateConfig, AppReviewConfig, BundleInfo, BundleStatus, UpdateStrategy, InstallMode, DownloadOptions, DownloadProgressEvent, SyncOptions, SyncResult, DeleteOptions, LatestVersion, ValidateOptions, ValidationResult, AppUpdateInfo, OpenAppStoreOptions, ReviewResult, CanRequestReviewResult, UpdateStateChangedEvent, AppUpdateStateChangedEvent, AppUpdateProgressEvent, AppUpdateAvailableEvent, AppUpdateReadyEvent, AppUpdateFailedEvent, AppUpdateNotificationClickedEvent, AppUpdateInstallClickedEvent, BackgroundUpdateProgressEvent, BackgroundUpdateNotificationEvent, UpdateError, UpdateErrorCode, } from './definitions';
3
3
  export { ErrorCode, NativeUpdateError, ConfigurationError, DownloadError, ValidationError, StorageError, UpdateError as UpdateErrorClass, } from './core/errors';
4
4
  export { ConfigManager } from './core/config';
5
5
  export { Logger, LogLevel } from './core/logger';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,qBAAqB;AACrB,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAiDxC,gBAAgB;AAChB,OAAO,EACL,SAAS,EACT,iBAAiB,EACjB,kBAAkB,EAClB,aAAa,EACb,eAAe,EACf,YAAY,EACZ,WAAW,IAAI,gBAAgB,GAChC,MAAM,eAAe,CAAC;AAEvB,kCAAkC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEpD,qCAAqC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,qBAAqB;AACrB,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AA0DxC,gBAAgB;AAChB,OAAO,EACL,SAAS,EACT,iBAAiB,EACjB,kBAAkB,EAClB,aAAa,EACb,eAAe,EACf,YAAY,EACZ,WAAW,IAAI,gBAAgB,GAChC,MAAM,eAAe,CAAC;AAEvB,kCAAkC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEpD,qCAAqC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC"}
@@ -8,12 +8,15 @@ import { NativeUpdateError, ErrorCode } from './core/errors';
8
8
  class NativeUpdatePluginWeb {
9
9
  constructor() {
10
10
  this.initialized = false;
11
+ this.windowEventListeners = new Map();
11
12
  this.pluginManager = PluginManager.getInstance();
12
13
  }
13
14
  // Main plugin methods
14
15
  async initialize(config) {
15
16
  await this.pluginManager.initialize(config);
16
17
  this.initialized = true;
18
+ // Setup window event bridge for AppUpdateNotifier events
19
+ this.setupWindowEventBridge();
17
20
  }
18
21
  isInitialized() {
19
22
  return this.initialized && this.pluginManager.isInitialized();
@@ -195,23 +198,24 @@ class NativeUpdatePluginWeb {
195
198
  }
196
199
  // AppUpdatePlugin methods
197
200
  async getAppUpdateInfo() {
198
- // Web doesn't have native app updates
199
- return {
200
- updateAvailable: false,
201
- currentVersion: '1.0.0',
202
- };
201
+ const appUpdateManager = this.pluginManager.getAppUpdateManager();
202
+ return appUpdateManager.getAppUpdateInfo();
203
203
  }
204
204
  async performImmediateUpdate() {
205
- throw new NativeUpdateError(ErrorCode.PLATFORM_NOT_SUPPORTED, 'Native app updates are not supported on web');
205
+ const appUpdateManager = this.pluginManager.getAppUpdateManager();
206
+ return appUpdateManager.performImmediateUpdate();
206
207
  }
207
208
  async startFlexibleUpdate() {
208
- throw new NativeUpdateError(ErrorCode.PLATFORM_NOT_SUPPORTED, 'Native app updates are not supported on web');
209
+ const appUpdateManager = this.pluginManager.getAppUpdateManager();
210
+ return appUpdateManager.startFlexibleUpdate();
209
211
  }
210
212
  async completeFlexibleUpdate() {
211
- throw new NativeUpdateError(ErrorCode.PLATFORM_NOT_SUPPORTED, 'Native app updates are not supported on web');
213
+ const appUpdateManager = this.pluginManager.getAppUpdateManager();
214
+ return appUpdateManager.completeFlexibleUpdate();
212
215
  }
213
- async openAppStore(_options) {
214
- throw new NativeUpdateError(ErrorCode.PLATFORM_NOT_SUPPORTED, 'App store is not available on web');
216
+ async openAppStore(options) {
217
+ const appUpdateManager = this.pluginManager.getAppUpdateManager();
218
+ return appUpdateManager.openAppStore(options);
215
219
  }
216
220
  // AppReviewPlugin methods
217
221
  async requestReview() {
@@ -290,17 +294,41 @@ class NativeUpdatePluginWeb {
290
294
  return false;
291
295
  }
292
296
  // Event listener methods
293
- async addListener(_eventName, _listenerFunc) {
294
- // Web implementation doesn't support native events
295
- // Return a dummy handle
297
+ async addListener(eventName, listenerFunc) {
298
+ const eventEmitter = this.pluginManager.getEventEmitter();
299
+ // Add listener to central event emitter
300
+ const removeListener = eventEmitter.addListener(eventName, listenerFunc);
296
301
  return {
297
302
  remove: async () => {
298
- // No-op for web
303
+ removeListener();
299
304
  },
300
305
  };
301
306
  }
302
307
  async removeAllListeners() {
303
- // No-op for web implementation
308
+ const eventEmitter = this.pluginManager.getEventEmitter();
309
+ eventEmitter.removeAllListeners();
310
+ }
311
+ /**
312
+ * Setup bridge between window custom events and central event emitter
313
+ */
314
+ setupWindowEventBridge() {
315
+ const eventEmitter = this.pluginManager.getEventEmitter();
316
+ // List of events emitted by AppUpdateNotifier via window
317
+ const windowEvents = [
318
+ 'appUpdateAvailable',
319
+ 'appUpdateProgress',
320
+ 'appUpdateReady',
321
+ 'appUpdateFailed',
322
+ 'appUpdateNotificationClicked',
323
+ 'appUpdateInstallClicked'
324
+ ];
325
+ windowEvents.forEach(eventName => {
326
+ const listener = (event) => {
327
+ eventEmitter.emit(eventName, event.detail);
328
+ };
329
+ window.addEventListener(eventName, listener);
330
+ this.windowEventListeners.set(eventName, listener);
331
+ });
304
332
  }
305
333
  }
306
334
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/plugin.ts"],"names":[],"mappings":"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"}