karma-chrome-launcher
Advanced tools
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>" | ||
] | ||
} |
Environment variable access
Supply chain riskPackage accesses environment variables, which may be a sign of credential stuffing or data theft.
Found 2 instances in 1 package
Environment variable access
Supply chain riskPackage accesses environment variables, which may be a sign of credential stuffing or data theft.
Found 1 instance in 1 package
10124
1
190
7
- Removedkarma@>=0.9.3
- Removed@colors/colors@1.5.0(transitive)
- Removed@socket.io/component-emitter@3.1.2(transitive)
- Removed@types/cookie@0.4.1(transitive)
- Removed@types/cors@2.8.17(transitive)
- Removed@types/node@20.14.2(transitive)
- Removedaccepts@1.3.8(transitive)
- Removedansi-regex@5.0.1(transitive)
- Removedansi-styles@4.3.0(transitive)
- Removedanymatch@3.1.3(transitive)
- Removedbalanced-match@1.0.2(transitive)
- Removedbase64id@2.0.0(transitive)
- Removedbinary-extensions@2.3.0(transitive)
- Removedbody-parser@1.20.2(transitive)
- Removedbrace-expansion@1.1.11(transitive)
- Removedbraces@3.0.3(transitive)
- Removedbytes@3.1.2(transitive)
- Removedcall-bind@1.0.7(transitive)
- Removedchokidar@3.6.0(transitive)
- Removedcliui@7.0.4(transitive)
- Removedcolor-convert@2.0.1(transitive)
- Removedcolor-name@1.1.4(transitive)
- Removedconcat-map@0.0.1(transitive)
- Removedconnect@3.7.0(transitive)
- Removedcontent-type@1.0.5(transitive)
- Removedcookie@0.4.2(transitive)
- Removedcors@2.8.5(transitive)
- Removedcustom-event@1.0.1(transitive)
- Removeddate-format@4.0.14(transitive)
- Removeddebug@2.6.94.3.5(transitive)
- Removeddefine-data-property@1.1.4(transitive)
- Removeddepd@2.0.0(transitive)
- Removeddestroy@1.2.0(transitive)
- Removeddi@0.0.1(transitive)
- Removeddom-serialize@2.2.1(transitive)
- Removedee-first@1.1.1(transitive)
- Removedemoji-regex@8.0.0(transitive)
- Removedencodeurl@1.0.2(transitive)
- Removedengine.io@6.5.4(transitive)
- Removedengine.io-parser@5.2.2(transitive)
- Removedent@2.2.0(transitive)
- Removedes-define-property@1.0.0(transitive)
- Removedes-errors@1.3.0(transitive)
- Removedescalade@3.1.2(transitive)
- Removedescape-html@1.0.3(transitive)
- Removedeventemitter3@4.0.7(transitive)
- Removedextend@3.0.2(transitive)
- Removedfill-range@7.1.1(transitive)
- Removedfinalhandler@1.1.2(transitive)
- Removedflatted@3.3.1(transitive)
- Removedfollow-redirects@1.15.6(transitive)
- Removedfs-extra@8.1.0(transitive)
- Removedfs.realpath@1.0.0(transitive)
- Removedfsevents@2.3.3(transitive)
- Removedfunction-bind@1.1.2(transitive)
- Removedget-caller-file@2.0.5(transitive)
- Removedget-intrinsic@1.2.4(transitive)
- Removedglob@7.2.3(transitive)
- Removedglob-parent@5.1.2(transitive)
- Removedgopd@1.0.1(transitive)
- Removedgraceful-fs@4.2.11(transitive)
- Removedhas-property-descriptors@1.0.2(transitive)
- Removedhas-proto@1.0.3(transitive)
- Removedhas-symbols@1.0.3(transitive)
- Removedhasown@2.0.2(transitive)
- Removedhttp-errors@2.0.0(transitive)
- Removedhttp-proxy@1.18.1(transitive)
- Removediconv-lite@0.4.24(transitive)
- Removedinflight@1.0.6(transitive)
- Removedinherits@2.0.4(transitive)
- Removedis-binary-path@2.1.0(transitive)
- Removedis-extglob@2.1.1(transitive)
- Removedis-fullwidth-code-point@3.0.0(transitive)
- Removedis-glob@4.0.3(transitive)
- Removedis-number@7.0.0(transitive)
- Removedisbinaryfile@4.0.10(transitive)
- Removedjsonfile@4.0.0(transitive)
- Removedkarma@6.4.3(transitive)
- Removedlodash@4.17.21(transitive)
- Removedlog4js@6.9.1(transitive)
- Removedmedia-typer@0.3.0(transitive)
- Removedmime@2.6.0(transitive)
- Removedmime-db@1.52.0(transitive)
- Removedmime-types@2.1.35(transitive)
- Removedminimatch@3.1.2(transitive)
- Removedminimist@1.2.8(transitive)
- Removedmkdirp@0.5.6(transitive)
- Removedms@2.0.02.1.2(transitive)
- Removednegotiator@0.6.3(transitive)
- Removednormalize-path@3.0.0(transitive)
- Removedobject-assign@4.1.1(transitive)
- Removedobject-inspect@1.13.1(transitive)
- Removedon-finished@2.3.02.4.1(transitive)
- Removedonce@1.4.0(transitive)
- Removedparseurl@1.3.3(transitive)
- Removedpath-is-absolute@1.0.1(transitive)
- Removedpicomatch@2.3.1(transitive)
- Removedqjobs@1.2.0(transitive)
- Removedqs@6.11.0(transitive)
- Removedrange-parser@1.2.1(transitive)
- Removedraw-body@2.5.2(transitive)
- Removedreaddirp@3.6.0(transitive)
- Removedrequire-directory@2.1.1(transitive)
- Removedrequires-port@1.0.0(transitive)
- Removedrfdc@1.3.1(transitive)
- Removedrimraf@3.0.2(transitive)
- Removedsafer-buffer@2.1.2(transitive)
- Removedset-function-length@1.2.2(transitive)
- Removedsetprototypeof@1.2.0(transitive)
- Removedside-channel@1.0.6(transitive)
- Removedsocket.io@4.7.5(transitive)
- Removedsocket.io-adapter@2.5.4(transitive)
- Removedsocket.io-parser@4.2.4(transitive)
- Removedsource-map@0.6.1(transitive)
- Removedstatuses@1.5.02.0.1(transitive)
- Removedstreamroller@3.1.5(transitive)
- Removedstring-width@4.2.3(transitive)
- Removedstrip-ansi@6.0.1(transitive)
- Removedtmp@0.2.3(transitive)
- Removedto-regex-range@5.0.1(transitive)
- Removedtoidentifier@1.0.1(transitive)
- Removedtype-is@1.6.18(transitive)
- Removedua-parser-js@0.7.38(transitive)
- Removedundici-types@5.26.5(transitive)
- Removeduniversalify@0.1.2(transitive)
- Removedunpipe@1.0.0(transitive)
- Removedutils-merge@1.0.1(transitive)
- Removedvary@1.1.2(transitive)
- Removedvoid-elements@2.0.1(transitive)
- Removedwrap-ansi@7.0.0(transitive)
- Removedwrappy@1.0.2(transitive)
- Removedws@8.11.0(transitive)
- Removedy18n@5.0.8(transitive)
- Removedyargs@16.2.0(transitive)
- Removedyargs-parser@20.2.9(transitive)