node-sass-magic-importer
Version:
Custom node-sass importer for selector specific imports, node importing, module importing, globbing support and importing files only once
25 lines (19 loc) • 562 B
text/typescript
import { IFilterParser } from '../interfaces/IFilterParser';
export function parseNodeFiltersFactory(): IFilterParser {
return (url: string) => {
const filterDivider = /[\s]+from[\s]+(?!.*from)/;
if (!filterDivider.test(url)) {
return [];
}
const nodeFiltersMatch = url
.split(filterDivider)[0]
.replace(/{.*?\/.*?\/.*?}/, ``)
.match(/\[([\s\S]*)\]/);
if (!nodeFiltersMatch) {
return [];
}
return nodeFiltersMatch[1].split(`,`)
.map((x) => x.trim())
.filter((x) => x.length);
};
}