Socket
Socket
Sign inDemoInstall

karma-chrome-launcher

Package Overview
Dependencies
2
Maintainers
2
Versions
28
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 0.1.10 to 0.1.11

88

index.js
var fs = require('fs'),
path = require('path'),
which = require('which');
function isJSFlags(flag) {
return flag.indexOf('--js-flags=') === 0;
}
function sanitizeJSFlags(flag) {
var test = /--js-flags=(['"])/.exec(flag);
if (!test) {
return flag;
}
var escapeChar = test[1];
var endExp = new RegExp(escapeChar + '$');
var startExp = new RegExp('--js-flags=' + escapeChar);
return flag.replace(startExp, '--js-flags=').replace(endExp, '');
}
var ChromeBrowser = function(baseBrowserDecorator, args) {

@@ -13,3 +29,5 @@ baseBrowserDecorator(this);

flags.forEach(function(flag, i) {
if(isJSFlags(flag)) flags[i] = sanitizeJSFlags(flag);
if (isJSFlags(flag)) {
flags[i] = sanitizeJSFlags(flag);
}
});

@@ -28,15 +46,2 @@

function isJSFlags (flag) {
return flag.indexOf('--js-flags=') === 0;
}
function sanitizeJSFlags (flag) {
var test = /--js-flags=(['"])/.exec(flag);
if (!test) return flag;
var escapeChar = test[1];
var endExp = new RegExp(escapeChar + '$');
var startExp = new RegExp('--js-flags=' + escapeChar);
return flag.replace(startExp, '--js-flags=').replace(endExp, '');
}
// Return location of chrome.exe file for a given Chrome directory (available: "Chrome", "Chrome SxS").

@@ -49,3 +54,3 @@ function getChromeExe(chromeDirName) {

var windowsChromeDirectory, i, prefix;
var suffix = '\\Google\\'+ chromeDirName + '\\Application\\chrome.exe';
var suffix = '\\Google\\' + chromeDirName + '\\Application\\chrome.exe';
var prefixes = [process.env.LOCALAPPDATA, process.env.PROGRAMFILES, process.env['PROGRAMFILES(X86)']];

@@ -55,3 +60,3 @@

prefix = prefixes[i];
if (fs.existsSync(prefix + suffix)) {
if (fs.realpathSync(prefix + suffix)) {
windowsChromeDirectory = prefix + suffix;

@@ -82,2 +87,15 @@ break;

function getChromeDarwin(defaultPath) {
if (process.platform !== 'darwin') {
return null;
}
var homePath = path.join(process.env.HOME, defaultPath);
if (fs.realpathSync(homePath)) {
return homePath;
}
return defaultPath;
}
ChromeBrowser.prototype = {

@@ -90,3 +108,3 @@ name: 'Chrome',

linux: getBin(['chromium-browser', 'chromium', 'google-chrome', 'google-chrome-stable']),
darwin: '/Applications/Google Chrome.app/Contents/MacOS/Google Chrome',
darwin: getChromeDarwin('/Applications/Google Chrome.app/Contents/MacOS/Google Chrome'),
win32: getChromeExe('Chrome')

@@ -99,13 +117,3 @@ },

var ChromeCanaryBrowser = function(baseBrowserDecorator, args) {
ChromeBrowser.apply(this, arguments);
var parentOptions = this._getOptions;
this._getOptions = function(url) {
return canaryGetOptions.call(this, url, args, parentOptions);
};
};
function canaryGetOptions (url, args, parent) {
function canaryGetOptions(url, args, parent) {
// disable crankshaft optimizations, as it causes lot of memory leaks (as of Chrome 23.0)

@@ -116,3 +124,3 @@ var flags = args.flags || [];

flags.forEach(function(flag, i) {
flags.forEach(function(flag) {
if (isJSFlags(flag)) {

@@ -126,2 +134,11 @@ augmentedFlags = sanitizeJSFlags(flag) + ' ' + customFlags;

var ChromeCanaryBrowser = function(baseBrowserDecorator, args) {
ChromeBrowser.apply(this, arguments);
var parentOptions = this._getOptions;
this._getOptions = function(url) {
return canaryGetOptions.call(this, url, args, parentOptions);
};
};
ChromeCanaryBrowser.prototype = {

@@ -132,3 +149,3 @@ name: 'ChromeCanary',

linux: 'google-chrome-canary',
darwin: '/Applications/Google Chrome Canary.app/Contents/MacOS/Google Chrome Canary',
darwin: getChromeDarwin('/Applications/Google Chrome Canary.app/Contents/MacOS/Google Chrome Canary'),
win32: getChromeExe('Chrome SxS')

@@ -145,7 +162,7 @@ },

var checkedFlag = '--checked';
var dartFlags = process.env['DART_FLAGS'] || '';
var flags = dartFlags.split(' ')
if(flags.indexOf(checkedFlag) == -1) {
var dartFlags = process.env.DART_FLAGS || '';
var flags = dartFlags.split(' ');
if (flags.indexOf(checkedFlag) === -1) {
flags.push(checkedFlag);
process.env['DART_FLAGS'] = flags.join(' ');
process.env.DART_FLAGS = flags.join(' ');
}

@@ -162,3 +179,2 @@ };

// PUBLISH DI MODULE

@@ -175,2 +191,2 @@ module.exports = {

canaryGetOptions: canaryGetOptions
}
};
{
"name": "karma-chrome-launcher",
"version": "0.1.10",
"version": "0.1.11",
"description": "A Karma plugin. Launcher for Chrome and Chrome Canary.",

@@ -20,3 +20,2 @@ "main": "index.js",

"dependencies": {
"karma": ">=0.9.3",
"which": "^1.0.9"

@@ -34,4 +33,4 @@ },

"Mark Ethan Trostler <mark@zzo.com>",
"Mark Trostler <mark@zzo.com>",
"Friedel Ziegelmayer <friedel.ziegelmayer@gmail.com>",
"Mark Trostler <mark@zzo.com>",
"Aymeric Beaumet <aymeric@beaumet.me>",

@@ -45,4 +44,5 @@ "Julien Sanchez <julien.sanchez@lim.eu>",

"Timo Tijhof <krinklemail@gmail.com>",
"Joe Doyle <valdain@gmail.com>"
"Joe Doyle <valdain@gmail.com>",
"Filipe Guerra <alias.mac@gmail.com>"
]
}
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc