@progress/kendo-ui
Version:
This package is part of the [Kendo UI for jQuery](http://www.telerik.com/kendo-ui) suite.
42 lines (34 loc) • 1.04 kB
JavaScript
;
const {
applyTabstripItemReplacementCss,
applyTreeViewClassRenames,
applyVirtualListClassRename,
applyMultiColumnComboBoxGroupHeaderRename,
applyFillModeClassSplitsCss,
applyAppearanceDefaultStrips,
} = require('../_shared.cjs');
const CSS_TRANSFORMS = [
applyTabstripItemReplacementCss,
applyTreeViewClassRenames,
applyVirtualListClassRename,
applyMultiColumnComboBoxGroupHeaderRename,
applyFillModeClassSplitsCss,
applyAppearanceDefaultStrips,
];
const STYLE_RE = /(<style[^>]*>)([\s\S]*?)(<\/style>)/gi;
module.exports = function transformer(fileInfo) {
if (!/\.html?$/i.test(fileInfo.path)) {
return undefined;
}
let source = fileInfo.source;
let changed = false;
source = source.replace(STYLE_RE, (match, open, content, close) => {
const transformed = CSS_TRANSFORMS.reduce((acc, fn) => fn(acc), content);
if (transformed !== content) {
changed = true;
return open + transformed + close;
}
return match;
});
return changed ? source : undefined;
};