@nx/angular-rsbuild
Version:
Rsbuild Plugin for building Angular.
32 lines (31 loc) • 1.15 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.pluginAngularJit = void 0;
const sass_embedded_1 = require("sass-embedded");
const pluginAngularJit = (options = {
inlineStylesExtension: 'css',
}) => ({
name: 'plugin-angular-jit',
setup(api) {
api.resolve(({ resolveData }) => {
const request = resolveData.request;
if (request.startsWith('virtual:angular')) {
resolveData.request = `\0${request}`;
}
});
api.transform({ test: /virtual:angular:jit:style:inline;/ }, ({ resource }) => {
const styleId = resource.split('style:inline;')[1];
const decodedStyles = Buffer.from(decodeURIComponent(styleId), 'base64').toString();
let styles = '';
try {
const compiled = (0, sass_embedded_1.compileString)(decodedStyles);
styles = compiled.css;
}
catch (e) {
console.error(`${e}`);
}
return `export default \`${styles}\``;
});
},
});
exports.pluginAngularJit = pluginAngularJit;