Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
const styleCompilerConfig = {
customProperties: {
allowDefinition: customProperties.allowDefinition,
resolverModule:
customProperties.resolution.type === 'module'
? customProperties.resolution.name
: undefined,
},
outputConfig: {
minify,
},
};
let res;
try {
res = styleCompiler.transform(src, filename, styleCompilerConfig);
} catch (e) {
throw normalizeToCompilerError(TransformerErrors.CSS_TRANSFORMER_ERROR, e, { filename });
}
// Rollup only cares about the mappings property on the map. Since producing a source map for
// the styles doesn't make sense, the transform returns an empty mappings.
return {
code: res.code,
map: { mappings: '' },
};
}
const styleCompilerConfig = {
customProperties: {
allowDefinition: customProperties.allowDefinition,
resolverModule:
customProperties.resolution.type === 'module'
? customProperties.resolution.name
: undefined,
},
outputConfig: {
minify,
},
};
let res;
try {
res = styleCompiler.transform(src, filename, styleCompilerConfig);
} catch (e) {
throw normalizeToCompilerError(TransformerErrors.CSS_TRANSFORMER_ERROR, e, { filename });
}
// Rollup only cares about the mappings property on the map. Since producing a source map for
// the styles doesn't make sense, the transform returns an empty mappings.
return {
code: res.code,
map: { mappings: '' },
};
}
export default function parseInlineStyles(
src: string,
stylesheetConfig: StylesheetConfig
): Statement[] {
let result;
try {
result = styleCompiler.transform(src, 'template_inline_styles', stylesheetConfig);
} catch (e) {
throw normalizeToCompilerError(TransformerErrors.CSS_IN_HTML_ERROR, e);
}
// The style compiler produces a module string
const { code } = result;
// Convert it to an AST
const parsed = babylon.parse(code, { sourceType: 'module' });
// Return the body of the module
return parsed.program.body;
}