UNPKG

unbag

Version:

一个专门用来开发npm工具的包

28 lines 687 B
import { deepFreezeConfig, mergeDefaultConfig } from "./../utils/config.mjs"; import { useLog } from "./../utils/log.mjs"; class Command { #finalUserConfig; constructor(config) { const finalUserConfig = mergeDefaultConfig(config); const freezedConfig = deepFreezeConfig(finalUserConfig); this.#finalUserConfig = freezedConfig; } get finalUserConfig() { return this.#finalUserConfig; } async run(params) { const { finalUserConfig } = this; const log = useLog({ finalUserConfig }); try { await this.task(params); } catch (error) { log.catchThrowError(error); process.exit(1); } } } export { Command };