UNPKG

@ajayyy/webext-content-scripts

Version:

Utility functions to inject content scripts in WebExtensions, for Manifest v2 and v3

25 lines (24 loc) 1.28 kB
import type { ContentScript, ExtensionFileOrCode, RunAt } from './types.js'; interface Target { tabId: number; frameId: number; } interface InjectionOptions { ignoreTargetErrors?: boolean; } type MaybeArray<X> = X | X[]; export declare function executeFunction<Fn extends (...args: any[]) => unknown>(target: number | Target, function_: Fn, ...args: unknown[]): Promise<ReturnType<Fn>>; interface InjectionDetails { tabId: number; frameId?: number; matchAboutBlank?: boolean; allFrames?: boolean; runAt?: RunAt; files: string[] | ExtensionFileOrCode[]; } export declare function insertCSS({ tabId, frameId, files, allFrames, matchAboutBlank, runAt, }: InjectionDetails, { ignoreTargetErrors }?: InjectionOptions): Promise<void>; export declare function executeScript({ tabId, frameId, files, allFrames, matchAboutBlank, runAt, }: InjectionDetails, { ignoreTargetErrors }?: InjectionOptions): Promise<void>; export declare function getTabsByUrl(matches: string[], excludeMatches?: string[]): Promise<number[]>; export declare function injectContentScript(where: MaybeArray<number | Target>, scripts: MaybeArray<ContentScript>, options?: InjectionOptions): Promise<void>; export declare function isScriptableUrl(url: string): boolean; export {};