From c7de98aa86f984ea31221ad40e6441fe0f220539 Mon Sep 17 00:00:00 2001 From: Jonathan McPherson Date: Wed, 15 Oct 2025 12:39:11 -0700 Subject: [PATCH 1/3] remove zmq --- package.json | 3 +-- script/postinstall.ts | 19 +++++++++++++++++-- test/simulation/notebookValidator.ts | 14 ++++++++++++-- 3 files changed, 30 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 5a8a6a4e1e..7ddeedddb4 100644 --- a/package.json +++ b/package.json @@ -3882,8 +3882,7 @@ "vscode-languageserver-protocol": "^3.17.5", "vscode-languageserver-textdocument": "^1.0.12", "vscode-languageserver-types": "^3.17.5", - "yaml": "^2.8.0", - "zeromq": "github:rebornix/zeromq.js#a19e8e373b3abc677f91b936d3f00d49b1b61792" + "yaml": "^2.8.0" }, "dependencies": { "@anthropic-ai/claude-code": "1.0.93", diff --git a/script/postinstall.ts b/script/postinstall.ts index 3ac4cc3faa..78e6cb8c7d 100644 --- a/script/postinstall.ts +++ b/script/postinstall.ts @@ -3,7 +3,18 @@ * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import { downloadZMQ } from '@vscode/zeromq'; +// --- Start Positron --- +// zeromq dependency removed - tests that depend on it will be skipped +// import { downloadZMQ } from '@vscode/zeromq'; +let downloadZMQ: (() => Promise) | undefined; +try { + downloadZMQ = require('@vscode/zeromq').downloadZMQ; +} catch (e) { + // @vscode/zeromq not available, skip ZMQ download + downloadZMQ = undefined; +} +// --- End Positron --- + import * as fs from 'fs'; import * as path from 'path'; import { compressTikToken } from './build/compressTikToken'; @@ -106,7 +117,11 @@ async function main() { 'node_modules/@vscode/tree-sitter-wasm/wasm/tree-sitter.wasm', ], 'dist'); - await downloadZMQ(); + if (downloadZMQ) { + await downloadZMQ(); + } else { + console.log('Skipping ZMQ download - zeromq dependency not available (tests requiring zeromq will be skipped)'); + } // Check if the base cache file exists const baseCachePath = path.join('test', 'simulation', 'cache', 'base.sqlite'); diff --git a/test/simulation/notebookValidator.ts b/test/simulation/notebookValidator.ts index 19f37e74d5..fd2cef38fb 100644 --- a/test/simulation/notebookValidator.ts +++ b/test/simulation/notebookValidator.ts @@ -11,7 +11,14 @@ import { promises as fs } from 'fs'; import { tmpdir } from 'os'; import { join } from 'path'; import type * as vscode from 'vscode'; -import type { Dealer, Push, Socket, Subscriber } from 'zeromq'; +// --- Start Positron --- +// import type { Dealer, Push, Socket, Subscriber } from 'zeromq'; +// zeromq dependency removed - import types conditionally +type Dealer = any; +type Push = any; +type Socket = any; +type Subscriber = any; +// --- End Positron --- import { ITestingServicesAccessor } from '../../src/platform/test/node/services'; import { createSha256Hash } from '../../src/util/common/crypto'; import { ExtHostNotebookDocumentData, translateDisplayDataOutput, translateErrorOutput, translateStreamOutput } from '../../src/util/common/test/shims/notebookDocument'; @@ -120,7 +127,10 @@ export function getZeroMQ(): typeof import('zeromq') { const zmq = require(`${'zeromq'}`); return zmq; } catch (e) { - throw e; + // --- Start Positron --- + // throw e; + throw new Error('zeromq dependency is not available. Tests requiring zeromq functionality have been disabled.'); + // --- End Positron --- } } From be44ac75eb463236b2eee38bdcd2aa48dcf42ffe Mon Sep 17 00:00:00 2001 From: Jonathan McPherson Date: Wed, 15 Oct 2025 12:49:32 -0700 Subject: [PATCH 2/3] update package-lock.json --- package-lock.json | 142 +--------------------------------------------- 1 file changed, 1 insertion(+), 141 deletions(-) diff --git a/package-lock.json b/package-lock.json index b0a847ee54..173ca68934 100644 --- a/package-lock.json +++ b/package-lock.json @@ -124,8 +124,7 @@ "vscode-languageserver-protocol": "^3.17.5", "vscode-languageserver-textdocument": "^1.0.12", "vscode-languageserver-types": "^3.17.5", - "yaml": "^2.8.0", - "zeromq": "github:rebornix/zeromq.js#a19e8e373b3abc677f91b936d3f00d49b1b61792" + "yaml": "^2.8.0" }, "engines": { "node": ">=22.14.0", @@ -8410,24 +8409,6 @@ "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", "dev": true }, - "node_modules/cross-env": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-7.0.3.tgz", - "integrity": "sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==", - "dev": true, - "dependencies": { - "cross-spawn": "^7.0.1" - }, - "bin": { - "cross-env": "src/bin/cross-env.js", - "cross-env-shell": "src/bin/cross-env-shell.js" - }, - "engines": { - "node": ">=10.14", - "npm": ">=6", - "yarn": ">=1" - } - }, "node_modules/cross-spawn": { "version": "7.0.6", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", @@ -11001,15 +10982,6 @@ "node": ">= 0.4" } }, - "node_modules/interpret": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", - "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", - "dev": true, - "engines": { - "node": ">= 0.10" - } - }, "node_modules/ip-address": { "version": "9.0.5", "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-9.0.5.tgz", @@ -15122,18 +15094,6 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/rechoir": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", - "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==", - "dev": true, - "dependencies": { - "resolve": "^1.1.6" - }, - "engines": { - "node": ">= 0.10" - } - }, "node_modules/reflect.getprototypeof": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz", @@ -15860,76 +15820,11 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/shelljs": { - "version": "0.8.5", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", - "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", - "dev": true, - "dependencies": { - "glob": "^7.0.0", - "interpret": "^1.0.0", - "rechoir": "^0.6.2" - }, - "bin": { - "shjs": "bin/shjs" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/shelljs/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/shelljs/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, "node_modules/shimmer": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/shimmer/-/shimmer-1.2.1.tgz", "integrity": "sha512-sQTKC1Re/rM6XyFM6fIAGHRPVGvyXfgzIDvzoq608vM+jeyVD0Tu1E6Np0Kc2zAIFWIj963V2800iF/9LPieQw==" }, - "node_modules/shx": { - "version": "0.3.4", - "resolved": "https://registry.npmjs.org/shx/-/shx-0.3.4.tgz", - "integrity": "sha512-N6A9MLVqjxZYcVn8hLmtneQWIJtp8IKzMP4eMnx+nqkvXoqinUPCbUFLp2UcWTEIUONhlk0ewxr/jaVGlc+J+g==", - "dev": true, - "dependencies": { - "minimist": "^1.2.3", - "shelljs": "^0.8.5" - }, - "bin": { - "shx": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/side-channel": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", @@ -19006,41 +18901,6 @@ "funding": { "url": "https://github.com/sponsors/sindresorhus" } - }, - "node_modules/zeromq": { - "version": "6.0.0-beta.17", - "resolved": "git+ssh://git@github.com/rebornix/zeromq.js.git#a19e8e373b3abc677f91b936d3f00d49b1b61792", - "integrity": "sha512-tPHQyFdJrTyvJRhzM0CNGA9hkP48PvDg+cZUA0SONd7EabbpVuQhC8pcicQzxXrvvC4xNlvTCLYcJCbWwjPsqw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@aminya/node-gyp-build": "4.5.0-aminya.4", - "cross-env": "^7.0.3", - "node-addon-api": "^6.0.0", - "shelljs": "^0.8.5", - "shx": "^0.3.4" - }, - "engines": { - "node": ">= 10.2" - } - }, - "node_modules/zeromq/node_modules/@aminya/node-gyp-build": { - "name": "node-gyp-build", - "version": "4.8.1", - "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.8.1.tgz", - "integrity": "sha512-OSs33Z9yWr148JZcbZd5WiAXhh/n9z8TxQcdMhIOlpN9AhWpLfvVFO73+m77bBABQMaY9XSvIa+qk0jlI7Gcaw==", - "dev": true, - "bin": { - "node-gyp-build": "bin.js", - "node-gyp-build-optional": "optional.js", - "node-gyp-build-test": "build-test.js" - } - }, - "node_modules/zeromq/node_modules/node-addon-api": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-6.1.0.tgz", - "integrity": "sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==", - "dev": true } } } From 24cbd9beab355f15da2222c16c1808b606ef2f57 Mon Sep 17 00:00:00 2001 From: Jonathan McPherson Date: Wed, 15 Oct 2025 13:31:42 -0700 Subject: [PATCH 3/3] remove zeromq types too --- package-lock.json | 8 -------- package.json | 1 - script/postinstall.ts | 6 +++++- 3 files changed, 5 insertions(+), 10 deletions(-) diff --git a/package-lock.json b/package-lock.json index 173ca68934..e7ecfef809 100644 --- a/package-lock.json +++ b/package-lock.json @@ -74,7 +74,6 @@ "@vscode/test-electron": "^2.5.2", "@vscode/test-web": "^0.0.71", "@vscode/vsce": "3.6.0", - "@vscode/zeromq": "0.2.7", "copyfiles": "^2.4.1", "csv-parse": "^6.0.0", "dotenv": "^17.2.0", @@ -6798,13 +6797,6 @@ "node": "*" } }, - "node_modules/@vscode/zeromq": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/@vscode/zeromq/-/zeromq-0.2.7.tgz", - "integrity": "sha512-lbnfCMoVe6O7aHL0TkQJSU+yd5Hs1A6mpr/zG/C+ibFXlhGq7rUEIHt4krf6P9gn0rgoAYJceJkvLHnvDWk5/A==", - "dev": true, - "license": "MIT" - }, "node_modules/@xterm/headless": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/@xterm/headless/-/headless-5.5.0.tgz", diff --git a/package.json b/package.json index 7ddeedddb4..57552d285a 100644 --- a/package.json +++ b/package.json @@ -3832,7 +3832,6 @@ "@vscode/test-electron": "^2.5.2", "@vscode/test-web": "^0.0.71", "@vscode/vsce": "3.6.0", - "@vscode/zeromq": "0.2.7", "copyfiles": "^2.4.1", "csv-parse": "^6.0.0", "dotenv": "^17.2.0", diff --git a/script/postinstall.ts b/script/postinstall.ts index 78e6cb8c7d..af7b0d21ac 100644 --- a/script/postinstall.ts +++ b/script/postinstall.ts @@ -8,7 +8,11 @@ // import { downloadZMQ } from '@vscode/zeromq'; let downloadZMQ: (() => Promise) | undefined; try { - downloadZMQ = require('@vscode/zeromq').downloadZMQ; + // Check if the package exists before trying to require it + const zeromqPath = require.resolve('@vscode/zeromq'); + if (zeromqPath) { + downloadZMQ = require('@vscode/zeromq').downloadZMQ; + } } catch (e) { // @vscode/zeromq not available, skip ZMQ download downloadZMQ = undefined;