Represents a WebExtension manifest.json file

interface WebExtensionManifest {
    action?: ActionManifest;
    applications?: DeprecatedApplications;
    author?: string;
    background?:
        | { page: string; persistent?: boolean }
        | { persistent?: boolean; scripts: string[]; type?: _UndefinedType }
        | { service_worker: string };
    browser_action?: ActionManifest;
    browser_specific_settings?: BrowserSpecificSettings;
    chrome_settings_overrides?: _WebExtensionManifestChromeSettingsOverrides;
    chrome_url_overrides?: _WebExtensionManifestChromeUrlOverrides;
    commands?: { [key: string]: _WebExtensionManifestCommands };
    content_scripts?: ContentScript[];
    content_security_policy?: string | { extension_pages?: string };
    declarative_net_request?: _WebExtensionManifestDeclarativeNetRequest;
    default_locale?: string;
    description?: string;
    developer?: _WebExtensionManifestDeveloper;
    devtools_page?: string;
    experiment_apis?: { [key: string]: ExperimentAPI };
    granted_host_permissions?: boolean;
    hidden?: boolean;
    homepage_url?: string;
    host_permissions?: string[];
    icons?: _WebExtensionManifestIcons;
    incognito?: _WebExtensionManifestIncognito;
    install_origins?: string[];
    l10n_resources?: string[];
    manifest_version: number;
    minimum_chrome_version?: string;
    minimum_opera_version?: string;
    name: string;
    omnibox?: _WebExtensionManifestOmnibox;
    optional_permissions?: string[];
    options_ui?: _WebExtensionManifestOptionsUi;
    page_action?: _WebExtensionManifestPageAction;
    permissions?: string[];
    protocol_handlers?: ProtocolHandler[];
    short_name?: string;
    sidebar_action?: _WebExtensionManifestSidebarAction;
    telemetry?: _WebExtensionManifestTelemetry;
    theme_experiment?: ThemeExperiment;
    user_scripts?: _WebExtensionManifestUserScripts;
    version: string;
    web_accessible_resources?:
        | string[]
        | { extension_ids?: string[]; matches?: string[]; resources: string[] }[];
}
Index

Needs at least manifest version 3.

applications?: DeprecatedApplications

The applications property is deprecated, please use 'browser_specific_settings' Not supported on manifest versions above 2.

author?: string
background?:
    | { page: string; persistent?: boolean }
    | { persistent?: boolean; scripts: string[]; type?: _UndefinedType }
    | { service_worker: string }

Type Declaration

  • { page: string; persistent?: boolean }
    • page: string
    • Optionalpersistent?: boolean

      Not supported on manifest versions above 2.

  • { persistent?: boolean; scripts: string[]; type?: _UndefinedType }
    • Optionalpersistent?: boolean

      Not supported on manifest versions above 2.

    • scripts: string[]
    • Optionaltype?: _UndefinedType
  • { service_worker: string }
browser_action?: ActionManifest

Not supported on manifest versions above 2.

browser_specific_settings?: BrowserSpecificSettings
commands?: { [key: string]: _WebExtensionManifestCommands }
content_scripts?: ContentScript[]
content_security_policy?: string | { extension_pages?: string }

Type Declaration

  • string
  • { extension_pages?: string }
    • Optionalextension_pages?: string

      The Content Security Policy used for extension pages.

default_locale?: string
description?: string
devtools_page?: string
experiment_apis?: { [key: string]: ExperimentAPI }
granted_host_permissions?: boolean
hidden?: boolean
homepage_url?: string
host_permissions?: string[]

Needs at least manifest version 3.

install_origins?: string[]
l10n_resources?: string[]
manifest_version: number
minimum_chrome_version?: string
minimum_opera_version?: string
name: string
optional_permissions?: string[]
permissions?: string[]
protocol_handlers?: ProtocolHandler[]

A list of protocol handler definitions.

short_name?: string
theme_experiment?: ThemeExperiment

Not supported on manifest versions above 2.

version: string
web_accessible_resources?:
    | string[]
    | { extension_ids?: string[]; matches?: string[]; resources: string[] }[]