sass-alias
Version:
sass-alias is a node-sass and dart-sass importer that brings aliasing to sass.
34 lines (33 loc) • 1.26 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.create = void 0;
var url_1 = require("url");
var fs_1 = require("fs");
var path_1 = require("path");
var resolve_1 = require("./resolve");
function create(config) {
var entries = Object.entries(config);
return {
canonicalize: function (requestedUrl, _a) {
var fromImport = _a.fromImport;
return entries.reduce(function (resolved, _a) {
var alias = _a[0], path = _a[1];
if (resolved)
return resolved;
if (requestedUrl.startsWith(alias))
return (0, resolve_1.resolve)({ url: requestedUrl, alias: alias, path: path, fromImport: fromImport });
return null;
}, null);
},
load: function (canonicalUrl) {
var filepath = (0, url_1.fileURLToPath)(canonicalUrl);
var extension = (0, path_1.extname)(filepath).replace('.', '');
var contents = (0, fs_1.readFileSync)(filepath).toString();
return {
syntax: (extension === 'sass' ? 'indented' : extension),
contents: contents,
};
},
};
}
exports.create = create;