process.env.CHROME_BIN = require("puppeteer").executablePath(); module.exports = function (config) { config.set({ frameworks: ["mocha", "karma-typescript"], files: ["src/lib/**/*.ts", "src/proto/**/*.ts"], preprocessors: { "**/*.ts": ["karma-typescript", "env"], }, envPreprocessor: ["CI"], plugins: [ require("karma-mocha"), require("karma-typescript"), require("karma-chrome-launcher"), require("karma-env-preprocessor"), ], reporters: ["progress", "karma-typescript"], browsers: ["ChromeHeadless"], singleRun: true, client: { mocha: { timeout: 6000, // Default is 2s }, }, karmaTypescriptConfig: { bundlerOptions: { entrypoints: /^.*[^(node)]\.spec\.ts$/, }, coverageOptions: { instrumentation: false, }, tsconfig: "./tsconfig.json", compilerOptions: { noEmit: false, }, include: { mode: "replace", values: ["src/lib/**/*.ts", "src/proto/**/*.ts"], }, exclude: { mode: "replace", values: ["node_modules/**"], }, }, }); };