3.0.0 • Published 4 years ago

hook-std v3.0.0

Weekly downloads
412,927
License
MIT
Repository
github
Last release
4 years ago

hook-std

Hook and modify stdout and stderr

Install

npm install hook-std

Usage

import assert from 'node:assert';
import {hookStdout} from 'hook-std';

const promise = hookStdout(output => {
	promise.unhook();
	assert.strictEqual(output.trim(), 'unicorn');
});

console.log('unicorn');
await promise;

You can also unhook using the second transform method parameter:

import assert from 'node:assert';
import {hookStdout} from 'hook-std';

const promise = hookStdout((output, unhook) => {
	unhook();
	assert.strictEqual(output.trim(), 'unicorn');
});

console.log('unicorn');
await promise;

API

hookStd(options?, transform)

Hook streams in streams option, or stdout and stderr if none are specified.

Returns a Promise with a unhook() method which, when called, unhooks both stdout and stderr and resolves the Promise with an empty result.

hookStdout(options?, transform)

Hook stdout.

Returns a Promise with a unhook() method which, when called, unhooks stdout and resolves the Promise with an empty result.

hookStderr(options?, transform)

Hook stderr.

Returns a Promise with a unhook() method which, when called, unhooks stderr and resolves the Promise with an empty result.

options

Type: object

silent

Type: boolean\ Default: true

Suppress stdout/stderr output.

once

Type: boolean\ Default: false

Automatically unhook after the first call.

streams

Type: stream.Writable[]\ Default: [process.stdout, process.stderr]

The writable streams to hook. This can be useful for libraries allowing users to configure a writable stream to write to.

transform

Type: Function

Receives stdout/stderr as the first argument and the unhook method as the second argument. Return a string to modify it. Optionally, when in silent mode, you may return a boolean to influence the return value of .write(…).

archetype-librarykilli8n-react-native-fast-image@educationperfect/semantic-release@mink-opn/build-tokenssfpowerkit@everything-registry/sub-chunk-1860@rabailriaz/hisaab-web-portaltemp-semantic-release-debugtemp-test-semantic-releasesportscale-wifi-connect@dotcom-tool-kit/prettier@pradeepgudipati/kovaad-chat-ui-kit-styles@payfit/semantic-release@robjtede/alfygomantic_releaseweb-yii2spigot-ui-inventorytravis-semantic-releasetwine-libtwine-library@armor/semantic-release@blazinaj/app-kit@bgdanix/semrls@career0.1/my-first-career0.1@career0.1/my-first-career0.2@brezel/semantic-release@achingbrain/semantic-release@boundstate/firebase-migratevue-v3-yandex-metrikawebiny-semantic-releaseverim@hiregenius/sfcitools@hex-public/semantic-release@goraxe/semantic-release@innodata/vue-v3-ya-metrika@infinitebrahmanuniverse/nolb-hoo@lawrenceloz/sfpowerscripts@lawrenceloz/sfps@muyi086/semantic-release-optimize@kalkanisys/vue-select@jellywelly/iterare@killianhmyd/semantic-release@pvdlg/semantic-release@ramk-exp/semantic-release@pony-ci/sfdx-node@nwing/node-module-generator@opn-ooo/eslint-config-opn@spmeesseman/app-publisher@sofair-official/semantic-release-squash@semantic-release-plus/nx-tools@semrel/cli@romvnly/semantic-releasemonorepo-semantic-releaseminimauscgamecocksandstormmiguelcostero-ng2-toastys3-modulesemantic-release-ramkraosemantic-release-plussemantic-releasesemantic-release-flexsemantic-release-squashsemantic-release-squash3semantic-release-tsheets-testsemantic-release-wo-notessemantic-release-gitmoji-actionsemantic-release-notesredirect-function-output-streamsresume34567resume_fivesfdx-nodereact-picky-with-clearsfpowerkit-kp-clisindresorhus.jsskysyncgogencygogency-test-2git-cz-customgit-branching-workflow@yevhen.kalyna/semantic-releasealfred-opener-for-asanaalfyalfred-upvoter-for-asanaalfred-filer-for-asanaantoinebigard-semantic-releasecontiamo-semantic-releasecustom-widgets-librarydate-to-block-ethcjs-test-semantic-releaselets-releaselog_monitorlvbyte-cdn@superboost/semantic-release@w4rlock/semantic-releasebinocularsarvishcailunduo-base64
3.0.0

4 years ago

2.0.0

6 years ago

1.2.0

6 years ago

1.1.0

7 years ago

1.0.1

7 years ago

1.0.0

7 years ago

0.4.0

8 years ago

0.3.0

8 years ago

0.2.0

9 years ago

0.1.0

9 years ago