From 84e6594770ca9e3ca417595eff5cc0c9660966fe Mon Sep 17 00:00:00 2001 From: Phillip Webb Date: Thu, 19 Sep 2024 14:41:17 -0700 Subject: [PATCH] Patch gulp-vinyl-zip to improve error messages Update Antora `package.json` to patch `@vscode+gulp-vinyl-zip` in order to provide better error messages. See gh-42392 --- antora/package-lock.json | 375 +++++++++++++++++- antora/package.json | 6 +- .../@vscode+gulp-vinyl-zip+2.5.0.patch | 285 +++++++++++++ .../boot/build/AntoraConventions.java | 3 +- 4 files changed, 665 insertions(+), 4 deletions(-) create mode 100644 antora/patches/@vscode+gulp-vinyl-zip+2.5.0.patch diff --git a/antora/package-lock.json b/antora/package-lock.json index 9953e35aaa7e..05db0327412f 100644 --- a/antora/package-lock.json +++ b/antora/package-lock.json @@ -4,6 +4,7 @@ "requires": true, "packages": { "": { + "hasInstallScript": true, "dependencies": { "@antora/atlas-extension": "1.0.0-alpha.2", "@antora/cli": "3.2.0-alpha.4", @@ -12,7 +13,8 @@ "@springio/antora-extensions": "1.11.1", "@springio/antora-xref-extension": "1.0.0-alpha.3", "@springio/antora-zip-contents-collector-extension": "1.0.0-alpha.8", - "@springio/asciidoctor-extensions": "1.0.0-alpha.11" + "@springio/asciidoctor-extensions": "1.0.0-alpha.11", + "patch-package": "^8.0.0" } }, "node_modules/@antora/asciidoc-loader": { @@ -413,6 +415,11 @@ "node": ">= 10" } }, + "node_modules/@yarnpkg/lockfile": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz", + "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==" + }, "node_modules/abort-controller": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", @@ -424,6 +431,20 @@ "node": ">=6.5" } }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, "node_modules/append-buffer": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/append-buffer/-/append-buffer-1.0.2.tgz", @@ -551,6 +572,14 @@ "resolved": "https://registry.npmjs.org/async-lock/-/async-lock-1.4.1.tgz", "integrity": "sha512-Az2ZTpuytrtqENulXwO3GGv1Bztugx6TT37NIo7imr/Qo0gsYiGtSdBa2B6fsXhTpVZDNfu1Qn3pk531e3q+nQ==" }, + "node_modules/at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "engines": { + "node": ">= 4.0.0" + } + }, "node_modules/atomic-sleep": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/atomic-sleep/-/atomic-sleep-1.0.0.tgz", @@ -703,6 +732,21 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, "node_modules/ci": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/ci/-/ci-2.3.0.tgz", @@ -714,6 +758,20 @@ "url": "https://github.com/privatenumber/ci?sponsor=1" } }, + "node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "engines": { + "node": ">=8" + } + }, "node_modules/clean-git-ref": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/clean-git-ref/-/clean-git-ref-2.0.1.tgz", @@ -777,6 +835,22 @@ "safe-buffer": "~5.1.0" } }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, "node_modules/colorette": { "version": "2.0.20", "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", @@ -854,6 +928,19 @@ "node": ">= 10" } }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, "node_modules/csstype": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", @@ -1185,6 +1272,14 @@ "node": ">=8" } }, + "node_modules/find-yarn-workspace-root": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/find-yarn-workspace-root/-/find-yarn-workspace-root-2.0.0.tgz", + "integrity": "sha512-1IMnbjt4KzsQfnhnzNd8wUEgXZ44IzZaZmnLYx7D5FZlaHt2gW20Cri8Q+E/t5tIj4+epTBub+2Zxu/vNILzqQ==", + "dependencies": { + "micromatch": "^4.0.2" + } + }, "node_modules/flush-write-stream": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", @@ -1226,6 +1321,20 @@ "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" }, + "node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/fs-mkdirp-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs-mkdirp-stream/-/fs-mkdirp-stream-1.0.0.tgz", @@ -1367,6 +1476,14 @@ "uglify-js": "^3.1.4" } }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, "node_modules/has-property-descriptors": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", @@ -1523,6 +1640,20 @@ "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" }, + "node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", @@ -1614,11 +1745,27 @@ "node": ">=0.10.0" } }, + "node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + }, "node_modules/isomorphic-git": { "version": "1.25.10", "resolved": "https://registry.npmjs.org/isomorphic-git/-/isomorphic-git-1.25.10.tgz", @@ -1670,11 +1817,33 @@ "js-yaml": "bin/js-yaml.js" } }, + "node_modules/json-stable-stringify": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.1.1.tgz", + "integrity": "sha512-SU/971Kt5qVQfJpyDveVhQ/vya+5hvrjClFOcr8c0Fq5aODJjMwutrOfCU+eCnVD5gpx1Q3fEqkyom77zH1iIg==", + "dependencies": { + "call-bind": "^1.0.5", + "isarray": "^2.0.5", + "jsonify": "^0.0.1", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/json-stable-stringify-without-jsonify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==" }, + "node_modules/json-stable-stringify/node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" + }, "node_modules/json5": { "version": "2.2.3", "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", @@ -1686,6 +1855,33 @@ "node": ">=6" } }, + "node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/jsonify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.1.tgz", + "integrity": "sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/klaw-sync": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/klaw-sync/-/klaw-sync-6.0.0.tgz", + "integrity": "sha512-nIeuVSzdCCs6TDPTqI8w1Yre34sSq7AkZ4B3sfOBbI2CgVSB4Du4aLQijFU2+lhAFCwt9+42Hel6lQNIv6AntQ==", + "dependencies": { + "graceful-fs": "^4.1.11" + } + }, "node_modules/lazystream": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.1.tgz", @@ -1784,6 +1980,18 @@ "node": ">=4" } }, + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, "node_modules/mime-db": { "version": "1.52.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", @@ -1927,6 +2135,21 @@ "wrappy": "1" } }, + "node_modules/open": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-7.4.2.tgz", + "integrity": "sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==", + "dependencies": { + "is-docker": "^2.0.0", + "is-wsl": "^2.1.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/ordered-read-streams": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-1.0.1.tgz", @@ -1962,11 +2185,48 @@ "safe-buffer": "~5.1.0" } }, + "node_modules/os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/pako": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==" }, + "node_modules/patch-package": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/patch-package/-/patch-package-8.0.0.tgz", + "integrity": "sha512-da8BVIhzjtgScwDJ2TtKsfT5JFWz1hYoBl9rUQ1f38MC2HwnEIkK8VN3dKMKcP7P7bvvgzNDbfNHtx3MsQb5vA==", + "dependencies": { + "@yarnpkg/lockfile": "^1.1.0", + "chalk": "^4.1.2", + "ci-info": "^3.7.0", + "cross-spawn": "^7.0.3", + "find-yarn-workspace-root": "^2.0.0", + "fs-extra": "^9.0.0", + "json-stable-stringify": "^1.0.2", + "klaw-sync": "^6.0.0", + "minimist": "^1.2.6", + "open": "^7.4.2", + "rimraf": "^2.6.3", + "semver": "^7.5.3", + "slash": "^2.0.0", + "tmp": "^0.0.33", + "yaml": "^2.2.2" + }, + "bin": { + "patch-package": "index.js" + }, + "engines": { + "node": ">=14", + "npm": ">5" + } + }, "node_modules/path-dirname": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", @@ -1980,6 +2240,14 @@ "node": ">=0.10.0" } }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "engines": { + "node": ">=8" + } + }, "node_modules/pend": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", @@ -2326,6 +2594,18 @@ "node": ">= 0.10" } }, + "node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, "node_modules/safe-buffer": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", @@ -2375,6 +2655,17 @@ "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" }, + "node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/seroval": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/seroval/-/seroval-1.0.7.tgz", @@ -2422,6 +2713,25 @@ "sha.js": "bin.js" } }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "engines": { + "node": ">=8" + } + }, "node_modules/should-proxy": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/should-proxy/-/should-proxy-1.0.4.tgz", @@ -2470,6 +2780,14 @@ "simple-concat": "^1.0.0" } }, + "node_modules/slash": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", + "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", + "engines": { + "node": ">=6" + } + }, "node_modules/solid-js": { "version": "1.8.17", "resolved": "https://registry.npmjs.org/solid-js/-/solid-js-1.8.17.tgz", @@ -2541,6 +2859,17 @@ "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz", "integrity": "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==" }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/tar-stream": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", @@ -2614,6 +2943,17 @@ "safe-buffer": "~5.1.0" } }, + "node_modules/tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dependencies": { + "os-tmpdir": "~1.0.2" + }, + "engines": { + "node": ">=0.6.0" + } + }, "node_modules/to-absolute-glob": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/to-absolute-glob/-/to-absolute-glob-2.0.2.tgz", @@ -2691,6 +3031,14 @@ "through2-filter": "^3.0.0" } }, + "node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "engines": { + "node": ">= 10.0.0" + } + }, "node_modules/unxhr": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/unxhr/-/unxhr-1.0.1.tgz", @@ -2880,6 +3228,20 @@ "node": ">=0.10.0" } }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, "node_modules/wordwrap": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", @@ -2906,6 +3268,17 @@ "node": ">=0.4" } }, + "node_modules/yaml": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.5.1.tgz", + "integrity": "sha512-bLQOjaX/ADgQ20isPJRvF0iRUHIxVhYvr53Of7wGcWlO2jvtUlH5m87DsmulFVxRpNLOnI4tB6p/oh8D7kpn9Q==", + "bin": { + "yaml": "bin.mjs" + }, + "engines": { + "node": ">= 14" + } + }, "node_modules/yargs-parser": { "version": "20.2.9", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", diff --git a/antora/package.json b/antora/package.json index ea8a2b4af854..0522e2c51460 100644 --- a/antora/package.json +++ b/antora/package.json @@ -1,6 +1,7 @@ { "scripts": { - "antora": "node npm/antora.js" + "antora": "node npm/antora.js", + "postinstall": "patch-package" }, "dependencies": { "@antora/cli": "3.2.0-alpha.4", @@ -10,7 +11,8 @@ "@springio/antora-xref-extension": "1.0.0-alpha.3", "@springio/antora-zip-contents-collector-extension": "1.0.0-alpha.8", "@asciidoctor/tabs": "1.0.0-beta.6", - "@springio/asciidoctor-extensions": "1.0.0-alpha.11" + "@springio/asciidoctor-extensions": "1.0.0-alpha.11", + "patch-package": "^8.0.0" }, "config": { "ui-bundle-url": "https://github.com/spring-io/antora-ui-spring/releases/download/v0.4.16/ui-bundle.zip" diff --git a/antora/patches/@vscode+gulp-vinyl-zip+2.5.0.patch b/antora/patches/@vscode+gulp-vinyl-zip+2.5.0.patch new file mode 100644 index 000000000000..c47c0a27efa2 --- /dev/null +++ b/antora/patches/@vscode+gulp-vinyl-zip+2.5.0.patch @@ -0,0 +1,285 @@ +diff --git a/node_modules/@vscode/gulp-vinyl-zip/lib/src/index.js b/node_modules/@vscode/gulp-vinyl-zip/lib/src/index.js +index 17d902d..0448dec 100644 +--- a/node_modules/@vscode/gulp-vinyl-zip/lib/src/index.js ++++ b/node_modules/@vscode/gulp-vinyl-zip/lib/src/index.js +@@ -1,135 +1,157 @@ +-'use strict'; +- +-var fs = require('fs'); +-var constants = fs.constants; +-var yauzl = require('yauzl'); +-var File = require('../vinyl-zip'); +-var queue = require('queue'); +-var through = require('through'); +-var map = require('through2').obj; +- +-function modeFromEntry(entry) { +- var attr = entry.externalFileAttributes >> 16 || 33188; +- +- // The following constants are not available on all platforms: +- // 448 = constants.S_IRWXU, 56 = constants.S_IRWXG, 7 = constants.S_IRWXO +- return [448, 56, 7] +- .map(function (mask) { return attr & mask; }) +- .reduce(function (a, b) { return a + b; }, attr & constants.S_IFMT); ++'use strict' ++ ++// This is fork of vinyl-zip with the following updates: ++// - unzipFile has an additional `.on('error'` handler ++// - toStream has an additional `zip.on('error'` handler ++ ++const fs = require('fs') ++const constants = fs.constants ++const yauzl = require('yauzl') ++const File = require('vinyl') ++const queue = require('queue') ++const through = require('through') ++const map = require('through2').obj ++ ++function modeFromEntry (entry) { ++ const attr = entry.externalFileAttributes >> 16 || 33188 ++ return [448, 56, 7] ++ .map(function (mask) { ++ return attr & mask ++ }) ++ .reduce(function (a, b) { ++ return a + b ++ }, attr & constants.S_IFMT) + } + +-function mtimeFromEntry(entry) { +- return yauzl.dosDateTimeToDate(entry.lastModFileDate, entry.lastModFileTime); ++function mtimeFromEntry (entry) { ++ return yauzl.dosDateTimeToDate(entry.lastModFileDate, entry.lastModFileTime) + } + +-function toStream(zip) { +- var result = through(); +- var q = queue(); +- var didErr = false; +- +- q.on('error', function (err) { +- didErr = true; +- result.emit('error', err); +- }); +- +- zip.on('entry', function (entry) { +- if (didErr) { return; } +- +- var stat = new fs.Stats(); +- stat.mode = modeFromEntry(entry); +- stat.mtime = mtimeFromEntry(entry); +- +- // directories +- if (/\/$/.test(entry.fileName)) { +- stat.mode = (stat.mode & ~constants.S_IFMT) | constants.S_IFDIR; +- } +- +- var file = { +- path: entry.fileName, +- stat: stat +- }; +- +- if (stat.isFile()) { +- stat.size = entry.uncompressedSize; +- if (entry.uncompressedSize === 0) { +- file.contents = Buffer.alloc(0); +- result.emit('data', new File(file)); +- } else { +- q.push(function (cb) { +- zip.openReadStream(entry, function (err, readStream) { +- if (err) { return cb(err); } +- file.contents = readStream; +- result.emit('data', new File(file)); +- cb(); +- }); +- }); +- +- q.start(); +- } +- } else if (stat.isSymbolicLink()) { +- stat.size = entry.uncompressedSize; +- q.push(function (cb) { +- zip.openReadStream(entry, function (err, readStream) { +- if (err) { return cb(err); } +- file.symlink = ''; +- readStream.on('data', function (c) { file.symlink += c; }); +- readStream.on('error', cb); +- readStream.on('end', function () { +- result.emit('data', new File(file)); +- cb(); +- }); +- }); +- }); +- +- q.start(); +- } else if (stat.isDirectory()) { +- result.emit('data', new File(file)); +- } else { +- result.emit('data', new File(file)); +- } +- }); +- +- zip.on('end', function () { +- if (didErr) { +- return; +- } +- +- if (q.length === 0) { +- result.end(); +- } else { +- q.on('end', function () { +- result.end(); +- }); +- } +- }); +- +- return result; ++function toStream (zip) { ++ const result = through() ++ const q = queue() ++ let didErr = false ++ ++ q.on('error', function (err) { ++ didErr = true ++ result.emit('error', err) ++ }) ++ ++ zip.on('error', function (err) { ++ didErr = true ++ result.emit('error', err) ++ }) ++ ++ zip.on('entry', function (entry) { ++ if (didErr) { ++ return ++ } ++ ++ const stat = new fs.Stats() ++ stat.mode = modeFromEntry(entry) ++ stat.mtime = mtimeFromEntry(entry) ++ ++ // directories ++ if (/\/$/.test(entry.fileName)) { ++ stat.mode = (stat.mode & ~constants.S_IFMT) | constants.S_IFDIR ++ } ++ ++ const file = { ++ path: entry.fileName, ++ stat, ++ } ++ ++ if (stat.isFile()) { ++ stat.size = entry.uncompressedSize ++ if (entry.uncompressedSize === 0) { ++ file.contents = Buffer.alloc(0) ++ result.emit('data', new File(file)) ++ } else { ++ q.push(function (cb) { ++ zip.openReadStream(entry, function (err, readStream) { ++ if (err) { ++ return cb(err) ++ } ++ file.contents = readStream ++ result.emit('data', new File(file)) ++ cb() ++ }) ++ }) ++ ++ q.start() ++ } ++ } else if (stat.isSymbolicLink()) { ++ stat.size = entry.uncompressedSize ++ q.push(function (cb) { ++ zip.openReadStream(entry, function (err, readStream) { ++ if (err) { ++ return cb(err) ++ } ++ file.symlink = '' ++ readStream.on('data', function (c) { ++ file.symlink += c ++ }) ++ readStream.on('error', cb) ++ readStream.on('end', function () { ++ result.emit('data', new File(file)) ++ cb() ++ }) ++ }) ++ }) ++ ++ q.start() ++ } else if (stat.isDirectory()) { ++ result.emit('data', new File(file)) ++ } else { ++ result.emit('data', new File(file)) ++ } ++ }) ++ ++ zip.on('end', function () { ++ if (didErr) { ++ return ++ } ++ ++ if (q.length === 0) { ++ result.end() ++ } else { ++ q.on('end', function () { ++ result.end() ++ }) ++ } ++ }) ++ ++ return result + } + +-function unzipFile(zipPath) { +- var result = through(); +- yauzl.open(zipPath, function (err, zip) { +- if (err) { return result.emit('error', err); } +- toStream(zip).pipe(result); +- }); +- return result; ++function unzipFile (zipPath) { ++ const result = through() ++ yauzl.open(zipPath, function (err, zip) { ++ if (err) { ++ return result.emit('error', err) ++ } ++ toStream(zip) ++ .on('error', (err) => result.emit('error', err)) ++ .pipe(result) ++ }) ++ return result + } + +-function unzip() { +- return map(function (file, enc, next) { +- if (!file.isBuffer()) return next(new Error('Only supports buffers')); +- yauzl.fromBuffer(file.contents, (err, zip) => { +- if (err) return this.emit('error', err); +- toStream(zip) +- .on('error', next) +- .on('data', (data) => this.push(data)) +- .on('end', next); +- }); +- }); ++function unzip () { ++ return map(function (file, enc, next) { ++ if (!file.isBuffer()) return next(new Error('Only supports buffers')) ++ yauzl.fromBuffer(file.contents, (err, zip) => { ++ if (err) return this.emit('error', err) ++ toStream(zip) ++ .on('error', next) ++ .on('data', (data) => this.push(data)) ++ .on('end', next) ++ }) ++ }) + } + +-function src(zipPath) { +- return zipPath ? unzipFile(zipPath) : unzip(); ++function src (zipPath) { ++ return zipPath ? unzipFile(zipPath) : unzip() + } + +-module.exports = src; ++module.exports = src diff --git a/buildSrc/src/main/java/org/springframework/boot/build/AntoraConventions.java b/buildSrc/src/main/java/org/springframework/boot/build/AntoraConventions.java index 841afc509985..f1a79bc0bb27 100644 --- a/buildSrc/src/main/java/org/springframework/boot/build/AntoraConventions.java +++ b/buildSrc/src/main/java/org/springframework/boot/build/AntoraConventions.java @@ -92,7 +92,8 @@ private void configureGenerateAntoraPlaybookTask(Project project, private void configureCopyAntoraPackageJsonTask(Project project, Copy copyAntoraPackageJsonTask) { copyAntoraPackageJsonTask - .from(project.getRootProject().file("antora"), (spec) -> spec.include("package.json", "package-lock.json")) + .from(project.getRootProject().file("antora"), + (spec) -> spec.include("package.json", "package-lock.json", "patches/**")) .into(getNodeProjectDir(project.getBuildDir())); }