Skip to main content


Works with
This package works with Bun
This package works with Node.js
This package works with Deno
JSR Score
4 weeks ago (1.0.3)



This package provides essential utility modules and types that are used across multiple Pup components, including core, telemetry and api.


  • /ipc: Provides types and mechanisms for inter-process communication (IPC) within the Pup ecosystem. This is especially important for communication between Pup and managed processes.
  • /path: Offers cross-platform path manipulation utilities, ensuring consistent path handling across different operating systems.
  • /eventemitter: Includes an event emitter implementation, facilitating event-driven communication between Pup components.


  1. Install:

    npm install @pup/common


    yarn add @pup/common
  2. Import and Use:

    import { normalizePath } from "@pup/common/path";
    import { EventEmitter } from "@pup/common/eventemitter";
    const eventBus = new EventEmitter();
    eventBus.close(); // Allow the application to exit
    // Checks if absolute, else resolves using the supplied working directory
    const myAbsoutePath = toResolvedAbsolutePath(

Development and Contributions

The @pup/common package is actively maintained by the Pup development team. If you have suggestions for new utility modules, improvements, or bug fixes, please open an issue on the GitHub repository: Contributions are welcome!

This library follows semantic versioning. For a detailed history of changes, please refer to the


This package is released under the MIT License. See LICENSE for details.

Built and signed on
GitHub Actions
View transparency log