diff --git a/.codesandbox/ci.json b/.codesandbox/ci.json index d8bd46360b..6f812776cc 100644 --- a/.codesandbox/ci.json +++ b/.codesandbox/ci.json @@ -1,5 +1,5 @@ { - "node": "18", + "node": "20", "packages": ["@alias/*", "@commitlint/*"], "sandboxes": [] } diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index 37c47808a9..92161e06ae 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -17,8 +17,8 @@ jobs: build: strategy: matrix: - os: [ubuntu-22.04, windows-2022] - node: [18, 20] + os: [ubuntu-24.04, windows-2022] + node: [20, 22] runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 diff --git a/.github/workflows/docs-deploy.yml b/.github/workflows/docs-deploy.yml index ecc1581a0e..960b85c0bb 100644 --- a/.github/workflows/docs-deploy.yml +++ b/.github/workflows/docs-deploy.yml @@ -29,7 +29,7 @@ jobs: - name: Setup Node uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0 with: - node-version: 18 + node-version: 20 cache: yarn - name: Setup Pages diff --git a/.nvmrc b/.nvmrc index 25bf17fc5a..2edeafb09d 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -18 \ No newline at end of file +20 \ No newline at end of file diff --git a/.tool-versions b/.tool-versions index 0e9804f101..269cea0b28 100644 --- a/.tool-versions +++ b/.tool-versions @@ -1 +1 @@ -nodejs 18.20.8 +nodejs 20.19.2 diff --git a/@alias/commitlint-config-angular/package.json b/@alias/commitlint-config-angular/package.json index 84b1475ce3..ef97613392 100644 --- a/@alias/commitlint-config-angular/package.json +++ b/@alias/commitlint-config-angular/package.json @@ -28,7 +28,7 @@ }, "homepage": "https://commitlint.js.org/", "engines": { - "node": ">=v18" + "node": ">=v20" }, "dependencies": { "@commitlint/config-angular": "^19.8.1" diff --git a/@alias/commitlint-config-lerna-scopes/package.json b/@alias/commitlint-config-lerna-scopes/package.json index 8848bd9f80..71731b5220 100644 --- a/@alias/commitlint-config-lerna-scopes/package.json +++ b/@alias/commitlint-config-lerna-scopes/package.json @@ -28,7 +28,7 @@ }, "homepage": "https://commitlint.js.org/", "engines": { - "node": ">=v18" + "node": ">=v20" }, "dependencies": { "@commitlint/config-lerna-scopes": "^19.8.1" diff --git a/@alias/commitlint-config-nx-scopes/package.json b/@alias/commitlint-config-nx-scopes/package.json index 55f734fb68..aa4f4be8a1 100644 --- a/@alias/commitlint-config-nx-scopes/package.json +++ b/@alias/commitlint-config-nx-scopes/package.json @@ -28,7 +28,7 @@ }, "homepage": "https://commitlint.js.org/", "engines": { - "node": ">=v18" + "node": ">=v20" }, "dependencies": { "@commitlint/config-nx-scopes": "^19.8.1" diff --git a/@alias/commitlint-config-patternplate/package.json b/@alias/commitlint-config-patternplate/package.json index 19726d1023..a9d96ecb9f 100644 --- a/@alias/commitlint-config-patternplate/package.json +++ b/@alias/commitlint-config-patternplate/package.json @@ -28,7 +28,7 @@ }, "homepage": "https://commitlint.js.org/", "engines": { - "node": ">=v18" + "node": ">=v20" }, "dependencies": { "@commitlint/config-patternplate": "^19.8.1" diff --git a/@alias/commitlint/package.json b/@alias/commitlint/package.json index a8f68b0dcf..d0578b7257 100644 --- a/@alias/commitlint/package.json +++ b/@alias/commitlint/package.json @@ -14,7 +14,7 @@ "pkg": "pkg-check --skip-main" }, "engines": { - "node": ">=v18" + "node": ">=v20" }, "repository": { "type": "git", diff --git a/@commitlint/cli/package.json b/@commitlint/cli/package.json index b725ee47d7..15c7f08771 100644 --- a/@commitlint/cli/package.json +++ b/@commitlint/cli/package.json @@ -17,7 +17,7 @@ "pkg": "pkg-check" }, "engines": { - "node": ">=v18" + "node": ">=v20" }, "repository": { "type": "git", @@ -42,7 +42,7 @@ "@commitlint/test": "^19.8.1", "@commitlint/utils": "^19.8.1", "@types/lodash.merge": "^4.6.8", - "@types/node": "^18.19.17", + "@types/node": "^20.14.8", "@types/yargs": "^17.0.29", "fs-extra": "^11.0.0", "lodash.merge": "^4.6.2" diff --git a/@commitlint/config-angular-type-enum/package.json b/@commitlint/config-angular-type-enum/package.json index 0214fd2503..77d5d3a069 100644 --- a/@commitlint/config-angular-type-enum/package.json +++ b/@commitlint/config-angular-type-enum/package.json @@ -29,7 +29,7 @@ }, "homepage": "https://commitlint.js.org/", "engines": { - "node": ">=v18" + "node": ">=v20" }, "devDependencies": { "@commitlint/utils": "^19.8.1" diff --git a/@commitlint/config-angular/package.json b/@commitlint/config-angular/package.json index 05a06726c0..a66699b2f3 100644 --- a/@commitlint/config-angular/package.json +++ b/@commitlint/config-angular/package.json @@ -29,7 +29,7 @@ }, "homepage": "https://commitlint.js.org/", "engines": { - "node": ">=v18" + "node": ">=v20" }, "devDependencies": { "@commitlint/lint": "^19.8.1", diff --git a/@commitlint/config-conventional/package.json b/@commitlint/config-conventional/package.json index 24444885bf..18d2eef16d 100644 --- a/@commitlint/config-conventional/package.json +++ b/@commitlint/config-conventional/package.json @@ -32,7 +32,7 @@ }, "homepage": "https://commitlint.js.org/", "engines": { - "node": ">=v18" + "node": ">=v20" }, "devDependencies": { "@commitlint/lint": "^19.8.1", diff --git a/@commitlint/config-lerna-scopes/package.json b/@commitlint/config-lerna-scopes/package.json index e9faa56790..d64bc841e7 100644 --- a/@commitlint/config-lerna-scopes/package.json +++ b/@commitlint/config-lerna-scopes/package.json @@ -37,7 +37,7 @@ } }, "engines": { - "node": ">=v18" + "node": ">=v20" }, "dependencies": { "@commitlint/config-workspace-scopes": "^19.8.1", diff --git a/@commitlint/config-nx-scopes/package.json b/@commitlint/config-nx-scopes/package.json index 453b22466d..1eb241f3b1 100644 --- a/@commitlint/config-nx-scopes/package.json +++ b/@commitlint/config-nx-scopes/package.json @@ -37,7 +37,7 @@ } }, "engines": { - "node": ">=v18" + "node": ">=v20" }, "dependencies": { "@commitlint/types": "^19.8.1" diff --git a/@commitlint/config-patternplate/package.json b/@commitlint/config-patternplate/package.json index 55c04c850c..d704507105 100644 --- a/@commitlint/config-patternplate/package.json +++ b/@commitlint/config-patternplate/package.json @@ -29,7 +29,7 @@ }, "homepage": "https://commitlint.js.org/", "engines": { - "node": ">=v18" + "node": ">=v20" }, "dependencies": { "@commitlint/config-angular": "^19.8.1", diff --git a/@commitlint/config-pnpm-scopes/package.json b/@commitlint/config-pnpm-scopes/package.json index af47383145..3042166047 100644 --- a/@commitlint/config-pnpm-scopes/package.json +++ b/@commitlint/config-pnpm-scopes/package.json @@ -29,7 +29,7 @@ }, "homepage": "https://commitlint.js.org/", "engines": { - "node": ">=v18" + "node": ">=v20" }, "dependencies": { "@pnpm/read-project-manifest": "^5.0.10", diff --git a/@commitlint/config-rush-scopes/package.json b/@commitlint/config-rush-scopes/package.json index 5b1ead3638..3f43344665 100644 --- a/@commitlint/config-rush-scopes/package.json +++ b/@commitlint/config-rush-scopes/package.json @@ -32,7 +32,7 @@ }, "homepage": "https://commitlint.js.org/", "engines": { - "node": ">=v18" + "node": ">=v20" }, "dependencies": { "jsonc": "^2.0.0" diff --git a/@commitlint/config-validator/package.json b/@commitlint/config-validator/package.json index 85531c05f9..93a6ee6b10 100644 --- a/@commitlint/config-validator/package.json +++ b/@commitlint/config-validator/package.json @@ -13,7 +13,7 @@ "pkg": "pkg-check --skip-import" }, "engines": { - "node": ">=v18" + "node": ">=v20" }, "repository": { "type": "git", diff --git a/@commitlint/config-workspace-scopes/package.json b/@commitlint/config-workspace-scopes/package.json index 82ab82781f..7bfa10873f 100644 --- a/@commitlint/config-workspace-scopes/package.json +++ b/@commitlint/config-workspace-scopes/package.json @@ -27,7 +27,7 @@ }, "homepage": "https://commitlint.js.org/", "engines": { - "node": ">=v18" + "node": ">=v20" }, "dependencies": { "glob": "^10.3.10" diff --git a/@commitlint/core/package.json b/@commitlint/core/package.json index ebf102c4b9..4f9edda27a 100644 --- a/@commitlint/core/package.json +++ b/@commitlint/core/package.json @@ -13,7 +13,7 @@ "pkg": "pkg-check --skip-import" }, "engines": { - "node": ">=v18" + "node": ">=v20" }, "repository": { "type": "git", diff --git a/@commitlint/cz-commitlint/package.json b/@commitlint/cz-commitlint/package.json index 3957c66d08..18ec678771 100644 --- a/@commitlint/cz-commitlint/package.json +++ b/@commitlint/cz-commitlint/package.json @@ -33,7 +33,7 @@ }, "engineStrict": true, "engines": { - "node": ">=v18" + "node": ">=v20" }, "author": "Curly Brackets ", "license": "MIT", diff --git a/@commitlint/ensure/package.json b/@commitlint/ensure/package.json index 030f698dd3..1ac9af8e46 100644 --- a/@commitlint/ensure/package.json +++ b/@commitlint/ensure/package.json @@ -13,7 +13,7 @@ "pkg": "pkg-check" }, "engines": { - "node": ">=v18" + "node": ">=v20" }, "repository": { "type": "git", diff --git a/@commitlint/execute-rule/package.json b/@commitlint/execute-rule/package.json index 5ad61f7105..9e7b7620cf 100644 --- a/@commitlint/execute-rule/package.json +++ b/@commitlint/execute-rule/package.json @@ -13,7 +13,7 @@ "pkg": "pkg-check" }, "engines": { - "node": ">=v18" + "node": ">=v20" }, "repository": { "type": "git", diff --git a/@commitlint/format/package.json b/@commitlint/format/package.json index 158fd7f795..fee95d3e09 100644 --- a/@commitlint/format/package.json +++ b/@commitlint/format/package.json @@ -13,7 +13,7 @@ "pkg": "pkg-check --skip-import" }, "engines": { - "node": ">=v18" + "node": ">=v20" }, "repository": { "type": "git", diff --git a/@commitlint/is-ignored/package.json b/@commitlint/is-ignored/package.json index bfe76422ce..f99db39ab3 100644 --- a/@commitlint/is-ignored/package.json +++ b/@commitlint/is-ignored/package.json @@ -13,7 +13,7 @@ "pkg": "pkg-check" }, "engines": { - "node": ">=v18" + "node": ">=v20" }, "repository": { "type": "git", diff --git a/@commitlint/lint/package.json b/@commitlint/lint/package.json index be68ba3b98..59c49981bd 100644 --- a/@commitlint/lint/package.json +++ b/@commitlint/lint/package.json @@ -13,7 +13,7 @@ "pkg": "pkg-check --skip-import" }, "engines": { - "node": ">=v18" + "node": ">=v20" }, "repository": { "type": "git", diff --git a/@commitlint/load/package.json b/@commitlint/load/package.json index 4cd2f7158c..781e1ab60c 100644 --- a/@commitlint/load/package.json +++ b/@commitlint/load/package.json @@ -13,7 +13,7 @@ "pkg": "pkg-check --skip-import" }, "engines": { - "node": ">=v18" + "node": ">=v20" }, "repository": { "type": "git", @@ -40,7 +40,7 @@ "@types/lodash.isplainobject": "^4.0.8", "@types/lodash.merge": "^4.6.8", "@types/lodash.uniq": "^4.5.8", - "@types/node": "^18.19.17", + "@types/node": "^20.14.8", "conventional-changelog-atom": "^4.0.0", "typescript": "^5.2.2" }, diff --git a/@commitlint/message/package.json b/@commitlint/message/package.json index 23e8c4c7e6..846b7ba0ef 100644 --- a/@commitlint/message/package.json +++ b/@commitlint/message/package.json @@ -13,7 +13,7 @@ "pkg": "pkg-check" }, "engines": { - "node": ">=v18" + "node": ">=v20" }, "repository": { "type": "git", diff --git a/@commitlint/parse/package.json b/@commitlint/parse/package.json index 459dd54b27..7e95acd375 100644 --- a/@commitlint/parse/package.json +++ b/@commitlint/parse/package.json @@ -13,7 +13,7 @@ "pkg": "pkg-check" }, "engines": { - "node": ">=v18" + "node": ">=v20" }, "repository": { "type": "git", diff --git a/@commitlint/prompt-cli/package.json b/@commitlint/prompt-cli/package.json index dcb96d7552..827a361db4 100644 --- a/@commitlint/prompt-cli/package.json +++ b/@commitlint/prompt-cli/package.json @@ -31,7 +31,7 @@ }, "homepage": "https://commitlint.js.org/", "engines": { - "node": ">=v18" + "node": ">=v20" }, "devDependencies": { "@commitlint/test": "^19.8.1", diff --git a/@commitlint/prompt/package.json b/@commitlint/prompt/package.json index bbe8da450f..56ba9926c7 100644 --- a/@commitlint/prompt/package.json +++ b/@commitlint/prompt/package.json @@ -35,7 +35,7 @@ }, "homepage": "https://commitlint.js.org/", "engines": { - "node": ">=v18" + "node": ">=v20" }, "devDependencies": { "@commitlint/config-angular": "^19.8.1", diff --git a/@commitlint/read/package.json b/@commitlint/read/package.json index 7767e16aac..c7def7fca0 100644 --- a/@commitlint/read/package.json +++ b/@commitlint/read/package.json @@ -13,7 +13,7 @@ "pkg": "pkg-check --skip-import" }, "engines": { - "node": ">=v18" + "node": ">=v20" }, "repository": { "type": "git", diff --git a/@commitlint/resolve-extends/package.json b/@commitlint/resolve-extends/package.json index 7bf68f0f8c..b84b5de383 100644 --- a/@commitlint/resolve-extends/package.json +++ b/@commitlint/resolve-extends/package.json @@ -13,7 +13,7 @@ "pkg": "pkg-check" }, "engines": { - "node": ">=v18" + "node": ">=v20" }, "repository": { "type": "git", diff --git a/@commitlint/rules/package.json b/@commitlint/rules/package.json index f02396c34e..45f65d8867 100644 --- a/@commitlint/rules/package.json +++ b/@commitlint/rules/package.json @@ -13,7 +13,7 @@ "pkg": "pkg-check" }, "engines": { - "node": ">=v18" + "node": ">=v20" }, "repository": { "type": "git", diff --git a/@commitlint/to-lines/package.json b/@commitlint/to-lines/package.json index 20bdcd7b00..06935b7718 100644 --- a/@commitlint/to-lines/package.json +++ b/@commitlint/to-lines/package.json @@ -13,7 +13,7 @@ "pkg": "pkg-check" }, "engines": { - "node": ">=v18" + "node": ">=v20" }, "repository": { "type": "git", diff --git a/@commitlint/top-level/package.json b/@commitlint/top-level/package.json index b00e617d67..834ef343b4 100644 --- a/@commitlint/top-level/package.json +++ b/@commitlint/top-level/package.json @@ -13,7 +13,7 @@ "pkg": "pkg-check" }, "engines": { - "node": ">=v18" + "node": ">=v20" }, "repository": { "type": "git", diff --git a/@commitlint/travis-cli/package.json b/@commitlint/travis-cli/package.json index 1d92d8ef3a..4e2c982ce0 100644 --- a/@commitlint/travis-cli/package.json +++ b/@commitlint/travis-cli/package.json @@ -17,7 +17,7 @@ "pkg": "pkg-check --skip-main" }, "engines": { - "node": ">=v18" + "node": ">=v20" }, "repository": { "type": "git", diff --git a/@commitlint/types/package.json b/@commitlint/types/package.json index eebefc6ba7..192793eb6b 100644 --- a/@commitlint/types/package.json +++ b/@commitlint/types/package.json @@ -12,7 +12,7 @@ "pkg": "pkg-check" }, "engines": { - "node": ">=v18" + "node": ">=v20" }, "repository": { "type": "git", diff --git a/@packages/test-environment/package.json b/@packages/test-environment/package.json index cae0dd7c24..d4dca94355 100644 --- a/@packages/test-environment/package.json +++ b/@packages/test-environment/package.json @@ -10,7 +10,7 @@ "lib/" ], "engines": { - "node": ">=v18" + "node": ">=v20" }, "repository": { "type": "git", diff --git a/@packages/test/package.json b/@packages/test/package.json index 14774027b4..e268f208d6 100644 --- a/@packages/test/package.json +++ b/@packages/test/package.json @@ -10,7 +10,7 @@ "lib/" ], "engines": { - "node": ">=v18" + "node": ">=v20" }, "repository": { "type": "git", diff --git a/@packages/utils/package.json b/@packages/utils/package.json index 5f5fca3bdd..ab98497603 100644 --- a/@packages/utils/package.json +++ b/@packages/utils/package.json @@ -17,7 +17,7 @@ "pkg": "node pkg-check.js --skip-main" }, "engines": { - "node": ">=v18" + "node": ">=v20" }, "repository": { "type": "git", diff --git a/Dockerfile.ci b/Dockerfile.ci index 25a4fec074..5266d632bd 100644 --- a/Dockerfile.ci +++ b/Dockerfile.ci @@ -1,4 +1,4 @@ -FROM docker.io/library/node:18-alpine AS builder +FROM docker.io/library/node:20-alpine AS builder WORKDIR /src COPY . ./ RUN apk add --no-cache python3 py3-setuptools make g++ git @@ -25,7 +25,7 @@ RUN yarn install --frozen-lockfile --network-timeout 100000 && \ # Default commitlint config npm pack @commitlint/config-conventional -FROM docker.io/library/node:18-alpine +FROM docker.io/library/node:20-alpine RUN apk add --no-cache git COPY --from=builder /src/*.tgz ./ RUN npm config set fetch-retry-mintimeout 20000 && \ diff --git a/README.md b/README.md index 2219e7aa4a..3728067f78 100644 --- a/README.md +++ b/README.md @@ -167,7 +167,7 @@ Check the [main website](https://commitlint.js.org/). ## Version Support and Releases -- Node.js [LTS](https://github.com/nodejs/LTS#lts-schedule) `>= 18` +- Node.js [LTS](https://github.com/nodejs/LTS#lts-schedule) `>= 20` - git `>= 2.13.2` ### Releases @@ -177,6 +177,7 @@ Features will only be applied to the current main version. | Release | Initial release | | -------------------------------------------------------------------------------- | --------------- | +| [v20](https://github.com/conventional-changelog/commitlint/releases/tag/v20.0.0) | 05/2025 | | [v19](https://github.com/conventional-changelog/commitlint/releases/tag/v19.0.0) | 02/2024 | | [v18](https://github.com/conventional-changelog/commitlint/releases/tag/v18.0.0) | 10/2023 | diff --git a/package.json b/package.json index d4c4f1d1e4..471103900c 100644 --- a/package.json +++ b/package.json @@ -58,7 +58,7 @@ "@packages/*" ], "engines": { - "node": ">=v18", + "node": ">=v20", "npm": ">=7" }, "repository": { diff --git a/yarn.lock b/yarn.lock index 0963ed4b35..df2a291cea 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1966,12 +1966,12 @@ dependencies: undici-types "~6.20.0" -"@types/node@^18.19.17": - version "18.19.101" - resolved "https://registry.npmjs.org/@types/node/-/node-18.19.101.tgz#6c08ca62bdbc745b60b885f3c38f571ea145ccff" - integrity sha512-Ykg7fcE3+cOQlLUv2Ds3zil6DVjriGQaSN/kEpl5HQ3DIGM6W0F2n9+GkWV4bRt7KjLymgzNdTnSKCbFUUJ7Kw== +"@types/node@^20.14.8": + version "20.17.48" + resolved "https://registry.npmjs.org/@types/node/-/node-20.17.48.tgz#5a4028ae0d22985c30cc100e589b7d50ae783457" + integrity sha512-KpSfKOHPsiSC4IkZeu2LsusFwExAIVGkhG1KkbaBMLwau0uMhj0fCrvyg9ddM2sAvd+gtiBJLir4LAw1MNMIaw== dependencies: - undici-types "~5.26.4" + undici-types "~6.19.2" "@types/normalize-package-data@^2.4.0", "@types/normalize-package-data@^2.4.3": version "2.4.4" @@ -8248,10 +8248,10 @@ unbox-primitive@^1.1.0: has-symbols "^1.1.0" which-boxed-primitive "^1.1.1" -undici-types@~5.26.4: - version "5.26.5" - resolved "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617" - integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== +undici-types@~6.19.2: + version "6.19.8" + resolved "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz#35111c9d1437ab83a7cdc0abae2f26d88eda0a02" + integrity sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw== undici-types@~6.20.0: version "6.20.0"