I recently have worked on a script in Greasemonkey and would like to publish it as an add-on for Firefox. What is the easiest way to do this?
Installing the Greasemonkey Extension. Click on the Firefox drop-down menu at the top left of the browser and select Add-ons. Type Greasemonkey into the add-ons search box at the top right of the browser. Find Greasemonkey in the list and click on Install.
Compatibility. Greasemonkey is available for Firefox, Flock and GNOME Web (formerly called Epiphany).
They're stored in an IndexedDB ( https://github.com/greasemonkey/greasemonkey/blob/master/src/bg/user-script-registry.js#L287 ) which is a format with very little (AFAIK?) tooling.
While you can "compile" a GreaseMonkey script (see Brock's answer), this solution isn't exactly well-supported. The more reliable option would be using the Add-on SDK and JPM. Your lib/main.js
file can be really simple (page-mod
module documentation):
var data = require("sdk/self").data;
var pageMod = require("sdk/page-mod");
pageMod.PageMod({
include: "*.example.com",
contentScriptWhen: 'end',
contentScriptFile: data.url("contentScript.js")
});
This is equivalent to the following GreaseMonkey script header:
// @include http://example.com/*
// @include http://*.example.com/*
And then you add your GreaseMonkey script as data/contentScript.js
(Add-on SDK will ignore the GreaseMonkey header, the info is specified elsewhere) and build the extension. In most cases it will just work - unless your GreaseMonkey script uses any special GreaseMonkey API of course, in which case you will need to find a replacement. unsafeWindow
is supported by the way (usual warnings apply).
Just post your script at userscripts.org1OpenUserJS.org (Or one of the other userscripts.org replacements).
Trying to repackage it as an add-on is usually more trouble than it is worth.
If you really must, you can use the Greasemonkey script compiler to turn your script into an "add-on", and then submit that add-on to Mozilla, via the normal add-on process.
Note that Wladimir's answer is better than the Greasemonkey script compiler.
1Userscripts.org is now long dead.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With