@@ -1016,6 +1016,34 @@ export default async function build(
1016
1016
NextBuildContext . originalRewrites = config . _originalRewrites
1017
1017
NextBuildContext . originalRedirects = config . _originalRedirects
1018
1018
1019
+ const distDirCreated = await nextBuildSpan
1020
+ . traceChild ( 'create-dist-dir' )
1021
+ . traceAsyncFn ( async ( ) => {
1022
+ try {
1023
+ await fs . mkdir ( distDir , { recursive : true } )
1024
+ return true
1025
+ } catch ( err ) {
1026
+ if ( isError ( err ) && err . code === 'EPERM' ) {
1027
+ return false
1028
+ }
1029
+ throw err
1030
+ }
1031
+ } )
1032
+
1033
+ if ( ! distDirCreated || ! ( await isWriteable ( distDir ) ) ) {
1034
+ throw new Error (
1035
+ '> Build directory is not writeable. https://nextjs.org/docs/messages/build-dir-not-writeable'
1036
+ )
1037
+ }
1038
+
1039
+ if ( config . cleanDistDir && ! isGenerateMode ) {
1040
+ await nextBuildSpan
1041
+ . traceChild ( 'clean' )
1042
+ . traceAsyncFn ( ( ) =>
1043
+ recursiveDeleteSyncWithAsyncRetries ( distDir , / ^ ( c a c h e | d e v ) / )
1044
+ )
1045
+ }
1046
+
1019
1047
const cacheDir = getCacheDir ( distDir )
1020
1048
1021
1049
const telemetry = new Telemetry ( { distDir } )
@@ -1102,34 +1130,6 @@ export default async function build(
1102
1130
cacheDir,
1103
1131
}
1104
1132
1105
- const distDirCreated = await nextBuildSpan
1106
- . traceChild ( 'create-dist-dir' )
1107
- . traceAsyncFn ( async ( ) => {
1108
- try {
1109
- await fs . mkdir ( distDir , { recursive : true } )
1110
- return true
1111
- } catch ( err ) {
1112
- if ( isError ( err ) && err . code === 'EPERM' ) {
1113
- return false
1114
- }
1115
- throw err
1116
- }
1117
- } )
1118
-
1119
- if ( ! distDirCreated || ! ( await isWriteable ( distDir ) ) ) {
1120
- throw new Error (
1121
- '> Build directory is not writeable. https://nextjs.org/docs/messages/build-dir-not-writeable'
1122
- )
1123
- }
1124
-
1125
- if ( config . cleanDistDir && ! isGenerateMode ) {
1126
- await nextBuildSpan
1127
- . traceChild ( 'clean' )
1128
- . traceAsyncFn ( ( ) =>
1129
- recursiveDeleteSyncWithAsyncRetries ( distDir , / ^ ( c a c h e | d e v ) / )
1130
- )
1131
- }
1132
-
1133
1133
if ( appDir && 'exportPathMap' in config ) {
1134
1134
Log . error (
1135
1135
'The "exportPathMap" configuration cannot be used with the "app" directory. Please use generateStaticParams() instead.'
0 commit comments