xpi
v0.2.4
Published
Library for unpacking Firefox addons and extract their script contents.
Downloads
34
Readme
xpi.js
Unpack Firefox addon XPI files and extract their JavaScript source code.
Usage
var XPI = require('xpi');
(new XPI.SourceEmitter("./adblock_plus-2.6.7-sm+tb+fx+an.xpi"))
.on("script", function(script) {
// extracted a script file (.js or .jsm) from the XPI
})
.on("overlay", function(overlay) {
// extracted a XUL overlay file (.xul) from the XPI
})
.on("end", function() {
// done extracting
})
.on("error", function(err) {
// error occurred
});
(new XPI.JSEmitter("./adblock_plus-2.6.7-sm+tb+fx+an.xpi"))
.on("javascript", function(js) {
// extracted a JS source file or snippet from the XPI
switch (js.type) {
case 'file':
// JS source file
case 'script':
// <script> tag from a XUL file
case 'attribute':
// inline attribute script from a XUL file
}
})
.on("end", function() {
// done extracting
})
.on("error", function(err) {
// error occurred
});
Class: new XPI.SourceEmitter(path)
Event: 'script'
fileName
: Stringsource
: String
Event: 'overlay'
fileName
: Stringsource
: String
Class: new XPI.JSEmitter(path)
Event: 'javascript'
js.type === 'file'
fileName
: Stringsource
: String
js.type === 'script'
fileName
: Stringsource
: Stringline
: Number
js.type === 'attribute'
fileName
: Stringsource
: Stringline
: Numbertag
: StringeventType
: String
License
Copyright © 2015 Dave Herman
Licensed under the MIT License.