Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
const webExt = require('web-ext').default;
const path = require('path');
const getOptionsUrl = require('./test-options');
const prefsFromTalos = {
// From Talos project
'app.update.enabled': false,
'browser.bookmarks.max_backups': 0,
'browser.cache.disk.smart_size.enabled': false,
'browser.cache.disk.smart_size.first_run': false,
'browser.chrome.dynamictoolbar': false,
'browser.dom.window.dump.enabled': true,
'browser.EULA.override': true,
// Disable checking if firefox is default browser
'browser.shell.checkDefaultBrowser': false,
'browser.warnOnQuit': false,
'browser.tabs.remote.autostart': false,
const webpack = require('webpack');
const webExt = require('web-ext').default;
const config = require('./webpack.config');
const compiler = webpack(config);
const watching = compiler.watch({ aggregateTimeout: 1000 }, (err) => {
/* eslint-disable no-console */
if (err) {
console.log('\nFailed to webpack build');
} else {
console.log('\nweback built');
}
});
webExt.cmd.run({
firefox: process.env.FIREFOX_BINARY,
sourceDir: process.cwd(),
ignoreFiles: process.env.IGNORE_FILES.split(' ').concat('**/*~'),
browserConsole: true,
firefoxProfile: process.env.FIREFOX_PROFILE,
}, {
shouldExitProgram: false,
}).then(runner => runner.registerCleanup(() => watching.close()));
const webpack = require('webpack');
const webExt = require('web-ext').default;
const config = require('./webpack.config');
const compiler = webpack(config);
const watching = compiler.watch({ aggregateTimeout: 1000 }, (err) => {
/* eslint-disable no-console */
if (err) {
console.log('\nFailed to webpack build');
} else {
console.log('\nweback built');
}
});
webExt.cmd.run({
firefox: process.env.FIREFOX_BINARY,
sourceDir: process.cwd(),
ignoreFiles: process.env.IGNORE_FILES.split(' ').concat('**/*~'),
exports.measureFirefox = async function(url, ext) {
let extensionRunners
let browser
if (ext.path) {
// @todo wait for https://github.com/sindresorhus/get-port/pull/28 and than use range for 6000 port
const CDPPort = await getPort()
extensionRunners = await webExt.cmd.run(
{
sourceDir: ext.path,
// comment if connect to default FF
firefox: PP_FF.executablePath(),
args: [`-juggler=${CDPPort}`]
},
{
// These are non CLI related options for each function.
// You need to specify this one so that your NodeJS application
// can continue running after web-ext is finished.
shouldExitProgram: false
}
)
const browserWSEndpoint = `ws://127.0.0.1:${CDPPort}`
browser = await PP_FF.connect({
(function(console) {
"use strict";
const pkg = require("./package.json");
const gulp = require("gulp");
const webext = require("web-ext").default;
const envify = require("envify/custom");
const path = require("path");
const distPath = path.resolve(process.cwd(), "dist");
// load all plugins in "devDependencies" into the variable $
const $ = require("gulp-load-plugins")({
pattern: ["*"],
scope: ["devDependencies"]
});
const onError = err => {
$.util.log($.util.colors.bgRed($.util.colors.white(err)));
};
const logUpdate = msg => {
"use strict";
const fs = require("fs-extra");
const path = require("path");
const minimist = require("minimist");
const webpack = require("webpack");
const webExt = require("web-ext").default;
const { ROOT
, INCLUDE_PATH
, DIST_PATH
, UNPACKED_PATH } = require("./lib/paths");
const packageMeta = require(`${ROOT}/../package.json`);
const extPackageMeta = require(`${ROOT}/package.json`);
const appPackageMeta = require(`${ROOT}/../app/package.json`);
const argv = minimist(process.argv.slice(2), {
boolean: [ "package", "watch" ]
, string: [ "mirroringAppId", "mode" ]
, default: {
package: false // Should package with web-ext
/* eslint-env node */
"use strict";
const { series, parallel, src, dest, watch } = require("gulp");
const browserify = require("browserify");
const source = require("vinyl-source-stream");
const buffer = require("vinyl-buffer");
const log = require("gulplog");
const sourcemaps = require("gulp-sourcemaps");
const webExt = require("web-ext").default;
const path = require("path");
const bulkify = require("bulkify");
const del = require("del");
const through = require("through2");
const globby = require("globby");
const sass = require("gulp-sass");
let extensionRunner = {};
// The `clean` function is not exported so it can be considered a private task.
// It can still be used within the `series()` composition.
function clean() {
return del([
"debug/**",
"!debug"
]);
// @ts-nocheck
const webExt = require('web-ext').default
const getPort = require('get-port')
const PP_FF = require('puppeteer-firefox')
/**
* @typedef {import('../index').Extension} Extension
*
* @param {string} url
* @param {Extension} ext
* @return {Promise<{ lhr: {audits: Object} }>}
*/
exports.measureFirefox = async function(url, ext) {
let extensionRunners
let browser
if (ext.path) {
firefox: firefoxPath,
noReload: true,
sourceDir,
artifactsDir: sourceDir,
startUrl: getOptionsUrl(),
keepProfileChanges,
firefoxProfile,
pref: {
...prefsFromTalos,
'lightweightThemes.selectedThemeID': 'firefox-compact-light@mozilla.org',
'browser.link.open_newwindow': 3,
'dom.min_background_timeout_value': 50,
...this.prefs,
},
};
const runner = await webExt.cmd.run(options, {
getValidatedManifest() {
return {
name: '',
version: '',
};
},
});
this.firefox = runner.firefox;
this.reloadAllExtensions = runner.reloadAllExtensions.bind(runner);
}
async initialize() {
if (this.webext) {
return this.webext;
}
const sourceDir = PATH.dirname(this.manifest);
const artifactsDir = PATH.resolve(sourceDir, "../addons");
const info = await WebExtUtil.cmd.build({
sourceDir,
artifactsDir,
overwriteDest: true,
});
this.webext = info;
return this;
}