From 0feae06fa71e5da290b277525ab507a3adb8d018 Mon Sep 17 00:00:00 2001 From: Sebastien Lavoie Date: Wed, 11 Feb 2026 13:51:44 -0500 Subject: [PATCH 1/6] Use Debian oldstable --- packages/cli-e2e/docker/Dockerfile | 12 ++++++++++-- packages/cli-e2e/package.json | 2 +- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/packages/cli-e2e/docker/Dockerfile b/packages/cli-e2e/docker/Dockerfile index 40c6202634..6ccacdff0e 100644 --- a/packages/cli-e2e/docker/Dockerfile +++ b/packages/cli-e2e/docker/Dockerfile @@ -1,7 +1,15 @@ -FROM node:lts-buster +# The chrome repository only provides amd64 images, so we need to specify the platform to be able to install it. +FROM --platform=linux/amd64 node:lts-buster + +# Debian buster is oldstable and thus moved to archive.debian.org, so we need to update the sources.list to be able to install packages. +# TODO: Update to a newer Debian version once the latest LTS image is updated to it. +RUN sed -i 's/deb.debian.org/archive.debian.org/g' /etc/apt/sources.list && \ + sed -i 's|security.debian.org|archive.debian.org|g' /etc/apt/sources.list && \ + sed -i '/buster-updates/d' /etc/apt/sources.list RUN wget -q -O - https://dl.google.com/linux/linux_signing_key.pub | apt-key add - RUN sh -c 'echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list' + RUN apt-get update RUN apt-get install -y google-chrome-stable @@ -10,7 +18,7 @@ RUN update-alternatives --set x-www-browser /usr/bin/google-chrome-stable # Brew, used for mitmproxy RUN /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" -RUN apt-get install git +RUN apt-get install -y git # Keyring deps RUN apt-get install -y dbus-x11 diff --git a/packages/cli-e2e/package.json b/packages/cli-e2e/package.json index ad5a109bb3..2c69baaae4 100644 --- a/packages/cli-e2e/package.json +++ b/packages/cli-e2e/package.json @@ -17,7 +17,7 @@ "url": "git+https://github.com/coveo/cli.git" }, "scripts": { - "postinstall": "pip install -r mitmproxy/requirements.txt --user", + "postinstall": "pipx run mitmdump --version", "lint": "eslint .", "test-e2e": "npm run test:headless", "test:headless": "node ./entrypoints/entry.js", From 9064e91f37d6b6498dad7958816e60f9fd98715c Mon Sep 17 00:00:00 2001 From: Sebastien Lavoie Date: Wed, 11 Feb 2026 13:50:10 -0500 Subject: [PATCH 2/6] Run mitmproxy using pipx --- packages/cli-e2e/README.md | 4 ++-- packages/cli-e2e/docker/Dockerfile | 5 ++--- packages/cli-e2e/mitmproxy/main.py | 3 --- packages/cli-e2e/mitmproxy/requirements.txt | 1 - packages/cli-e2e/utils/mitmproxy.ts | 7 +++---- 5 files changed, 7 insertions(+), 13 deletions(-) delete mode 100644 packages/cli-e2e/mitmproxy/main.py delete mode 100644 packages/cli-e2e/mitmproxy/requirements.txt diff --git a/packages/cli-e2e/README.md b/packages/cli-e2e/README.md index 05a8982987..19e9e98775 100644 --- a/packages/cli-e2e/README.md +++ b/packages/cli-e2e/README.md @@ -4,7 +4,7 @@ ## Prerequisites -- Have `mitmproxy` installed and its binary in your path[^1] +- Have `pipx` installed and its binary in your path[^1] - Chrome. ## How to run the tests? @@ -21,4 +21,4 @@ 3. ☕. Tests are long, if all goes well 10-12' on a good machine, 20-25' on a decent one, 30-40' if they fail. -[^1]: mitmdump is the one of interest +[^1]: Will be used for `mitmdump` from `mitmproxy` diff --git a/packages/cli-e2e/docker/Dockerfile b/packages/cli-e2e/docker/Dockerfile index 6ccacdff0e..69506934a2 100644 --- a/packages/cli-e2e/docker/Dockerfile +++ b/packages/cli-e2e/docker/Dockerfile @@ -15,9 +15,6 @@ RUN apt-get update RUN apt-get install -y google-chrome-stable RUN update-alternatives --set x-www-browser /usr/bin/google-chrome-stable -# Brew, used for mitmproxy -RUN /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" - RUN apt-get install -y git # Keyring deps @@ -29,6 +26,8 @@ RUN apt-get install -y make build-essential libssl-dev zlib1g-dev RUN apt-get install -y libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm RUN apt-get install -y libncurses5-dev libncursesw5-dev xz-utils tk-dev +RUN apt-get install -y pipx python3-venv && pipx run mitmdump --version + # For headless without headless. RUN apt-get install xvfb -y diff --git a/packages/cli-e2e/mitmproxy/main.py b/packages/cli-e2e/mitmproxy/main.py deleted file mode 100644 index 35007323d9..0000000000 --- a/packages/cli-e2e/mitmproxy/main.py +++ /dev/null @@ -1,3 +0,0 @@ -from mitmproxy.tools.main import mitmdump - -mitmdump() \ No newline at end of file diff --git a/packages/cli-e2e/mitmproxy/requirements.txt b/packages/cli-e2e/mitmproxy/requirements.txt deleted file mode 100644 index aae6691c83..0000000000 --- a/packages/cli-e2e/mitmproxy/requirements.txt +++ /dev/null @@ -1 +0,0 @@ -mitmproxy \ No newline at end of file diff --git a/packages/cli-e2e/utils/mitmproxy.ts b/packages/cli-e2e/utils/mitmproxy.ts index 7d0090c5c4..f0ef17e2b5 100644 --- a/packages/cli-e2e/utils/mitmproxy.ts +++ b/packages/cli-e2e/utils/mitmproxy.ts @@ -8,12 +8,11 @@ export const startMitmProxy = ( processManager: ProcessManager, terminalDebugName = 'mitmproxy' ) => { - const mitmScript = join(__dirname, '..', 'mitmproxy', 'main.py'); const serverTerminal = new Terminal( - 'python', + 'pipx', [ - '-u', - mitmScript, + 'run', + 'mitmdump', '-p', '8080', '--listen-host', From 062309c68fe3cd110cf144092c9bb1eb27a3e16e Mon Sep 17 00:00:00 2001 From: Sebastien Lavoie Date: Wed, 11 Feb 2026 13:51:20 -0500 Subject: [PATCH 3/6] Bump node to 22.22.0 --- .nvmrc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.nvmrc b/.nvmrc index 89b93fd74a..54979ab5d9 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -22.18.0 \ No newline at end of file +22.22.0 \ No newline at end of file From 46c166146be7874c8e62c52b228fc013ec0499bc Mon Sep 17 00:00:00 2001 From: Sebastien Lavoie Date: Wed, 11 Feb 2026 13:55:58 -0500 Subject: [PATCH 4/6] Fix @coveo/cli version to latest/current --- package-lock.json | 54 +---------------------------------- packages/cli-e2e/package.json | 2 +- 2 files changed, 2 insertions(+), 54 deletions(-) diff --git a/package-lock.json b/package-lock.json index b128c3f455..7625d14293 100644 --- a/package-lock.json +++ b/package-lock.json @@ -30079,7 +30079,7 @@ "@babel/core": "7.21.5", "@babel/preset-env": "7.21.5", "@babel/preset-typescript": "7.21.5", - "@coveo/cli": "3.2.13", + "@coveo/cli": "3.2.14", "@coveo/platform-client": "58.5.0", "abortcontroller-polyfill": "1.7.5", "async-retry": "1.3.3", @@ -30126,58 +30126,6 @@ "integrity": "sha512-L1niBXYSWmbyHUE/GNuf6YBljbafaxWI3X5jjEIZDFCjQvdWO3DKalY1VPFUbhgYQgWw7+bC6I/AlUaporyfig==", "license": "MIT" }, - "packages/cli-e2e/node_modules/@coveo/cli": { - "version": "3.2.13", - "resolved": "https://registry.npmjs.org/@coveo/cli/-/cli-3.2.13.tgz", - "integrity": "sha512-GHfGI2QvxkxUQPeuGjcDPKoy95Ak+S8Qgeo9XBO+qWRAw8ALEs9mBc2TR5vbnN1lI8BRrtPb1yKj3C4a+wVyJw==", - "license": "Apache-2.0", - "dependencies": { - "@amplitude/analytics-node": "^1.3.3", - "@amplitude/identify": "^1.9.0", - "@coveo/cli-commons": "2.9.10", - "@coveo/cli-plugin-source": "2.3.10", - "@coveo/platform-client": "58.5.0", - "@oclif/core": "1.24.0", - "@oclif/plugin-help": "5.1.23", - "@oclif/plugin-plugins": "2.1.12", - "@oclif/plugin-version": "1.1.4", - "abortcontroller-polyfill": "^1.7.1", - "archiver": "^5.3.0", - "async-retry": "^1.3.1", - "chalk": "4.1.2", - "cli-progress": "^3.9.1", - "extract-zip": "^2.0.1", - "fetch-undici-polyfill": "1.2.1", - "fs-extra": "^11.0.0", - "get-port": "5.1.1", - "https-proxy-agent": "^5.0.0", - "inquirer": "8.2.5", - "is-unicode-supported": "^1.3.0", - "isomorphic-fetch": "^3.0.0", - "json2csv": "^5.0.6", - "jsonschema": "1.4.1", - "node-machine-id": "^1.1.12", - "open": "^8.4.0", - "semver": "^7.3.4", - "tmp": "^0.2.1", - "ts-dedent": "2.2.0", - "tslib": "2.5.0" - }, - "bin": { - "coveo": "bin/run" - }, - "engines": { - "node": "^18.18.1 || ^20.9.0" - }, - "peerDependencies": { - "create-react-app": "*" - }, - "peerDependenciesMeta": { - "create-react-app": { - "optional": true - } - } - }, "packages/cli-e2e/node_modules/@coveo/cli-commons": { "version": "2.9.10", "resolved": "https://registry.npmjs.org/@coveo/cli-commons/-/cli-commons-2.9.10.tgz", diff --git a/packages/cli-e2e/package.json b/packages/cli-e2e/package.json index 2c69baaae4..5b56529ebf 100644 --- a/packages/cli-e2e/package.json +++ b/packages/cli-e2e/package.json @@ -61,7 +61,7 @@ "@babel/core": "7.21.5", "@babel/preset-env": "7.21.5", "@babel/preset-typescript": "7.21.5", - "@coveo/cli": "3.2.13", + "@coveo/cli": "3.2.14", "@coveo/platform-client": "58.5.0", "abortcontroller-polyfill": "1.7.5", "async-retry": "1.3.3", From 297a2797fc45c93e4ad1d65cc4705f5d0648772d Mon Sep 17 00:00:00 2001 From: Sebastien Lavoie Date: Wed, 11 Feb 2026 16:39:45 -0500 Subject: [PATCH 5/6] Add >= 22 to supported engines --- package-lock.json | 63 +-------------------------- packages/cli/source/package.json | 2 +- packages/ui/cra-template/package.json | 2 +- 3 files changed, 4 insertions(+), 63 deletions(-) diff --git a/package-lock.json b/package-lock.json index 7625d14293..86fcab8292 100644 --- a/package-lock.json +++ b/package-lock.json @@ -30120,65 +30120,6 @@ "node": ">=18" } }, - "packages/cli-e2e/node_modules/@amplitude/analytics-types": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/@amplitude/analytics-types/-/analytics-types-2.11.0.tgz", - "integrity": "sha512-L1niBXYSWmbyHUE/GNuf6YBljbafaxWI3X5jjEIZDFCjQvdWO3DKalY1VPFUbhgYQgWw7+bC6I/AlUaporyfig==", - "license": "MIT" - }, - "packages/cli-e2e/node_modules/@coveo/cli-commons": { - "version": "2.9.10", - "resolved": "https://registry.npmjs.org/@coveo/cli-commons/-/cli-commons-2.9.10.tgz", - "integrity": "sha512-1b/noV86M6F2rMuFgi+a5Zceun+qg6+/TDYzj1E2yhSYx4nxfMvFbfcniBa8LiqO82o/L+eEFJ4kEggFGXhIfw==", - "license": "Apache-2.0", - "dependencies": { - "@amplitude/analytics-node": "^1.3.3", - "@amplitude/analytics-types": "^2.1.2", - "@coveo/platform-client": "58.5.0", - "@oclif/core": "1.24.0", - "abortcontroller-polyfill": "1.7.5", - "chalk": "4.1.2", - "fs-extra": "11.1.1", - "https-proxy-agent": "5.0.1", - "is-ci": "3.0.1", - "isomorphic-fetch": "3.0.0", - "npm-package-arg": "10.1.0", - "semver": "7.5.2", - "ts-dedent": "2.2.0" - } - }, - "packages/cli-e2e/node_modules/@coveo/cli-plugin-source": { - "version": "2.3.10", - "resolved": "https://registry.npmjs.org/@coveo/cli-plugin-source/-/cli-plugin-source-2.3.10.tgz", - "integrity": "sha512-304HY5VOfUepmWDvsu0vpwdvLF43P+0lUL0IRIwsbnxZHqdfYDrtqz7CnNtbSog3xrj9gNwGGZk7NhVTXgANMQ==", - "license": "Apache-2.0", - "dependencies": { - "@coveo/cli-commons": "2.9.10", - "@coveo/platform-client": "58.5.0", - "@coveo/push-api-client": "4.0.1", - "@oclif/core": "1.24.0", - "@oclif/plugin-help": "5.1.23", - "@oclif/plugin-plugins": "2.1.12", - "chalk": "4.1.2", - "jsonschema": "1.4.1", - "ts-dedent": "2.2.0" - }, - "engines": { - "node": "^18.18.1 || ^20.9.0" - } - }, - "packages/cli-e2e/node_modules/is-ci": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz", - "integrity": "sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==", - "license": "MIT", - "dependencies": { - "ci-info": "^3.2.0" - }, - "bin": { - "is-ci": "bin.js" - } - }, "packages/cli/commons": { "name": "@coveo/cli-commons", "version": "2.9.11", @@ -30379,7 +30320,7 @@ "undici": "5.28.3" }, "engines": { - "node": "^18.18.1 || ^20.9.0" + "node": "^18.18.1 || ^20.9.0 || >=22" } }, "packages/ui/angular": { @@ -30868,7 +30809,7 @@ "typescript": "4.9.5" }, "engines": { - "node": "^18.18.1 || ^20.9.0" + "node": "^18.18.1 || ^20.9.0 || >=22" } }, "packages/ui/search-token-server": { diff --git a/packages/cli/source/package.json b/packages/cli/source/package.json index 5885aee81c..df28258c84 100644 --- a/packages/cli/source/package.json +++ b/packages/cli/source/package.json @@ -75,7 +75,7 @@ "prepublishOnly": "rimraf lib && npm run build && oclif manifest" }, "engines": { - "node": "^18.18.1 || ^20.9.0" + "node": "^18.18.1 || ^20.9.0 || >=22" }, "bugs": "https://github.com/coveo/cli/issues", "keywords": [ diff --git a/packages/ui/cra-template/package.json b/packages/ui/cra-template/package.json index cf65036920..5e8bbd5f56 100644 --- a/packages/ui/cra-template/package.json +++ b/packages/ui/cra-template/package.json @@ -20,7 +20,7 @@ }, "license": "Apache-2.0", "engines": { - "node": "^18.18.1 || ^20.9.0" + "node": "^18.18.1 || ^20.9.0 || >=22" }, "files": [ "template", From 61c689b28233a25592991a1514457219ede0eff6 Mon Sep 17 00:00:00 2001 From: Sebastien Lavoie Date: Wed, 11 Feb 2026 16:45:47 -0500 Subject: [PATCH 6/6] Bump @coveo/push-api-client to latest --- package-lock.json | 84 ++++++++++---------------------- packages/cli/source/package.json | 2 +- 2 files changed, 27 insertions(+), 59 deletions(-) diff --git a/package-lock.json b/package-lock.json index 86fcab8292..6aff19d402 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2730,81 +2730,49 @@ "link": true }, "node_modules/@coveo/push-api-client": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@coveo/push-api-client/-/push-api-client-4.0.1.tgz", - "integrity": "sha512-qYZ73UjpE7+XKMZyOXM+AvhEz8verHK8I6HKYHqUxHSww2bo9mkPp9ZydS5VVRdTqCVpcxEoDC2PrQ/ypkl7ZA==", + "version": "4.0.24", + "resolved": "https://registry.npmjs.org/@coveo/push-api-client/-/push-api-client-4.0.24.tgz", + "integrity": "sha512-zQygJZoXnHy3sg9Bd0w1lgqb+GwnrmSALa9TnGKBkHdowZ4GJs4sLvQLV/LKrhLSfDm3FzWJblRDhRF/Zzc+aQ==", + "license": "Apache-2.0", "dependencies": { - "@coveo/bueno": "^0.45.0", - "@coveo/platform-client": "^52.1.0", + "@coveo/bueno": "^0.46.0", + "@coveo/platform-client": "^54.0.0", "dayjs": "^1.10.4", "exponential-backoff": "^3.1.0", "ts-dedent": "^2.2.0", "zod": "^3.20.2" }, "engines": { - "node": "^18.12.0 || ^20.10.0" + "node": "^18.12.0 || ^20.10.0 || ^22.11.0" } }, "node_modules/@coveo/push-api-client/node_modules/@coveo/bueno": { - "version": "0.45.6", - "resolved": "https://registry.npmjs.org/@coveo/bueno/-/bueno-0.45.6.tgz", - "integrity": "sha512-OPYN3pqw6ON7X1EYbCxRWcGBt9gjeOHDj9VVnL8YtD/nzozphTw2nYV9yf7OxfgUOYCiV2IvSXLHSA+tftQW2Q==" + "version": "0.46.4", + "resolved": "https://registry.npmjs.org/@coveo/bueno/-/bueno-0.46.4.tgz", + "integrity": "sha512-rZwDhCMKLRDDvhA+mFpj4xFZfjpSJsl4cU3ZhO8rLVama44tW0ttXLQDLwaBv5P4tnRgUPinTYl/UxlO59fe7w==", + "license": "Apache-2.0" }, "node_modules/@coveo/push-api-client/node_modules/@coveo/platform-client": { - "version": "52.6.1", - "resolved": "https://registry.npmjs.org/@coveo/platform-client/-/platform-client-52.6.1.tgz", - "integrity": "sha512-AyuoypQalnqQQMaqc7P2TgjWGCxHGAqU1NSh7UQNdFaqqjxg3ZEe2qo1hTcAB4atONcMlpijLf1OLyzkY3fdpA==", + "version": "54.13.0", + "resolved": "https://registry.npmjs.org/@coveo/platform-client/-/platform-client-54.13.0.tgz", + "integrity": "sha512-aIP0qCPfAUCeRVSLA4TT3KUKHQeD6Rzi+u0Sq0Re8KWlaJGjZGXMfHUOU/WWagyiE+sUMcj2EsHiyMPG/f6sGg==", + "license": "Apache-2.0", "dependencies": { + "core-js": "^3.37.1", "exponential-backoff": "^3.1.0", "query-string-cjs": "npm:query-string@^7.0.0", - "query-string-esm": "npm:query-string@^8.0.0" - } - }, - "node_modules/@coveo/push-api-client/node_modules/decode-uri-component": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.4.1.tgz", - "integrity": "sha512-+8VxcR21HhTy8nOt6jf20w0c9CADrw1O8d+VZ/YzzCt4bJ3uBjw+D1q2osAB8RnpwwaeYBxy0HyKQxD5JBMuuQ==", - "engines": { - "node": ">=14.16" - } - }, - "node_modules/@coveo/push-api-client/node_modules/filter-obj": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/filter-obj/-/filter-obj-5.1.0.tgz", - "integrity": "sha512-qWeTREPoT7I0bifpPUXtxkZJ1XJzxWtfoWWkdVGqa+eCr3SHW/Ocp89o8vLvbUuQnadybJpjOKu4V+RwO6sGng==", - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@coveo/push-api-client/node_modules/query-string-esm": { - "name": "query-string", - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/query-string/-/query-string-8.2.0.tgz", - "integrity": "sha512-tUZIw8J0CawM5wyGBiDOAp7ObdRQh4uBor/fUR9ZjmbZVvw95OD9If4w3MQxr99rg0DJZ/9CIORcpEqU5hQG7g==", - "dependencies": { - "decode-uri-component": "^0.4.1", - "filter-obj": "^5.1.0", - "split-on-first": "^3.0.0" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "query-string-esm": "npm:query-string@^9.0.0" } }, - "node_modules/@coveo/push-api-client/node_modules/split-on-first": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/split-on-first/-/split-on-first-3.0.0.tgz", - "integrity": "sha512-qxQJTx2ryR0Dw0ITYyekNQWpz6f8dGd7vffGNflQQ3Iqj9NJ6qiZ7ELpZsJ/QBhIVAiDfXdag3+Gp8RvWa62AA==", - "engines": { - "node": ">=12" - }, + "node_modules/@coveo/push-api-client/node_modules/core-js": { + "version": "3.48.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.48.0.tgz", + "integrity": "sha512-zpEHTy1fjTMZCKLHUZoVeylt9XrzaIN2rbPXEt0k+q7JE5CkCZdo6bNq55bn24a69CH7ErAVLKijxJja4fw+UQ==", + "hasInstallScript": true, + "license": "MIT", "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "opencollective", + "url": "https://opencollective.com/core-js" } }, "node_modules/@coveo/search-token-server": { @@ -30293,7 +30261,7 @@ "dependencies": { "@coveo/cli-commons": "2.9.11", "@coveo/platform-client": "58.5.0", - "@coveo/push-api-client": "4.0.1", + "@coveo/push-api-client": "4.0.24", "@oclif/core": "1.24.0", "@oclif/plugin-help": "5.1.23", "@oclif/plugin-plugins": "2.1.12", diff --git a/packages/cli/source/package.json b/packages/cli/source/package.json index df28258c84..648ffe1aa0 100644 --- a/packages/cli/source/package.json +++ b/packages/cli/source/package.json @@ -16,7 +16,7 @@ "dependencies": { "@coveo/cli-commons": "2.9.11", "@coveo/platform-client": "58.5.0", - "@coveo/push-api-client": "4.0.1", + "@coveo/push-api-client": "4.0.24", "@oclif/core": "1.24.0", "@oclif/plugin-help": "5.1.23", "@oclif/plugin-plugins": "2.1.12",