Skip to content

Commit

Permalink
tt
Browse files Browse the repository at this point in the history
  • Loading branch information
IIIMADDINIII committed Oct 27, 2024
1 parent 0779510 commit 744f2e9
Showing 1 changed file with 11 additions and 10 deletions.
21 changes: 11 additions & 10 deletions lib/verbose/log.js
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
import process from 'node:process';
import { writeFileSync } from 'node:fs';
import { inspect } from 'node:util';
import { escapeLines } from '../arguments/escape.js';
import { defaultVerboseFunction } from './default.js';
import { applyVerboseOnLines } from './custom.js';
import {writeFileSync} from 'node:fs';
import {inspect} from 'node:util';
import {escapeLines} from '../arguments/escape.js';
import {defaultVerboseFunction} from './default.js';
import {applyVerboseOnLines} from './custom.js';

// Write synchronously to ensure lines are properly ordered and not interleaved with `stdout`
export const verboseLog = ({ type, verboseMessage, fdNumber, verboseInfo, result }) => {
const verboseObject = getVerboseObject({ type, result, verboseInfo });
export const verboseLog = ({type, verboseMessage, fdNumber, verboseInfo, result}) => {
const verboseObject = getVerboseObject({type, result, verboseInfo});
const printedLines = getPrintedLines(verboseMessage, verboseObject);
const finalLines = applyVerboseOnLines(printedLines, verboseInfo, fdNumber);
// On Windows when stdout is pointing to a terminal writeFileSync causes problems with multibyte Characters not displaying correctly
Expand All @@ -16,13 +16,14 @@ export const verboseLog = ({ type, verboseMessage, fdNumber, verboseInfo, result
process.stderr.write(finalLines);
return;
}

writeFileSync(STDERR_FD, finalLines);
};

const getVerboseObject = ({
type,
result,
verboseInfo: { escapedCommand, commandId, rawOptions: { piped = false, ...options } },
verboseInfo: {escapedCommand, commandId, rawOptions: {piped = false, ...options}},
}) => ({
type,
escapedCommand,
Expand All @@ -35,11 +36,11 @@ const getVerboseObject = ({

const getPrintedLines = (verboseMessage, verboseObject) => verboseMessage
.split('\n')
.map(message => getPrintedLine({ ...verboseObject, message }));
.map(message => getPrintedLine({...verboseObject, message}));

const getPrintedLine = verboseObject => {
const verboseLine = defaultVerboseFunction(verboseObject);
return { verboseLine, verboseObject };
return {verboseLine, verboseObject};
};

// Unless a `verbose` function is used, print all logs on `stderr`
Expand Down

0 comments on commit 744f2e9

Please sign in to comment.