Home / File/ logger.ts — vite Source File

logger.ts — vite Source File

Architecture documentation for logger.ts, a typescript file in the vite codebase. 5 imports, 20 dependents.

File typescript ViteCore ConfigEngine 5 imports 20 dependents 4 functions

Entity Profile

Dependency Diagram

graph LR
  eca93de5_04d5_dda0_7ae6_2ceb5379ea81["logger.ts"]
  a423a1ed_f7d8_0eb5_9b8f_ddfa7fa8147e["index.ts"]
  eca93de5_04d5_dda0_7ae6_2ceb5379ea81 --> a423a1ed_f7d8_0eb5_9b8f_ddfa7fa8147e
  d4e0c540_4b5d_2c55_27d0_83c24b24e8d8["ResolvedServerUrls"]
  eca93de5_04d5_dda0_7ae6_2ceb5379ea81 --> d4e0c540_4b5d_2c55_27d0_83c24b24e8d8
  e7403f2c_14d1_4dd2_bb6f_9ff8061aed49["node:readline"]
  eca93de5_04d5_dda0_7ae6_2ceb5379ea81 --> e7403f2c_14d1_4dd2_bb6f_9ff8061aed49
  bff4f846_ab01_b5ba_74d4_c1608e434d2c["picocolors"]
  eca93de5_04d5_dda0_7ae6_2ceb5379ea81 --> bff4f846_ab01_b5ba_74d4_c1608e434d2c
  693ca867_249b_3e5a_0ce1_8930413b7fcd["rolldown"]
  eca93de5_04d5_dda0_7ae6_2ceb5379ea81 --> 693ca867_249b_3e5a_0ce1_8930413b7fcd
  3e7daccf_2fe4_9035_51ba_1725f7c874bd["build.spec.ts"]
  3e7daccf_2fe4_9035_51ba_1725f7c874bd --> eca93de5_04d5_dda0_7ae6_2ceb5379ea81
  58760808_888f_c5b0_2f67_88fd0b1efc86["config.spec.ts"]
  58760808_888f_c5b0_2f67_88fd0b1efc86 --> eca93de5_04d5_dda0_7ae6_2ceb5379ea81
  84057c57_14eb_2f16_cd5c_1899e8da6db0["baseEnvironment.ts"]
  84057c57_14eb_2f16_cd5c_1899e8da6db0 --> eca93de5_04d5_dda0_7ae6_2ceb5379ea81
  45981d85_cbdd_e969_8c88_c17072ea0eda["build.ts"]
  45981d85_cbdd_e969_8c88_c17072ea0eda --> eca93de5_04d5_dda0_7ae6_2ceb5379ea81
  a4f486ae_83b9_5db5_eb04_81cee52d16a0["cli.ts"]
  a4f486ae_83b9_5db5_eb04_81cee52d16a0 --> eca93de5_04d5_dda0_7ae6_2ceb5379ea81
  7da774f9_eca5_d54e_6e01_6bee7d460a2b["config.ts"]
  7da774f9_eca5_d54e_6e01_6bee7d460a2b --> eca93de5_04d5_dda0_7ae6_2ceb5379ea81
  695bc011_d16d_4322_2fef_1a59a092ee32["http.ts"]
  695bc011_d16d_4322_2fef_1a59a092ee32 --> eca93de5_04d5_dda0_7ae6_2ceb5379ea81
  c3eb47df_971b_0616_6c9f_29b3ded72224["css.ts"]
  c3eb47df_971b_0616_6c9f_29b3ded72224 --> eca93de5_04d5_dda0_7ae6_2ceb5379ea81
  f8fe0737_718a_5509_b722_473f207d5906["html.ts"]
  f8fe0737_718a_5509_b722_473f207d5906 --> eca93de5_04d5_dda0_7ae6_2ceb5379ea81
  style eca93de5_04d5_dda0_7ae6_2ceb5379ea81 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

/* eslint no-console: 0 */

import readline from 'node:readline'
import colors from 'picocolors'
import type { RollupError } from 'rolldown'
import type { ResolvedServerUrls } from './server'

export type LogType = 'error' | 'warn' | 'info'
export type LogLevel = LogType | 'silent'
export interface Logger {
  info(msg: string, options?: LogOptions): void
  warn(msg: string, options?: LogOptions): void
  warnOnce(msg: string, options?: LogOptions): void
  error(msg: string, options?: LogErrorOptions): void
  clearScreen(type: LogType): void
  hasErrorLogged(error: Error | RollupError): boolean
  hasWarned: boolean
}

export interface LogOptions {
  clear?: boolean
  timestamp?: boolean
  environment?: string
}

export interface LogErrorOptions extends LogOptions {
  error?: Error | RollupError | null
}

export const LogLevels: Record<LogLevel, number> = {
  silent: 0,
  error: 1,
  warn: 2,
  info: 3,
}

let lastType: LogType | undefined
let lastMsg: string | undefined
let sameCount = 0

function clearScreen() {
  const repeatCount = process.stdout.rows - 2
  const blank = repeatCount > 0 ? '\n'.repeat(repeatCount) : ''
  console.log(blank)
  readline.cursorTo(process.stdout, 0, 0)
  readline.clearScreenDown(process.stdout)
}

export interface LoggerOptions {
  prefix?: string
  allowClearScreen?: boolean
  customLogger?: Logger
  console?: Console
}

// Only initialize the timeFormatter when the timestamp option is used, and
// reuse it across all loggers
let timeFormatter: Intl.DateTimeFormat
function getTimeFormatter() {
  timeFormatter ??= new Intl.DateTimeFormat(undefined, {
// ... (129 more lines)

Domain

Subdomains

Dependencies

Frequently Asked Questions

What does logger.ts do?
logger.ts is a source file in the vite codebase, written in typescript. It belongs to the ViteCore domain, ConfigEngine subdomain.
What functions are defined in logger.ts?
logger.ts defines 4 function(s): clearScreen, createLogger, getTimeFormatter, printServerUrls.
What does logger.ts depend on?
logger.ts imports 5 module(s): ResolvedServerUrls, index.ts, node:readline, picocolors, rolldown.
What files import logger.ts?
logger.ts is imported by 20 file(s): baseEnvironment.ts, build.spec.ts, build.ts, cli.ts, config.spec.ts, config.ts, css.ts, html.ts, and 12 more.
Where is logger.ts in the architecture?
logger.ts is located at packages/vite/src/node/logger.ts (domain: ViteCore, subdomain: ConfigEngine, directory: packages/vite/src/node).

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free