ipsos-components
Version:
Material Design components for Angular
27 lines (22 loc) • 939 B
text/typescript
import {buildConfig} from './build-config';
import MagicString from 'magic-string';
/** License banner from the build config that will be removed in all source files. */
const licenseBanner = buildConfig.licenseBanner;
/**
* Rollup plugin that removes all license banners of source files.
* This is necessary to avoid having the license comment repeated in the output.
*/
export const rollupRemoveLicensesPlugin = {
name: 'rollup-clean-duplicate-licenses',
transform: (code: string) => {
const newContent = new MagicString(code);
// Walks through every occurrence of a license comment and overwrites it with an empty string.
for (let pos = -1; (pos = code.indexOf(licenseBanner, pos + 1)) !== -1; null) {
newContent.overwrite(pos, pos + licenseBanner.length, '');
}
return {
code: newContent.toString(),
map: newContent.generateMap({ hires: true })
};
}
};