From 5190303851cee250b34877443ddfc0c6476fde1a Mon Sep 17 00:00:00 2001 From: Abhijeet Prasad Date: Mon, 16 Jan 2023 15:19:02 +0100 Subject: [PATCH 1/4] test(nextjs): Disable `doubleEndMethodOnVercel` on Node 10 --- .../integration/test/server/doubleEndMethodOnVercel.js | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/packages/nextjs/test/integration/test/server/doubleEndMethodOnVercel.js b/packages/nextjs/test/integration/test/server/doubleEndMethodOnVercel.js index fa2b0e7cbeb4..87fe6b9b7dd8 100644 --- a/packages/nextjs/test/integration/test/server/doubleEndMethodOnVercel.js +++ b/packages/nextjs/test/integration/test/server/doubleEndMethodOnVercel.js @@ -1,10 +1,17 @@ +const { parseSemvar } = require('@sentry/utils'); const assert = require('assert'); const { getAsync } = require('../utils/server'); +const NODE_VERSION = parseSemvar(process.versions.node); + // This test asserts that our wrapping of `res.end` doesn't break API routes on Vercel if people call `res.json` or // `res.send` multiple times in one request handler. // https://github.com/getsentry/sentry-javascript/issues/6670 module.exports = async ({ url: urlBase }) => { + if (NODE_VERSION.major && NODE_VERSION.major <= 10) { + console.log('not running doubleEndMethodOnVercel test on Node 10'); + return; + } const response = await getAsync(`${urlBase}/api/doubleEndMethodOnVercel`); assert.equal(response, '{"success":true}'); }; From b130a31dd9f83b13316d2788ed8c46bcddc6462d Mon Sep 17 00:00:00 2001 From: Abhijeet Prasad Date: Mon, 16 Jan 2023 15:40:57 +0100 Subject: [PATCH 2/4] correct name of func --- .../test/integration/test/server/doubleEndMethodOnVercel.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/nextjs/test/integration/test/server/doubleEndMethodOnVercel.js b/packages/nextjs/test/integration/test/server/doubleEndMethodOnVercel.js index 87fe6b9b7dd8..2af24d2cf32a 100644 --- a/packages/nextjs/test/integration/test/server/doubleEndMethodOnVercel.js +++ b/packages/nextjs/test/integration/test/server/doubleEndMethodOnVercel.js @@ -1,8 +1,8 @@ -const { parseSemvar } = require('@sentry/utils'); +import { parseSemver } from '@sentry/utils'; const assert = require('assert'); const { getAsync } = require('../utils/server'); -const NODE_VERSION = parseSemvar(process.versions.node); +const NODE_VERSION = parseSemver(process.versions.node); // This test asserts that our wrapping of `res.end` doesn't break API routes on Vercel if people call `res.json` or // `res.send` multiple times in one request handler. From fb93e3378a9f43d4aa548478d59877584052047a Mon Sep 17 00:00:00 2001 From: Abhijeet Prasad Date: Mon, 16 Jan 2023 15:52:28 +0100 Subject: [PATCH 3/4] use node version from env variables --- .../test/integration/test/server/doubleEndMethodOnVercel.js | 4 ++-- packages/nextjs/test/run-integration-tests.sh | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/nextjs/test/integration/test/server/doubleEndMethodOnVercel.js b/packages/nextjs/test/integration/test/server/doubleEndMethodOnVercel.js index 2af24d2cf32a..aa8896aa3165 100644 --- a/packages/nextjs/test/integration/test/server/doubleEndMethodOnVercel.js +++ b/packages/nextjs/test/integration/test/server/doubleEndMethodOnVercel.js @@ -2,13 +2,13 @@ import { parseSemver } from '@sentry/utils'; const assert = require('assert'); const { getAsync } = require('../utils/server'); -const NODE_VERSION = parseSemver(process.versions.node); +const NODE_VERSION = parseInt(process.env.NODE_VERSION, 10); // This test asserts that our wrapping of `res.end` doesn't break API routes on Vercel if people call `res.json` or // `res.send` multiple times in one request handler. // https://github.com/getsentry/sentry-javascript/issues/6670 module.exports = async ({ url: urlBase }) => { - if (NODE_VERSION.major && NODE_VERSION.major <= 10) { + if (NODE_VERSION <= 10) { console.log('not running doubleEndMethodOnVercel test on Node 10'); return; } diff --git a/packages/nextjs/test/run-integration-tests.sh b/packages/nextjs/test/run-integration-tests.sh index 62033d3982ad..f4626671063d 100755 --- a/packages/nextjs/test/run-integration-tests.sh +++ b/packages/nextjs/test/run-integration-tests.sh @@ -36,6 +36,7 @@ for NEXTJS_VERSION in 10 11 12 13; do # having to pass this value from function to function to function to the one spot, deep in some callstack, where we # actually need it export NEXTJS_VERSION=$NEXTJS_VERSION + export NODE_VERSION=$NODE_VERSION # Next 10 requires at least Node v10 if [ "$NODE_MAJOR" -lt "10" ]; then From c8bb893ae76502e66b0ad3f63184a1edf488327c Mon Sep 17 00:00:00 2001 From: Abhijeet Prasad Date: Mon, 16 Jan 2023 16:44:23 +0100 Subject: [PATCH 4/4] use node major version --- .../test/integration/test/server/doubleEndMethodOnVercel.js | 5 +---- packages/nextjs/test/run-integration-tests.sh | 2 +- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/packages/nextjs/test/integration/test/server/doubleEndMethodOnVercel.js b/packages/nextjs/test/integration/test/server/doubleEndMethodOnVercel.js index aa8896aa3165..cd3af491bb32 100644 --- a/packages/nextjs/test/integration/test/server/doubleEndMethodOnVercel.js +++ b/packages/nextjs/test/integration/test/server/doubleEndMethodOnVercel.js @@ -1,14 +1,11 @@ -import { parseSemver } from '@sentry/utils'; const assert = require('assert'); const { getAsync } = require('../utils/server'); -const NODE_VERSION = parseInt(process.env.NODE_VERSION, 10); - // This test asserts that our wrapping of `res.end` doesn't break API routes on Vercel if people call `res.json` or // `res.send` multiple times in one request handler. // https://github.com/getsentry/sentry-javascript/issues/6670 module.exports = async ({ url: urlBase }) => { - if (NODE_VERSION <= 10) { + if (process.env.NODE_MAJOR === '10') { console.log('not running doubleEndMethodOnVercel test on Node 10'); return; } diff --git a/packages/nextjs/test/run-integration-tests.sh b/packages/nextjs/test/run-integration-tests.sh index f4626671063d..a93602d681d7 100755 --- a/packages/nextjs/test/run-integration-tests.sh +++ b/packages/nextjs/test/run-integration-tests.sh @@ -36,7 +36,7 @@ for NEXTJS_VERSION in 10 11 12 13; do # having to pass this value from function to function to function to the one spot, deep in some callstack, where we # actually need it export NEXTJS_VERSION=$NEXTJS_VERSION - export NODE_VERSION=$NODE_VERSION + export NODE_MAJOR=$NODE_MAJOR # Next 10 requires at least Node v10 if [ "$NODE_MAJOR" -lt "10" ]; then