UNPKG

st-bundle

Version:

CLI for watching and bundling SpringType projects.

54 lines (53 loc) 1.95 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const cssResolveModule_1 = require("../cssResolveModule"); const cssResolveURL_1 = require("../cssResolveURL"); const cssSourceMap_1 = require("../cssSourceMap"); const stylusRenderer_1 = require("./stylusRenderer"); async function renderModule(props) { const data = await stylusRenderer_1.stylusRender({ contents: props.module.contents, withSourceMaps: props.module.isCSSSourceMapRequired(), paths: props.options.paths, filePath: props.module.props.absPath, onImportString: str => { if (props.options.macros) { return cssResolveModule_1.replaceCSSMacros(str, props.options.macros); } }, onURL: (filePath, value) => { const result = cssResolveURL_1.resolveCSSResource(value, { contents: '', ctx: props.ctx, filePath: filePath, options: props.options, }); if (result) { return result.publicPath; } else { props.ctx.log.warn(`Unable to resolve ${value} in ${filePath}`); } }, onImportFile: item => { if (!item.isExternal) { if (props.options.breakDependantsCache) { props.module.breakDependantsCache = true; } props.module.addWeakReference(item.value); } }, }); let sourceMap; if (data.map) { sourceMap = cssSourceMap_1.alignCSSSourceMap({ module: props.module, sourceMap: data.map, ctx: props.ctx }); } return { css: data.css, map: sourceMap }; } function stylusHandler(props) { const { ctx, module } = props; return { render: async () => renderModule({ ctx, module, options: props.options }), }; } exports.stylusHandler = stylusHandler;