- fix: cannot adb command from blocking suspicious cmd - change: logging to logtape lib - change: adb payload handler format to send payload size as header for exact match payload Signed-off-by: pakintada@gmail.com <Pakin>
70 lines
1.8 KiB
TypeScript
70 lines
1.8 KiB
TypeScript
/**
|
|
* Custom Vite logger that routes Vite's build/dev-server messages
|
|
* through our LogTape-powered logger for consistent formatting.
|
|
*
|
|
* Usage in vite.config.ts:
|
|
* import { createViteLogger } from './src/lib/core/utils/vite-logger';
|
|
* export default defineConfig({
|
|
* customLogger: createViteLogger(),
|
|
* // ...
|
|
* });
|
|
*/
|
|
import type { LogOptions, LogErrorOptions } from 'vite';
|
|
import type { Logger } from 'vite';
|
|
import { logger } from './logger';
|
|
|
|
export function createViteLogger(): Logger {
|
|
const warnedMessages = new Set<string>();
|
|
|
|
return {
|
|
get hasWarned() {
|
|
return warnedMessages.size > 0;
|
|
},
|
|
|
|
info(msg: string, options?: LogOptions) {
|
|
const prefix = options?.environment ? `[${options.environment}]` : '';
|
|
if (prefix) {
|
|
logger.info(`${prefix} ${msg}`);
|
|
} else if (options?.timestamp) {
|
|
logger.info(`[vite] ${msg}`);
|
|
} else {
|
|
logger.info(msg);
|
|
}
|
|
},
|
|
|
|
warn(msg: string, options?: LogOptions) {
|
|
warnedMessages.add(msg);
|
|
const prefix = options?.environment ? `[${options.environment}]` : '';
|
|
if (prefix) {
|
|
logger.warn(`${prefix} ${msg}`);
|
|
} else {
|
|
logger.warn(msg);
|
|
}
|
|
},
|
|
|
|
warnOnce(msg: string, options?: LogOptions) {
|
|
if (warnedMessages.has(msg)) return;
|
|
this.warn(msg, options);
|
|
},
|
|
|
|
error(msg: string, options?: LogErrorOptions) {
|
|
const prefix = options?.environment ? `[${options.environment}]` : '';
|
|
const err = options?.error;
|
|
const fullMsg = prefix ? `${prefix} ${msg}` : msg;
|
|
if (err && err instanceof Error) {
|
|
logger.error(fullMsg, err);
|
|
} else {
|
|
logger.error(fullMsg);
|
|
}
|
|
},
|
|
|
|
clearScreen() {
|
|
// Let Vite handle screen clearing itself
|
|
},
|
|
|
|
hasErrorLogged(_error: Error | import('rollup').RollupError): boolean {
|
|
// Don't keep error state — always re-report
|
|
return false;
|
|
},
|
|
};
|
|
}
|