react-static
Version:
A progressive static site generator for React
49 lines (39 loc) • 6.53 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _progress = _interopRequireDefault(require("progress"));
var _default = function _default(total, label, options) {
if (!options) {
options = {};
}
if (!options.format) {
options.format = "".concat(label ? "".concat(label, " ") : '', "[:bar] :current/:total :percent :rate/s :etas ");
}
var stream = options.stream || process.stdout;
if (stream.isTTY && !options.forceNonTTY) {
options.total = total;
return new _progress["default"](options.format, options);
}
var curr = 0;
var percent = 0;
var start = new Date();
return {
tick: function tick() {
curr += 1;
var ratio = Math.min(Math.max(curr / total, 0), 1);
var value = Math.floor(ratio * 100);
if (value >= percent + 5) {
percent = value;
var elapsed = new Date() - start;
var eta = percent === 100 ? 0 : elapsed * (total / curr - 1);
var rate = curr / (elapsed / 1000);
stream.write("".concat(options.format.replace('[:bar] ', '').replace('[:bar]', '').replace(':current', curr).replace(':total', total).replace(':elapsed', Number.isNaN(elapsed) ? '0.0' : (elapsed / 1000).toFixed(1)).replace(':eta', Number.isNaN(eta) || !Number.isFinite(eta) ? '0.0' : (eta / 1000).toFixed(1)).replace(':percent', "".concat(percent.toFixed(0), "%")).replace(':rate', Math.round(rate)), "\n"));
}
}
};
};
exports["default"] = _default;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9wcm9ncmVzcy5qcyJdLCJuYW1lcyI6WyJ0b3RhbCIsImxhYmVsIiwib3B0aW9ucyIsImZvcm1hdCIsInN0cmVhbSIsInByb2Nlc3MiLCJzdGRvdXQiLCJpc1RUWSIsImZvcmNlTm9uVFRZIiwiUHJvZ3Jlc3MiLCJjdXJyIiwicGVyY2VudCIsInN0YXJ0IiwiRGF0ZSIsInRpY2siLCJyYXRpbyIsIk1hdGgiLCJtaW4iLCJtYXgiLCJ2YWx1ZSIsImZsb29yIiwiZWxhcHNlZCIsImV0YSIsInJhdGUiLCJ3cml0ZSIsInJlcGxhY2UiLCJOdW1iZXIiLCJpc05hTiIsInRvRml4ZWQiLCJpc0Zpbml0ZSIsInJvdW5kIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQTs7ZUFFZSxrQkFBQ0EsS0FBRCxFQUFRQyxLQUFSLEVBQWVDLE9BQWYsRUFBMkI7QUFDeEMsTUFBSSxDQUFDQSxPQUFMLEVBQWM7QUFDWkEsSUFBQUEsT0FBTyxHQUFHLEVBQVY7QUFDRDs7QUFDRCxNQUFJLENBQUNBLE9BQU8sQ0FBQ0MsTUFBYixFQUFxQjtBQUNuQkQsSUFBQUEsT0FBTyxDQUFDQyxNQUFSLGFBQ0VGLEtBQUssYUFBTUEsS0FBTixTQUFpQixFQUR4QjtBQUdEOztBQUNELE1BQU1HLE1BQU0sR0FBR0YsT0FBTyxDQUFDRSxNQUFSLElBQWtCQyxPQUFPLENBQUNDLE1BQXpDOztBQUNBLE1BQUlGLE1BQU0sQ0FBQ0csS0FBUCxJQUFnQixDQUFDTCxPQUFPLENBQUNNLFdBQTdCLEVBQTBDO0FBQ3hDTixJQUFBQSxPQUFPLENBQUNGLEtBQVIsR0FBZ0JBLEtBQWhCO0FBQ0EsV0FBTyxJQUFJUyxvQkFBSixDQUFhUCxPQUFPLENBQUNDLE1BQXJCLEVBQTZCRCxPQUE3QixDQUFQO0FBQ0Q7O0FBQ0QsTUFBSVEsSUFBSSxHQUFHLENBQVg7QUFDQSxNQUFJQyxPQUFPLEdBQUcsQ0FBZDtBQUNBLE1BQU1DLEtBQUssR0FBRyxJQUFJQyxJQUFKLEVBQWQ7QUFDQSxTQUFPO0FBQ0xDLElBQUFBLElBQUksRUFBRSxnQkFBTTtBQUNWSixNQUFBQSxJQUFJLElBQUksQ0FBUjtBQUNBLFVBQU1LLEtBQUssR0FBR0MsSUFBSSxDQUFDQyxHQUFMLENBQVNELElBQUksQ0FBQ0UsR0FBTCxDQUFTUixJQUFJLEdBQUdWLEtBQWhCLEVBQXVCLENBQXZCLENBQVQsRUFBb0MsQ0FBcEMsQ0FBZDtBQUNBLFVBQU1tQixLQUFLLEdBQUdILElBQUksQ0FBQ0ksS0FBTCxDQUFXTCxLQUFLLEdBQUcsR0FBbkIsQ0FBZDs7QUFFQSxVQUFJSSxLQUFLLElBQUlSLE9BQU8sR0FBRyxDQUF2QixFQUEwQjtBQUN4QkEsUUFBQUEsT0FBTyxHQUFHUSxLQUFWO0FBQ0EsWUFBTUUsT0FBTyxHQUFHLElBQUlSLElBQUosS0FBYUQsS0FBN0I7QUFDQSxZQUFNVSxHQUFHLEdBQUdYLE9BQU8sS0FBSyxHQUFaLEdBQWtCLENBQWxCLEdBQXNCVSxPQUFPLElBQUlyQixLQUFLLEdBQUdVLElBQVIsR0FBZSxDQUFuQixDQUF6QztBQUNBLFlBQU1hLElBQUksR0FBR2IsSUFBSSxJQUFJVyxPQUFPLEdBQUcsSUFBZCxDQUFqQjtBQUNBakIsUUFBQUEsTUFBTSxDQUFDb0IsS0FBUCxXQUNLdEIsT0FBTyxDQUFDQyxNQUFSLENBQ0FzQixPQURBLENBQ1EsU0FEUixFQUNtQixFQURuQixFQUVBQSxPQUZBLENBRVEsUUFGUixFQUVrQixFQUZsQixFQUdBQSxPQUhBLENBR1EsVUFIUixFQUdvQmYsSUFIcEIsRUFJQWUsT0FKQSxDQUlRLFFBSlIsRUFJa0J6QixLQUpsQixFQUtBeUIsT0FMQSxDQU1DLFVBTkQsRUFPQ0MsTUFBTSxDQUFDQyxLQUFQLENBQWFOLE9BQWIsSUFBd0IsS0FBeEIsR0FBZ0MsQ0FBQ0EsT0FBTyxHQUFHLElBQVgsRUFBaUJPLE9BQWpCLENBQXlCLENBQXpCLENBUGpDLEVBU0FILE9BVEEsQ0FVQyxNQVZELEVBV0NDLE1BQU0sQ0FBQ0MsS0FBUCxDQUFhTCxHQUFiLEtBQXFCLENBQUNJLE1BQU0sQ0FBQ0csUUFBUCxDQUFnQlAsR0FBaEIsQ0FBdEIsR0FDSSxLQURKLEdBRUksQ0FBQ0EsR0FBRyxHQUFHLElBQVAsRUFBYU0sT0FBYixDQUFxQixDQUFyQixDQWJMLEVBZUFILE9BZkEsQ0FlUSxVQWZSLFlBZXVCZCxPQUFPLENBQUNpQixPQUFSLENBQWdCLENBQWhCLENBZnZCLFFBZ0JBSCxPQWhCQSxDQWdCUSxPQWhCUixFQWdCaUJULElBQUksQ0FBQ2MsS0FBTCxDQUFXUCxJQUFYLENBaEJqQixDQURMO0FBbUJEO0FBQ0Y7QUEvQkksR0FBUDtBQWlDRCxDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFByb2dyZXNzIGZyb20gJ3Byb2dyZXNzJ1xuXG5leHBvcnQgZGVmYXVsdCAodG90YWwsIGxhYmVsLCBvcHRpb25zKSA9PiB7XG4gIGlmICghb3B0aW9ucykge1xuICAgIG9wdGlvbnMgPSB7fVxuICB9XG4gIGlmICghb3B0aW9ucy5mb3JtYXQpIHtcbiAgICBvcHRpb25zLmZvcm1hdCA9IGAke1xuICAgICAgbGFiZWwgPyBgJHtsYWJlbH0gYCA6ICcnXG4gICAgfVs6YmFyXSA6Y3VycmVudC86dG90YWwgOnBlcmNlbnQgOnJhdGUvcyA6ZXRhcyBgXG4gIH1cbiAgY29uc3Qgc3RyZWFtID0gb3B0aW9ucy5zdHJlYW0gfHwgcHJvY2Vzcy5zdGRvdXRcbiAgaWYgKHN0cmVhbS5pc1RUWSAmJiAhb3B0aW9ucy5mb3JjZU5vblRUWSkge1xuICAgIG9wdGlvbnMudG90YWwgPSB0b3RhbFxuICAgIHJldHVybiBuZXcgUHJvZ3Jlc3Mob3B0aW9ucy5mb3JtYXQsIG9wdGlvbnMpXG4gIH1cbiAgbGV0IGN1cnIgPSAwXG4gIGxldCBwZXJjZW50ID0gMFxuICBjb25zdCBzdGFydCA9IG5ldyBEYXRlKClcbiAgcmV0dXJuIHtcbiAgICB0aWNrOiAoKSA9PiB7XG4gICAgICBjdXJyICs9IDFcbiAgICAgIGNvbnN0IHJhdGlvID0gTWF0aC5taW4oTWF0aC5tYXgoY3VyciAvIHRvdGFsLCAwKSwgMSlcbiAgICAgIGNvbnN0IHZhbHVlID0gTWF0aC5mbG9vcihyYXRpbyAqIDEwMClcblxuICAgICAgaWYgKHZhbHVlID49IHBlcmNlbnQgKyA1KSB7XG4gICAgICAgIHBlcmNlbnQgPSB2YWx1ZVxuICAgICAgICBjb25zdCBlbGFwc2VkID0gbmV3IERhdGUoKSAtIHN0YXJ0XG4gICAgICAgIGNvbnN0IGV0YSA9IHBlcmNlbnQgPT09IDEwMCA/IDAgOiBlbGFwc2VkICogKHRvdGFsIC8gY3VyciAtIDEpXG4gICAgICAgIGNvbnN0IHJhdGUgPSBjdXJyIC8gKGVsYXBzZWQgLyAxMDAwKVxuICAgICAgICBzdHJlYW0ud3JpdGUoXG4gICAgICAgICAgYCR7b3B0aW9ucy5mb3JtYXRcbiAgICAgICAgICAgIC5yZXBsYWNlKCdbOmJhcl0gJywgJycpXG4gICAgICAgICAgICAucmVwbGFjZSgnWzpiYXJdJywgJycpXG4gICAgICAgICAgICAucmVwbGFjZSgnOmN1cnJlbnQnLCBjdXJyKVxuICAgICAgICAgICAgLnJlcGxhY2UoJzp0b3RhbCcsIHRvdGFsKVxuICAgICAgICAgICAgLnJlcGxhY2UoXG4gICAgICAgICAgICAgICc6ZWxhcHNlZCcsXG4gICAgICAgICAgICAgIE51bWJlci5pc05hTihlbGFwc2VkKSA/ICcwLjAnIDogKGVsYXBzZWQgLyAxMDAwKS50b0ZpeGVkKDEpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAucmVwbGFjZShcbiAgICAgICAgICAgICAgJzpldGEnLFxuICAgICAgICAgICAgICBOdW1iZXIuaXNOYU4oZXRhKSB8fCAhTnVtYmVyLmlzRmluaXRlKGV0YSlcbiAgICAgICAgICAgICAgICA/ICcwLjAnXG4gICAgICAgICAgICAgICAgOiAoZXRhIC8gMTAwMCkudG9GaXhlZCgxKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnJlcGxhY2UoJzpwZXJjZW50JywgYCR7cGVyY2VudC50b0ZpeGVkKDApfSVgKVxuICAgICAgICAgICAgLnJlcGxhY2UoJzpyYXRlJywgTWF0aC5yb3VuZChyYXRlKSl9XFxuYFxuICAgICAgICApXG4gICAgICB9XG4gICAgfSxcbiAgfVxufVxuIl19