UNPKG

@baleada/rollup-plugin-source-transform

Version:

Rollup plugin that allows you to transform files' content during your build step.

33 lines (30 loc) 930 B
import pluginUtils from '@rollup/pluginutils'; const { createFilter } = pluginUtils; const defaultOptions = { transform: ({ source }) => source, }; function sourceTransform(options = {}) { const { transform, include, exclude, test: rawTest } = { ...defaultOptions, ...options }, test = ensureTest({ include, exclude, rawTest }); return { name: 'source-transform', async transform(source, id) { if (!test({ source, id })) { return null; } return await transform({ source, id, context: this, utils: pluginUtils }); } }; } function ensureTest({ include, exclude, rawTest }) { if (typeof rawTest === 'function') { return rawTest; } const filter = createFilter(include, exclude); return ({ id }) => filter(id); } export { sourceTransform };