@sentry/nextjs
Version:
Official Sentry SDK for Next.js
30 lines (27 loc) • 1.28 kB
JavaScript
import { warnOnRemovedBuildOptions, isThenable } from '@sentry/core';
import { getBuildLogger } from '../buildLogger.js';
import { getFinalConfigObject } from './getFinalConfigObject.js';
function withSentryConfig(nextConfig, sentryBuildOptions = {}) {
const logWarning = (message) => getBuildLogger(sentryBuildOptions.silent).warn(message);
warnOnRemovedBuildOptions(sentryBuildOptions, ["unstable_sentryWebpackPluginOptions"], logWarning);
warnOnRemovedBuildOptions(sentryBuildOptions.webpack, ["unstable_sentryWebpackPluginOptions"], logWarning);
const castNextConfig = nextConfig || {};
if (typeof castNextConfig === "function") {
return function(...webpackConfigFunctionArgs) {
const maybePromiseNextConfig = castNextConfig.apply(
this,
webpackConfigFunctionArgs
);
if (isThenable(maybePromiseNextConfig)) {
return maybePromiseNextConfig.then((promiseResultNextConfig) => {
return getFinalConfigObject(promiseResultNextConfig, sentryBuildOptions);
});
}
return getFinalConfigObject(maybePromiseNextConfig, sentryBuildOptions);
};
} else {
return getFinalConfigObject(castNextConfig, sentryBuildOptions);
}
}
export { withSentryConfig };
//# sourceMappingURL=index.js.map