diff --git a/src/css/sass.js b/src/css/sass.js index c31e7b1..31fc2ce 100644 --- a/src/css/sass.js +++ b/src/css/sass.js @@ -58,6 +58,9 @@ export default class SassCompiler extends CompilerBase { sourceMapRoot: filePath, }); + // not a valid option + delete opts.paths; + let result = await new Promise((res,rej) => { sass.compile(sourceCode, opts, (r) => { if (r.status !== 0) { @@ -161,10 +164,8 @@ export default class SassCompiler extends CompilerBase { done(); return; } else { - // sass.js works in the '/sass/' directory - const cleanedRequestPath = request.resolved.replace(/^\/sass\//, ''); - for (let includePath of includePaths) { - const filePath = path.resolve(includePath, cleanedRequestPath); + const filePathGenerator = getFilepathsForVariation(includePaths, request); + for (let filePath of filePathGenerator) { let variations = sass.getPathVariations(filePath); file = variations @@ -227,3 +228,12 @@ export default class SassCompiler extends CompilerBase { return "4.1.1"; } } + +function *getFilepathsForVariation(includePaths, request) { + const resolved = request.resolved.replace(/^\/sass\//, ''); + yield resolved; + const current = request.current; + for (let includePath of includePaths) { + yield path.resolve(includePath, current); + } +}