Skip to content

Commit a30adf6

Browse files
Use nodenext to fix TypeScript 6 builds
1 parent 39c6937 commit a30adf6

10 files changed

Lines changed: 65 additions & 124 deletions

File tree

package-lock.json

Lines changed: 36 additions & 85 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/modules/vault/package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,10 +29,10 @@
2929
"prepack": "shx cp ../../../README.md . && shx cp ../../../LICENSE .",
3030
"build": "tsc --project tsconfig.build.json"
3131
},
32-
"devDependencies": {
33-
"@litehex/node-vault": "^1.1.4"
34-
},
3532
"dependencies": {
3633
"testcontainers": "^11.14.0"
34+
},
35+
"devDependencies": {
36+
"node-vault": "^0.12.0"
3737
}
3838
}

packages/modules/vault/src/vault-container.test.ts

Lines changed: 6 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { Client } from "@litehex/node-vault";
1+
import vault from "node-vault";
22
import { getImage } from "../../../testcontainers/src/utils/test-helper";
33
import { VaultContainer } from "./vault-container";
44

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

13-
const client = new Client({
13+
const client = vault({
14+
apiVersion: "v1",
1415
endpoint: container.getAddress(),
1516
token: container.getRootToken(),
1617
});
1718

18-
const writeResult = await client.kv2.write({
19-
mountPath: "secret",
20-
path: "hello",
19+
await client.write("secret/data/hello", {
2120
data: {
2221
message: "world",
2322
other: "vault",
2423
},
2524
});
26-
expect(writeResult.error).toBeUndefined();
2725

28-
const readResult = await client.kv2.read({
29-
mountPath: "secret",
30-
path: "hello",
31-
});
32-
33-
if (readResult.error) {
34-
throw readResult.error;
35-
}
36-
37-
const data = readResult.data.data.data;
26+
const result = await client.read("secret/data/hello");
27+
const data = result?.data?.data;
3828

3929
expect(data.message).toBe("world");
4030
expect(data.other).toBe("vault");

packages/testcontainers/src/common/file-lock.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import { writeFile } from "fs/promises";
22
import path from "path";
33
import lockFile from "proper-lockfile";
4+
import tmp from "tmp";
45
import { log } from "./logger";
56

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

2627
async function createEmptyTmpFile(fileName: string): Promise<string> {
27-
const tmp = await import("tmp");
2828
const file = path.resolve(tmp.tmpdir, fileName);
2929
await writeFile(file, "");
3030
return file;

packages/testcontainers/src/container-runtime/auth/get-auth-config.test.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ describe.sequential("get auth config", () => {
3030
},
3131
})
3232
);
33-
const { getAuthConfig } = await import("./get-auth-config");
33+
const { getAuthConfig } = await import("./get-auth-config.js");
3434
expect(await getAuthConfig("https://registry.example.com")).toEqual({
3535
username: "user",
3636
password: "pass",
@@ -54,7 +54,7 @@ describe.sequential("get auth config", () => {
5454
})
5555
)
5656
);
57-
const { getAuthConfig } = await import("./get-auth-config");
57+
const { getAuthConfig } = await import("./get-auth-config.js");
5858
expect(await getAuthConfig("https://registry.example.com")).toEqual({
5959
username: "user",
6060
password: "pass",
@@ -65,7 +65,7 @@ describe.sequential("get auth config", () => {
6565

6666
it("should return empty auth when docker config file does not exist", async () => {
6767
mockExistsSync.mockReturnValue(false);
68-
const { getAuthConfig } = await import("./get-auth-config");
68+
const { getAuthConfig } = await import("./get-auth-config.js");
6969
expect(await getAuthConfig("https://registry.example.com")).toBeUndefined();
7070
});
7171
});

packages/testcontainers/src/container-runtime/strategies/utils/config.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ describe.sequential("Config", () => {
99
let getContainerRuntimeConfig: GetContainerRuntimeConfig;
1010

1111
beforeEach(async () => {
12-
getContainerRuntimeConfig = (await import("./config")).getContainerRuntimeConfig;
12+
getContainerRuntimeConfig = (await import("./config.js")).getContainerRuntimeConfig;
1313
});
1414

1515
afterEach(() => {

packages/testcontainers/src/container-runtime/utils/image-exists.test.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ describe.sequential("imageExists", () => {
2121
});
2222

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

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

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

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

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

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

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

5959
const imageName = ImageName.fromString("imageName");

packages/testcontainers/src/port-forwarder/port-forwarder-reuse.test.ts

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,16 +6,16 @@ describe.sequential("Port Forwarder reuse", { timeout: 180_000 }, () => {
66
const portGen = new RandomPortGenerator();
77

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

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

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

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

packages/testcontainers/src/reaper/reaper.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import { RandomPortGenerator } from "../utils/port-generator";
44
describe.sequential("Reaper", { timeout: 120_000 }, () => {
55
let client: ContainerRuntimeClient;
66

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

99
beforeEach(async () => {
1010
vi.resetModules();

tsconfig.base.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,11 @@
66
"types": [
77
"vitest/globals"
88
],
9-
"module": "commonjs",
9+
"module": "nodenext",
1010
"declaration": true,
1111
"sourceMap": false,
1212
"strict": true,
13-
"moduleResolution": "node",
13+
"moduleResolution": "nodenext",
1414
"esModuleInterop": true,
1515
"skipLibCheck": true,
1616
"forceConsistentCasingInFileNames": true,

0 commit comments

Comments
 (0)