UNPKG

@sentry/nextjs

Version:
87 lines (83 loc) • 4.63 kB
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); const buildLogger = require('../buildLogger.js'); const util = require('../util.js'); const buildTime = require('./buildTime.js'); const getFinalConfigObjectBundlerUtils = require('./getFinalConfigObjectBundlerUtils.js'); const getFinalConfigObjectUtils = require('./getFinalConfigObjectUtils.js'); function getFinalConfigObject(incomingUserNextConfigObject, userSentryOptions) { const releaseName = getFinalConfigObjectUtils.resolveReleaseName(userSentryOptions); getFinalConfigObjectUtils.maybeSetUpTunnelRouteRewriteRules(incomingUserNextConfigObject, userSentryOptions); if (getFinalConfigObjectUtils.shouldReturnEarlyInExperimentalBuildMode(userSentryOptions.silent)) { return incomingUserNextConfigObject; } const routeManifest = getFinalConfigObjectUtils.maybeCreateRouteManifest(incomingUserNextConfigObject, userSentryOptions); const vercelCronsConfigResult = getFinalConfigObjectUtils.maybeGetVercelCronsConfig(userSentryOptions); buildTime.setUpBuildTimeVariables(incomingUserNextConfigObject, userSentryOptions, releaseName); const nextJsVersion = util.getNextjsVersion(); const nextMajor = getFinalConfigObjectUtils.getNextMajor(nextJsVersion); getFinalConfigObjectUtils.maybeSetClientTraceMetadataOption(incomingUserNextConfigObject, nextJsVersion, userSentryOptions.silent); getFinalConfigObjectUtils.maybeSetInstrumentationHookOption(incomingUserNextConfigObject, nextJsVersion, userSentryOptions.silent); getFinalConfigObjectUtils.warnIfMissingOnRouterTransitionStartHook(userSentryOptions); getFinalConfigObjectUtils.warnIfMissingInstrumentationFile(incomingUserNextConfigObject, userSentryOptions); const bundlerInfo = getFinalConfigObjectBundlerUtils.getBundlerInfo(nextJsVersion); getFinalConfigObjectBundlerUtils.maybeWarnAboutUnsupportedTurbopack(nextJsVersion, bundlerInfo, userSentryOptions.silent); getFinalConfigObjectBundlerUtils.maybeWarnAboutTurbopackModuleMetadata(userSentryOptions, bundlerInfo); maybeWarnAboutApplicationKeyExcludeDependencies(userSentryOptions, bundlerInfo); getFinalConfigObjectBundlerUtils.maybeWarnAboutUnsupportedRunAfterProductionCompileHook(nextJsVersion, userSentryOptions, bundlerInfo); const turboPackConfig = getFinalConfigObjectBundlerUtils.maybeConstructTurbopackConfig( incomingUserNextConfigObject, userSentryOptions, routeManifest, nextJsVersion, bundlerInfo, vercelCronsConfigResult ); const shouldUseRunAfterProductionCompileHook = getFinalConfigObjectBundlerUtils.resolveUseRunAfterProductionCompileHookOption( userSentryOptions, bundlerInfo ); getFinalConfigObjectBundlerUtils.maybeSetUpRunAfterProductionCompileHook({ incomingUserNextConfigObject, userSentryOptions, releaseName, nextJsVersion, bundlerInfo, turboPackConfig, shouldUseRunAfterProductionCompileHook }); getFinalConfigObjectBundlerUtils.maybeEnableTurbopackSourcemaps(incomingUserNextConfigObject, userSentryOptions, bundlerInfo); getFinalConfigObjectBundlerUtils.maybeSetTurbopackTreeshakeDefines(incomingUserNextConfigObject, userSentryOptions, bundlerInfo); const buildTimeInstrumentation = getFinalConfigObjectBundlerUtils.resolveBuildTimeInstrumentationOption(userSentryOptions, bundlerInfo, nextJsVersion); return { ...incomingUserNextConfigObject, ...getFinalConfigObjectBundlerUtils.getServerExternalPackagesPatch(incomingUserNextConfigObject, nextMajor, buildTimeInstrumentation), ...getFinalConfigObjectBundlerUtils.getWebpackPatch({ incomingUserNextConfigObject, userSentryOptions, releaseName, routeManifest, nextJsVersion, shouldUseRunAfterProductionCompileHook, bundlerInfo, vercelCronsConfigResult }), ...getFinalConfigObjectBundlerUtils.getTurbopackPatch(bundlerInfo, turboPackConfig) }; } function maybeWarnAboutApplicationKeyExcludeDependencies(userSentryOptions, bundlerInfo) { if (!userSentryOptions.applicationKeyExcludeDependencies) { return; } const logger = buildLogger.getBuildLogger(userSentryOptions.silent); if (!userSentryOptions.applicationKey) { logger.warn( "[@sentry/nextjs] `applicationKeyExcludeDependencies` requires `applicationKey` and has no effect without it." ); } else if (bundlerInfo.isWebpack) { logger.warn( "[@sentry/nextjs] `applicationKeyExcludeDependencies` only applies to Turbopack builds and has no effect on webpack builds." ); } } exports.getFinalConfigObject = getFinalConfigObject; //# sourceMappingURL=getFinalConfigObject.js.map