Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

browser.d.ts dependency for Edge web extension APIs browser.runtime.* in typescript

For chrome extension developed using typescript, we need a definition file called chrome.d.ts in typings folder for accessing web extension APIs like chrome.runtime.* or chrome.tabs.*.

For edge extension, developing in typescript, we need a definition file called browser.d.ts in typings folder for accessing web extension APIs like browser.runtime.*

How can we download this dependency using node package manager(npm). I added a reference to the file in my background.ts file of extension like:

/// reference path="typings/browser/browser.d.ts"

like image 927
Shivanshu Goyal Avatar asked Nov 06 '25 04:11

Shivanshu Goyal


1 Answers

Update:

Typings are available for Firefox's browser API and its browser polyfill library.

  • Firefox typings: npmjs.com/package/@types/firefox-webext-browser
  • Typings for browser polyfill: npmjs.com/package/webextension-polyfill-ts

Unfortunately, Edge's browser API is not the same as Firefox's. Edge uses callbacks while Firefox uses Promises. This may or may not change.

See:

  • https://github.com/mozilla/webextension-polyfill/issues/3
  • https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/9421085/
like image 149
Eejdoowad Avatar answered Nov 09 '25 03:11

Eejdoowad