{ "$schema": "http://json-schema.org/draft-06/schema#", "$id": "https://plasmo.com/bpp/keys.schema.json", "title": "Browser Plugin Publisher keys", "description": "Keys for the Browser Plugin Publisher.", "$ref": "#/definitions/Root", "definitions": { "Root": { "type": "object", "properties": { "chrome": { "$ref": "#/definitions/Chrome" }, "firefox": { "$ref": "#/definitions/Firefox" }, "opera": { "$ref": "#/definitions/Opera" }, "edge": { "$ref": "#/definitions/Edge" } } }, "Chrome": { "description": "For refreshToken and clientId, follow: https://github.com/fregante/chrome-webstore-upload/blob/main/How%20to%20generate%20Google%20API%20keys.md", "type": "object", "properties": { "extId": { "type": "string", "description": "Get it from https://chrome.google.com/webstore/detail/EXT_ID" }, "refreshToken": { "type": "string", "description": "Read: https://github.com/fregante/chrome-webstore-upload/blob/main/How%20to%20generate%20Google%20API%20keys.md" }, "clientId": { "type": "string", "description": "Read: https://github.com/fregante/chrome-webstore-upload/blob/main/How%20to%20generate%20Google%20API%20keys.md" }, "zip": { "type": "string" }, "target": { "type": "string", "description": "The target audience to publish to. Defaults to 'default'", "enum": ["default", "trustedTesters"], "default": "default" } }, "required": ["extId", "refreshToken", "clientId"] }, "Firefox": { "type": "object", "description": "For API Key and API Secret, visit: https://addons.mozilla.org/en-US/developers/addon/api/key/", "properties": { "apiKey": { "type": "string", "description": "The JWT issuer, from https://addons.mozilla.org/en-US/developers/addon/api/key/" }, "apiSecret": { "type": "string", "description": "The JWT secret, from https://addons.mozilla.org/en-US/developers/addon/api/key/" }, "extId": { "type": "string", "description": "This is the extension UUID, get it from https://addons.mozilla.org/en-US/developers/addon/{ext-name}/edit, under Technical Details. If it is embedded in your manifest under gecko.id, omit this property." }, "zip": { "type": "string" } }, "required": ["apiKey", "apiSecret"] }, "Edge": { "type": "object", "properties": { "extId": { "type": "string", "description": "Get it from https://partner.microsoft.com/en-us/dashboard/microsoftedge/EXT_ID" }, "cookie": { "type": "string", "description": "npx web-ext-deploy --get-cookies=edge" }, "zip": { "type": "string" }, "devChangelog": { "type": "string", "description": "Provide changelog for the Edge Add-ons reviewers" } }, "required": ["extId", "cookie"] }, "Opera": { "type": "object", "description": "NOTE: Opera add-ons reviewer require inspecting your extension's source code.", "properties": { "packageId": { "type": "string", "description": "Get it from https://addons.opera.com/developer/package/PACKAGE_ID" }, "sessionid": { "type": "string", "description": "npx web-ext-deploy --get-cookies=opera" }, "csrftoken": { "type": "string", "description": "npx web-ext-deploy --get-cookies=opera" }, "zip": { "type": "string" }, "changelog": { "type": "string", "description": "Provide changelog for the Opera users" } }, "required": ["packageId", "csrftoken", "sessionid"] } } }