@riddance/env
Version:
38 lines • 4.61 kB
JavaScript
import { relative } from 'node:path';
import { fileURLToPath } from 'node:url';
import { styleText } from 'node:util';
const cwd = process.cwd();
export const consoleReporter = {
status: (message) => {
console.log(message);
},
error: (message, file, line, column) => {
let context = '';
if (file) {
const f = relative(cwd, file.startsWith('file://') ? fileURLToPath(file) : file);
let point = '';
if (line) {
point = ':' + line.toString();
if (column) {
point += ':' + column.toString();
}
}
context = styleText('blueBright', f) + styleText('grey', point + ' - ');
}
console.error(context + message);
},
fatal: (message, error, file) => {
let context = '';
if (file) {
context += file + ' - ';
}
console.error(context + message);
if (error) {
console.error(error);
}
},
done: () => {
console.log();
},
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc29sZS1yZXBvcnRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImNvbnNvbGUtcmVwb3J0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQUNwQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sVUFBVSxDQUFBO0FBQ3hDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxXQUFXLENBQUE7QUFFckMsTUFBTSxHQUFHLEdBQUcsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFBO0FBRXpCLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRztJQUMzQixNQUFNLEVBQUUsQ0FBQyxPQUFlLEVBQUUsRUFBRTtRQUN4QixPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFBO0lBQ3hCLENBQUM7SUFDRCxLQUFLLEVBQUUsQ0FBQyxPQUFlLEVBQUUsSUFBYSxFQUFFLElBQWEsRUFBRSxNQUFlLEVBQUUsRUFBRTtRQUN0RSxJQUFJLE9BQU8sR0FBRyxFQUFFLENBQUE7UUFDaEIsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNQLE1BQU0sQ0FBQyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQTtZQUNoRixJQUFJLEtBQUssR0FBRyxFQUFFLENBQUE7WUFDZCxJQUFJLElBQUksRUFBRSxDQUFDO2dCQUNQLEtBQUssR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFBO2dCQUM3QixJQUFJLE1BQU0sRUFBRSxDQUFDO29CQUNULEtBQUssSUFBSSxHQUFHLEdBQUcsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFBO2dCQUNwQyxDQUFDO1lBQ0wsQ0FBQztZQUNELE9BQU8sR0FBRyxTQUFTLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxNQUFNLEVBQUUsS0FBSyxHQUFHLEtBQUssQ0FBQyxDQUFBO1FBQzNFLENBQUM7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUMsQ0FBQTtJQUNwQyxDQUFDO0lBQ0QsS0FBSyxFQUFFLENBQUMsT0FBZSxFQUFFLEtBQWMsRUFBRSxJQUFhLEVBQUUsRUFBRTtRQUN0RCxJQUFJLE9BQU8sR0FBRyxFQUFFLENBQUE7UUFDaEIsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNQLE9BQU8sSUFBSSxJQUFJLEdBQUcsS0FBSyxDQUFBO1FBQzNCLENBQUM7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUMsQ0FBQTtRQUNoQyxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ1IsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUN4QixDQUFDO0lBQ0wsQ0FBQztJQUNELElBQUksRUFBRSxHQUFHLEVBQUU7UUFDUCxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUE7SUFDakIsQ0FBQztDQUNKLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyByZWxhdGl2ZSB9IGZyb20gJ25vZGU6cGF0aCdcbmltcG9ydCB7IGZpbGVVUkxUb1BhdGggfSBmcm9tICdub2RlOnVybCdcbmltcG9ydCB7IHN0eWxlVGV4dCB9IGZyb20gJ25vZGU6dXRpbCdcblxuY29uc3QgY3dkID0gcHJvY2Vzcy5jd2QoKVxuXG5leHBvcnQgY29uc3QgY29uc29sZVJlcG9ydGVyID0ge1xuICAgIHN0YXR1czogKG1lc3NhZ2U6IHN0cmluZykgPT4ge1xuICAgICAgICBjb25zb2xlLmxvZyhtZXNzYWdlKVxuICAgIH0sXG4gICAgZXJyb3I6IChtZXNzYWdlOiBzdHJpbmcsIGZpbGU/OiBzdHJpbmcsIGxpbmU/OiBudW1iZXIsIGNvbHVtbj86IG51bWJlcikgPT4ge1xuICAgICAgICBsZXQgY29udGV4dCA9ICcnXG4gICAgICAgIGlmIChmaWxlKSB7XG4gICAgICAgICAgICBjb25zdCBmID0gcmVsYXRpdmUoY3dkLCBmaWxlLnN0YXJ0c1dpdGgoJ2ZpbGU6Ly8nKSA/IGZpbGVVUkxUb1BhdGgoZmlsZSkgOiBmaWxlKVxuICAgICAgICAgICAgbGV0IHBvaW50ID0gJydcbiAgICAgICAgICAgIGlmIChsaW5lKSB7XG4gICAgICAgICAgICAgICAgcG9pbnQgPSAnOicgKyBsaW5lLnRvU3RyaW5nKClcbiAgICAgICAgICAgICAgICBpZiAoY29sdW1uKSB7XG4gICAgICAgICAgICAgICAgICAgIHBvaW50ICs9ICc6JyArIGNvbHVtbi50b1N0cmluZygpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29udGV4dCA9IHN0eWxlVGV4dCgnYmx1ZUJyaWdodCcsIGYpICsgc3R5bGVUZXh0KCdncmV5JywgcG9pbnQgKyAnIC0gJylcbiAgICAgICAgfVxuICAgICAgICBjb25zb2xlLmVycm9yKGNvbnRleHQgKyBtZXNzYWdlKVxuICAgIH0sXG4gICAgZmF0YWw6IChtZXNzYWdlOiBzdHJpbmcsIGVycm9yOiB1bmtub3duLCBmaWxlPzogc3RyaW5nKSA9PiB7XG4gICAgICAgIGxldCBjb250ZXh0ID0gJydcbiAgICAgICAgaWYgKGZpbGUpIHtcbiAgICAgICAgICAgIGNvbnRleHQgKz0gZmlsZSArICcgLSAnXG4gICAgICAgIH1cbiAgICAgICAgY29uc29sZS5lcnJvcihjb250ZXh0ICsgbWVzc2FnZSlcbiAgICAgICAgaWYgKGVycm9yKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKGVycm9yKVxuICAgICAgICB9XG4gICAgfSxcbiAgICBkb25lOiAoKSA9PiB7XG4gICAgICAgIGNvbnNvbGUubG9nKClcbiAgICB9LFxufVxuIl19