Better stdout capturing
Some checks failed
Publish Library / Tag Version (push) Has been cancelled
Publish Library / Publish CDN & Docs (push) Has been cancelled
Publish Library / Build NPM Project (push) Has been cancelled

This commit is contained in:
2025-12-27 15:01:19 -05:00
parent 8ea2b560a5
commit c6259cfa62
2 changed files with 6 additions and 12 deletions

View File

@@ -1,6 +1,6 @@
{ {
"name": "@ztimson/node-utils", "name": "@ztimson/node-utils",
"version": "1.0.5", "version": "1.0.6",
"description": "CSS Utility Classes", "description": "CSS Utility Classes",
"author": "ztimson", "author": "ztimson",
"license": "MIT", "license": "MIT",

View File

@@ -1,17 +1,11 @@
import {execSync, spawn} from 'node:child_process'; import {exec, execSync} from 'node:child_process';
export function $(str: TemplateStringsArray, ...args: string[]): Promise<string> { export function $(str: TemplateStringsArray, ...args: string[]): Promise<string> {
let cmd = str.reduce((acc, part, i) => acc + part + (args[i] || ''), ''); let cmd = str.reduce((acc, part, i) => acc + part + (args[i] || ''), '');
return new Promise((res, rej) => { return new Promise((res, rej) => exec(cmd, (err, stdout, stderr) => {
const proc = spawn(cmd, {shell: true}); if(err) return rej(stderr || err);
let stdout = '', stderr = ''; return res((stdout || stderr).trim());
proc.stdout.on('data', (data) => stdout += data); }))
proc.stderr.on('data', (data) => stderr += data);
proc.on('close', (code) => {
if(code !== 0) return rej(new Error(stderr || stdout));
res(stdout.trim());
});
});
} }
export function $Sync(str: TemplateStringsArray, ...args: string[]): string { export function $Sync(str: TemplateStringsArray, ...args: string[]): string {