diff --git a/dist/index.mjs b/dist/index.mjs index 1c510c6..a8ea17a 100644 --- a/dist/index.mjs +++ b/dist/index.mjs @@ -33006,6 +33006,12 @@ const OutputEntryPagesDeployment = OutputEntryBase.merge(z.object({ * @returns All artifact files from the directory */ async function getWranglerArtifacts(artifactDirectory) { + try { + await (0,promises_namespaceObject.access)(artifactDirectory); + } + catch { + return []; + } // read files in asset directory const dirent = await (0,promises_namespaceObject.readdir)(artifactDirectory, { withFileTypes: true, diff --git a/src/wranglerArtifactManager.test.ts b/src/wranglerArtifactManager.test.ts index b34df5d..b86c64e 100644 --- a/src/wranglerArtifactManager.test.ts +++ b/src/wranglerArtifactManager.test.ts @@ -25,6 +25,15 @@ describe("wranglerArtifactsManager", () => { ]); mock.restore(); }); + it("Returns an empty list when the output directory doesn't exist", async () => { + mock({ + notTheDirWeWant:{} + }) + + const artifacts = await getWranglerArtifacts("./testOutputDir"); + expect(artifacts).toEqual([]); + mock.restore(); + }) }); describe("getDetailedPagesDeployOutput()", async () => { diff --git a/src/wranglerArtifactManager.ts b/src/wranglerArtifactManager.ts index e856ddc..019f2a2 100644 --- a/src/wranglerArtifactManager.ts +++ b/src/wranglerArtifactManager.ts @@ -1,4 +1,4 @@ -import { open, readdir } from "fs/promises"; +import { access, open, readdir } from "fs/promises"; import { z } from "zod"; const OutputEntryBase = z.object({ @@ -28,6 +28,13 @@ type OutputEntryPagesDeployment = z.infer; export async function getWranglerArtifacts( artifactDirectory: string, ): Promise { + + try { + await access(artifactDirectory) + } catch { + return [] + } + // read files in asset directory const dirent = await readdir(artifactDirectory, { withFileTypes: true, @@ -54,6 +61,7 @@ export async function getWranglerArtifacts( export async function getDetailedPagesDeployOutput( artifactDirectory: string, ): Promise { + const artifactFilePaths = await getWranglerArtifacts(artifactDirectory); for (let i = 0; i < artifactFilePaths.length; i++) {