MCPcopy
hub / github.com/vitejs/vite / setupForwardConsoleHandler

Function setupForwardConsoleHandler

packages/vite/src/shared/forwardConsole.ts:26–114  ·  view source on GitHub ↗
(
  transport: NormalizedModuleRunnerTransport,
  options: ResolvedForwardConsoleOptions,
  console: Console = globalThis.console,
)

Source from the content-addressed store, hash-verified

24}
25
26export function setupForwardConsoleHandler(
27 transport: NormalizedModuleRunnerTransport,
28 options: ResolvedForwardConsoleOptions,
29 console: Console = globalThis.console,
30): void {
31 if (!options.enabled) {
32 return
33 }
34
35 async function sendError(type: 'error' | 'unhandled-rejection', error: any) {
36 await transport.send({
37 type: 'custom',
38 event: 'vite:forward-console',
39 data: {
40 type,
41 data: {
42 name: error?.name || 'Unknown Error',
43 message: error?.message || String(error),
44 stack: error?.stack,
45 },
46 } satisfies ForwardConsolePayload,
47 })
48 }
49
50 async function sendLog(level: ForwardConsoleLogLevel, args: unknown[]) {
51 try {
52 await transport.send({
53 type: 'custom',
54 event: 'vite:forward-console',
55 data: {
56 type: 'log',
57 data: {
58 level,
59 message: formatConsoleArgs(args),
60 },
61 } satisfies ForwardConsolePayload,
62 })
63 } catch (err) {
64 try {
65 await sendError('unhandled-rejection', err)
66 } catch (err) {
67 if (!(err instanceof SendBeforeConnectError)) {
68 originalConsoleError('Failed to send error to Vite server:', err)
69 }
70 }
71 }
72 }
73
74 const originalConsoleError = console.error
75
76 for (const level of options.logLevels) {
77 const original = (console as any)[level]
78 if (typeof original !== 'function') {
79 continue
80 }
81 ;(console as any)[level] = (...args: unknown[]) => {
82 original(...args)
83 sendLog(level, args)

Callers 2

client.tsFile · 0.90

Calls 2

sendLogFunction · 0.85
sendErrorFunction · 0.85

Tested by

no test coverage detected