karma-webpack-bundle
v1.3.3
Published
A personalized bundle of karma libraries and configs
Downloads
138
Maintainers
Readme
Karma Webpack Bundle
A personalized bundle of karma libraries and configs
Installation
npm install karma-webpack-bundle --save-dev
benchSettings : object
Settings object for karma-benchmark. I don't see any need for benchmarks to run for 5 seconds, so I've provided settings that run the benchmark for 200ms.
Properties
| Name | Type | Default | | --- | --- | --- | | [maxTime] | number | 0.2 | | [minTime] | number | 0.2 | | [minSamples] | number | 1 | | [delay] | number | 0 | | [async] | boolean | true |
Example
const {benchSettings} = require('karma-webpack-bundle');
benchmark('how fast is this', () => {
[1, 2, 3].map((x) => x * 2);
}, benchSettings);
eslintrcBench : object
An eslint config object that overrides various rules from the main config for bench files.
Example
Create a file in your bench directory called .eslintrc.cjs:
const { eslintrcBench } = require('karma-webpack-bundle');
module.exports = eslintrcBench;
eslintrc : object
An eslint config object intended to live in the root of your project.
Example
Create a file in the root of your project called .eslintrc.cjs:
const { eslintrc } = require('karma-webpack-bundle');
module.exports = eslintrc;
eslintrcTests : object
An eslint config object that overrides various rules from the main config for test files.
Example
Create a file in your tests directory called .eslintrc.cjs:
const { eslintrcTests } = require('karma-webpack-bundle');
module.exports = eslintrcTests;
formatBenchmark(benchmark, browser, config) ⇒ string
A plugin for the karma-benchmarkjs-reporter formatBenchmark option. Only current difference with the default formatter is the hz number is passed through toLocaleString to make the number more readable. This is used in karmaBenchConfig.
| Param | Type | Description | | --- | --- | --- | | benchmark | object | The benchmark object. | | browser | object | Browser data. | | config | object | The config object. |
karmaBenchConfig([settings]) ⇒ function
Returns a config function that can be used with karma-benchmark. Sets up karma-benchmark to run in Chrome headless with karma-benchmarkjs-reporter (with the local formatBenchmark formatter), and webpack in production mode. Looks for files in a bench directory that match **/*.bench.js.
| Param | Type | Description | | --- | --- | --- | | [settings] | object | Overrides any of the provided settings. |
Example
create a file in the root of your project called karma.bench.conf.js:
const {karmaBenchConfig} = require('karma-webpack-bundle');
module.exports = karmaBenchConfig();
and add a script to package.json:
"bench": "karma start karma.bench.conf.js"
then run it:
npm run bench
karmaConfig([testRunnerConfig], [settings]) ⇒ function
Returns a config function that can be used with karma. Sets up karma to run in Chrome headless and Firefox headless with mocha and karma-mocha-reporter.
If --single-run is provided then webpack runs in production mode, otherwise it runs in dev mode.
If running on Travis CI then karma-coverage and karma-coveralls are added to reporters
By default it Looks for test files in a tests directory that match *.test.js. For source files it looks for index.js, and *.js files in a src directory or lib directory.
| Param | Type | Description | | --- | --- | --- | | [testRunnerConfig] | Array | A valid config for test-runner-config. | | [settings] | object | Overrides any of the provided settings. |
Example
Create a file in the root of your project called karma.conf.js:
const { karmaConfig } = require('karma-webpack-bundle');
module.exports = karmaConfig();
and add a script or two to package.json:
"test": "karma start --single-run",
"test-watch": "karma start",
then run it:
npm test
wallabyConfig([testRunnerConfig], [settings]) ⇒ function
Returns a config function that can be used with wallaby. Sets the test framework to mocha, runs in Chrome headless, and sets up webpack similar to the karma config.
By default it Looks for test files in a tests directory that match *.test.js. For source files it looks for index.js, and *.js files in a src directory or lib directory.
| Param | Type | Description | | --- | --- | --- | | [testRunnerConfig] | Array | A valid config for test-runner-config. | | [settings] | object | Overrides any of the provided settings. |
Example
create a file in the root of your project called wallaby.conf.js:
const { wallabyConfig } = require('karma-webpack-bundle');
module.exports = wallabyConfig();