From 6bafa004b5facdba87f36625809dd1c1e14fc21c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 17 Mar 2024 22:19:20 +0100 Subject: [PATCH 01/44] chore(deps-dev): bump follow-redirects from 1.15.4 to 1.15.6 (#3912) --- package-lock.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/package-lock.json b/package-lock.json index 6ce7960ae9..c97682bc23 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10678,9 +10678,9 @@ "dev": true }, "node_modules/follow-redirects": { - "version": "1.15.4", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.4.tgz", - "integrity": "sha512-Cr4D/5wlrb0z9dgERpUL3LrmPKVDsETIJhaCMeDfuFYcqa5bldGV6wBsAN6X/vxlXQtFBMrXdXxdL8CbDTGniw==", + "version": "1.15.6", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", + "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==", "dev": true, "funding": [ { @@ -26627,9 +26627,9 @@ "dev": true }, "follow-redirects": { - "version": "1.15.4", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.4.tgz", - "integrity": "sha512-Cr4D/5wlrb0z9dgERpUL3LrmPKVDsETIJhaCMeDfuFYcqa5bldGV6wBsAN6X/vxlXQtFBMrXdXxdL8CbDTGniw==", + "version": "1.15.6", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", + "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==", "dev": true }, "for-each": { From b57a65b7cff894a95e803db1dbff70a403e79713 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 18 Mar 2024 16:26:47 -0700 Subject: [PATCH 02/44] chore(deps-dev): bump mongodb from 6.4.0 to 6.5.0 (#3916) --- package-lock.json | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/package-lock.json b/package-lock.json index c97682bc23..059b023dea 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5355,9 +5355,9 @@ } }, "node_modules/@mongodb-js/saslprep": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@mongodb-js/saslprep/-/saslprep-1.1.0.tgz", - "integrity": "sha512-Xfijy7HvfzzqiOAhAepF4SGN5e9leLkMvg/OPOF97XemjfVCYN/oWa75wnkc6mltMSTwY+XlbhWgUOJmkFspSw==", + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@mongodb-js/saslprep/-/saslprep-1.1.5.tgz", + "integrity": "sha512-XLNOMH66KhJzUJNwT/qlMnS4WsNDWD5ASdyaSH3EtK+F4r/CFGa3jT4GNi4mfOitGvWXtdLgQJkQjxSVrio+jA==", "dev": true, "dependencies": { "sparse-bitfield": "^3.0.3" @@ -13577,12 +13577,12 @@ "integrity": "sha1-EUyUlnPiqKNenTV4hSeqN7Z52is=" }, "node_modules/mongodb": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-6.4.0.tgz", - "integrity": "sha512-MdFHsyb1a/Ee0H3NmzWTSLqchacDV/APF0H6BNQvraWrOiIocys2EmTFZPgHxWhcfO94c1F34I9MACU7x0hHKA==", + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-6.5.0.tgz", + "integrity": "sha512-Fozq68InT+JKABGLqctgtb8P56pRrJFkbhW0ux+x1mdHeyinor8oNzJqwLjV/t5X5nJGfTlluxfyMnOXNggIUA==", "dev": true, "dependencies": { - "@mongodb-js/saslprep": "^1.1.0", + "@mongodb-js/saslprep": "^1.1.5", "bson": "^6.4.0", "mongodb-connection-string-url": "^3.0.0" }, @@ -22486,9 +22486,9 @@ } }, "@mongodb-js/saslprep": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@mongodb-js/saslprep/-/saslprep-1.1.0.tgz", - "integrity": "sha512-Xfijy7HvfzzqiOAhAepF4SGN5e9leLkMvg/OPOF97XemjfVCYN/oWa75wnkc6mltMSTwY+XlbhWgUOJmkFspSw==", + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@mongodb-js/saslprep/-/saslprep-1.1.5.tgz", + "integrity": "sha512-XLNOMH66KhJzUJNwT/qlMnS4WsNDWD5ASdyaSH3EtK+F4r/CFGa3jT4GNi4mfOitGvWXtdLgQJkQjxSVrio+jA==", "dev": true, "requires": { "sparse-bitfield": "^3.0.3" @@ -28787,12 +28787,12 @@ "integrity": "sha1-EUyUlnPiqKNenTV4hSeqN7Z52is=" }, "mongodb": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-6.4.0.tgz", - "integrity": "sha512-MdFHsyb1a/Ee0H3NmzWTSLqchacDV/APF0H6BNQvraWrOiIocys2EmTFZPgHxWhcfO94c1F34I9MACU7x0hHKA==", + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-6.5.0.tgz", + "integrity": "sha512-Fozq68InT+JKABGLqctgtb8P56pRrJFkbhW0ux+x1mdHeyinor8oNzJqwLjV/t5X5nJGfTlluxfyMnOXNggIUA==", "dev": true, "requires": { - "@mongodb-js/saslprep": "^1.1.0", + "@mongodb-js/saslprep": "^1.1.5", "bson": "^6.4.0", "mongodb-connection-string-url": "^3.0.0" } From 2bf80e9fb7313e3c0225d5f7a69aa85c3a27ee43 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 18 Mar 2024 16:27:31 -0700 Subject: [PATCH 03/44] chore(deps-dev): bump @hapi/hapi from 21.3.3 to 21.3.6 (#3913) --- package-lock.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/package-lock.json b/package-lock.json index 059b023dea..d73449e418 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4735,9 +4735,9 @@ "dev": true }, "node_modules/@hapi/hapi": { - "version": "21.3.3", - "resolved": "https://registry.npmjs.org/@hapi/hapi/-/hapi-21.3.3.tgz", - "integrity": "sha512-6pgwWVl/aSKSNVn86n+mWa06jRqCAKi2adZp/Hti19A0u5x3/6eiKz8UTBPMzfrdGf9WcrYbFBYzWr/qd2s28g==", + "version": "21.3.6", + "resolved": "https://registry.npmjs.org/@hapi/hapi/-/hapi-21.3.6.tgz", + "integrity": "sha512-fbJ7QYQZl7Ixe6fmKjJbVO3zUrDa5aY+4xn7xBvJFXw6be76B4d28qknrD2la1aXo6GIhTUsJnqzU2awqmG0Sg==", "dev": true, "dependencies": { "@hapi/accept": "^6.0.1", @@ -21923,9 +21923,9 @@ "dev": true }, "@hapi/hapi": { - "version": "21.3.3", - "resolved": "https://registry.npmjs.org/@hapi/hapi/-/hapi-21.3.3.tgz", - "integrity": "sha512-6pgwWVl/aSKSNVn86n+mWa06jRqCAKi2adZp/Hti19A0u5x3/6eiKz8UTBPMzfrdGf9WcrYbFBYzWr/qd2s28g==", + "version": "21.3.6", + "resolved": "https://registry.npmjs.org/@hapi/hapi/-/hapi-21.3.6.tgz", + "integrity": "sha512-fbJ7QYQZl7Ixe6fmKjJbVO3zUrDa5aY+4xn7xBvJFXw6be76B4d28qknrD2la1aXo6GIhTUsJnqzU2awqmG0Sg==", "dev": true, "requires": { "@hapi/accept": "^6.0.1", From 453f3450da4686ec70cbfc7cf06ee80b249dbfcd Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 18 Mar 2024 16:28:14 -0700 Subject: [PATCH 04/44] chore(deps): bump require-in-the-middle from 7.2.0 to 7.2.1 (#3914) --- package-lock.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/package-lock.json b/package-lock.json index d73449e418..420bd05572 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15763,9 +15763,9 @@ } }, "node_modules/require-in-the-middle": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/require-in-the-middle/-/require-in-the-middle-7.2.0.tgz", - "integrity": "sha512-3TLx5TGyAY6AOqLBoXmHkNql0HIf2RGbuMgCDT2WO/uGVAPJs6h7Kl+bN6TIZGd9bWhWPwnDnTHGtW8Iu77sdw==", + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/require-in-the-middle/-/require-in-the-middle-7.2.1.tgz", + "integrity": "sha512-u5XngygsJ+XV2dBV/Pl4SrcNpUXQfmYmXtuFeHDXfzk4i4NnGnret6xKWkkJHjMHS/16yMV9pEAlAunqmjllkA==", "dependencies": { "debug": "^4.1.1", "module-details-from-path": "^1.0.3", @@ -30470,9 +30470,9 @@ "dev": true }, "require-in-the-middle": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/require-in-the-middle/-/require-in-the-middle-7.2.0.tgz", - "integrity": "sha512-3TLx5TGyAY6AOqLBoXmHkNql0HIf2RGbuMgCDT2WO/uGVAPJs6h7Kl+bN6TIZGd9bWhWPwnDnTHGtW8Iu77sdw==", + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/require-in-the-middle/-/require-in-the-middle-7.2.1.tgz", + "integrity": "sha512-u5XngygsJ+XV2dBV/Pl4SrcNpUXQfmYmXtuFeHDXfzk4i4NnGnret6xKWkkJHjMHS/16yMV9pEAlAunqmjllkA==", "requires": { "debug": "^4.1.1", "module-details-from-path": "^1.0.3", From 54e5bb08414cbc9741de1efc885737c0db2b8f1c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 18 Mar 2024 16:38:25 -0700 Subject: [PATCH 05/44] chore(deps-dev): bump undici from 6.7.1 to 6.9.0 (#3915) --- package-lock.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/package-lock.json b/package-lock.json index 420bd05572..ef51a8bc5e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -17656,9 +17656,9 @@ } }, "node_modules/undici": { - "version": "6.7.1", - "resolved": "https://registry.npmjs.org/undici/-/undici-6.7.1.tgz", - "integrity": "sha512-+Wtb9bAQw6HYWzCnxrPTMVEV3Q1QjYanI0E4q02ehReMuquQdLTEFEYbfs7hcImVYKcQkWSwT6buEmSVIiDDtQ==", + "version": "6.9.0", + "resolved": "https://registry.npmjs.org/undici/-/undici-6.9.0.tgz", + "integrity": "sha512-XPWfXzJedevUziHwun70EKNvGnxv4CnfraFZ4f/JV01+fcvMYzHE26r/j8AY/9c/70nkN4B1zX7E2Oyuqwz4+Q==", "dev": true, "engines": { "node": ">=18.0" @@ -31946,9 +31946,9 @@ "dev": true }, "undici": { - "version": "6.7.1", - "resolved": "https://registry.npmjs.org/undici/-/undici-6.7.1.tgz", - "integrity": "sha512-+Wtb9bAQw6HYWzCnxrPTMVEV3Q1QjYanI0E4q02ehReMuquQdLTEFEYbfs7hcImVYKcQkWSwT6buEmSVIiDDtQ==", + "version": "6.9.0", + "resolved": "https://registry.npmjs.org/undici/-/undici-6.9.0.tgz", + "integrity": "sha512-XPWfXzJedevUziHwun70EKNvGnxv4CnfraFZ4f/JV01+fcvMYzHE26r/j8AY/9c/70nkN4B1zX7E2Oyuqwz4+Q==", "dev": true }, "undici-types": { From dfc221b72c983d6bf7a7311b9980f41ed469cefc Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 18 Mar 2024 16:40:29 -0700 Subject: [PATCH 06/44] chore(deps-dev): bump koa from 2.15.0 to 2.15.1 (#3917) --- package-lock.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/package-lock.json b/package-lock.json index ef51a8bc5e..632118b523 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12880,9 +12880,9 @@ } }, "node_modules/koa": { - "version": "2.15.0", - "resolved": "https://registry.npmjs.org/koa/-/koa-2.15.0.tgz", - "integrity": "sha512-KEL/vU1knsoUvfP4MC4/GthpQrY/p6dzwaaGI6Rt4NQuFqkw3qrvsdYF5pz3wOfi7IGTvMPHC9aZIcUKYFNxsw==", + "version": "2.15.1", + "resolved": "https://registry.npmjs.org/koa/-/koa-2.15.1.tgz", + "integrity": "sha512-kpxzGxsv7tlc0WmccWd6CfdWqYXk4o/FsCTjnKaDnHLjPK/Sy1MpoBkuKO5LN7GdPHgPljrAVmMO3wbFxEJTeA==", "dev": true, "dependencies": { "accepts": "^1.3.5", @@ -28225,9 +28225,9 @@ } }, "koa": { - "version": "2.15.0", - "resolved": "https://registry.npmjs.org/koa/-/koa-2.15.0.tgz", - "integrity": "sha512-KEL/vU1knsoUvfP4MC4/GthpQrY/p6dzwaaGI6Rt4NQuFqkw3qrvsdYF5pz3wOfi7IGTvMPHC9aZIcUKYFNxsw==", + "version": "2.15.1", + "resolved": "https://registry.npmjs.org/koa/-/koa-2.15.1.tgz", + "integrity": "sha512-kpxzGxsv7tlc0WmccWd6CfdWqYXk4o/FsCTjnKaDnHLjPK/Sy1MpoBkuKO5LN7GdPHgPljrAVmMO3wbFxEJTeA==", "dev": true, "requires": { "accepts": "^1.3.5", From f0b6a098db63ba7e21d7ab3febf3d739315746c8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 18 Mar 2024 16:41:16 -0700 Subject: [PATCH 07/44] chore(deps-dev): bump azure-functions-core-tools (#3918) --- .../fixtures/AJsAzureFnApp/package-lock.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/test/instrumentation/azure-functions/fixtures/AJsAzureFnApp/package-lock.json b/test/instrumentation/azure-functions/fixtures/AJsAzureFnApp/package-lock.json index 68851cc233..ac59b9471c 100644 --- a/test/instrumentation/azure-functions/fixtures/AJsAzureFnApp/package-lock.json +++ b/test/instrumentation/azure-functions/fixtures/AJsAzureFnApp/package-lock.json @@ -11,9 +11,9 @@ } }, "node_modules/azure-functions-core-tools": { - "version": "4.0.5530", - "resolved": "https://registry.npmjs.org/azure-functions-core-tools/-/azure-functions-core-tools-4.0.5530.tgz", - "integrity": "sha512-XcJAmnnqWJ/LcVJXLJZaXNL/VUTJcl+nnxKtqdLiIiaEqVwKaVzn8AaSa6bw/1oAoHWlB58b4+oK6Q9aZga2ZA==", + "version": "4.0.5571", + "resolved": "https://registry.npmjs.org/azure-functions-core-tools/-/azure-functions-core-tools-4.0.5571.tgz", + "integrity": "sha512-TM/08YZDr1uc111EWpXB/z39Yely/sFuY/ftgCvwpPuqMoyJpt3uf70UxicG3y+3VHS7vVnE3S3XSmL/2yQk0Q==", "dev": true, "hasInstallScript": true, "hasShrinkwrap": true, @@ -382,9 +382,9 @@ }, "dependencies": { "azure-functions-core-tools": { - "version": "4.0.5530", - "resolved": "https://registry.npmjs.org/azure-functions-core-tools/-/azure-functions-core-tools-4.0.5530.tgz", - "integrity": "sha512-XcJAmnnqWJ/LcVJXLJZaXNL/VUTJcl+nnxKtqdLiIiaEqVwKaVzn8AaSa6bw/1oAoHWlB58b4+oK6Q9aZga2ZA==", + "version": "4.0.5571", + "resolved": "https://registry.npmjs.org/azure-functions-core-tools/-/azure-functions-core-tools-4.0.5571.tgz", + "integrity": "sha512-TM/08YZDr1uc111EWpXB/z39Yely/sFuY/ftgCvwpPuqMoyJpt3uf70UxicG3y+3VHS7vVnE3S3XSmL/2yQk0Q==", "dev": true, "requires": { "chalk": "3.0.0", From 41c8dcf41f604509c64e8aa6b87eeca1ec8be788 Mon Sep 17 00:00:00 2001 From: Trent Mick Date: Tue, 19 Mar 2024 09:09:05 -0700 Subject: [PATCH 08/44] ci: fix/refactor labeler workflow (#3921) - use more reliable 'elastic' org membership test for triage, etc. labels - bypass 'action-add-labels' action to avoid another dep - drop agent-nodejs label that we no longer require for use in GH projects Fixes: https://github.com/elastic/apm-agent-nodejs/issues/3884 --- .github/workflows/labeler.yml | 34 ++++++++++++++-------------------- 1 file changed, 14 insertions(+), 20 deletions(-) diff --git a/.github/workflows/labeler.yml b/.github/workflows/labeler.yml index 57484c534b..107a2d5f4c 100644 --- a/.github/workflows/labeler.yml +++ b/.github/workflows/labeler.yml @@ -5,36 +5,30 @@ on: pull_request_target: types: [opened] -# 'issues: write' for https://docs.github.com/en/rest/issues/labels?apiVersion=2022-11-28#add-labels-to-an-issue +# '*: write' permissions for https://docs.github.com/en/rest/issues/labels?apiVersion=2022-11-28#add-labels-to-an-issue permissions: contents: read issues: write + pull_requests: write jobs: triage: runs-on: ubuntu-latest steps: - - name: Add agent-nodejs label - uses: actions-ecosystem/action-add-labels@v1 - with: - labels: agent-nodejs - - - name: Check team membership for user - uses: elastic/get-user-teams-membership@1.1.0 - id: checkUserMember + - id: is_elastic_member + uses: elastic/apm-pipeline-library/.github/actions/is-member-elastic-org@current with: username: ${{ github.actor }} - team: 'apm' - usernamesToExclude: | - apmmachine - dependabot - dependabot[bot] - GITHUB_TOKEN: ${{ secrets.APM_TECH_USER_TOKEN }} + token: ${{ secrets.APM_TECH_USER_TOKEN }} - name: Add community and triage labels - if: steps.checkUserMember.outputs.isTeamMember != 'true' && steps.checkUserMember.outputs.isExcluded != 'true' - uses: actions-ecosystem/action-add-labels@v1 + if: contains(steps.is_elastic_member.outputs.result, 'false') && github.actor != 'dependabot[bot]' + uses: actions/github-script@v7 with: - labels: | - community - triage + script: | + github.rest.issues.addLabels({ + issue_number: context.issue.number, + owner: context.repo.owner, + repo: context.repo.repo, + labels: ["community", "triage"] + }) From 990442a0fb494cd651fe06bf11f9eb90cbb50aa3 Mon Sep 17 00:00:00 2001 From: David Luna Date: Tue, 19 Mar 2024 23:13:10 +0100 Subject: [PATCH 09/44] fix(mongodb): resolve collection name for `getMore` command (#3919) --- CHANGELOG.asciidoc | 1 + lib/instrumentation/modules/mongodb.js | 31 +++++++ .../fixtures/use-mongodb-async-context.js | 85 ++++++++++++++----- .../modules/mongodb/mongodb.test.js | 60 +++++++++++-- 4 files changed, 150 insertions(+), 27 deletions(-) diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc index ec3d2c20d4..c7d2cb9c32 100644 --- a/CHANGELOG.asciidoc +++ b/CHANGELOG.asciidoc @@ -46,6 +46,7 @@ See the <> guide. [float] ===== Bug fixes +* Fix span names for `getMore` command of mongodb. ({pull}3919[#3919]) * Fix instrumentation of mongodb to not break mongodb@6.4.0. Mongodb v6.4.0 included changes that resulted in the APM agent's instrumentation breaking it. ({pull}3897[#3897]) diff --git a/lib/instrumentation/modules/mongodb.js b/lib/instrumentation/modules/mongodb.js index 2ee283a93d..e2159c0a76 100644 --- a/lib/instrumentation/modules/mongodb.js +++ b/lib/instrumentation/modules/mongodb.js @@ -222,6 +222,37 @@ module.exports = (mongodb, agent, { version, enabled }) => { } function collectionFor(event) { + // `getMore` command is a special case where the collection name is + // placed in a property named `collection`. The types exported + // do not ensure the property is there so we are defensive on its + // retrieval. + // + // Example of `getMore` payload: + // { + // event: CommandStartedEvent { + // name: 'commandStarted', + // address: '172.20.0.2:27017', + // connectionId: 12, + // requestId: 686, + // databaseName: 'mydatabase', + // commandName: 'getMore', + // command: { + // getMore: new Long('1769182660590360229'), + // collection: 'Interaction', + // ... + // } + // }, + // commandName: 'getMore', + // collection: new Long('1769182660590360229') + // } + // ref: https://github.com/elastic/apm-agent-nodejs/issues/3834 + if ( + event.commandName === 'getMore' && + typeof event.command.collection === 'string' + ) { + return event.command.collection; + } + const collection = event.command[event.commandName]; return typeof collection === 'string' ? collection : '$cmd'; } diff --git a/test/instrumentation/modules/mongodb/fixtures/use-mongodb-async-context.js b/test/instrumentation/modules/mongodb/fixtures/use-mongodb-async-context.js index 1e8664623e..06b1fbb4d1 100644 --- a/test/instrumentation/modules/mongodb/fixtures/use-mongodb-async-context.js +++ b/test/instrumentation/modules/mongodb/fixtures/use-mongodb-async-context.js @@ -20,6 +20,12 @@ const http = require('http'); const MongoClient = require('mongodb').MongoClient; // ---- support functions +async function makeRequest(url) { + return new Promise((resolve, reject) => { + http.request(url).on('response', resolve).on('error', reject).end(); + }); +} + /** * * @param {import('mongodb').MongoClient} mongodbClient @@ -29,15 +35,18 @@ async function useMongodbAsyncContext(options) { const { port } = options; const serverUrl = `http://localhost:${port}`; - const reqs = new Array(50).fill(serverUrl).map((url) => { - return new Promise((resolve, reject) => { - http.request(url).on('response', resolve).on('error', reject).end(); - }); - }); + // 1st fill with some data + await makeRequest(`${serverUrl}/insert`); - // Wait for all request to finish and make sure APM Server - // receives all spans + const reqs = new Array(50).fill(`${serverUrl}/find`).map(makeRequest); + + // Wait for all request to finish await Promise.all(reqs); + + // Clear the data + await makeRequest(`${serverUrl}/delete`); + + // Make sure APM Server receives all spans await apm.flush(); } @@ -54,20 +63,58 @@ async function main() { const server = http.createServer(function (req, res) { req.resume(); req.on('end', function () { - mongodbClient - .db(db) - .collection(col) - .find() - .toArray() - .then(JSON.stringify) - .then(function (body) { - res.writeHead(200, { - server: 'trace-mongodb-cats-server', - 'content-type': 'text/plain', - 'content-length': Buffer.byteLength(body), + const successBody = JSON.stringify({ success: true }); + const failureBody = JSON.stringify({ success: true }); + if (req.url === '/insert') { + const items = new Array(500).fill({}).map((_, num) => ({ num })); + mongodbClient + .db(db) + .collection(col) + .insertMany(items) + .then(function () { + res.writeHead(200, { + server: 'trace-mongodb-cats-server', + 'content-type': 'text/plain', + 'content-length': Buffer.byteLength(successBody), + }); + res.end(successBody); + }); + } else if (req.url === '/find') { + mongodbClient + .db(db) + .collection(col) + .find() + .toArray() + .then(JSON.stringify) + .then(function (body) { + res.writeHead(200, { + server: 'trace-mongodb-cats-server', + 'content-type': 'text/plain', + 'content-length': Buffer.byteLength(body), + }); + res.end(body); + }); + } else if (req.url === '/delete') { + mongodbClient + .db(db) + .collection(col) + .deleteMany({}) + .then(function (body) { + res.writeHead(200, { + server: 'trace-mongodb-cats-server', + 'content-type': 'text/plain', + 'content-length': Buffer.byteLength(successBody), + }); + res.end(successBody); }); - res.end(body); + } else { + res.writeHead(200, { + server: 'trace-mongodb-cats-server', + 'content-type': 'text/plain', + 'content-length': Buffer.byteLength(failureBody), }); + res.end(failureBody); + } }); }); server.listen(); diff --git a/test/instrumentation/modules/mongodb/mongodb.test.js b/test/instrumentation/modules/mongodb/mongodb.test.js index 2a50380e08..672f9600de 100644 --- a/test/instrumentation/modules/mongodb/mongodb.test.js +++ b/test/instrumentation/modules/mongodb/mongodb.test.js @@ -64,7 +64,7 @@ const testFixtures = [ TEST_COLLECTION, TEST_USE_CALLBACKS: String(TEST_USE_CALLBACKS), }, - verbose: true, + verbose: false, checkApmServer: (t, apmServer) => { t.ok(apmServer.events[0].metadata, 'metadata'); const events = sortApmEvents(apmServer.events); @@ -414,7 +414,7 @@ const testFixtures = [ TEST_COLLECTION, TEST_USE_CALLBACKS: String(TEST_USE_CALLBACKS), }, - verbose: true, + verbose: false, checkApmServer: (t, apmServer) => { t.ok(apmServer.events[0].metadata, 'metadata'); const events = sortApmEvents(apmServer.events); @@ -501,6 +501,15 @@ const testFixtures = [ TEST_DB, TEST_COLLECTION, }, + // The `getMore` command seems to be queued outside the connection pool + // for versions <4.11.0 and as a result the `find` command is properly + // linked to the parent transaction but not the `getMore` commands from + // the cursor. Since v4.11.0 was published in 2022-09-19 there was a decision + // to skip this test for earlier version + // Ref: https://github.com/elastic/apm-agent-nodejs/pull/3919#issuecomment-2005283132 + versionRanges: { + mongodb: '>=4.11.0', + }, verbose: false, checkApmServer: (t, apmServer) => { t.ok(apmServer.events[0].metadata, 'metadata'); @@ -514,17 +523,52 @@ const testFixtures = [ .filter((e) => e.span && e.span.type !== 'external') .map((e) => e.span); - while (transactions.length) { - const tx = transactions.shift(); - const idx = spans.findIndex((s) => s.parent_id === tx.id); + const extractSpans = (tx) => { + const result = []; + let i = 0; + + while (i < spans.length) { + if (spans[i].parent_id === tx.id) { + result.push(...spans.splice(i, 1)); + } else { + i++; + } + } + + return result; + }; + + let tx = transactions.shift(); + let txSpans = extractSpans(tx); + + // Assertions for insert transaction + t.ok(tx, 'insert transaction'); + t.ok(txSpans.length === 1, 'insert spans length'); + t.equal(txSpans[0].name, 'elasticapm.test.insert', 'span.name'); - t.ok(idx !== -1, 'transaction has a child span'); + // Assertions for all find transactions + while (transactions.length - 1) { + tx = transactions.shift(); + txSpans = extractSpans(tx); - const [span] = spans.splice(idx, 1); + t.ok(txSpans.length > 0, 'transaction has child spans'); - t.equal(span.name, 'elasticapm.test.find', 'span.name'); + txSpans.forEach((s, idx) => { + if (idx === 0) { + t.equal(s.name, 'elasticapm.test.find', 'span.name'); + } else { + t.equal(s.name, 'elasticapm.test.getMore', 'span.name'); + } + }); } + // Assertions for delete transaction + tx = transactions.shift(); + txSpans = extractSpans(tx); + + t.ok(txSpans.length === 1, 'delete spans length'); + t.equal(txSpans[0].name, 'elasticapm.test.delete', 'span.name'); + t.equal(spans.length, 0, 'all spans accounted for'); }, }, From ca0e5b6d67029424a9419aa4b67fafe39c846fc8 Mon Sep 17 00:00:00 2001 From: Trent Mick Date: Tue, 19 Mar 2024 15:50:36 -0700 Subject: [PATCH 10/44] ci: fix 'test-nightly' job in 'edge' CI workflow (#3924) This adds the require zookeeper volume refs. Closes: https://github.com/elastic/apm-agent-nodejs/issues/3922 --- .ci/docker/docker-compose-all.yml | 2 ++ .ci/docker/docker-compose-edge.yml | 6 ++++++ .ci/docker/docker-compose-kafka.yml | 6 ++---- .ci/docker/docker-compose.yml | 12 +++++------- test/docker-compose.yml | 7 +++---- 5 files changed, 18 insertions(+), 15 deletions(-) diff --git a/.ci/docker/docker-compose-all.yml b/.ci/docker/docker-compose-all.yml index 57bbdbf500..1799c7f542 100644 --- a/.ci/docker/docker-compose-all.yml +++ b/.ci/docker/docker-compose-all.yml @@ -84,3 +84,5 @@ volumes: driver: local nodekafkadata: driver: local + nodezookeeperdata: + driver: local diff --git a/.ci/docker/docker-compose-edge.yml b/.ci/docker/docker-compose-edge.yml index c53de517b9..baa6ab0135 100644 --- a/.ci/docker/docker-compose-edge.yml +++ b/.ci/docker/docker-compose-edge.yml @@ -41,6 +41,10 @@ services: extends: file: docker-compose.yml service: kafka + zookeeper: + extends: + file: docker-compose.yml + service: zookeeper node_tests: extends: file: docker-compose-node-edge-test.yml @@ -84,3 +88,5 @@ volumes: driver: local nodekafkadata: driver: local + nodezookeeperdata: + driver: local diff --git a/.ci/docker/docker-compose-kafka.yml b/.ci/docker/docker-compose-kafka.yml index 3ae3e159f2..0709d8e041 100644 --- a/.ci/docker/docker-compose-kafka.yml +++ b/.ci/docker/docker-compose-kafka.yml @@ -16,10 +16,8 @@ services: file: docker-compose-node-test.yml service: node_tests depends_on: - - kafka - # TODO: uncomment this if health_check is necessary - # kafka: - # condition: service_healthy + kafka: + condition: service_healthy volumes: nodekafkadata: diff --git a/.ci/docker/docker-compose.yml b/.ci/docker/docker-compose.yml index e14c125b09..a04da04cb8 100644 --- a/.ci/docker/docker-compose.yml +++ b/.ci/docker/docker-compose.yml @@ -168,14 +168,12 @@ services: - KAFKA_CFG_DELETE_TOPIC_ENABLE=true depends_on: - zookeeper - # TODO: maybe not necessary but figure out how to do this healthcheck: - # use netcat to check tcp connection available - # test: nc -z localhost 9093 || exit -1 - # start_period: 15s - # interval: 5s - # timeout: 10s - # retries: 5 + # Kafka healthcheck ideas from https://github.com/wurstmeister/kafka-docker/issues/167 + test: kafka-cluster.sh cluster-id --bootstrap-server localhost:9092 || exit 1 + interval: 30s + timeout: 10s + retries: 5 volumes: nodepgdata: diff --git a/test/docker-compose.yml b/test/docker-compose.yml index 8252071fc1..2d284d5ab3 100644 --- a/test/docker-compose.yml +++ b/test/docker-compose.yml @@ -162,10 +162,9 @@ services: depends_on: - zookeeper healthcheck: - # use netcat to check tcp connection available - test: nc -z localhost 9093 || exit -1 - start_period: 15s - interval: 5s + # Kafka healthcheck ideas from https://github.com/wurstmeister/kafka-docker/issues/167 + test: kafka-cluster.sh cluster-id --bootstrap-server localhost:9092 || exit 1 + interval: 30s timeout: 10s retries: 5 From 0ff46e435ed4121584f284d5418f0e07ae48ac17 Mon Sep 17 00:00:00 2001 From: David Luna Date: Wed, 20 Mar 2024 07:27:54 +0100 Subject: [PATCH 11/44] fix: handle invalid chars in host header (#3923) --- CHANGELOG.asciidoc | 20 +++++++++++++++++++- lib/instrumentation/express-utils.js | 15 ++++++++++++++- test/instrumentation/express-utils.test.js | 10 ++++++++++ 3 files changed, 43 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc index c7d2cb9c32..3845bbb410 100644 --- a/CHANGELOG.asciidoc +++ b/CHANGELOG.asciidoc @@ -33,6 +33,25 @@ Notes: See the <> guide. +==== Unreleased + +[float] +===== Breaking changes + +[float] +===== Features + +[float] +===== Bug fixes + +* Fix path resolution for requests that contain invalid characters in its + host header. ({pull}3923[#3923]) +* Fix span names for `getMore` command of mongodb. ({pull}3919[#3919]) + +[float] +===== Chores + + [[release-notes-4.5.0]] ==== 4.5.0 - 2024/03/13 @@ -46,7 +65,6 @@ See the <> guide. [float] ===== Bug fixes -* Fix span names for `getMore` command of mongodb. ({pull}3919[#3919]) * Fix instrumentation of mongodb to not break mongodb@6.4.0. Mongodb v6.4.0 included changes that resulted in the APM agent's instrumentation breaking it. ({pull}3897[#3897]) diff --git a/lib/instrumentation/express-utils.js b/lib/instrumentation/express-utils.js index 0a2edb6520..fb82e47c35 100644 --- a/lib/instrumentation/express-utils.js +++ b/lib/instrumentation/express-utils.js @@ -63,10 +63,23 @@ function getPathFromRequest(req, useBase, usePathAsTransactionName) { // // Assuming 'http://' for the `base` URL is fine, because we don't use the // protocol. - const base = 'http://' + (req.headers && req.headers.host); + let base; + try { + // Host header may contain invalid characters therefore the URL + // parsing will fail and break the app. This try block is to avoid it + // Ref: https://github.com/elastic/apm-agent-nodejs/issues/3874 + const url = new url.URL('http://' + (req.headers && req.headers.host)); + base = 'http://' + url.hostname; + } catch (err) { + base = 'http://undefined'; + } + + // We may receive invalid chars in the path also but the URL + // constructor escapes them without throwing. const parsed = req.url.startsWith('/') ? new url.URL(base + req.url) : new url.URL(req.url, base); + return parsed && parsed.pathname; } } diff --git a/test/instrumentation/express-utils.test.js b/test/instrumentation/express-utils.test.js index 3917d13284..50e563e6e8 100644 --- a/test/instrumentation/express-utils.test.js +++ b/test/instrumentation/express-utils.test.js @@ -26,6 +26,16 @@ test('#getPathFromRequest', function (t) { t.equals(path, '/foo/bar'); t.end(); }); + + t.test('should return path for an invalid host header', function (t) { + const req = createRequest( + 'https://test.com/foo/bar?query=value#hash', + 'invalid[hostname', + ); + const path = getPathFromRequest(req, false, true); + t.equals(path, '/foo/bar'); + t.end(); + }); }); function createRequest(url, host = 'example.com') { From 539c31590da0ba1e43dda3540d0f58aec14c6de8 Mon Sep 17 00:00:00 2001 From: Trent Mick Date: Thu, 21 Mar 2024 08:22:23 -0700 Subject: [PATCH 12/44] fix(ci): fix labeler.yml syntax (#3925) --- .github/workflows/labeler.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/labeler.yml b/.github/workflows/labeler.yml index 107a2d5f4c..6bb9af6894 100644 --- a/.github/workflows/labeler.yml +++ b/.github/workflows/labeler.yml @@ -9,7 +9,7 @@ on: permissions: contents: read issues: write - pull_requests: write + pull-requests: write jobs: triage: From a7c9201f5d3a64d98b585ba65d9a0ec7cde53edd Mon Sep 17 00:00:00 2001 From: Trent Mick Date: Fri, 22 Mar 2024 08:36:13 -0700 Subject: [PATCH 13/44] test(tedious): stop testing some older tedious versions with Node.js 14 (#3927) This was necessitated by a transitive dep of tedious (`@azure/core-rest-pipeline`) breaking support for Node.js versions earlier than 16. Closes: #3926 --- .tav.yml | 28 +++++++++++--------- test/instrumentation/modules/tedious.test.js | 8 +++--- 2 files changed, 20 insertions(+), 16 deletions(-) diff --git a/.tav.yml b/.tav.yml index 0866f22859..c27cccd050 100644 --- a/.tav.yml +++ b/.tav.yml @@ -318,24 +318,28 @@ pug: - node test/instrumentation/modules/hapi/set-framework.test.js tedious: - # latest majors subset of '>=1.9.0 <4.0.0 || >4.0.1 <11' - - versions: '1.9.0 || 1.15.0 || 2.7.1 || 3.0.1 || 4.2.0 || 5.0.3 || 6.7.1 || 7.0.0 || 8.3.1 || 9.2.3 || 10.0.0' + - versions: + include: '>=1 <11' + mode: latest-majors node: '>=6' commands: node test/instrumentation/modules/tedious.test.js - - versions: '11.0.0 || 11.8.0' # first and last subset of '11.x' + - versions: + include: '>=11 <12' + mode: latest-majors node: '>=10.17.0' commands: node test/instrumentation/modules/tedious.test.js - # first and last majors subset of '12.x || 13.x || 14.x' - - versions: '12.0.0 || 12.3.0 || 13.0.0 || 13.2.0 || 14.0.0 || 14.7.0 || >14.7.0 <15' - node: '>=12.3.0' - commands: node test/instrumentation/modules/tedious.test.js - - versions: '15.0.0 || 15.1.3 || >15.1.3 <16' # first and last majors subset of '15.x' - node: '>=14' - commands: node test/instrumentation/modules/tedious.test.js - - versions: '16.0.0 || 16.1.0 || >16.1.0 <17' # first and last majors subset of '16.x' + # Tedious v12,v13,v14 advertise a min-supported Node.js version of 12.3.0. + # Tedious v15 advertises a min-supported Node.js version of 14. + # However, as of @azure/core-rest-pipeline@1.15.0 they effectively have a + # min-working Node.js of >=16 (possibly >=18). + - versions: + include: '>=12 <17' + mode: latest-majors node: '>=16' commands: node test/instrumentation/modules/tedious.test.js - - versions: '>=17.0.0 <19' # first and last majors subset of '17.x' (as for now there is only v17.0.0) + - versions: + include: '>=17 <19' + mode: latest-majors node: '18.x || >=20' commands: node test/instrumentation/modules/tedious.test.js diff --git a/test/instrumentation/modules/tedious.test.js b/test/instrumentation/modules/tedious.test.js index 5a342339e3..86fc1aba0d 100644 --- a/test/instrumentation/modules/tedious.test.js +++ b/test/instrumentation/modules/tedious.test.js @@ -25,10 +25,10 @@ const tediousVer = const semver = require('semver'); if ( (semver.gte(tediousVer, '17.0.0') && semver.lt(process.version, '18.0.0')) || - (semver.gte(tediousVer, '16.0.0') && semver.lt(process.version, '16.0.0')) || - (semver.gte(tediousVer, '15.0.0') && semver.lt(process.version, '14.0.0')) || - (semver.gte(tediousVer, '12.0.0') && semver.lt(process.version, '12.3.0')) || - (semver.gte(tediousVer, '11.0.0') && semver.lt(process.version, '10.17.0')) + // tedious@11 and later depend on @azure/identity v1 or v2. As of + // @azure/core-rest-pipeline@1.15.0 (a dep of @azure/identity), support for + // Node.js <16 has been broken. + (semver.gte(tediousVer, '11.0.0') && semver.lt(process.version, '16.0.0')) ) { console.log( `# SKIP tedious@${tediousVer} does not support node ${process.version}`, From d7d0e420f993d2b114d0731a222071ce7221ca4c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 25 Mar 2024 09:32:51 +0100 Subject: [PATCH 14/44] chore(deps-dev): bump the babel group with 1 update (#3929) --- package-lock.json | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/package-lock.json b/package-lock.json index 632118b523..394e268afd 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2407,12 +2407,12 @@ } }, "node_modules/@babel/cli": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.23.0.tgz", - "integrity": "sha512-17E1oSkGk2IwNILM4jtfAvgjt+ohmpfBky8aLerUfYZhiPNg7ca+CRCxZn8QDxwNhV/upsc2VHBCqGFIR+iBfA==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.24.1.tgz", + "integrity": "sha512-HbmrtxyFUr34LwAlV9jS+sSIjUp4FpdtIMGwgufY3AsxrIfsh/HxlMTywsONAZsU0RMYbZtbZFpUCrSGs7o0EA==", "dev": true, "dependencies": { - "@jridgewell/trace-mapping": "^0.3.17", + "@jridgewell/trace-mapping": "^0.3.25", "commander": "^4.0.1", "convert-source-map": "^2.0.0", "fs-readdir-recursive": "^1.1.0", @@ -20187,12 +20187,12 @@ } }, "@babel/cli": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.23.0.tgz", - "integrity": "sha512-17E1oSkGk2IwNILM4jtfAvgjt+ohmpfBky8aLerUfYZhiPNg7ca+CRCxZn8QDxwNhV/upsc2VHBCqGFIR+iBfA==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.24.1.tgz", + "integrity": "sha512-HbmrtxyFUr34LwAlV9jS+sSIjUp4FpdtIMGwgufY3AsxrIfsh/HxlMTywsONAZsU0RMYbZtbZFpUCrSGs7o0EA==", "dev": true, "requires": { - "@jridgewell/trace-mapping": "^0.3.17", + "@jridgewell/trace-mapping": "^0.3.25", "@nicolo-ribaudo/chokidar-2": "2.1.8-no-fsevents.3", "chokidar": "^3.4.0", "commander": "^4.0.1", From f746bd8b9df669251a9e7fda166bd680c0d25c53 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 25 Mar 2024 09:33:20 +0100 Subject: [PATCH 15/44] chore(deps-dev): bump the apollo group with 1 update (#3930) --- package-lock.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/package-lock.json b/package-lock.json index 394e268afd..801090e658 100644 --- a/package-lock.json +++ b/package-lock.json @@ -193,9 +193,9 @@ "dev": true }, "node_modules/@apollo/server": { - "version": "4.10.1", - "resolved": "https://registry.npmjs.org/@apollo/server/-/server-4.10.1.tgz", - "integrity": "sha512-XGMOgTyzV4EBHQq0xQVKFry9hZF7AA/6nxxGLamqdxodhdSdGbU9jrlb5/XDveeGuXP3+5JDdrB2HcziVLJcMA==", + "version": "4.10.2", + "resolved": "https://registry.npmjs.org/@apollo/server/-/server-4.10.2.tgz", + "integrity": "sha512-qlTZE4XyzMPprtkxFjmPxMwc2KC4nvNQrKXk2PMotEACKcaLXVZFIgstxbSqBCNl2KgzbsgU1g6vvbV6Xcfikw==", "dev": true, "dependencies": { "@apollo/cache-control-types": "^1.0.3", @@ -18342,9 +18342,9 @@ } }, "@apollo/server": { - "version": "4.10.1", - "resolved": "https://registry.npmjs.org/@apollo/server/-/server-4.10.1.tgz", - "integrity": "sha512-XGMOgTyzV4EBHQq0xQVKFry9hZF7AA/6nxxGLamqdxodhdSdGbU9jrlb5/XDveeGuXP3+5JDdrB2HcziVLJcMA==", + "version": "4.10.2", + "resolved": "https://registry.npmjs.org/@apollo/server/-/server-4.10.2.tgz", + "integrity": "sha512-qlTZE4XyzMPprtkxFjmPxMwc2KC4nvNQrKXk2PMotEACKcaLXVZFIgstxbSqBCNl2KgzbsgU1g6vvbV6Xcfikw==", "dev": true, "requires": { "@apollo/cache-control-types": "^1.0.3", From 7ee4acf0aa98f125664557b2b42fd61774e8cfd7 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 25 Mar 2024 09:33:51 +0100 Subject: [PATCH 16/44] chore(deps-dev): bump typescript from 5.4.2 to 5.4.3 (#3931) --- package-lock.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/package-lock.json b/package-lock.json index 801090e658..ab93fa5c4c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -17607,9 +17607,9 @@ } }, "node_modules/typescript": { - "version": "5.4.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.2.tgz", - "integrity": "sha512-+2/g0Fds1ERlP6JsakQQDXjZdZMM+rqpamFZJEKh4kwTIn3iDkgKtby0CeNd5ATNZ4Ry1ax15TMx0W2V+miizQ==", + "version": "5.4.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.3.tgz", + "integrity": "sha512-KrPd3PKaCLr78MalgiwJnA25Nm8HAmdwN3mYUYZgG/wizIo9EainNVQI9/yDavtVFRN2h3k8uf3GLHuhDMgEHg==", "dev": true, "bin": { "tsc": "bin/tsc", @@ -31916,9 +31916,9 @@ } }, "typescript": { - "version": "5.4.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.2.tgz", - "integrity": "sha512-+2/g0Fds1ERlP6JsakQQDXjZdZMM+rqpamFZJEKh4kwTIn3iDkgKtby0CeNd5ATNZ4Ry1ax15TMx0W2V+miizQ==", + "version": "5.4.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.3.tgz", + "integrity": "sha512-KrPd3PKaCLr78MalgiwJnA25Nm8HAmdwN3mYUYZgG/wizIo9EainNVQI9/yDavtVFRN2h3k8uf3GLHuhDMgEHg==", "dev": true }, "uglify-js": { From c8faa2ee742605aded79fdd40715b4f8121a2e7a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 25 Mar 2024 09:34:23 +0100 Subject: [PATCH 17/44] chore(deps-dev): bump @hapi/hapi from 21.3.6 to 21.3.7 (#3932) --- package-lock.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/package-lock.json b/package-lock.json index ab93fa5c4c..0de557ea63 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4735,9 +4735,9 @@ "dev": true }, "node_modules/@hapi/hapi": { - "version": "21.3.6", - "resolved": "https://registry.npmjs.org/@hapi/hapi/-/hapi-21.3.6.tgz", - "integrity": "sha512-fbJ7QYQZl7Ixe6fmKjJbVO3zUrDa5aY+4xn7xBvJFXw6be76B4d28qknrD2la1aXo6GIhTUsJnqzU2awqmG0Sg==", + "version": "21.3.7", + "resolved": "https://registry.npmjs.org/@hapi/hapi/-/hapi-21.3.7.tgz", + "integrity": "sha512-33J0nreMfqkhY7wwRAZRy+9J+7J4QOH1JtICMjIUmxfaOYSJL/d8JJCtg57SX60944bhlCeu7isb7qyr2jT2oA==", "dev": true, "dependencies": { "@hapi/accept": "^6.0.1", @@ -21923,9 +21923,9 @@ "dev": true }, "@hapi/hapi": { - "version": "21.3.6", - "resolved": "https://registry.npmjs.org/@hapi/hapi/-/hapi-21.3.6.tgz", - "integrity": "sha512-fbJ7QYQZl7Ixe6fmKjJbVO3zUrDa5aY+4xn7xBvJFXw6be76B4d28qknrD2la1aXo6GIhTUsJnqzU2awqmG0Sg==", + "version": "21.3.7", + "resolved": "https://registry.npmjs.org/@hapi/hapi/-/hapi-21.3.7.tgz", + "integrity": "sha512-33J0nreMfqkhY7wwRAZRy+9J+7J4QOH1JtICMjIUmxfaOYSJL/d8JJCtg57SX60944bhlCeu7isb7qyr2jT2oA==", "dev": true, "requires": { "@hapi/accept": "^6.0.1", From 7ffffe4ee70748b431a82c6f080b64955436187c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 25 Mar 2024 09:36:43 +0100 Subject: [PATCH 18/44] chore(deps-dev): bump undici from 6.9.0 to 6.10.1 (#3934) --- package-lock.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/package-lock.json b/package-lock.json index 0de557ea63..8aaab20786 100644 --- a/package-lock.json +++ b/package-lock.json @@ -17656,9 +17656,9 @@ } }, "node_modules/undici": { - "version": "6.9.0", - "resolved": "https://registry.npmjs.org/undici/-/undici-6.9.0.tgz", - "integrity": "sha512-XPWfXzJedevUziHwun70EKNvGnxv4CnfraFZ4f/JV01+fcvMYzHE26r/j8AY/9c/70nkN4B1zX7E2Oyuqwz4+Q==", + "version": "6.10.1", + "resolved": "https://registry.npmjs.org/undici/-/undici-6.10.1.tgz", + "integrity": "sha512-kSzmWrOx3XBKTgPm4Tal8Hyl3yf+hzlA00SAf4goxv8LZYafKmS6gJD/7Fe5HH/DMNiFTRXvkwhLo7mUn5fuQQ==", "dev": true, "engines": { "node": ">=18.0" @@ -31946,9 +31946,9 @@ "dev": true }, "undici": { - "version": "6.9.0", - "resolved": "https://registry.npmjs.org/undici/-/undici-6.9.0.tgz", - "integrity": "sha512-XPWfXzJedevUziHwun70EKNvGnxv4CnfraFZ4f/JV01+fcvMYzHE26r/j8AY/9c/70nkN4B1zX7E2Oyuqwz4+Q==", + "version": "6.10.1", + "resolved": "https://registry.npmjs.org/undici/-/undici-6.10.1.tgz", + "integrity": "sha512-kSzmWrOx3XBKTgPm4Tal8Hyl3yf+hzlA00SAf4goxv8LZYafKmS6gJD/7Fe5HH/DMNiFTRXvkwhLo7mUn5fuQQ==", "dev": true }, "undici-types": { From 4c89dc8645a9d3b34c8cf4d3535ae5f298d34e9b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 25 Mar 2024 09:37:09 +0100 Subject: [PATCH 19/44] chore(deps-dev): bump koa from 2.15.1 to 2.15.2 (#3935) --- package-lock.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/package-lock.json b/package-lock.json index 8aaab20786..d43b116ab7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12880,9 +12880,9 @@ } }, "node_modules/koa": { - "version": "2.15.1", - "resolved": "https://registry.npmjs.org/koa/-/koa-2.15.1.tgz", - "integrity": "sha512-kpxzGxsv7tlc0WmccWd6CfdWqYXk4o/FsCTjnKaDnHLjPK/Sy1MpoBkuKO5LN7GdPHgPljrAVmMO3wbFxEJTeA==", + "version": "2.15.2", + "resolved": "https://registry.npmjs.org/koa/-/koa-2.15.2.tgz", + "integrity": "sha512-MXTeZH3M6AJ8ukW2QZ8wqO3Dcdfh2WRRmjCBkEP+NhKNCiqlO5RDqHmSnsyNrbRJrdjyvIGSJho4vQiWgQJSVA==", "dev": true, "dependencies": { "accepts": "^1.3.5", @@ -28225,9 +28225,9 @@ } }, "koa": { - "version": "2.15.1", - "resolved": "https://registry.npmjs.org/koa/-/koa-2.15.1.tgz", - "integrity": "sha512-kpxzGxsv7tlc0WmccWd6CfdWqYXk4o/FsCTjnKaDnHLjPK/Sy1MpoBkuKO5LN7GdPHgPljrAVmMO3wbFxEJTeA==", + "version": "2.15.2", + "resolved": "https://registry.npmjs.org/koa/-/koa-2.15.2.tgz", + "integrity": "sha512-MXTeZH3M6AJ8ukW2QZ8wqO3Dcdfh2WRRmjCBkEP+NhKNCiqlO5RDqHmSnsyNrbRJrdjyvIGSJho4vQiWgQJSVA==", "dev": true, "requires": { "accepts": "^1.3.5", From b49c460cb756b4eb8de65265628a33f4c6d17c62 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 25 Mar 2024 10:53:13 +0100 Subject: [PATCH 20/44] chore(deps-dev): bump express from 4.18.3 to 4.19.1 (#3933) --- package-lock.json | 31 ++++++++----------------------- 1 file changed, 8 insertions(+), 23 deletions(-) diff --git a/package-lock.json b/package-lock.json index d43b116ab7..cb59527a2e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10103,9 +10103,9 @@ } }, "node_modules/express": { - "version": "4.18.3", - "resolved": "https://registry.npmjs.org/express/-/express-4.18.3.tgz", - "integrity": "sha512-6VyCijWQ+9O7WuVMTRBTl+cjNNIzD5cY5mQ1WM8r/LEkI2u8EYpOotESNwzNlyCn3g+dmjKYI6BmNneSr/FSRw==", + "version": "4.19.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.19.1.tgz", + "integrity": "sha512-K4w1/Bp7y8iSiVObmCrtq8Cs79XjJc/RU2YYkZQ7wpUu5ZyZ7MtPHkqoMz4pf+mgXfNvo2qft8D9OnrH2ABk9w==", "dev": true, "dependencies": { "accepts": "~1.3.8", @@ -10113,7 +10113,7 @@ "body-parser": "1.20.2", "content-disposition": "0.5.4", "content-type": "~1.0.4", - "cookie": "0.5.0", + "cookie": "0.6.0", "cookie-signature": "1.0.6", "debug": "2.6.9", "depd": "2.0.0", @@ -10185,15 +10185,6 @@ "node": ">=6" } }, - "node_modules/express/node_modules/cookie": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", - "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, "node_modules/express/node_modules/debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", @@ -26158,9 +26149,9 @@ } }, "express": { - "version": "4.18.3", - "resolved": "https://registry.npmjs.org/express/-/express-4.18.3.tgz", - "integrity": "sha512-6VyCijWQ+9O7WuVMTRBTl+cjNNIzD5cY5mQ1WM8r/LEkI2u8EYpOotESNwzNlyCn3g+dmjKYI6BmNneSr/FSRw==", + "version": "4.19.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.19.1.tgz", + "integrity": "sha512-K4w1/Bp7y8iSiVObmCrtq8Cs79XjJc/RU2YYkZQ7wpUu5ZyZ7MtPHkqoMz4pf+mgXfNvo2qft8D9OnrH2ABk9w==", "dev": true, "requires": { "accepts": "~1.3.8", @@ -26168,7 +26159,7 @@ "body-parser": "1.20.2", "content-disposition": "0.5.4", "content-type": "~1.0.4", - "cookie": "0.5.0", + "cookie": "0.6.0", "cookie-signature": "1.0.6", "debug": "2.6.9", "depd": "2.0.0", @@ -26196,12 +26187,6 @@ "vary": "~1.1.2" }, "dependencies": { - "cookie": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", - "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", - "dev": true - }, "debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", From 42eef299b9a97b2f20bc4d2433d7059f2064b04f Mon Sep 17 00:00:00 2001 From: Trent Mick Date: Mon, 25 Mar 2024 14:07:34 -0700 Subject: [PATCH 21/44] test: add healthcheck for zookeeper test service so 'npm test' works outside of CI (#3928) Running 'npm test' outside of CI will start all test services in docker *then wait for them to all be healthy*. Without a healthcheck for zk the 'wait_for_healthy' in test/script/run_tests.sh would never pass. --- .ci/docker/docker-compose.yml | 7 +++++++ test/docker-compose.yml | 7 +++++++ 2 files changed, 14 insertions(+) diff --git a/.ci/docker/docker-compose.yml b/.ci/docker/docker-compose.yml index a04da04cb8..d380344c6c 100644 --- a/.ci/docker/docker-compose.yml +++ b/.ci/docker/docker-compose.yml @@ -149,6 +149,13 @@ services: - nodezookeeperdata:/bitnami environment: - ALLOW_ANONYMOUS_LOGIN=yes + healthcheck: + # Using 'srvr' instead of the more common 'ruok' because this bitnami + # image does not have 'ruok' on the '4lw.commands.whitelist' in zoo.cfg. + test: ["CMD-SHELL", "echo srvr | nc -w 2 localhost 2181"] + interval: 5s + timeout: 5s + retries: 5 kafka: # https://hub.docker.com/r/bitnami/kafka/tags diff --git a/test/docker-compose.yml b/test/docker-compose.yml index 2d284d5ab3..2562df66ab 100644 --- a/test/docker-compose.yml +++ b/test/docker-compose.yml @@ -141,6 +141,13 @@ services: - nodezookeeperdata:/var/lib/zookeeper/data environment: - ALLOW_ANONYMOUS_LOGIN=yes + healthcheck: + # Using 'srvr' instead of the more common 'ruok' because this bitnami + # image does not have 'ruok' on the '4lw.commands.whitelist' in zoo.cfg. + test: ["CMD-SHELL", "echo srvr | nc -w 2 localhost 2181"] + interval: 5s + timeout: 5s + retries: 5 kafka: # https://hub.docker.com/r/bitnami/kafka/tags From b84e303ec741e323ad3ab23dafba42db29dada80 Mon Sep 17 00:00:00 2001 From: Trent Mick Date: Mon, 25 Mar 2024 15:52:37 -0700 Subject: [PATCH 22/44] test: fix 'npm test' on Apple silicon Macs (#3939) Specifying the mssql image platform is necessary on *arm* Macs because the mssql Docker image only provides binaries for the amd64 architecture. My understanding is that Rosetta emulation on recent macOS supports running the amd binary just fine. --- .ci/docker/docker-compose.yml | 1 + test/docker-compose.yml | 1 + 2 files changed, 2 insertions(+) diff --git a/.ci/docker/docker-compose.yml b/.ci/docker/docker-compose.yml index d380344c6c..cf1e6555b0 100644 --- a/.ci/docker/docker-compose.yml +++ b/.ci/docker/docker-compose.yml @@ -32,6 +32,7 @@ services: mssql: image: mcr.microsoft.com/mssql/server + platform: linux/amd64 environment: - ACCEPT_EULA=Y - SA_PASSWORD=Very(!)Secure diff --git a/test/docker-compose.yml b/test/docker-compose.yml index 2562df66ab..a87e4435c3 100644 --- a/test/docker-compose.yml +++ b/test/docker-compose.yml @@ -32,6 +32,7 @@ services: mssql: image: mcr.microsoft.com/mssql/server + platform: linux/amd64 environment: - ACCEPT_EULA=Y - SA_PASSWORD=Very(!)Secure From adb952879c80f3dfc091a4e1bbdf67e9cc787764 Mon Sep 17 00:00:00 2001 From: David Luna Date: Tue, 26 Mar 2024 10:04:38 +0100 Subject: [PATCH 23/44] chore: add contributors to package.json (#3936) --- package.json | 3 +++ 1 file changed, 3 insertions(+) diff --git a/package.json b/package.json index 91d179482d..c4b93993ec 100644 --- a/package.json +++ b/package.json @@ -81,6 +81,9 @@ "distributed-tracing" ], "author": "Thomas Watson Steen (https://twitter.com/wa7son)", + "contributors": [ + "Elastic Observability " + ], "license": "BSD-2-Clause", "bugs": { "url": "https://github.com/elastic/apm-agent-nodejs/issues" From d92184beb506a482a0a923ffd420a1bf1388bdaf Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 1 Apr 2024 10:00:36 -0700 Subject: [PATCH 24/44] chore(deps): bump require-in-the-middle from 7.2.1 to 7.3.0 (#3943) --- package-lock.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/package-lock.json b/package-lock.json index cb59527a2e..f884f3024b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15754,9 +15754,9 @@ } }, "node_modules/require-in-the-middle": { - "version": "7.2.1", - "resolved": "https://registry.npmjs.org/require-in-the-middle/-/require-in-the-middle-7.2.1.tgz", - "integrity": "sha512-u5XngygsJ+XV2dBV/Pl4SrcNpUXQfmYmXtuFeHDXfzk4i4NnGnret6xKWkkJHjMHS/16yMV9pEAlAunqmjllkA==", + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/require-in-the-middle/-/require-in-the-middle-7.3.0.tgz", + "integrity": "sha512-nQFEv9gRw6SJAwWD2LrL0NmQvAcO7FBwJbwmr2ttPAacfy0xuiOjE5zt+zM4xDyuyvUaxBi/9gb2SoCyNEVJcw==", "dependencies": { "debug": "^4.1.1", "module-details-from-path": "^1.0.3", @@ -30455,9 +30455,9 @@ "dev": true }, "require-in-the-middle": { - "version": "7.2.1", - "resolved": "https://registry.npmjs.org/require-in-the-middle/-/require-in-the-middle-7.2.1.tgz", - "integrity": "sha512-u5XngygsJ+XV2dBV/Pl4SrcNpUXQfmYmXtuFeHDXfzk4i4NnGnret6xKWkkJHjMHS/16yMV9pEAlAunqmjllkA==", + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/require-in-the-middle/-/require-in-the-middle-7.3.0.tgz", + "integrity": "sha512-nQFEv9gRw6SJAwWD2LrL0NmQvAcO7FBwJbwmr2ttPAacfy0xuiOjE5zt+zM4xDyuyvUaxBi/9gb2SoCyNEVJcw==", "requires": { "debug": "^4.1.1", "module-details-from-path": "^1.0.3", From e6d7a27ec3da721cd477525fd229c9c7b947826a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 1 Apr 2024 10:02:00 -0700 Subject: [PATCH 25/44] chore(deps-dev): bump express from 4.19.1 to 4.19.2 (#3940) --- package-lock.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/package-lock.json b/package-lock.json index f884f3024b..0f9eda9cba 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10103,9 +10103,9 @@ } }, "node_modules/express": { - "version": "4.19.1", - "resolved": "https://registry.npmjs.org/express/-/express-4.19.1.tgz", - "integrity": "sha512-K4w1/Bp7y8iSiVObmCrtq8Cs79XjJc/RU2YYkZQ7wpUu5ZyZ7MtPHkqoMz4pf+mgXfNvo2qft8D9OnrH2ABk9w==", + "version": "4.19.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.19.2.tgz", + "integrity": "sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==", "dev": true, "dependencies": { "accepts": "~1.3.8", @@ -26149,9 +26149,9 @@ } }, "express": { - "version": "4.19.1", - "resolved": "https://registry.npmjs.org/express/-/express-4.19.1.tgz", - "integrity": "sha512-K4w1/Bp7y8iSiVObmCrtq8Cs79XjJc/RU2YYkZQ7wpUu5ZyZ7MtPHkqoMz4pf+mgXfNvo2qft8D9OnrH2ABk9w==", + "version": "4.19.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.19.2.tgz", + "integrity": "sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==", "dev": true, "requires": { "accepts": "~1.3.8", From af7e9d4e15a440120b6814a0333b46aef2ead9de Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 1 Apr 2024 10:02:50 -0700 Subject: [PATCH 26/44] chore(deps-dev): bump the eslint group with 1 update (#3941) Updates `eslint-plugin-license-header` from 0.6.0 to 0.6.1 --- package-lock.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/package-lock.json b/package-lock.json index 0f9eda9cba..52e3aab157 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9593,9 +9593,9 @@ } }, "node_modules/eslint-plugin-license-header": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-license-header/-/eslint-plugin-license-header-0.6.0.tgz", - "integrity": "sha512-IEywStBWaDBDMkogYoKUAdaOuomZ+YaQmdoSD2vHmXobekM+XuP6SWLlvwUUhIbdocn3MTlb5CUJ8E4VHz1c/w==", + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-license-header/-/eslint-plugin-license-header-0.6.1.tgz", + "integrity": "sha512-9aIz8q3OaMr1/uQmCGCWySjTs5nEXUJexNegz/8lluNcZbEl82Ag1Vyr1Hu3oIveRW1NbXDPs6nu4zu9mbrmWA==", "dev": true, "dependencies": { "requireindex": "^1.2.0" @@ -25954,9 +25954,9 @@ } }, "eslint-plugin-license-header": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-license-header/-/eslint-plugin-license-header-0.6.0.tgz", - "integrity": "sha512-IEywStBWaDBDMkogYoKUAdaOuomZ+YaQmdoSD2vHmXobekM+XuP6SWLlvwUUhIbdocn3MTlb5CUJ8E4VHz1c/w==", + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-license-header/-/eslint-plugin-license-header-0.6.1.tgz", + "integrity": "sha512-9aIz8q3OaMr1/uQmCGCWySjTs5nEXUJexNegz/8lluNcZbEl82Ag1Vyr1Hu3oIveRW1NbXDPs6nu4zu9mbrmWA==", "dev": true, "requires": { "requireindex": "^1.2.0" From f1d1828f2c8115f79c1dc6e72774f4e0534c4395 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 1 Apr 2024 10:05:06 -0700 Subject: [PATCH 27/44] chore(deps-dev): bump undici from 6.10.1 to 6.10.2 (#3942) --- package-lock.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/package-lock.json b/package-lock.json index 52e3aab157..c1743f3686 100644 --- a/package-lock.json +++ b/package-lock.json @@ -17647,9 +17647,9 @@ } }, "node_modules/undici": { - "version": "6.10.1", - "resolved": "https://registry.npmjs.org/undici/-/undici-6.10.1.tgz", - "integrity": "sha512-kSzmWrOx3XBKTgPm4Tal8Hyl3yf+hzlA00SAf4goxv8LZYafKmS6gJD/7Fe5HH/DMNiFTRXvkwhLo7mUn5fuQQ==", + "version": "6.10.2", + "resolved": "https://registry.npmjs.org/undici/-/undici-6.10.2.tgz", + "integrity": "sha512-HcVuBy7ACaDejIMdwCzAvO22OsiE6ir6ziTIr9kAE0vB+PheVe29ZvRN8p7FXCO2uZHTjEoUs5bPiFpuc/hwwQ==", "dev": true, "engines": { "node": ">=18.0" @@ -31931,9 +31931,9 @@ "dev": true }, "undici": { - "version": "6.10.1", - "resolved": "https://registry.npmjs.org/undici/-/undici-6.10.1.tgz", - "integrity": "sha512-kSzmWrOx3XBKTgPm4Tal8Hyl3yf+hzlA00SAf4goxv8LZYafKmS6gJD/7Fe5HH/DMNiFTRXvkwhLo7mUn5fuQQ==", + "version": "6.10.2", + "resolved": "https://registry.npmjs.org/undici/-/undici-6.10.2.tgz", + "integrity": "sha512-HcVuBy7ACaDejIMdwCzAvO22OsiE6ir6ziTIr9kAE0vB+PheVe29ZvRN8p7FXCO2uZHTjEoUs5bPiFpuc/hwwQ==", "dev": true }, "undici-types": { From 05a4f3d5fec819be9f7b7cb8a8a714d73f78ba7a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 1 Apr 2024 10:06:02 -0700 Subject: [PATCH 28/44] chore(deps-dev): bump @types/node from 20.11.0 to 20.12.2 (#3944) --- package-lock.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/package-lock.json b/package-lock.json index c1743f3686..fc4984de88 100644 --- a/package-lock.json +++ b/package-lock.json @@ -6597,9 +6597,9 @@ "dev": true }, "node_modules/@types/node": { - "version": "20.11.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.0.tgz", - "integrity": "sha512-o9bjXmDNcF7GbM4CNQpmi+TutCgap/K3w1JyKgxAjqx41zp9qlIAVFi0IhCNsJcXolEqLWhbFbEeL0PvYm4pcQ==", + "version": "20.12.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.12.2.tgz", + "integrity": "sha512-zQ0NYO87hyN6Xrclcqp7f8ZbXNbRfoGWNcMvHTPQp9UUrwI0mI7XBz+cu7/W6/VClYo2g63B0cjull/srU7LgQ==", "dev": true, "dependencies": { "undici-types": "~5.26.4" @@ -23503,9 +23503,9 @@ "dev": true }, "@types/node": { - "version": "20.11.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.0.tgz", - "integrity": "sha512-o9bjXmDNcF7GbM4CNQpmi+TutCgap/K3w1JyKgxAjqx41zp9qlIAVFi0IhCNsJcXolEqLWhbFbEeL0PvYm4pcQ==", + "version": "20.12.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.12.2.tgz", + "integrity": "sha512-zQ0NYO87hyN6Xrclcqp7f8ZbXNbRfoGWNcMvHTPQp9UUrwI0mI7XBz+cu7/W6/VClYo2g63B0cjull/srU7LgQ==", "dev": true, "requires": { "undici-types": "~5.26.4" From 0ebe9da839d1a3e8f5c6ab5106f696fe239924c6 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 1 Apr 2024 10:06:54 -0700 Subject: [PATCH 29/44] chore(deps-dev): bump azure-functions-core-tools (#3945) --- .../fixtures/AJsAzureFnApp/package-lock.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/test/instrumentation/azure-functions/fixtures/AJsAzureFnApp/package-lock.json b/test/instrumentation/azure-functions/fixtures/AJsAzureFnApp/package-lock.json index ac59b9471c..3ab535213b 100644 --- a/test/instrumentation/azure-functions/fixtures/AJsAzureFnApp/package-lock.json +++ b/test/instrumentation/azure-functions/fixtures/AJsAzureFnApp/package-lock.json @@ -11,9 +11,9 @@ } }, "node_modules/azure-functions-core-tools": { - "version": "4.0.5571", - "resolved": "https://registry.npmjs.org/azure-functions-core-tools/-/azure-functions-core-tools-4.0.5571.tgz", - "integrity": "sha512-TM/08YZDr1uc111EWpXB/z39Yely/sFuY/ftgCvwpPuqMoyJpt3uf70UxicG3y+3VHS7vVnE3S3XSmL/2yQk0Q==", + "version": "4.0.5611", + "resolved": "https://registry.npmjs.org/azure-functions-core-tools/-/azure-functions-core-tools-4.0.5611.tgz", + "integrity": "sha512-Uf+qywuGvPgOdbHqpe+SbtKg3sy8fBHaYtsnqXVWWJJKQ+HyDTTirRSkvgHZGc7R6ZZYmRPJb82REQrF3jzPAA==", "dev": true, "hasInstallScript": true, "hasShrinkwrap": true, @@ -382,9 +382,9 @@ }, "dependencies": { "azure-functions-core-tools": { - "version": "4.0.5571", - "resolved": "https://registry.npmjs.org/azure-functions-core-tools/-/azure-functions-core-tools-4.0.5571.tgz", - "integrity": "sha512-TM/08YZDr1uc111EWpXB/z39Yely/sFuY/ftgCvwpPuqMoyJpt3uf70UxicG3y+3VHS7vVnE3S3XSmL/2yQk0Q==", + "version": "4.0.5611", + "resolved": "https://registry.npmjs.org/azure-functions-core-tools/-/azure-functions-core-tools-4.0.5611.tgz", + "integrity": "sha512-Uf+qywuGvPgOdbHqpe+SbtKg3sy8fBHaYtsnqXVWWJJKQ+HyDTTirRSkvgHZGc7R6ZZYmRPJb82REQrF3jzPAA==", "dev": true, "requires": { "chalk": "3.0.0", From 22890df27ef42047d8110867947ebe05c3b24c34 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 1 Apr 2024 10:16:05 -0700 Subject: [PATCH 30/44] chore(deps-dev): bump @elastic/elasticsearch from 8.12.2 to 8.13.0 (#3946) --- package-lock.json | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/package-lock.json b/package-lock.json index fc4984de88..1da776f25b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4235,12 +4235,12 @@ } }, "node_modules/@elastic/elasticsearch": { - "version": "8.12.2", - "resolved": "https://registry.npmjs.org/@elastic/elasticsearch/-/elasticsearch-8.12.2.tgz", - "integrity": "sha512-04NvH3LIgcv1Uwguorfw2WwzC9Lhfsqs9f0L6uq6MrCw0lqe/HOQ6E8vJ6EkHAA15iEfbhtxOtenbZVVcE+mAQ==", + "version": "8.13.0", + "resolved": "https://registry.npmjs.org/@elastic/elasticsearch/-/elasticsearch-8.13.0.tgz", + "integrity": "sha512-OAYgzqArPqgDaIJ1yT0RX31YCgr1lleo53zL+36i23PFjHu08CA6Uq+BmBzEV05yEidl+ILPdeSfF3G8hPG/JQ==", "dev": true, "dependencies": { - "@elastic/transport": "^8.4.1", + "@elastic/transport": "^8.4.0", "tslib": "^2.4.0" }, "engines": { @@ -21458,12 +21458,12 @@ } }, "@elastic/elasticsearch": { - "version": "8.12.2", - "resolved": "https://registry.npmjs.org/@elastic/elasticsearch/-/elasticsearch-8.12.2.tgz", - "integrity": "sha512-04NvH3LIgcv1Uwguorfw2WwzC9Lhfsqs9f0L6uq6MrCw0lqe/HOQ6E8vJ6EkHAA15iEfbhtxOtenbZVVcE+mAQ==", + "version": "8.13.0", + "resolved": "https://registry.npmjs.org/@elastic/elasticsearch/-/elasticsearch-8.13.0.tgz", + "integrity": "sha512-OAYgzqArPqgDaIJ1yT0RX31YCgr1lleo53zL+36i23PFjHu08CA6Uq+BmBzEV05yEidl+ILPdeSfF3G8hPG/JQ==", "dev": true, "requires": { - "@elastic/transport": "^8.4.1", + "@elastic/transport": "^8.4.0", "tslib": "^2.4.0" } }, From 4fb65ad35ffa063e5317bdd7971311663ce7cd4a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 1 Apr 2024 10:36:22 -0700 Subject: [PATCH 31/44] chore(deps-dev): bump pg from 8.11.3 to 8.11.4 (#3947) --- package-lock.json | 93 +++++++++++++++++++---------------------------- 1 file changed, 38 insertions(+), 55 deletions(-) diff --git a/package-lock.json b/package-lock.json index 1da776f25b..1280a82b6f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -7853,15 +7853,6 @@ "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", "dev": true }, - "node_modules/buffer-writer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/buffer-writer/-/buffer-writer-2.0.0.tgz", - "integrity": "sha512-a7ZpuTZU1TRtnwyCNW3I5dc0wWNC3VR9S++Ewyk2HHZdrO3CQJqSpd+95Us590V6AL7JqUAH2IwZ/398PmNFgw==", - "dev": true, - "engines": { - "node": ">=4" - } - }, "node_modules/builtin-modules": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", @@ -14580,12 +14571,6 @@ "node": ">=8" } }, - "node_modules/packet-reader": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/packet-reader/-/packet-reader-1.0.0.tgz", - "integrity": "sha512-HAKu/fG3HpHFO0AA8WE8q2g+gBJaZ9MG7fcKk+IJPLTGAD6Psw4443l+9DGRbOIh3/aXr7Phy0TjilYivJo5XQ==", - "dev": true - }, "node_modules/parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", @@ -14695,16 +14680,14 @@ "dev": true }, "node_modules/pg": { - "version": "8.11.3", - "resolved": "https://registry.npmjs.org/pg/-/pg-8.11.3.tgz", - "integrity": "sha512-+9iuvG8QfaaUrrph+kpF24cXkH1YOOUeArRNYIxq1viYHZagBxrTno7cecY1Fa44tJeZvaoG+Djpkc3JwehN5g==", + "version": "8.11.4", + "resolved": "https://registry.npmjs.org/pg/-/pg-8.11.4.tgz", + "integrity": "sha512-pWb7JKPxGk1UFbtq7jQ0m3IfPpb7LLACCEyN8/u9DYEom+Q/BSKy+4TRl4+Hh003AOYhppB/z+QK87/hx/bk0w==", "dev": true, "dependencies": { - "buffer-writer": "2.0.0", - "packet-reader": "1.0.0", - "pg-connection-string": "^2.6.2", - "pg-pool": "^3.6.1", - "pg-protocol": "^1.6.0", + "pg-connection-string": "^2.6.3", + "pg-pool": "^3.6.2", + "pg-protocol": "^1.6.1", "pg-types": "^2.1.0", "pgpass": "1.x" }, @@ -14746,18 +14729,18 @@ } }, "node_modules/pg-pool": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/pg-pool/-/pg-pool-3.6.1.tgz", - "integrity": "sha512-jizsIzhkIitxCGfPRzJn1ZdcosIt3pz9Sh3V01fm1vZnbnCMgmGl5wvGGdNN2EL9Rmb0EcFoCkixH4Pu+sP9Og==", + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/pg-pool/-/pg-pool-3.6.2.tgz", + "integrity": "sha512-Htjbg8BlwXqSBQ9V8Vjtc+vzf/6fVUuak/3/XXKA9oxZprwW3IMDQTGHP+KDmVL7rtd+R1QjbnCFPuTHm3G4hg==", "dev": true, "peerDependencies": { "pg": ">=8.0" } }, "node_modules/pg-protocol": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/pg-protocol/-/pg-protocol-1.6.0.tgz", - "integrity": "sha512-M+PDm637OY5WM307051+bsDia5Xej6d9IR4GwJse1qA1DIhiKlksvrneZOYQq42OM+spubpcNYEo2FcKQrDk+Q==", + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/pg-protocol/-/pg-protocol-1.6.1.tgz", + "integrity": "sha512-jPIlvgoD63hrEuihvIg+tJhoGjUsLPn6poJY9N5CnlPd91c2T18T/9zBtLxZSb1EhYxBRoZJtzScCaWlYLtktg==", "dev": true }, "node_modules/pg-types": { @@ -14776,6 +14759,12 @@ "node": ">=4" } }, + "node_modules/pg/node_modules/pg-connection-string": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-2.6.3.tgz", + "integrity": "sha512-77FxhhKJQH+xJx6tDqkhhMa0nZvv3U1HYLDQgwZxZafVD583++O5LXn5oo5HaQZ0vXwYcZA1koYAJM3JvD6Gtw==", + "dev": true + }, "node_modules/pgpass": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/pgpass/-/pgpass-1.0.5.tgz", @@ -24470,12 +24459,6 @@ "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", "dev": true }, - "buffer-writer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/buffer-writer/-/buffer-writer-2.0.0.tgz", - "integrity": "sha512-a7ZpuTZU1TRtnwyCNW3I5dc0wWNC3VR9S++Ewyk2HHZdrO3CQJqSpd+95Us590V6AL7JqUAH2IwZ/398PmNFgw==", - "dev": true - }, "builtin-modules": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", @@ -29552,12 +29535,6 @@ "release-zalgo": "^1.0.0" } }, - "packet-reader": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/packet-reader/-/packet-reader-1.0.0.tgz", - "integrity": "sha512-HAKu/fG3HpHFO0AA8WE8q2g+gBJaZ9MG7fcKk+IJPLTGAD6Psw4443l+9DGRbOIh3/aXr7Phy0TjilYivJo5XQ==", - "dev": true - }, "parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", @@ -29639,19 +29616,25 @@ "dev": true }, "pg": { - "version": "8.11.3", - "resolved": "https://registry.npmjs.org/pg/-/pg-8.11.3.tgz", - "integrity": "sha512-+9iuvG8QfaaUrrph+kpF24cXkH1YOOUeArRNYIxq1viYHZagBxrTno7cecY1Fa44tJeZvaoG+Djpkc3JwehN5g==", + "version": "8.11.4", + "resolved": "https://registry.npmjs.org/pg/-/pg-8.11.4.tgz", + "integrity": "sha512-pWb7JKPxGk1UFbtq7jQ0m3IfPpb7LLACCEyN8/u9DYEom+Q/BSKy+4TRl4+Hh003AOYhppB/z+QK87/hx/bk0w==", "dev": true, "requires": { - "buffer-writer": "2.0.0", - "packet-reader": "1.0.0", "pg-cloudflare": "^1.1.1", - "pg-connection-string": "^2.6.2", - "pg-pool": "^3.6.1", - "pg-protocol": "^1.6.0", + "pg-connection-string": "^2.6.3", + "pg-pool": "^3.6.2", + "pg-protocol": "^1.6.1", "pg-types": "^2.1.0", "pgpass": "1.x" + }, + "dependencies": { + "pg-connection-string": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-2.6.3.tgz", + "integrity": "sha512-77FxhhKJQH+xJx6tDqkhhMa0nZvv3U1HYLDQgwZxZafVD583++O5LXn5oo5HaQZ0vXwYcZA1koYAJM3JvD6Gtw==", + "dev": true + } } }, "pg-cloudflare": { @@ -29674,15 +29657,15 @@ "dev": true }, "pg-pool": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/pg-pool/-/pg-pool-3.6.1.tgz", - "integrity": "sha512-jizsIzhkIitxCGfPRzJn1ZdcosIt3pz9Sh3V01fm1vZnbnCMgmGl5wvGGdNN2EL9Rmb0EcFoCkixH4Pu+sP9Og==", + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/pg-pool/-/pg-pool-3.6.2.tgz", + "integrity": "sha512-Htjbg8BlwXqSBQ9V8Vjtc+vzf/6fVUuak/3/XXKA9oxZprwW3IMDQTGHP+KDmVL7rtd+R1QjbnCFPuTHm3G4hg==", "dev": true }, "pg-protocol": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/pg-protocol/-/pg-protocol-1.6.0.tgz", - "integrity": "sha512-M+PDm637OY5WM307051+bsDia5Xej6d9IR4GwJse1qA1DIhiKlksvrneZOYQq42OM+spubpcNYEo2FcKQrDk+Q==", + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/pg-protocol/-/pg-protocol-1.6.1.tgz", + "integrity": "sha512-jPIlvgoD63hrEuihvIg+tJhoGjUsLPn6poJY9N5CnlPd91c2T18T/9zBtLxZSb1EhYxBRoZJtzScCaWlYLtktg==", "dev": true }, "pg-types": { From 65ed23d19174d1769593ebbe23f6bdcce08f4882 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 4 Apr 2024 13:40:03 -0700 Subject: [PATCH 32/44] chore(deps-dev): bump undici from 6.10.2 to 6.11.1 (#3948) --- package-lock.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/package-lock.json b/package-lock.json index 1280a82b6f..42e7ff8835 100644 --- a/package-lock.json +++ b/package-lock.json @@ -17636,9 +17636,9 @@ } }, "node_modules/undici": { - "version": "6.10.2", - "resolved": "https://registry.npmjs.org/undici/-/undici-6.10.2.tgz", - "integrity": "sha512-HcVuBy7ACaDejIMdwCzAvO22OsiE6ir6ziTIr9kAE0vB+PheVe29ZvRN8p7FXCO2uZHTjEoUs5bPiFpuc/hwwQ==", + "version": "6.11.1", + "resolved": "https://registry.npmjs.org/undici/-/undici-6.11.1.tgz", + "integrity": "sha512-KyhzaLJnV1qa3BSHdj4AZ2ndqI0QWPxYzaIOio0WzcEJB9gvuysprJSLtpvc2D9mhR9jPDUk7xlJlZbH2KR5iw==", "dev": true, "engines": { "node": ">=18.0" @@ -31914,9 +31914,9 @@ "dev": true }, "undici": { - "version": "6.10.2", - "resolved": "https://registry.npmjs.org/undici/-/undici-6.10.2.tgz", - "integrity": "sha512-HcVuBy7ACaDejIMdwCzAvO22OsiE6ir6ziTIr9kAE0vB+PheVe29ZvRN8p7FXCO2uZHTjEoUs5bPiFpuc/hwwQ==", + "version": "6.11.1", + "resolved": "https://registry.npmjs.org/undici/-/undici-6.11.1.tgz", + "integrity": "sha512-KyhzaLJnV1qa3BSHdj4AZ2ndqI0QWPxYzaIOio0WzcEJB9gvuysprJSLtpvc2D9mhR9jPDUk7xlJlZbH2KR5iw==", "dev": true }, "undici-types": { From 1bbf5b2d33c2712c6bde6aee0f493ed47b1376c9 Mon Sep 17 00:00:00 2001 From: Trent Mick Date: Thu, 4 Apr 2024 16:49:07 -0700 Subject: [PATCH 33/44] test: drop testing of @elastic/elasticsearch-canary; update undici dev-dep, transitive from @elastic/transport (#3949) The elasticsearch-canary version was very old. In practice we weren't updated it, hence there was no value in testing these. Refs: #3948 --- package-lock.json | 36 ++++--------------- package.json | 1 - .../@elastic/elasticsearch-canary.test.js | 16 --------- 3 files changed, 6 insertions(+), 47 deletions(-) delete mode 100644 test/instrumentation/modules/@elastic/elasticsearch-canary.test.js diff --git a/package-lock.json b/package-lock.json index 42e7ff8835..2d743f531b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -58,7 +58,6 @@ "@babel/core": "^7.8.4", "@babel/preset-env": "^7.8.4", "@elastic/elasticsearch": "^8.6.0", - "@elastic/elasticsearch-canary": "^8.8.0-canary.2", "@fastify/formbody": "^7.0.1", "@hapi/hapi": "^21.0.0", "@koa/router": "^12.0.0", @@ -4247,19 +4246,6 @@ "node": ">=18" } }, - "node_modules/@elastic/elasticsearch-canary": { - "version": "8.8.0-canary.2", - "resolved": "https://registry.npmjs.org/@elastic/elasticsearch-canary/-/elasticsearch-canary-8.8.0-canary.2.tgz", - "integrity": "sha512-UxH8YUxcsqHXGh4t2PjuL0q03XunF9vCLHPAs9r+fQcaPXpNbEuv9jbNGXv/9TLyeAKYEgcq9Xm0p0Nk/Mh0lQ==", - "dev": true, - "dependencies": { - "@elastic/transport": "^8.3.1", - "tslib": "^2.4.0" - }, - "engines": { - "node": ">=14" - } - }, "node_modules/@elastic/transport": { "version": "8.4.1", "resolved": "https://registry.npmjs.org/@elastic/transport/-/transport-8.4.1.tgz", @@ -4293,9 +4279,9 @@ "dev": true }, "node_modules/@elastic/transport/node_modules/undici": { - "version": "5.28.2", - "resolved": "https://registry.npmjs.org/undici/-/undici-5.28.2.tgz", - "integrity": "sha512-wh1pHJHnUeQV5Xa8/kyQhO7WFa8M34l026L5P/+2TYiakvGy5Rdc8jWZVyG7ieht/0WgJLEd3kcU5gKx+6GC8w==", + "version": "5.28.4", + "resolved": "https://registry.npmjs.org/undici/-/undici-5.28.4.tgz", + "integrity": "sha512-72RFADWFqKmUb2hmmvNODKL3p9hcB6Gt2DOQMis1SEBaV6a4MH8soBvzg+95CYhCKPFedut2JY9bMfrDl9D23g==", "dev": true, "dependencies": { "@fastify/busboy": "^2.0.0" @@ -21456,16 +21442,6 @@ "tslib": "^2.4.0" } }, - "@elastic/elasticsearch-canary": { - "version": "8.8.0-canary.2", - "resolved": "https://registry.npmjs.org/@elastic/elasticsearch-canary/-/elasticsearch-canary-8.8.0-canary.2.tgz", - "integrity": "sha512-UxH8YUxcsqHXGh4t2PjuL0q03XunF9vCLHPAs9r+fQcaPXpNbEuv9jbNGXv/9TLyeAKYEgcq9Xm0p0Nk/Mh0lQ==", - "dev": true, - "requires": { - "@elastic/transport": "^8.3.1", - "tslib": "^2.4.0" - } - }, "@elastic/transport": { "version": "8.4.1", "resolved": "https://registry.npmjs.org/@elastic/transport/-/transport-8.4.1.tgz", @@ -21493,9 +21469,9 @@ "dev": true }, "undici": { - "version": "5.28.2", - "resolved": "https://registry.npmjs.org/undici/-/undici-5.28.2.tgz", - "integrity": "sha512-wh1pHJHnUeQV5Xa8/kyQhO7WFa8M34l026L5P/+2TYiakvGy5Rdc8jWZVyG7ieht/0WgJLEd3kcU5gKx+6GC8w==", + "version": "5.28.4", + "resolved": "https://registry.npmjs.org/undici/-/undici-5.28.4.tgz", + "integrity": "sha512-72RFADWFqKmUb2hmmvNODKL3p9hcB6Gt2DOQMis1SEBaV6a4MH8soBvzg+95CYhCKPFedut2JY9bMfrDl9D23g==", "dev": true, "requires": { "@fastify/busboy": "^2.0.0" diff --git a/package.json b/package.json index c4b93993ec..d8f116a64c 100644 --- a/package.json +++ b/package.json @@ -139,7 +139,6 @@ "@babel/core": "^7.8.4", "@babel/preset-env": "^7.8.4", "@elastic/elasticsearch": "^8.6.0", - "@elastic/elasticsearch-canary": "^8.8.0-canary.2", "@fastify/formbody": "^7.0.1", "@hapi/hapi": "^21.0.0", "@koa/router": "^12.0.0", diff --git a/test/instrumentation/modules/@elastic/elasticsearch-canary.test.js b/test/instrumentation/modules/@elastic/elasticsearch-canary.test.js deleted file mode 100644 index a7659d71db..0000000000 --- a/test/instrumentation/modules/@elastic/elasticsearch-canary.test.js +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and other contributors where applicable. - * Licensed under the BSD 2-Clause License; you may not use this file except in - * compliance with the BSD 2-Clause License. - */ - -'use strict'; - -if (process.env.GITHUB_ACTIONS === 'true' && process.platform === 'win32') { - console.log('# SKIP: GH Actions do not support docker services on Windows'); - process.exit(0); -} - -process.env.ELASTIC_APM_TEST_ESCLIENT_PACKAGE_NAME = - '@elastic/elasticsearch-canary'; -require('./elasticsearch.test.js'); From c1389aa0cf373c0251992b7d9dc2251313ef6f1e Mon Sep 17 00:00:00 2001 From: Trent Mick Date: Fri, 5 Apr 2024 10:40:32 -0700 Subject: [PATCH 34/44] doc: update release process to use a PR for updating the docs-build branch (#3950) --- CONTRIBUTING.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 11a06d9bac..9ac34b577e 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -209,9 +209,10 @@ A release involves the following published artifacts: (The GitHub Actions CI "release" workflow will handle all the release steps -- including the `npm publish`. See the appropriate run at: https://github.com/elastic/apm-agent-nodejs/actions/workflows/release.yml) -4. If this is the for the latest major (currently `4.x`), then reset the latest - major branch to point to the current main, e.g.: - `git branch -f 4.x main && git push origin 4.x` +4. If this is for the latest major (currently `4.x`), then the "4.x" branch + needs to be updated to the same state as the release tag on "main". + **Open a PR to rebase all commits from main on to the "4.x" branch, + get it approved, merge with the rebase strategy.** (The periodic [docs CI job](https://elasticsearch-ci.elastic.co/view/Docs/job/elastic+docs+master+build/) uses this branch to update the [published docs](https://www.elastic.co/guide/en/apm/agent/nodejs/current/release-notes-4.x.html).) From 04b2040fcaa1f30fa932ec7e1df73a53c08bab71 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 8 Apr 2024 11:07:51 +0200 Subject: [PATCH 35/44] chore(deps): bump @opentelemetry/core from 1.22.0 to 1.23.0 (#3955) --- package-lock.json | 79 ++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 71 insertions(+), 8 deletions(-) diff --git a/package-lock.json b/package-lock.json index 2d743f531b..0bcc9ccf49 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5468,11 +5468,11 @@ } }, "node_modules/@opentelemetry/core": { - "version": "1.22.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-1.22.0.tgz", - "integrity": "sha512-0VoAlT6x+Xzik1v9goJ3pZ2ppi6+xd3aUfg4brfrLkDBHRIVjMP0eBHrKrhB+NKcDyMAg8fAbGL3Npg/F6AwWA==", + "version": "1.23.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-1.23.0.tgz", + "integrity": "sha512-hdQ/a9TMzMQF/BO8Cz1juA43/L5YGtCSiKoOHmrTEf7VMDAZgy8ucpWx3eQTnQ3gBloRcWtzvcrMZABC3PTSKQ==", "dependencies": { - "@opentelemetry/semantic-conventions": "1.22.0" + "@opentelemetry/semantic-conventions": "1.23.0" }, "engines": { "node": ">=14" @@ -5481,6 +5481,14 @@ "@opentelemetry/api": ">=1.0.0 <1.9.0" } }, + "node_modules/@opentelemetry/core/node_modules/@opentelemetry/semantic-conventions": { + "version": "1.23.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.23.0.tgz", + "integrity": "sha512-MiqFvfOzfR31t8cc74CTP1OZfz7MbqpAnLCra8NqQoaHJX6ncIRTdYOQYBDQ2uFISDq0WY8Y9dDTWvsgzzBYRg==", + "engines": { + "node": ">=14" + } + }, "node_modules/@opentelemetry/resources": { "version": "1.22.0", "resolved": "https://registry.npmjs.org/@opentelemetry/resources/-/resources-1.22.0.tgz", @@ -5496,6 +5504,20 @@ "@opentelemetry/api": ">=1.0.0 <1.9.0" } }, + "node_modules/@opentelemetry/resources/node_modules/@opentelemetry/core": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-1.22.0.tgz", + "integrity": "sha512-0VoAlT6x+Xzik1v9goJ3pZ2ppi6+xd3aUfg4brfrLkDBHRIVjMP0eBHrKrhB+NKcDyMAg8fAbGL3Npg/F6AwWA==", + "dependencies": { + "@opentelemetry/semantic-conventions": "1.22.0" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "@opentelemetry/api": ">=1.0.0 <1.9.0" + } + }, "node_modules/@opentelemetry/sdk-metrics": { "version": "1.22.0", "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-metrics/-/sdk-metrics-1.22.0.tgz", @@ -5512,6 +5534,20 @@ "@opentelemetry/api": ">=1.3.0 <1.9.0" } }, + "node_modules/@opentelemetry/sdk-metrics/node_modules/@opentelemetry/core": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-1.22.0.tgz", + "integrity": "sha512-0VoAlT6x+Xzik1v9goJ3pZ2ppi6+xd3aUfg4brfrLkDBHRIVjMP0eBHrKrhB+NKcDyMAg8fAbGL3Npg/F6AwWA==", + "dependencies": { + "@opentelemetry/semantic-conventions": "1.22.0" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "@opentelemetry/api": ">=1.0.0 <1.9.0" + } + }, "node_modules/@opentelemetry/semantic-conventions": { "version": "1.22.0", "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.22.0.tgz", @@ -22544,11 +22580,18 @@ "integrity": "sha512-I/s6F7yKUDdtMsoBWXJe8Qz40Tui5vsuKCWJEWVL+5q9sSWRzzx6v2KeNsOBEwd94j0eWkpWCH4yB6rZg9Mf0w==" }, "@opentelemetry/core": { - "version": "1.22.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-1.22.0.tgz", - "integrity": "sha512-0VoAlT6x+Xzik1v9goJ3pZ2ppi6+xd3aUfg4brfrLkDBHRIVjMP0eBHrKrhB+NKcDyMAg8fAbGL3Npg/F6AwWA==", + "version": "1.23.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-1.23.0.tgz", + "integrity": "sha512-hdQ/a9TMzMQF/BO8Cz1juA43/L5YGtCSiKoOHmrTEf7VMDAZgy8ucpWx3eQTnQ3gBloRcWtzvcrMZABC3PTSKQ==", "requires": { - "@opentelemetry/semantic-conventions": "1.22.0" + "@opentelemetry/semantic-conventions": "1.23.0" + }, + "dependencies": { + "@opentelemetry/semantic-conventions": { + "version": "1.23.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.23.0.tgz", + "integrity": "sha512-MiqFvfOzfR31t8cc74CTP1OZfz7MbqpAnLCra8NqQoaHJX6ncIRTdYOQYBDQ2uFISDq0WY8Y9dDTWvsgzzBYRg==" + } } }, "@opentelemetry/resources": { @@ -22558,6 +22601,16 @@ "requires": { "@opentelemetry/core": "1.22.0", "@opentelemetry/semantic-conventions": "1.22.0" + }, + "dependencies": { + "@opentelemetry/core": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-1.22.0.tgz", + "integrity": "sha512-0VoAlT6x+Xzik1v9goJ3pZ2ppi6+xd3aUfg4brfrLkDBHRIVjMP0eBHrKrhB+NKcDyMAg8fAbGL3Npg/F6AwWA==", + "requires": { + "@opentelemetry/semantic-conventions": "1.22.0" + } + } } }, "@opentelemetry/sdk-metrics": { @@ -22568,6 +22621,16 @@ "@opentelemetry/core": "1.22.0", "@opentelemetry/resources": "1.22.0", "lodash.merge": "^4.6.2" + }, + "dependencies": { + "@opentelemetry/core": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-1.22.0.tgz", + "integrity": "sha512-0VoAlT6x+Xzik1v9goJ3pZ2ppi6+xd3aUfg4brfrLkDBHRIVjMP0eBHrKrhB+NKcDyMAg8fAbGL3Npg/F6AwWA==", + "requires": { + "@opentelemetry/semantic-conventions": "1.22.0" + } + } } }, "@opentelemetry/semantic-conventions": { From 07ee1956166c3eb3fbb374b35cc736a8df336535 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 8 Apr 2024 11:46:53 +0200 Subject: [PATCH 36/44] chore(deps-dev): bump @hapi/hapi from 21.3.7 to 21.3.8 (#3959) --- package-lock.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/package-lock.json b/package-lock.json index 0bcc9ccf49..f8a7cc7a86 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4721,9 +4721,9 @@ "dev": true }, "node_modules/@hapi/hapi": { - "version": "21.3.7", - "resolved": "https://registry.npmjs.org/@hapi/hapi/-/hapi-21.3.7.tgz", - "integrity": "sha512-33J0nreMfqkhY7wwRAZRy+9J+7J4QOH1JtICMjIUmxfaOYSJL/d8JJCtg57SX60944bhlCeu7isb7qyr2jT2oA==", + "version": "21.3.8", + "resolved": "https://registry.npmjs.org/@hapi/hapi/-/hapi-21.3.8.tgz", + "integrity": "sha512-2YGNQZTnWKAWiexoLxvsSFFpJvFBJKhtRzARNxR6G1dHbDfL1WPQBXF00rmMRJLdo+oi7d+Ntgdno6V+z+js7w==", "dev": true, "dependencies": { "@hapi/accept": "^6.0.1", @@ -21915,9 +21915,9 @@ "dev": true }, "@hapi/hapi": { - "version": "21.3.7", - "resolved": "https://registry.npmjs.org/@hapi/hapi/-/hapi-21.3.7.tgz", - "integrity": "sha512-33J0nreMfqkhY7wwRAZRy+9J+7J4QOH1JtICMjIUmxfaOYSJL/d8JJCtg57SX60944bhlCeu7isb7qyr2jT2oA==", + "version": "21.3.8", + "resolved": "https://registry.npmjs.org/@hapi/hapi/-/hapi-21.3.8.tgz", + "integrity": "sha512-2YGNQZTnWKAWiexoLxvsSFFpJvFBJKhtRzARNxR6G1dHbDfL1WPQBXF00rmMRJLdo+oi7d+Ntgdno6V+z+js7w==", "dev": true, "requires": { "@hapi/accept": "^6.0.1", From 39dec4de5569a307336c903a8db32b73990d9205 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 8 Apr 2024 11:47:18 +0200 Subject: [PATCH 37/44] chore(deps-dev): bump typescript from 5.4.3 to 5.4.4 (#3958) --- package-lock.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/package-lock.json b/package-lock.json index f8a7cc7a86..de336f5b92 100644 --- a/package-lock.json +++ b/package-lock.json @@ -17609,9 +17609,9 @@ } }, "node_modules/typescript": { - "version": "5.4.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.3.tgz", - "integrity": "sha512-KrPd3PKaCLr78MalgiwJnA25Nm8HAmdwN3mYUYZgG/wizIo9EainNVQI9/yDavtVFRN2h3k8uf3GLHuhDMgEHg==", + "version": "5.4.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.4.tgz", + "integrity": "sha512-dGE2Vv8cpVvw28v8HCPqyb08EzbBURxDpuhJvTrusShUfGnhHBafDsLdS1EhhxyL6BJQE+2cT3dDPAv+MQ6oLw==", "dev": true, "bin": { "tsc": "bin/tsc", @@ -31923,9 +31923,9 @@ } }, "typescript": { - "version": "5.4.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.3.tgz", - "integrity": "sha512-KrPd3PKaCLr78MalgiwJnA25Nm8HAmdwN3mYUYZgG/wizIo9EainNVQI9/yDavtVFRN2h3k8uf3GLHuhDMgEHg==", + "version": "5.4.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.4.tgz", + "integrity": "sha512-dGE2Vv8cpVvw28v8HCPqyb08EzbBURxDpuhJvTrusShUfGnhHBafDsLdS1EhhxyL6BJQE+2cT3dDPAv+MQ6oLw==", "dev": true }, "uglify-js": { From 7d0ad2549981cccf1683983800e732a706cfb663 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 8 Apr 2024 11:49:14 +0200 Subject: [PATCH 38/44] chore(deps): bump @opentelemetry/sdk-metrics in /test/opentelemetry-metrics/fixtures (#3952) --- .../fixtures/package-lock.json | 111 ++++++++++++++++-- .../fixtures/package.json | 2 +- 2 files changed, 101 insertions(+), 12 deletions(-) diff --git a/test/opentelemetry-metrics/fixtures/package-lock.json b/test/opentelemetry-metrics/fixtures/package-lock.json index be821a55e1..3d58736f71 100644 --- a/test/opentelemetry-metrics/fixtures/package-lock.json +++ b/test/opentelemetry-metrics/fixtures/package-lock.json @@ -10,7 +10,7 @@ "dependencies": { "@opentelemetry/api": "^1.3.0", "@opentelemetry/exporter-prometheus": ">=0.41.2 <2", - "@opentelemetry/sdk-metrics": "^1.21.0" + "@opentelemetry/sdk-metrics": "^1.23.0" } }, "node_modules/@opentelemetry/api": { @@ -51,6 +51,22 @@ "@opentelemetry/api": "^1.3.0" } }, + "node_modules/@opentelemetry/exporter-prometheus/node_modules/@opentelemetry/sdk-metrics": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-metrics/-/sdk-metrics-1.22.0.tgz", + "integrity": "sha512-k6iIx6H3TZ+BVMr2z8M16ri2OxWaljg5h8ihGJxi/KQWcjign6FEaEzuigXt5bK9wVEhqAcWLCfarSftaNWkkg==", + "dependencies": { + "@opentelemetry/core": "1.22.0", + "@opentelemetry/resources": "1.22.0", + "lodash.merge": "^4.6.2" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "@opentelemetry/api": ">=1.3.0 <1.9.0" + } + }, "node_modules/@opentelemetry/resources": { "version": "1.22.0", "resolved": "https://registry.npmjs.org/@opentelemetry/resources/-/resources-1.22.0.tgz", @@ -67,12 +83,12 @@ } }, "node_modules/@opentelemetry/sdk-metrics": { - "version": "1.22.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-metrics/-/sdk-metrics-1.22.0.tgz", - "integrity": "sha512-k6iIx6H3TZ+BVMr2z8M16ri2OxWaljg5h8ihGJxi/KQWcjign6FEaEzuigXt5bK9wVEhqAcWLCfarSftaNWkkg==", + "version": "1.23.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-metrics/-/sdk-metrics-1.23.0.tgz", + "integrity": "sha512-4OkvW6+wST4h6LFG23rXSTf6nmTf201h9dzq7bE0z5R9ESEVLERZz6WXwE7PSgg1gdjlaznm1jLJf8GttypFDg==", "dependencies": { - "@opentelemetry/core": "1.22.0", - "@opentelemetry/resources": "1.22.0", + "@opentelemetry/core": "1.23.0", + "@opentelemetry/resources": "1.23.0", "lodash.merge": "^4.6.2" }, "engines": { @@ -82,6 +98,43 @@ "@opentelemetry/api": ">=1.3.0 <1.9.0" } }, + "node_modules/@opentelemetry/sdk-metrics/node_modules/@opentelemetry/core": { + "version": "1.23.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-1.23.0.tgz", + "integrity": "sha512-hdQ/a9TMzMQF/BO8Cz1juA43/L5YGtCSiKoOHmrTEf7VMDAZgy8ucpWx3eQTnQ3gBloRcWtzvcrMZABC3PTSKQ==", + "dependencies": { + "@opentelemetry/semantic-conventions": "1.23.0" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "@opentelemetry/api": ">=1.0.0 <1.9.0" + } + }, + "node_modules/@opentelemetry/sdk-metrics/node_modules/@opentelemetry/resources": { + "version": "1.23.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/resources/-/resources-1.23.0.tgz", + "integrity": "sha512-iPRLfVfcEQynYGo7e4Di+ti+YQTAY0h5mQEUJcHlU9JOqpb4x965O6PZ+wMcwYVY63G96KtdS86YCM1BF1vQZg==", + "dependencies": { + "@opentelemetry/core": "1.23.0", + "@opentelemetry/semantic-conventions": "1.23.0" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "@opentelemetry/api": ">=1.0.0 <1.9.0" + } + }, + "node_modules/@opentelemetry/sdk-metrics/node_modules/@opentelemetry/semantic-conventions": { + "version": "1.23.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.23.0.tgz", + "integrity": "sha512-MiqFvfOzfR31t8cc74CTP1OZfz7MbqpAnLCra8NqQoaHJX6ncIRTdYOQYBDQ2uFISDq0WY8Y9dDTWvsgzzBYRg==", + "engines": { + "node": ">=14" + } + }, "node_modules/@opentelemetry/semantic-conventions": { "version": "1.22.0", "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.22.0.tgz", @@ -118,6 +171,18 @@ "@opentelemetry/core": "1.22.0", "@opentelemetry/resources": "1.22.0", "@opentelemetry/sdk-metrics": "1.22.0" + }, + "dependencies": { + "@opentelemetry/sdk-metrics": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-metrics/-/sdk-metrics-1.22.0.tgz", + "integrity": "sha512-k6iIx6H3TZ+BVMr2z8M16ri2OxWaljg5h8ihGJxi/KQWcjign6FEaEzuigXt5bK9wVEhqAcWLCfarSftaNWkkg==", + "requires": { + "@opentelemetry/core": "1.22.0", + "@opentelemetry/resources": "1.22.0", + "lodash.merge": "^4.6.2" + } + } } }, "@opentelemetry/resources": { @@ -130,13 +195,37 @@ } }, "@opentelemetry/sdk-metrics": { - "version": "1.22.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-metrics/-/sdk-metrics-1.22.0.tgz", - "integrity": "sha512-k6iIx6H3TZ+BVMr2z8M16ri2OxWaljg5h8ihGJxi/KQWcjign6FEaEzuigXt5bK9wVEhqAcWLCfarSftaNWkkg==", + "version": "1.23.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-metrics/-/sdk-metrics-1.23.0.tgz", + "integrity": "sha512-4OkvW6+wST4h6LFG23rXSTf6nmTf201h9dzq7bE0z5R9ESEVLERZz6WXwE7PSgg1gdjlaznm1jLJf8GttypFDg==", "requires": { - "@opentelemetry/core": "1.22.0", - "@opentelemetry/resources": "1.22.0", + "@opentelemetry/core": "1.23.0", + "@opentelemetry/resources": "1.23.0", "lodash.merge": "^4.6.2" + }, + "dependencies": { + "@opentelemetry/core": { + "version": "1.23.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-1.23.0.tgz", + "integrity": "sha512-hdQ/a9TMzMQF/BO8Cz1juA43/L5YGtCSiKoOHmrTEf7VMDAZgy8ucpWx3eQTnQ3gBloRcWtzvcrMZABC3PTSKQ==", + "requires": { + "@opentelemetry/semantic-conventions": "1.23.0" + } + }, + "@opentelemetry/resources": { + "version": "1.23.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/resources/-/resources-1.23.0.tgz", + "integrity": "sha512-iPRLfVfcEQynYGo7e4Di+ti+YQTAY0h5mQEUJcHlU9JOqpb4x965O6PZ+wMcwYVY63G96KtdS86YCM1BF1vQZg==", + "requires": { + "@opentelemetry/core": "1.23.0", + "@opentelemetry/semantic-conventions": "1.23.0" + } + }, + "@opentelemetry/semantic-conventions": { + "version": "1.23.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.23.0.tgz", + "integrity": "sha512-MiqFvfOzfR31t8cc74CTP1OZfz7MbqpAnLCra8NqQoaHJX6ncIRTdYOQYBDQ2uFISDq0WY8Y9dDTWvsgzzBYRg==" + } } }, "@opentelemetry/semantic-conventions": { diff --git a/test/opentelemetry-metrics/fixtures/package.json b/test/opentelemetry-metrics/fixtures/package.json index 38c6b00669..cf354c777a 100644 --- a/test/opentelemetry-metrics/fixtures/package.json +++ b/test/opentelemetry-metrics/fixtures/package.json @@ -5,6 +5,6 @@ "dependencies": { "@opentelemetry/api": "^1.3.0", "@opentelemetry/exporter-prometheus": ">=0.41.2 <2", - "@opentelemetry/sdk-metrics": "^1.21.0" + "@opentelemetry/sdk-metrics": "^1.23.0" } } From f782572e3784d1d213fd41923c3223968bd2ee93 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 8 Apr 2024 18:25:05 +0200 Subject: [PATCH 39/44] chore(deps-dev): bump pg from 8.11.4 to 8.11.5 (#3957) --- package-lock.json | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/package-lock.json b/package-lock.json index de336f5b92..7b224b8cad 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14702,12 +14702,12 @@ "dev": true }, "node_modules/pg": { - "version": "8.11.4", - "resolved": "https://registry.npmjs.org/pg/-/pg-8.11.4.tgz", - "integrity": "sha512-pWb7JKPxGk1UFbtq7jQ0m3IfPpb7LLACCEyN8/u9DYEom+Q/BSKy+4TRl4+Hh003AOYhppB/z+QK87/hx/bk0w==", + "version": "8.11.5", + "resolved": "https://registry.npmjs.org/pg/-/pg-8.11.5.tgz", + "integrity": "sha512-jqgNHSKL5cbDjFlHyYsCXmQDrfIX/3RsNwYqpd4N0Kt8niLuNoRNH+aazv6cOd43gPh9Y4DjQCtb+X0MH0Hvnw==", "dev": true, "dependencies": { - "pg-connection-string": "^2.6.3", + "pg-connection-string": "^2.6.4", "pg-pool": "^3.6.2", "pg-protocol": "^1.6.1", "pg-types": "^2.1.0", @@ -14782,9 +14782,9 @@ } }, "node_modules/pg/node_modules/pg-connection-string": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-2.6.3.tgz", - "integrity": "sha512-77FxhhKJQH+xJx6tDqkhhMa0nZvv3U1HYLDQgwZxZafVD583++O5LXn5oo5HaQZ0vXwYcZA1koYAJM3JvD6Gtw==", + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-2.6.4.tgz", + "integrity": "sha512-v+Z7W/0EO707aNMaAEfiGnGL9sxxumwLl2fJvCQtMn9Fxsg+lPpPkdcyBSv/KFgpGdYkMfn+EI1Or2EHjpgLCA==", "dev": true }, "node_modules/pgpass": { @@ -29655,13 +29655,13 @@ "dev": true }, "pg": { - "version": "8.11.4", - "resolved": "https://registry.npmjs.org/pg/-/pg-8.11.4.tgz", - "integrity": "sha512-pWb7JKPxGk1UFbtq7jQ0m3IfPpb7LLACCEyN8/u9DYEom+Q/BSKy+4TRl4+Hh003AOYhppB/z+QK87/hx/bk0w==", + "version": "8.11.5", + "resolved": "https://registry.npmjs.org/pg/-/pg-8.11.5.tgz", + "integrity": "sha512-jqgNHSKL5cbDjFlHyYsCXmQDrfIX/3RsNwYqpd4N0Kt8niLuNoRNH+aazv6cOd43gPh9Y4DjQCtb+X0MH0Hvnw==", "dev": true, "requires": { "pg-cloudflare": "^1.1.1", - "pg-connection-string": "^2.6.3", + "pg-connection-string": "^2.6.4", "pg-pool": "^3.6.2", "pg-protocol": "^1.6.1", "pg-types": "^2.1.0", @@ -29669,9 +29669,9 @@ }, "dependencies": { "pg-connection-string": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-2.6.3.tgz", - "integrity": "sha512-77FxhhKJQH+xJx6tDqkhhMa0nZvv3U1HYLDQgwZxZafVD583++O5LXn5oo5HaQZ0vXwYcZA1koYAJM3JvD6Gtw==", + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-2.6.4.tgz", + "integrity": "sha512-v+Z7W/0EO707aNMaAEfiGnGL9sxxumwLl2fJvCQtMn9Fxsg+lPpPkdcyBSv/KFgpGdYkMfn+EI1Or2EHjpgLCA==", "dev": true } } From 9e6e5aff8f151c6c0f03423b6a65457b244cd140 Mon Sep 17 00:00:00 2001 From: Trent Mick Date: Mon, 8 Apr 2024 13:50:15 -0700 Subject: [PATCH 40/44] chore: update otel deps (#3962) --- package-lock.json | 115 +++---------- .../fixtures/package-lock.json | 157 ++++-------------- 2 files changed, 60 insertions(+), 212 deletions(-) diff --git a/package-lock.json b/package-lock.json index 7b224b8cad..c3f025ac18 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5481,35 +5481,13 @@ "@opentelemetry/api": ">=1.0.0 <1.9.0" } }, - "node_modules/@opentelemetry/core/node_modules/@opentelemetry/semantic-conventions": { - "version": "1.23.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.23.0.tgz", - "integrity": "sha512-MiqFvfOzfR31t8cc74CTP1OZfz7MbqpAnLCra8NqQoaHJX6ncIRTdYOQYBDQ2uFISDq0WY8Y9dDTWvsgzzBYRg==", - "engines": { - "node": ">=14" - } - }, "node_modules/@opentelemetry/resources": { - "version": "1.22.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/resources/-/resources-1.22.0.tgz", - "integrity": "sha512-+vNeIFPH2hfcNL0AJk/ykJXoUCtR1YaDUZM+p3wZNU4Hq98gzq+7b43xbkXjadD9VhWIUQqEwXyY64q6msPj6A==", - "dependencies": { - "@opentelemetry/core": "1.22.0", - "@opentelemetry/semantic-conventions": "1.22.0" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "@opentelemetry/api": ">=1.0.0 <1.9.0" - } - }, - "node_modules/@opentelemetry/resources/node_modules/@opentelemetry/core": { - "version": "1.22.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-1.22.0.tgz", - "integrity": "sha512-0VoAlT6x+Xzik1v9goJ3pZ2ppi6+xd3aUfg4brfrLkDBHRIVjMP0eBHrKrhB+NKcDyMAg8fAbGL3Npg/F6AwWA==", + "version": "1.23.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/resources/-/resources-1.23.0.tgz", + "integrity": "sha512-iPRLfVfcEQynYGo7e4Di+ti+YQTAY0h5mQEUJcHlU9JOqpb4x965O6PZ+wMcwYVY63G96KtdS86YCM1BF1vQZg==", "dependencies": { - "@opentelemetry/semantic-conventions": "1.22.0" + "@opentelemetry/core": "1.23.0", + "@opentelemetry/semantic-conventions": "1.23.0" }, "engines": { "node": ">=14" @@ -5519,12 +5497,12 @@ } }, "node_modules/@opentelemetry/sdk-metrics": { - "version": "1.22.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-metrics/-/sdk-metrics-1.22.0.tgz", - "integrity": "sha512-k6iIx6H3TZ+BVMr2z8M16ri2OxWaljg5h8ihGJxi/KQWcjign6FEaEzuigXt5bK9wVEhqAcWLCfarSftaNWkkg==", + "version": "1.23.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-metrics/-/sdk-metrics-1.23.0.tgz", + "integrity": "sha512-4OkvW6+wST4h6LFG23rXSTf6nmTf201h9dzq7bE0z5R9ESEVLERZz6WXwE7PSgg1gdjlaznm1jLJf8GttypFDg==", "dependencies": { - "@opentelemetry/core": "1.22.0", - "@opentelemetry/resources": "1.22.0", + "@opentelemetry/core": "1.23.0", + "@opentelemetry/resources": "1.23.0", "lodash.merge": "^4.6.2" }, "engines": { @@ -5534,24 +5512,10 @@ "@opentelemetry/api": ">=1.3.0 <1.9.0" } }, - "node_modules/@opentelemetry/sdk-metrics/node_modules/@opentelemetry/core": { - "version": "1.22.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-1.22.0.tgz", - "integrity": "sha512-0VoAlT6x+Xzik1v9goJ3pZ2ppi6+xd3aUfg4brfrLkDBHRIVjMP0eBHrKrhB+NKcDyMAg8fAbGL3Npg/F6AwWA==", - "dependencies": { - "@opentelemetry/semantic-conventions": "1.22.0" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "@opentelemetry/api": ">=1.0.0 <1.9.0" - } - }, "node_modules/@opentelemetry/semantic-conventions": { - "version": "1.22.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.22.0.tgz", - "integrity": "sha512-CAOgFOKLybd02uj/GhCdEeeBjOS0yeoDeo/CA7ASBSmenpZHAKGB3iDm/rv3BQLcabb/OprDEsSQ1y0P8A7Siw==", + "version": "1.23.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.23.0.tgz", + "integrity": "sha512-MiqFvfOzfR31t8cc74CTP1OZfz7MbqpAnLCra8NqQoaHJX6ncIRTdYOQYBDQ2uFISDq0WY8Y9dDTWvsgzzBYRg==", "engines": { "node": ">=14" } @@ -22585,58 +22549,31 @@ "integrity": "sha512-hdQ/a9TMzMQF/BO8Cz1juA43/L5YGtCSiKoOHmrTEf7VMDAZgy8ucpWx3eQTnQ3gBloRcWtzvcrMZABC3PTSKQ==", "requires": { "@opentelemetry/semantic-conventions": "1.23.0" - }, - "dependencies": { - "@opentelemetry/semantic-conventions": { - "version": "1.23.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.23.0.tgz", - "integrity": "sha512-MiqFvfOzfR31t8cc74CTP1OZfz7MbqpAnLCra8NqQoaHJX6ncIRTdYOQYBDQ2uFISDq0WY8Y9dDTWvsgzzBYRg==" - } } }, "@opentelemetry/resources": { - "version": "1.22.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/resources/-/resources-1.22.0.tgz", - "integrity": "sha512-+vNeIFPH2hfcNL0AJk/ykJXoUCtR1YaDUZM+p3wZNU4Hq98gzq+7b43xbkXjadD9VhWIUQqEwXyY64q6msPj6A==", + "version": "1.23.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/resources/-/resources-1.23.0.tgz", + "integrity": "sha512-iPRLfVfcEQynYGo7e4Di+ti+YQTAY0h5mQEUJcHlU9JOqpb4x965O6PZ+wMcwYVY63G96KtdS86YCM1BF1vQZg==", "requires": { - "@opentelemetry/core": "1.22.0", - "@opentelemetry/semantic-conventions": "1.22.0" - }, - "dependencies": { - "@opentelemetry/core": { - "version": "1.22.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-1.22.0.tgz", - "integrity": "sha512-0VoAlT6x+Xzik1v9goJ3pZ2ppi6+xd3aUfg4brfrLkDBHRIVjMP0eBHrKrhB+NKcDyMAg8fAbGL3Npg/F6AwWA==", - "requires": { - "@opentelemetry/semantic-conventions": "1.22.0" - } - } + "@opentelemetry/core": "1.23.0", + "@opentelemetry/semantic-conventions": "1.23.0" } }, "@opentelemetry/sdk-metrics": { - "version": "1.22.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-metrics/-/sdk-metrics-1.22.0.tgz", - "integrity": "sha512-k6iIx6H3TZ+BVMr2z8M16ri2OxWaljg5h8ihGJxi/KQWcjign6FEaEzuigXt5bK9wVEhqAcWLCfarSftaNWkkg==", + "version": "1.23.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-metrics/-/sdk-metrics-1.23.0.tgz", + "integrity": "sha512-4OkvW6+wST4h6LFG23rXSTf6nmTf201h9dzq7bE0z5R9ESEVLERZz6WXwE7PSgg1gdjlaznm1jLJf8GttypFDg==", "requires": { - "@opentelemetry/core": "1.22.0", - "@opentelemetry/resources": "1.22.0", + "@opentelemetry/core": "1.23.0", + "@opentelemetry/resources": "1.23.0", "lodash.merge": "^4.6.2" - }, - "dependencies": { - "@opentelemetry/core": { - "version": "1.22.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-1.22.0.tgz", - "integrity": "sha512-0VoAlT6x+Xzik1v9goJ3pZ2ppi6+xd3aUfg4brfrLkDBHRIVjMP0eBHrKrhB+NKcDyMAg8fAbGL3Npg/F6AwWA==", - "requires": { - "@opentelemetry/semantic-conventions": "1.22.0" - } - } } }, "@opentelemetry/semantic-conventions": { - "version": "1.22.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.22.0.tgz", - "integrity": "sha512-CAOgFOKLybd02uj/GhCdEeeBjOS0yeoDeo/CA7ASBSmenpZHAKGB3iDm/rv3BQLcabb/OprDEsSQ1y0P8A7Siw==" + "version": "1.23.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.23.0.tgz", + "integrity": "sha512-MiqFvfOzfR31t8cc74CTP1OZfz7MbqpAnLCra8NqQoaHJX6ncIRTdYOQYBDQ2uFISDq0WY8Y9dDTWvsgzzBYRg==" }, "@pkgjs/parseargs": { "version": "0.11.0", diff --git a/test/opentelemetry-metrics/fixtures/package-lock.json b/test/opentelemetry-metrics/fixtures/package-lock.json index 3d58736f71..81bc94681d 100644 --- a/test/opentelemetry-metrics/fixtures/package-lock.json +++ b/test/opentelemetry-metrics/fixtures/package-lock.json @@ -22,11 +22,11 @@ } }, "node_modules/@opentelemetry/core": { - "version": "1.22.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-1.22.0.tgz", - "integrity": "sha512-0VoAlT6x+Xzik1v9goJ3pZ2ppi6+xd3aUfg4brfrLkDBHRIVjMP0eBHrKrhB+NKcDyMAg8fAbGL3Npg/F6AwWA==", + "version": "1.23.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-1.23.0.tgz", + "integrity": "sha512-hdQ/a9TMzMQF/BO8Cz1juA43/L5YGtCSiKoOHmrTEf7VMDAZgy8ucpWx3eQTnQ3gBloRcWtzvcrMZABC3PTSKQ==", "dependencies": { - "@opentelemetry/semantic-conventions": "1.22.0" + "@opentelemetry/semantic-conventions": "1.23.0" }, "engines": { "node": ">=14" @@ -36,13 +36,13 @@ } }, "node_modules/@opentelemetry/exporter-prometheus": { - "version": "0.49.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-prometheus/-/exporter-prometheus-0.49.1.tgz", - "integrity": "sha512-FgzGl6OH22f+Wb1dh/TnoQSnZE2SCADhHx06nMqxivSqRJ9t3AhUdMsEOFt2IMjZClE705pcsLHk10BCJ79vsA==", + "version": "0.50.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-prometheus/-/exporter-prometheus-0.50.0.tgz", + "integrity": "sha512-6jBrGqzpU1b2gCPUWTSSW+G3ejbZRx9SYhhFg0MO6v8R51mcln9KH6oIdTDrA+3Ie3L18bpygKrIWA9VPWEifg==", "dependencies": { - "@opentelemetry/core": "1.22.0", - "@opentelemetry/resources": "1.22.0", - "@opentelemetry/sdk-metrics": "1.22.0" + "@opentelemetry/core": "1.23.0", + "@opentelemetry/resources": "1.23.0", + "@opentelemetry/sdk-metrics": "1.23.0" }, "engines": { "node": ">=14" @@ -51,29 +51,13 @@ "@opentelemetry/api": "^1.3.0" } }, - "node_modules/@opentelemetry/exporter-prometheus/node_modules/@opentelemetry/sdk-metrics": { - "version": "1.22.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-metrics/-/sdk-metrics-1.22.0.tgz", - "integrity": "sha512-k6iIx6H3TZ+BVMr2z8M16ri2OxWaljg5h8ihGJxi/KQWcjign6FEaEzuigXt5bK9wVEhqAcWLCfarSftaNWkkg==", - "dependencies": { - "@opentelemetry/core": "1.22.0", - "@opentelemetry/resources": "1.22.0", - "lodash.merge": "^4.6.2" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "@opentelemetry/api": ">=1.3.0 <1.9.0" - } - }, "node_modules/@opentelemetry/resources": { - "version": "1.22.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/resources/-/resources-1.22.0.tgz", - "integrity": "sha512-+vNeIFPH2hfcNL0AJk/ykJXoUCtR1YaDUZM+p3wZNU4Hq98gzq+7b43xbkXjadD9VhWIUQqEwXyY64q6msPj6A==", + "version": "1.23.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/resources/-/resources-1.23.0.tgz", + "integrity": "sha512-iPRLfVfcEQynYGo7e4Di+ti+YQTAY0h5mQEUJcHlU9JOqpb4x965O6PZ+wMcwYVY63G96KtdS86YCM1BF1vQZg==", "dependencies": { - "@opentelemetry/core": "1.22.0", - "@opentelemetry/semantic-conventions": "1.22.0" + "@opentelemetry/core": "1.23.0", + "@opentelemetry/semantic-conventions": "1.23.0" }, "engines": { "node": ">=14" @@ -98,36 +82,7 @@ "@opentelemetry/api": ">=1.3.0 <1.9.0" } }, - "node_modules/@opentelemetry/sdk-metrics/node_modules/@opentelemetry/core": { - "version": "1.23.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-1.23.0.tgz", - "integrity": "sha512-hdQ/a9TMzMQF/BO8Cz1juA43/L5YGtCSiKoOHmrTEf7VMDAZgy8ucpWx3eQTnQ3gBloRcWtzvcrMZABC3PTSKQ==", - "dependencies": { - "@opentelemetry/semantic-conventions": "1.23.0" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "@opentelemetry/api": ">=1.0.0 <1.9.0" - } - }, - "node_modules/@opentelemetry/sdk-metrics/node_modules/@opentelemetry/resources": { - "version": "1.23.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/resources/-/resources-1.23.0.tgz", - "integrity": "sha512-iPRLfVfcEQynYGo7e4Di+ti+YQTAY0h5mQEUJcHlU9JOqpb4x965O6PZ+wMcwYVY63G96KtdS86YCM1BF1vQZg==", - "dependencies": { - "@opentelemetry/core": "1.23.0", - "@opentelemetry/semantic-conventions": "1.23.0" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "@opentelemetry/api": ">=1.0.0 <1.9.0" - } - }, - "node_modules/@opentelemetry/sdk-metrics/node_modules/@opentelemetry/semantic-conventions": { + "node_modules/@opentelemetry/semantic-conventions": { "version": "1.23.0", "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.23.0.tgz", "integrity": "sha512-MiqFvfOzfR31t8cc74CTP1OZfz7MbqpAnLCra8NqQoaHJX6ncIRTdYOQYBDQ2uFISDq0WY8Y9dDTWvsgzzBYRg==", @@ -135,14 +90,6 @@ "node": ">=14" } }, - "node_modules/@opentelemetry/semantic-conventions": { - "version": "1.22.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.22.0.tgz", - "integrity": "sha512-CAOgFOKLybd02uj/GhCdEeeBjOS0yeoDeo/CA7ASBSmenpZHAKGB3iDm/rv3BQLcabb/OprDEsSQ1y0P8A7Siw==", - "engines": { - "node": ">=14" - } - }, "node_modules/lodash.merge": { "version": "4.6.2", "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", @@ -156,42 +103,30 @@ "integrity": "sha512-I/s6F7yKUDdtMsoBWXJe8Qz40Tui5vsuKCWJEWVL+5q9sSWRzzx6v2KeNsOBEwd94j0eWkpWCH4yB6rZg9Mf0w==" }, "@opentelemetry/core": { - "version": "1.22.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-1.22.0.tgz", - "integrity": "sha512-0VoAlT6x+Xzik1v9goJ3pZ2ppi6+xd3aUfg4brfrLkDBHRIVjMP0eBHrKrhB+NKcDyMAg8fAbGL3Npg/F6AwWA==", + "version": "1.23.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-1.23.0.tgz", + "integrity": "sha512-hdQ/a9TMzMQF/BO8Cz1juA43/L5YGtCSiKoOHmrTEf7VMDAZgy8ucpWx3eQTnQ3gBloRcWtzvcrMZABC3PTSKQ==", "requires": { - "@opentelemetry/semantic-conventions": "1.22.0" + "@opentelemetry/semantic-conventions": "1.23.0" } }, "@opentelemetry/exporter-prometheus": { - "version": "0.49.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-prometheus/-/exporter-prometheus-0.49.1.tgz", - "integrity": "sha512-FgzGl6OH22f+Wb1dh/TnoQSnZE2SCADhHx06nMqxivSqRJ9t3AhUdMsEOFt2IMjZClE705pcsLHk10BCJ79vsA==", + "version": "0.50.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-prometheus/-/exporter-prometheus-0.50.0.tgz", + "integrity": "sha512-6jBrGqzpU1b2gCPUWTSSW+G3ejbZRx9SYhhFg0MO6v8R51mcln9KH6oIdTDrA+3Ie3L18bpygKrIWA9VPWEifg==", "requires": { - "@opentelemetry/core": "1.22.0", - "@opentelemetry/resources": "1.22.0", - "@opentelemetry/sdk-metrics": "1.22.0" - }, - "dependencies": { - "@opentelemetry/sdk-metrics": { - "version": "1.22.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-metrics/-/sdk-metrics-1.22.0.tgz", - "integrity": "sha512-k6iIx6H3TZ+BVMr2z8M16ri2OxWaljg5h8ihGJxi/KQWcjign6FEaEzuigXt5bK9wVEhqAcWLCfarSftaNWkkg==", - "requires": { - "@opentelemetry/core": "1.22.0", - "@opentelemetry/resources": "1.22.0", - "lodash.merge": "^4.6.2" - } - } + "@opentelemetry/core": "1.23.0", + "@opentelemetry/resources": "1.23.0", + "@opentelemetry/sdk-metrics": "1.23.0" } }, "@opentelemetry/resources": { - "version": "1.22.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/resources/-/resources-1.22.0.tgz", - "integrity": "sha512-+vNeIFPH2hfcNL0AJk/ykJXoUCtR1YaDUZM+p3wZNU4Hq98gzq+7b43xbkXjadD9VhWIUQqEwXyY64q6msPj6A==", + "version": "1.23.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/resources/-/resources-1.23.0.tgz", + "integrity": "sha512-iPRLfVfcEQynYGo7e4Di+ti+YQTAY0h5mQEUJcHlU9JOqpb4x965O6PZ+wMcwYVY63G96KtdS86YCM1BF1vQZg==", "requires": { - "@opentelemetry/core": "1.22.0", - "@opentelemetry/semantic-conventions": "1.22.0" + "@opentelemetry/core": "1.23.0", + "@opentelemetry/semantic-conventions": "1.23.0" } }, "@opentelemetry/sdk-metrics": { @@ -202,36 +137,12 @@ "@opentelemetry/core": "1.23.0", "@opentelemetry/resources": "1.23.0", "lodash.merge": "^4.6.2" - }, - "dependencies": { - "@opentelemetry/core": { - "version": "1.23.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-1.23.0.tgz", - "integrity": "sha512-hdQ/a9TMzMQF/BO8Cz1juA43/L5YGtCSiKoOHmrTEf7VMDAZgy8ucpWx3eQTnQ3gBloRcWtzvcrMZABC3PTSKQ==", - "requires": { - "@opentelemetry/semantic-conventions": "1.23.0" - } - }, - "@opentelemetry/resources": { - "version": "1.23.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/resources/-/resources-1.23.0.tgz", - "integrity": "sha512-iPRLfVfcEQynYGo7e4Di+ti+YQTAY0h5mQEUJcHlU9JOqpb4x965O6PZ+wMcwYVY63G96KtdS86YCM1BF1vQZg==", - "requires": { - "@opentelemetry/core": "1.23.0", - "@opentelemetry/semantic-conventions": "1.23.0" - } - }, - "@opentelemetry/semantic-conventions": { - "version": "1.23.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.23.0.tgz", - "integrity": "sha512-MiqFvfOzfR31t8cc74CTP1OZfz7MbqpAnLCra8NqQoaHJX6ncIRTdYOQYBDQ2uFISDq0WY8Y9dDTWvsgzzBYRg==" - } } }, "@opentelemetry/semantic-conventions": { - "version": "1.22.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.22.0.tgz", - "integrity": "sha512-CAOgFOKLybd02uj/GhCdEeeBjOS0yeoDeo/CA7ASBSmenpZHAKGB3iDm/rv3BQLcabb/OprDEsSQ1y0P8A7Siw==" + "version": "1.23.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.23.0.tgz", + "integrity": "sha512-MiqFvfOzfR31t8cc74CTP1OZfz7MbqpAnLCra8NqQoaHJX6ncIRTdYOQYBDQ2uFISDq0WY8Y9dDTWvsgzzBYRg==" }, "lodash.merge": { "version": "4.6.2", From c0ed986e2f067d700bab955fcc4de915aff6e694 Mon Sep 17 00:00:00 2001 From: Trent Mick Date: Tue, 9 Apr 2024 08:19:41 -0700 Subject: [PATCH 41/44] fix(undici): copy with undici@6.11.0 bug that removed req.addHeader (#3963) --- CHANGELOG.asciidoc | 3 +++ lib/instrumentation/modules/undici.js | 7 ++++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc index 3845bbb410..9bf604db87 100644 --- a/CHANGELOG.asciidoc +++ b/CHANGELOG.asciidoc @@ -47,6 +47,9 @@ See the <> guide. * Fix path resolution for requests that contain invalid characters in its host header. ({pull}3923[#3923]) * Fix span names for `getMore` command of mongodb. ({pull}3919[#3919]) +* Fix undici instrumentation to cope with a bug in undici@6.11.0 where + `request.addHeader()` was accidentally removed. (It was re-added in + undici@6.11.1.) [float] ===== Chores diff --git a/lib/instrumentation/modules/undici.js b/lib/instrumentation/modules/undici.js index 955bce1c5b..2f84e9a320 100644 --- a/lib/instrumentation/modules/undici.js +++ b/lib/instrumentation/modules/undici.js @@ -133,7 +133,12 @@ function instrumentUndici(agent) { propSpan.propagateTraceContextHeaders( request, function (req, name, value) { - req.addHeader(name, value); + if (typeof request.addHeader === 'function') { + req.addHeader(name, value); + } else if (Array.isArray(request.headers)) { + // undici@6.11.0 accidentally, briefly removed `request.addHeader()`. + req.headers.push(name, value); + } }, ); } From 335ab651f961267673e5ff07949ce4c5f2f33903 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 10 Apr 2024 08:42:40 -0700 Subject: [PATCH 42/44] chore(deps-dev): bump eslint from 8.42.0 to 9.0.0; update to new eslint flat file config (#3954) In eslint@9 there is a new suggested config file format ("flat") https://github.com/eslint/rfcs/tree/main/designs/2019-config-simplification https://eslint.org/docs/latest/use/configure/configuration-files Signed-off-by: dependabot[bot] Co-authored-by: David Luna Co-authored-by: Trent Mick --- .eslintrc.json | 111 ---- .github/workflows/test.yml | 2 +- eslint.config.js | 124 ++++ examples/nextjs/next.config.js | 10 +- examples/nextjs/pages/_app.js | 12 +- examples/nextjs/pages/api/hello.js | 8 +- examples/nextjs/pages/index.js | 15 +- .../run-context/AbstractRunContextManager.js | 3 +- lib/opentelemetry-bridge/OTelSpan.js | 1 - package-lock.json | 552 ++++++------------ package.json | 8 +- .../apm-client/http-apm-client/config.test.js | 4 +- test/config/config.test.js | 2 +- .../next/a-nextjs-app/components/Header.js | 11 +- .../pages/a-dynamic-page/[num].js | 37 +- .../modules/next/a-nextjs-app/pages/a-page.js | 23 +- .../pages/a-throw-in-getServerSideProps.js | 15 +- .../pages/a-throw-in-page-handler.js | 14 +- .../next/a-nextjs-app/pages/an-ssr-page.js | 23 +- .../pages/api/a-dynamic-api-endpoint/[num].js | 14 +- .../pages/api/an-api-endpoint-that-throws.js | 4 +- .../a-nextjs-app/pages/api/an-api-endpoint.js | 4 +- .../modules/next/a-nextjs-app/pages/index.js | 26 +- 23 files changed, 429 insertions(+), 594 deletions(-) delete mode 100644 .eslintrc.json create mode 100644 eslint.config.js diff --git a/.eslintrc.json b/.eslintrc.json deleted file mode 100644 index 80cdb0a27f..0000000000 --- a/.eslintrc.json +++ /dev/null @@ -1,111 +0,0 @@ -// `npx eslint --print-config index.js` to print calculated config. -{ - "root": true, - "parserOptions": { - "ecmaVersion": 2022, // Top-level await, etc. - "sourceType": "module", - "ecmaFeatures": { - } - }, - "env": { - "node": true, - "es2022": true // Defines `Promise`, etc. - }, - "extends": [ - "eslint:recommended", - "plugin:prettier/recommended" - ], - "plugins": [ - "import", - "license-header", - "prettier", - "promise", - "n" - ], - "rules": { - "license-header/header": ["error", "./dev-utils/license-header.js"], - - // Retoring some config from standardjs that we want to maintain at least - // for now -- to assist with transition to prettier. - "no-unused-vars": [ // See taav for possible better 'no-unused-vars' rule. - "error", - { - "args": "none", - "caughtErrors": "none", - "ignoreRestSiblings": true, - "vars": "all" - } - ], - "no-empty": [ - "error", - { - "allowEmptyCatch": true - } - ], - "no-constant-condition": [ - "error", - { - "checkLoops": false - } - ], - "n/handle-callback-err": [ - "error", - "^(err|error)$" - ], - "n/no-callback-literal": [ - "error" - ], - "n/no-deprecated-api": [ - "error" - ], - "n/no-exports-assign": [ - "error" - ], - "n/no-new-require": [ - "error" - ], - "n/no-path-concat": [ - "error" - ], - "n/process-exit-as-throw": [ - "error" - ], - "promise/param-names": [ - "error" - ], - - // Undo this config from eslint:recommended for now (standardjs didn't have it.) - "require-yield": [ "off" ], - - "import/export": "error", - "import/first": "error", - "import/no-absolute-path": ["error", { "esmodule": true, "commonjs": true, "amd": false }], - "import/no-duplicates": "error", - "import/no-named-default": "error", - "import/no-webpack-loader-syntax": "error" - }, - "ignorePatterns": [ - "/*.example.js", // a pattern for uncommited local dev files to avoid linting - "/*.example.mjs", // a pattern for uncommited local dev files to avoid linting - "/.nyc_output", - "/build", - "node_modules", - "elastic-apm-node.js", - "/examples/esbuild/dist", - "/examples/typescript/dist", - "/examples/nextjs", - "/examples/an-azure-function-app", - "/lib/opentelemetry-bridge/opentelemetry-core-mini", - "/test/babel/out.js", - "/test/lambda/fixtures/esbuild-bundled-handler/hello.js", - "/test/instrumentation/modules/next/a-nextjs-app/pages", - "/test/instrumentation/modules/next/a-nextjs-app/components", - "/test/sourcemaps/fixtures/lib", - "/test/sourcemaps/fixtures/src", - "/test/stacktraces/fixtures/dist", - "/test/types/transpile/index.js", - "/test/types/transpile-default/index.js", - "/test_output", - "tmp" - ] -} diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index b19cea6433..68ebf8c11f 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -37,7 +37,7 @@ jobs: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: - node-version: 16 + node-version: 18 - run: npm ci - run: npm run lint diff --git a/eslint.config.js b/eslint.config.js new file mode 100644 index 0000000000..95e9566fcd --- /dev/null +++ b/eslint.config.js @@ -0,0 +1,124 @@ +/* + * Copyright Elasticsearch B.V. and other contributors where applicable. + * Licensed under the BSD 2-Clause License; you may not use this file except in + * compliance with the BSD 2-Clause License. + */ + +const globals = require('globals'); +const eslintJs = require('@eslint/js'); +const prettierConfig = require('eslint-config-prettier'); +const licenseHeaderPlugin = require('eslint-plugin-license-header'); +const nPlugin = require('eslint-plugin-n'); +const promisePlugin = require('eslint-plugin-promise'); +const importPlugin = require('eslint-plugin-import'); +const prettierPlugin = require('eslint-plugin-prettier'); + +module.exports = [ + { + // This block should *only* have the "ignores" property. + // https://eslint.org/docs/latest/use/configure/configuration-files#globally-ignoring-files-with-ignores + ignores: [ + '*.example.js', // a pattern for uncommited local dev files to avoid linting + '*.example.mjs', // a pattern for uncommited local dev files to avoid linting + + 'test_output/**', + 'tmp/**', + '.nyc_output/**', + 'build/**', + 'node_modules/**', + '**/elastic-apm-node.js', + '**/.next/**', + + 'examples/esbuild/dist/**', + 'examples/typescript/dist/**', + 'examples/an-azure-function-app/**', + 'lib/opentelemetry-bridge/opentelemetry-core-mini/**', + 'test/babel/out.js', + 'test/lambda/fixtures/esbuild-bundled-handler/hello.js', + 'test/sourcemaps/fixtures/lib/**', + 'test/sourcemaps/fixtures/src/**', + 'test/stacktraces/fixtures/dist/**', + 'test/types/transpile/index.js', + 'test/types/transpile-default/index.js', + ], + }, + { + languageOptions: { + ecmaVersion: 2022, + sourceType: 'module', + globals: { + ...globals.node, + fetch: false, // not present in node globals (readonly) + }, + parserOptions: { + ecmaFeatures: { + jsx: true, // to parse nextjs files + }, + }, + }, + plugins: { + 'license-header': licenseHeaderPlugin, + n: nPlugin, + promise: promisePlugin, + import: importPlugin, + prettier: prettierPlugin, + }, + rules: { + ...eslintJs.configs.recommended.rules, + ...prettierConfig.rules, + 'prettier/prettier': ['error'], + 'license-header/header': ['error', './dev-utils/license-header.js'], + + // Restoring some config from standardjs that we want to maintain at least + // for now -- to assist with transition to prettier. + 'no-unused-vars': [ + // See taav for possible better 'no-unused-vars' rule. + 'error', + { + args: 'none', + caughtErrors: 'none', + ignoreRestSiblings: true, + vars: 'all', + }, + ], + 'no-empty': [ + 'error', + { + allowEmptyCatch: true, + }, + ], + 'no-constant-condition': [ + 'error', + { + checkLoops: false, + }, + ], + 'n/handle-callback-err': ['error', '^(err|error)$'], + 'n/no-callback-literal': ['error'], + 'n/no-deprecated-api': ['error'], + 'n/no-exports-assign': ['error'], + 'n/no-new-require': ['error'], + 'n/no-path-concat': ['error'], + 'n/process-exit-as-throw': ['error'], + 'promise/param-names': ['error'], + // Undo this config from eslint:recommended for now (standardjs didn't have it.) + 'require-yield': ['off'], + 'import/export': 'error', + 'import/first': 'error', + 'import/no-absolute-path': [ + 'error', + { esmodule: true, commonjs: true, amd: false }, + ], + 'import/no-duplicates': 'error', + 'import/no-named-default': 'error', + 'import/no-webpack-loader-syntax': 'error', + // Some defaults have changed in v9 + 'dot-notation': ['error'], + 'new-cap': ['error', { capIsNew: false }], + 'no-eval': ['error', { allowIndirect: true }], + 'no-new': ['error'], + yoda: ['error'], + 'valid-typeof': ['error'], + }, + }, +]; diff --git a/examples/nextjs/next.config.js b/examples/nextjs/next.config.js index ae887958d3..ac4178eb9f 100644 --- a/examples/nextjs/next.config.js +++ b/examples/nextjs/next.config.js @@ -1,7 +1,13 @@ +/* + * Copyright Elasticsearch B.V. and other contributors where applicable. + * Licensed under the BSD 2-Clause License; you may not use this file except in + * compliance with the BSD 2-Clause License. + */ + /** @type {import('next').NextConfig} */ const nextConfig = { reactStrictMode: true, swcMinify: true, -} +}; -module.exports = nextConfig +module.exports = nextConfig; diff --git a/examples/nextjs/pages/_app.js b/examples/nextjs/pages/_app.js index 1e1cec9242..cae85ab3ff 100644 --- a/examples/nextjs/pages/_app.js +++ b/examples/nextjs/pages/_app.js @@ -1,7 +1,13 @@ -import '../styles/globals.css' +/* + * Copyright Elasticsearch B.V. and other contributors where applicable. + * Licensed under the BSD 2-Clause License; you may not use this file except in + * compliance with the BSD 2-Clause License. + */ + +import '../styles/globals.css'; function MyApp({ Component, pageProps }) { - return + return ; } -export default MyApp +export default MyApp; diff --git a/examples/nextjs/pages/api/hello.js b/examples/nextjs/pages/api/hello.js index df63de88fa..91217f24cd 100644 --- a/examples/nextjs/pages/api/hello.js +++ b/examples/nextjs/pages/api/hello.js @@ -1,5 +1,11 @@ +/* + * Copyright Elasticsearch B.V. and other contributors where applicable. + * Licensed under the BSD 2-Clause License; you may not use this file except in + * compliance with the BSD 2-Clause License. + */ + // Next.js API route support: https://nextjs.org/docs/api-routes/introduction export default function handler(req, res) { - res.status(200).json({ name: 'John Doe' }) + res.status(200).json({ name: 'John Doe' }); } diff --git a/examples/nextjs/pages/index.js b/examples/nextjs/pages/index.js index dc4b640352..d9f91a167e 100644 --- a/examples/nextjs/pages/index.js +++ b/examples/nextjs/pages/index.js @@ -1,6 +1,13 @@ -import Head from 'next/head' -import Image from 'next/image' -import styles from '../styles/Home.module.css' +/* + * Copyright Elasticsearch B.V. and other contributors where applicable. + * Licensed under the BSD 2-Clause License; you may not use this file except in + * compliance with the BSD 2-Clause License. + */ + +/* eslint-disable no-unused-vars */ +import Head from 'next/head'; +import Image from 'next/image'; +import styles from '../styles/Home.module.css'; export default function Home() { return ( @@ -65,5 +72,5 @@ export default function Home() { - ) + ); } diff --git a/lib/instrumentation/run-context/AbstractRunContextManager.js b/lib/instrumentation/run-context/AbstractRunContextManager.js index fd421fe526..304f9f0ecd 100644 --- a/lib/instrumentation/run-context/AbstractRunContextManager.js +++ b/lib/instrumentation/run-context/AbstractRunContextManager.js @@ -32,7 +32,8 @@ class AbstractRunContextManager { constructor(log, runContextClass = RunContext) { this._log = log; this._kListeners = Symbol('ElasticListeners'); - this._root = new runContextClass(); // eslint-disable-line new-cap + // eslint-disable-next-line new-cap + this._root = new runContextClass(); } // Get the root run context. This is always empty (no current trans or span). diff --git a/lib/opentelemetry-bridge/OTelSpan.js b/lib/opentelemetry-bridge/OTelSpan.js index c27d622a0d..7ea1139ca2 100644 --- a/lib/opentelemetry-bridge/OTelSpan.js +++ b/lib/opentelemetry-bridge/OTelSpan.js @@ -49,7 +49,6 @@ function isHomogeneousArrayOfStrNumBool(arr) { return false; } } else if (typeof elem !== elemType) { - // eslint-disable-line valid-typeof return false; } } diff --git a/package-lock.json b/package-lock.json index c3f025ac18..8ee9bf7495 100644 --- a/package-lock.json +++ b/package-lock.json @@ -76,7 +76,7 @@ "dependency-check": "^4.1.0", "diagnostics_channel": "^1.1.0", "elasticsearch": "^16.7.3", - "eslint": "^8.42.0", + "eslint": "^9.0.0", "eslint-config-prettier": "^9.0.0", "eslint-plugin-import": "^2.28.0", "eslint-plugin-license-header": "^0.6.0", @@ -137,6 +137,15 @@ "node": ">=14.17.0" } }, + "node_modules/@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", + "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/@ampproject/remapping": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", @@ -4327,15 +4336,15 @@ } }, "node_modules/@eslint/eslintrc": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.0.3.tgz", - "integrity": "sha512-+5gy6OQfk+xx3q0d6jGZZC3f3KzAkXc/IanVxd1is/VIIziRqqt3ongQz0FiTUXqTk0c7aDB3OaFuKnuSoJicQ==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.0.2.tgz", + "integrity": "sha512-wV19ZEGEMAC1eHgrS7UQPqsdEiCIbTKTasEfcXAigzoXICcqZSjBZEHlZwNVvKg6UBCjSlos84XiLqsRJnIcIg==", "dev": true, "dependencies": { "ajv": "^6.12.4", "debug": "^4.3.2", - "espree": "^9.5.2", - "globals": "^13.19.0", + "espree": "^10.0.1", + "globals": "^14.0.0", "ignore": "^5.2.0", "import-fresh": "^3.2.1", "js-yaml": "^4.1.0", @@ -4343,7 +4352,7 @@ "strip-json-comments": "^3.1.1" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "url": "https://opencollective.com/eslint" @@ -4366,15 +4375,12 @@ } }, "node_modules/@eslint/eslintrc/node_modules/globals": { - "version": "13.20.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", - "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", + "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", "dev": true, - "dependencies": { - "type-fest": "^0.20.2" - }, "engines": { - "node": ">=8" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -4386,25 +4392,13 @@ "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", "dev": true }, - "node_modules/@eslint/eslintrc/node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/@eslint/js": { - "version": "8.42.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.42.0.tgz", - "integrity": "sha512-6SWlXpWU5AvId8Ac7zjzmIOqMOba/JWY8XZ4A7q7Gn1Vlfg/SFFIlrtHXt9nPn4op9ZPAkl91Jao+QQv3r/ukw==", + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.0.0.tgz", + "integrity": "sha512-RThY/MnKrhubF6+s1JflwUjPEsnCEmYCWwqa/aRISKWNXGZ9epUwft4bUMM35SdKF9xvBrLydAM1RDHd1Z//ZQ==", "dev": true, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, "node_modules/@fastify/ajv-compiler": { @@ -5027,13 +5021,13 @@ "dev": true }, "node_modules/@humanwhocodes/config-array": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.10.tgz", - "integrity": "sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==", + "version": "0.12.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.12.3.tgz", + "integrity": "sha512-jsNnTBlMWuTpDkeE3on7+dWJi0D6fdDfeANj/w7MpS8ztROCoLvIO2nG0CcFj+E4k8j4QrSTh4Oryi3i2G669g==", "dev": true, "dependencies": { - "@humanwhocodes/object-schema": "^1.2.1", - "debug": "^4.1.1", + "@humanwhocodes/object-schema": "^2.0.3", + "debug": "^4.3.1", "minimatch": "^3.0.5" }, "engines": { @@ -5054,9 +5048,9 @@ } }, "node_modules/@humanwhocodes/object-schema": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", + "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", "dev": true }, "node_modules/@ioredis/commands": { @@ -6543,12 +6537,6 @@ "integrity": "sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==", "dev": true }, - "node_modules/@types/json-buffer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/json-buffer/-/json-buffer-3.0.0.tgz", - "integrity": "sha512-3YP80IxxFJB4b5tYC2SUPwkg0XQLiu0nWvhRgEatgjf+29IcWO9X1k8xRv5DGssJ/lCrjYTjQPcobJr2yWIVuQ==", - "dev": true - }, "node_modules/@types/json5": { "version": "0.0.29", "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", @@ -6702,9 +6690,9 @@ } }, "node_modules/acorn": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", - "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", + "version": "8.11.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", + "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", "bin": { "acorn": "bin/acorn" }, @@ -8297,19 +8285,6 @@ "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", "dev": true }, - "node_modules/compress-brotli": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/compress-brotli/-/compress-brotli-1.3.8.tgz", - "integrity": "sha512-lVcQsjhxhIXsuupfy9fmZUFtAIdBmXA7EGY6GBdgZ++qkM9zG4YFT8iU7FoBxzryNDMOpD1HIFHUSX4D87oqhQ==", - "dev": true, - "dependencies": { - "@types/json-buffer": "~3.0.0", - "json-buffer": "~3.0.1" - }, - "engines": { - "node": ">= 12" - } - }, "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", @@ -8960,18 +8935,6 @@ "node": ">=8" } }, - "node_modules/doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, "node_modules/doctypes": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/doctypes/-/doctypes-1.1.0.tgz", @@ -9363,56 +9326,51 @@ } }, "node_modules/eslint": { - "version": "8.42.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.42.0.tgz", - "integrity": "sha512-ulg9Ms6E1WPf67PHaEY4/6E2tEn5/f7FXGzr3t9cBMugOmf1INYvuUwwh1aXQN4MfJ6a5K2iNwP3w4AColvI9A==", + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.0.0.tgz", + "integrity": "sha512-IMryZ5SudxzQvuod6rUdIUz29qFItWx281VhtFVc2Psy/ZhlCeD/5DT6lBIJ4H3G+iamGJoTln1v+QSuPw0p7Q==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.4.0", - "@eslint/eslintrc": "^2.0.3", - "@eslint/js": "8.42.0", - "@humanwhocodes/config-array": "^0.11.10", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^3.0.2", + "@eslint/js": "9.0.0", + "@humanwhocodes/config-array": "^0.12.3", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", - "ajv": "^6.10.0", + "ajv": "^6.12.4", "chalk": "^4.0.0", "cross-spawn": "^7.0.2", "debug": "^4.3.2", - "doctrine": "^3.0.0", "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.2.0", - "eslint-visitor-keys": "^3.4.1", - "espree": "^9.5.2", + "eslint-scope": "^8.0.1", + "eslint-visitor-keys": "^4.0.0", + "espree": "^10.0.1", "esquery": "^1.4.2", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", + "file-entry-cache": "^8.0.0", "find-up": "^5.0.0", "glob-parent": "^6.0.2", - "globals": "^13.19.0", "graphemer": "^1.4.0", "ignore": "^5.2.0", - "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", "is-path-inside": "^3.0.3", - "js-yaml": "^4.1.0", "json-stable-stringify-without-jsonify": "^1.0.1", "levn": "^0.4.1", "lodash.merge": "^4.6.2", "minimatch": "^3.1.2", "natural-compare": "^1.4.0", - "optionator": "^0.9.1", + "optionator": "^0.9.3", "strip-ansi": "^6.0.1", - "strip-json-comments": "^3.1.0", "text-table": "^0.2.0" }, "bin": { "eslint": "bin/eslint.js" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "url": "https://opencollective.com/eslint" @@ -9676,16 +9634,28 @@ } }, "node_modules/eslint-scope": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.0.tgz", - "integrity": "sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.0.1.tgz", + "integrity": "sha512-pL8XjgP4ZOmmwfFE8mEhSxA7ZY4C+LWyqjQ3o4yWkkmD0qcMT9kkW3zWHOczhWcjTSgqycYAgwSlXvZltv65og==", "dev": true, "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^5.2.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.0.0.tgz", + "integrity": "sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==", + "dev": true, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "url": "https://opencollective.com/eslint" @@ -9756,18 +9726,6 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "node_modules/eslint/node_modules/eslint-visitor-keys": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz", - "integrity": "sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, "node_modules/eslint/node_modules/find-up": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", @@ -9796,21 +9754,6 @@ "node": ">=10.13.0" } }, - "node_modules/eslint/node_modules/globals": { - "version": "13.20.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", - "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", - "dev": true, - "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/eslint/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -9883,18 +9826,6 @@ "node": ">=8" } }, - "node_modules/eslint/node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/esm": { "version": "3.2.25", "resolved": "https://registry.npmjs.org/esm/-/esm-3.2.25.tgz", @@ -9905,29 +9836,17 @@ } }, "node_modules/espree": { - "version": "9.5.2", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.5.2.tgz", - "integrity": "sha512-7OASN1Wma5fum5SrNhFMAMJxOUAbhyfQ8dQ//PJaJbNw0URTPWqIghHWt1MmAANKhHZIYOHruW4Kw4ruUWOdGw==", + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-10.0.1.tgz", + "integrity": "sha512-MWkrWZbJsL2UwnjxTX3gG8FneachS/Mwg7tdGXce011sJd5b0JG54vat5KHnfSBODZ3Wvzd2WnjxyzsRoVv+ww==", "dev": true, "dependencies": { - "acorn": "^8.8.0", + "acorn": "^8.11.3", "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" + "eslint-visitor-keys": "^4.0.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/espree/node_modules/eslint-visitor-keys": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz", - "integrity": "sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "url": "https://opencollective.com/eslint" @@ -10452,15 +10371,15 @@ "dev": true }, "node_modules/file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", + "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", "dev": true, "dependencies": { - "flat-cache": "^3.0.4" + "flat-cache": "^4.0.0" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": ">=16.0.0" } }, "node_modules/fill-range": { @@ -10586,57 +10505,22 @@ } }, "node_modules/flat-cache": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", - "dev": true, - "dependencies": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/flat-cache/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", + "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", "dev": true, "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "flatted": "^3.2.9", + "keyv": "^4.5.4" }, "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/flat-cache/node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">=16" } }, "node_modules/flatted": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", - "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", + "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", "dev": true }, "node_modules/fn.name": { @@ -12769,12 +12653,11 @@ } }, "node_modules/keyv": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.3.2.tgz", - "integrity": "sha512-kn8WmodVBe12lmHpA6W8OY7SNh6wVR+Z+wZESF4iF5FCazaVXGWOtnbnvX0tMQ1bO+/TmOD9LziuYMvrIIs0xw==", + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", "dev": true, "dependencies": { - "compress-brotli": "^1.3.8", "json-buffer": "3.0.1" } }, @@ -14473,17 +14356,17 @@ "integrity": "sha512-B0LLi+Vg+eko++0z/b8zIv57kp7HKEzaPJo7LowJXMUKYdf+3XJGu/cw03h/JhIOsLnP+cG5QnTHAuicjA5fMw==" }, "node_modules/optionator": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", + "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", "dev": true, "dependencies": { + "@aashutoshrathi/word-wrap": "^1.2.3", "deep-is": "^0.1.3", "fast-levenshtein": "^2.0.6", "levn": "^0.4.1", "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.3" + "type-check": "^0.4.0" }, "engines": { "node": ">= 0.8.0" @@ -18049,15 +17932,6 @@ "node": ">= 10.0.0" } }, - "node_modules/word-wrap": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.4.tgz", - "integrity": "sha512-2V81OA4ugVo5pRo46hAoD2ivUJx8jXmWXfUkY4KFNw0hEptvN0QfH3K4nHiwzGeKl5rFKedV48QVoqYavy4YpA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/wordwrap": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", @@ -18262,6 +18136,12 @@ } }, "dependencies": { + "@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", + "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", + "dev": true + }, "@ampproject/remapping": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", @@ -21503,15 +21383,15 @@ "dev": true }, "@eslint/eslintrc": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.0.3.tgz", - "integrity": "sha512-+5gy6OQfk+xx3q0d6jGZZC3f3KzAkXc/IanVxd1is/VIIziRqqt3ongQz0FiTUXqTk0c7aDB3OaFuKnuSoJicQ==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.0.2.tgz", + "integrity": "sha512-wV19ZEGEMAC1eHgrS7UQPqsdEiCIbTKTasEfcXAigzoXICcqZSjBZEHlZwNVvKg6UBCjSlos84XiLqsRJnIcIg==", "dev": true, "requires": { "ajv": "^6.12.4", "debug": "^4.3.2", - "espree": "^9.5.2", - "globals": "^13.19.0", + "espree": "^10.0.1", + "globals": "^14.0.0", "ignore": "^5.2.0", "import-fresh": "^3.2.1", "js-yaml": "^4.1.0", @@ -21532,32 +21412,23 @@ } }, "globals": { - "version": "13.20.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", - "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", - "dev": true, - "requires": { - "type-fest": "^0.20.2" - } + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", + "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", + "dev": true }, "json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", "dev": true - }, - "type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true } } }, "@eslint/js": { - "version": "8.42.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.42.0.tgz", - "integrity": "sha512-6SWlXpWU5AvId8Ac7zjzmIOqMOba/JWY8XZ4A7q7Gn1Vlfg/SFFIlrtHXt9nPn4op9ZPAkl91Jao+QQv3r/ukw==", + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.0.0.tgz", + "integrity": "sha512-RThY/MnKrhubF6+s1JflwUjPEsnCEmYCWwqa/aRISKWNXGZ9epUwft4bUMM35SdKF9xvBrLydAM1RDHd1Z//ZQ==", "dev": true }, "@fastify/ajv-compiler": { @@ -22204,13 +22075,13 @@ } }, "@humanwhocodes/config-array": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.10.tgz", - "integrity": "sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==", + "version": "0.12.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.12.3.tgz", + "integrity": "sha512-jsNnTBlMWuTpDkeE3on7+dWJi0D6fdDfeANj/w7MpS8ztROCoLvIO2nG0CcFj+E4k8j4QrSTh4Oryi3i2G669g==", "dev": true, "requires": { - "@humanwhocodes/object-schema": "^1.2.1", - "debug": "^4.1.1", + "@humanwhocodes/object-schema": "^2.0.3", + "debug": "^4.3.1", "minimatch": "^3.0.5" } }, @@ -22221,9 +22092,9 @@ "dev": true }, "@humanwhocodes/object-schema": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", + "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", "dev": true }, "@ioredis/commands": { @@ -23428,12 +23299,6 @@ "integrity": "sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==", "dev": true }, - "@types/json-buffer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/json-buffer/-/json-buffer-3.0.0.tgz", - "integrity": "sha512-3YP80IxxFJB4b5tYC2SUPwkg0XQLiu0nWvhRgEatgjf+29IcWO9X1k8xRv5DGssJ/lCrjYTjQPcobJr2yWIVuQ==", - "dev": true - }, "@types/json5": { "version": "0.0.29", "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", @@ -23580,9 +23445,9 @@ } }, "acorn": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", - "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==" + "version": "8.11.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", + "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==" }, "acorn-import-assertions": { "version": "1.9.0", @@ -24781,16 +24646,6 @@ "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", "dev": true }, - "compress-brotli": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/compress-brotli/-/compress-brotli-1.3.8.tgz", - "integrity": "sha512-lVcQsjhxhIXsuupfy9fmZUFtAIdBmXA7EGY6GBdgZ++qkM9zG4YFT8iU7FoBxzryNDMOpD1HIFHUSX4D87oqhQ==", - "dev": true, - "requires": { - "@types/json-buffer": "~3.0.0", - "json-buffer": "~3.0.1" - } - }, "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", @@ -25287,15 +25142,6 @@ "path-type": "^4.0.0" } }, - "doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "requires": { - "esutils": "^2.0.2" - } - }, "doctypes": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/doctypes/-/doctypes-1.1.0.tgz", @@ -25614,49 +25460,44 @@ "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" }, "eslint": { - "version": "8.42.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.42.0.tgz", - "integrity": "sha512-ulg9Ms6E1WPf67PHaEY4/6E2tEn5/f7FXGzr3t9cBMugOmf1INYvuUwwh1aXQN4MfJ6a5K2iNwP3w4AColvI9A==", + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.0.0.tgz", + "integrity": "sha512-IMryZ5SudxzQvuod6rUdIUz29qFItWx281VhtFVc2Psy/ZhlCeD/5DT6lBIJ4H3G+iamGJoTln1v+QSuPw0p7Q==", "dev": true, "requires": { "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.4.0", - "@eslint/eslintrc": "^2.0.3", - "@eslint/js": "8.42.0", - "@humanwhocodes/config-array": "^0.11.10", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^3.0.2", + "@eslint/js": "9.0.0", + "@humanwhocodes/config-array": "^0.12.3", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", - "ajv": "^6.10.0", + "ajv": "^6.12.4", "chalk": "^4.0.0", "cross-spawn": "^7.0.2", "debug": "^4.3.2", - "doctrine": "^3.0.0", "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.2.0", - "eslint-visitor-keys": "^3.4.1", - "espree": "^9.5.2", + "eslint-scope": "^8.0.1", + "eslint-visitor-keys": "^4.0.0", + "espree": "^10.0.1", "esquery": "^1.4.2", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", + "file-entry-cache": "^8.0.0", "find-up": "^5.0.0", "glob-parent": "^6.0.2", - "globals": "^13.19.0", "graphemer": "^1.4.0", "ignore": "^5.2.0", - "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", "is-path-inside": "^3.0.3", - "js-yaml": "^4.1.0", "json-stable-stringify-without-jsonify": "^1.0.1", "levn": "^0.4.1", "lodash.merge": "^4.6.2", "minimatch": "^3.1.2", "natural-compare": "^1.4.0", - "optionator": "^0.9.1", + "optionator": "^0.9.3", "strip-ansi": "^6.0.1", - "strip-json-comments": "^3.1.0", "text-table": "^0.2.0" }, "dependencies": { @@ -25706,12 +25547,6 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "eslint-visitor-keys": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz", - "integrity": "sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==", - "dev": true - }, "find-up": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", @@ -25731,15 +25566,6 @@ "is-glob": "^4.0.3" } }, - "globals": { - "version": "13.20.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", - "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", - "dev": true, - "requires": { - "type-fest": "^0.20.2" - } - }, "has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -25787,12 +25613,6 @@ "requires": { "has-flag": "^4.0.0" } - }, - "type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true } } }, @@ -25974,15 +25794,21 @@ "dev": true }, "eslint-scope": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.0.tgz", - "integrity": "sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.0.1.tgz", + "integrity": "sha512-pL8XjgP4ZOmmwfFE8mEhSxA7ZY4C+LWyqjQ3o4yWkkmD0qcMT9kkW3zWHOczhWcjTSgqycYAgwSlXvZltv65og==", "dev": true, "requires": { "esrecurse": "^4.3.0", "estraverse": "^5.2.0" } }, + "eslint-visitor-keys": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.0.0.tgz", + "integrity": "sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==", + "dev": true + }, "esm": { "version": "3.2.25", "resolved": "https://registry.npmjs.org/esm/-/esm-3.2.25.tgz", @@ -25990,22 +25816,14 @@ "dev": true }, "espree": { - "version": "9.5.2", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.5.2.tgz", - "integrity": "sha512-7OASN1Wma5fum5SrNhFMAMJxOUAbhyfQ8dQ//PJaJbNw0URTPWqIghHWt1MmAANKhHZIYOHruW4Kw4ruUWOdGw==", + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-10.0.1.tgz", + "integrity": "sha512-MWkrWZbJsL2UwnjxTX3gG8FneachS/Mwg7tdGXce011sJd5b0JG54vat5KHnfSBODZ3Wvzd2WnjxyzsRoVv+ww==", "dev": true, "requires": { - "acorn": "^8.8.0", + "acorn": "^8.11.3", "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" - }, - "dependencies": { - "eslint-visitor-keys": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz", - "integrity": "sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==", - "dev": true - } + "eslint-visitor-keys": "^4.0.0" } }, "esprima": { @@ -26419,12 +26237,12 @@ "dev": true }, "file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", + "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", "dev": true, "requires": { - "flat-cache": "^3.0.4" + "flat-cache": "^4.0.0" } }, "fill-range": { @@ -26524,44 +26342,19 @@ } }, "flat-cache": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", + "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", "dev": true, "requires": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" - }, - "dependencies": { - "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - } + "flatted": "^3.2.9", + "keyv": "^4.5.4" } }, "flatted": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", - "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", + "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", "dev": true }, "fn.name": { @@ -28123,12 +27916,11 @@ } }, "keyv": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.3.2.tgz", - "integrity": "sha512-kn8WmodVBe12lmHpA6W8OY7SNh6wVR+Z+wZESF4iF5FCazaVXGWOtnbnvX0tMQ1bO+/TmOD9LziuYMvrIIs0xw==", + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", "dev": true, "requires": { - "compress-brotli": "^1.3.8", "json-buffer": "3.0.1" } }, @@ -29448,17 +29240,17 @@ "integrity": "sha512-B0LLi+Vg+eko++0z/b8zIv57kp7HKEzaPJo7LowJXMUKYdf+3XJGu/cw03h/JhIOsLnP+cG5QnTHAuicjA5fMw==" }, "optionator": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", + "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", "dev": true, "requires": { + "@aashutoshrathi/word-wrap": "^1.2.3", "deep-is": "^0.1.3", "fast-levenshtein": "^2.0.6", "levn": "^0.4.1", "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.3" + "type-check": "^0.4.0" } }, "original-url": { @@ -32223,12 +32015,6 @@ "babel-walk": "3.0.0-canary-5" } }, - "word-wrap": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.4.tgz", - "integrity": "sha512-2V81OA4ugVo5pRo46hAoD2ivUJx8jXmWXfUkY4KFNw0hEptvN0QfH3K4nHiwzGeKl5rFKedV48QVoqYavy4YpA==", - "dev": true - }, "wordwrap": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", diff --git a/package.json b/package.json index d8f116a64c..c809142736 100644 --- a/package.json +++ b/package.json @@ -9,9 +9,9 @@ "docs:open": "PREVIEW=1 npm run docs:build", "docs:build": "./docs/scripts/build_docs.sh apm-agent-nodejs ./docs ./build", "lint": "npm run lint:eslint && npm run lint:license-files && npm run lint:yaml-files && npm run lint:tav", - "lint:eslint": "eslint --ext=js,mjs,cjs . # requires node >=16.0.0", - "lint:eslint-nostyle": "eslint --ext=js,mjs,cjs --rule 'prettier/prettier: off' . # lint without checking style, not normally used; requires node>=16", - "lint:fix": "eslint --ext=js,mjs,cjs --fix . # requires node >=16.0.0", + "lint:eslint": "eslint # requires node >=18.18.0", + "lint:eslint-nostyle": "eslint --rule 'prettier/prettier: off' . # lint without checking style, not normally used; requires node>=18.18.0", + "lint:fix": "eslint --fix . # requires node >=18.18.0", "lint:license-files": "./dev-utils/gen-notice.sh --lint . # requires node >=16", "lint:yaml-files": "./dev-utils/lint-yaml-files.sh # requires node >=10", "lint:tav": "./dev-utils/lint-tav-json.js", @@ -157,7 +157,7 @@ "dependency-check": "^4.1.0", "diagnostics_channel": "^1.1.0", "elasticsearch": "^16.7.3", - "eslint": "^8.42.0", + "eslint": "^9.0.0", "eslint-config-prettier": "^9.0.0", "eslint-plugin-import": "^2.28.0", "eslint-plugin-license-header": "^0.6.0", diff --git a/test/apm-client/http-apm-client/config.test.js b/test/apm-client/http-apm-client/config.test.js index b5d8b43b17..04898c2e3e 100644 --- a/test/apm-client/http-apm-client/config.test.js +++ b/test/apm-client/http-apm-client/config.test.js @@ -103,9 +103,9 @@ test('should work without new', function (t) { test("null value config options shouldn't throw", function (t) { t.doesNotThrow(function () { + // eslint-disable-next-line no-new new HttpApmClient( validOpts({ - // eslint-disable-line no-new size: null, time: null, serverTimeout: null, @@ -195,9 +195,9 @@ test('custom headers', function (t) { test('serverUrl is invalid', function (t) { t.throws(function () { + // eslint-disable-next-line no-new new HttpApmClient( validOpts({ - // eslint-disable-line no-new serverUrl: 'invalid', apmServerVersion: '8.0.0', }), diff --git a/test/config/config.test.js b/test/config/config.test.js index 4ecfc2161d..b924d55990 100644 --- a/test/config/config.test.js +++ b/test/config/config.test.js @@ -219,7 +219,7 @@ const testFixtures = [ }); // Add the manual values Object.assign(startOpts, startOptsManual); - envVars['TEST_APM_START_OPTIONS'] = JSON.stringify(startOpts); + envVars.TEST_APM_START_OPTIONS = JSON.stringify(startOpts); return envVars; })(), checkScriptResult: (t, err, stdout) => { diff --git a/test/instrumentation/modules/next/a-nextjs-app/components/Header.js b/test/instrumentation/modules/next/a-nextjs-app/components/Header.js index 5236d49961..a688265091 100644 --- a/test/instrumentation/modules/next/a-nextjs-app/components/Header.js +++ b/test/instrumentation/modules/next/a-nextjs-app/components/Header.js @@ -4,10 +4,11 @@ * compliance with the BSD 2-Clause License. */ -import Head from 'next/head' -import Link from 'next/link' +/* eslint-disable no-unused-vars */ +import Head from 'next/head'; +import Link from 'next/link'; -function Header () { +function Header() { return ( <> @@ -25,7 +26,7 @@ function Header () { - ) + ); } -export default Header +export default Header; diff --git a/test/instrumentation/modules/next/a-nextjs-app/pages/a-dynamic-page/[num].js b/test/instrumentation/modules/next/a-nextjs-app/pages/a-dynamic-page/[num].js index f6a6bb7f32..de7b0b0003 100644 --- a/test/instrumentation/modules/next/a-nextjs-app/pages/a-dynamic-page/[num].js +++ b/test/instrumentation/modules/next/a-nextjs-app/pages/a-dynamic-page/[num].js @@ -4,42 +4,45 @@ * compliance with the BSD 2-Clause License. */ -import { useRouter } from 'next/router' -import Header from '../../components/Header' +/* eslint-disable no-unused-vars */ +import { useRouter } from 'next/router'; +import Header from '../../components/Header'; // Run at build time to determine a set of dynamic paths to prerender at build time. // https://nextjs.org/docs/basic-features/data-fetching/get-static-paths -export async function getStaticPaths () { +export async function getStaticPaths() { return { paths: [ { params: { num: '41' } }, { params: { num: '42' } }, - { params: { num: '43' } } + { params: { num: '43' } }, ], - fallback: true // false, true, or 'blocking' - } + fallback: true, // false, true, or 'blocking' + }; } -export async function getStaticProps ({ params }) { +export async function getStaticProps({ params }) { return { props: { - doubleThat: Number(params.num) * 2 - } - } + doubleThat: Number(params.num) * 2, + }, + }; } const ADynamicPage = ({ doubleThat }) => { - const router = useRouter() - const { num } = router.query + const router = useRouter(); + const { num } = router.query; return ( <> -
+
-
This is ADynamicPage {num} - doubleThat is {doubleThat}
+
+ This is ADynamicPage {num} - doubleThat is {doubleThat} +
- ) -} + ); +}; -export default ADynamicPage +export default ADynamicPage; diff --git a/test/instrumentation/modules/next/a-nextjs-app/pages/a-page.js b/test/instrumentation/modules/next/a-nextjs-app/pages/a-page.js index b7999ac53a..50a4d901e5 100644 --- a/test/instrumentation/modules/next/a-nextjs-app/pages/a-page.js +++ b/test/instrumentation/modules/next/a-nextjs-app/pages/a-page.js @@ -6,30 +6,31 @@ // A static page. -import Image from 'next/image' -import Header from '../components/Header' +/* eslint-disable no-unused-vars */ +import Image from 'next/image'; +import Header from '../components/Header'; -import img from '../public/elastic-logo.png' +import img from '../public/elastic-logo.png'; // Runs at build time. -export async function getStaticProps () { +export async function getStaticProps() { return { props: { - buildTime: Date.now() - } - } + buildTime: Date.now(), + }, + }; } -function APage ({ buildTime }) { +function APage({ buildTime }) { return ( <> -
+
This is APage (built at {new Date(buildTime).toISOString()})
Elastic logo
- ) + ); } -export default APage +export default APage; diff --git a/test/instrumentation/modules/next/a-nextjs-app/pages/a-throw-in-getServerSideProps.js b/test/instrumentation/modules/next/a-nextjs-app/pages/a-throw-in-getServerSideProps.js index bc360406d3..1ed382d2ee 100644 --- a/test/instrumentation/modules/next/a-nextjs-app/pages/a-throw-in-getServerSideProps.js +++ b/test/instrumentation/modules/next/a-nextjs-app/pages/a-throw-in-getServerSideProps.js @@ -7,22 +7,23 @@ // A page that throws in `getServerSideProps`. // https://nextjs.org/docs/basic-features/data-fetching/get-server-side-props#does-getserversideprops-render-an-error-page -import Header from '../components/Header' +/* eslint-disable no-unused-vars */ +import Header from '../components/Header'; // Gets called on every request. -export async function getServerSideProps () { - throw new Error('thrown error in getServerSideProps') +export async function getServerSideProps() { + throw new Error('thrown error in getServerSideProps'); } -function AThrowInGetServerSideProps () { +function AThrowInGetServerSideProps() { return ( <> -
+
This is AThrowInGetServerSideProps.
- ) + ); } -export default AThrowInGetServerSideProps +export default AThrowInGetServerSideProps; diff --git a/test/instrumentation/modules/next/a-nextjs-app/pages/a-throw-in-page-handler.js b/test/instrumentation/modules/next/a-nextjs-app/pages/a-throw-in-page-handler.js index cf51456cf7..d9c20343bb 100644 --- a/test/instrumentation/modules/next/a-nextjs-app/pages/a-throw-in-page-handler.js +++ b/test/instrumentation/modules/next/a-nextjs-app/pages/a-throw-in-page-handler.js @@ -5,21 +5,21 @@ */ // Gets called on every request. -export async function getServerSideProps () { +export async function getServerSideProps() { return { props: { - currTime: Date.now() - } - } + currTime: Date.now(), + }, + }; } -function AThrowInPageHandler ({ currTime }) { +function AThrowInPageHandler({ currTime }) { // If this is called from a browser-side click of a , e.g. as on the // index.js page, then this function is executed client-side. If called // via separately visiting http://localhost:3000/a-throw-in-page-handler // or via `curl -i ...`, then this is executed server-side. Only in the // latter case will the Node.js APM agent capture an error, of course. - throw new Error('throw in page handler') + throw new Error('throw in page handler'); } -export default AThrowInPageHandler +export default AThrowInPageHandler; diff --git a/test/instrumentation/modules/next/a-nextjs-app/pages/an-ssr-page.js b/test/instrumentation/modules/next/a-nextjs-app/pages/an-ssr-page.js index ffdf2ed410..030172d96f 100644 --- a/test/instrumentation/modules/next/a-nextjs-app/pages/an-ssr-page.js +++ b/test/instrumentation/modules/next/a-nextjs-app/pages/an-ssr-page.js @@ -6,26 +6,29 @@ // A server-side rendered page. -import Header from '../components/Header' +/* eslint-disable no-unused-vars */ +import Header from '../components/Header'; // Gets called on every request. -export async function getServerSideProps () { +export async function getServerSideProps() { return { props: { - currTime: Date.now() - } - } + currTime: Date.now(), + }, + }; } -function AnSSRPage ({ currTime }) { +function AnSSRPage({ currTime }) { return ( <> -
+
-
This is AnSSRPage (currTime is {new Date(currTime).toISOString()})
+
+ This is AnSSRPage (currTime is {new Date(currTime).toISOString()}) +
- ) + ); } -export default AnSSRPage +export default AnSSRPage; diff --git a/test/instrumentation/modules/next/a-nextjs-app/pages/api/a-dynamic-api-endpoint/[num].js b/test/instrumentation/modules/next/a-nextjs-app/pages/api/a-dynamic-api-endpoint/[num].js index 2884ae9104..27ccf9f8c0 100644 --- a/test/instrumentation/modules/next/a-nextjs-app/pages/api/a-dynamic-api-endpoint/[num].js +++ b/test/instrumentation/modules/next/a-nextjs-app/pages/api/a-dynamic-api-endpoint/[num].js @@ -7,20 +7,20 @@ // A dynamic API endpoint. // Always executed server-side. -export default function aDynamicApiEndpoint (req, res) { - const { num } = req.query - const n = Number(num) +export default function aDynamicApiEndpoint(req, res) { + const { num } = req.query; + const n = Number(num); if (isNaN(n)) { res.status(400).json({ num, - error: 'num is not a Number' - }) + error: 'num is not a Number', + }); } else { res.status(200).json({ num, n, double: n * 2, - floor: Math.floor(n) - }) + floor: Math.floor(n), + }); } } diff --git a/test/instrumentation/modules/next/a-nextjs-app/pages/api/an-api-endpoint-that-throws.js b/test/instrumentation/modules/next/a-nextjs-app/pages/api/an-api-endpoint-that-throws.js index 96403cc64f..5e1a0cbbf8 100644 --- a/test/instrumentation/modules/next/a-nextjs-app/pages/api/an-api-endpoint-that-throws.js +++ b/test/instrumentation/modules/next/a-nextjs-app/pages/api/an-api-endpoint-that-throws.js @@ -7,6 +7,6 @@ // An API endpoint whose handler throws, to test error handling. // Always executed server-side. -export default function anApiEndpointThatThrows (req, res) { - throw new Error('An error thrown in anApiEndpointThatThrows handler') +export default function anApiEndpointThatThrows(req, res) { + throw new Error('An error thrown in anApiEndpointThatThrows handler'); } diff --git a/test/instrumentation/modules/next/a-nextjs-app/pages/api/an-api-endpoint.js b/test/instrumentation/modules/next/a-nextjs-app/pages/api/an-api-endpoint.js index 1d655ed59a..8c65230f11 100644 --- a/test/instrumentation/modules/next/a-nextjs-app/pages/api/an-api-endpoint.js +++ b/test/instrumentation/modules/next/a-nextjs-app/pages/api/an-api-endpoint.js @@ -7,6 +7,6 @@ // An API endpoint. // Always executed server-side. -export default function anApiEndpoint (req, res) { - res.status(200).json({ ping: 'pong' }) +export default function anApiEndpoint(req, res) { + res.status(200).json({ ping: 'pong' }); } diff --git a/test/instrumentation/modules/next/a-nextjs-app/pages/index.js b/test/instrumentation/modules/next/a-nextjs-app/pages/index.js index 3db50aaf52..9c0cd83271 100644 --- a/test/instrumentation/modules/next/a-nextjs-app/pages/index.js +++ b/test/instrumentation/modules/next/a-nextjs-app/pages/index.js @@ -4,29 +4,33 @@ * compliance with the BSD 2-Clause License. */ -import Link from 'next/link' -import Header from '../components/Header' +/* eslint-disable no-unused-vars */ +import Link from 'next/link'; +import Header from '../components/Header'; -function IndexPage () { +function IndexPage() { return ( <> -
+
Welcome to A-Next.js-App! This is IndexPage.
  • - Go to APage (it is static in a prod build because it only implements getStaticProps) + Go to APage (it is static in a prod build because it only + implements getStaticProps)
  • - Go to AnSSRPage (its getServerSideProps is called on the server every time) + Go to AnSSRPage (its getServerSideProps is called on the server + every time)
  • - Go to ADynamicPage/42 (it supports other numbers; 41, 42, and 43 are pre-generated) + Go to ADynamicPage/42 (it supports other numbers; 41, 42, and 43 + are pre-generated)
  • @@ -42,9 +46,7 @@ function IndexPage () {
  • - - Go to AnApiEndpoint - + Go to AnApiEndpoint
  • @@ -70,7 +72,7 @@ function IndexPage () {
- ) + ); } -export default IndexPage +export default IndexPage; From 526486fd70d0080efc4c79fc28923a76d018c132 Mon Sep 17 00:00:00 2001 From: Trent Mick Date: Thu, 11 Apr 2024 08:26:54 -0700 Subject: [PATCH 43/44] fix(undici): avoid possible duplicate 'traceparent' header on instrumented HTTP requests (#3965) ... because Elasticsearch borks on these requests. This case should only be possible in a weird case like having two APM agents active. Fixes: #3964 --- CHANGELOG.asciidoc | 3 ++ lib/instrumentation/modules/undici.js | 43 ++++++++++++++----- .../modules/undici/undici.test.js | 39 +++++++++++++++++ 3 files changed, 75 insertions(+), 10 deletions(-) diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc index 9bf604db87..04f4562518 100644 --- a/CHANGELOG.asciidoc +++ b/CHANGELOG.asciidoc @@ -50,6 +50,9 @@ See the <> guide. * Fix undici instrumentation to cope with a bug in undici@6.11.0 where `request.addHeader()` was accidentally removed. (It was re-added in undici@6.11.1.) +* Update undici instrumentation to avoid possibly adding a *second* + 'traceparent' header to outgoing HTTP requests, because this can break + Elasticsearch requests. ({issues}3964[#3964]) [float] ===== Chores diff --git a/lib/instrumentation/modules/undici.js b/lib/instrumentation/modules/undici.js index 2f84e9a320..4996f4c237 100644 --- a/lib/instrumentation/modules/undici.js +++ b/lib/instrumentation/modules/undici.js @@ -44,6 +44,9 @@ try { const semver = require('semver'); +// Search an undici@5 request.headers string for a 'traceparent' header. +const headersStrHasTraceparentRe = /^traceparent:/im; + let isInstrumented = false; let spanFromReq = null; let chans = null; @@ -130,17 +133,37 @@ function instrumentUndici(agent) { const propSpan = span || parentRunContext.currSpan() || parentRunContext.currTransaction(); if (propSpan) { - propSpan.propagateTraceContextHeaders( - request, - function (req, name, value) { - if (typeof request.addHeader === 'function') { - req.addHeader(name, value); - } else if (Array.isArray(request.headers)) { - // undici@6.11.0 accidentally, briefly removed `request.addHeader()`. - req.headers.push(name, value); + // Guard against adding a duplicate 'traceparent' header, because that + // breaks ES. https://github.com/elastic/apm-agent-nodejs/issues/3964 + // Dev Note: This cheats a little and assumes the header names to add + // will include 'traceparent'. + let alreadyHasTp = false; + if (Array.isArray(request.headers)) { + // undici@6 + for (let i = 0; i < request.headers.length; i += 2) { + if (request.headers[i].toLowerCase() === 'traceparent') { + alreadyHasTp = true; + break; } - }, - ); + } + } else if (typeof request.headers === 'string') { + // undici@5 + alreadyHasTp = headersStrHasTraceparentRe.test(request.headers); + } + + if (!alreadyHasTp) { + propSpan.propagateTraceContextHeaders( + request, + function (req, name, value) { + if (typeof request.addHeader === 'function') { + req.addHeader(name, value); + } else if (Array.isArray(request.headers)) { + // undici@6.11.0 accidentally, briefly removed `request.addHeader()`. + req.headers.push(name, value); + } + }, + ); + } } if (span) { diff --git a/test/instrumentation/modules/undici/undici.test.js b/test/instrumentation/modules/undici/undici.test.js index 941fffb586..e4cf13d6a3 100644 --- a/test/instrumentation/modules/undici/undici.test.js +++ b/test/instrumentation/modules/undici/undici.test.js @@ -274,6 +274,45 @@ if (global.AbortController) { }); } +test('undici no duplicate headers', async (t) => { + apm._apmClient.clear(); + const aTrans = apm.startTransaction('aTransName'); + + const url = origin + '/ping'; + const { statusCode, body } = await undici.request(url, { + headers: { + traceparent: 'this-value-is-not-from-elastic-apm-node', + }, + }); + t.equal(statusCode, 200, 'statusCode'); + await consumeResponseBody(body); + + aTrans.end(); + t.error(await promisyApmFlush(), 'no apm.flush() error'); + + t.equal(apm._apmClient.spans.length, 1); + const span = apm._apmClient.spans[0]; + assertUndiciSpan(t, span, url); + + // If there is already a 'traceparent' header in the way, the APM agent + // should at least *not* result in duplicate headers, even if that means + // breaking distributed tracing. + let numTraceparentHeaders = 0; + let numTracestateHeaders = 0; + for (let i = 0; i < lastServerReq.rawHeaders.length; i += 2) { + const k = lastServerReq.rawHeaders[i].toLowerCase(); + if (k === 'traceparent') { + numTraceparentHeaders++; + } else if (k === 'tracestate') { + numTracestateHeaders++; + } + } + t.equal(numTraceparentHeaders, 1, 'just one traceparent header'); + t.equal(numTracestateHeaders, 0, 'tracestate header was skipped'); + + t.end(); +}); + test('teardown', (t) => { undici.getGlobalDispatcher().close(); // Close kept-alive sockets. server.close(); From 3f253585e722b4554842a79ea0dec5502d7f15c5 Mon Sep 17 00:00:00 2001 From: Trent Mick Date: Thu, 11 Apr 2024 10:58:20 -0700 Subject: [PATCH 44/44] release 4.5.1 (#3966) --- CHANGELOG.asciidoc | 14 +++----------- package-lock.json | 4 ++-- package.json | 2 +- 3 files changed, 6 insertions(+), 14 deletions(-) diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc index 04f4562518..cdaa870f17 100644 --- a/CHANGELOG.asciidoc +++ b/CHANGELOG.asciidoc @@ -33,13 +33,8 @@ Notes: See the <> guide. -==== Unreleased - -[float] -===== Breaking changes - -[float] -===== Features +[[release-notes-4.5.1]] +==== 4.5.1 - 2024/04/11 [float] ===== Bug fixes @@ -49,14 +44,11 @@ See the <> guide. * Fix span names for `getMore` command of mongodb. ({pull}3919[#3919]) * Fix undici instrumentation to cope with a bug in undici@6.11.0 where `request.addHeader()` was accidentally removed. (It was re-added in - undici@6.11.1.) + undici@6.11.1.) ({pull}3963[#3963]) * Update undici instrumentation to avoid possibly adding a *second* 'traceparent' header to outgoing HTTP requests, because this can break Elasticsearch requests. ({issues}3964[#3964]) -[float] -===== Chores - [[release-notes-4.5.0]] ==== 4.5.0 - 2024/03/13 diff --git a/package-lock.json b/package-lock.json index 8ee9bf7495..fb4ecdcc7b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "elastic-apm-node", - "version": "4.5.0", + "version": "4.5.1", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "elastic-apm-node", - "version": "4.5.0", + "version": "4.5.1", "license": "BSD-2-Clause", "dependencies": { "@elastic/ecs-pino-format": "^1.5.0", diff --git a/package.json b/package.json index c809142736..6d15777c30 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "elastic-apm-node", - "version": "4.5.0", + "version": "4.5.1", "description": "The official Elastic APM agent for Node.js", "type": "commonjs", "main": "index.js",