Package Exports
- process-utils/override-env
- process-utils/override-stderr-write
- process-utils/override-stdout-write
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (process-utils) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
process-utils
Utilities for Node.js process
handling
Installation
npm install process-utils
Available utilities
override-env
Overrides process.env
until provided restoreEnv()
is called. Helpful when testing modules which behavior
relies on environment settings.
const overrideEnv = require("process-utls/override-env");
process.env.FOO = "bar";
const { restoreEnv, originalEnv } = overrideEnv();
// Exposes original `process.env`
console.log(originalEnv.FOO); // "bar";
// Current `process.env` points other (empty plain) object
console.log(process.env.FOO); // undefined;
// Provides a callback to restore previous state
restoreEnv();
console.log(process.env.FOO); // "bar"
Override env as copy of original
process.env.FOO = "bar";
const { restoreEnv, originalEnv } = overrideEnv({ asCopy: true });
// Exposes process.env props
console.log(process.env.FOO); // "bar"
process.env.BAR = "elo";
// Further updates doesn't affect cached original env
console.log(originalEnv.BAR); // undefined
// Provides a callback to restore previous state
restoreEnv();
console.log(process.env.BAR); // undefined
override-stdout-write
& override-stderr-write
Override process.stdout.write
or process.stderr.write
with provided alternative
const overrideStdoutWrite = require("process-utls/override-stdout-write");
// Configure decorator that will strip ANSI codes
const {
originalStdoutWrite, // Original `write` bound to `process.stdout`
originalWrite, // Original `write` on its own
restoreStdoutWrite // Allows to restore previous state
} = overrideStdoutWrite((data, superWrite) => superWrite(stripAnsi(data)));
process.stdout.write(someAnsiCodeDecoratedString); // will be output with ANSI codes stripped out
// Restore previous state
restoreStdoutWrite();
Tests
npm test