|
|
@@ -3,16 +3,17 @@
|
|
|
import * as defaultConfig from "./defaults.js"
|
|
|
import { getConfig, processFiles } from "./lib.js"
|
|
|
import { performance } from "node:perf_hooks"
|
|
|
-
|
|
|
+import { getLogger } from "./logging.js"
|
|
|
const startTime = performance.now()
|
|
|
const { opts, tasks } = await getConfig() || { ...defaultConfig }
|
|
|
-console.info(`[Start] Processing ${tasks.length} tasks`)
|
|
|
-console.info(`[Info] Running directory: ${opts.runDir}`)
|
|
|
-console.info(`[Info] Output directory: ${opts.outDir}`)
|
|
|
+const log = getLogger(opts.logLevel)
|
|
|
+log.info(`Processing ${tasks.length} tasks`)
|
|
|
+log.debug(`Running directory: ${opts.runDir}`)
|
|
|
+log.debug(`Output directory: ${opts.outDir}`)
|
|
|
if (opts.cacheDir) {
|
|
|
- console.info(`[Info] Cache directory: ${opts.cacheDir}`)
|
|
|
+ log.debug(`Cache directory: ${opts.cacheDir}`)
|
|
|
} else {
|
|
|
- console.warn("[Warn] Cache disabled")
|
|
|
+ log.warn("Cache disabled")
|
|
|
}
|
|
|
async function runTask(meta, task) {
|
|
|
const allResults = await processFiles(task, meta)
|
|
|
@@ -32,17 +33,17 @@ const taskRunner = tasks.reduce(
|
|
|
async (metaPromise, task) => {
|
|
|
const meta = await metaPromise
|
|
|
const startTime = performance.now()
|
|
|
- console.group(`[Task] ${task.name}`)
|
|
|
- console.log(`[Start] patterns: ${JSON.stringify(task.inputFiles)}`)
|
|
|
- if (meta.opts.debug) {
|
|
|
- console.log(task.name, "in meta", JSON.stringify(meta, null, 2))
|
|
|
- }
|
|
|
+ log.group(`[Task] ${task.name}`)
|
|
|
+ log.trace(`patterns: ${JSON.stringify(task.inputFiles)}`)
|
|
|
+ log.trace(`meta: ${JSON.stringify(meta, null, 2)}`)
|
|
|
+ log.trace(`task: ${JSON.stringify(task, null, 2)}`)
|
|
|
const { taskResult, cachedResults, processedResults } = await runTask(meta, task)
|
|
|
const endTime = performance.now()
|
|
|
const timeTaken = (endTime - startTime)
|
|
|
const hrTime = timeTaken > 1000 ? `${Number.parseFloat(timeTaken / 1000).toFixed(2)}s` : `${Number.parseFloat(timeTaken).toFixed(2)}ms`
|
|
|
- console.log(`[Done] processed: ${processedResults.length} | from cache: ${cachedResults.length} | ${hrTime}`)
|
|
|
- console.groupEnd()
|
|
|
+ const filesWritten = processedResults.reduce((acc, cur) => acc + cur.path.length, 0)
|
|
|
+ log.info(`written: ${filesWritten} | processed: ${processedResults.length} | from cache: ${cachedResults.length} | ${hrTime}`)
|
|
|
+ log.groupEnd()
|
|
|
return taskResult
|
|
|
},
|
|
|
Promise.resolve({ opts }),
|
|
|
@@ -51,4 +52,4 @@ await taskRunner
|
|
|
const endTime = performance.now()
|
|
|
const timeTaken = (endTime - startTime)
|
|
|
const hrTime = timeTaken > 1000 ? `${Number.parseFloat(timeTaken / 1000).toFixed(2)}s` : `${Number.parseFloat(timeTaken).toFixed(2)}ms`
|
|
|
-console.log(`[Done] ${tasks.length} tasks in ${hrTime}`)
|
|
|
+log.info(`Completed ${tasks.length} tasks in ${hrTime}`)
|