Skip to content

Commit cea0061

Browse files
authored
Merge pull request #20 from msgpack/karma-config
setup Karma config
2 parents aa304c4 + 1cac63b commit cea0061

File tree

7 files changed

+6477
-5
lines changed

7 files changed

+6477
-5
lines changed

.gitignore

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ node_modules/
22
dist/
33
dist.es5/
44
build/
5-
package-lock.json
65
.nyc_output/
76
coverage/
87
benchmark/sandbox.ts

.travis.yml

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,17 @@
1+
# https://docs.travis-ci.com/user/languages/javascript-with-nodejs/
12
language: node_js
3+
addons:
4+
firefox: latest
25
node_js:
3-
- "10"
4-
- "12"
6+
- "lts/*"
7+
- "node"
58
cache: npm
6-
before_install: npm install -g nyc codecov
7-
script: npm run test:cover
9+
install:
10+
- npm install -g nyc codecov
11+
- npm ci
12+
script:
13+
- npm run test:browser:firefox
14+
- npm run test:cover
815
after_success:
916
- nyc report --reporter=json > coverage/coverage.json
1017
- codecov

karma.conf.ts

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
const webpackConfig = require("./webpack.config.js");
2+
3+
export default function configure(config: any) {
4+
config.set({
5+
browsers: ["FirefoxHeadless", "ChromeHeadless"],
6+
7+
basePath: "",
8+
frameworks: ["mocha"],
9+
files: ["./test/karma-run.ts"],
10+
exclude: [],
11+
preprocessors: {
12+
"**/*.ts": ["webpack", "sourcemap"],
13+
},
14+
reporters: ["mocha"],
15+
port: 9876,
16+
colors: true,
17+
logLevel: config.LOG_INFO,
18+
autoWatch: true,
19+
singleRun: false,
20+
concurrency: 2,
21+
22+
webpack: {
23+
mode: "development",
24+
25+
// Handles NodeJS polyfills
26+
// https://webpack.js.org/configuration/node
27+
// Note that the dependencies in https://github.com/webpack/node-libs-browser are sometimes too old.
28+
node: {
29+
assert: false,
30+
util: false,
31+
buffer: false,
32+
},
33+
resolve: {
34+
...webpackConfig.resolve,
35+
alias: {
36+
assert$: "assert/assert.js",
37+
},
38+
},
39+
module: {
40+
rules: [
41+
{
42+
test: /\.tsx?$/,
43+
loader: "ts-loader",
44+
options: {
45+
configFile: "tsconfig.karma.json",
46+
// FIXME: some types for dependencies cannot be resolved, so ignore type checking for now.
47+
transpileOnly: true,
48+
},
49+
},
50+
],
51+
},
52+
optimization: {
53+
minimize: false,
54+
},
55+
devtool: "inline-source-map",
56+
},
57+
mime: {
58+
"text/x-typescript": ["ts", "tsx"],
59+
},
60+
});
61+
}

0 commit comments

Comments
 (0)