Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2,174 changes: 1,053 additions & 1,121 deletions package-lock.json

Large diffs are not rendered by default.

12 changes: 6 additions & 6 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -20,19 +20,19 @@
"devDependencies": {
"@eslint/js": "^10.0.1",
"@eslint/json": "^1.2.0",
"@vitest/coverage-v8": "^4.1.2",
"eslint": "^10.2.0",
"@vitest/coverage-v8": "^4.1.4",
"eslint": "^10.2.1",
"eslint-config-prettier": "^10.1.8",
"eslint-plugin-prettier": "^5.5.5",
"husky": "^9.1.7",
"lint-staged": "^16.4.0",
"npm-check-updates": "^20.0.0",
"prettier": "^3.8.1",
"npm-check-updates": "^21.0.2",
"prettier": "^3.8.3",
"prettier-plugin-organize-imports": "^4.3.0",
"shx": "^0.4.0",
"ts-node": "^10.9.2",
"typescript": "^5.9.3",
"typescript-eslint": "^8.58.0",
"typescript": "^6.0.3",
"typescript-eslint": "^8.58.2",
"vitest": "^4.0.18"
},
"lint-staged": {
Expand Down
2 changes: 1 addition & 1 deletion packages/modules/arangodb/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
"build": "tsc --project tsconfig.build.json"
},
"devDependencies": {
"arangojs": "^10.2.2"
"arangojs": "^10.3.0"
},
"dependencies": {
"testcontainers": "^11.14.0"
Expand Down
2 changes: 1 addition & 1 deletion packages/modules/chromadb/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
"devDependencies": {
"@chroma-core/default-embed": "^0.1.9",
"@chroma-core/ollama": "^0.1.8",
"chromadb": "^3.4.0"
"chromadb": "^3.4.3"
},
"dependencies": {
"testcontainers": "^11.14.0"
Expand Down
6 changes: 3 additions & 3 deletions packages/modules/gcloud/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -43,11 +43,11 @@
"devDependencies": {
"@google-cloud/bigquery": "^8.1.1",
"@google-cloud/datastore": "^10.1.0",
"@google-cloud/firestore": "8.3.0",
"@google-cloud/firestore": "8.5.0",
"@google-cloud/pubsub": "^5.3.0",
"@google-cloud/spanner": "^8.6.0",
"@google-cloud/storage": "^7.19.0",
"firebase-admin": "13.7.0",
"msw": "^2.12.14"
"firebase-admin": "13.8.0",
"msw": "^2.13.4"
}
}
2 changes: 1 addition & 1 deletion packages/modules/localstack/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,6 @@
"testcontainers": "^11.14.0"
},
"devDependencies": {
"@aws-sdk/client-s3": "^3.1024.0"
"@aws-sdk/client-s3": "^3.1032.0"
}
}
4 changes: 2 additions & 2 deletions packages/modules/mssqlserver/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,8 @@
"build": "tsc --project tsconfig.build.json"
},
"devDependencies": {
"@types/mssql": "^9.1.11",
"mssql": "^12.2.1"
"@types/mssql": "^12.3.0",
"mssql": "^12.3.1"
},
"dependencies": {
"testcontainers": "^11.14.0"
Expand Down
2 changes: 1 addition & 1 deletion packages/modules/mysql/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
"build": "tsc --project tsconfig.build.json"
},
"devDependencies": {
"mysql2": "^3.20.0"
"mysql2": "^3.22.1"
},
"dependencies": {
"testcontainers": "^11.14.0"
Expand Down
2 changes: 1 addition & 1 deletion packages/modules/oraclefree/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@
"testcontainers": "^11.14.0"
},
"devDependencies": {
"@types/oracledb": "^6.10.2",
"@types/oracledb": "^6.10.3",
"oracledb": "^6.10.0"
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import { OracleDbContainer, StartedOracleDbContainer } from "./oraclefree-contai

const IMAGE = getImage(__dirname);

describe("OracleFreeContainer", { timeout: 240_000 }, () => {
describe.sequential("OracleFreeContainer", { timeout: 240_000 }, () => {
describe("default configuration", () => {
let container: StartedOracleDbContainer;

Expand Down
2 changes: 1 addition & 1 deletion packages/modules/redis/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
"build": "tsc --project tsconfig.build.json"
},
"devDependencies": {
"redis": "^5.11.0"
"redis": "^5.12.1"
},
"dependencies": {
"testcontainers": "^11.14.0"
Expand Down
2 changes: 1 addition & 1 deletion packages/modules/s3mock/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,6 @@
"testcontainers": "^11.14.0"
},
"devDependencies": {
"@aws-sdk/client-s3": "^3.1024.0"
"@aws-sdk/client-s3": "^3.1032.0"
}
}
2 changes: 1 addition & 1 deletion packages/modules/selenium/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
},
"devDependencies": {
"@types/selenium-webdriver": "^4.35.5",
"selenium-webdriver": "^4.41.0"
"selenium-webdriver": "^4.43.0"
},
"dependencies": {
"testcontainers": "^11.14.0"
Expand Down
2 changes: 1 addition & 1 deletion packages/modules/valkey/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
"build": "tsc --project tsconfig.build.json"
},
"devDependencies": {
"redis": "^5.11.0"
"redis": "^5.12.1"
},
"dependencies": {
"testcontainers": "^11.14.0"
Expand Down
6 changes: 3 additions & 3 deletions packages/modules/vault/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -29,10 +29,10 @@
"prepack": "shx cp ../../../README.md . && shx cp ../../../LICENSE .",
"build": "tsc --project tsconfig.build.json"
},
"devDependencies": {
"@litehex/node-vault": "^1.1.4"
},
"dependencies": {
"testcontainers": "^11.14.0"
},
"devDependencies": {
"node-vault": "^0.12.0"
}
}
22 changes: 6 additions & 16 deletions packages/modules/vault/src/vault-container.test.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { Client } from "@litehex/node-vault";
import vault from "node-vault";
import { getImage } from "../../../testcontainers/src/utils/test-helper";
import { VaultContainer } from "./vault-container";

Expand All @@ -10,31 +10,21 @@ describe("VaultContainer", { timeout: 180_000 }, () => {
// inside_block:readWrite {
await using container = await new VaultContainer(IMAGE).withVaultToken(VAULT_TOKEN).start();

const client = new Client({
const client = vault({
apiVersion: "v1",
endpoint: container.getAddress(),
token: container.getRootToken(),
});

const writeResult = await client.kv2.write({
mountPath: "secret",
path: "hello",
await client.write("secret/data/hello", {
data: {
message: "world",
other: "vault",
},
});
expect(writeResult.error).toBeUndefined();

const readResult = await client.kv2.read({
mountPath: "secret",
path: "hello",
});

if (readResult.error) {
throw readResult.error;
}

const data = readResult.data.data.data;
const result = await client.read("secret/data/hello");
const data = result?.data?.data;

expect(data.message).toBe("world");
expect(data.other).toBe("vault");
Expand Down
2 changes: 1 addition & 1 deletion packages/testcontainers/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@
"ssh-remote-port-forward": "^1.0.4",
"tar-fs": "^3.1.2",
"tmp": "^0.2.5",
"undici": "^7.24.5"
"undici": "^7.24.7"
},
"devDependencies": {
"@types/archiver": "^7.0.0",
Expand Down
2 changes: 1 addition & 1 deletion packages/testcontainers/src/common/file-lock.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import { writeFile } from "fs/promises";
import path from "path";
import lockFile from "proper-lockfile";
import tmp from "tmp";
import { log } from "./logger";

export async function withFileLock<T>(fileName: string, fn: () => T): Promise<T> {
Expand All @@ -24,7 +25,6 @@ export async function withFileLock<T>(fileName: string, fn: () => T): Promise<T>
}

async function createEmptyTmpFile(fileName: string): Promise<string> {
const tmp = await import("tmp");
const file = path.resolve(tmp.tmpdir, fileName);
await writeFile(file, "");
return file;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ describe.sequential("get auth config", () => {
},
})
);
const { getAuthConfig } = await import("./get-auth-config");
const { getAuthConfig } = await import("./get-auth-config.js");
expect(await getAuthConfig("https://registry.example.com")).toEqual({
username: "user",
password: "pass",
Expand All @@ -54,7 +54,7 @@ describe.sequential("get auth config", () => {
})
)
);
const { getAuthConfig } = await import("./get-auth-config");
const { getAuthConfig } = await import("./get-auth-config.js");
expect(await getAuthConfig("https://registry.example.com")).toEqual({
username: "user",
password: "pass",
Expand All @@ -65,7 +65,7 @@ describe.sequential("get auth config", () => {

it("should return empty auth when docker config file does not exist", async () => {
mockExistsSync.mockReturnValue(false);
const { getAuthConfig } = await import("./get-auth-config");
const { getAuthConfig } = await import("./get-auth-config.js");
expect(await getAuthConfig("https://registry.example.com")).toBeUndefined();
});
});
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ describe.sequential("Config", () => {
let getContainerRuntimeConfig: GetContainerRuntimeConfig;

beforeEach(async () => {
getContainerRuntimeConfig = (await import("./config")).getContainerRuntimeConfig;
getContainerRuntimeConfig = (await import("./config.js")).getContainerRuntimeConfig;
});

afterEach(() => {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ describe.sequential("imageExists", () => {
});

it("returns true when image exists", async () => {
const { imageExists } = await import("./image-exists");
const { imageExists } = await import("./image-exists.js");
mockImageInspect.mockResolvedValue({});

const imageName = ImageName.fromString("imageName");
Expand All @@ -31,7 +31,7 @@ describe.sequential("imageExists", () => {
});

it("returns previous result from cache", async () => {
const { imageExists } = await import("./image-exists");
const { imageExists } = await import("./image-exists.js");
mockImageInspect.mockResolvedValue({});

const imageName = ImageName.fromString("imageName");
Expand All @@ -43,7 +43,7 @@ describe.sequential("imageExists", () => {
});

it("returns false when image inspect fails because image does not exist", async () => {
const { imageExists } = await import("./image-exists");
const { imageExists } = await import("./image-exists.js");
mockImageInspect.mockRejectedValue(new Error("no such image"));

const imageName = ImageName.fromString("imageName");
Expand All @@ -53,7 +53,7 @@ describe.sequential("imageExists", () => {
});

it("throws when unable to inspect image", async () => {
const { imageExists } = await import("./image-exists");
const { imageExists } = await import("./image-exists.js");
mockImageInspect.mockRejectedValue(new Error("unknown error"));

const imageName = ImageName.fromString("imageName");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,16 +6,16 @@ describe.sequential("Port Forwarder reuse", { timeout: 180_000 }, () => {
const portGen = new RandomPortGenerator();

it("should expose additional ports", async () => {
const { TestContainers: TC1 } = await import("../test-containers");
const { PortForwarderInstance: PFI1 } = await import("../port-forwarder/port-forwarder");
const { TestContainers: TC1 } = await import("../test-containers.js");
const { PortForwarderInstance: PFI1 } = await import("../port-forwarder/port-forwarder.js");
const port1 = await portGen.generatePort();
const server1 = await createTestServer(port1);
await TC1.exposeHostPorts(port1);
const portForwarder1ContainerId = (await PFI1.getInstance()).getContainerId();

vi.resetModules();
const { TestContainers: TC2 } = await import("../test-containers");
const { PortForwarderInstance: PFI2 } = await import("../port-forwarder/port-forwarder");
const { TestContainers: TC2 } = await import("../test-containers.js");
const { PortForwarderInstance: PFI2 } = await import("../port-forwarder/port-forwarder.js");
const port2 = await portGen.generatePort();
const server2 = await createTestServer(port2);
await TC2.exposeHostPorts(port2);
Expand All @@ -37,14 +37,14 @@ describe.sequential("Port Forwarder reuse", { timeout: 180_000 }, () => {
const port = await portGen.generatePort();
const server = await createTestServer(port);

const { TestContainers: TC1 } = await import("../test-containers");
const { PortForwarderInstance: PFI1 } = await import("../port-forwarder/port-forwarder");
const { TestContainers: TC1 } = await import("../test-containers.js");
const { PortForwarderInstance: PFI1 } = await import("../port-forwarder/port-forwarder.js");
await TC1.exposeHostPorts(port);
const portForwarder1ContainerId = (await PFI1.getInstance()).getContainerId();

vi.resetModules();
const { TestContainers: TC2 } = await import("../test-containers");
const { PortForwarderInstance: PFI2 } = await import("../port-forwarder/port-forwarder");
const { TestContainers: TC2 } = await import("../test-containers.js");
const { PortForwarderInstance: PFI2 } = await import("../port-forwarder/port-forwarder.js");
await TC2.exposeHostPorts(port);
const portForwarder2ContainerId = (await PFI2.getInstance()).getContainerId();

Expand Down
2 changes: 1 addition & 1 deletion packages/testcontainers/src/reaper/reaper.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import { RandomPortGenerator } from "../utils/port-generator";
describe.sequential("Reaper", { timeout: 120_000 }, () => {
let client: ContainerRuntimeClient;

const getReaper = async () => await (await import("./reaper")).getReaper(client);
const getReaper = async () => await (await import("./reaper.js")).getReaper(client);

beforeEach(async () => {
vi.resetModules();
Expand Down
4 changes: 2 additions & 2 deletions tsconfig.base.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,11 @@
"types": [
"vitest/globals"
],
"module": "commonjs",
"module": "nodenext",
"declaration": true,
"sourceMap": false,
"strict": true,
"moduleResolution": "node",
"moduleResolution": "nodenext",
"esModuleInterop": true,
"skipLibCheck": true,
"forceConsistentCasingInFileNames": true,
Expand Down
Loading