From c2aaa3ca91a6f75d61a15cd54c81b2bf87f5ff6d Mon Sep 17 00:00:00 2001 From: Rich Gwozdz Date: Mon, 19 Feb 2024 10:12:49 -0800 Subject: [PATCH] chore: consolidate changes --- .github/workflows/ci-tests.yml | 20 ++- .github/workflows/pr-tests.yml | 76 +++++++++++ .gitignore | 6 +- ci/clean-coverage.js | 8 ++ ci/format-branch-coverage-changes.js | 44 +++++++ ci/run-coverage-on-branch-changes.js | 21 ++++ package-lock.json | 153 +++++++++++++++++++++++ package.json | 19 ++- packages/cache-memory/package.json | 7 +- packages/core/package.json | 5 +- packages/featureserver/package.json | 5 +- packages/logger/package.json | 5 +- packages/output-geoservices/package.json | 4 +- packages/winnow/package.json | 6 +- 14 files changed, 354 insertions(+), 25 deletions(-) create mode 100644 .github/workflows/pr-tests.yml create mode 100644 ci/clean-coverage.js create mode 100644 ci/format-branch-coverage-changes.js create mode 100644 ci/run-coverage-on-branch-changes.js diff --git a/.github/workflows/ci-tests.yml b/.github/workflows/ci-tests.yml index f28849d12..d9bfc08a9 100644 --- a/.github/workflows/ci-tests.yml +++ b/.github/workflows/ci-tests.yml @@ -1,17 +1,8 @@ -name: CI tests +name: Master CI Tests on: push: branches: [ master ] - pull_request: - branches: - - master - - beta - paths: - - "./.github/**.yml" - - "**/packages/**.js" - - "**/packages/**/package.json" - - "test/**/*.js" jobs: pr-tests: @@ -24,7 +15,14 @@ jobs: # See supported Node.js release schedule at https://nodejs.org/en/about/releases/ steps: - - uses: actions/checkout@v3 + - name: Checkout actions + uses: actions/checkout@v3 + with: + fetch-depth: 0 + - run: | + git checkout -b master origin/master + git checkout - + - uses: actions/setup-node@v3 with: node-version: ${{ matrix.node-version }} diff --git a/.github/workflows/pr-tests.yml b/.github/workflows/pr-tests.yml new file mode 100644 index 000000000..6b0eea3c6 --- /dev/null +++ b/.github/workflows/pr-tests.yml @@ -0,0 +1,76 @@ +name: PR CI + +on: + pull_request: + branches: + - master + - beta + paths: + - "./.github/**.yml" + - "**/packages/**.js" + - "**/packages/**/package.json" + - "test/**/*.js" + +jobs: + pr-tests: + name: Install, lint, test + runs-on: ${{ matrix.os }} + strategy: + matrix: + node-version: [18.x] + os: [ubuntu-latest, windows-latest] + # See supported Node.js release schedule at https://nodejs.org/en/about/releases/ + + steps: + - name: Checkout actions + uses: actions/checkout@v3 + with: + fetch-depth: 0 + - run: | + git checkout -b master origin/master + git checkout - + + - uses: actions/setup-node@v3 + with: + node-version: ${{ matrix.node-version }} + + - name: Install npm 7 + run: npm i -g npm@7 --registry=https://registry.npmjs.org + + - name: Install + run: npm ci + + - name: Lint + run: npm run lint:ci + + - name: Unit tests + run: npm test --workspaces + + - name: E2E tests + run: npm run test:e2e + + - name: Run Coverage + if: ${{ matrix.os == 'ubuntu-latest' }} + run: npm run clean:cov && npm run test:cov:changes && npm run cov:md + + - name: Run Coverage + if: ${{ matrix.os == 'ubuntu-latest' }} + run: cat coverage_changes/coverage-summary.json + + - name: Find previous coverage comment + if: ${{ matrix.os == 'ubuntu-latest' }} + uses: peter-evans/find-comment@v1 + id: findcomment + with: + issue-number: ${{ github.event.pull_request.number }} + comment-author: 'github-actions[bot]' + body-includes: Coverage Report + + - name: Create or update comment + if: ${{ matrix.os == 'ubuntu-latest' }} + uses: peter-evans/create-or-update-comment@v4 + with: + comment-id: ${{ steps.findcomment.outputs.comment-id }} + issue-number: ${{ github.event.pull_request.number }} + body-path: ci/branch-coverage-changes.md + edit-mode: replace diff --git a/.gitignore b/.gitignore index 034b0b011..072d28d28 100644 --- a/.gitignore +++ b/.gitignore @@ -1,9 +1,13 @@ node_modules coverage coverage_unit +coverage_changes +coverage.json .nyc_output .nyc_output_unit +.nyc_output_changes .vscode **/.DS_Store .env -.npmrc \ No newline at end of file +.npmrc +ci/branch-coverage-changes.md \ No newline at end of file diff --git a/ci/clean-coverage.js b/ci/clean-coverage.js new file mode 100644 index 000000000..579f5f8bc --- /dev/null +++ b/ci/clean-coverage.js @@ -0,0 +1,8 @@ +const shell = require('shelljs'); + +shell.rm('-rf', 'coverage'); +shell.rm('-rf', 'coverage_unit'); +shell.rm('-rf', 'coverage_changes'); +shell.rm('-rf', '.nyc_output'); +shell.rm('-rf', '.nyc_output_unit'); +shell.rm('-rf', '.nyc_output_changes'); \ No newline at end of file diff --git a/ci/format-branch-coverage-changes.js b/ci/format-branch-coverage-changes.js new file mode 100644 index 000000000..207b0b669 --- /dev/null +++ b/ci/format-branch-coverage-changes.js @@ -0,0 +1,44 @@ +const { writeFileSync } = require('fs'); +const json2md = require('json2md'); +const coverageSummary = require('../coverage_changes/coverage-summary.json'); + +const rows = Object.entries(coverageSummary) + .filter(([filePath]) => { + return filePath !== 'total'; + }) + .map(([filePath, value]) => { + const packagePath = filePath.split('packages')[1]; + return [ + `packages${packagePath}`, + getValue(value.statements), + getValue(value.branches), + getValue(value.functions), + getValue(value.lines), + ]; + }); + +const headers = ['File Path', 'Statements', 'Branches', 'Functions', 'Lines']; +const markdown = json2md([{ h2: 'Coverage Report'}, { table: { headers, rows } }]); +const aligned = markdown.replace('| --------- | ---------- | -------- | --------- | ----- |', '| :--------- | ----------: | --------: | ---------: | -----: |'); +writeFileSync('ci/branch-coverage-changes.md', aligned, 'utf8'); + +function getValue(input) { + if (input.pct === 100) { + return `${input.pct} ![green](https://github.com/koopjs/koop/assets/4369192/fd82d4b7-7f6e-448c-a56c-82ac6781a629)`; + } + + if (input.pct > 90) { + return `${input.pct} ![yellow-green](https://github.com/koopjs/koop/assets/4369192/683b2df8-7379-4e4f-bb36-f5e20b2631d6)`; + } + + if (input.pct > 80) { + return `${input.pct} ![yellow](https://github.com/koopjs/koop/assets/4369192/d5214a5c-c5a9-4449-82ca-8a4e922ef9ef)`; + } + + if (input.pct > 70) { + return `${input.pct} ![orange](https://github.com/koopjs/koop/assets/4369192/8651f10c-e986-491d-8b51-bc559aac88a2)`; + } + + return `${input.pct} ![red](https://github.com/koopjs/koop/assets/4369192/83e9c13e-0548-4b97-a116-6e49f77a8f38)`; +} + diff --git a/ci/run-coverage-on-branch-changes.js b/ci/run-coverage-on-branch-changes.js new file mode 100644 index 000000000..c491fa829 --- /dev/null +++ b/ci/run-coverage-on-branch-changes.js @@ -0,0 +1,21 @@ +const shell = require('shelljs'); +const git = require('simple-git'); + +git().diffSummary(['--name-only', '--relative', 'origin/master']) + .then(summary => { + const {files} = summary; + const srcFiles = files.filter(({ file }) => { + return file.endsWith('.js') && !file.endsWith('spec.js'); + }).map(({ file }) => { + return `-n ${file}`; + }); + + if (srcFiles.length === 0) { + process.exit(); + } + + const cmd = `nyc -r=json-summary --report-dir=coverage_changes --temp-dir=.nyc_output_changes ${srcFiles.join(' ')} npm run test:quiet`; + shell.exec(cmd); + }); + +//console.log(diff) \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index c2638c1fe..f1a60476a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -36,11 +36,14 @@ "husky": "^8.0.3", "jest": "^29.7.0", "jest-coverage-badges-ng": "^1.0.1", + "json2md": "^2.0.1", "lerna": "^8.1.2", "lerna-changelog": "^2.2.0", "lint-staged": "^15.2.2", "nyc": "^15.1.0", "prettier": "^3.2.5", + "shelljs": "^0.8.5", + "simple-git": "^3.22.0", "snyk": "^1.1279.0", "supertest": "^6.3.4" } @@ -2995,6 +2998,21 @@ "resolved": "packages/winnow", "link": true }, + "node_modules/@kwsites/file-exists": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@kwsites/file-exists/-/file-exists-1.1.1.tgz", + "integrity": "sha512-m9/5YGR18lIwxSFDwfE3oA7bWuq9kdau6ugN4H2rJeyhFQZcG9AgSHkQtSD15a8WvTgfz9aikZMrKPHvbpqFiw==", + "dev": true, + "dependencies": { + "debug": "^4.1.1" + } + }, + "node_modules/@kwsites/promise-deferred": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@kwsites/promise-deferred/-/promise-deferred-1.1.1.tgz", + "integrity": "sha512-GaHYm+c0O9MjZRu0ongGBRbinu8gVAMd2UZjji6jVmqKtZluZnptXGWhz1E8j8D2HJ3f/yMxKAUC0b+57wncIw==", + "dev": true + }, "node_modules/@lerna/create": { "version": "8.1.2", "resolved": "https://registry.npmjs.org/@lerna/create/-/create-8.1.2.tgz", @@ -9942,6 +9960,12 @@ "node": ">=8" } }, + "node_modules/indento": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/indento/-/indento-1.1.13.tgz", + "integrity": "sha512-YZWk3mreBEM7sBPddsiQnW9Z8SGg/gNpFfscJq00HCDS7pxcQWWWMSVKJU7YkTRyDu1Zv2s8zaK8gQWKmCXHlg==", + "dev": true + }, "node_modules/infer-owner": { "version": "1.0.4", "dev": true, @@ -10139,6 +10163,15 @@ "node": ">= 0.4" } }, + "node_modules/interpret": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", + "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, "node_modules/ip": { "version": "2.0.0", "dev": true, @@ -12584,6 +12617,15 @@ "dev": true, "license": "ISC" }, + "node_modules/json2md": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/json2md/-/json2md-2.0.1.tgz", + "integrity": "sha512-VbwmZ83qmUfKBS2pUOHlzNKEZFPBeJSbzEok3trMYyboZUgdHNn1XZfc1uT8UZs1GHCrmRUBXCfqw4YmmQuOhw==", + "dev": true, + "dependencies": { + "indento": "^1.1.13" + } + }, "node_modules/json5": { "version": "2.2.3", "license": "MIT", @@ -18390,6 +18432,18 @@ "node": ">=8.10.0" } }, + "node_modules/rechoir": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==", + "dev": true, + "dependencies": { + "resolve": "^1.1.6" + }, + "engines": { + "node": ">= 0.10" + } + }, "node_modules/redent": { "version": "3.0.0", "dev": true, @@ -18892,6 +18946,23 @@ "node": ">=8" } }, + "node_modules/shelljs": { + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", + "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", + "dev": true, + "dependencies": { + "glob": "^7.0.0", + "interpret": "^1.0.0", + "rechoir": "^0.6.2" + }, + "bin": { + "shjs": "bin/shjs" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/should": { "version": "13.2.3", "dev": true, @@ -19146,6 +19217,21 @@ "simple-concat": "^1.0.0" } }, + "node_modules/simple-git": { + "version": "3.22.0", + "resolved": "https://registry.npmjs.org/simple-git/-/simple-git-3.22.0.tgz", + "integrity": "sha512-6JujwSs0ac82jkGjMHiCnTifvf1crOiY/+tfs/Pqih6iow7VrpNKRRNdWm6RtaXpvvv/JGNYhlUtLhGFqHF+Yw==", + "dev": true, + "dependencies": { + "@kwsites/file-exists": "^1.1.1", + "@kwsites/promise-deferred": "^1.1.1", + "debug": "^4.3.4" + }, + "funding": { + "type": "github", + "url": "https://github.com/steveukx/git-js?sponsor=1" + } + }, "node_modules/simple-statistics": { "version": "7.8.3", "license": "ISC", @@ -23957,6 +24043,21 @@ "wkt-parser": "^1.3.3" } }, + "@kwsites/file-exists": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@kwsites/file-exists/-/file-exists-1.1.1.tgz", + "integrity": "sha512-m9/5YGR18lIwxSFDwfE3oA7bWuq9kdau6ugN4H2rJeyhFQZcG9AgSHkQtSD15a8WvTgfz9aikZMrKPHvbpqFiw==", + "dev": true, + "requires": { + "debug": "^4.1.1" + } + }, + "@kwsites/promise-deferred": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@kwsites/promise-deferred/-/promise-deferred-1.1.1.tgz", + "integrity": "sha512-GaHYm+c0O9MjZRu0ongGBRbinu8gVAMd2UZjji6jVmqKtZluZnptXGWhz1E8j8D2HJ3f/yMxKAUC0b+57wncIw==", + "dev": true + }, "@lerna/create": { "version": "8.1.2", "resolved": "https://registry.npmjs.org/@lerna/create/-/create-8.1.2.tgz", @@ -28853,6 +28954,12 @@ "version": "4.0.0", "dev": true }, + "indento": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/indento/-/indento-1.1.13.tgz", + "integrity": "sha512-YZWk3mreBEM7sBPddsiQnW9Z8SGg/gNpFfscJq00HCDS7pxcQWWWMSVKJU7YkTRyDu1Zv2s8zaK8gQWKmCXHlg==", + "dev": true + }, "infer-owner": { "version": "1.0.4", "dev": true @@ -28999,6 +29106,12 @@ "side-channel": "^1.0.4" } }, + "interpret": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", + "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", + "dev": true + }, "ip": { "version": "2.0.0", "dev": true @@ -30693,6 +30806,15 @@ "version": "5.0.1", "dev": true }, + "json2md": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/json2md/-/json2md-2.0.1.tgz", + "integrity": "sha512-VbwmZ83qmUfKBS2pUOHlzNKEZFPBeJSbzEok3trMYyboZUgdHNn1XZfc1uT8UZs1GHCrmRUBXCfqw4YmmQuOhw==", + "dev": true, + "requires": { + "indento": "^1.1.13" + } + }, "json5": { "version": "2.2.3" }, @@ -34733,6 +34855,15 @@ "picomatch": "^2.2.1" } }, + "rechoir": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==", + "dev": true, + "requires": { + "resolve": "^1.1.6" + } + }, "redent": { "version": "3.0.0", "dev": true, @@ -35062,6 +35193,17 @@ "version": "3.0.0", "dev": true }, + "shelljs": { + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", + "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", + "dev": true, + "requires": { + "glob": "^7.0.0", + "interpret": "^1.0.0", + "rechoir": "^0.6.2" + } + }, "should": { "version": "13.2.3", "dev": true, @@ -35243,6 +35385,17 @@ "simple-concat": "^1.0.0" } }, + "simple-git": { + "version": "3.22.0", + "resolved": "https://registry.npmjs.org/simple-git/-/simple-git-3.22.0.tgz", + "integrity": "sha512-6JujwSs0ac82jkGjMHiCnTifvf1crOiY/+tfs/Pqih6iow7VrpNKRRNdWm6RtaXpvvv/JGNYhlUtLhGFqHF+Yw==", + "dev": true, + "requires": { + "@kwsites/file-exists": "^1.1.1", + "@kwsites/promise-deferred": "^1.1.1", + "debug": "^4.3.4" + } + }, "simple-statistics": { "version": "7.8.3" }, diff --git a/package.json b/package.json index 1fc828a6a..51c14591e 100644 --- a/package.json +++ b/package.json @@ -11,18 +11,24 @@ "commit": "cz", "precommit": "lint-staged && npm test --workspaces", "test": "npm test --workspaces", - "test:cov": "npm run test:cov --workspaces && npm run cov:compile && npm run cov:report", + "test:cov": "npm run test:cov --workspaces --silent && npm run cov:compile:full && npm run cov:report:full", "test:cov:unit": "npm run test:cov:unit --workspaces && npm run cov:compile:unit && npm run cov:report:unit", - "cov:compile": "nyc merge packages/cache-memory/.nyc_output .nyc_output/cache-memory.json && nyc merge packages/featureserver/.nyc_output .nyc_output/featureserver.json && nyc merge packages/core/.nyc_output .nyc_output/core.json && nyc merge packages/logger/.nyc_output .nyc_output/logger.json && cp packages/output-geoservices/coverage/coverage-final.json .nyc_output/output-geoservices.json && nyc merge packages/winnow/.nyc_output .nyc_output/winnow.json", - "cov:compile:unit": "nyc merge packages/cache-memory/.nyc_output .nyc_output_unit/cache-memory.json && nyc merge packages/featureserver/.nyc_output_unit .nyc_output_unit/featureserver.json && nyc merge packages/core/.nyc_output .nyc_output_unit/core.json && nyc merge packages/logger/.nyc_output .nyc_output_unit/logger.json && cp packages/output-geoservices/coverage/coverage-final.json .nyc_output_unit/output-geoservices.json && nyc merge packages/winnow/.nyc_output_unit .nyc_output_unit/winnow.json", - "cov:report": "nyc report --reporter=html", + "test:cov:changes": "npm run test:cov:changes --workspaces --silent && npm run cov:compile:changes && npm run cov:report:changes", + "cov:compile": "nyc merge packages/cache-memory/$OUT_DIR $OUT_DIR/cache-memory.json 2>/dev/null || : && nyc merge packages/featureserver/$OUT_DIR $OUT_DIR/featureserver.json 2>/dev/null || : && nyc merge packages/core/$OUT_DIR $OUT_DIR/core.json 2>/dev/null || : && nyc merge packages/logger/$OUT_DIR $OUT_DIR/logger.json 2>/dev/null || : && cp packages/output-geoservices/$GEO_DIR/coverage-final.json $OUT_DIR/output-geoservices.json 2>/dev/null || : && nyc merge packages/winnow/$OUT_DIR $OUT_DIR/winnow.json 2>/dev/null || :", + "cov:compile:full": "OUT_DIR=.nyc_output GEO_DIR=coverage npm run cov:compile --silent", + "cov:compile:unit": "OUT_DIR=.nyc_output_unit GEO_DIR=coverage npm run cov:compile", + "cov:compile:changes": "OUT_DIR=.nyc_output_changes GEO_DIR=coverage_changes npm run cov:compile", + "cov:report:full": "nyc report --reporter=html", "cov:report:unit": "nyc report --temp-dir=.nyc_output_unit --report-dir=coverage_unit --reporter=html", + "cov:report:changes": "nyc report --temp-dir=.nyc_output_changes --report-dir=coverage_changes --reporter=json-summary", "test:e2e": "cross-env SUPPRESS_NO_CONFIG_WARNING=true DATA_DIR=./test/provider-data jest", "version": "changeset version", "release:npm": "changeset publish", "release:github": "node gh-release.js", "changeset:add": "changeset", - "demo": "node demo/index.js" + "demo": "node demo/index.js", + "clean:cov": "node ci/clean-coverage.js && npm run clean:cov --workspaces", + "cov:md": "node ci/format-branch-coverage-changes.js" }, "repository": { "type": "git", @@ -62,11 +68,14 @@ "husky": "^8.0.3", "jest": "^29.7.0", "jest-coverage-badges-ng": "^1.0.1", + "json2md": "^2.0.1", "lerna": "^8.1.2", "lerna-changelog": "^2.2.0", "lint-staged": "^15.2.2", "nyc": "^15.1.0", "prettier": "^3.2.5", + "shelljs": "^0.8.5", + "simple-git": "^3.22.0", "snyk": "^1.1279.0", "supertest": "^6.3.4" }, diff --git a/packages/cache-memory/package.json b/packages/cache-memory/package.json index a1d98aba3..87a3fefaa 100644 --- a/packages/cache-memory/package.json +++ b/packages/cache-memory/package.json @@ -4,10 +4,13 @@ "description": "An in-memory cache for KOop", "main": "src/index.js", "scripts": { - "test": "tape src/**/*.spec.js | tap-spec", + "test": "tape src/**/*.spec.js | tap-spec > /dev/null", "test:cov:unit": "nyc -r=json-summary tape './src/**/*.spec.js' | tap-spec && npm run cov:badge", "test:cov": "nyc -r=json-summary tape './src/**/*.spec.js' | tap-spec && npm run cov:badge", - "cov:badge": "coverage-badges-cli --output ./coverage.svg" + "cov:badge": "coverage-badges-cli --output ./coverage.svg", + "test:quiet": "npm test > /dev/null", + "test:cov:changes": "node ../../ci/run-coverage-on-branch-changes.js", + "clean:cov": "node ../../ci/clean-coverage.js" }, "repository": { "type": "git", diff --git a/packages/core/package.json b/packages/core/package.json index ca1443fa8..c2136d498 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -70,6 +70,9 @@ "test": "mocha '**/*.spec.js' ", "test:cov:unit": "nyc -r=json-summary mocha '**/*.spec.js' && npm run cov:badge", "test:cov": "nyc -r=json-summary mocha '**/*.spec.js' && npm run cov:badge", - "cov:badge": "coverage-badges-cli --output ./coverage.svg" + "cov:badge": "coverage-badges-cli --output ./coverage.svg", + "test:quiet": "npm test > /dev/null", + "test:cov:changes": "node ../../ci/run-coverage-on-branch-changes.js", + "clean:cov": "node ../../ci/clean-coverage.js" } } diff --git a/packages/featureserver/package.json b/packages/featureserver/package.json index 24abce5a7..9e8fe7f56 100644 --- a/packages/featureserver/package.json +++ b/packages/featureserver/package.json @@ -12,7 +12,10 @@ "test:cov:unit": "nyc -r=json-summary --report-dir=coverage_unit --temp-dir=.nyc_output_unit mocha 'src/**/*.spec.js' && npm run cov:badge:unit", "test:cov:unit:loc": "nyc -r=html --report-dir=coverage_unit --temp-dir=.nyc_output_unit mocha 'src/**/*.spec.js' && npm run cov:badge:unit", "cov:badge": "coverage-badges-cli --output ./coverage.svg", - "cov:badge:unit": "coverage-badges-cli --source coverage_unit/coverage-summary.json --output ./coverage-unit.svg" + "cov:badge:unit": "coverage-badges-cli --source coverage_unit/coverage-summary.json --output ./coverage-unit.svg", + "test:quiet": "npm test > /dev/null", + "test:cov:changes": "node ../../ci/run-coverage-on-branch-changes.js", + "clean:cov": "node ../../ci/clean-coverage.js" }, "contributors": [ { diff --git a/packages/logger/package.json b/packages/logger/package.json index 076f60c4f..dd319baaa 100644 --- a/packages/logger/package.json +++ b/packages/logger/package.json @@ -7,7 +7,10 @@ "test": "tape src/**/*.spec.js | tap-spec", "test:cov": "nyc -r=json-summary tape './src/**/*.spec.js' | tap-spec && npm run cov:badge", "test:cov:unit": "nyc -r=json-summary tape './src/**/*.spec.js' | tap-spec && npm run cov:badge", - "cov:badge": "coverage-badges-cli --output ./coverage.svg" + "cov:badge": "coverage-badges-cli --output ./coverage.svg", + "test:quiet": "npm test > /dev/null", + "test:cov:changes": "node ../../ci/run-coverage-on-branch-changes.js", + "clean:cov": "node ../../ci/clean-coverage.js" }, "repository": { "type": "git", diff --git a/packages/output-geoservices/package.json b/packages/output-geoservices/package.json index 1f8c2dd6b..f2d83de5a 100644 --- a/packages/output-geoservices/package.json +++ b/packages/output-geoservices/package.json @@ -7,7 +7,9 @@ "test": "jest", "test:cov:unit": "jest --coverage && npm run cov:badge", "test:cov": "jest --coverage && npm run cov:badge", - "cov:badge": "coverage-badges --output ./coverage.svg" + "cov:badge": "coverage-badges --output ./coverage.svg", + "test:cov:changes": "jest --coverage --changedSince=master --coverageDirectory=coverage_changes --silent > /dev/null", + "clean:cov": "node ../../ci/clean-coverage.js" }, "repository": { "type": "git", diff --git a/packages/winnow/package.json b/packages/winnow/package.json index fca533fbc..6a51f4454 100644 --- a/packages/winnow/package.json +++ b/packages/winnow/package.json @@ -10,11 +10,13 @@ "test": "tape **/*.spec.js | tap-spec", "test:cov": "nyc -r=json-summary tape '**/*.spec.js' | tap-spec && npm run cov:badge && npm run test:cov:unit", "test:cov:unit": "nyc -r=json-summary --report-dir=coverage_unit --temp-dir=.nyc_output_unit tape 'src/**/*.spec.js' | tap-spec && npm run cov:badge:unit", - "test:cov:unit:loc": "nyc -r=html --report-dir=coverage_unit --temp-dir=.nyc_output_unit tape 'src/**/*.spec.js' | tap-spec && npm run cov:badge:unit", "cov:badge": "coverage-badges-cli --output ./coverage.svg", "cov:badge:unit": "coverage-badges-cli --source coverage_unit/coverage-summary.json --output ./coverage-unit.svg", "benchmark": "node benchmark/index.js", - "benchmark:ci": "node benchmark/index.js | tee benchmark-result.txt" + "benchmark:ci": "node benchmark/index.js | tee benchmark-result.txt", + "test:quiet": "npm test > /dev/null", + "test:cov:changes": "node ../../ci/run-coverage-on-branch-changes.js", + "clean:cov": "node ../../ci/clean-coverage.js" }, "repository": { "type": "git",