UNPKG

god-bless-your-code

Version:

Bless your code with ASCII gods, monsters, and mystical powers — your last line of defense against bugs and angry PMs.

34 lines (28 loc) 1.15 kB
import type { Plugin } from 'vite'; import type { ViteGodBlessYourCodeOptions } from './types'; import { detectCodeTypeByExt } from './utils'; import { godBlessYourCode as main } from './'; export function godBlessYourCode(options?: ViteGodBlessYourCodeOptions): Plugin { let processedFiles = 0; const maxFiles = options?.maxFiles === null ? null : options?.maxFiles ?? 3; return { apply: 'build', generateBundle(_, bundle) { Object.entries(bundle).forEach(([fileName, file]) => { if (maxFiles !== null && processedFiles >= maxFiles) return; const codeType = detectCodeTypeByExt(fileName); if (file.type === 'chunk') file.code = main(file.code, codeType, options) ?? file.code; else if (typeof file.source === 'string') { file.source = main(file.source, codeType, options) ?? file.source; } processedFiles++; }); }, name: 'god-bless-your-code', }; } export { godBlessYourCode as bless, godBlessYourCode as god, godBlessYourCode as godBless, };