Closed kylemh closed 1 year ago
First noticed this when trying to upgrade from 7.12.1 --> latest (7.24.0) and all of my next config options were being ignored.
Your configuration has a bug. You need to pass in all the arguments from the export like this:
module.exports = (phase, defaultConfig) => {
const plugins = [
// presume I have other plugins
(config) => withSentryConfig(config, sentryWebpackPluginOptions),
];
const config = plugins.reduce(
(acc, plugin) => {
const pluginReturnValue = plugin(acc);
let newConfig;
if (typeof pluginReturnValue === "function") {
newConfig = pluginReturnValue(phase, defaultConfig);
} else {
newConfig = pluginReturnValue;
}
console.log("This should be an object now", {
newConfig,
});
return newConfig;
},
{ ...nextConfig }
);
return config;
};
Let me know if this fixes the issue for you.
I'm confused as to what changed within @sentyr/nextjs since this code worked before. That being said, this is an easy tweak I can make so thanks for that solution. For context next-compose-plugins
hasnt seen an update in a while and people gravitated towards this workaround. I'll share this fact in that thread so nobody else has an issue.
Is there an existing issue for this?
How do you use Sentry?
Sentry Saas (sentry.io)
Which package are you using?
@sentry/nextjs
SDK Version
7.23.0
Framework Version
Next.js 12.3.4
Link to Sentry event
No response
Steps to Reproduce
yarn build
Expected Result
When using the Sentry plugin, my original Next.js config is maintained. It's valid to use next.config.js as a function (as described here) and necessary in order to even use this plugin since it's a partial function.
Actual Result
See sandbox link in STR.
I think this is the culprit: https://github.com/getsentry/sentry-javascript/pull/6291
For whatever fix gets applied here, I think it'd be ideal to include a test for a Next.js application with multiple plugins to protect against regression.