The manifest.json file is the only required file in an extension. While very similar between browsers and versions, different versions and different browser vendors can have slightly different requirements between them.
In an ideal world, browser vendors would agree between conventions and developers shouldn't worry about cross-browser compatibilities. While this doesn't happen, Extension
has an ever growing support for the different manifest files across manifest_version
s and browser vendors.
![Required Field]((../../../../../../assets/guides/development/required_field.png)
It is a common standard across all browsers vendors that the minimum Manifest file should contain a name
, a version
, and a manifest_version
field as requirements. Missing one of these fields results in a runtime error.
Fields such as options_page
are deprecated in current valid Manifest versions. Using deprecated fields results in a runtime error. This feature is being tracked for future implementation.
![Invalid Field]((../../../../../../assets/guides/development/invalid_field.png)
While the action
page in Chrome accepts a default_icon
field value as a string, per the official Manifest JSON Schema it is expected to be an object in Manifest V3. Using invalid field types results in a warning message.