From d23660d13c0430388e09f1e6cc0d62c48b0193df Mon Sep 17 00:00:00 2001 From: Jamie Wong Date: Tue, 29 May 2018 19:59:04 -0700 Subject: [PATCH] Add test coverage reporting (#55) This adds an integration with https://coveralls.io/ to report on code coverage of tests --- .gitignore | 1 + package-lock.json | 33 +++++++++++++++++++++++++++++++++ package.json | 18 ++++++------------ 3 files changed, 40 insertions(+), 12 deletions(-) diff --git a/.gitignore b/.gitignore index ea3b429..a1cb3fd 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ node_modules .cache dist .idea +coverage diff --git a/package-lock.json b/package-lock.json index 8820e68..fd7ce19 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2433,6 +2433,27 @@ "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", "dev": true }, + "coveralls": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/coveralls/-/coveralls-3.0.1.tgz", + "integrity": "sha512-FAzXwiDOYLGDWH+zgoIA+8GbWv50hlx+kpEJyvzLKOdnIBv9uWoVl4DhqGgyUHpiRjAlF8KYZSipWXYtllWH6Q==", + "dev": true, + "requires": { + "js-yaml": "3.11.0", + "lcov-parse": "0.0.10", + "log-driver": "1.2.7", + "minimist": "1.2.0", + "request": "2.87.0" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + } + } + }, "cpx": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/cpx/-/cpx-1.5.0.tgz", @@ -6438,6 +6459,12 @@ "invert-kv": "1.0.0" } }, + "lcov-parse": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/lcov-parse/-/lcov-parse-0.0.10.tgz", + "integrity": "sha1-GwuP+ayceIklBYK3C3ExXZ2m2aM=", + "dev": true + }, "left-pad": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/left-pad/-/left-pad-1.3.0.tgz", @@ -6519,6 +6546,12 @@ "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=", "dev": true }, + "log-driver": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/log-driver/-/log-driver-1.2.7.tgz", + "integrity": "sha512-U7KCmLdqsGHBLeWqYlFA0V0Sl6P08EE1ZrmA9cxjUE0WVqT9qnyVDPz1kzpFEP0jdJuFnasWIfSd7fsaNXkpbg==", + "dev": true + }, "longest": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", diff --git a/package.json b/package.json index 2a211f0..bdcad89 100644 --- a/package.json +++ b/package.json @@ -8,19 +8,18 @@ "prettier": "prettier --write './**/*.ts' './**/*.tsx'", "lint": "eslint './**/*.ts' './**/*.tsx'", "jest": "jest", - "test": "tsc --noEmit && npm run lint && jest", + "coverage": "npm run jest -- --coverage && coveralls < coverage/lcov.info", + "test": "tsc --noEmit && npm run lint && npm run coverage", "serve": "parcel index.html --open --no-autoinstall" }, - "browserslist": [ - "last 2 Chrome versions", - "last 2 Firefox versions" - ], + "browserslist": ["last 2 Chrome versions", "last 2 Firefox versions"], "author": "", "license": "MIT", "devDependencies": { "@types/jest": "^22.2.3", "@types/pako": "1.0.0", "aphrodite": "2.1.0", + "coveralls": "^3.0.1", "eslint": "^4.19.1", "eslint-plugin-prettier": "^2.6.0", "jest": "^23.0.1", @@ -40,12 +39,7 @@ "^.+\\.tsx?$": "ts-jest" }, "testRegex": "\\.test\\.tsx?$", - "moduleFileExtensions": [ - "ts", - "tsx", - "js", - "jsx", - "json" - ] + "collectCoverageFrom": ["*.{ts,tsx}", "!*.d.{ts,tsx}"], + "moduleFileExtensions": ["ts", "tsx", "js", "jsx", "json"] } }