64 lines
No EOL
1.8 KiB
JavaScript
64 lines
No EOL
1.8 KiB
JavaScript
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
exports["default"] = void 0;
|
|
|
|
var _posthtml = _interopRequireDefault(require("posthtml"));
|
|
|
|
var _safe = _interopRequireDefault(require("./presets/safe"));
|
|
|
|
var _ampSafe = _interopRequireDefault(require("./presets/ampSafe"));
|
|
|
|
var _max = _interopRequireDefault(require("./presets/max"));
|
|
|
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
|
|
function htmlnano() {
|
|
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
var preset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _safe["default"];
|
|
return function minifier(tree) {
|
|
options = Object.assign({}, preset, options);
|
|
var promise = Promise.resolve(tree);
|
|
|
|
var _loop = function _loop() {
|
|
var moduleName = _Object$keys[_i];
|
|
|
|
if (!options[moduleName]) {
|
|
// The module is disabled
|
|
return "continue";
|
|
}
|
|
|
|
if (_safe["default"][moduleName] === undefined) {
|
|
throw new Error('Module "' + moduleName + '" is not defined');
|
|
}
|
|
|
|
var module = require('./modules/' + moduleName);
|
|
|
|
promise = promise.then(function (tree) {
|
|
return module["default"](tree, options, options[moduleName]);
|
|
});
|
|
};
|
|
|
|
for (var _i = 0, _Object$keys = Object.keys(options); _i < _Object$keys.length; _i++) {
|
|
var _ret = _loop();
|
|
|
|
if (_ret === "continue") continue;
|
|
}
|
|
|
|
return promise;
|
|
};
|
|
}
|
|
|
|
htmlnano.process = function (html, options, preset, postHtmlOptions) {
|
|
return (0, _posthtml["default"])([htmlnano(options, preset)]).process(html, postHtmlOptions);
|
|
};
|
|
|
|
htmlnano.presets = {
|
|
safe: _safe["default"],
|
|
ampSafe: _ampSafe["default"],
|
|
max: _max["default"]
|
|
};
|
|
var _default = htmlnano;
|
|
exports["default"] = _default; |