Initial commit

This commit is contained in:
Alejandro Martinez
2026-02-12 02:04:10 +01:00
commit f09af719cf
13433 changed files with 2193445 additions and 0 deletions

View File

@@ -0,0 +1,71 @@
import { formatVersion } from "../utils/format-version.js";
class LoggerHelpDisplay {
#logger;
#textStyler;
#astroVersionProvider;
// TODO: find something better
#flags;
constructor({
logger,
textStyler,
astroVersionProvider,
flags
}) {
this.#logger = logger;
this.#textStyler = textStyler;
this.#astroVersionProvider = astroVersionProvider;
this.#flags = flags;
}
shouldFire() {
return !!(this.#flags.help || this.#flags.h);
}
show({ commandName, description, headline, tables, usage }) {
const linebreak = () => "";
const title = (label) => ` ${this.#textStyler.bgWhite(this.#textStyler.black(` ${label} `))}`;
const table = (rows, { padding }) => {
const split = process.stdout.columns < 60;
let raw = "";
for (const row of rows) {
if (split) {
raw += ` ${row[0]}
`;
} else {
raw += `${`${row[0]}`.padStart(padding)}`;
}
raw += " " + this.#textStyler.dim(row[1]) + "\n";
}
return raw.slice(0, -1);
};
let message = [];
if (headline) {
message.push(
linebreak(),
`${formatVersion({ name: commandName, textStyler: this.#textStyler, astroVersionProvider: this.#astroVersionProvider })} ${headline}`
);
}
if (usage) {
message.push(
linebreak(),
` ${this.#textStyler.green(commandName)} ${this.#textStyler.bold(usage)}`
);
}
if (tables) {
let calculateTablePadding2 = function(rows) {
return rows.reduce((val, [first]) => Math.max(val, first.length), 0) + 2;
};
var calculateTablePadding = calculateTablePadding2;
const tableEntries = Object.entries(tables);
const padding = Math.max(...tableEntries.map(([, rows]) => calculateTablePadding2(rows)));
for (const [tableTitle, tableRows] of tableEntries) {
message.push(linebreak(), title(tableTitle), table(tableRows, { padding }));
}
}
if (description) {
message.push(linebreak(), `${description}`);
}
this.#logger.info("SKIP_FORMAT", message.join("\n") + "\n");
}
}
export {
LoggerHelpDisplay
};