|
"use strict"; |
|
var __importDefault = (this && this.__importDefault) || function (mod) { |
|
return (mod && mod.__esModule) ? mod : { "default": mod }; |
|
}; |
|
Object.defineProperty(exports, "__esModule", { value: true }); |
|
exports.transformer = void 0; |
|
const path_1 = __importDefault(require("path")); |
|
const stylus_1 = __importDefault(require("stylus")); |
|
const utils_1 = require("../modules/utils"); |
|
const transformer = ({ content, filename, options = {}, }) => { |
|
options = { |
|
paths: (0, utils_1.getIncludePaths)(filename, options.paths), |
|
...options, |
|
}; |
|
return new Promise((resolve, reject) => { |
|
const style = (0, stylus_1.default)(content, { |
|
filename, |
|
...options, |
|
}).set('sourcemap', options.sourcemap); |
|
style.render((err, css) => { |
|
var _a; |
|
|
|
if (err) |
|
reject(err); |
|
if ((_a = style.sourcemap) === null || _a === void 0 ? void 0 : _a.sources) { |
|
style.sourcemap.sources = style.sourcemap.sources.map((source) => path_1.default.resolve(source)); |
|
} |
|
resolve({ |
|
code: css, |
|
map: style.sourcemap, |
|
|
|
dependencies: style |
|
.deps(filename) |
|
.map((filePath) => path_1.default.resolve(filePath)), |
|
}); |
|
}); |
|
}); |
|
}; |
|
exports.transformer = transformer; |
|
|