Beta 2 for IBM SDK for Node.js — z/OS, based on Node.js v6.11.0 is now available for download here. This beta brings z/OS up-to-speed with the current Node.js community LTS release. On top of that, it offers some major z/OS enhancements.

Native add-ons are now enabled and it uses the C/C++ compiler that is shipped with the node package itself. The file-system watch facility is also enabled with the limitation that it only works on files and not directories. Furthermore, Node.js will now obey file tagging information. Additionally, we have fixed a few minor issues reported by some of our customers.

There are a few important points to highlight with the z/OS native add-on support:

  • Due to compiler option differences in XL C/C++ versus other compilers, we had to make some z/OS-specific updates to node-gyp. The version of node-gyp packaged in the Technical Preview drivers already includes the necessary z/OS changes, and you should use this version to build your native code (i.e. don’t bother with npm install node-gyp). We will be looking into contributing these changes to the official repositories.
  • Python 2.7.x is required to facilitate native add-ons compilations. A compatible version is available from Rocket Software
  • GNU Make 4.0 or newer is required. A compatible version is available from Rocket Software

To expand further on the file tagging support, the z/OS filesystem allows it’s users to tag files as either ebcdic, ascii or binary. We wanted Node.js developers to take full advantage of this feature. For example if the Node.js application uses a JPEG file, it can be tagged as binary. Or if the application consumes javascript files that are encoded in the ascii code-page, you can tag them as ascii. Filetags can be changed using the chtag command.

The Beta1 release required setting a STEPLIB environment variable before running Node.js. There is now a PTF available (UI46658) that if installed does not require the setting this environment variable.

Join The Discussion

Your email address will not be published. Required fields are marked *