browser-extension-manager 1.1.8 → 1.1.10

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/CLAUDE.md CHANGED
@@ -294,8 +294,34 @@ This enables:
294
294
  **Manager classes:** [src/background.js](src/background.js), [src/popup.js](src/popup.js), [src/options.js](src/options.js), [src/sidepanel.js](src/sidepanel.js), [src/page.js](src/page.js), [src/content.js](src/content.js)
295
295
 
296
296
  **Extension API wrapper:** [src/lib/extension.js](src/lib/extension.js)
297
- - Provides cross-browser compatibility
298
- - Normalizes chrome/browser APIs
297
+
298
+ A universal/agnostic API wrapper that enables cross-browser extension development. Write your extension once and it works on Chrome, Firefox, Edge, and other browsers.
299
+
300
+ **How it works:**
301
+ - Detects and normalizes APIs from `chrome.*`, `browser.*`, and `window.*` namespaces
302
+ - Automatically selects the correct API based on what's available in the current browser
303
+ - Exports a singleton with unified access to all extension APIs
304
+
305
+ **Supported APIs:**
306
+ `action`, `alarms`, `bookmarks`, `browsingData`, `browserAction`, `certificateProvider`, `commands`, `contentSettings`, `contextMenus`, `cookies`, `debugger`, `declarativeContent`, `declarativeNetRequest`, `devtools`, `dns`, `documentScan`, `downloads`, `enterprise`, `events`, `extension`, `extensionTypes`, `fileBrowserHandler`, `fileSystemProvider`, `fontSettings`, `gcm`, `history`, `i18n`, `identity`, `idle`, `input`, `instanceID`, `management`, `notifications`, `offscreen`, `omnibox`, `pageAction`, `permissions`, `platformKeys`, `power`, `printerProvider`, `privacy`, `proxy`, `runtime`, `scripting`, `search`, `sessions`, `sidePanel`, `storage`, `tabGroups`, `tabs`, `topSites`, `tts`, `ttsEngine`, `userScripts`, `vpnProvider`, `wallpaper`, `webNavigation`, `webRequest`, `windows`
307
+
308
+ **Usage:**
309
+ ```javascript
310
+ // Exposed via manager - no separate import needed
311
+ const Manager = new (require('browser-extension-manager/popup'));
312
+
313
+ Manager.initialize().then(() => {
314
+ const { extension } = Manager;
315
+
316
+ // Works on Chrome, Firefox, Edge, etc.
317
+ extension.tabs.query({ active: true }, (tabs) => { ... });
318
+ extension.storage.get('key', (result) => { ... });
319
+ extension.runtime.sendMessage({ type: 'hello' });
320
+ });
321
+ ```
322
+
323
+ **Storage normalization:**
324
+ The wrapper automatically resolves `storage` to `storage.sync` if available, falling back to `storage.local`.
299
325
 
300
326
  **Logger:** [src/lib/logger.js](src/lib/logger.js)
301
327
  - Full logging utility
@@ -5,31 +5,56 @@ const apis = [
5
5
  'bookmarks',
6
6
  'browsingData',
7
7
  'browserAction',
8
+ 'certificateProvider',
8
9
  'commands',
9
10
  'contentSettings',
10
11
  'contextMenus',
11
12
  'cookies',
13
+ 'debugger',
14
+ 'declarativeContent',
15
+ 'declarativeNetRequest',
16
+ 'devtools',
17
+ 'dns',
18
+ 'documentScan',
12
19
  'downloads',
20
+ 'enterprise',
13
21
  'events',
14
22
  'extension',
15
23
  'extensionTypes',
24
+ 'fileBrowserHandler',
25
+ 'fileSystemProvider',
26
+ 'fontSettings',
27
+ 'gcm',
16
28
  'history',
17
29
  'i18n',
18
30
  'identity',
19
31
  'idle',
32
+ 'input',
33
+ 'instanceID',
20
34
  'management',
21
35
  'notifications',
36
+ 'offscreen',
37
+ 'omnibox',
22
38
  'pageAction',
23
39
  'permissions',
40
+ 'platformKeys',
41
+ 'power',
42
+ 'printerProvider',
24
43
  'privacy',
25
44
  'proxy',
26
45
  'runtime',
27
46
  'scripting',
47
+ 'search',
48
+ 'sessions',
28
49
  'sidePanel',
29
50
  'storage',
51
+ 'tabGroups',
30
52
  'tabs',
31
53
  'topSites',
32
54
  'tts',
55
+ 'ttsEngine',
56
+ 'userScripts',
57
+ 'vpnProvider',
33
58
  'wallpaper',
34
59
  'webNavigation',
35
60
  'webRequest',
@@ -59,7 +84,6 @@ function Extension () {
59
84
  }
60
85
  } catch (e) {}
61
86
 
62
-
63
87
  // Try browser
