Detects where the current browser extension code is being run.
This package was recently renamed from
webext-detect-pagetowebext-detect
You can download the standalone bundle and include it in your manifest.json.
Or use npm:
npm install webext-detectimport {isBackground, isContentScript} from 'webext-detect';
if (isBackground()) {
// Run background code, e.g.
browser.runtime.onMessage.addListener(console.log);
} else if (isContentScript()) {
// Run content script code, e.g.
browser.runtime.sendMessage('wow!');
}The functions are only ever evaluated once. This protects from future "invalidated context" errors. Read the note about testing if you're running this code in a tester.
To see all the available functions, check the index.d.ts file.
There are also a few helper functions based on the useragent string to loosely detect the current browser: isChrome(), isFirefox(), isSafari(), isMobileSafari(). They are not intended to detect forks, but just the main engines.
The calls are automatically cached so, if you're using this in a test environment, import and call this function first to ensure that the environment is "detected" every time:
import {disableWebextDetectPageCache} from 'webext-detect';
disableWebextDetectPageCache();- webext-options-sync - Helps you manage and autosave your extension's options.
- webext-storage-cache - Map-like promised cache storage with expiration.
- webext-patterns - Utilities for patterns and globs.
- More…
MIT © Federico Brigante