New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

karma-opera-launcher

Package Overview
Dependencies
Maintainers
3
Versions
5
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

karma-opera-launcher - npm Package Compare versions

Comparing version 0.2.0 to 0.3.0

15

CHANGELOG.md

@@ -0,1 +1,16 @@

<a name="0.3.0"></a>
# [0.3.0](https://github.com/karma-runner/karma-opera-launcher/compare/v0.2.0...v0.3.0) (2015-08-10)
### Bug Fixes
* do not try to find the Windows executable if the ProgramFiles variables are unde ([9c17cc0](https://github.com/karma-runner/karma-opera-launcher/commit/9c17cc0))
* use path.join() to construct the path of the prefs.ini file ([a077186](https://github.com/karma-runner/karma-opera-launcher/commit/a077186))
### Features
* **runner:** add support for Webkit Opera runner ([d38a625](https://github.com/karma-runner/karma-opera-launcher/commit/d38a625))
<a name"0.2.0"></a>

@@ -2,0 +17,0 @@ ## 0.2.0 (2015-07-02)

26

gruntfile.js

@@ -9,2 +9,25 @@ module.exports = function (grunt) {

},
conventionalChangelog: {
release: {
options: {
changelogOpts: {
preset: 'angular'
}
},
src: 'CHANGELOG.md'
}
},
conventionalGithubReleaser: {
release: {
options: {
auth: {
type: 'oauth',
token: process.env.GH_TOKEN
},
changelogOpts: {
preset: 'angular'
}
}
}
},
bump: {

@@ -36,4 +59,5 @@ options: {

'bump-only:' + (type || 'patch'),
'changelog',
'conventionalChangelog',
'bump-commit',
'conventionalGithubReleaser',
'npm-publish'

@@ -40,0 +64,0 @@ ])

121

index.js
var fs = require('fs')
var path = require('path')
var PREFS = fs.readFileSync(path.join(__dirname, '/config/prefs.ini'))
var OperaClassicBrowser
var OperaBrowser
var DEFAULT_CMD
var PREFS = fs.readFileSync('./config/prefs.ini')
function isJSFlags (flag) {
return flag.indexOf('--js-flags=') === 0
}
var OperaBrowser = function (baseBrowserDecorator) {
baseBrowserDecorator(this)
this._getOptions = function (url) {
// Opera CLI options
// http://www.opera.com/docs/switches/
return [
'-pd', this._tempDir,
'-nomail',
url
]
}
this._start = function (url) {
var self = this
var prefsFile = this._tempDir + '/operaprefs.ini'
fs.writeFile(prefsFile, PREFS, function (err) {
if (err) {
console.error('Can not write perferences files')
console.error(err)
}
self._execCommand(self._getCommand(), self._getOptions(url))
})
}
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 findWindowsOperaExecutable = function () {
function findWindowsOperaExecutable () {
// First we need the directory where Opera is installed.

@@ -44,2 +32,6 @@ var operaPath

var found = defaultPaths.some(function (progFiles) {
if (progFiles === undefined) {
return false
}
var oP = path.join(progFiles, 'Opera')

@@ -100,18 +92,81 @@ try {

OperaClassicBrowser = function (baseBrowserDecorator) {
baseBrowserDecorator(this)
this._getOptions = function (url) {
// Opera CLI options
// http://www.opera.com/docs/switches/
return [
'-pd', this._tempDir,
'-nomail',
url
]
}
this._start = function (url) {
var self = this
var prefsFile = this._tempDir + '/operaprefs.ini'
fs.writeFile(prefsFile, PREFS, function (err) {
if (err) {
console.error('Can not write perferences files')
console.error(err)
}
self._execCommand(self._getCommand(), self._getOptions(url))
})
}
}
OperaBrowser = function (baseBrowserDecorator, args) {
baseBrowserDecorator(this)
var flags = args.flags || []
this._getOptions = function (url) {
// Opera CLI options
// http://peter.sh/experiments/chromium-command-line-switches/
flags.forEach(function (flag, i) {
if (isJSFlags(flag)) flags[i] = sanitizeJSFlags(flag)
})
return [
'--user-data-dir=' + this._tempDir,
'--no-default-browser-check',
'--no-first-run',
'--disable-default-apps',
'--disable-popup-blocking',
'--disable-translate',
'--new-window'
].concat(flags, [url])
}
}
DEFAULT_CMD = {
linux: 'opera',
darwin: '/Applications/Opera.app/Contents/MacOS/Opera',
win32: findWindowsOperaExecutable()
}
OperaClassicBrowser.prototype = {
name: 'OperaClassic',
DEFAULT_CMD: DEFAULT_CMD,
ENV_CMD: 'OPERA_BIN'
}
OperaClassicBrowser.$inject = ['baseBrowserDecorator']
OperaBrowser.prototype = {
name: 'Opera',
DEFAULT_CMD: {
linux: 'opera',
darwin: '/Applications/Opera.app/Contents/MacOS/Opera',
win32: findWindowsOperaExecutable()
},
DEFAULT_CMD: DEFAULT_CMD,
ENV_CMD: 'OPERA_BIN'
}
OperaBrowser.$inject = ['baseBrowserDecorator']
OperaBrowser.$inject = ['baseBrowserDecorator', 'args']
// PUBLISH DI MODULE
module.exports = {
'launcher:OperaClassic': ['type', OperaClassicBrowser],
'launcher:Opera': ['type', OperaBrowser]
}
{
"name": "karma-opera-launcher",
"version": "0.2.0",
"version": "0.3.0",
"description": "A Karma plugin. Launcher for Opera.",

@@ -25,8 +25,9 @@ "main": "index.js",

"devDependencies": {
"eslint": "^0.24.0",
"eslint-config-standard": "^3.4.0",
"eslint": "^1.1.0",
"eslint-config-standard": "^4.0.0",
"grunt": "^0.4.1",
"grunt-bump": "^0.3.1",
"grunt-conventional-changelog": "^1.2.2",
"grunt-eslint": "^16.0.0",
"grunt-conventional-changelog": "^4.0.0",
"grunt-conventional-github-releaser": "^0.3.0",
"grunt-eslint": "^17.1.0",
"grunt-npm": "^0.0.2",

@@ -36,6 +37,9 @@ "load-grunt-tasks": "^3.2.0"

"contributors": [
"dignifiedquire <dignifiedquire@gmail.com>",
"Friedel Ziegelmayer <friedel.ziegelmayer@gmail.com>",
"dignifiedquire <dignifiedquire@gmail.com>",
"Simon A. Eugster <simon.eugster@eps.ch>"
"Friedel Ziegelmayer <dignifiedquire@gmail.com>",
"Christoph Guttandin <chrisguttandin@media-codings.com>",
"Simon A. Eugster <simon.eugster@eps.ch>",
"Zohar Arad <zohar@zohararad.com>"
]
}

@@ -19,2 +19,4 @@ # karma-opera-launcher

## Configuration
#### Opera Classic (up to and including v12)
```js

@@ -24,2 +26,12 @@ // karma.conf.js

config.set({
browsers: ['OperaClassic']
});
};
```
#### Opera (v15 and above)
```js
// karma.conf.js
module.exports = function(config) {
config.set({
browsers: ['Opera']

@@ -32,3 +44,3 @@ });

```bash
karma start --browsers Opera
karma start --browsers Opera,OperaClassic
```

@@ -35,0 +47,0 @@

SocketSocket SOC 2 Logo

Product

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

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc