Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
try {
fs.accessSync(manifestPath, fs.R_OK);
} catch (err) {
return Promise.reject(`Couldn't read ${manifestPath}`);
}
let manifest = JSON.parse(fs.readFileSync(manifestPath, 'utf8'));
return createJetpackXpi(manifest, { addonDir, destDir }).then((xpiPath) => {
fs.renameSync(xpiPath, destFile);
});
}
}
// we perform some Voodoo tricks to extract the private _addonDetails method
// (which uses the _sanitizePref method) from FirefoxProfile
function FirefoxProfileVoodoo() {}
FirefoxProfileVoodoo.prototype._addonDetails = FirefoxProfile.prototype._addonDetails;
FirefoxProfileVoodoo.prototype._sanitizePref = FirefoxProfile.prototype._sanitizePref;
// and now more Voodoo tricks to turn the (blocking) callback-based method
// into a simple synchronous method
function getLegacyAddonId(addonPath: string): string {
let addonDetails: any;
let voodoo = new FirefoxProfileVoodoo();
voodoo._addonDetails(addonPath, result => addonDetails = result);
return addonDetails.id;
}
fs.accessSync(manifestPath, fs.R_OK);
} catch (err) {
return Promise.reject(`Couldn't read ${manifestPath}`);
}
let manifest = JSON.parse(fs.readFileSync(manifestPath, 'utf8'));
return createJetpackXpi(manifest, { addonDir, destDir }).then((xpiPath) => {
fs.renameSync(xpiPath, destFile);
});
}
}
// we perform some Voodoo tricks to extract the private _addonDetails method
// (which uses the _sanitizePref method) from FirefoxProfile
function FirefoxProfileVoodoo() {}
FirefoxProfileVoodoo.prototype._addonDetails = FirefoxProfile.prototype._addonDetails;
FirefoxProfileVoodoo.prototype._sanitizePref = FirefoxProfile.prototype._sanitizePref;
// and now more Voodoo tricks to turn the (blocking) callback-based method
// into a simple synchronous method
function getLegacyAddonId(addonPath: string): string {
let addonDetails: any;
let voodoo = new FirefoxProfileVoodoo();
voodoo._addonDetails(addonPath, result => addonDetails = result);
return addonDetails.id;
}