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

n8n-nodes-ibmi-mapepire

v0.2.6

Published

n8n community nodes to run IBM i SQL and CL commands via Mapepire

Readme

Mapepire IBM i Node for n8n

Run IBM i Db2 SQL queries and CL commands in n8n through a Mapepire server (@ibm/mapepire-js). Focused, fast, parameterized.

What It Does

  • SQL query execution with automatic paging
  • CL command execution
  • Optional parameter binding via JSON (array or object)
  • Connection reuse toggle for bulk item performance
  • Include / exclude metadata & update counts
  • Optional terse output (rows only)
  • TLS: ignore self‑signed or provide custom CA
  • Structured errors when workflow uses continueOnFail

Quick Start

  1. Install deps & build
npm install
npm run build
  1. Launch n8n with this node:
# Fast path (build + run using dist/)
npm run dev:n8n

# Watch mode (rebuild on file save, then n8n runs with built code)
npm run dev:n8n:watch

# Manual (if you prefer explicit commands)
npm run build
N8N_CUSTOM_EXTENSIONS="$(pwd)/dist" npx n8n

# If n8n installed globally instead of npx
export N8N_CUSTOM_EXTENSIONS="$(pwd)/dist" && n8n start

# Alternative: point at project root (package.json -> dist)
N8N_CUSTOM_EXTENSIONS="$(pwd)" npx n8n

# Classic link into a local n8n clone
(cd /path/to/your/n8n && npm link n8n-nodes-ibmi-mapepire)
  1. In n8n: add node named "Mapepire".

Docker Compose

If you run n8n in Docker, mount the built extension and point n8n at it:

services:
  n8n:
    image: n8nio/n8n:1.109.2
    environment:
      - N8N_CUSTOM_EXTENSIONS=/extensions/n8n-nodes-ibmi-mapepire
    volumes:
      - ./dist:/extensions/n8n-nodes-ibmi-mapepire:ro
    ports:
      - '5678:5678'

Steps:

  • Build locally first: npm run build (generates dist/)
  • Start compose; n8n will load the extension from /extensions/... inside the container

If you previously installed this package via n8n’s Community Packages UI/ENV and see loader errors, remove the cached install inside the container and restart:

docker exec -it <container-name> bash -lc 'rm -rf /home/node/.n8n/node_modules/n8n-nodes-ibmi-mapepire && exit'
docker compose restart n8n

Alternatively, if you prefer n8n to install from npm at startup, set:

environment:
  - N8N_COMMUNITY_PACKAGES=n8n-nodes-ibmi-mapepire@^0.2.4

Note: when installing from npm, ensure you’re using a version containing the latest manifest fixes.

Credentials

Host, port, user, password. For TLS:

  • Ignore Unauthorized TLS: accept self‑signed
  • CA Certificate: paste PEM if you prefer validation

Using the Node

Operation: choose SQL Query or CL Command.

For SQL:

  • Query: your SQL (use placeholders supported by current @ibm/mapepire-js version)
  • Use Parameters: enable, then provide JSON
    • Array example: ["ACME", 42]
    • Object example: { "CUST_ID": 42, "STATUS": "A" }
  • Reuse Connection: speed up many input items with same creds
  • Include Metadata: disable for leaner output (rows only)
  • Terse Result: further trims auxiliary fields

For CL: just supply the command text. Result returns completion info & messages.

Errors: When continueOnFail is enabled, each item returns an error object instead of throwing.

Testing & Development

npm test          # Run Vitest suite
npm run test:watch

Implementation mocks Mapepire classes—no live IBM i needed.

Code Style

This repo uses Prettier. Format all files before committing (release script enforces it):

npm run format        # write changes
npm run format:check  # verify only

Releasing (Summary)

Use semantic scripts (patch | minor | major):

npm run release:patch

They bump version + tag; CI (with NPM_TOKEN secret) builds, tests, publishes. See CHANGELOG.md for history.

Troubleshooting

Node missing in n8n:

  • Confirm dist/ exists (rebuild if not)
  • Ensure N8N_CUSTOM_EXTENSIONS path is absolute & exported
  • Restart n8n after rebuilding

Parameter issues: verify placeholder style matches library version.

TLS failures: try Ignore Unauthorized first; if that works, add proper CA.

License

MIT


Lean README version: detailed release & CI notes moved to history / scripts. Check CHANGELOG.md for full enhancement log.

  • Ensure environment variable path is correct