UNPKG

rollup-plugin-sass

Version:
65 lines 2.51 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.getImporterListModern = exports.getImporterListLegacy = void 0; const path_1 = require("path"); const resolve_1 = __importDefault(require("resolve")); const logger_1 = require("./logger"); const url_1 = require("url"); const MATCH_NODE_MODULE_RE = /^~([a-z0-9]|@).+/i; const getImporterListLegacy = (importOption) => { let lastResult = Promise.resolve(); const importer1 = (url, prevUrl, done) => { if (!MATCH_NODE_MODULE_RE.test(url)) { return null; } const moduleUrl = url.slice(1); const resolveOptions = { basedir: (0, path_1.dirname)(prevUrl), extensions: ['.scss', '.sass'], }; try { const file = resolve_1.default.sync(moduleUrl, resolveOptions); lastResult = lastResult.then(() => done({ file })); } catch (err) { (0, logger_1.warn)('[rollup-plugin-sass]: Recovered from error: ', err); if (Array.isArray(importOption) && importOption.length > 1) { lastResult = lastResult.then(() => done(null)); return; } lastResult = lastResult.then(() => done({ file: url, })); } }; return [importer1].concat(importOption || []); }; exports.getImporterListLegacy = getImporterListLegacy; const getImporterListModern = (importOption) => { const importer = { findFileUrl(url, context) { if (!MATCH_NODE_MODULE_RE.test(url)) { return null; } const moduleUrl = url.slice(1); const resolveOptions = { basedir: (0, path_1.dirname)((0, url_1.fileURLToPath)(context.containingUrl)), extensions: ['.scss', '.sass'], }; try { const file = resolve_1.default.sync(moduleUrl, resolveOptions); return (0, url_1.pathToFileURL)(file); } catch (err) { (0, logger_1.warn)('[rollup-plugin-sass]: error resolving import path: ', err); return null; } }, }; return [importer].concat(importOption || []); }; exports.getImporterListModern = getImporterListModern; //# sourceMappingURL=getImporterList.js.map