@@ -46,76 +46,81 @@ export default defineCommand({
4646 await startCpuProfile ( )
4747 }
4848
49- intro ( colors . cyan ( 'Building Nuxt for production...' ) )
49+ try {
50+ intro ( colors . cyan ( 'Building Nuxt for production...' ) )
5051
51- const kit = await loadKit ( cwd )
52+ const kit = await loadKit ( cwd )
5253
53- await showVersions ( cwd , kit , ctx . args . dotenv )
54+ await showVersions ( cwd , kit , ctx . args . dotenv )
5455
55- const nuxt = await kit . loadNuxt ( {
56- cwd,
57- dotenv : {
56+ const nuxt = await kit . loadNuxt ( {
5857 cwd,
59- fileName : ctx . args . dotenv ,
60- } ,
61- envName : ctx . args . envName , // c12 will fall back to NODE_ENV
62- overrides : {
63- logLevel : ctx . args . logLevel as 'silent' | 'info' | 'verbose' ,
64- // TODO: remove in 3.8
65- _generate : ctx . args . prerender ,
66- nitro : {
67- static : ctx . args . prerender ,
68- preset : ctx . args . preset || process . env . NITRO_PRESET || process . env . SERVER_PRESET ,
58+ dotenv : {
59+ cwd,
60+ fileName : ctx . args . dotenv ,
6961 } ,
70- ...( ctx . args . extends && { extends : ctx . args . extends } ) ,
71- ...( ( perfValue || ctx . data ?. overrides ?. debug ) && {
72- debug : {
73- ...ctx . data ?. overrides ?. debug ,
74- ...( perfValue && { perf : perfValue } ) ,
62+ envName : ctx . args . envName , // c12 will fall back to NODE_ENV
63+ overrides : {
64+ logLevel : ctx . args . logLevel as 'silent' | 'info' | 'verbose' ,
65+ // TODO: remove in 3.8
66+ _generate : ctx . args . prerender ,
67+ nitro : {
68+ static : ctx . args . prerender ,
69+ preset : ctx . args . preset || process . env . NITRO_PRESET || process . env . SERVER_PRESET ,
7570 } ,
76- } ) ,
77- ...ctx . data ?. overrides ,
78- } ,
79- } )
80-
81- let nitro : ReturnType < typeof kit . useNitro > | undefined
82- // In Bridge, if Nitro is not enabled, useNitro will throw an error
83- try {
84- // Use ? for backward compatibility for Nuxt <= RC.10
85- nitro = kit . useNitro ?.( )
86- if ( nitro ) {
87- logger . info ( `Nitro preset: ${ colors . cyan ( nitro . options . preset ) } ` )
71+ ...( ctx . args . extends && { extends : ctx . args . extends } ) ,
72+ ...ctx . data ?. overrides ,
73+ ...( ( perfValue || ctx . data ?. overrides ?. debug ) && {
74+ debug : {
75+ ...ctx . data ?. overrides ?. debug ,
76+ ...( perfValue && { perf : perfValue } ) ,
77+ } ,
78+ } ) ,
79+ } ,
80+ } )
81+
82+ let nitro : ReturnType < typeof kit . useNitro > | undefined
83+ // In Bridge, if Nitro is not enabled, useNitro will throw an error
84+ try {
85+ // Use ? for backward compatibility for Nuxt <= RC.10
86+ nitro = kit . useNitro ?.( )
87+ if ( nitro ) {
88+ logger . info ( `Nitro preset: ${ colors . cyan ( nitro . options . preset ) } ` )
89+ }
90+ }
91+ catch {
92+ //
8893 }
89- }
90- catch {
91- //
92- }
93-
94- await clearBuildDir ( nuxt . options . buildDir )
9594
96- await kit . writeTypes ( nuxt )
95+ await clearBuildDir ( nuxt . options . buildDir )
9796
98- nuxt . hook ( 'build:error' , ( err ) => {
99- logger . error ( `Nuxt build error: ${ err } ` )
100- process . exit ( 1 )
101- } )
97+ await kit . writeTypes ( nuxt )
10298
103- await kit . buildNuxt ( nuxt )
99+ nuxt . hook ( 'build:error' , ( err ) => {
100+ logger . error ( `Nuxt build error: ${ err } ` )
101+ process . exit ( 1 )
102+ } )
104103
105- stopCpuProfile ( cwd )
104+ await kit . buildNuxt ( nuxt )
106105
107- if ( ctx . args . prerender ) {
108- if ( ! nuxt . options . ssr ) {
109- logger . warn ( `HTML content not prerendered because ${ colors . cyan ( 'ssr: false' ) } was set.` )
110- logger . info ( `You can read more in ${ colors . cyan ( 'https://nuxt.com/docs/getting-started/deployment#static-hosting' ) } .` )
106+ if ( ctx . args . prerender ) {
107+ if ( ! nuxt . options . ssr ) {
108+ logger . warn ( `HTML content not prerendered because ${ colors . cyan ( 'ssr: false' ) } was set.` )
109+ logger . info ( `You can read more in ${ colors . cyan ( 'https://nuxt.com/docs/getting-started/deployment#static-hosting' ) } .` )
110+ }
111+ // TODO: revisit later if/when nuxt build --prerender will output hybrid
112+ const dir = nitro ?. options . output . publicDir
113+ const publicDir = dir ? relative ( process . cwd ( ) , dir ) : '.output/public'
114+ outro ( `✨ You can now deploy ${ colors . cyan ( publicDir ) } to any static hosting!` )
115+ }
116+ else {
117+ outro ( '✨ Build complete!' )
111118 }
112- // TODO: revisit later if/when nuxt build --prerender will output hybrid
113- const dir = nitro ?. options . output . publicDir
114- const publicDir = dir ? relative ( process . cwd ( ) , dir ) : '.output/public'
115- outro ( `✨ You can now deploy ${ colors . cyan ( publicDir ) } to any static hosting!` )
116119 }
117- else {
118- outro ( '✨ Build complete!' )
120+ finally {
121+ if ( profileArg ) {
122+ await stopCpuProfile ( cwd )
123+ }
119124 }
120125 } ,
121126} )
0 commit comments