1
1
import { dirname , resolve , sep , normalize } from 'node:path' ;
2
- import { tmpdir } from 'node:os' ;
2
+ import { tmpdir , freemem } from 'node:os' ;
3
3
import { spawnSync } from 'node:child_process' ;
4
4
import { mkdir , readFile , mkdtemp , writeFile } from 'node:fs/promises' ;
5
5
import { rmSync } from 'node:fs' ;
@@ -131,6 +131,7 @@ export async function compileApplicationToWasm(
131
131
ENABLE_EXPERIMENTAL_HIGH_RESOLUTION_TIME_METHODS :
132
132
enableExperimentalHighResolutionTimeMethods ? '1' : '0' ,
133
133
ENABLE_EXPERIMENTAL_HTTP_CACHE : enableHttpCache ? '1' : '0' ,
134
+ RUST_MIN_STACK : Math . max ( 8 * 1024 * 1024 , Math . floor ( freemem ( ) * 0.1 ) ) ,
134
135
} ,
135
136
} ;
136
137
@@ -144,6 +145,7 @@ export async function compileApplicationToWasm(
144
145
`"${ wevalBin } "` ,
145
146
[
146
147
'weval' ,
148
+ '-v' ,
147
149
...( aotCache ? [ `--cache-ro ${ aotCache } ` ] : [ ] ) ,
148
150
`--dir="${ maybeWindowsPath ( process . cwd ( ) ) } "` ,
149
151
'-w' ,
@@ -184,6 +186,7 @@ export async function compileApplicationToWasm(
184
186
`"${ wevalBin } "` ,
185
187
[
186
188
'weval' ,
189
+ '-v' ,
187
190
...( aotCache ? [ `--cache-ro ${ aotCache } ` ] : [ ] ) ,
188
191
'--dir .' ,
189
192
`--dir ${ maybeWindowsPath ( dirname ( input ) ) } ` ,
@@ -219,11 +222,9 @@ export async function compileApplicationToWasm(
219
222
}
220
223
}
221
224
} catch ( error ) {
222
- console . error (
223
- `Error: Failed to compile JavaScript to Wasm: ` ,
224
- error . message ,
225
+ throw new Error (
226
+ `Error: Failed to compile JavaScript to Wasm:\n${ error . message } ` ,
225
227
) ;
226
- process . exit ( 1 ) ;
227
228
} finally {
228
229
if ( doBundle ) {
229
230
rmSync ( tmpDir , { recursive : true } ) ;
0 commit comments