-
Notifications
You must be signed in to change notification settings - Fork 3
/
karma.conf.ts
50 lines (47 loc) · 1.31 KB
/
karma.conf.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
import { Config, ConfigOptions } from "karma";
import * as puppeteer from "puppeteer";
// Use local Chrome binary
process.env.CHROME_BIN = puppeteer.executablePath();
export default function(config: Config) {
config.set({
frameworks: ["mocha", "chai", "sinon", "karma-typescript"],
files: ["test/**/*.ts", "src/**/*.ts"],
reporters: ["mocha", "karma-typescript"],
port: 9876,
colors: true,
logLevel: config.LOG_INFO,
browsers: ["ChromeHeadlessNoSandbox"],
customLaunchers: {
ChromeHeadlessNoSandbox: {
base: "ChromeHeadless",
flags: ["--no-sandbox"]
}
},
autoWatch: false,
concurrency: Infinity,
singleRun: false,
preprocessors: {
"**/*.ts": "karma-typescript"
},
mime: {
"text/x-typescript": ["ts", "tsx"]
},
karmaTypescriptConfig: {
tsconfig: "./tsconfig.json",
include: ["test"],
compilerOptions: {
module: "commonjs",
sourceMap: true,
inlineSourceMap: false,
types: ["node"]
},
bundlerOptions: {
entrypoints: /.*\/test\/(?!helpers\/).*\.ts$/,
sourceMap: true
}
}
} as ExtendedConfigOptions);
}
interface ExtendedConfigOptions extends ConfigOptions {
karmaTypescriptConfig: any;
}