From 19bb3b741176bc3df3e0e2d042ff08fcc6099d88 Mon Sep 17 00:00:00 2001 From: Brian DeHamer Date: Fri, 11 Aug 2023 11:06:08 -0700 Subject: [PATCH] bump make-fetch-happen to v12 Signed-off-by: Brian DeHamer --- .changeset/cold-points-greet.md | 6 + .changeset/nervous-terms-join.md | 9 + .changeset/red-trains-help.md | 5 + .github/workflows/ci.yml | 2 - package-lock.json | 359 +++++++++++++++--- package.json | 4 +- packages/bundle/package.json | 2 +- packages/cli/package.json | 4 +- packages/client/package.json | 4 +- packages/conformance/package.json | 2 +- packages/jest/package.json | 2 +- packages/mock-server/package.json | 2 +- packages/mock/package.json | 4 +- packages/rekor-types/package.json | 2 +- packages/sign/package.json | 4 +- .../sign/src/__tests__/util/promise.test.ts | 51 --- packages/sign/src/identity/ci.ts | 7 +- packages/sign/src/util/index.ts | 1 - packages/sign/src/util/promise.ts | 34 -- packages/tuf/package.json | 2 +- tsconfig.base.json | 2 +- 21 files changed, 341 insertions(+), 167 deletions(-) create mode 100644 .changeset/cold-points-greet.md create mode 100644 .changeset/nervous-terms-join.md create mode 100644 .changeset/red-trains-help.md delete mode 100644 packages/sign/src/__tests__/util/promise.test.ts delete mode 100644 packages/sign/src/util/promise.ts diff --git a/.changeset/cold-points-greet.md b/.changeset/cold-points-greet.md new file mode 100644 index 000000000..5a2117e5f --- /dev/null +++ b/.changeset/cold-points-greet.md @@ -0,0 +1,6 @@ +--- +'@sigstore/mock': minor +'@sigstore/cli': minor +--- + +Drop node 14 support diff --git a/.changeset/nervous-terms-join.md b/.changeset/nervous-terms-join.md new file mode 100644 index 000000000..a90740b47 --- /dev/null +++ b/.changeset/nervous-terms-join.md @@ -0,0 +1,9 @@ +--- +'@sigstore/rekor-types': major +'@sigstore/bundle': major +'sigstore': major +'@sigstore/sign': major +'@sigstore/tuf': major +--- + +Drop node 14 support diff --git a/.changeset/red-trains-help.md b/.changeset/red-trains-help.md new file mode 100644 index 000000000..1c7e6d9ed --- /dev/null +++ b/.changeset/red-trains-help.md @@ -0,0 +1,5 @@ +--- +'@sigstore/sign': major +--- + +Bump `make-fetch-happen` from 11.0.0 to 12.0.0 diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 2ddc12781..8a8d68df2 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -34,8 +34,6 @@ jobs: fail-fast: false matrix: node-version: - - 14.17.0 - - 14.x - 16.13.0 - 16.x - 18.0.0 diff --git a/package-lock.json b/package-lock.json index 7822b6c5e..91e8b23db 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,7 +14,7 @@ "devDependencies": { "@changesets/cli": "^2.26.2", "@total-typescript/shoehorn": "^0.1.1", - "@tsconfig/node14": "^14.1.0", + "@tsconfig/node16": "^16.1.0", "@types/jest": "^29.5.3", "@types/node": "^20.4.9", "@typescript-eslint/eslint-plugin": "^6.3.0", @@ -30,7 +30,7 @@ "typescript": "^5.1.6" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^16.13.0 || >=18.0.0" } }, "node_modules/@aashutoshrathi/word-wrap": { @@ -2027,6 +2027,18 @@ "node": ">= 8" } }, + "node_modules/@npmcli/agent": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@npmcli/agent/-/agent-1.1.0.tgz", + "integrity": "sha512-I9g/2XFOkflxm5IDrGSjCcR2d12Jmic0di9w/WpJBbzYuSXmfgoL+WwEV7zY/ajxzQr7o4vSkEJh6piyFLYtuQ==", + "dependencies": { + "lru-cache": "^7.18.3", + "socks": "^2.7.1" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, "node_modules/@npmcli/arborist": { "version": "4.3.1", "resolved": "https://registry.npmjs.org/@npmcli/arborist/-/arborist-4.3.1.tgz", @@ -3178,16 +3190,11 @@ "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==" }, - "node_modules/@tsconfig/node14": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-14.1.0.tgz", - "integrity": "sha512-VmsCG04YR58ciHBeJKBDNMWWfYbyP8FekWVuTlpstaUPlat1D0x/tXzkWP7yCMU0eSz9V4OZU0LBWTFJ3xZf6w==", - "dev": true - }, "node_modules/@tsconfig/node16": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", - "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==" + "version": "16.1.0", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-16.1.0.tgz", + "integrity": "sha512-cfwhqrdZEKS+Iqu1OPDwmKsOV/eo7q4sPhWzOXc1rU77nnPFV3+77yPg8uKQ2e8eir6mERCvrKnd+EGa4qo4bQ==", + "dev": true }, "node_modules/@tufjs/canonical-json": { "version": "1.0.0", @@ -12942,6 +12949,11 @@ "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==" }, + "node_modules/ts-node/node_modules/@tsconfig/node16": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", + "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==" + }, "node_modules/tslib": { "version": "2.6.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz", @@ -13730,18 +13742,18 @@ }, "packages/bundle": { "name": "@sigstore/bundle", - "version": "1.0.0", + "version": "1.1.0", "license": "Apache-2.0", "dependencies": { "@sigstore/protobuf-specs": "^0.2.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^16.13.0 || >=18.0.0" } }, "packages/cli": { "name": "@sigstore/cli", - "version": "0.1.1", + "version": "0.1.2", "license": "Apache-2.0", "dependencies": { "@oclif/color": "^1.0.10", @@ -13749,43 +13761,103 @@ "@oclif/plugin-help": "^5", "open": "^8.4.2", "openid-client": "^5.4.3", - "sigstore": "^1.8.0" + "sigstore": "^1.9.0" }, "bin": { "sigstore": "bin/run" }, "devDependencies": { - "make-fetch-happen": "^11.1.1", + "make-fetch-happen": "^12.0.0", "oclif": "^3", "tslib": "^2.6.1" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^16.13.0 || >=18.0.0" + } + }, + "packages/cli/node_modules/make-fetch-happen": { + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-12.0.0.tgz", + "integrity": "sha512-xpuA2kA8Z66uGQjaSXd7rffqJOv60iYpP8X0TsZl3uwXlqxUVmHETImjM71JOPA694TlcX37GhlaCsl6z6fNVg==", + "dev": true, + "dependencies": { + "@npmcli/agent": "^1.1.0", + "cacache": "^17.0.0", + "http-cache-semantics": "^4.1.1", + "is-lambda": "^1.0.1", + "minipass": "^7.0.2", + "minipass-fetch": "^3.0.0", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.3", + "promise-retry": "^2.0.1", + "ssri": "^10.0.0" + }, + "engines": { + "node": "^16.13.0 || >=18.0.0" + } + }, + "packages/cli/node_modules/minipass": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.2.tgz", + "integrity": "sha512-eL79dXrE1q9dBbDCLg7xfn/vl7MS4F1gvJAgjJrQli/jbQWdUttuVawphqpffoIYfRdq78LHx6GP4bU/EQ2ATA==", + "dev": true, + "engines": { + "node": ">=16 || 14 >=14.17" } }, "packages/client": { "name": "sigstore", - "version": "1.8.0", + "version": "1.9.0", "license": "Apache-2.0", "dependencies": { - "@sigstore/bundle": "^1.0.0", + "@sigstore/bundle": "^1.1.0", "@sigstore/protobuf-specs": "^0.2.0", - "@sigstore/sign": "^0.0.0", + "@sigstore/sign": "^1.0.0", "@sigstore/tuf": "^1.0.3", - "make-fetch-happen": "^11.0.1" + "make-fetch-happen": "^12.0.0" }, "bin": { "sigstore": "bin/sigstore.js" }, "devDependencies": { "@sigstore/jest": "^0.0.0", - "@sigstore/mock": "^0.1.1", + "@sigstore/mock": "^0.2.0", "@sigstore/rekor-types": "^1.0.0", "@tufjs/repo-mock": "^1.1.0", "@types/make-fetch-happen": "^10.0.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^16.13.0 || >=18.0.0" + } + }, + "packages/client/node_modules/make-fetch-happen": { + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-12.0.0.tgz", + "integrity": "sha512-xpuA2kA8Z66uGQjaSXd7rffqJOv60iYpP8X0TsZl3uwXlqxUVmHETImjM71JOPA694TlcX37GhlaCsl6z6fNVg==", + "dependencies": { + "@npmcli/agent": "^1.1.0", + "cacache": "^17.0.0", + "http-cache-semantics": "^4.1.1", + "is-lambda": "^1.0.1", + "minipass": "^7.0.2", + "minipass-fetch": "^3.0.0", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.3", + "promise-retry": "^2.0.1", + "ssri": "^10.0.0" + }, + "engines": { + "node": "^16.13.0 || >=18.0.0" + } + }, + "packages/client/node_modules/minipass": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.2.tgz", + "integrity": "sha512-eL79dXrE1q9dBbDCLg7xfn/vl7MS4F1gvJAgjJrQli/jbQWdUttuVawphqpffoIYfRdq78LHx6GP4bU/EQ2ATA==", + "engines": { + "node": ">=16 || 14 >=14.17" } }, "packages/conformance": { @@ -13803,7 +13875,7 @@ "tslib": "^2.6.1" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^16.13.0 || >=18.0.0" } }, "packages/jest": { @@ -13814,7 +13886,7 @@ "@types/sigstore-jest-extended": "^0.0.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^16.13.0 || >=18.0.0" } }, "packages/jest-types": { @@ -13824,7 +13896,7 @@ }, "packages/mock": { "name": "@sigstore/mock", - "version": "0.1.1", + "version": "0.2.0", "license": "Apache-2.0", "dependencies": { "@peculiar/webcrypto": "^1.4.3", @@ -13841,19 +13913,19 @@ }, "devDependencies": { "@sigstore/rekor-types": "^0.0.3", - "make-fetch-happen": "^11.0.1" + "make-fetch-happen": "^12.0.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^16.13.0 || >=18.0.0" } }, "packages/mock-server": { "name": "@sigstore/mock-server", - "version": "0.0.0", + "version": "0.0.1", "dependencies": { "@oclif/color": "^1.0.10", "@oclif/core": "^2", - "@sigstore/mock": "^0.1.1", + "@sigstore/mock": "^0.2.0", "@tufjs/repo-mock": "^1.4.0", "express": "4.18.2" }, @@ -13866,7 +13938,7 @@ "tslib": "^2.6.1" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^16.13.0 || >=18.0.0" } }, "packages/mock/node_modules/@sigstore/rekor-types": { @@ -13878,6 +13950,37 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, + "packages/mock/node_modules/make-fetch-happen": { + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-12.0.0.tgz", + "integrity": "sha512-xpuA2kA8Z66uGQjaSXd7rffqJOv60iYpP8X0TsZl3uwXlqxUVmHETImjM71JOPA694TlcX37GhlaCsl6z6fNVg==", + "dev": true, + "dependencies": { + "@npmcli/agent": "^1.1.0", + "cacache": "^17.0.0", + "http-cache-semantics": "^4.1.1", + "is-lambda": "^1.0.1", + "minipass": "^7.0.2", + "minipass-fetch": "^3.0.0", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.3", + "promise-retry": "^2.0.1", + "ssri": "^10.0.0" + }, + "engines": { + "node": "^16.13.0 || >=18.0.0" + } + }, + "packages/mock/node_modules/minipass": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.2.tgz", + "integrity": "sha512-eL79dXrE1q9dBbDCLg7xfn/vl7MS4F1gvJAgjJrQli/jbQWdUttuVawphqpffoIYfRdq78LHx6GP4bU/EQ2ATA==", + "dev": true, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, "packages/oauth": { "name": "@sigstore/oauth", "version": "0.0.3", @@ -13906,7 +14009,7 @@ "openapi-typescript-codegen": "^0.25.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^16.13.0 || >=18.0.0" } }, "packages/server": { @@ -13935,21 +14038,50 @@ }, "packages/sign": { "name": "@sigstore/sign", - "version": "0.0.0", + "version": "1.0.0", "license": "Apache-2.0", "dependencies": { - "@sigstore/bundle": "^1.0.0", + "@sigstore/bundle": "^1.1.0", "@sigstore/protobuf-specs": "^0.2.0", - "make-fetch-happen": "^11.0.1" + "make-fetch-happen": "^12.0.0" }, "devDependencies": { "@sigstore/jest": "^0.0.0", - "@sigstore/mock": "^0.1.0", + "@sigstore/mock": "^0.2.0", "@sigstore/rekor-types": "^1.0.0", "@types/make-fetch-happen": "^10.0.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^16.13.0 || >=18.0.0" + } + }, + "packages/sign/node_modules/make-fetch-happen": { + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-12.0.0.tgz", + "integrity": "sha512-xpuA2kA8Z66uGQjaSXd7rffqJOv60iYpP8X0TsZl3uwXlqxUVmHETImjM71JOPA694TlcX37GhlaCsl6z6fNVg==", + "dependencies": { + "@npmcli/agent": "^1.1.0", + "cacache": "^17.0.0", + "http-cache-semantics": "^4.1.1", + "is-lambda": "^1.0.1", + "minipass": "^7.0.2", + "minipass-fetch": "^3.0.0", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.3", + "promise-retry": "^2.0.1", + "ssri": "^10.0.0" + }, + "engines": { + "node": "^16.13.0 || >=18.0.0" + } + }, + "packages/sign/node_modules/minipass": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.2.tgz", + "integrity": "sha512-eL79dXrE1q9dBbDCLg7xfn/vl7MS4F1gvJAgjJrQli/jbQWdUttuVawphqpffoIYfRdq78LHx6GP4bU/EQ2ATA==", + "engines": { + "node": ">=16 || 14 >=14.17" } }, "packages/tuf": { @@ -13966,7 +14098,7 @@ "@types/make-fetch-happen": "^10.0.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^16.13.0 || >=18.0.0" } } }, @@ -15468,6 +15600,15 @@ "fastq": "^1.6.0" } }, + "@npmcli/agent": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@npmcli/agent/-/agent-1.1.0.tgz", + "integrity": "sha512-I9g/2XFOkflxm5IDrGSjCcR2d12Jmic0di9w/WpJBbzYuSXmfgoL+WwEV7zY/ajxzQr7o4vSkEJh6piyFLYtuQ==", + "requires": { + "lru-cache": "^7.18.3", + "socks": "^2.7.1" + } + }, "@npmcli/arborist": { "version": "4.3.1", "resolved": "https://registry.npmjs.org/@npmcli/arborist/-/arborist-4.3.1.tgz", @@ -16378,12 +16519,39 @@ "@oclif/color": "^1.0.10", "@oclif/core": "^2", "@oclif/plugin-help": "^5", - "make-fetch-happen": "^11.1.1", + "make-fetch-happen": "^12.0.0", "oclif": "^3", "open": "^8.4.2", "openid-client": "^5.4.3", - "sigstore": "^1.8.0", + "sigstore": "^1.9.0", "tslib": "^2.6.1" + }, + "dependencies": { + "make-fetch-happen": { + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-12.0.0.tgz", + "integrity": "sha512-xpuA2kA8Z66uGQjaSXd7rffqJOv60iYpP8X0TsZl3uwXlqxUVmHETImjM71JOPA694TlcX37GhlaCsl6z6fNVg==", + "dev": true, + "requires": { + "@npmcli/agent": "^1.1.0", + "cacache": "^17.0.0", + "http-cache-semantics": "^4.1.1", + "is-lambda": "^1.0.1", + "minipass": "^7.0.2", + "minipass-fetch": "^3.0.0", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.3", + "promise-retry": "^2.0.1", + "ssri": "^10.0.0" + } + }, + "minipass": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.2.tgz", + "integrity": "sha512-eL79dXrE1q9dBbDCLg7xfn/vl7MS4F1gvJAgjJrQli/jbQWdUttuVawphqpffoIYfRdq78LHx6GP4bU/EQ2ATA==", + "dev": true + } } }, "@sigstore/conformance": { @@ -16413,7 +16581,7 @@ "bytestreamjs": "^2.0.1", "canonicalize": "^2.0.0", "jose": "^4.14.4", - "make-fetch-happen": "^11.0.1", + "make-fetch-happen": "^12.0.0", "nock": "^13.3.2", "pkijs": "^3.0.15", "pvutils": "^1.1.3" @@ -16424,6 +16592,31 @@ "resolved": "https://registry.npmjs.org/@sigstore/rekor-types/-/rekor-types-0.0.3.tgz", "integrity": "sha512-yCPe8wpQOfDNXDxhMGEhcvezJGHyEwZNeBVNa3W7xZ1Jweo/m4oAef6UK8gYowAQEafLZ0LaWUxrsVUp+ljrPg==", "dev": true + }, + "make-fetch-happen": { + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-12.0.0.tgz", + "integrity": "sha512-xpuA2kA8Z66uGQjaSXd7rffqJOv60iYpP8X0TsZl3uwXlqxUVmHETImjM71JOPA694TlcX37GhlaCsl6z6fNVg==", + "dev": true, + "requires": { + "@npmcli/agent": "^1.1.0", + "cacache": "^17.0.0", + "http-cache-semantics": "^4.1.1", + "is-lambda": "^1.0.1", + "minipass": "^7.0.2", + "minipass-fetch": "^3.0.0", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.3", + "promise-retry": "^2.0.1", + "ssri": "^10.0.0" + } + }, + "minipass": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.2.tgz", + "integrity": "sha512-eL79dXrE1q9dBbDCLg7xfn/vl7MS4F1gvJAgjJrQli/jbQWdUttuVawphqpffoIYfRdq78LHx6GP4bU/EQ2ATA==", + "dev": true } } }, @@ -16432,7 +16625,7 @@ "requires": { "@oclif/color": "^1.0.10", "@oclif/core": "^2", - "@sigstore/mock": "^0.1.1", + "@sigstore/mock": "^0.2.0", "@tufjs/repo-mock": "^1.4.0", "@types/express": "^4.17.17", "express": "4.18.2", @@ -16455,13 +16648,38 @@ "@sigstore/sign": { "version": "file:packages/sign", "requires": { - "@sigstore/bundle": "^1.0.0", + "@sigstore/bundle": "^1.1.0", "@sigstore/jest": "^0.0.0", - "@sigstore/mock": "^0.1.0", + "@sigstore/mock": "^0.2.0", "@sigstore/protobuf-specs": "^0.2.0", "@sigstore/rekor-types": "^1.0.0", "@types/make-fetch-happen": "^10.0.0", - "make-fetch-happen": "^11.0.1" + "make-fetch-happen": "^12.0.0" + }, + "dependencies": { + "make-fetch-happen": { + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-12.0.0.tgz", + "integrity": "sha512-xpuA2kA8Z66uGQjaSXd7rffqJOv60iYpP8X0TsZl3uwXlqxUVmHETImjM71JOPA694TlcX37GhlaCsl6z6fNVg==", + "requires": { + "@npmcli/agent": "^1.1.0", + "cacache": "^17.0.0", + "http-cache-semantics": "^4.1.1", + "is-lambda": "^1.0.1", + "minipass": "^7.0.2", + "minipass-fetch": "^3.0.0", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.3", + "promise-retry": "^2.0.1", + "ssri": "^10.0.0" + } + }, + "minipass": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.2.tgz", + "integrity": "sha512-eL79dXrE1q9dBbDCLg7xfn/vl7MS4F1gvJAgjJrQli/jbQWdUttuVawphqpffoIYfRdq78LHx6GP4bU/EQ2ATA==" + } } }, "@sigstore/tuf": { @@ -16534,16 +16752,11 @@ "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==" }, - "@tsconfig/node14": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-14.1.0.tgz", - "integrity": "sha512-VmsCG04YR58ciHBeJKBDNMWWfYbyP8FekWVuTlpstaUPlat1D0x/tXzkWP7yCMU0eSz9V4OZU0LBWTFJ3xZf6w==", - "dev": true - }, "@tsconfig/node16": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", - "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==" + "version": "16.1.0", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-16.1.0.tgz", + "integrity": "sha512-cfwhqrdZEKS+Iqu1OPDwmKsOV/eo7q4sPhWzOXc1rU77nnPFV3+77yPg8uKQ2e8eir6mERCvrKnd+EGa4qo4bQ==", + "dev": true }, "@tufjs/canonical-json": { "version": "1.0.0", @@ -22918,16 +23131,41 @@ "sigstore": { "version": "file:packages/client", "requires": { - "@sigstore/bundle": "^1.0.0", + "@sigstore/bundle": "^1.1.0", "@sigstore/jest": "^0.0.0", - "@sigstore/mock": "^0.1.1", + "@sigstore/mock": "^0.2.0", "@sigstore/protobuf-specs": "^0.2.0", "@sigstore/rekor-types": "^1.0.0", - "@sigstore/sign": "^0.0.0", + "@sigstore/sign": "^1.0.0", "@sigstore/tuf": "^1.0.3", "@tufjs/repo-mock": "^1.1.0", "@types/make-fetch-happen": "^10.0.0", - "make-fetch-happen": "^11.0.1" + "make-fetch-happen": "^12.0.0" + }, + "dependencies": { + "make-fetch-happen": { + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-12.0.0.tgz", + "integrity": "sha512-xpuA2kA8Z66uGQjaSXd7rffqJOv60iYpP8X0TsZl3uwXlqxUVmHETImjM71JOPA694TlcX37GhlaCsl6z6fNVg==", + "requires": { + "@npmcli/agent": "^1.1.0", + "cacache": "^17.0.0", + "http-cache-semantics": "^4.1.1", + "is-lambda": "^1.0.1", + "minipass": "^7.0.2", + "minipass-fetch": "^3.0.0", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.3", + "promise-retry": "^2.0.1", + "ssri": "^10.0.0" + } + }, + "minipass": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.2.tgz", + "integrity": "sha512-eL79dXrE1q9dBbDCLg7xfn/vl7MS4F1gvJAgjJrQli/jbQWdUttuVawphqpffoIYfRdq78LHx6GP4bU/EQ2ATA==" + } } }, "sisteransi": { @@ -23565,6 +23803,11 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==" + }, + "@tsconfig/node16": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", + "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==" } } }, diff --git a/package.json b/package.json index b460cef81..8f170e4f6 100644 --- a/package.json +++ b/package.json @@ -17,7 +17,7 @@ "devDependencies": { "@changesets/cli": "^2.26.2", "@total-typescript/shoehorn": "^0.1.1", - "@tsconfig/node14": "^14.1.0", + "@tsconfig/node16": "^16.1.0", "@types/jest": "^29.5.3", "@types/node": "^20.4.9", "@typescript-eslint/eslint-plugin": "^6.3.0", @@ -36,6 +36,6 @@ "./packages/*" ], "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^16.13.0 || >=18.0.0" } } diff --git a/packages/bundle/package.json b/packages/bundle/package.json index 4c6199e1c..0d9711e8a 100644 --- a/packages/bundle/package.json +++ b/packages/bundle/package.json @@ -30,6 +30,6 @@ "@sigstore/protobuf-specs": "^0.2.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^16.13.0 || >=18.0.0" } } diff --git a/packages/cli/package.json b/packages/cli/package.json index 1b488ae50..42fc64b5a 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -40,7 +40,7 @@ "sigstore": "^1.9.0" }, "devDependencies": { - "make-fetch-happen": "^11.1.1", + "make-fetch-happen": "^12.0.0", "oclif": "^3", "tslib": "^2.6.1" }, @@ -60,6 +60,6 @@ "topicSeparator": " " }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^16.13.0 || >=18.0.0" } } diff --git a/packages/client/package.json b/packages/client/package.json index f55f635ed..a5bf37156 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -41,9 +41,9 @@ "@sigstore/protobuf-specs": "^0.2.0", "@sigstore/sign": "^1.0.0", "@sigstore/tuf": "^1.0.3", - "make-fetch-happen": "^11.0.1" + "make-fetch-happen": "^12.0.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^16.13.0 || >=18.0.0" } } diff --git a/packages/conformance/package.json b/packages/conformance/package.json index 76603093f..43a3c6cd2 100644 --- a/packages/conformance/package.json +++ b/packages/conformance/package.json @@ -30,6 +30,6 @@ "topicSeparator": " " }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^16.13.0 || >=18.0.0" } } diff --git a/packages/jest/package.json b/packages/jest/package.json index 720598ecb..f6ab8efd1 100644 --- a/packages/jest/package.json +++ b/packages/jest/package.json @@ -22,6 +22,6 @@ "@types/sigstore-jest-extended": "^0.0.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^16.13.0 || >=18.0.0" } } diff --git a/packages/mock-server/package.json b/packages/mock-server/package.json index 5d7a35d83..cc34d46bb 100644 --- a/packages/mock-server/package.json +++ b/packages/mock-server/package.json @@ -35,6 +35,6 @@ "commands": "./dist" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^16.13.0 || >=18.0.0" } } diff --git a/packages/mock/package.json b/packages/mock/package.json index 681d889cc..97910a4d5 100644 --- a/packages/mock/package.json +++ b/packages/mock/package.json @@ -27,7 +27,7 @@ }, "devDependencies": { "@sigstore/rekor-types": "^0.0.3", - "make-fetch-happen": "^11.0.1" + "make-fetch-happen": "^12.0.0" }, "dependencies": { "@peculiar/webcrypto": "^1.4.3", @@ -43,6 +43,6 @@ "pvutils": "^1.1.3" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^16.13.0 || >=18.0.0" } } diff --git a/packages/rekor-types/package.json b/packages/rekor-types/package.json index c1fa40606..52fd74f9d 100644 --- a/packages/rekor-types/package.json +++ b/packages/rekor-types/package.json @@ -32,6 +32,6 @@ "openapi-typescript-codegen": "^0.25.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^16.13.0 || >=18.0.0" } } diff --git a/packages/sign/package.json b/packages/sign/package.json index 091264b24..3e8edee0f 100644 --- a/packages/sign/package.json +++ b/packages/sign/package.json @@ -34,9 +34,9 @@ "dependencies": { "@sigstore/bundle": "^1.1.0", "@sigstore/protobuf-specs": "^0.2.0", - "make-fetch-happen": "^11.0.1" + "make-fetch-happen": "^12.0.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^16.13.0 || >=18.0.0" } } diff --git a/packages/sign/src/__tests__/util/promise.test.ts b/packages/sign/src/__tests__/util/promise.test.ts deleted file mode 100644 index 68b0a1f4f..000000000 --- a/packages/sign/src/__tests__/util/promise.test.ts +++ /dev/null @@ -1,51 +0,0 @@ -/* -Copyright 2023 The Sigstore Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ -import { promiseAny } from '../../util/promise'; - -describe('promiseAny', () => { - describe('when all promises resolve', () => { - it('should return the first resolved promise', async () => { - const promise1 = Promise.resolve('foo'); - const promise2 = Promise.resolve('bar'); - const promise3 = Promise.resolve('baz'); - - const result = await promiseAny([promise1, promise2, promise3]); - expect(result).toBe('foo'); - }); - }); - - describe('when only one promise resolves', () => { - it('should return the first resolved promise', async () => { - const promise1 = Promise.reject('err'); - const promise2 = Promise.resolve('bar'); - const promise3 = Promise.reject('err'); - - const result = await promiseAny([promise1, promise2, promise3]); - expect(result).toBe('bar'); - }); - }); - - describe('when all promises reject', () => { - it('should return all rejections', async () => { - const promise1 = Promise.reject('err1'); - const promise2 = Promise.reject('err2'); - const promise3 = Promise.reject('err3'); - - const result = promiseAny([promise1, promise2, promise3]); - await expect(result).rejects.toEqual(['err1', 'err2', 'err3']); - }); - }); -}); diff --git a/packages/sign/src/identity/ci.ts b/packages/sign/src/identity/ci.ts index 196074e0c..be90567e9 100644 --- a/packages/sign/src/identity/ci.ts +++ b/packages/sign/src/identity/ci.ts @@ -14,7 +14,6 @@ See the License for the specific language governing permissions and limitations under the License. */ import fetch from 'make-fetch-happen'; -import { promise } from '../util'; import type { IdentityProvider } from './provider'; type ProviderFunc = (audience: string) => Promise; @@ -38,9 +37,9 @@ export class CIContextProvider implements IdentityProvider { // Invoke all registered ProviderFuncs and return the value of whichever one // resolves first. public async getToken() { - return promise - .promiseAny(providers.map((getToken) => getToken(this.audience))) - .catch(() => Promise.reject('CI: no tokens available')); + return Promise.any( + providers.map((getToken) => getToken(this.audience)) + ).catch(() => Promise.reject('CI: no tokens available')); } } diff --git a/packages/sign/src/util/index.ts b/packages/sign/src/util/index.ts index 491f8be30..98c7b976c 100644 --- a/packages/sign/src/util/index.ts +++ b/packages/sign/src/util/index.ts @@ -19,5 +19,4 @@ export * as encoding from './encoding'; export * as json from './json'; export * as oidc from './oidc'; export * as pem from './pem'; -export * as promise from './promise'; export * as ua from './ua'; diff --git a/packages/sign/src/util/promise.ts b/packages/sign/src/util/promise.ts deleted file mode 100644 index 83bb6c189..000000000 --- a/packages/sign/src/util/promise.ts +++ /dev/null @@ -1,34 +0,0 @@ -/* -Copyright 2023 The Sigstore Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -// Implementation of Promise.any (not available until Node v15). -// We're basically inverting the logic of Promise.all and taking advantage -// of the fact that Promise.all will return early on the first rejection. -// By reversing the resolve/reject logic we can use this to return early -// on the first resolved promise. -export const promiseAny = async ( - values: Iterable> -): Promise => { - return Promise.all( - [...values].map( - (promise) => - new Promise((resolve, reject) => promise.then(reject, resolve)) - ) - ).then( - (errors) => Promise.reject(errors), - (value) => Promise.resolve(value) - ); -}; diff --git a/packages/tuf/package.json b/packages/tuf/package.json index 3473dfef2..2f21bdf89 100644 --- a/packages/tuf/package.json +++ b/packages/tuf/package.json @@ -36,6 +36,6 @@ "tuf-js": "^1.1.7" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^16.13.0 || >=18.0.0" } } diff --git a/tsconfig.base.json b/tsconfig.base.json index 0bf8cf93e..1166b89bf 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -1,5 +1,5 @@ { - "extends": "@tsconfig/node14/tsconfig.json", + "extends": "@tsconfig/node16/tsconfig.json", "compilerOptions": { "declaration": true, "noFallthroughCasesInSwitch": true,