npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

trm-client

v7.7.1

Published

TRM (Transport Request Manager) Client

Readme

Contributor Covenant trm-client License trm-client Latest version trm-client Installs

| 🚀 This project is funded and maintained by 🏦 | 🔗 | |-------------------------------------------------|----------------------------------------------------------------| | Regesta S.p.A. | https://www.regestaitalia.eu/ | | Clarex S.r.l. | https://www.clarex.it/ |

trm-client is the CLI implementation of the core functionalities of TRM.

🚚 TRM (Transport Request Manager) is a package manager inspired solution built leveraging CTS that simplifies SAP ABAP transports.

TRM introduces package-based software delivery to the SAP ecosystem, bringing with it semantic versioning, dependency management, and automated deployment activities.


What is TRM?

TRM is a software that transforms how custom ABAP developments are published, installed, and maintained across SAP landscapes. Inspired by modern package managers, TRM introduces a declarative, version-controlled, and automated way to manage your SAP transports.

With TRM, you can:

  • Define a manifest for each ABAP package (similar to package.json with Node.js or pom.xml with Maven)
  • Version your products (SemVer compliance)
  • Declare dependencies (to other TRM packages, SAP standard objects, or customizing data)
  • Automate post-install activities, such as client dependant customizing, cache invalidation etc.
  • Validate system requirements prior to installation
  • Compare versions of the same product across multiple SAP systems (in or outside the same landscape)
  • Distribute your product release to the public or to a restricted number of users:
    • Registry (e.g., trmregistry.com or private registry)
    • Local .trm files for offline installations

Modern approach for ABAP

  • Publish ABAP packages from a central development system
  • Deliver packages to target systems (outside of the original landscape e.g. customers development system) using a single CLI command (or in a pipeline)
  • Full support for workbench objects, customizing, and translations

Structured Manifest

Each package includes a manifest.json that declares:

  • Version and metadata
  • System requirements
  • Dependencies
  • Post-install scripts

Documentation

Full documentation can be seen at https://docs.trmregistry.com/.


Dockerized version (Recommended)

If you are using Docker, the recommended approach is to use trm-docker.

Download Docker Run Script

This script is a small utility used to run TRM inside Docker. After installing the required SAP proprietary tools, the script can be moved into a directory included in your PATH so that it can be executed from anywhere.

  1. Go to the trm-docker repository
  2. Download the script corresponding to your operating system:
    • Windows: download win.cmd and rename it to trm.cmd
    • macOS / Linux: download macos, rename it to trm, and make it executable:
      chmod +x trm
  3. In the same directory where you placed the script, create a folder named init.

This init folder will later contain the SAP proprietary files required by TRM.

Download SAPCAR and SAPEXE and Extract Required Files

SAPCAR is used to extract .SAR archives downloaded from SAP Software Center.

Download SAPCAR

  1. Log in to the SAP Software Center
  2. Click SUPPORT PACKAGES & PATCHES
  3. Expand By Alphabetical Index (A–Z) and select S
  4. Click SAPCAR
  5. Choose the latest version
  6. On the download page select your operating system:
    • WINDOWS ON X64 64BIT
    • MACOS ON ARM64BIT
    • MACOS X 64-BIT
  7. Download:
    • Windows → latest .EXE
    • macOS → latest .ZIP
  8. If using macOS, extract the archive and make the binary executable:
    chmod +x SAPCAR

Download SAP Kernel Files

  1. Go back to SUPPORT PACKAGES & PATCHES
  2. Expand By Alphabetical Index (A–Z) and select K
  3. Click SAP KERNEL 64-BIT
  4. Choose the latest version
  5. On the download page select LINUX ON X86_64 64BIT
  6. Download the latest SAPEXE archive
    (file name similar to SAPEXE_###-########.SAR)

Extract the Required Files

  1. Place the downloaded SAPEXE_*.SAR file in the same directory as SAPCAR.

  2. Extract it:

    Windows

    SAPCAR -xvf SAPEXE_###-########.SAR

    macOS / Linux

    ./SAPCAR -xvf SAPEXE_###-########.SAR
  3. After extraction, move the following files into the previously created init folder:

    R3trans
    libicudata##.so
    libicui18n##.so
    libicuuc##.so
  4. (Optional) If you want RFC functionality available in TRM, also move the following files into the init folder:

    startrfc
    rfcexec
    libsapnwrfc.so
    libsapucum.so

Pull docker image

Execute this command to pull the latest docker image

docker pull --platform=linux/amd64 abaptrm/docker

Initial Installation via Script

Once the init folder is populated and the trm script is ready, run the script from the directory where it is located.

Windows

trm

macOS / Linux

./trm

The first execution performs the initial setup of the Docker environment.
After the installation completes, you may move the script to a directory included in your system PATH so it can be executed from anywhere.

Windows

C:\Windows\System32

macOS / Linux

/usr/local/bin

After this step, you can simply run:

trm

from any directory.


Install via Npm

With Node.js and npm installed, you can install trm-client via npm, as it is distributed as a Node.js package.

TODO


Contributing

Like every other TRM open-source projects, contributions are always welcomed ❤️.

Make sure to open an issue first.

Contributions will be merged upon approval.

Click here for the full list of TRM contribution guidelines.