From c121415d06ba3a2e302c2cfdf6cbcd0cf7076a47 Mon Sep 17 00:00:00 2001 From: Cristian Greco Date: Thu, 8 Oct 2026 20:33:05 +0100 Subject: [PATCH 1/3] Validate published packages in CI Add npm run check-packages, which builds each package from a clean build directory with its publish config, packs it, and fails if the tarball contains test-only files or if publint or @arethetypeswrong/cli report problems. Run it per changed package in a new Package job in the Checks workflow. --- .github/scripts/check-packages.mjs | 117 +++++++++++++++++++++++++++++ .github/workflows/checks.yml | 26 +++++++ AGENTS.md | 4 +- package.json | 3 +- 4 files changed, 148 insertions(+), 2 deletions(-) create mode 100644 .github/scripts/check-packages.mjs diff --git a/.github/scripts/check-packages.mjs b/.github/scripts/check-packages.mjs new file mode 100644 index 000000000..ccd6465b8 --- /dev/null +++ b/.github/scripts/check-packages.mjs @@ -0,0 +1,117 @@ +// Builds packages with their publish config, packs them, and checks the tarballs we would publish. +// Run it through `npm run check-packages [-- ...]`, which puts the pinned publint and attw on PATH. +// Package names match the CI matrix: "testcontainers" or a directory name under packages/modules. +import { spawnSync } from "node:child_process"; +import { existsSync, mkdtempSync, readdirSync, rmSync } from "node:fs"; +import { tmpdir } from "node:os"; +import { dirname, join, resolve } from "node:path"; +import process from "node:process"; +import { fileURLToPath } from "node:url"; + +const rootDir = resolve(dirname(fileURLToPath(import.meta.url)), "../.."); + +const testOnlyFiles = [ + /\.(test|spec)\.[^/]+$/, + /(^|[/._-])test[-_]?(helpers?|utils?)[^/]*$/i, + /(^|\/)(fixtures|__tests__|__mocks__)\//, +]; + +const workspacePath = (name) => (name === "testcontainers" ? "packages/testcontainers" : `packages/modules/${name}`); + +const allPackages = () => { + const modulesDir = resolve(rootDir, "packages/modules"); + const modules = readdirSync(modulesDir, { withFileTypes: true }) + .filter((entry) => entry.isDirectory()) + .filter((entry) => existsSync(resolve(modulesDir, entry.name, "package.json"))) + .map((entry) => entry.name); + return ["testcontainers", ...modules.sort()]; +}; + +const run = (command, args, { capture = false } = {}) => { + const result = spawnSync(command, args, { + cwd: rootDir, + encoding: "utf8", + stdio: capture ? ["ignore", "pipe", "inherit"] : "inherit", + }); + if (result.error) { + throw result.error; + } + return { ok: result.status === 0, stdout: result.stdout }; +}; + +const build = (name) => { + const packageDir = resolve(rootDir, workspacePath(name)); + + // Start clean: `check-compiles` emits tests into the same build directory, and tsc does not re-emit + // files that its tsbuildinfo considers up to date. + rmSync(resolve(packageDir, "build"), { recursive: true, force: true }); + for (const file of readdirSync(packageDir).filter((file) => file.endsWith(".tsbuildinfo"))) { + rmSync(resolve(packageDir, file)); + } + + if (!run("npm", ["run", "build", "--workspace", workspacePath(name)]).ok) { + throw new Error(`Failed to build ${name}`); + } +}; + +const check = (name, packDir) => { + const errors = []; + + const pack = run("npm", ["pack", "--workspace", workspacePath(name), "--pack-destination", packDir, "--json"], { + capture: true, + }); + if (!pack.ok) { + return ["npm pack failed"]; + } + const [{ filename, files }] = JSON.parse(pack.stdout); + const tarball = join(packDir, filename); + + const testFiles = files.map((file) => file.path).filter((path) => testOnlyFiles.some((re) => re.test(path))); + if (testFiles.length > 0) { + console.error(`Test-only files in the tarball:\n${testFiles.map((path) => ` ${path}`).join("\n")}`); + errors.push("test-only files are packed (exclude them in tsconfig.build.json)"); + } + + if (!run("publint", ["run", tarball, "--strict"]).ok) { + errors.push("publint"); + } + + // Check only the types we ship, not any @types package of the same name on the registry. + if (!run("attw", [tarball, "--no-definitely-typed"]).ok) { + errors.push("attw"); + } + + return errors; +}; + +const packages = process.argv.length > 2 ? process.argv.slice(2) : allPackages(); +const unknown = packages.filter((name) => !existsSync(resolve(rootDir, workspacePath(name), "package.json"))); +if (unknown.length > 0) { + console.error(`Unknown packages: ${unknown.join(", ")}`); + process.exit(1); +} + +// Modules compile against the core build output through project references, so core is built first. +for (const name of new Set(["testcontainers", ...packages])) { + build(name); +} + +const packDir = mkdtempSync(join(tmpdir(), "testcontainers-packages-")); +const failures = []; +try { + for (const name of packages) { + console.log(`\n=== ${name} ===`); + const errors = check(name, packDir); + if (errors.length > 0) { + failures.push(`${name}: ${errors.join(", ")}`); + } + } +} finally { + rmSync(packDir, { recursive: true, force: true }); +} + +if (failures.length > 0) { + console.error(`\nPackage checks failed:\n${failures.map((failure) => ` ${failure}`).join("\n")}`); + process.exit(1); +} +console.log(`\nPackage checks passed for ${packages.length} package(s).`); diff --git a/.github/workflows/checks.yml b/.github/workflows/checks.yml index cf2ba23b3..0116d7df0 100644 --- a/.github/workflows/checks.yml +++ b/.github/workflows/checks.yml @@ -108,6 +108,31 @@ jobs: npm run build --ignore-scripts --workspace ${{ steps.npm-install.outputs.workspace_path }} -- --project tsconfig.json --noEmit fi + package: + if: ${{ needs.detect-modules.outputs.modules_count != '0' }} + name: Package + needs: + - detect-modules + - lint + strategy: + fail-fast: false + matrix: + module: ${{ fromJSON(needs.detect-modules.outputs.modules) }} + runs-on: ubuntu-24.04 + steps: + - name: Code checkout + uses: actions/checkout@v7 + - name: Install Node and Dependencies + uses: ./.github/actions/npm-setup + with: + runner: ubuntu-24.04 + node-version: 24.x + workspace: "${{ matrix.module }}" + - name: Check package + env: + MODULE: ${{ matrix.module }} + run: npm run check-packages -- "${MODULE}" + smoke-test: if: ${{ needs.detect-modules.outputs.has_testcontainers == 'true' }} needs: @@ -208,6 +233,7 @@ jobs: - detect-modules - lint - compile + - package - smoke-test - smoke-test-bun - test diff --git a/AGENTS.md b/AGENTS.md index 043db2c2d..825a1a536 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -33,6 +33,8 @@ It captures practical rules that prevent avoidable CI and PR churn. - Apply the implementation change, rerun the same test, and confirm it passes. - Report the red-green evidence in the PR verification summary. - Test-only helper files under `src` (for example `*-test-utils.ts`) must be explicitly excluded from package `tsconfig.build.json` so they are not emitted into `build` and accidentally published. + - `npm run check-packages [-- ...]` (the `Package` CI job) enforces this: it builds each package from a clean `build` directory, packs it, fails if the tarball contains test-only files, and runs `publint` and `@arethetypeswrong/cli` against the tarball. + - `npm run check-compiles` emits tests into the same `build` directories, so do not `npm pack` from a working tree after running it. - For substantial changes to GitHub Actions, runner images, Node/npm versions, or release/publish automation, consider running the manual `Node.js Package` workflow as a dry-run publish sanity check. - Select the PR branch as the workflow ref to test publish workflow changes before merging. - Use a representative version input, for example the next planned semver. @@ -86,7 +88,7 @@ reviewers can follow the reasoning. 1. Start from `main`. 2. Create a branch prefixed with `/` (for example `claude/fix-exec-output-truncation`). The PR title must not carry such prefixes (see step 9). 3. Implement scoped changes only. -4. Run required checks: `npm run format`, `npm run lint`, `npm run check-compiles` when touching `packages/testcontainers` APIs consumed by modules, and targeted tests. +4. Run required checks: `npm run format`, `npm run lint`, `npm run check-compiles` when touching `packages/testcontainers` APIs consumed by modules, `npm run check-packages -- ` when touching a package's `package.json`, `tsconfig.build.json` or build scripts, and targeted tests. - When working in a fresh git worktree, dependencies are not installed (`node_modules` is absent), so verification commands (tests, `lint`, `format`, `check-compiles`) will fail with "Cannot find module" errors. Run `npm ci` once before verifying. `npm ci` only populates `node_modules` and must not modify `package-lock.json`; if it does, treat that as drift to investigate. 5. Verify git diff only contains intended files. 6. Never commit, push, or post on GitHub (issues, PRs, or comments) without first sharing the proposed diff/message and getting explicit user approval. diff --git a/package.json b/package.json index 83f57584f..cbb259992 100644 --- a/package.json +++ b/package.json @@ -16,7 +16,8 @@ "update-deps": "npm-check-updates --workspaces --root -u", "check-engines:root": "npm exec --yes --package=ls-engines@0.10.1 -- ls-engines --mode ideal --dev --no-current", "check-engines:testcontainers": "npm exec --yes --workspace=testcontainers --package=ls-engines@0.10.1 -- ls-engines --mode ideal --no-current", - "check-compiles": "tsc -b packages/testcontainers packages/modules/*" + "check-compiles": "tsc -b packages/testcontainers packages/modules/*", + "check-packages": "npm exec --yes --package=publint@0.3.25 --package=@arethetypeswrong/cli@0.18.5 -- node .github/scripts/check-packages.mjs" }, "devDependencies": { "@biomejs/biome": "^2.5.14", From 72613007afa2ee6adcdc88fc6e84be4cf3a1439c Mon Sep 17 00:00:00 2001 From: Cristian Greco Date: Thu, 8 Oct 2026 20:33:05 +0100 Subject: [PATCH 2/3] Declare CommonJS package type Packages already emit CommonJS. Declaring it stops Node.js from running module syntax detection on the package files, as publint suggests. --- packages/modules/arangodb/package.json | 1 + packages/modules/azurecosmosdb/package.json | 1 + packages/modules/azureservicebus/package.json | 1 + packages/modules/azurite/package.json | 1 + packages/modules/cassandra/package.json | 1 + packages/modules/chromadb/package.json | 1 + packages/modules/clickhouse/package.json | 1 + packages/modules/cockroachdb/package.json | 1 + packages/modules/couchbase/package.json | 1 + packages/modules/couchdb/package.json | 1 + packages/modules/elasticsearch/package.json | 1 + packages/modules/etcd/package.json | 1 + packages/modules/gcloud/package.json | 1 + packages/modules/hivemq/package.json | 1 + packages/modules/influxdb/package.json | 1 + packages/modules/k3s/package.json | 1 + packages/modules/kafka/package.json | 1 + packages/modules/kurrentdb/package.json | 1 + packages/modules/localstack/package.json | 1 + packages/modules/mariadb/package.json | 1 + packages/modules/minio/package.json | 1 + packages/modules/mockserver/package.json | 1 + packages/modules/mongodb/package.json | 1 + packages/modules/mosquitto/package.json | 1 + packages/modules/mssqlserver/package.json | 1 + packages/modules/mysql/package.json | 1 + packages/modules/nats/package.json | 1 + packages/modules/neo4j/package.json | 1 + packages/modules/ollama/package.json | 1 + packages/modules/opensearch/package.json | 1 + packages/modules/oraclefree/package.json | 1 + packages/modules/postgresql/package.json | 1 + packages/modules/qdrant/package.json | 1 + packages/modules/rabbitmq/package.json | 1 + packages/modules/redis/package.json | 1 + packages/modules/redpanda/package.json | 1 + packages/modules/s3mock/package.json | 1 + packages/modules/scylladb/package.json | 1 + packages/modules/selenium/package.json | 1 + packages/modules/toxiproxy/package.json | 1 + packages/modules/valkey/package.json | 1 + packages/modules/vault/package.json | 1 + packages/modules/weaviate/package.json | 1 + packages/testcontainers/package.json | 1 + 44 files changed, 44 insertions(+) diff --git a/packages/modules/arangodb/package.json b/packages/modules/arangodb/package.json index b5c662280..265d7b9d1 100644 --- a/packages/modules/arangodb/package.json +++ b/packages/modules/arangodb/package.json @@ -17,6 +17,7 @@ "bugs": { "url": "https://github.com/testcontainers/testcontainers-node/issues" }, + "type": "commonjs", "main": "build/index.js", "files": [ "build" diff --git a/packages/modules/azurecosmosdb/package.json b/packages/modules/azurecosmosdb/package.json index a85a1298d..76d0a42d6 100644 --- a/packages/modules/azurecosmosdb/package.json +++ b/packages/modules/azurecosmosdb/package.json @@ -19,6 +19,7 @@ "bugs": { "url": "https://github.com/testcontainers/testcontainers-node/issues" }, + "type": "commonjs", "main": "build/index.js", "files": [ "build" diff --git a/packages/modules/azureservicebus/package.json b/packages/modules/azureservicebus/package.json index 9c91aa7b2..049c76fee 100644 --- a/packages/modules/azureservicebus/package.json +++ b/packages/modules/azureservicebus/package.json @@ -18,6 +18,7 @@ "bugs": { "url": "https://github.com/testcontainers/testcontainers-node/issues" }, + "type": "commonjs", "main": "build/index.js", "files": [ "build" diff --git a/packages/modules/azurite/package.json b/packages/modules/azurite/package.json index aec90db18..fc992b9c2 100644 --- a/packages/modules/azurite/package.json +++ b/packages/modules/azurite/package.json @@ -17,6 +17,7 @@ "bugs": { "url": "https://github.com/testcontainers/testcontainers-node/issues" }, + "type": "commonjs", "main": "build/index.js", "files": [ "build" diff --git a/packages/modules/cassandra/package.json b/packages/modules/cassandra/package.json index f7d2cae24..82ec865d6 100644 --- a/packages/modules/cassandra/package.json +++ b/packages/modules/cassandra/package.json @@ -17,6 +17,7 @@ "bugs": { "url": "https://github.com/testcontainers/testcontainers-node/issues" }, + "type": "commonjs", "main": "build/index.js", "files": [ "build" diff --git a/packages/modules/chromadb/package.json b/packages/modules/chromadb/package.json index d7dce8fd6..e2e633089 100644 --- a/packages/modules/chromadb/package.json +++ b/packages/modules/chromadb/package.json @@ -17,6 +17,7 @@ "bugs": { "url": "https://github.com/testcontainers/testcontainers-node/issues" }, + "type": "commonjs", "main": "build/index.js", "files": [ "build" diff --git a/packages/modules/clickhouse/package.json b/packages/modules/clickhouse/package.json index 0c269bf0a..9f988a0b7 100644 --- a/packages/modules/clickhouse/package.json +++ b/packages/modules/clickhouse/package.json @@ -17,6 +17,7 @@ "bugs": { "url": "https://github.com/testcontainers/testcontainers-node/issues" }, + "type": "commonjs", "main": "build/index.js", "files": [ "build" diff --git a/packages/modules/cockroachdb/package.json b/packages/modules/cockroachdb/package.json index c494d2348..09374c928 100644 --- a/packages/modules/cockroachdb/package.json +++ b/packages/modules/cockroachdb/package.json @@ -18,6 +18,7 @@ "bugs": { "url": "https://github.com/testcontainers/testcontainers-node/issues" }, + "type": "commonjs", "main": "build/index.js", "files": [ "build" diff --git a/packages/modules/couchbase/package.json b/packages/modules/couchbase/package.json index 31169c541..cac358653 100644 --- a/packages/modules/couchbase/package.json +++ b/packages/modules/couchbase/package.json @@ -17,6 +17,7 @@ "bugs": { "url": "https://github.com/testcontainers/testcontainers-node/issues" }, + "type": "commonjs", "main": "build/index.js", "files": [ "build" diff --git a/packages/modules/couchdb/package.json b/packages/modules/couchdb/package.json index 0124445c4..b2fc46f7e 100644 --- a/packages/modules/couchdb/package.json +++ b/packages/modules/couchdb/package.json @@ -17,6 +17,7 @@ "bugs": { "url": "https://github.com/testcontainers/testcontainers-node/issues" }, + "type": "commonjs", "main": "build/index.js", "files": [ "build" diff --git a/packages/modules/elasticsearch/package.json b/packages/modules/elasticsearch/package.json index 6c2acc976..59688b7bb 100644 --- a/packages/modules/elasticsearch/package.json +++ b/packages/modules/elasticsearch/package.json @@ -17,6 +17,7 @@ "bugs": { "url": "https://github.com/testcontainers/testcontainers-node/issues" }, + "type": "commonjs", "main": "build/index.js", "files": [ "build" diff --git a/packages/modules/etcd/package.json b/packages/modules/etcd/package.json index bf09da0da..ed99fdd72 100644 --- a/packages/modules/etcd/package.json +++ b/packages/modules/etcd/package.json @@ -18,6 +18,7 @@ "bugs": { "url": "https://github.com/testcontainers/testcontainers-node/issues" }, + "type": "commonjs", "main": "build/index.js", "files": [ "build" diff --git a/packages/modules/gcloud/package.json b/packages/modules/gcloud/package.json index 6801373fd..eb0e7f6a7 100644 --- a/packages/modules/gcloud/package.json +++ b/packages/modules/gcloud/package.json @@ -25,6 +25,7 @@ "bugs": { "url": "https://github.com/testcontainers/testcontainers-node/issues" }, + "type": "commonjs", "main": "build/index.js", "files": [ "build" diff --git a/packages/modules/hivemq/package.json b/packages/modules/hivemq/package.json index c558c64ae..5101f2a78 100644 --- a/packages/modules/hivemq/package.json +++ b/packages/modules/hivemq/package.json @@ -17,6 +17,7 @@ "bugs": { "url": "https://github.com/testcontainers/testcontainers-node/issues" }, + "type": "commonjs", "main": "build/index.js", "files": [ "build" diff --git a/packages/modules/influxdb/package.json b/packages/modules/influxdb/package.json index d633eda16..d6fc8a8c3 100644 --- a/packages/modules/influxdb/package.json +++ b/packages/modules/influxdb/package.json @@ -19,6 +19,7 @@ "bugs": { "url": "https://github.com/testcontainers/testcontainers-node/issues" }, + "type": "commonjs", "main": "build/index.js", "files": [ "build" diff --git a/packages/modules/k3s/package.json b/packages/modules/k3s/package.json index e7f408da9..940107b78 100644 --- a/packages/modules/k3s/package.json +++ b/packages/modules/k3s/package.json @@ -17,6 +17,7 @@ "bugs": { "url": "https://github.com/testcontainers/testcontainers-node/issues" }, + "type": "commonjs", "main": "build/index.js", "files": [ "build" diff --git a/packages/modules/kafka/package.json b/packages/modules/kafka/package.json index 25fb6cbea..ab98c7229 100644 --- a/packages/modules/kafka/package.json +++ b/packages/modules/kafka/package.json @@ -17,6 +17,7 @@ "bugs": { "url": "https://github.com/testcontainers/testcontainers-node/issues" }, + "type": "commonjs", "main": "build/index.js", "files": [ "build" diff --git a/packages/modules/kurrentdb/package.json b/packages/modules/kurrentdb/package.json index d83ff8d7a..0cb47e64e 100644 --- a/packages/modules/kurrentdb/package.json +++ b/packages/modules/kurrentdb/package.json @@ -17,6 +17,7 @@ "bugs": { "url": "https://github.com/testcontainers/testcontainers-node/issues" }, + "type": "commonjs", "main": "build/index.js", "files": [ "build" diff --git a/packages/modules/localstack/package.json b/packages/modules/localstack/package.json index 012fe49fd..d5d87395e 100644 --- a/packages/modules/localstack/package.json +++ b/packages/modules/localstack/package.json @@ -18,6 +18,7 @@ "bugs": { "url": "https://github.com/testcontainers/testcontainers-node/issues" }, + "type": "commonjs", "main": "build/index.js", "files": [ "build" diff --git a/packages/modules/mariadb/package.json b/packages/modules/mariadb/package.json index 6bcc79dc1..222874765 100644 --- a/packages/modules/mariadb/package.json +++ b/packages/modules/mariadb/package.json @@ -17,6 +17,7 @@ "bugs": { "url": "https://github.com/testcontainers/testcontainers-node/issues" }, + "type": "commonjs", "main": "build/index.js", "files": [ "build" diff --git a/packages/modules/minio/package.json b/packages/modules/minio/package.json index 259bb164c..d00b6bc06 100644 --- a/packages/modules/minio/package.json +++ b/packages/modules/minio/package.json @@ -17,6 +17,7 @@ "bugs": { "url": "https://github.com/testcontainers/testcontainers-node/issues" }, + "type": "commonjs", "main": "build/index.js", "files": [ "build" diff --git a/packages/modules/mockserver/package.json b/packages/modules/mockserver/package.json index bc235ee5f..377600d76 100644 --- a/packages/modules/mockserver/package.json +++ b/packages/modules/mockserver/package.json @@ -2,6 +2,7 @@ "name": "@testcontainers/mockserver", "version": "12.2.0", "description": "Mockserver module for Testcontainers", + "type": "commonjs", "main": "build/index.js", "scripts": { "prepack": "shx cp ../../../README.md . && shx cp ../../../LICENSE .", diff --git a/packages/modules/mongodb/package.json b/packages/modules/mongodb/package.json index a62d58f17..01f76cddf 100644 --- a/packages/modules/mongodb/package.json +++ b/packages/modules/mongodb/package.json @@ -17,6 +17,7 @@ "bugs": { "url": "https://github.com/testcontainers/testcontainers-node/issues" }, + "type": "commonjs", "main": "build/index.js", "files": [ "build" diff --git a/packages/modules/mosquitto/package.json b/packages/modules/mosquitto/package.json index 9c5356c87..aac29aacc 100644 --- a/packages/modules/mosquitto/package.json +++ b/packages/modules/mosquitto/package.json @@ -18,6 +18,7 @@ "bugs": { "url": "https://github.com/testcontainers/testcontainers-node/issues" }, + "type": "commonjs", "main": "build/index.js", "files": [ "build" diff --git a/packages/modules/mssqlserver/package.json b/packages/modules/mssqlserver/package.json index f2985d5b2..033933da2 100644 --- a/packages/modules/mssqlserver/package.json +++ b/packages/modules/mssqlserver/package.json @@ -19,6 +19,7 @@ "bugs": { "url": "https://github.com/testcontainers/testcontainers-node/issues" }, + "type": "commonjs", "main": "build/index.js", "files": [ "build" diff --git a/packages/modules/mysql/package.json b/packages/modules/mysql/package.json index 38ff6380e..6736a962e 100644 --- a/packages/modules/mysql/package.json +++ b/packages/modules/mysql/package.json @@ -17,6 +17,7 @@ "bugs": { "url": "https://github.com/testcontainers/testcontainers-node/issues" }, + "type": "commonjs", "main": "build/index.js", "files": [ "build" diff --git a/packages/modules/nats/package.json b/packages/modules/nats/package.json index 363cb665e..825b10cf8 100644 --- a/packages/modules/nats/package.json +++ b/packages/modules/nats/package.json @@ -17,6 +17,7 @@ "bugs": { "url": "https://github.com/testcontainers/testcontainers-node/issues" }, + "type": "commonjs", "main": "build/index.js", "files": [ "build" diff --git a/packages/modules/neo4j/package.json b/packages/modules/neo4j/package.json index 53a6b931f..7b5bb2ed7 100644 --- a/packages/modules/neo4j/package.json +++ b/packages/modules/neo4j/package.json @@ -17,6 +17,7 @@ "bugs": { "url": "https://github.com/testcontainers/testcontainers-node/issues" }, + "type": "commonjs", "main": "build/index.js", "files": [ "build" diff --git a/packages/modules/ollama/package.json b/packages/modules/ollama/package.json index 25af3af88..554d552bc 100644 --- a/packages/modules/ollama/package.json +++ b/packages/modules/ollama/package.json @@ -17,6 +17,7 @@ "bugs": { "url": "https://github.com/testcontainers/testcontainers-node/issues" }, + "type": "commonjs", "main": "build/index.js", "files": [ "build" diff --git a/packages/modules/opensearch/package.json b/packages/modules/opensearch/package.json index 8d55920d3..bf59f896c 100644 --- a/packages/modules/opensearch/package.json +++ b/packages/modules/opensearch/package.json @@ -17,6 +17,7 @@ "bugs": { "url": "https://github.com/testcontainers/testcontainers-node/issues" }, + "type": "commonjs", "main": "build/index.js", "files": [ "build" diff --git a/packages/modules/oraclefree/package.json b/packages/modules/oraclefree/package.json index f3f842580..ee89b82a4 100644 --- a/packages/modules/oraclefree/package.json +++ b/packages/modules/oraclefree/package.json @@ -18,6 +18,7 @@ "bugs": { "url": "https://github.com/testcontainers/testcontainers-node/issues" }, + "type": "commonjs", "main": "build/index.js", "files": [ "build" diff --git a/packages/modules/postgresql/package.json b/packages/modules/postgresql/package.json index dd93d175a..78e67bc45 100644 --- a/packages/modules/postgresql/package.json +++ b/packages/modules/postgresql/package.json @@ -18,6 +18,7 @@ "bugs": { "url": "https://github.com/testcontainers/testcontainers-node/issues" }, + "type": "commonjs", "main": "build/index.js", "files": [ "build" diff --git a/packages/modules/qdrant/package.json b/packages/modules/qdrant/package.json index 8bcd2737a..12e37e2be 100644 --- a/packages/modules/qdrant/package.json +++ b/packages/modules/qdrant/package.json @@ -17,6 +17,7 @@ "bugs": { "url": "https://github.com/testcontainers/testcontainers-node/issues" }, + "type": "commonjs", "main": "build/index.js", "files": [ "build" diff --git a/packages/modules/rabbitmq/package.json b/packages/modules/rabbitmq/package.json index 15cb97ffc..b18534f51 100644 --- a/packages/modules/rabbitmq/package.json +++ b/packages/modules/rabbitmq/package.json @@ -17,6 +17,7 @@ "bugs": { "url": "https://github.com/testcontainers/testcontainers-node/issues" }, + "type": "commonjs", "main": "build/index.js", "files": [ "build" diff --git a/packages/modules/redis/package.json b/packages/modules/redis/package.json index 4c119504e..5e303b746 100644 --- a/packages/modules/redis/package.json +++ b/packages/modules/redis/package.json @@ -17,6 +17,7 @@ "bugs": { "url": "https://github.com/testcontainers/testcontainers-node/issues" }, + "type": "commonjs", "main": "build/index.js", "files": [ "build" diff --git a/packages/modules/redpanda/package.json b/packages/modules/redpanda/package.json index 6f242e75e..e44d8dc4d 100644 --- a/packages/modules/redpanda/package.json +++ b/packages/modules/redpanda/package.json @@ -17,6 +17,7 @@ "bugs": { "url": "https://github.com/testcontainers/testcontainers-node/issues" }, + "type": "commonjs", "main": "build/index.js", "files": [ "build" diff --git a/packages/modules/s3mock/package.json b/packages/modules/s3mock/package.json index 3ef3fa2a9..e16a7764e 100644 --- a/packages/modules/s3mock/package.json +++ b/packages/modules/s3mock/package.json @@ -18,6 +18,7 @@ "bugs": { "url": "https://github.com/testcontainers/testcontainers-node/issues" }, + "type": "commonjs", "main": "build/index.js", "files": [ "build" diff --git a/packages/modules/scylladb/package.json b/packages/modules/scylladb/package.json index 7a74a192c..be800957e 100644 --- a/packages/modules/scylladb/package.json +++ b/packages/modules/scylladb/package.json @@ -17,6 +17,7 @@ "bugs": { "url": "https://github.com/testcontainers/testcontainers-node/issues" }, + "type": "commonjs", "main": "build/index.js", "files": [ "build" diff --git a/packages/modules/selenium/package.json b/packages/modules/selenium/package.json index ed901a410..be3dcf323 100644 --- a/packages/modules/selenium/package.json +++ b/packages/modules/selenium/package.json @@ -17,6 +17,7 @@ "bugs": { "url": "https://github.com/testcontainers/testcontainers-node/issues" }, + "type": "commonjs", "main": "build/index.js", "files": [ "build" diff --git a/packages/modules/toxiproxy/package.json b/packages/modules/toxiproxy/package.json index 3ada00561..4563e1628 100644 --- a/packages/modules/toxiproxy/package.json +++ b/packages/modules/toxiproxy/package.json @@ -17,6 +17,7 @@ "bugs": { "url": "https://github.com/testcontainers/testcontainers-node/issues" }, + "type": "commonjs", "main": "build/index.js", "files": [ "build" diff --git a/packages/modules/valkey/package.json b/packages/modules/valkey/package.json index cdef80310..a7ea8204f 100644 --- a/packages/modules/valkey/package.json +++ b/packages/modules/valkey/package.json @@ -17,6 +17,7 @@ "bugs": { "url": "https://github.com/testcontainers/testcontainers-node/issues" }, + "type": "commonjs", "main": "build/index.js", "files": [ "build" diff --git a/packages/modules/vault/package.json b/packages/modules/vault/package.json index 7ea00e870..db986add2 100644 --- a/packages/modules/vault/package.json +++ b/packages/modules/vault/package.json @@ -18,6 +18,7 @@ "bugs": { "url": "https://github.com/testcontainers/testcontainers-node/issues" }, + "type": "commonjs", "main": "build/index.js", "files": [ "build" diff --git a/packages/modules/weaviate/package.json b/packages/modules/weaviate/package.json index 28a146e29..52b7e4e79 100644 --- a/packages/modules/weaviate/package.json +++ b/packages/modules/weaviate/package.json @@ -17,6 +17,7 @@ "bugs": { "url": "https://github.com/testcontainers/testcontainers-node/issues" }, + "type": "commonjs", "main": "build/index.js", "files": [ "build" diff --git a/packages/testcontainers/package.json b/packages/testcontainers/package.json index 845a661e7..c146bd1c3 100644 --- a/packages/testcontainers/package.json +++ b/packages/testcontainers/package.json @@ -17,6 +17,7 @@ "bugs": { "url": "https://github.com/testcontainers/testcontainers-node/issues" }, + "type": "commonjs", "main": "build/index.js", "files": [ "build" From 34249f5f88cd0ff26171259b7cdaf89f9e5ee355 Mon Sep 17 00:00:00 2001 From: Cristian Greco Date: Thu, 8 Oct 2026 20:33:05 +0100 Subject: [PATCH 3/3] Declare supported Node.js versions for modules Modules depend on testcontainers, which requires Node.js >= 22.22, so declaring the same range on each module does not narrow support. --- package-lock.json | 129 ++++++++++++++++++ packages/modules/arangodb/package.json | 3 + packages/modules/azurecosmosdb/package.json | 3 + packages/modules/azureservicebus/package.json | 3 + packages/modules/azurite/package.json | 3 + packages/modules/cassandra/package.json | 3 + packages/modules/chromadb/package.json | 3 + packages/modules/clickhouse/package.json | 3 + packages/modules/cockroachdb/package.json | 3 + packages/modules/couchbase/package.json | 3 + packages/modules/couchdb/package.json | 3 + packages/modules/elasticsearch/package.json | 3 + packages/modules/etcd/package.json | 3 + packages/modules/gcloud/package.json | 3 + packages/modules/hivemq/package.json | 3 + packages/modules/influxdb/package.json | 3 + packages/modules/k3s/package.json | 3 + packages/modules/kafka/package.json | 3 + packages/modules/kurrentdb/package.json | 3 + packages/modules/localstack/package.json | 3 + packages/modules/mariadb/package.json | 3 + packages/modules/minio/package.json | 3 + packages/modules/mockserver/package.json | 3 + packages/modules/mongodb/package.json | 3 + packages/modules/mosquitto/package.json | 3 + packages/modules/mssqlserver/package.json | 3 + packages/modules/mysql/package.json | 3 + packages/modules/nats/package.json | 3 + packages/modules/neo4j/package.json | 3 + packages/modules/ollama/package.json | 3 + packages/modules/opensearch/package.json | 3 + packages/modules/oraclefree/package.json | 3 + packages/modules/postgresql/package.json | 3 + packages/modules/qdrant/package.json | 3 + packages/modules/rabbitmq/package.json | 3 + packages/modules/redis/package.json | 3 + packages/modules/redpanda/package.json | 3 + packages/modules/s3mock/package.json | 3 + packages/modules/scylladb/package.json | 3 + packages/modules/selenium/package.json | 3 + packages/modules/toxiproxy/package.json | 3 + packages/modules/valkey/package.json | 3 + packages/modules/vault/package.json | 3 + packages/modules/weaviate/package.json | 3 + 44 files changed, 258 insertions(+) diff --git a/package-lock.json b/package-lock.json index c39d05e0d..c94e49841 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15230,6 +15230,9 @@ }, "devDependencies": { "arangojs": "^10.5.0" + }, + "engines": { + "node": ">= 22.22" } }, "packages/modules/azurecosmosdb": { @@ -15241,6 +15244,9 @@ }, "devDependencies": { "@azure/cosmos": "^4.10.1" + }, + "engines": { + "node": ">= 22.22" } }, "packages/modules/azureservicebus": { @@ -15252,6 +15258,9 @@ }, "devDependencies": { "@azure/service-bus": "^7.9.5" + }, + "engines": { + "node": ">= 22.22" } }, "packages/modules/azurite": { @@ -15265,6 +15274,9 @@ "@azure/data-tables": "^13.3.2", "@azure/storage-blob": "12.34.0", "@azure/storage-queue": "12.32.0" + }, + "engines": { + "node": ">= 22.22" } }, "packages/modules/cassandra": { @@ -15276,6 +15288,9 @@ }, "devDependencies": { "cassandra-driver": "^4.10.0" + }, + "engines": { + "node": ">= 22.22" } }, "packages/modules/chromadb": { @@ -15288,6 +15303,9 @@ "devDependencies": { "@chroma-core/default-embed": "^0.1.9", "chromadb": "^3.5.0" + }, + "engines": { + "node": ">= 22.22" } }, "packages/modules/clickhouse": { @@ -15299,6 +15317,9 @@ }, "devDependencies": { "@clickhouse/client": "^1.23.1" + }, + "engines": { + "node": ">= 22.22" } }, "packages/modules/cockroachdb": { @@ -15311,6 +15332,9 @@ "devDependencies": { "@types/pg": "^8.23.1", "pg": "^8.23.0" + }, + "engines": { + "node": ">= 22.22" } }, "packages/modules/couchbase": { @@ -15323,6 +15347,9 @@ "devDependencies": { "couchbase": "^4.7.1", "get-port": "^5.1.1" + }, + "engines": { + "node": ">= 22.22" } }, "packages/modules/couchbase/node_modules/get-port": { @@ -15347,6 +15374,9 @@ }, "devDependencies": { "nano": "^11.0.7" + }, + "engines": { + "node": ">= 22.22" } }, "packages/modules/elasticsearch": { @@ -15358,6 +15388,9 @@ }, "devDependencies": { "@elastic/elasticsearch": "^9.5.1" + }, + "engines": { + "node": ">= 22.22" } }, "packages/modules/etcd": { @@ -15369,6 +15402,9 @@ }, "devDependencies": { "etcd3": "^1.1.2" + }, + "engines": { + "node": ">= 22.22" } }, "packages/modules/gcloud": { @@ -15388,6 +15424,9 @@ "@google-cloud/storage": "^8.2.0", "firebase-admin": "14.5.0", "msw": "^2.15.0" + }, + "engines": { + "node": ">= 22.22" } }, "packages/modules/hivemq": { @@ -15399,6 +15438,9 @@ }, "devDependencies": { "mqtt": "^5.16.0" + }, + "engines": { + "node": ">= 22.22" } }, "packages/modules/influxdb": { @@ -15410,6 +15452,9 @@ }, "devDependencies": { "@influxdata/influxdb-client": "^1.35.0" + }, + "engines": { + "node": ">= 22.22" } }, "packages/modules/k3s": { @@ -15421,6 +15466,9 @@ }, "devDependencies": { "@kubernetes/client-node": "^2.0.0" + }, + "engines": { + "node": ">= 22.22" } }, "packages/modules/kafka": { @@ -15433,6 +15481,9 @@ }, "devDependencies": { "@confluentinc/kafka-javascript": "^1.10.1" + }, + "engines": { + "node": ">= 22.22" } }, "packages/modules/kurrentdb": { @@ -15444,6 +15495,9 @@ }, "devDependencies": { "@kurrent/kurrentdb-client": "^1.3.1" + }, + "engines": { + "node": ">= 22.22" } }, "packages/modules/localstack": { @@ -15455,6 +15509,9 @@ }, "devDependencies": { "@aws-sdk/client-s3": "^3.1141.0" + }, + "engines": { + "node": ">= 22.22" } }, "packages/modules/mariadb": { @@ -15466,6 +15523,9 @@ }, "devDependencies": { "mariadb": "3.5.4" + }, + "engines": { + "node": ">= 22.22" } }, "packages/modules/minio": { @@ -15477,6 +15537,9 @@ }, "devDependencies": { "minio": "^8.0.7" + }, + "engines": { + "node": ">= 22.22" } }, "packages/modules/mockserver": { @@ -15490,6 +15553,9 @@ "@types/superagent": "^8.1.11", "mockserver-client": "^8.0.0", "superagent": "^10.4.1" + }, + "engines": { + "node": ">= 22.22" } }, "packages/modules/mongodb": { @@ -15502,6 +15568,9 @@ }, "devDependencies": { "mongoose": "^9.10.2" + }, + "engines": { + "node": ">= 22.22" } }, "packages/modules/mosquitto": { @@ -15513,6 +15582,9 @@ }, "devDependencies": { "mqtt": "^5.16.0" + }, + "engines": { + "node": ">= 22.22" } }, "packages/modules/mssqlserver": { @@ -15525,6 +15597,9 @@ "devDependencies": { "@types/mssql": "^12.3.0", "mssql": "^12.7.2" + }, + "engines": { + "node": ">= 22.22" } }, "packages/modules/mysql": { @@ -15536,6 +15611,9 @@ }, "devDependencies": { "mysql2": "^3.24.4" + }, + "engines": { + "node": ">= 22.22" } }, "packages/modules/nats": { @@ -15548,6 +15626,9 @@ "devDependencies": { "@nats-io/jetstream": "^3.4.0", "@nats-io/transport-node": "^3.4.0" + }, + "engines": { + "node": ">= 22.22" } }, "packages/modules/neo4j": { @@ -15559,6 +15640,9 @@ }, "devDependencies": { "neo4j-driver": "^6.2.0" + }, + "engines": { + "node": ">= 22.22" } }, "packages/modules/ollama": { @@ -15567,6 +15651,9 @@ "license": "MIT", "dependencies": { "testcontainers": "^12.2.0" + }, + "engines": { + "node": ">= 22.22" } }, "packages/modules/opensearch": { @@ -15580,6 +15667,9 @@ "devDependencies": { "@opensearch-project/opensearch": "^3.9.0", "@types/zxcvbn": "^4.4.5" + }, + "engines": { + "node": ">= 22.22" } }, "packages/modules/oraclefree": { @@ -15592,6 +15682,9 @@ "devDependencies": { "@types/oracledb": "^7.0.3", "oracledb": "^7.0.1" + }, + "engines": { + "node": ">= 22.22" } }, "packages/modules/postgresql": { @@ -15604,6 +15697,9 @@ "devDependencies": { "@types/pg": "^8.23.1", "pg": "^8.23.0" + }, + "engines": { + "node": ">= 22.22" } }, "packages/modules/qdrant": { @@ -15615,6 +15711,9 @@ }, "devDependencies": { "@qdrant/js-client-rest": "^1.19.0" + }, + "engines": { + "node": ">= 22.22" } }, "packages/modules/rabbitmq": { @@ -15627,6 +15726,9 @@ "devDependencies": { "@types/amqplib": "^0.10.8", "amqplib": "^2.2.0" + }, + "engines": { + "node": ">= 22.22" } }, "packages/modules/redis": { @@ -15638,6 +15740,9 @@ }, "devDependencies": { "redis": "^6.2.1" + }, + "engines": { + "node": ">= 22.22" } }, "packages/modules/redpanda": { @@ -15650,6 +15755,9 @@ }, "devDependencies": { "@confluentinc/kafka-javascript": "^1.10.1" + }, + "engines": { + "node": ">= 22.22" } }, "packages/modules/s3mock": { @@ -15661,6 +15769,9 @@ }, "devDependencies": { "@aws-sdk/client-s3": "^3.1141.0" + }, + "engines": { + "node": ">= 22.22" } }, "packages/modules/scylladb": { @@ -15672,6 +15783,9 @@ }, "devDependencies": { "cassandra-driver": "^4.10.0" + }, + "engines": { + "node": ">= 22.22" } }, "packages/modules/selenium": { @@ -15684,6 +15798,9 @@ "devDependencies": { "@types/selenium-webdriver": "^4.35.7", "selenium-webdriver": "^4.49.0" + }, + "engines": { + "node": ">= 22.22" } }, "packages/modules/toxiproxy": { @@ -15693,6 +15810,9 @@ "dependencies": { "testcontainers": "^12.2.0", "toxiproxy-node-client": "^4.1.0" + }, + "engines": { + "node": ">= 22.22" } }, "packages/modules/valkey": { @@ -15704,6 +15824,9 @@ }, "devDependencies": { "redis": "^6.2.1" + }, + "engines": { + "node": ">= 22.22" } }, "packages/modules/vault": { @@ -15715,6 +15838,9 @@ }, "devDependencies": { "node-vault": "^0.12.0" + }, + "engines": { + "node": ">= 22.22" } }, "packages/modules/weaviate": { @@ -15726,6 +15852,9 @@ }, "devDependencies": { "weaviate-ts-client": "^2.2.0" + }, + "engines": { + "node": ">= 22.22" } }, "packages/testcontainers": { diff --git a/packages/modules/arangodb/package.json b/packages/modules/arangodb/package.json index 265d7b9d1..b573c5784 100644 --- a/packages/modules/arangodb/package.json +++ b/packages/modules/arangodb/package.json @@ -34,5 +34,8 @@ }, "dependencies": { "testcontainers": "^12.2.0" + }, + "engines": { + "node": ">= 22.22" } } diff --git a/packages/modules/azurecosmosdb/package.json b/packages/modules/azurecosmosdb/package.json index 76d0a42d6..883ee298a 100644 --- a/packages/modules/azurecosmosdb/package.json +++ b/packages/modules/azurecosmosdb/package.json @@ -36,5 +36,8 @@ }, "dependencies": { "testcontainers": "^12.2.0" + }, + "engines": { + "node": ">= 22.22" } } diff --git a/packages/modules/azureservicebus/package.json b/packages/modules/azureservicebus/package.json index 049c76fee..e6e98dce6 100644 --- a/packages/modules/azureservicebus/package.json +++ b/packages/modules/azureservicebus/package.json @@ -35,5 +35,8 @@ }, "devDependencies": { "@azure/service-bus": "^7.9.5" + }, + "engines": { + "node": ">= 22.22" } } diff --git a/packages/modules/azurite/package.json b/packages/modules/azurite/package.json index fc992b9c2..be10953a2 100644 --- a/packages/modules/azurite/package.json +++ b/packages/modules/azurite/package.json @@ -36,5 +36,8 @@ "@azure/data-tables": "^13.3.2", "@azure/storage-blob": "12.34.0", "@azure/storage-queue": "12.32.0" + }, + "engines": { + "node": ">= 22.22" } } diff --git a/packages/modules/cassandra/package.json b/packages/modules/cassandra/package.json index 82ec865d6..a4f11b75d 100644 --- a/packages/modules/cassandra/package.json +++ b/packages/modules/cassandra/package.json @@ -34,5 +34,8 @@ }, "devDependencies": { "cassandra-driver": "^4.10.0" + }, + "engines": { + "node": ">= 22.22" } } diff --git a/packages/modules/chromadb/package.json b/packages/modules/chromadb/package.json index e2e633089..9feb33f62 100644 --- a/packages/modules/chromadb/package.json +++ b/packages/modules/chromadb/package.json @@ -35,5 +35,8 @@ }, "dependencies": { "testcontainers": "^12.2.0" + }, + "engines": { + "node": ">= 22.22" } } diff --git a/packages/modules/clickhouse/package.json b/packages/modules/clickhouse/package.json index 9f988a0b7..34c6adb77 100644 --- a/packages/modules/clickhouse/package.json +++ b/packages/modules/clickhouse/package.json @@ -34,5 +34,8 @@ }, "dependencies": { "testcontainers": "^12.2.0" + }, + "engines": { + "node": ">= 22.22" } } diff --git a/packages/modules/cockroachdb/package.json b/packages/modules/cockroachdb/package.json index 09374c928..70f0a9e2e 100644 --- a/packages/modules/cockroachdb/package.json +++ b/packages/modules/cockroachdb/package.json @@ -36,5 +36,8 @@ }, "dependencies": { "testcontainers": "^12.2.0" + }, + "engines": { + "node": ">= 22.22" } } diff --git a/packages/modules/couchbase/package.json b/packages/modules/couchbase/package.json index cac358653..9ff347df3 100644 --- a/packages/modules/couchbase/package.json +++ b/packages/modules/couchbase/package.json @@ -35,5 +35,8 @@ "devDependencies": { "couchbase": "^4.7.1", "get-port": "^5.1.1" + }, + "engines": { + "node": ">= 22.22" } } diff --git a/packages/modules/couchdb/package.json b/packages/modules/couchdb/package.json index b2fc46f7e..7d592fb8d 100644 --- a/packages/modules/couchdb/package.json +++ b/packages/modules/couchdb/package.json @@ -34,5 +34,8 @@ }, "devDependencies": { "nano": "^11.0.7" + }, + "engines": { + "node": ">= 22.22" } } diff --git a/packages/modules/elasticsearch/package.json b/packages/modules/elasticsearch/package.json index 59688b7bb..540397052 100644 --- a/packages/modules/elasticsearch/package.json +++ b/packages/modules/elasticsearch/package.json @@ -34,5 +34,8 @@ }, "dependencies": { "testcontainers": "^12.2.0" + }, + "engines": { + "node": ">= 22.22" } } diff --git a/packages/modules/etcd/package.json b/packages/modules/etcd/package.json index ed99fdd72..410934e46 100644 --- a/packages/modules/etcd/package.json +++ b/packages/modules/etcd/package.json @@ -35,5 +35,8 @@ }, "dependencies": { "testcontainers": "^12.2.0" + }, + "engines": { + "node": ">= 22.22" } } diff --git a/packages/modules/gcloud/package.json b/packages/modules/gcloud/package.json index eb0e7f6a7..e1675aa02 100644 --- a/packages/modules/gcloud/package.json +++ b/packages/modules/gcloud/package.json @@ -50,5 +50,8 @@ "@google-cloud/storage": "^8.2.0", "firebase-admin": "14.5.0", "msw": "^2.15.0" + }, + "engines": { + "node": ">= 22.22" } } diff --git a/packages/modules/hivemq/package.json b/packages/modules/hivemq/package.json index 5101f2a78..bd1f4f4a1 100644 --- a/packages/modules/hivemq/package.json +++ b/packages/modules/hivemq/package.json @@ -34,5 +34,8 @@ }, "dependencies": { "testcontainers": "^12.2.0" + }, + "engines": { + "node": ">= 22.22" } } diff --git a/packages/modules/influxdb/package.json b/packages/modules/influxdb/package.json index d6fc8a8c3..8fe96c7c2 100644 --- a/packages/modules/influxdb/package.json +++ b/packages/modules/influxdb/package.json @@ -36,5 +36,8 @@ }, "dependencies": { "testcontainers": "^12.2.0" + }, + "engines": { + "node": ">= 22.22" } } diff --git a/packages/modules/k3s/package.json b/packages/modules/k3s/package.json index 940107b78..f82ae4fe9 100644 --- a/packages/modules/k3s/package.json +++ b/packages/modules/k3s/package.json @@ -34,5 +34,8 @@ }, "devDependencies": { "@kubernetes/client-node": "^2.0.0" + }, + "engines": { + "node": ">= 22.22" } } diff --git a/packages/modules/kafka/package.json b/packages/modules/kafka/package.json index ab98c7229..8e94b127a 100644 --- a/packages/modules/kafka/package.json +++ b/packages/modules/kafka/package.json @@ -35,5 +35,8 @@ "dependencies": { "compare-versions": "^6.1.1", "testcontainers": "^12.2.0" + }, + "engines": { + "node": ">= 22.22" } } diff --git a/packages/modules/kurrentdb/package.json b/packages/modules/kurrentdb/package.json index 0cb47e64e..8c7c83f0a 100644 --- a/packages/modules/kurrentdb/package.json +++ b/packages/modules/kurrentdb/package.json @@ -34,5 +34,8 @@ }, "dependencies": { "testcontainers": "^12.2.0" + }, + "engines": { + "node": ">= 22.22" } } diff --git a/packages/modules/localstack/package.json b/packages/modules/localstack/package.json index d5d87395e..157155924 100644 --- a/packages/modules/localstack/package.json +++ b/packages/modules/localstack/package.json @@ -35,5 +35,8 @@ }, "devDependencies": { "@aws-sdk/client-s3": "^3.1141.0" + }, + "engines": { + "node": ">= 22.22" } } diff --git a/packages/modules/mariadb/package.json b/packages/modules/mariadb/package.json index 222874765..a96625e49 100644 --- a/packages/modules/mariadb/package.json +++ b/packages/modules/mariadb/package.json @@ -34,5 +34,8 @@ }, "devDependencies": { "mariadb": "3.5.4" + }, + "engines": { + "node": ">= 22.22" } } diff --git a/packages/modules/minio/package.json b/packages/modules/minio/package.json index d00b6bc06..6dd1e1386 100644 --- a/packages/modules/minio/package.json +++ b/packages/modules/minio/package.json @@ -34,5 +34,8 @@ }, "devDependencies": { "minio": "^8.0.7" + }, + "engines": { + "node": ">= 22.22" } } diff --git a/packages/modules/mockserver/package.json b/packages/modules/mockserver/package.json index 377600d76..dce5e9b3d 100644 --- a/packages/modules/mockserver/package.json +++ b/packages/modules/mockserver/package.json @@ -36,5 +36,8 @@ "@types/superagent": "^8.1.11", "mockserver-client": "^8.0.0", "superagent": "^10.4.1" + }, + "engines": { + "node": ">= 22.22" } } diff --git a/packages/modules/mongodb/package.json b/packages/modules/mongodb/package.json index 01f76cddf..1ea0aa6f7 100644 --- a/packages/modules/mongodb/package.json +++ b/packages/modules/mongodb/package.json @@ -35,5 +35,8 @@ "dependencies": { "compare-versions": "^6.1.1", "testcontainers": "^12.2.0" + }, + "engines": { + "node": ">= 22.22" } } diff --git a/packages/modules/mosquitto/package.json b/packages/modules/mosquitto/package.json index aac29aacc..efa61bfdb 100644 --- a/packages/modules/mosquitto/package.json +++ b/packages/modules/mosquitto/package.json @@ -35,5 +35,8 @@ }, "dependencies": { "testcontainers": "^12.2.0" + }, + "engines": { + "node": ">= 22.22" } } diff --git a/packages/modules/mssqlserver/package.json b/packages/modules/mssqlserver/package.json index 033933da2..a80d3f888 100644 --- a/packages/modules/mssqlserver/package.json +++ b/packages/modules/mssqlserver/package.json @@ -37,5 +37,8 @@ }, "dependencies": { "testcontainers": "^12.2.0" + }, + "engines": { + "node": ">= 22.22" } } diff --git a/packages/modules/mysql/package.json b/packages/modules/mysql/package.json index 6736a962e..c16ba1d04 100644 --- a/packages/modules/mysql/package.json +++ b/packages/modules/mysql/package.json @@ -34,5 +34,8 @@ }, "dependencies": { "testcontainers": "^12.2.0" + }, + "engines": { + "node": ">= 22.22" } } diff --git a/packages/modules/nats/package.json b/packages/modules/nats/package.json index 825b10cf8..a5e9972a4 100644 --- a/packages/modules/nats/package.json +++ b/packages/modules/nats/package.json @@ -35,5 +35,8 @@ "devDependencies": { "@nats-io/jetstream": "^3.4.0", "@nats-io/transport-node": "^3.4.0" + }, + "engines": { + "node": ">= 22.22" } } diff --git a/packages/modules/neo4j/package.json b/packages/modules/neo4j/package.json index 7b5bb2ed7..441be572f 100644 --- a/packages/modules/neo4j/package.json +++ b/packages/modules/neo4j/package.json @@ -34,5 +34,8 @@ }, "dependencies": { "testcontainers": "^12.2.0" + }, + "engines": { + "node": ">= 22.22" } } diff --git a/packages/modules/ollama/package.json b/packages/modules/ollama/package.json index 554d552bc..30fc28c84 100644 --- a/packages/modules/ollama/package.json +++ b/packages/modules/ollama/package.json @@ -31,5 +31,8 @@ }, "dependencies": { "testcontainers": "^12.2.0" + }, + "engines": { + "node": ">= 22.22" } } diff --git a/packages/modules/opensearch/package.json b/packages/modules/opensearch/package.json index bf59f896c..2f4a33a4b 100644 --- a/packages/modules/opensearch/package.json +++ b/packages/modules/opensearch/package.json @@ -36,5 +36,8 @@ "dependencies": { "testcontainers": "^12.2.0", "zxcvbn": "^4.4.2" + }, + "engines": { + "node": ">= 22.22" } } diff --git a/packages/modules/oraclefree/package.json b/packages/modules/oraclefree/package.json index ee89b82a4..ed90d7cf3 100644 --- a/packages/modules/oraclefree/package.json +++ b/packages/modules/oraclefree/package.json @@ -36,5 +36,8 @@ "devDependencies": { "@types/oracledb": "^7.0.3", "oracledb": "^7.0.1" + }, + "engines": { + "node": ">= 22.22" } } diff --git a/packages/modules/postgresql/package.json b/packages/modules/postgresql/package.json index 78e67bc45..88546ac06 100644 --- a/packages/modules/postgresql/package.json +++ b/packages/modules/postgresql/package.json @@ -36,5 +36,8 @@ }, "dependencies": { "testcontainers": "^12.2.0" + }, + "engines": { + "node": ">= 22.22" } } diff --git a/packages/modules/qdrant/package.json b/packages/modules/qdrant/package.json index 12e37e2be..eccf60f64 100644 --- a/packages/modules/qdrant/package.json +++ b/packages/modules/qdrant/package.json @@ -34,5 +34,8 @@ }, "dependencies": { "testcontainers": "^12.2.0" + }, + "engines": { + "node": ">= 22.22" } } diff --git a/packages/modules/rabbitmq/package.json b/packages/modules/rabbitmq/package.json index b18534f51..76352f62d 100644 --- a/packages/modules/rabbitmq/package.json +++ b/packages/modules/rabbitmq/package.json @@ -35,5 +35,8 @@ "devDependencies": { "@types/amqplib": "^0.10.8", "amqplib": "^2.2.0" + }, + "engines": { + "node": ">= 22.22" } } diff --git a/packages/modules/redis/package.json b/packages/modules/redis/package.json index 5e303b746..d57ae6748 100644 --- a/packages/modules/redis/package.json +++ b/packages/modules/redis/package.json @@ -35,5 +35,8 @@ }, "dependencies": { "testcontainers": "^12.2.0" + }, + "engines": { + "node": ">= 22.22" } } diff --git a/packages/modules/redpanda/package.json b/packages/modules/redpanda/package.json index e44d8dc4d..dfe90a75e 100644 --- a/packages/modules/redpanda/package.json +++ b/packages/modules/redpanda/package.json @@ -36,5 +36,8 @@ }, "devDependencies": { "@confluentinc/kafka-javascript": "^1.10.1" + }, + "engines": { + "node": ">= 22.22" } } diff --git a/packages/modules/s3mock/package.json b/packages/modules/s3mock/package.json index e16a7764e..cc1181a7e 100644 --- a/packages/modules/s3mock/package.json +++ b/packages/modules/s3mock/package.json @@ -35,5 +35,8 @@ }, "devDependencies": { "@aws-sdk/client-s3": "^3.1141.0" + }, + "engines": { + "node": ">= 22.22" } } diff --git a/packages/modules/scylladb/package.json b/packages/modules/scylladb/package.json index be800957e..818cf67b6 100644 --- a/packages/modules/scylladb/package.json +++ b/packages/modules/scylladb/package.json @@ -34,5 +34,8 @@ }, "devDependencies": { "cassandra-driver": "^4.10.0" + }, + "engines": { + "node": ">= 22.22" } } diff --git a/packages/modules/selenium/package.json b/packages/modules/selenium/package.json index be3dcf323..9ab290c31 100644 --- a/packages/modules/selenium/package.json +++ b/packages/modules/selenium/package.json @@ -35,5 +35,8 @@ }, "dependencies": { "testcontainers": "^12.2.0" + }, + "engines": { + "node": ">= 22.22" } } diff --git a/packages/modules/toxiproxy/package.json b/packages/modules/toxiproxy/package.json index 4563e1628..b2858081b 100644 --- a/packages/modules/toxiproxy/package.json +++ b/packages/modules/toxiproxy/package.json @@ -32,5 +32,8 @@ "dependencies": { "testcontainers": "^12.2.0", "toxiproxy-node-client": "^4.1.0" + }, + "engines": { + "node": ">= 22.22" } } diff --git a/packages/modules/valkey/package.json b/packages/modules/valkey/package.json index a7ea8204f..fd5f6a0d0 100644 --- a/packages/modules/valkey/package.json +++ b/packages/modules/valkey/package.json @@ -35,5 +35,8 @@ }, "dependencies": { "testcontainers": "^12.2.0" + }, + "engines": { + "node": ">= 22.22" } } diff --git a/packages/modules/vault/package.json b/packages/modules/vault/package.json index db986add2..42af09500 100644 --- a/packages/modules/vault/package.json +++ b/packages/modules/vault/package.json @@ -35,5 +35,8 @@ }, "devDependencies": { "node-vault": "^0.12.0" + }, + "engines": { + "node": ">= 22.22" } } diff --git a/packages/modules/weaviate/package.json b/packages/modules/weaviate/package.json index 52b7e4e79..c44148c26 100644 --- a/packages/modules/weaviate/package.json +++ b/packages/modules/weaviate/package.json @@ -34,5 +34,8 @@ }, "dependencies": { "testcontainers": "^12.2.0" + }, + "engines": { + "node": ">= 22.22" } }