@wix/cli
Version:
CLI tool for building Wix sites and applications
57 lines (55 loc) • 1.92 kB
JavaScript
import { createRequire as _createRequire } from 'node:module';
const require = _createRequire(import.meta.url);
import {
Text,
createRendererToString
} from "./chunk-UC5LTXTA.js";
import {
require_react
} from "./chunk-QNHANFRW.js";
import {
__toESM,
init_esm_shims
} from "./chunk-EXLZF52D.js";
// ../cli-astro-commands/src/components/DevCommand/utils/createAstroLogger.tsx
init_esm_shims();
var import_react = __toESM(require_react(), 1);
var dateTimeFormat = new Intl.DateTimeFormat([], {
hour: "2-digit",
minute: "2-digit",
second: "2-digit",
hour12: false
});
function createAstroLogger(options) {
const { isPrefixed, onLog, onError } = options;
const renderer = createRendererToString({ stripAnsi: false });
const renderPrefix = () => {
return renderer.render(
/* @__PURE__ */ import_react.default.createElement(Text, null, /* @__PURE__ */ import_react.default.createElement(Text, null, dateTimeFormat.format(/* @__PURE__ */ new Date()), " "), /* @__PURE__ */ import_react.default.createElement(Text, { skin: "info" }, "[wix] "))
);
};
const formatMessage = (options2) => {
const { isPrefixed: isPrefixed2, msg } = options2;
const prefix = isPrefixed2 ? renderPrefix() : "";
const suffix = typeof msg === "string" ? msg : renderer.render(msg);
return `${prefix}${suffix}`;
};
const log = (msg) => {
const stringToLog = formatMessage({ isPrefixed, msg });
onLog?.(stringToLog);
setTimeout(() => console.log(stringToLog), 0);
};
const error = (msg) => {
const stringToLog = formatMessage({
isPrefixed,
msg: typeof msg === "string" ? /* @__PURE__ */ import_react.default.createElement(Text, { skin: "error" }, msg) : msg
});
onError?.(stringToLog);
setTimeout(() => console.error(stringToLog), 0);
};
return { log, error };
}
export {
createAstroLogger
};
//# sourceMappingURL=chunk-7BABMGCW.js.map