Skip to content

Commit f5463f0

Browse files
authored
build: replace mocha, sinon and chai with jest (#590)
1 parent d745181 commit f5463f0

19 files changed

+10733
-8653
lines changed

codecov.yml

Lines changed: 0 additions & 1 deletion
This file was deleted.

gulpfile.ts

Lines changed: 6 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,9 @@ import * as gulp from "gulp";
44
import * as del from "del";
55
import * as shell from "gulp-shell";
66
import * as replace from "gulp-replace";
7-
import * as mocha from "gulp-mocha";
8-
import * as chai from "chai";
97
import tslintPlugin from "gulp-tslint";
108
import * as ts from "gulp-typescript";
119
import * as sourcemaps from "gulp-sourcemaps";
12-
import * as istanbul from "gulp-istanbul";
1310
import { rollup, RollupOptions, Plugin } from "rollup";
1411
import { terser as rollupTerser } from "rollup-plugin-terser";
1512

@@ -23,7 +20,6 @@ const rollupUglify = require("rollup-plugin-uglify");
2320

2421

2522
const conventionalChangelog = require("gulp-conventional-changelog");
26-
const remapIstanbul = require("remap-istanbul/lib/gulpRemapIstanbul");
2723

2824
@Gulpclass()
2925
export class Gulpfile {
@@ -71,15 +67,11 @@ export class Gulpfile {
7167
* Runs typescript files compilation.
7268
*/
7369
@Task()
74-
compileTests() {
75-
const tsProjectEsm5 = ts.createProject("tsconfig.json", { rootDir: "./" });
76-
const tsResultEsm5 = gulp.src(["./{test,src}/**/*.ts"])
77-
.pipe(sourcemaps.init())
78-
.pipe(tsProjectEsm5());
79-
80-
return tsResultEsm5.js
81-
.pipe(sourcemaps.write(".", { sourceRoot: "", includeContent: true }))
82-
.pipe(gulp.dest("build/compile"));
70+
runTests() {
71+
return require("child_process").spawn("npx jest --coverage", {
72+
stdio: 'inherit',
73+
shell: true
74+
});
8375
}
8476

8577
// -------------------------------------------------------------------------
@@ -241,55 +233,12 @@ export class Gulpfile {
241233
}));
242234
}
243235

244-
/**
245-
* Runs unit-tests.
246-
*/
247-
@Task()
248-
unit() {
249-
chai.should();
250-
chai.use(require("sinon-chai"));
251-
chai.use(require("chai-as-promised"));
252-
return gulp.src("./build/compiled/test/**/*.js")
253-
.pipe(mocha());
254-
}
255-
256-
/**
257-
* Runs before test coverage, required step to perform a test coverage.
258-
*/
259-
@Task()
260-
coveragePre() {
261-
return gulp.src(["./build/compiled/src/**/*.js"])
262-
.pipe(istanbul())
263-
.pipe(istanbul.hookRequire());
264-
}
265-
266-
/**
267-
* Runs post coverage operations.
268-
*/
269-
@Task("coveragePost")
270-
coveragePost() {
271-
chai.should();
272-
chai.use(require("sinon-chai"));
273-
chai.use(require("chai-as-promised"));
274-
275-
return gulp.src(["./build/compile/test/**/*.js"])
276-
.pipe(mocha())
277-
.pipe(istanbul.writeReports());
278-
}
279-
280-
@Task()
281-
coverageRemap() {
282-
return gulp.src("./coverage/coverage-final.json")
283-
.pipe(remapIstanbul())
284-
.pipe(gulp.dest("./coverage"));
285-
}
286-
287236
/**
288237
* Compiles the code and runs tests.
289238
*/
290239
@SequenceTask()
291240
tests() {
292-
return ["clean", "compileTests", "tslint", "coveragePre", "coveragePost", "coverageRemap"];
241+
return ["clean", "tslint", "runTests"];
293242
}
294243

295244
private _rollupPackageBundleEsm5(isMin: boolean) {

jest.config.js

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
module.exports = {
2+
modulePaths: ["<rootDir>/node_modules"],
3+
transform: {
4+
"^.+\\.tsx?$": "ts-jest"
5+
},
6+
testRegex: "(/__test__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$",
7+
testEnvironment: "node",
8+
moduleFileExtensions: [
9+
"ts",
10+
"tsx",
11+
"js",
12+
"jsx",
13+
"json",
14+
"node"
15+
],
16+
modulePathIgnorePatterns: [
17+
"<rootDir>/build/"
18+
],
19+
coverageReporters: [
20+
// "html",
21+
// "lcov",
22+
"text-summary"
23+
]
24+
};

0 commit comments

Comments
 (0)