node-sass-magic-importer
Version:
Custom node-sass importer for selector specific imports, node importing, module importing, globbing support and importing files only once
19 lines (15 loc) • 615 B
text/typescript
import { IPath } from '../interfaces/IPath';
import { ISassUrlVariants } from '../interfaces/ISassUrlVariants';
export function sassUrlVariantsFactory(path: IPath): ISassUrlVariants {
return (url: string, extensions: string[] = []) => {
const parsedUrl = path.parse(url);
const urlVariants = [url];
if (parsedUrl.dir && !parsedUrl.ext) {
extensions.forEach((extension) => {
urlVariants.push(path.join(parsedUrl.dir, `${parsedUrl.name}${extension}`));
urlVariants.push(path.join(parsedUrl.dir, `_${parsedUrl.name}${extension}`));
});
}
return urlVariants;
};
}