diff --git a/.evergreen.yml b/.evergreen.yml index c6380c4bb7..5ea5ce06b6 100644 --- a/.evergreen.yml +++ b/.evergreen.yml @@ -5541,6 +5541,17 @@ functions: permissions: private visibility: signed content_type: application/x-gzip + - command: shell.exec + params: + working_dir: src + shell: bash + script: | + set -e + { + export NODE_JS_VERSION=${node_js_version} + source .evergreen/setup-env.sh + npm run check-coverage + } test_vscode: - command: shell.exec diff --git a/.evergreen/evergreen.yml.in b/.evergreen/evergreen.yml.in index 6a670b2b5a..1b14a05386 100644 --- a/.evergreen/evergreen.yml.in +++ b/.evergreen/evergreen.yml.in @@ -242,6 +242,17 @@ functions: permissions: private visibility: signed content_type: application/x-gzip + - command: shell.exec + params: + working_dir: src + shell: bash + script: | + set -e + { + export NODE_JS_VERSION=${node_js_version} + source .evergreen/setup-env.sh + npm run check-coverage + } test_vscode: - command: shell.exec diff --git a/.nycrc b/.nycrc index ab8c7db01a..6eeae76686 100644 --- a/.nycrc +++ b/.nycrc @@ -1,4 +1,9 @@ { + "include": [ + "packages/*/src/**", + "scripts/*/src/**", + "configs/*/src/**" + ], "exclude": [ "test", "testing", diff --git a/package.json b/package.json index b4fd69aa08..df0fe545c5 100644 --- a/package.json +++ b/package.json @@ -54,8 +54,9 @@ "report-supported-api": "lerna run --stream --scope @mongosh/shell-api report-supported-api", "post-process-nyc": "ts-node scripts/nyc/post-process-nyc-output.ts", "pre-process-coverage": "ts-node scripts/nyc/pre-process-coverage.ts", - "report-coverage": "nyc report --reporter=text --reporter=html && nyc check-coverage --lines=95", - "report-coverage-ci": "npm run pre-process-coverage && nyc report --reporter=text --reporter=html && nyc check-coverage --lines=95", + "report-coverage": "nyc report --reporter=text --reporter=html", + "report-coverage-ci": "npm run pre-process-coverage && nyc report --reporter=text --reporter=html", + "check-coverage": "nyc check-coverage --lines=80", "generate-error-overview": "lerna run --stream --scope @mongosh/errors generate-error-overview", "update-authors": "ts-node -P configs/tsconfig-mongosh/tsconfig.common.json scripts/generate-authors.ts", "preupdate-third-party-notices": "npm run webpack-build -w packages/cli-repl", diff --git a/scripts/nyc/post-process-nyc-output.ts b/scripts/nyc/post-process-nyc-output.ts index 9a65beea8a..131a448feb 100644 --- a/scripts/nyc/post-process-nyc-output.ts +++ b/scripts/nyc/post-process-nyc-output.ts @@ -4,5 +4,13 @@ import { transformCoverageFiles } from './transform-coverage'; const projectRoot = path.resolve(__dirname, '..', '..'); transformCoverageFiles( projectRoot, - p => p.replace(projectRoot, '') + (p) => { + if (p.startsWith(projectRoot)) { + return p.replace(projectRoot, ''); + } + else { + console.log(`${p} does not start with ${projectRoot}`); + return p; + } + } ); \ No newline at end of file diff --git a/scripts/nyc/pre-process-coverage.ts b/scripts/nyc/pre-process-coverage.ts index 7c1e0cc60d..51cf8a9dcf 100644 --- a/scripts/nyc/pre-process-coverage.ts +++ b/scripts/nyc/pre-process-coverage.ts @@ -1,8 +1,20 @@ +import fs from 'fs'; import * as path from 'path'; import { transformCoverageFiles } from './transform-coverage'; const projectRoot = path.resolve(__dirname, '..', '..'); transformCoverageFiles( projectRoot, - p => projectRoot + p + (p) => { + if (p.startsWith(projectRoot)) { + // try and make this idempotent + return p; + } + + const fullPath = projectRoot + p; + if (!fs.existsSync(fullPath)) { + console.log(`${fullPath} does not exist`); + } + return fullPath; + } ); \ No newline at end of file