UNPKG

node-sass-selector-importer

Version:

Custom importer for node-sass to import only certain CSS selectors instead of the whole file

29 lines 1.13 kB
"use strict"; const cssSelectorExtract = require("css-selector-extract"); const fs = require("fs"); const postcssSyntax = require("postcss-scss"); const toolbox_1 = require("node-sass-magic-importer/dist/toolbox"); module.exports = function selectorImporter() { return function importer(url, prev) { const nodeSassOptions = this.options; const selectorFilters = toolbox_1.parseSelectorFilters(url); if (selectorFilters.length === 0) { return null; } const includePaths = toolbox_1.buildIncludePaths(nodeSassOptions.includePaths, prev); const cleanedUrl = toolbox_1.cleanImportUrl(url); const resolvedUrl = toolbox_1.resolveUrl(cleanedUrl, includePaths); const css = fs.readFileSync(resolvedUrl, { encoding: `utf8` }); const contents = cssSelectorExtract.processSync({ css, filters: selectorFilters, postcssSyntax, preserveLines: true, }); return contents ? { file: resolvedUrl, contents, } : null; }; }; //# sourceMappingURL=index.js.map