import { Config as KarmaConfig , ConfigOptions as KarmaConfigOptions } from "karma" ; import { saucelabs , webpack } from "./config" ; import * as browsers from "./config/browsers/integration.json" ; export default ( config ) => { config . set ( { basePath : __dirname , frameworks : [ "jasmine" , "viewport" ] , files : [ "suites/integration/**/*.ts" ] , preprocessors : { "**/*.ts" : [ "webpack" , "sourcemap" ] } , plugins : [ ... config . plugins ! , require . resolve ( ".." ) ] , webpack : webpack ( config ) , reporters : config . singleRun ? [ "spec" ] : [ "spec" , "clear-screen" ] , browsers : [ "Chrome" ] , specReporter : { suppressErrorSummary : true , suppressSkipped : ! config . singleRun } , mime : { "text/x-typescript" : [ "ts" ] } , client : { jasmine : { random : false } } , viewport : { breakpoints : [ { name : "mobile" , size : { width : 320 , height : 480 } } , { name : "tablet" , size : { width : 768 , height : 1024 } } , { name : "screen" , size : { width : 1440 , height : 900 } } ] } , ... ( process . env . GITHUB_ACTIONS || process . env . SAUCE ? saucelabs ( config , browsers ) : { } ) , coverageIstanbulReporter : { reports : [ ] } } ) ; } ;