From 075ae090cd6483f0b8d5d40b9257080b3a182605 Mon Sep 17 00:00:00 2001 From: Yuku Kotani Date: Tue, 29 Mar 2022 20:50:12 +0900 Subject: [PATCH 1/2] Fix tmp path of rewriteFramesHelper --- packages/nextjs/src/config/webpack.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/nextjs/src/config/webpack.ts b/packages/nextjs/src/config/webpack.ts index 6b8ea8e94c4f..7c59237d928d 100644 --- a/packages/nextjs/src/config/webpack.ts +++ b/packages/nextjs/src/config/webpack.ts @@ -137,10 +137,10 @@ async function addSentryToEntryProperty( // because it somehow tricks the file watcher into thinking that compilation itself is a file change, triggering an // infinite recompiling loop. (This should be fine because we don't upload sourcemaps in dev in any case.) if (isServer && !isDev) { - const rewriteFramesHelper = path.resolve( - fs.mkdtempSync(path.resolve(os.tmpdir(), 'sentry-')), - 'rewriteFramesHelper.js', - ); + const rewriteFramesHelper = path.resolve(os.tmpdir(), 'sentry-javascript', 'rewriteFramesHelper.js'); + if (!fs.existsSync(path.dirname(rewriteFramesHelper))) { + fs.mkdirSync(path.dirname(rewriteFramesHelper)); + } fs.writeFileSync(rewriteFramesHelper, `global.__rewriteFramesDistDir__ = '${userNextConfig.distDir}';\n`); // stick our helper file ahead of the user's config file so the value is in the global namespace *before* // `Sentry.init()` is called From 48b0b074aecb1fb6045fb68bf21e738c90b3b73b Mon Sep 17 00:00:00 2001 From: Yuku Kotani Date: Tue, 29 Mar 2022 21:04:09 +0900 Subject: [PATCH 2/2] fix test --- packages/nextjs/test/config.test.ts | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/packages/nextjs/test/config.test.ts b/packages/nextjs/test/config.test.ts index ababfd533ed2..10d802a53956 100644 --- a/packages/nextjs/test/config.test.ts +++ b/packages/nextjs/test/config.test.ts @@ -332,8 +332,7 @@ describe('webpack config', () => { incomingWebpackBuildContext: serverBuildContext, }); - const tempDir = mkdtempSyncSpy.mock.results[0].value; - const rewriteFramesHelper = path.join(tempDir, 'rewriteFramesHelper.js'); + const rewriteFramesHelper = path.join(os.tmpdir(), 'sentry-javascript', 'rewriteFramesHelper.js'); expect(finalWebpackConfig.entry).toEqual( expect.objectContaining({ @@ -515,8 +514,7 @@ describe('webpack config', () => { incomingWebpackBuildContext: getBuildContext('server', userNextConfigDistDir), }); - const tempDir = mkdtempSyncSpy.mock.results[0].value; - const rewriteFramesHelper = path.join(tempDir, 'rewriteFramesHelper.js'); + const rewriteFramesHelper = path.join(os.tmpdir(), 'sentry-javascript', 'rewriteFramesHelper.js'); expect(fs.existsSync(rewriteFramesHelper)).toBe(true);