Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

sonarqube-unit-test-reporter

Package Overview
Dependencies
Maintainers
1
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

sonarqube-unit-test-reporter

sonar-unit-tests xml formater

  • 1.0.1
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

Sample karma.config.js

'use strict';

var path = require('path');
var conf = require('./gulp/conf');

var _ = require('lodash');
var wiredep = require('wiredep');

var pathSrcHtml = [
  path.join(conf.paths.src, '/**/*.html'),
  path.join(conf.paths.src_test, '/**/*.html')
];

function listFiles() {
  var wiredepOptions = _.extend({}, conf.wiredep, {
    dependencies: true,
    devDependencies: true
  });

  return wiredep(wiredepOptions).js
    .concat([
      path.join(conf.paths.src, '/app/**/*.module.js'),
      path.join(conf.paths.src, '/app/**/*.js'),
      path.join(conf.paths.src, '/**/*.spec.js'),
      path.join(conf.paths.src, '/**/*.mock.js'),
      path.join(conf.paths.src_test, '/app/**/*.module.js'),
      path.join(conf.paths.src_test, '/app/**/*.js'),
      path.join(conf.paths.src_test, '/**/*.spec.js'),
      path.join(conf.paths.src_test, '/**/*.mock.js')
    ])
    .concat(pathSrcHtml);
}

process.env.CHROME_BIN = require('puppeteer').executablePath();

module.exports = function(config) {
  config.set({

    // base path that will be used to resolve all patterns (eg. files, exclude)
    basePath: '',
    plugins: [
      require('karma-jasmine'),
      require('karma-chrome-launcher'),
      require('karma-jasmine-html-reporter'),
      require('karma-coverage'),
      require('karma-typescript'),
      require('sonarqube-unit-test-reporter')
  ],

    // frameworks to use
    // available frameworks: https://npmjs.org/browse/keyword/karma-adapter
    frameworks: ['jasmine','karma-typescript'],

    // list of files / patterns to load in the browser
    files: [
      {pattern: './src/helloComponent/helloComponent.spec.ts', watched: false},
      {pattern:'./src/helloComponent/helloComponent.ts', watched: false}
    ],

    // list of files to exclude
    exclude: [
      'node_modules',
      ],
    include: [
        './src/helloComponent/helloComponent.spec.ts',
        './src/helloComponent/helloComponent.ts'
    ],

    // preprocess matching files before serving them to the browser
    // available preprocessors: https://npmjs.org/browse/keyword/karma-preprocessor

    preprocessors: {
      "./src/helloComponent/helloComponent.spec.ts" : ["karma-typescript", "coverage"],
      "./src/helloComponent/helloComponent.ts" : ["karma-typescript"]
    },
    
    //typescript transpiler configuration
     karmaTypescriptConfig: {
      reports:
      {
        "lcovonly": {
          "directory": "./.tmp/sonarQube/coverage/",
          "filename": "lcov.info",
        }
          
      },
      bundlerOptions: {
        transforms: [
            require("karma-typescript-es6-transform")()
          ]
        },
        transformPath: function(filepath) {
            return filepath.replace(/\.(ts|tsx)$/, ".js");
        },
        
      exclude: ['node_modules'],
      include: [
        './src/helloComponent/helloComponent.spec.ts',
        './src/helloComponent/helloComponent.ts'
        
    ],
      compilerOptions: {
        "module": "commonjs",
        "moduleResolution": "node",
        "noImplicitAny": true,
        "outDir": ".tmp",
        "preserveConstEnums": true,
        "removeComments": true,
        "sourceMap": true,        
        "experimentalDecorators": true,
        "emitDecoratorMetadata": true,  
        "target": "es2015",
        "allowSyntheticDefaultImports": true,
      },
    },

   //webpack: webpackConfig,

  //Hide the webpack compilation noise

    webpackMiddleware: {
      noInfo: true
    },

    // test results reporter to use
    // possible values: 'dots', 'progress'
    // available reporters: https://npmjs.org/browse/keyword/karma-reporter
    reporters: ['progress', 'coverage', 'sonarqubeUnitTest'],

    sonarQubeUnitTestReporter: {
      sonarQubeVersion: 'LATEST',
      outputFile: './.tmp/sonarQube/coverage/test-report.xml',
      useBrowserName: false,
      testPaths: ['./src/helloComponent'],
      testFilePattern: '.spec.ts'
    },
    

    // optionally, configure the reporter
    coverageReporter: {
      type : 'lcov',
      dir : './.tmp/sonarQube',
      subdir : 'coverage',
      check: {
        global: {
          statements: 75,
          branches: 50,
          functions: 100,
          lines: 10
        },
        each: {
          statements: 75,
          branches: 50,
          functions: 100,
          lines: 10,
        }
      },
      watermarks: {
        statements: [ 50, 75 ],
        functions: [ 50, 100 ],
        branches: [ 25, 50 ],
        lines: [ 10, 55 ]
      }
    },
       
    

    // web server port
    port: 9876,

    // enable / disable colors in the output (reporters and logs)
    colors: true,

    // start a new run immediately when a change is detected.
    restartOnFileChange:true,

    // level of logging
    // possible values: config.LOG_DISABLE || config.LOG_ERROR || config.LOG_WARN || config.LOG_INFO || config.LOG_DEBUG
    logLevel: config.LOG_ERROR,

    // enable / disable watching file and executing tests whenever any file changes
    autoWatch: true,

    // start these browsers
    // available browser launchers: https://npmjs.org/browse/keyword/karma-launcher
    //browsers: ['Chrome'],
    browsers: ['ChromeHeadless'],

    // Continuous Integration mode
    // if true, Karma captures browsers, runs the tests and exits
    singleRun: true,
    // leave Jasmine Spec Runner output visible in browser
    client:{
      clearContext: false 
    },

    // Concurrency level
    // how many browser should be started simultaneous
    concurrency: 1
  });
}

Prerequisites for development
  • NodeJS 8.0.0 https://nodejs.org/download/release/v8.0.0/
Build
  • npm install
  • npm build

Example

https://github.com/shrutigv/sonarQube-typescript-setup

Keywords

FAQs

Package last updated on 12 Feb 2019

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc