Socket
Socket
Sign inDemoInstall

karma-chrome-launcher

Package Overview
Dependencies
137
Maintainers
1
Versions
28
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 0.1.5 to 0.1.6

README.md

41

index.js

@@ -11,2 +11,6 @@ var fs = require('fs');

// http://peter.sh/experiments/chromium-command-line-switches/
flags.forEach(function(flag, i) {
if(isJSFlags(flag)) flags[i] = sanitizeJSFlags(flag);
});
return [

@@ -23,2 +27,15 @@ '--user-data-dir=' + this._tempDir,

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").

@@ -63,7 +80,21 @@ function getChromeExe(chromeDirName) {

this._getOptions = function(url) {
// disable crankshaft optimizations, as it causes lot of memory leaks (as of Chrome 23.0)
return parentOptions.call(this, url).concat(['--js-flags="--nocrankshaft --noopt"']);
return canaryGetOptions.call(this, url, args, parentOptions);
};
};
function canaryGetOptions (url, args, parent) {
// disable crankshaft optimizations, as it causes lot of memory leaks (as of Chrome 23.0)
var flags = args.flags || [];
var augmentedFlags;
var customFlags = '--nocrankshaft --noopt';
flags.forEach(function(flag, i) {
if (isJSFlags(flag)) {
augmentedFlags = sanitizeJSFlags(flag) + ' ' + customFlags;
}
});
return parent.call(this, url).concat([augmentedFlags || '--js-flags=' + customFlags]);
}
ChromeCanaryBrowser.prototype = {

@@ -109,1 +140,7 @@ name: 'ChromeCanary',

};
module.exports.test = {
isJSFlags: isJSFlags,
sanitizeJSFlags: sanitizeJSFlags,
canaryGetOptions: canaryGetOptions
}

10

package.json
{
"name": "karma-chrome-launcher",
"version": "0.1.5",
"version": "0.1.6",
"description": "A Karma plugin. Launcher for Chrome and Chrome Canary.",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
"test": "./node_modules/.bin/jasmine-node test"
},

@@ -28,3 +28,4 @@ "repository": {

"grunt-bump": "~0.0.6",
"grunt-auto-release": "~0.0.2"
"grunt-auto-release": "~0.0.2",
"jasmine-node": "~1.14.5"
},

@@ -38,4 +39,5 @@ "contributors": [

"Michał Gołębiowski <m.goleb@gmail.com>",
"Parashuram N <code@r.nparashuram.com>"
"Parashuram N <code@r.nparashuram.com>",
"Jeff Cross <middlefloor@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