Manifest V3 validation tools?

We’re in the process of making our extension fully V3 compliant (across Chrome, FF & Edge) which we know is going to require some big rewrites. Is anyone aware of any tools for validating V3 compliance (for any browser) during development, or is the only option to attempt to submit versions to Moz and the other vendor stores and wait for their feedback?

I’m aware that linters and validators for the manifest.json schema exist, but it’s going to be time consuming without being able to validate as V3 compliant periodically, or at least get V3-specific feedback.

2 Likes

Browsers like Chrome / Firefox comes with “build-in” validator, so once you load your extension, you will instantly see all the errors with your manifest file (in the addons / extensions page where you load the temporary addon).

The manifest V3 is not a “big deal” in the actual manifest file :slight_smile:, there is only a handful of changes that can be done in a few minutes. The main issue is making background “stateless”.

Anyway, there is a code validator / linter in the Web-Ext tool:

web-ext lint

But since Firefox is not support MV3 yet, it will fail with error: "/manifest_version" must be <= 2.

3 Likes

Thanks, but I was looking for something that could give more specific V3 feedback beyond the manifest.json file, along the lines of how the vendor stores will validate extensions for V3 compliance when they are submitted. So that we can avoid unexpected results when we submit.

I’m pretty sure Firefox addons store is using the same linter as the web-ext tool. It does validate all code so it should be exactly what you are looking for.

In any case, there is no “V3 compliance”. You switch the manifest version number from 2 to 3 and that’s the end of it. If it works, you are ready to release.
I’ve migrated most of my many extensions in Chrome and Edge stores into MV3 and there were no issues with “compliance”.

The compliance of your code is “forced” :slight_smile:, by removing the code injection API and by turning your background script into service worker that lives for 30 seconds :smiley:.

OK thanks again. Switching “manifest_version” to 3 and trying to load into the browser directly gives a list of issues to work through, so fixing those does seem to be the bulk of the work. In terms of helping the store submissions go more smoothly, it does look like we’ll just need to use the automatic linting tools and various checklists written by the vendors.

1 Like