Reusing code with npm community packages for Node.js

One of the key advantages of Node.js is its vast collection of open source community packages. The popular npmjs.com registry contains over 2 million packages.

Download and integrate these packages to jump-start your applications, achieve faster time-to-implementation, and support your agile development practices. This development style discourages monolithic applications and encourages better encapsulation.

The Node.js framework is available at no cost to z/OS® clients via Open Enterprise SDK for Node.js, which allows you to use the community npm packages on z/OS. Furthermore, the SDK includes the npm client so you can install packages from the command line. See Building Node.js applications for more information.

You can use some z/OS-specific packages:
  • ibm-cics-api* – calls service-enabled IBM® CICS® applications
  • ibm_db* – interfaces with IBM Db2® and IBM Informix®
  • mvsutils* - interfaces with z/OS MVS C
  • nodejs-bpxwdyn* - performs dynamic allocation with Node.js on z/OS
  • racf* - validates user credentials against RACF®
  • vsam.js* – reads and modifies VSAM data sets on z/OS
  • zcrypto* - provides interfaces to z/OS crypto facilities such as accessing RACF key rings and KDB (Key databases)
  • zosconnect-node* – discovers and accesses z/OS Connect service-enabled IBM Z® resources
  • zos-node-accessor* – interacts with z/OS easily (lists, downloads, and uploads datasets or files, submits JCL and tracks status, accesses SYSOUT dataset, and so on)
  • zrexx* - calls z/OS REXX scripts from Node.js
  • ZOAU - a Node.js module for IBM Z Open Automation Utilities (ZOAU), which includes manipulating HFS/ZFS files/directories and MVS data sets/PDS(E)s, as well as running traditional MVS commands, such as IEBCOPY, IDCAMS, and IKJEFT01
You can also use other popular packages:
  • express* – fast and minimal web framework
  • body-parser - body parsing middleware
  • glob - matches files by using the patterns that the shell uses, such as stars and stuff
  • lodash - makes JavaScript easier by taking the hassle out of working with arrays, numbers, objects, strings, and so on
  • minimist - parses argument options
  • through2 - a tiny wrapper around Node.js streams. Transforms (Streams2/3) to avoid explicit subclassing noise
  • underscore - utility-belt library for JavaScript that provides support for the usual functional suspects (each, map, reduce, filter...) without extending any core JavaScript objects
  • uuid - creation of RFC4122 UUIDs
  • yargs - helps you build interactive command-line tools by parsing arguments and generating an elegant user interface

*IBM-contributed

Explore more packages on the npmjs.org registry website, where you can find exclusive-to-z/OS packages tagged with z/OS. Packages without a z/OS tag should work across all platforms, including z/OS.