ngx-unused-css
Version:
Detect unused CSS in angular components
41 lines • 1.78 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1 = require("tslib");
var purgecss_1 = (0, tslib_1.__importDefault)(require("purgecss"));
var parseNgClass_1 = (0, tslib_1.__importDefault)(require("../helpers/parseNgClass"));
var whitelist_1 = (0, tslib_1.__importDefault)(require("../helpers/whitelist"));
var compileSCSS_1 = (0, tslib_1.__importDefault)(require("./compileSCSS"));
/**
* Find unused css classes per file and returns array of them
* @param {string} content
* @param {string} cssPath
*/
function findUnusedCss(content, cssPath, config) {
return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
var css, html, options, purgecssResult, result;
return (0, tslib_1.__generator)(this, function (_a) {
switch (_a.label) {
case 0:
css = (0, compileSCSS_1.default)(cssPath, config);
html = (0, parseNgClass_1.default)(content, cssPath);
options = {
content: [
{
raw: html,
extension: 'html'
}
],
css: [{ raw: css }],
rejected: true
};
return [4 /*yield*/, new purgecss_1.default().purge(options)];
case 1:
purgecssResult = _a.sent();
result = purgecssResult[0].rejected || [];
return [2 /*return*/, (0, whitelist_1.default)(result, cssPath, config.ignore, config.path)];
}
});
});
}
exports.default = findUnusedCss;
//# sourceMappingURL=findUnusedCss.js.map