@nx/angular-rsbuild
Version:
Rsbuild Plugin for building Angular.
59 lines (58 loc) • 1.99 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getStylePlugins = getStylePlugins;
const plugin_sass_1 = require("@rsbuild/plugin-sass");
const plugin_less_1 = require("@rsbuild/plugin-less");
function getStylePlugins(options) {
const { inlineStyleLanguage, stylePreprocessorOptions, sourceMap } = options;
const { includePaths = [], sass } = stylePreprocessorOptions ?? {};
if (inlineStyleLanguage === undefined || inlineStyleLanguage === 'css') {
return [];
}
if (inlineStyleLanguage === 'scss' || inlineStyleLanguage === 'sass') {
const defaultSassOptions = {
sassLoaderOptions: {
sourceMap: sourceMap.styles,
},
};
const sassOptions = {
...(includePaths.length > 0 ? { includePaths } : {}),
...(sass ?? {}),
};
if (Object.keys(sassOptions).length === 0) {
return [(0, plugin_sass_1.pluginSass)(defaultSassOptions)];
}
return [
(0, plugin_sass_1.pluginSass)({
...defaultSassOptions,
sassLoaderOptions: {
...defaultSassOptions.sassLoaderOptions,
sassOptions,
},
}),
];
}
const defaultLessOptions = {
lessLoaderOptions: {
sourceMap: sourceMap.styles,
lessOptions: {
javascriptEnabled: true,
},
},
};
if (includePaths.length === 0) {
return [(0, plugin_less_1.pluginLess)(defaultLessOptions)];
}
return [
(0, plugin_less_1.pluginLess)({
...defaultLessOptions,
lessLoaderOptions: {
...defaultLessOptions.lessLoaderOptions,
lessOptions: {
...defaultLessOptions.lessLoaderOptions.lessOptions,
paths: includePaths,
},
},
}),
];
}