@@ -2,6 +2,7 @@ import * as Sentry from "@sentry/node";
22import chalk from "chalk" ;
33import ora , { Ora } from "ora" ;
44import { Filesystem , nodeFs } from "./fs.js" ;
5+ import { format } from "util" ;
56
67// How the error should be handled when running `npx convex dev`.
78export type ErrorType =
@@ -56,22 +57,27 @@ async function flushAndExit(exitCode: number, err?: any) {
5657 return process . exit ( exitCode ) ;
5758}
5859
60+ // console.error before it started being red by default in Node v20
61+ function logToStderr ( ...args : unknown [ ] ) {
62+ process . stderr . write ( `${ format ( ...args ) } \n` ) ;
63+ }
64+
5965// Handles clearing spinner so that it doesn't get messed up
6066export function logError ( ctx : Context , message : string ) {
6167 ctx . spinner ?. clear ( ) ;
62- console . error ( message ) ;
68+ logToStderr ( message ) ;
6369}
6470
6571// Handles clearing spinner so that it doesn't get messed up
6672export function logWarning ( ctx : Context , message : string ) {
6773 ctx . spinner ?. clear ( ) ;
68- console . error ( message ) ;
74+ logToStderr ( message ) ;
6975}
7076
7177// Handles clearing spinner so that it doesn't get messed up
7278export function logMessage ( ctx : Context , ...logged : any ) {
7379 ctx . spinner ?. clear ( ) ;
74- console . error ( ...logged ) ;
80+ logToStderr ( ...logged ) ;
7581}
7682
7783// For the rare case writing output to stdout. Status and error messages
@@ -105,7 +111,7 @@ export function changeSpinner(ctx: Context, message: string) {
105111 // Add newline to prevent clobbering
106112 ctx . spinner . text = message + "\n" ;
107113 } else {
108- console . error ( message ) ;
114+ logToStderr ( message ) ;
109115 }
110116}
111117
@@ -114,7 +120,7 @@ export function logFailure(ctx: Context, message: string) {
114120 ctx . spinner . fail ( message ) ;
115121 ctx . spinner = undefined ;
116122 } else {
117- console . error ( `${ chalk . red ( `✖` ) } ${ message } ` ) ;
123+ logToStderr ( `${ chalk . red ( `✖` ) } ${ message } ` ) ;
118124 }
119125}
120126
@@ -124,7 +130,7 @@ export function logFinishedStep(ctx: Context, message: string) {
124130 ctx . spinner . succeed ( message ) ;
125131 ctx . spinner = undefined ;
126132 } else {
127- console . error ( `${ chalk . green ( `✔` ) } ${ message } ` ) ;
133+ logToStderr ( `${ chalk . green ( `✔` ) } ${ message } ` ) ;
128134 }
129135}
130136
0 commit comments