MCPcopy Index your code
hub / github.com/karma-runner/karma-chrome-launcher

github.com/karma-runner/karma-chrome-launcher @v3.2.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v3.2.0 ↗ · + Follow
17 symbols 29 edges 7 files 0 documented · 0% 283 cross-repo links updated 17d agov3.2.0 · 2023-04-20★ 47460 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

karma-chrome-launcher

js-standard-style npm version npm downloads

Build Status Dependency Status devDependency Status

Launcher for Google Chrome, Google Chrome Canary and Google Chromium.

Installation

The easiest way is to keep karma-chrome-launcher as a devDependency in your package.json, by running

$ npm i -D karma-chrome-launcher

Configuration

// karma.conf.js
module.exports = function(config) {
  config.set({
    browsers: ['Chrome', 'Chrome_without_security'], // You may use 'ChromeCanary', 'Chromium' or any other supported browser

    // you can define custom flags
    customLaunchers: {
      Chrome_without_security: {
        base: 'Chrome',
        flags: ['--disable-web-security', '--disable-site-isolation-trials']
      }
    }
  })
}

The --user-data-dir is set to a temporary directory but can be overridden on a custom launcher as shown below. One reason to do this is to have a permanent Chrome user data directory inside the project directory to be able to install plugins there (e.g. JetBrains IDE Support plugin).

customLaunchers: {
  Chrome_with_debugging: {
    base: 'Chrome',
    chromeDataDir: path.resolve(__dirname, '.chrome')
  }
}

You can pass list of browsers as a CLI argument too:

$ karma start --browsers Chrome,Chrome_without_security

Headless Chromium with Puppeteer

The Chrome DevTools team created Puppeteer - it will automatically install Chromium for all platforms and contains everything you need to run it from within your CI.

Available Browsers

Note: Headless mode requires a browser version >= 59

  • Chrome (CHROME_BIN)
  • ChromeHeadless (CHROME_BIN)
  • Chromium (CHROMIUM_BIN)
  • ChromiumHeadless (CHROMIUM_BIN)
  • ChromeCanary (CHROME_CANARY_BIN)
  • ChromeCanaryHeadless (CHROME_CANARY_BIN)
  • Dartium (DARTIUM_BIN)

Usage

$ npm i -D puppeteer karma-chrome-launcher
// karma.conf.js
process.env.CHROME_BIN = require('puppeteer').executablePath()

module.exports = function(config) {
  config.set({
    browsers: ['ChromeHeadless']
  })
}

For more information on Karma see the homepage.

Core symbols most depended-on inside this repo

isJSFlags
called by 9
index.js
sanitizeJSFlags
called by 8
index.js
getBin
called by 6
index.js
getChromeExe
called by 4
index.js
getChromeDarwin
called by 4
index.js
getChromiumExe
called by 2
index.js
ChromeBrowser
called by 0
index.js
ChromiumBrowser
called by 0
index.js

Shape

Function 17

Languages

TypeScript100%

Modules by API surface

index.js16 symbols
tools/update-contributors.js1 symbols

For agents

$ claude mcp add karma-chrome-launcher \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact