`manage_node_deps.py` was changed in https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2259834 to add line endings at the end of the package.json file However, `npm run install-deps` was not rerun to add the line endings. To prevent future CLs that add deps to include the line ending changes, fix them in this CL. R=mathias@chromium.org Change-Id: Id4ee0003520c4aa0cb55494cdf64df57e31a86d7 Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2263952 Commit-Queue: Tim van der Lippe <tvanderlippe@chromium.org> Commit-Queue: Mathias Bynens <mathias@chromium.org> Auto-Submit: Tim van der Lippe <tvanderlippe@chromium.org> Reviewed-by: Mathias Bynens <mathias@chromium.org>
karma-chrome-launcher
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.