Noticeably Playful Monkeys

    karma-coverage-istanbul-reporter
    DefinitelyTyped icon, indicating that this package has TypeScript declarations provided by the separate @types/karma-coverage-istanbul-reporter package

    3.0.3 • Public • Published

    karma-coverage-istanbul-reporter

    Sponsorship Build Status codecov npm version npm Twitter Follow

    A karma reporter that uses the latest istanbul 1.x APIs (with full sourcemap support) to report coverage.

    About

    This is a reporter only and does not perform the actual instrumentation of your code. Babel users should use the istanbul babel plugin to instrument your code and webpack + typescript users should use the coverage-istanbul-loader and then use this karma reporter to do the actual reporting. See the test config for an e2e example of how to combine them.

    Installation

    npm install karma-coverage-istanbul-reporter --save-dev

    Configuration

    // karma.conf.js
    const path = require('path');
     
    module.exports = function(config) {
      config.set({
        // ... rest of karma config
     
        // anything named karma-* is normally auto included so you probably dont need this
        plugins: ['karma-coverage-istanbul-reporter'],
     
        reporters: ['coverage-istanbul'],
     
        coverageIstanbulReporter: {
          // reports can be any that are listed here: https://github.com/istanbuljs/istanbuljs/tree/73c25ce79f91010d1ff073aa6ff3fd01114f90db/packages/istanbul-reports/lib
          reports: ['html', 'lcovonly', 'text-summary'],
     
          // base output directory. If you include %browser% in the path it will be replaced with the karma browser name
          dir: path.join(__dirname, 'coverage'),
     
          // Combines coverage information from multiple browsers into one report rather than outputting a report
          // for each browser.
          combineBrowserReports: true,
     
          // if using webpack and pre-loaders, work around webpack breaking the source path
          fixWebpackSourcePaths: true,
     
          // Omit files with no statements, no functions and no branches covered from the report
          skipFilesWithNoCoverage: true,
     
          // Most reporters accept additional config options. You can pass these through the `report-config` option
          'report-config': {
            // all options available at: https://github.com/istanbuljs/istanbuljs/blob/73c25ce79f91010d1ff073aa6ff3fd01114f90db/packages/istanbul-reports/lib/html/index.js#L257-L261
            html: {
              // outputs the report in ./coverage/html
              subdir: 'html'
            }
          },
     
          // enforce percentage thresholds
          // anything under these percentages will cause karma to fail with an exit code of 1 if not running in watch mode
          thresholds: {
            emitWarning: false, // set to `true` to not fail the test command when thresholds are not met
            // thresholds for all files
            global: {
              statements: 100,
              lines: 100,
              branches: 100,
              functions: 100
            },
            // thresholds per file
            each: {
              statements: 100,
              lines: 100,
              branches: 100,
              functions: 100,
              overrides: {
                'baz/component/**/*.js': {
                  statements: 98
                }
              }
            }
          },
     
          verbose: true // output config used by istanbul for debugging
        }
      });
    };

    List of reporters and options

    Credits

    License

    MIT

      This feature is exclusive to Teams

      Illustration of wombats

      The package file explorer is only available for Teams at the moment.

      We may support exploring this package in the future. Check back soon.

      Install

      npm i karma-coverage-istanbul-reporter

      DownloadsWeekly Downloads

      713,320

      Version

      3.0.3

      License

      MIT

      Unpacked Size

      30.6 kB

      Total Files

      6

      Last publish

      Collaborators

      • mattlewis92