ngx-unused-css
Version:
Detect unused CSS in angular components
55 lines • 2.5 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1 = require("tslib");
var fs_1 = (0, tslib_1.__importDefault)(require("fs"));
var unusedClassMapper_1 = (0, tslib_1.__importDefault)(require("../helpers/unusedClassMapper"));
var findHtml_1 = (0, tslib_1.__importDefault)(require("./../helpers/findHtml"));
var findUnusedCss_1 = (0, tslib_1.__importDefault)(require("./findUnusedCss"));
var UnusedClasses = /** @class */ (function () {
function UnusedClasses(_config) {
this._config = _config;
this.allHtmlContent = '';
this.config = _config;
}
UnusedClasses.prototype.getUnusedClasses = function (projectPath) {
return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
var list, result;
return (0, tslib_1.__generator)(this, function (_a) {
switch (_a.label) {
case 0:
list = (0, findHtml_1.default)(projectPath);
return [4 /*yield*/, this.mapClasses(list)];
case 1:
result = _a.sent();
return [2 /*return*/, result.filter(function (c) {
var unusedCssClasses = (c === null || c === void 0 ? void 0 : c.length) ? c[0] : [];
return unusedCssClasses && unusedCssClasses.length > 0;
})];
}
});
});
};
UnusedClasses.prototype.getGlobalUnusedClasses = function (globalStyles) {
return (0, findUnusedCss_1.default)(this.allHtmlContent, globalStyles, this.config);
};
/**
*
* @param list List of html files to be checked
* @returns
*/
UnusedClasses.prototype.mapClasses = function (list) {
var _this = this;
var promiseArray = list.map(function (element) {
var htmlPath = element;
var htmlContent = fs_1.default.readFileSync(htmlPath, 'utf8');
// Expect same path as the template except different extension.
var cssPath = htmlPath.replace('.html', ".".concat(_this.config.styleExt));
_this.allHtmlContent += htmlContent;
return (0, unusedClassMapper_1.default)(cssPath, htmlContent, htmlPath, _this.config);
});
return Promise.all(promiseArray);
};
return UnusedClasses;
}());
exports.default = UnusedClasses;
//# sourceMappingURL=getUnusedClasses.js.map