@@ -5,7 +5,7 @@ import debug from 'debug'
55import { VERSION as rolldownVersion } from 'rolldown'
66import { version } from '../package.json'
77import { resolveComma , toArray } from './utils/general'
8- import { logger } from './utils/logger'
8+ import { globalLogger } from './utils/logger'
99import type { Options } from './options'
1010
1111const cli = cac ( 'tsdown' )
2626 . option ( '--minify' , 'Minify output' )
2727 . option ( '--debug [feat]' , 'Show debug logs' )
2828 . option ( '--target <target>' , 'Bundle target, e.g "es2015", "esnext"' )
29- . option ( '--silent ' , 'Suppress non- error logs ' )
29+ . option ( '-l, --logLevel <level> ' , 'Set log level: info, warn, error, silent ' )
3030 . option ( '-d, --out-dir <dir>' , 'Output directory' , { default : 'dist' } )
3131 . option ( '--treeshake' , 'Tree-shake bundle' , { default : true } )
3232 . option ( '--sourcemap' , 'Generate source map' , { default : false } )
6060 'Generate export-related metadata for package.json (experimental)' ,
6161 )
6262 . action ( async ( input : string [ ] , flags : Options ) => {
63- if ( flags . silent ) {
64- logger . level = 'silent'
65- }
66- logger . info (
63+ globalLogger . level = flags . logLevel || ( flags . silent ? 'silent' : 'info' )
64+ globalLogger . info (
6765 `tsdown ${ dim `v${ version } ` } powered by rolldown ${ dim `v${ rolldownVersion } ` } ` ,
6866 )
6967 const { build } = await import ( './index' )
@@ -104,7 +102,7 @@ export async function runCLI(): Promise<void> {
104102 try {
105103 await cli . runMatchedCommand ( )
106104 } catch ( error ) {
107- logger . error ( error )
105+ globalLogger . error ( error )
108106 process . exit ( 1 )
109107 }
110108}
0 commit comments