export type Falsy = false | null | undefined; export type OneOrMany = T | T[]; export type MaybePromise = T | Promise; export type NodeEnv = 'development' | 'production' | 'test'; export type DeepReadonly = keyof T extends never ? T : { readonly [k in keyof T]: DeepReadonly; }; export type FileFilterUtil = (items: OneOrMany) => void; export type CompilerTapFn void = () => void> = { tap: (name: string, cb: CallBack) => void; };