diff --git a/.github/workflows/collect-coverage.yml b/.github/workflows/collect-coverage.yml new file mode 100644 index 00000000..01ff1a01 --- /dev/null +++ b/.github/workflows/collect-coverage.yml @@ -0,0 +1,17 @@ +name: ci +on: [push] +jobs: + update-code-coverage-badge: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-node@v3 + with: + node-version: "18" + - name: Install + run: | + yarn + - name: Test and collect coverage + run: yarn test-coverage + - name: Create badge and publish to gh-pages + uses: nolleh/jest-badge-deploy-action@latest \ No newline at end of file diff --git a/jest.config.js b/jest.config.js index da1a3047..cac4bcc5 100644 --- a/jest.config.js +++ b/jest.config.js @@ -1,3 +1,4 @@ +/** @type {import('jest').Config} */ const config = { resetMocks: true, resetModules: true, @@ -12,7 +13,14 @@ const config = { './jest.setup-after-env.js', 'jest-extended/all' ], - testEnvironment: 'jsdom' + testEnvironment: 'jsdom', + coveragePathIgnorePatterns: ['/node_modules/', '/tests/'], + coverageReporters: ["json-summary", "text"], + collectCoverageFrom: [ + 'src/**/*.{ts,tsx}', + '!dist/**', + ], + collectCoverage: true, }; module.exports = config; diff --git a/package.json b/package.json index 2cd5a430..f119dd62 100644 --- a/package.json +++ b/package.json @@ -7,7 +7,8 @@ "lint": "npx eslint src transformers test --ignore-pattern '*.d.ts' --ext .ts,.tsx,.js", "build-local": "tsc --project tsconfig.json", "pretest": "tsc --project tsconfig.json", - "test": "npx jest" + "test": "npx jest", + "test-coverage": "npx jest --coverage" }, "main": "dist/src/index.js", "directories": {