diff --git a/.github/codecov.yml b/.github/codecov.yml deleted file mode 100644 index 8580424c5..000000000 --- a/.github/codecov.yml +++ /dev/null @@ -1,84 +0,0 @@ -# Check out Codecov at: https://codecov.io/ - -coverage: - precision: 2 - round: down - range: 80...100 - status: - project: - default: - target: 95% - flags: - - e2e-MacOS - - e2e-Ubuntu - - e2e-Windows - - integration-MacOS - - integration-Ubuntu - - integration-Windows - relaxed: - target: 10% - flags: - - breakage - - compatibility - strict: - target: 100% - flags: - - unit - -comment: - layout: diff, flags, files - behavior: default # update, if exists. Otherwise post new. - require_changes: true # only post the comment if coverage changes - require_base: no - require_head: yes - -flags: - breakage: - carryforward: true - paths: - - src/ - compatibility: - carryforward: true - paths: - - src/ - e2e-MacOS: - carryforward: true - paths: - - src/ - ignore: - - src/modules/stateless.js - - src/modules/testing.js - e2e-Ubuntu: - carryforward: true - paths: - - src/ - ignore: - - src/modules/stateless.js - - src/modules/testing.js - e2e-Windows: - carryforward: true - paths: - - src/ - ignore: - - src/modules/stateless.js - - src/modules/testing.js - integration-MacOS: - carryforward: true - paths: - - src/ - integration-Ubuntu: - carryforward: true - paths: - - src/ - integration-Windows: - carryforward: true - paths: - - src/ - unit: - carryforward: true - paths: - - src/internal/ - -ignore: - - script/**/* - - test/**/* diff --git a/.github/labeler.yml b/.github/labeler.yml index bcf9681a6..c836e4f6a 100644 --- a/.github/labeler.yml +++ b/.github/labeler.yml @@ -4,7 +4,6 @@ ci/cd: - changed-files: - any-glob-to-any-file: - .github/workflows/* - - .github/codecov.yml - .github/dependabot.yml - .github/labeler.yml diff --git a/.github/workflows/checks.yml b/.github/workflows/checks.yml index f54ca380c..d2ec9b1c8 100644 --- a/.github/workflows/checks.yml +++ b/.github/workflows/checks.yml @@ -30,12 +30,12 @@ jobs: - name: Checkout repository uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 - name: Initialize CodeQL - uses: github/codeql-action/init@9fdb3e49720b44c48891d036bb502feb25684276 # v3.25.6 + uses: github/codeql-action/init@2e230e8fe0ad3a14a340ad0815ddb96d599d2aff # v3.25.8 with: config-file: ./.github/codeql.yml languages: javascript - name: Perform CodeQL analysis - uses: github/codeql-action/analyze@9fdb3e49720b44c48891d036bb502feb25684276 # v3.25.6 + uses: github/codeql-action/analyze@2e230e8fe0ad3a14a340ad0815ddb96d599d2aff # v3.25.8 format: name: Formatting runs-on: ubuntu-24.04 @@ -168,7 +168,7 @@ jobs: with: args: . --sarif --output njsscan-results.sarif || true - name: Upload njsscan report to GitHub - uses: github/codeql-action/upload-sarif@9fdb3e49720b44c48891d036bb502feb25684276 # v3.25.6 + uses: github/codeql-action/upload-sarif@2e230e8fe0ad3a14a340ad0815ddb96d599d2aff # v3.25.8 if: ${{ failure() || success() }} with: sarif_file: njsscan-results.sarif @@ -230,18 +230,13 @@ jobs: egress-policy: block allowed-endpoints: > actions-results-receiver-production.githubapp.com:443 - api.codecov.io:443 api.github.com:443 artifactcache.actions.githubusercontent.com:443 - cli.codecov.io:443 - codecov.io:443 github.com:443 gitlab.com:443 nodejs.org:443 objects.githubusercontent.com:443 registry.npmjs.org:443 - storage.googleapis.com:443 - uploader.codecov.io:443 - name: Checkout repository uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 - name: Install Node.js @@ -253,14 +248,6 @@ jobs: run: npm clean-install - name: Run breakage tests run: npm run coverage:breakage - - name: Upload coverage to Codecov - uses: codecov/codecov-action@5ecb98a3c6b747ed38dc09f787459979aebb39be # v4.3.1 - if: ${{ failure() || success() }} - env: - CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} - with: - file: ./_reports/coverage/breakage/lcov.info - flags: breakage test-compatibility: name: Compatibility runs-on: ubuntu-24.04 @@ -284,18 +271,13 @@ jobs: egress-policy: block allowed-endpoints: > actions-results-receiver-production.githubapp.com:443 - api.codecov.io:443 api.github.com:443 artifactcache.actions.githubusercontent.com:443 - cli.codecov.io:443 - codecov.io:443 github.com:443 gitlab.com:443 nodejs.org:443 objects.githubusercontent.com:443 registry.npmjs.org:443 - storage.googleapis.com:443 - uploader.codecov.io:443 - name: Checkout repository uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 - name: Install Node.js @@ -309,14 +291,6 @@ jobs: run: npm clean-install - name: Run compatibility tests run: npm run coverage:compat - - name: Upload coverage to Codecov - uses: codecov/codecov-action@5ecb98a3c6b747ed38dc09f787459979aebb39be # v4.3.1 - if: ${{ matrix.node-version == '22.0.0' }} - env: - CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} - with: - file: ./_reports/coverage/compat/lcov.info - flags: compatibility test-e2e: name: End-to-end (${{ matrix.name }}) runs-on: ${{ matrix.os }} @@ -340,19 +314,14 @@ jobs: egress-policy: block allowed-endpoints: > actions-results-receiver-production.githubapp.com:443 - api.codecov.io:443 api.github.com:443 artifactcache.actions.githubusercontent.com:443 azure.archive.ubuntu.com:80 - cli.codecov.io:443 - codecov.io:443 github.com:443 gitlab.com:443 nodejs.org:443 objects.githubusercontent.com:443 registry.npmjs.org:443 - storage.googleapis.com:443 - uploader.codecov.io:443 - name: Checkout repository uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 - name: Install Node.js @@ -370,14 +339,6 @@ jobs: run: sudo apt-get --assume-yes install zsh - name: Run end-to-end tests run: npm run coverage:e2e - - name: Upload coverage to Codecov - uses: codecov/codecov-action@5ecb98a3c6b747ed38dc09f787459979aebb39be # v4.3.1 - if: ${{ failure() || success() }} - env: - CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} - with: - file: ./_reports/coverage/e2e/lcov.info - flags: e2e-${{ matrix.name }} test-integration: name: Integration (${{ matrix.name }}) runs-on: ${{ matrix.os }} @@ -402,19 +363,14 @@ jobs: egress-policy: block allowed-endpoints: > actions-results-receiver-production.githubapp.com:443 - api.codecov.io:443 api.github.com:443 artifactcache.actions.githubusercontent.com:443 azure.archive.ubuntu.com:80 - cli.codecov.io:443 - codecov.io:443 github.com:443 gitlab.com:443 nodejs.org:443 objects.githubusercontent.com:443 registry.npmjs.org:443 - storage.googleapis.com:443 - uploader.codecov.io:443 - name: Checkout repository uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 - name: Install Node.js @@ -432,14 +388,6 @@ jobs: run: sudo apt-get --assume-yes install csh - name: Run integration tests run: npm run coverage:integration - - name: Upload coverage to Codecov - uses: codecov/codecov-action@5ecb98a3c6b747ed38dc09f787459979aebb39be # v4.3.1 - if: ${{ failure() || success() }} - env: - CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} - with: - file: ./_reports/coverage/integration/lcov.info - flags: integration-${{ matrix.name }} test-mutation-unit: name: Mutation (Unit) runs-on: ubuntu-24.04 @@ -548,18 +496,13 @@ jobs: egress-policy: block allowed-endpoints: > actions-results-receiver-production.githubapp.com:443 - api.codecov.io:443 api.github.com:443 artifactcache.actions.githubusercontent.com:443 - cli.codecov.io:443 - codecov.io:443 github.com:443 gitlab.com:443 nodejs.org:443 objects.githubusercontent.com:443 registry.npmjs.org:443 - storage.googleapis.com:443 - uploader.codecov.io:443 - name: Checkout repository uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 - name: Install Node.js @@ -571,14 +514,6 @@ jobs: run: npm clean-install - name: Run unit tests run: npm run coverage:unit - - name: Upload coverage to Codecov - uses: codecov/codecov-action@5ecb98a3c6b747ed38dc09f787459979aebb39be # v4.3.1 - if: ${{ failure() || success() }} - env: - CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} - with: - file: ./_reports/coverage/unit/lcov.info - flags: unit transpile: name: Transpile runs-on: ubuntu-24.04 @@ -640,7 +575,7 @@ jobs: scan-ref: . template: "@/contrib/sarif.tpl" - name: Upload Trivy report to GitHub - uses: github/codeql-action/upload-sarif@9fdb3e49720b44c48891d036bb502feb25684276 # v3.25.6 + uses: github/codeql-action/upload-sarif@2e230e8fe0ad3a14a340ad0815ddb96d599d2aff # v3.25.8 if: ${{ failure() || success() }} with: sarif_file: trivy-results.sarif diff --git a/.github/workflows/config-codecov.yml b/.github/workflows/config-codecov.yml deleted file mode 100644 index 5d61a1ae9..000000000 --- a/.github/workflows/config-codecov.yml +++ /dev/null @@ -1,34 +0,0 @@ -name: Config Codecov -on: - pull_request: - paths: - - .github/workflows/config-codecov.yml - - .github/codecov.yml - push: - branches: - - main - paths: - - .github/workflows/config-codecov.yml - - .github/codecov.yml - -permissions: read-all - -jobs: - codecov: - name: Codecov - runs-on: ubuntu-24.04 - steps: - - name: Harden runner - uses: step-security/harden-runner@f086349bfa2bd1361f7909c78558e816508cdc10 # v2.8.0 - with: - disable-sudo: true - egress-policy: block - allowed-endpoints: > - actions-results-receiver-production.githubapp.com:443 - api.github.com:443 - codecov.io:443 - github.com:443 - - name: Checkout repository - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 - - name: Validate Codecov configuration - uses: ericcornelissen/codecov-config-validator-action@bbb3f8ef45de6f6ce57ea8d566940bdd78b4814a # v1.0.2 diff --git a/.github/workflows/semgrep.yml b/.github/workflows/semgrep.yml index 36e7760a1..f39c179ef 100644 --- a/.github/workflows/semgrep.yml +++ b/.github/workflows/semgrep.yml @@ -22,7 +22,7 @@ jobs: env: SEMGREP_APP_TOKEN: ${{ secrets.SEMGREP_APP_TOKEN }} - name: Upload Semgrep report to GitHub - uses: github/codeql-action/upload-sarif@9fdb3e49720b44c48891d036bb502feb25684276 # v3.25.6 + uses: github/codeql-action/upload-sarif@2e230e8fe0ad3a14a340ad0815ddb96d599d2aff # v3.25.8 if: ${{ failure() || success() }} with: sarif_file: semgrep.sarif diff --git a/README.md b/README.md index 319cc56ef..272cc1c42 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,6 @@ # Shescape [![GitHub Actions][ci-image]][ci-url] -[![Coverage Report][coverage-image]][coverage-url] [![npm Package][npm-image]][npm-url] A simple shell escape library for JavaScript. Use it to escape user-controlled @@ -93,8 +92,6 @@ file's banner comment. [ci-url]: https://github.com/ericcornelissen/shescape/actions/workflows/checks.yml [ci-image]: https://github.com/ericcornelissen/shescape/actions/workflows/checks.yml/badge.svg -[coverage-url]: https://codecov.io/gh/ericcornelissen/shescape -[coverage-image]: https://codecov.io/gh/ericcornelissen/shescape/branch/main/graph/badge.svg [npm-url]: https://www.npmjs.com/package/shescape [npm-image]: https://img.shields.io/npm/v/shescape.svg [an issue]: https://github.com/ericcornelissen/shescape/issues diff --git a/package-lock.json b/package-lock.json index d83201a28..0597227a4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -24,7 +24,7 @@ "dotenv": "16.3.1", "eslint": "9.3.0", "eslint-plugin-ava": "15.0.0", - "eslint-plugin-jsdoc": "48.2.5", + "eslint-plugin-jsdoc": "48.2.7", "eslint-plugin-jsonc": "2.15.1", "eslint-plugin-regexp": "2.6.0", "eslint-plugin-yml": "1.14.0", @@ -881,9 +881,9 @@ } }, "node_modules/@es-joy/jsdoccomment": { - "version": "0.43.0", - "resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.43.0.tgz", - "integrity": "sha512-Q1CnsQrytI3TlCB1IVWXWeqUIPGVEKGaE7IbVdt13Nq/3i0JESAkQQERrfiQkmlpijl+++qyqPgaS31Bvc1jRQ==", + "version": "0.43.1", + "resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.43.1.tgz", + "integrity": "sha512-I238eDtOolvCuvtxrnqtlBaw0BwdQuYqK7eA6XIonicMdOOOb75mqdIzkGDUbS04+1Di007rgm9snFRNeVrOog==", "dev": true, "dependencies": { "@types/eslint": "^8.56.5", @@ -2441,9 +2441,9 @@ "dev": true }, "node_modules/@typescript-eslint/types": { - "version": "7.9.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.9.0.tgz", - "integrity": "sha512-oZQD9HEWQanl9UfsbGVcZ2cGaR0YT5476xfWE0oE5kQa2sNK2frxOlkeacLOTh9po4AlUT5rtkGyYM5kew0z5w==", + "version": "7.11.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.11.0.tgz", + "integrity": "sha512-MPEsDRZTyCiXkD4vd3zywDCifi7tatc4K37KqTprCvaXptP7Xlpdw0NR2hRJTetG5TxbWDB79Ys4kLmHliEo/w==", "dev": true, "engines": { "node": "^18.18.0 || >=20.0.0" @@ -3497,18 +3497,6 @@ "ieee754": "^1.1.13" } }, - "node_modules/builtin-modules": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", - "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", - "dev": true, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/builtins": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.0.1.tgz", @@ -5136,19 +5124,18 @@ } }, "node_modules/eslint-plugin-jsdoc": { - "version": "48.2.5", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-48.2.5.tgz", - "integrity": "sha512-ZeTfKV474W1N9niWfawpwsXGu+ZoMXu4417eBROX31d7ZuOk8zyG66SO77DpJ2+A9Wa2scw/jRqBPnnQo7VbcQ==", + "version": "48.2.7", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-48.2.7.tgz", + "integrity": "sha512-fYj3roTnkFL9OFFTB129rico8lerC5G8Vp2ZW9SjO9RNWG0exVvI+i/Y8Bpm1ufjR0uvT38xtoab/U0Hp8Ybog==", "dev": true, "dependencies": { - "@es-joy/jsdoccomment": "~0.43.0", + "@es-joy/jsdoccomment": "~0.43.1", "are-docs-informative": "^0.0.2", "comment-parser": "1.4.1", "debug": "^4.3.4", "escape-string-regexp": "^4.0.0", "esquery": "^1.5.0", - "is-builtin-module": "^3.2.1", - "semver": "^7.6.1", + "semver": "^7.6.2", "spdx-expression-parse": "^4.0.0" }, "engines": { @@ -7114,21 +7101,6 @@ "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", "dev": true }, - "node_modules/is-builtin-module": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.2.1.tgz", - "integrity": "sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==", - "dev": true, - "dependencies": { - "builtin-modules": "^3.3.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/is-ci": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz", diff --git a/package.json b/package.json index 063ef72cb..b3fad8e7c 100644 --- a/package.json +++ b/package.json @@ -74,7 +74,7 @@ "dotenv": "16.3.1", "eslint": "9.3.0", "eslint-plugin-ava": "15.0.0", - "eslint-plugin-jsdoc": "48.2.5", + "eslint-plugin-jsdoc": "48.2.7", "eslint-plugin-jsonc": "2.15.1", "eslint-plugin-regexp": "2.6.0", "eslint-plugin-yml": "1.14.0",