diff --git a/packages/uniwind/src/metro/compileVirtual.ts b/packages/uniwind/src/metro/compileVirtual.ts index d71e8dcd..1782112c 100644 --- a/packages/uniwind/src/metro/compileVirtual.ts +++ b/packages/uniwind/src/metro/compileVirtual.ts @@ -2,6 +2,7 @@ import { compile } from '@tailwindcss/node' import { Scanner } from '@tailwindcss/oxide' import path from 'path' import { addMetaToStylesTemplate } from './addMetaToStylesTemplate' +import { Logger } from './logger' import { polyfillWeb } from './polyfillWeb' import { ProcessorBuilder } from './processor' import { Platform, Polyfills } from './types' @@ -13,9 +14,10 @@ type CompileVirtualConfig = { platform: Platform themes: Array polyfills: Polyfills | undefined + debug: boolean | undefined } -export const compileVirtual = async ({ css, cssPath, platform, themes, polyfills }: CompileVirtualConfig) => { +export const compileVirtual = async ({ css, cssPath, platform, themes, polyfills, debug }: CompileVirtualConfig) => { const compiler = await compile(css, { base: path.dirname(cssPath), onDependency: () => void 0, @@ -38,6 +40,7 @@ export const compileVirtual = async ({ css, cssPath, platform, themes, polyfills const Processor = new ProcessorBuilder(themes, polyfills) + Logger.debug = debug === true Processor.transform(tailwindCSS) const stylesheet = serializeJSObject( diff --git a/packages/uniwind/src/metro/index.d.ts b/packages/uniwind/src/metro/index.d.ts index 76c84a6c..cf882db7 100644 --- a/packages/uniwind/src/metro/index.d.ts +++ b/packages/uniwind/src/metro/index.d.ts @@ -9,6 +9,7 @@ type UniwindConfig = { extraThemes?: Array dtsFile?: string polyfills?: Polyfills + debug?: boolean } export declare function withUniwindConfig(config: MetroConfig, options: UniwindConfig): MetroConfig diff --git a/packages/uniwind/src/metro/logger.ts b/packages/uniwind/src/metro/logger.ts index f0baa58e..6b14bf87 100644 --- a/packages/uniwind/src/metro/logger.ts +++ b/packages/uniwind/src/metro/logger.ts @@ -2,17 +2,31 @@ import chalk from 'chalk' /* eslint-disable no-console */ export class Logger { + static debug = false + constructor(private readonly name: string) {} static log(message: string, meta = '') { + if (!Logger.debug) { + return + } + console.log(chalk.cyan(`\nUniwind ${meta}- ${message}`)) } static error(message: string, meta = '') { + if (!Logger.debug) { + return + } + console.log(chalk.red(`\nUniwind Error ${meta}- ${message}`)) } static warn(message: string, meta = '') { + if (!Logger.debug) { + return + } + console.log(chalk.yellow(`\nUniwind Warning ${meta}- ${message}`)) } diff --git a/packages/uniwind/src/metro/metro-transformer.ts b/packages/uniwind/src/metro/metro-transformer.ts index 6aabe8d3..4be96f1d 100644 --- a/packages/uniwind/src/metro/metro-transformer.ts +++ b/packages/uniwind/src/metro/metro-transformer.ts @@ -54,6 +54,7 @@ export const transform = async ( themes: config.uniwind.themes, polyfills: config.uniwind.polyfills, cssPath, + debug: config.uniwind.debug, }) const isWeb = platform === Platform.Web diff --git a/packages/uniwind/src/metro/types.ts b/packages/uniwind/src/metro/types.ts index 20668472..02b45e1d 100644 --- a/packages/uniwind/src/metro/types.ts +++ b/packages/uniwind/src/metro/types.ts @@ -22,6 +22,7 @@ export type UniwindConfig = { extraThemes?: Array dtsFile?: string polyfills?: Polyfills + debug?: boolean } export type MediaQueryResolver = {