From ce56280c769b179b4f7360ac9d9e0c9f078855ff Mon Sep 17 00:00:00 2001 From: Patrik Meijer Date: Tue, 22 Jul 2025 14:51:07 -0400 Subject: [PATCH 1/3] Bump zeromq to 6.5.0 --- package-lock.json | 52 +++++++++++++++++++++++++---------------------- package.json | 2 +- 2 files changed, 29 insertions(+), 25 deletions(-) diff --git a/package-lock.json b/package-lock.json index 29be3df..8fdf87c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,18 +1,18 @@ { "name": "webgme-bindings", - "version": "1.2.4", + "version": "1.3.0-beta.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "webgme-bindings", - "version": "1.2.4", + "version": "1.3.0-beta.1", "license": "MIT", "dependencies": { "bindings": "^1.5.0", "commander": "^11.1.0", "q": "^1.5.1", - "zeromq": "^5.1.0" + "zeromq": "^6.5.0" }, "devDependencies": { "babel-core": "^6.26.3", @@ -2172,6 +2172,15 @@ "node": ">=6" } }, + "node_modules/cmake-ts": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/cmake-ts/-/cmake-ts-1.0.2.tgz", + "integrity": "sha512-5l++JHE7MxFuyV/OwJf3ek7ZZN1aGPFPM5oUz6AnK5inQAPe4TFXRMz5sA2qg2FRgByPWdqO+gSfIPo8GzoKNQ==", + "license": "MIT", + "bin": { + "cmake-ts": "build/main.js" + } + }, "node_modules/color": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/color/-/color-3.2.1.tgz", @@ -6489,11 +6498,6 @@ "integrity": "sha512-r65nCZhrbXXb6dXOACihYApHw2Q6pV0M3V0PSxd74N0+D8nzAdEAITq2oAjA1jVnKI+tGvEBUpqiMh0+rW6zDQ==", "dev": true }, - "node_modules/nan": { - "version": "2.17.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.17.0.tgz", - "integrity": "sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ==" - }, "node_modules/natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", @@ -6552,6 +6556,15 @@ "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "dev": true }, + "node_modules/node-addon-api": { + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-8.5.0.tgz", + "integrity": "sha512-/bRZty2mXUIFY/xU5HLvveNHlswNJej+RnxBjOMkidWfwZzgTbPG1E3K5TOxRLOR+5hX7bSofy8yf1hZevMS8A==", + "license": "MIT", + "engines": { + "node": "^18 || ^20 || >= 21" + } + }, "node_modules/node-fetch": { "version": "2.7.0", "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", @@ -6572,16 +6585,6 @@ } } }, - "node_modules/node-gyp-build": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.6.1.tgz", - "integrity": "sha512-24vnklJmyRS8ViBNI8KbtK/r/DmXQMRiOMXTNz2nrTnAYUwjmEEbnnpB/+kt+yWRv73bPsSPRFddrcIbAxSiMQ==", - "bin": { - "node-gyp-build": "bin.js", - "node-gyp-build-optional": "optional.js", - "node-gyp-build-test": "build-test.js" - } - }, "node_modules/nodemailer": { "version": "6.9.6", "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-6.9.6.tgz", @@ -12739,16 +12742,17 @@ "optional": true }, "node_modules/zeromq": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/zeromq/-/zeromq-5.3.1.tgz", - "integrity": "sha512-4WDF9bNWWXe8OAI319bVw5dmG4BklEk8wzFGwRQxEzKb+0mgDU5J/jtyZPo0BEusVIU1+3mRQIEdT5LtQn+aAw==", + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/zeromq/-/zeromq-6.5.0.tgz", + "integrity": "sha512-vWOrt19lvcXTxu5tiHXfEGQuldSlU+qZn2TT+4EbRQzaciWGwNZ99QQTolQOmcwVgZLodv+1QfC6UZs2PX/6pQ==", "hasInstallScript": true, + "license": "MIT AND MPL-2.0", "dependencies": { - "nan": "2.17.0", - "node-gyp-build": "^4.5.0" + "cmake-ts": "1.0.2", + "node-addon-api": "^8.3.1" }, "engines": { - "node": ">=6.0" + "node": ">= 12" } }, "node_modules/zip-stream": { diff --git a/package.json b/package.json index 000ef5f..7501015 100644 --- a/package.json +++ b/package.json @@ -58,6 +58,6 @@ "bindings": "^1.5.0", "commander": "^11.1.0", "q": "^1.5.1", - "zeromq": "^5.1.0" + "zeromq": "^6.5.0" } } From 557f7d0cf316b166f2b587e98d0aaa76e083b997 Mon Sep 17 00:00:00 2001 From: Patrik Meijer Date: Tue, 22 Jul 2025 16:51:45 -0400 Subject: [PATCH 2/3] Use zermq/v5-compat and add python to CI --- .github/workflows/test.yaml | 16 ++++++++++++++++ src/corezmq.js | 2 +- zmq/tutorial_client.js | 2 +- zmq/tutorial_server.js | 2 +- 4 files changed, 19 insertions(+), 3 deletions(-) diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index 032764c..5dd77c5 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -10,19 +10,35 @@ jobs: strategy: matrix: node-version: [22] + python-version: [3.10] steps: - name: Checkout code uses: actions/checkout@v4 + + - name: Set up Python + uses: actions/setup-python@v4 + with: + python-version: ${{ matrix.python-version }} + + - name: Ensure pip is up to date + run: python -m pip install --upgrade pip + + - name: Install webgme_bindings Python module + run: pip install -e python/webgme_bindings + - name: Start MongoDB uses: supercharge/mongodb-github-action@1.12.0 with: mongodb-version: 8 + - name: Set up Node.js uses: actions/setup-node@v3 with: node-version: ${{ matrix.node-version }} + - name: Install dependencies run: npm install + - name: Run tests run: npm test \ No newline at end of file diff --git a/src/corezmq.js b/src/corezmq.js index d4bafb2..3acb1a4 100644 --- a/src/corezmq.js +++ b/src/corezmq.js @@ -10,7 +10,7 @@ * @author pmeijer / https://github.com/pmeijer */ -const zmq = require('zeromq'); +const zmq = require('zeromq/v5-compat'); const Q = require('q'); const pluginUtil = require('webgme-engine/src/plugin/util'); diff --git a/zmq/tutorial_client.js b/zmq/tutorial_client.js index 75e4d4f..7d74379 100644 --- a/zmq/tutorial_client.js +++ b/zmq/tutorial_client.js @@ -2,7 +2,7 @@ // Connects REQ socket to tcp://localhost:5555 // Sends "Hello" to server. -var zmq = require('zeromq'); +var zmq = require('zeromq/v5-compat'); // socket to talk to server console.log("Connecting to hello world server..."); diff --git a/zmq/tutorial_server.js b/zmq/tutorial_server.js index 4455b05..6c03d12 100644 --- a/zmq/tutorial_server.js +++ b/zmq/tutorial_server.js @@ -2,7 +2,7 @@ // Binds REP socket to tcp://*:5555 // Expects "Hello" from client, replies with "world" -var zmq = require('zeromq'); +var zmq = require('zeromq/v5-compat'); // socket to talk to clients var responder = zmq.socket('rep'); From f6d92571ed230cb990742d98cd5997d98dd69288 Mon Sep 17 00:00:00 2001 From: Patrik Meijer Date: Tue, 22 Jul 2025 16:59:56 -0400 Subject: [PATCH 3/3] Use python 3.13.5 --- .github/workflows/test.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index 5dd77c5..adbc9a5 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -10,7 +10,7 @@ jobs: strategy: matrix: node-version: [22] - python-version: [3.10] + python-version: [3.13.5] steps: - name: Checkout code