File tree Expand file tree Collapse file tree 1 file changed +17
-0
lines changed
packages/nextjs/src/config Expand file tree Collapse file tree 1 file changed +17
-0
lines changed Original file line number Diff line number Diff line change @@ -5,6 +5,7 @@ import { default as SentryWebpackPlugin } from '@sentry/webpack-plugin';
5
5
import * as chalk from 'chalk' ;
6
6
import * as fs from 'fs' ;
7
7
import * as path from 'path' ;
8
+ import { WebpackPluginInstance } from 'webpack' ;
8
9
9
10
import {
10
11
BuildContext ,
@@ -100,6 +101,22 @@ export function constructWebpackConfigFunction(
100
101
] ,
101
102
} ) ;
102
103
}
104
+
105
+ // Prevent `@vercel/nft` (which nextjs uses to determine which files are needed when packaging up a lambda) from
106
+ // including any of our build-time code or dependencies. (Otherwise it'll include files like this one and even the
107
+ // entirety of rollup and sucrase.)
108
+ const nftPlugin = newConfig . plugins ?. find ( ( plugin : WebpackPluginInstance ) => {
109
+ const proto = Object . getPrototypeOf ( plugin ) as WebpackPluginInstance ;
110
+ return proto . constructor . name === 'TraceEntryPointsPlugin' ;
111
+ } ) as WebpackPluginInstance & { excludeFiles : string [ ] } ;
112
+ if ( nftPlugin ) {
113
+ nftPlugin . excludeFiles . push ( path . join ( __dirname , 'withSentryConfig.js' ) ) ;
114
+ } else {
115
+ __DEBUG_BUILD__ &&
116
+ logger . warn (
117
+ 'Unable to exclude Sentry build-time helpers from nft files. Could not find `TraceEntryPointsPlugin`.' ,
118
+ ) ;
119
+ }
103
120
}
104
121
105
122
// The SDK uses syntax (ES6 and ES6+ features like object spread) which isn't supported by older browsers. For users
You can’t perform that action at this time.
0 commit comments