logger.ts — vite Source File
Architecture documentation for logger.ts, a typescript file in the vite codebase. 5 imports, 20 dependents.
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
- ResolvedServerUrls
- index.ts
- node:readline
- picocolors
- rolldown
Imported By
- packages/vite/src/node/baseEnvironment.ts
- packages/vite/src/node/__tests__/build.spec.ts
- packages/vite/src/node/build.ts
- packages/vite/src/node/cli.ts
- packages/vite/src/node/__tests__/config.spec.ts
- packages/vite/src/node/config.ts
- packages/vite/src/node/plugins/css.ts
- packages/vite/src/node/plugins/html.ts
- packages/vite/src/node/http.ts
- packages/vite/src/node/plugins/importMetaGlob.ts
- packages/vite/src/node/server/index.ts
- packages/vite/src/node/server/openBrowser.ts
- packages/vite/src/node/plugins/oxc.ts
- packages/vite/src/node/server/__tests__/pluginContainer.spec.ts
- packages/vite/src/node/server/pluginContainer.ts
- packages/vite/src/node/preview.ts
- packages/vite/src/node/plugins/reporter.ts
- packages/vite/src/node/server/sourcemap.ts
- packages/vite/src/node/watch.ts
- packages/vite/src/node/plugins/worker.ts
Source
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