JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 835180
  • Score
    100M100P100Q179570F
  • License ISC

Utilities for process object

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

*nix build status Windows build status Tests coverage Transpilation status npm version

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