feat(cli): support sass tilde importer

This commit is contained in:
chenjiahan 2020-12-02 15:49:34 +08:00
parent f457ae3c87
commit 3f0f3e4474

View File

@ -1,6 +1,21 @@
import { renderSync } from 'sass';
// allow to import from node_modules
// @import "~package-name/var.scss"
const tildeImporter = (url: string) => {
if (url.includes('~')) {
url = url.replace('~', '');
if (!url.includes('.scss')) {
url += '.scss';
}
url = require.resolve(url);
}
return { file: url };
};
export async function compileSass(filePath: string) {
const { css } = renderSync({ file: filePath });
const { css } = renderSync({ file: filePath, importer: tildeImporter });
return css;
}