64
88
  try {
65
89
  if (browser[api]) {
@@ -698,3 +698,31 @@
698
698
  [debug] [2025-11-17T03:02:32.608Z] > authorizing via signed-in user (ian.wiedenman@gmail.com)
699
699
  [debug] [2025-11-17T03:02:32.609Z] > command requires scopes: ["email","openid","https://www.googleapis.com/auth/cloudplatformprojects.readonly","https://www.googleapis.com/auth/firebase","https://www.googleapis.com/auth/cloud-platform"]
700
700
  [debug] [2025-11-17T03:02:32.609Z] > authorizing via signed-in user (ian.wiedenman@gmail.com)
701
+ [debug] [2025-11-24T23:10:15.709Z] > command requires scopes: ["email","openid","https://www.googleapis.com/auth/cloudplatformprojects.readonly","https://www.googleapis.com/auth/firebase","https://www.googleapis.com/auth/cloud-platform"]
702
+ [debug] [2025-11-24T23:10:15.713Z] > authorizing via signed-in user (ian.wiedenman@gmail.com)
703
+ [debug] [2025-11-24T23:10:15.713Z] > command requires scopes: ["email","openid","https://www.googleapis.com/auth/cloudplatformprojects.readonly","https://www.googleapis.com/auth/firebase","https://www.googleapis.com/auth/cloud-platform"]
704
+ [debug] [2025-11-24T23:10:15.713Z] > authorizing via signed-in user (ian.wiedenman@gmail.com)
705
+ [debug] [2025-11-24T23:10:15.741Z] > command requires scopes: ["email","openid","https://www.googleapis.com/auth/cloudplatformprojects.readonly","https://www.googleapis.com/auth/firebase","https://www.googleapis.com/auth/cloud-platform"]
706
+ [debug] [2025-11-24T23:10:15.741Z] > authorizing via signed-in user (ian.wiedenman@gmail.com)
707
+ [debug] [2025-11-24T23:10:15.792Z] > command requires scopes: ["email","openid","https://www.googleapis.com/auth/cloudplatformprojects.readonly","https://www.googleapis.com/auth/firebase","https://www.googleapis.com/auth/cloud-platform"]
708
+ [debug] [2025-11-24T23:10:15.792Z] > authorizing via signed-in user (ian.wiedenman@gmail.com)
709
+ [debug] [2025-11-24T23:10:15.793Z] > command requires scopes: ["email","openid","https://www.googleapis.com/auth/cloudplatformprojects.readonly","https://www.googleapis.com/auth/firebase","https://www.googleapis.com/auth/cloud-platform"]
710
+ [debug] [2025-11-24T23:10:15.793Z] > authorizing via signed-in user (ian.wiedenman@gmail.com)
711
+ [debug] [2025-11-24T23:10:15.799Z] > command requires scopes: ["email","openid","https://www.googleapis.com/auth/cloudplatformprojects.readonly","https://www.googleapis.com/auth/firebase","https://www.googleapis.com/auth/cloud-platform"]
712
+ [debug] [2025-11-24T23:10:15.799Z] > authorizing via signed-in user (ian.wiedenman@gmail.com)
713
+ [debug] [2025-11-24T23:10:15.801Z] > command requires scopes: ["email","openid","https://www.googleapis.com/auth/cloudplatformprojects.readonly","https://www.googleapis.com/auth/firebase","https://www.googleapis.com/auth/cloud-platform"]
714
+ [debug] [2025-11-24T23:10:15.801Z] > authorizing via signed-in user (ian.wiedenman@gmail.com)
715
+ [debug] [2025-11-24T23:10:17.173Z] > command requires scopes: ["email","openid","https://www.googleapis.com/auth/cloudplatformprojects.readonly","https://www.googleapis.com/auth/firebase","https://www.googleapis.com/auth/cloud-platform"]
716
+ [debug] [2025-11-24T23:10:17.175Z] > authorizing via signed-in user (ian.wiedenman@gmail.com)
717
+ [debug] [2025-11-24T23:10:17.175Z] > command requires scopes: ["email","openid","https://www.googleapis.com/auth/cloudplatformprojects.readonly","https://www.googleapis.com/auth/firebase","https://www.googleapis.com/auth/cloud-platform"]
718
+ [debug] [2025-11-24T23:10:17.175Z] > authorizing via signed-in user (ian.wiedenman@gmail.com)
719
+ [debug] [2025-11-24T23:10:17.186Z] > command requires scopes: ["email","openid","https://www.googleapis.com/auth/cloudplatformprojects.readonly","https://www.googleapis.com/auth/firebase","https://www.googleapis.com/auth/cloud-platform"]
720
+ [debug] [2025-11-24T23:10:17.186Z] > authorizing via signed-in user (ian.wiedenman@gmail.com)
721
+ [debug] [2025-11-24T23:10:17.223Z] > command requires scopes: ["email","openid","https://www.googleapis.com/auth/cloudplatformprojects.readonly","https://www.googleapis.com/auth/firebase","https://www.googleapis.com/auth/cloud-platform"]
722
+ [debug] [2025-11-24T23:10:17.224Z] > authorizing via signed-in user (ian.wiedenman@gmail.com)
723
+ [debug] [2025-11-24T23:10:17.224Z] > command requires scopes: ["email","openid","https://www.googleapis.com/auth/cloudplatformprojects.readonly","https://www.googleapis.com/auth/firebase","https://www.googleapis.com/auth/cloud-platform"]
724
+ [debug] [2025-11-24T23:10:17.224Z] > authorizing via signed-in user (ian.wiedenman@gmail.com)
725
+ [debug] [2025-11-24T23:10:17.226Z] > command requires scopes: ["email","openid","https://www.googleapis.com/auth/cloudplatformprojects.readonly","https://www.googleapis.com/auth/firebase","https://www.googleapis.com/auth/cloud-platform"]
726
+ [debug] [2025-11-24T23:10:17.226Z] > authorizing via signed-in user (ian.wiedenman@gmail.com)
727
+ [debug] [2025-11-24T23:10:17.226Z] > command requires scopes: ["email","openid","https://www.googleapis.com/auth/cloudplatformprojects.readonly","https://www.googleapis.com/auth/firebase","https://www.googleapis.com/auth/cloud-platform"]
728
+ [debug] [2025-11-24T23:10:17.226Z] > authorizing via signed-in user (ian.wiedenman@gmail.com)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "browser-extension-manager",
3
- "version": "1.1.8",
3
+ "version": "1.1.10",
4
4
  "description": "Browser Extension Manager dependency manager",
5
5
  "main": "dist/index.js",
6
6
  "exports": {