Setting addon/theme version compatibility in the marketplace
For developers worn out with setting the latest addon or theme version manually across too many core versions, here is a JavaScript bookmarklet to do it for you.
After adding the compressed bookmarklet to Chrome or Firefox, run the bookmarklet when you are on the Manage Files page for your addon or theme. It will seek out all the version selectors and set them to the last but one option, which is the latest version (The very last option is 'none').
(Remember to then click the Save button)
javascript:(()=>{const e=document.querySelectorAll("table select.form-control");e.forEach(function(e){var o=e.querySelectorAll("option");const t=o[o.length-2];t.selected=!0;o=new Event("change",{bubbles:!0});e.dispatchEvent(o),console.log(t)});const o=document.querySelector(".ccm-dashboard-form-actions button.btn-primary");o.click()})();
The source is as below, then compressed onto a single line and prefixed with "javascript:"
(() => {
const elements = document.querySelectorAll('table select.form-control');
elements.forEach(function(element){
const options = element.querySelectorAll('option');
const lastOption = options[options.length - 2];
lastOption.selected = true;
const change_ev = new Event('change', { 'bubbles': true });
element.dispatchEvent(change_ev);
console.log(lastOption);
});
const submit = document.querySelector('.ccm-dashboard-form-actions button.btn-primary');
submit.click();
})();
More about bookmarklets: https://www.freecodecamp.org/news/what-are-bookmarklets/ Compress: https://jscompress.com/
Edited 18 June 2024 - code snippets revised for new marketplace.