2022-05-11 17:50:20 +08:00

39 lines
1.1 KiB
JavaScript

export default (api) => {
const { utils } = api;
api.describe({
key: 'sass',
config: {
schema(joi) {
return joi.object({
implementation: joi.any(),
sassOptions: joi.object(),
prependData: joi.alternatives(joi.string(), joi.func()),
sourceMap: joi.boolean(),
webpackImporter: joi.boolean(),
});
},
default: {},
},
});
if (api.builder.name === 'vite') {
// vite 不需要处理
} else {
api.chainWebpack((memo, { createCSSRule }) => {
createCSSRule({
lang: 'sass',
test: /\.(sass|scss)(\?.*)?$/,
loader: require.resolve('sass-loader'),
options: utils.deepmerge(
{
implementation: require('sass'),
},
api.config.sass || {},
),
});
return memo;
});
}
};