PHPackages                             processmaker/docker-executor-node - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. processmaker/docker-executor-node

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

processmaker/docker-executor-node
=================================

Javascript script executor for processmaker 4

1.1.0(3y ago)382.8k↓22.7%2[3 PRs](https://github.com/ProcessMaker/docker-executor-node/pulls)GAGPL-3.0-or-laterPHP

Since Mar 24Pushed 2w ago23 watchersCompare

[ Source](https://github.com/ProcessMaker/docker-executor-node)[ Packagist](https://packagist.org/packages/processmaker/docker-executor-node)[ RSS](/packages/processmaker-docker-executor-node/feed)WikiDiscussions develop Synced 2d ago

READMEChangelog (4)DependenciesVersions (19)Used By (0)

ProcessMaker 4 NodeJS Script Executor
=====================================

[](#processmaker-4-nodejs-script-executor)

A docker image that allows executing native ES6 in [ProcessMaker 4](https://github.com/ProcessMaker/processmaker)

### Building

[](#building)

To build from the master branch of the SDK at . This will build the image as processmaker4/executor-node:latest

`docker build -t processmaker4/executor-node:latest .`

If you want to use a different branch or local build of the sdk, you can copy it to `./src/sdk-node`and it will be used instead of cloning from github.

### Scripts

[](#scripts)

The javascript must return either an object, a promise that resolves to an object, or nothing.

Your script has access to the global variables `data`, `config`, and `api`

Return an object:

```
return { "foo" : "bar" }
```

Return a promise:

```
return new Promise((resolve, reject) => {
    resolve({ "foo" : "bar" })
})
```

Return nothing:

```
// just run some javascript here without calling return
```

### Using the ProcessMaker API

[](#using-the-processmaker-api)

Using the global `api` variable, you can run commands like this to return all users' eamils. See the processmaker api documentation for more information. https://&lt;process\_maker\_address&gt;/api/documentation

```
return new Promise((resolve, reject) => {
    let apiInstance = new api.UsersApi()
    apiInstance.getUsers({}, (error, data, response) => {
        if (error) { reject(error); return }
        let emails = data.data.map(user => {
            return user.email
        });
        resolve({"emails" : emails })
    })
})
```

### Running

[](#running)

This image is meant to be run by the script executor in ProcessMaker 4 but can also be run from the command line:

```
docker run -v :/opt/executor/data.json \
  -v :/opt/executor/config.json \
  -v :/opt/executor/script.js \
  -v :/opt/executor/output.json \
  processmaker4/executor-node \
  ./run.sh

```

#### License

[](#license)

Distributed under the [AGPL Version 3](https://www.gnu.org/licenses/agpl-3.0.en.html)

ProcessMaker (C) 2002 - 2020 ProcessMaker Inc.

For further information visit:

###  Health Score

49

—

FairBetter than 94% of packages

Maintenance63

Regular maintenance activity

Popularity35

Limited adoption so far

Community19

Small or concentrated contributor base

Maturity65

Established project with proven stability

 Bus Factor1

Top contributor holds 76.9% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~649 days

Total

4

Last Release

338d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/2ab66faa2bb09e27a5499a2aa35203a378d656d7df3b21582ace7f447cde8605?d=identicon)[processmaker](/maintainers/processmaker)

---

Top Contributors

[![nolanpro](https://avatars.githubusercontent.com/u/2546850?v=4)](https://github.com/nolanpro "nolanpro (40 commits)")[![ryancooley](https://avatars.githubusercontent.com/u/867714?v=4)](https://github.com/ryancooley "ryancooley (4 commits)")[![caleeli](https://avatars.githubusercontent.com/u/8028650?v=4)](https://github.com/caleeli "caleeli (3 commits)")[![velkymx](https://avatars.githubusercontent.com/u/535300?v=4)](https://github.com/velkymx "velkymx (3 commits)")[![danloa](https://avatars.githubusercontent.com/u/14875032?v=4)](https://github.com/danloa "danloa (1 commits)")[![pmkerberos](https://avatars.githubusercontent.com/u/44475741?v=4)](https://github.com/pmkerberos "pmkerberos (1 commits)")

### Embed Badge

![Health badge](/badges/processmaker-docker-executor-node/health.svg)

```
[![Health](https://phpackages.com/badges/processmaker-docker-executor-node/health.svg)](https://phpackages.com/packages/processmaker-docker-executor-node)
```

###  Alternatives

[ttree/eelshell

A shell for EEL expressions

178.5k](/packages/ttree-eelshell)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
