From aa768730b33908331530b831d98c24e515a752d7 Mon Sep 17 00:00:00 2001 From: Thiago Santos Date: Wed, 10 Sep 2025 09:30:52 -0300 Subject: [PATCH] fix: configurint qlty --- .github/actions/build-and-test/action.yml | 9 +++++---- .github/workflows/publish.yaml | 7 ++++--- .github/workflows/standard.yaml | 7 ++++--- README.md | 3 ++- libs/js-tuple/README.md | 3 +++ .../queue.spec.ts => chunked-queue.spec.ts} | 12 ++++++------ 6 files changed, 24 insertions(+), 17 deletions(-) rename libs/js-tuple/test/{internal/queue.spec.ts => chunked-queue.spec.ts} (84%) diff --git a/.github/actions/build-and-test/action.yml b/.github/actions/build-and-test/action.yml index 3b4a227..138e549 100644 --- a/.github/actions/build-and-test/action.yml +++ b/.github/actions/build-and-test/action.yml @@ -12,6 +12,9 @@ inputs: cc-test-reporter-id: description: 'Code Climate Test Reporter ID' required: true + qlty-coverage-token: + description: 'QLTY Coverage Token' + required: true runs: using: 'composite' @@ -97,11 +100,9 @@ runs: shell: bash run: pnpm run test:cov - - name: Submit Code Quality - uses: qltysh/qlty-action/coverage@v1 - if: inputs.cc-test-reporter-id != '' + - uses: qltysh/qlty-action/coverage@v2 with: - token: ${{ inputs.cc-test-reporter-id }} + token: ${{ inputs.qlty-coverage-token }} files: coverage/lcov.info - name: Upload build artifacts diff --git a/.github/workflows/publish.yaml b/.github/workflows/publish.yaml index 1770895..876c89c 100644 --- a/.github/workflows/publish.yaml +++ b/.github/workflows/publish.yaml @@ -26,9 +26,10 @@ jobs: - name: Build and Test uses: ./.github/actions/build-and-test with: - node-auth-token: ${{ secrets.NPM_TOKEN }} - github-token: ${{ secrets.GITHUB_TOKEN }} - cc-test-reporter-id: ${{ secrets.CC_TEST_REPORTER_ID }} + node-auth-token: ${{ secrets.NPM_TOKEN }} + github-token: ${{ secrets.GITHUB_TOKEN }} + cc-test-reporter-id: ${{ secrets.CC_TEST_REPORTER_ID }} + qlty-coverage-token: ${{ secrets.QLTY_COVERAGE_TOKEN }} check-releases: runs-on: ubuntu-latest diff --git a/.github/workflows/standard.yaml b/.github/workflows/standard.yaml index 806bb29..b13b742 100644 --- a/.github/workflows/standard.yaml +++ b/.github/workflows/standard.yaml @@ -23,6 +23,7 @@ jobs: - name: Build and Test uses: ./.github/actions/build-and-test with: - node-auth-token: ${{ secrets.GHA_PACKAGES }} - sonar-token: ${{ secrets.SONARCLOUD_TOKEN }} - cc-test-reporter-id: ${{ secrets.CC_TEST_REPORTER_ID }} + node-auth-token: ${{ secrets.GHA_PACKAGES }} + sonar-token: ${{ secrets.SONARCLOUD_TOKEN }} + cc-test-reporter-id: ${{ secrets.CC_TEST_REPORTER_ID }} + qlty-coverage-token: ${{ secrets.QLTY_COVERAGE_TOKEN }} diff --git a/README.md b/README.md index 8f6fdc4..f589b9d 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,11 @@ - # js-utils Repo for useful js utilities [![GitHub Issues](https://img.shields.io/github/issues/codibre/js-utils.svg)](https://github.com/codibre/js-utils/issues) [![GitHub Stars](https://img.shields.io/github/stars/codibre/js-utils.svg)](https://github.com/codibre/js-utils/stargazers) +[![Maintainability](https://qlty.sh/gh/codibre/projects/js-utils/maintainability.svg)](https://qlty.sh/gh/codibre/projects/js-utils) +[![Code Coverage](https://qlty.sh/gh/codibre/projects/js-utils/coverage.svg)](https://qlty.sh/gh/codibre/projects/js-utils) --- diff --git a/libs/js-tuple/README.md b/libs/js-tuple/README.md index 4d59167..98f2796 100644 --- a/libs/js-tuple/README.md +++ b/libs/js-tuple/README.md @@ -3,6 +3,9 @@ A high-performance JavaScript library for managed nested maps, nested set and creating immutable, cached tuples that can be safely used as Map keys. The Nested classes are also high-performant and strong tree structures that can be used for high configurable traversals +[![Maintainability](https://qlty.sh/gh/codibre/projects/js-utils/maintainability.svg)](https://qlty.sh/gh/codibre/projects/js-utils) +[![Code Coverage](https://qlty.sh/gh/codibre/projects/js-utils/coverage.svg)](https://qlty.sh/gh/codibre/projects/js-utils) + ## Why js-tuple? In JavaScript, arrays are compared by reference, not by value. This means `[1, 2, 3] !== [1, 2, 3]`, which makes arrays unsuitable as Map keys when you want value-based equality. **js-tuple** solves this by providing cached, immutable arrays where identical element sequences always return the same reference. diff --git a/libs/js-tuple/test/internal/queue.spec.ts b/libs/js-tuple/test/chunked-queue.spec.ts similarity index 84% rename from libs/js-tuple/test/internal/queue.spec.ts rename to libs/js-tuple/test/chunked-queue.spec.ts index 38d28ad..e1f3af0 100644 --- a/libs/js-tuple/test/internal/queue.spec.ts +++ b/libs/js-tuple/test/chunked-queue.spec.ts @@ -1,8 +1,8 @@ -import { Queue } from '../../src/internal'; +import { ChunkedQueue } from 'dist/min'; describe('Queue (block-based)', () => { it('should push and pop single items correctly', () => { - const queue = new Queue(0); + const queue = new ChunkedQueue(0); expect(queue.length).toBe(1); queue.push(1); expect(queue.length).toBe(2); @@ -13,7 +13,7 @@ describe('Queue (block-based)', () => { }); it('should handle multiple pushes and pops across blocks', () => { - const queue = new Queue(0); + const queue = new ChunkedQueue(0); for (let i = 1; i < 3000; i++) queue.push(i); expect(queue.length).toBe(3000); for (let i = 0; i < 3000; i++) expect(queue.pop()).toBe(i); @@ -22,7 +22,7 @@ describe('Queue (block-based)', () => { }); it('should work correctly with a 4000 size queue', () => { - const queue = new Queue(0); + const queue = new ChunkedQueue(0); for (let i = 1; i < 4000; i++) queue.push(i); expect(queue.length).toBe(4000); for (let i = 0; i < 4000; i++) expect(queue.pop()).toBe(i); @@ -31,7 +31,7 @@ describe('Queue (block-based)', () => { }); it('should allow interleaved push and pop', () => { - const queue = new Queue(0); + const queue = new ChunkedQueue(0); expect(queue.pop()).toBe(0); queue.push(2); queue.push(3); @@ -43,7 +43,7 @@ describe('Queue (block-based)', () => { }); it('should handle empty queue correctly', () => { - const queue = new Queue(0); + const queue = new ChunkedQueue(0); expect(queue.pop()).toBe(0); expect(queue.length).toBe(0); expect(queue.pop()).toBeUndefined();