Manifest Compatibility

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_versions and browser vendors.

Check For Required Fields

![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.

Check For Deprecated Fields

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.

Check For Invalid Field Types

![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.