{"bugs":{"url":"https://github.com/webpack-contrib/karma-webpack/issues"},"dist":{"shasum":"2b386df6c364f588f896ffbdae57c2e51513d1ba","tarball":"https://registry.npmjs.org/karma-webpack/-/karma-webpack-4.0.0-beta.0.tgz","fileCount":7,"integrity":"sha512-3mBfzOSnWdlMNtIIFpZ0/fGbXCq6dko0HOnwU7nntpNu7tTcY7/JbaWV8bxvmIre+yNUPIglq7p3EuwXj35BmA==","signatures":[{"sig":"MEQCIFpUrvrXsyRCFh8KA5bNTw7RHrBMqBJOn7lhdZSfkixgAiAMbK4pkQZ6YVcwbIt8b7cxR4Ppopv2PNHVEZPJE+PDTQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29533},"main":"lib","name":"karma-webpack","files":["lib"],"author":{"name":"Tobias Koppers @sokra"},"readme":"[![npm][npm]][npm-url]\n[![node][node]][node-url]\n[![deps][deps]][deps-url]\n[![test][test]][test-url]\n[![coverage][cover]][cover-url]\n[![chat][chat]][chat-url]\n\n<div align=\"center\">\n  <a href='https://github.com/karma-runner/karma'>\n    <img width=\"180\" height=\"180\"\n      src=\"https://worldvectorlogo.com/logos/karma.svg\">\n  </a>\n  <a href=\"https://github.com/webpack/webpack\">\n    <img width=\"200\" height=\"200\"\n      src=\"https://cdn.rawgit.com/webpack/media/e7485eb2/logo/icon.svg\">\n  </a>\n  <h1>Karma Webpack</h1>\n  <p>Use webpack to preprocess files in karma<p>\n</div>\n\n<h2 align=\"center\">Install</h2>\n\n```bash\nnpm i -D karma-webpack\n```\n\n<h2 align=\"center\">Usage</h2>\n\n**karma.conf.js**\n```js\nmodule.exports = (config) => {\n  config.set({\n    // ... normal karma configuration\n    files: [\n      // all files ending in \"_test\"\n      { pattern: 'test/*_test.js', watched: false },\n      { pattern: 'test/**/*_test.js', watched: false }\n      // each file acts as entry point for the webpack configuration\n    ],\n\n    preprocessors: {\n      // add webpack as preprocessor\n      'test/*_test.js': [ 'webpack' ],\n      'test/**/*_test.js': [ 'webpack' ]\n    },\n\n    webpack: {\n      // karma watches the test entry points\n      // (you don't need to specify the entry option)\n      // webpack watches dependencies\n\n      // webpack configuration\n    },\n\n    webpackMiddleware: {\n      // webpack-dev-middleware configuration\n      // i. e.\n      stats: 'errors-only'\n    }\n  })\n}\n```\n\n### `Alternative Usage`\n\nThis configuration is more performant, but you cannot run single test anymore (only the complete suite).\n\nThe above configuration generates a `webpack` bundle for each test. For many test cases this can result in many big files. The alternative configuration creates a single bundle with all test cases.\n\n**karma.conf.js**\n```js\nfiles: [\n  // only specify one entry point\n  // and require all tests in there\n  'test/index_test.js'\n],\n\npreprocessors: {\n  // add webpack as preprocessor\n  'test/index_test.js': [ 'webpack' ]\n},\n```\n\n**test/index_test.js**\n```js\n// require all modules ending in \"_test\" from the\n// current directory and all subdirectories\nconst testsContext = require.context(\".\", true, /_test$/)\n\ntestsContext.keys().forEach(testsContext)\n```\n\nEvery test file is required using the [require.context](https://webpack.js.org/guides/dependency-management/#require-context) and compiled with webpack into one test bundle.\n\n### `Source Maps`\n\nYou can use the `karma-sourcemap-loader` to get the source maps generated for your test bundle.\n\n```bash\nnpm i -D karma-sourcemap-loader\n```\n\nAnd then add it to your preprocessors.\n\n**karma.conf.js**\n```js\npreprocessors: {\n  'test/test_index.js': [ 'webpack', 'sourcemap' ]\n}\n```\n\nAnd tell `webpack` to generate sourcemaps.\n\n**webpack.config.js**\n```js\nwebpack: {\n  // ...\n  devtool: 'inline-source-map'\n}\n```\n\n<h2 align=\"center\">Options</h2>\n\nThis is the full list of options you can specify in your `karma.conf.js`\n\n|Name|Type|Default|Description|\n|:--:|:--:|:-----:|:----------|\n|[**`webpack`**](#webpack)|`{Object}`|`{}`|Pass `webpack.config.js` to `karma`|\n|[**`webpackMiddleware`**](#webpackmiddleware)|`{Object}`|`{}`|Pass `webpack-dev-middleware` configuration to `karma`|\n|[**`beforeMiddleware`**](#beforemiddleware)|`{Object}`|`{}`|Pass custom middleware configuration to `karma`, **before** any `karma` middleware runs|\n\n### `webpack`\n\n`webpack` configuration (`webpack.config.js`).\n\n### `webpackMiddleware`\n\nConfiguration for `webpack-dev-middleware`.\n\n### `beforeMiddleware`\n\n`beforeMiddleware` is a `webpack` option that allows injecting middleware before\nkarma's own middleware runs. This loader provides a `webpackBlocker`\nmiddleware that will block tests from running until code recompiles. That is,\ngiven this scenario\n\n1. Have a browser open on the karma debug page (http://localhost:9876/debug.html)\n2. Make a code change\n3. Refresh\n\nWithout the `webpackBlocker` middleware karma will serve files from before\nthe code change. With the `webpackBlocker` middleware the loader will not serve\nthe files until the code has finished recompiling.\n\n> **⚠️ The `beforeMiddleware` option is only supported in `karma >= v1.0.0`**\n\n<h2 align=\"center\">Maintainers</h2>\n\n<table>\n  <tbody>\n    <tr>\n      <td align=\"center\">\n        <img width=\"150\" height=\"150\"\n        src=\"https://avatars.githubusercontent.com/u/4650931?v=3&s=150\">\n        </br>\n        <a href=\"https://github.com/MikaAK\">Mika Kalathil</a>\n      </td>\n      <td align=\"center\">\n        <img width=\"150\" height=\"150\"\n        src=\"https://avatars.githubusercontent.com/u/8420490?v=3&s=150\">\n        <a href=\"https://github.com/d3viant0ne\">Joshua Wiens</a>\n      </td>\n      <td align=\"center\">\n        <img width=\"150\" height=\"150\" src=\"https://avatars.githubusercontent.com/u/1919664?v=3&s=150\">\n        <a href=\"https://github.com/goldhand\">Will Farley</a>\n      </td>\n      <td align=\"center\">\n        <img width=\"150\" height=\"150\"\n        src=\"https://avatars.githubusercontent.com/u/1307954?v=3&s=150\">\n        <a href=\"https://github.com/DanielaValero\">Daniela Valero</a>\n      </td>\n    </tr>\n    <tr>\n      <td align=\"center\">\n        <img width=\"150\" height=\"150\"\n        src=\"https://avatars.githubusercontent.com/u/122108?v=3&s=150\">\n        <a href=\"https://github.com/jon301\">Jonathan Trang</a>\n      </td>\n      <td align=\"center\">\n        <img width=\"150\" height=\"150\"\n        src=\"https://avatars.githubusercontent.com/u/3285723?v=3&s=150\">\n        <a href=\"https://github.com/carlos-\">Carlos Morales</a>\n      </td>\n    </tr>\n  <tbody>\n</table>\n\n\n[npm]: https://img.shields.io/npm/v/karma-webpack.svg\n[npm-url]: https://npmjs.com/package/karma-webpack\n\n[node]: https://img.shields.io/node/v/karma-webpack.svg\n[node-url]: https://nodejs.org\n\n[deps]: https://david-dm.org/webpack-contrib/karma-webpack.svg\n[deps-url]: https://david-dm.org/webpack-contrib/karma-webpack\n\n[chat]: https://img.shields.io/badge/gitter-webpack%2Fwebpack-brightgreen.svg\n[chat-url]: https://gitter.im/webpack/webpack\n\n[test]: http://img.shields.io/travis/webpack-contrib/karma-webpack.svg\n[test-url]: https://travis-ci.org/webpack-contrib/karma-webpack\n\n[cover]: https://codecov.io/gh/webpack-contrib/karma-webpack/branch/master/graph/badge.svg\n[cover-url]: https://codecov.io/gh/webpack-contrib/karma-webpack\n","engines":{"node":">= 6.9.0"},"gitHead":"9ca87d4d33200aff44a83cbbca7f1f1b99e08361","license":"MIT","scripts":{"lint":"eslint --cache src test","test":"mocha --compilers js:babel-register --full-trace --check-leaks test/unit","build":"cross-env NODE_ENV=production babel src -d lib --ignore 'src/**/*.test.js' --copy-files","clean":"del-cli lib","start":"npm run build -- -w","travis":"npm run test && npm run test:integration","prepare":"npm run build","release":"standard-version","travis:lint":"npm run lint","travis:test":"npm run test","test:integration":"npm run build && karma start --single-run"},"_npmUser":{"name":"michael-ciniawsky","email":"michael.ciniawsky@gmail.com"},"homepage":"https://github.com/webpack-contrib/karma-webpack","repository":{"url":"git+https://github.com/webpack-contrib/karma-webpack.git","type":"git"},"_npmVersion":"5.7.1","description":"Use webpack with karma","directories":{},"maintainers":[{"name":"bebraw","email":"bebraw@gmail.com"},{"name":"d3viant0ne","email":"wiens.joshua@gmail.com"},{"name":"ericclemmons","email":"eric@smarterspam.com"},{"name":"jhnns","email":"mail@johannesewald.de"},{"name":"jtangelder","email":"j.tangelder@gmail.com"},{"name":"michael-ciniawsky","email":"michael.ciniawsky@gmail.com"},{"name":"sokra","email":"tobias.koppers@googlemail.com"},{"name":"thelarkinn","email":"sean.larkin@cuw.edu"}],"_nodeVersion":"9.8.0","dependencies":{"async":"^2.0.0","lodash":"^4.0.0","source-map":"^0.5.6","loader-utils":"^1.0.0","babel-runtime":"^6.0.0","webpack-dev-middleware":"^3.0.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"chai":"^4.0.0","karma":"^2.0.0","mocha":"^4.0.0","eslint":"^4.0.0","del-cli":"^1.0.0","webpack":"^4.1.1","istanbul":"^0.4.4","babel-cli":"^6.0.0","cross-env":"^5.0.0","babel-core":"^6.0.0","karma-mocha":"^1.0.0","babel-polyfill":"^6.0.0","babel-register":"^6.0.0","babel-preset-env":"^1.0.0","chai-as-promised":"^7.0.0","standard-version":"^4.0.0","eslint-plugin-babel":"^4.0.0","karma-spec-reporter":"^0.0.32","karma-chrome-launcher":"^2.0.0","babel-plugin-transform-runtime":"^6.0.0"},"peerDependencies":{"webpack":"^2.2.0 || ^3.0.0 || ^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/karma-webpack_4.0.0-beta.0_1521487748521_0.9475024491365538","host":"s3://npm-registry-packages"},"_id":"karma-webpack@4.0.0-beta.0","version":"4.0.0-beta.0"}