From b9681c681ad7ef6225966266407051e800345b9e Mon Sep 17 00:00:00 2001 From: mfrachet Date: Fri, 10 Feb 2023 13:24:27 +0100 Subject: [PATCH 1/4] Fix 6206: Cloudflare function path resolving one step above --- packages/integrations/cloudflare/src/index.ts | 5 +++-- packages/integrations/cloudflare/test/directory.test.js | 1 + 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/integrations/cloudflare/src/index.ts b/packages/integrations/cloudflare/src/index.ts index 7ba1cc63148a..aadcd3c6daa6 100644 --- a/packages/integrations/cloudflare/src/index.ts +++ b/packages/integrations/cloudflare/src/index.ts @@ -205,8 +205,9 @@ export default function createIntegration(args?: Options): AstroIntegration { if (isModeDirectory) { const functionsUrl = new URL('functions', _config.root); await fs.promises.mkdir(functionsUrl, { recursive: true }); - const directoryUrl = new URL('[[path]].js', functionsUrl); - await fs.promises.rename(finalBuildUrl, directoryUrl); + + const directoryUrl = new URL('functions/[[path]].js', _config.root); + await fs.promises.rename(finalBuildUrl, directoryUrl.pathname); } }, }, diff --git a/packages/integrations/cloudflare/test/directory.test.js b/packages/integrations/cloudflare/test/directory.test.js index e5b5205745cf..67693310a7e0 100644 --- a/packages/integrations/cloudflare/test/directory.test.js +++ b/packages/integrations/cloudflare/test/directory.test.js @@ -17,5 +17,6 @@ describe('mode: "directory"', () => { it('generates functions folder inside the project root', async () => { expect(await fixture.pathExists('../functions')).to.be.true; + expect(await fixture.pathExists('../functions/[[path]].js')).to.be.true; }); }); From 08b3d779085478387103e467d1f7f3d8f47d2a04 Mon Sep 17 00:00:00 2001 From: mfrachet Date: Fri, 10 Feb 2023 16:34:26 +0100 Subject: [PATCH 2/4] Add changeset --- .changeset/lazy-coins-compete.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/lazy-coins-compete.md diff --git a/.changeset/lazy-coins-compete.md b/.changeset/lazy-coins-compete.md new file mode 100644 index 000000000000..04b23077df87 --- /dev/null +++ b/.changeset/lazy-coins-compete.md @@ -0,0 +1,5 @@ +--- +'@astrojs/cloudflare': patch +--- + +Fix path file that was generated outside the functions folder From 4786f837e0ec0f75b437a640e50ce516a47e2ed2 Mon Sep 17 00:00:00 2001 From: mfrachet Date: Sat, 11 Feb 2023 08:11:12 +0100 Subject: [PATCH 3/4] Attempt to fix on windows --- packages/integrations/cloudflare/src/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/integrations/cloudflare/src/index.ts b/packages/integrations/cloudflare/src/index.ts index aadcd3c6daa6..270067d75957 100644 --- a/packages/integrations/cloudflare/src/index.ts +++ b/packages/integrations/cloudflare/src/index.ts @@ -207,7 +207,7 @@ export default function createIntegration(args?: Options): AstroIntegration { await fs.promises.mkdir(functionsUrl, { recursive: true }); const directoryUrl = new URL('functions/[[path]].js', _config.root); - await fs.promises.rename(finalBuildUrl, directoryUrl.pathname); + await fs.promises.rename(finalBuildUrl, directoryUrl); } }, }, From 3cb593573df7ad9c845420dab37e68fc9b77016e Mon Sep 17 00:00:00 2001 From: mfrachet Date: Sun, 12 Feb 2023 08:53:03 +0100 Subject: [PATCH 4/4] Trailing functions slash --- packages/integrations/cloudflare/src/index.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/integrations/cloudflare/src/index.ts b/packages/integrations/cloudflare/src/index.ts index 270067d75957..0343e6e81874 100644 --- a/packages/integrations/cloudflare/src/index.ts +++ b/packages/integrations/cloudflare/src/index.ts @@ -203,10 +203,10 @@ export default function createIntegration(args?: Options): AstroIntegration { } if (isModeDirectory) { - const functionsUrl = new URL('functions', _config.root); + const functionsUrl = new URL('functions/', _config.root); await fs.promises.mkdir(functionsUrl, { recursive: true }); - const directoryUrl = new URL('functions/[[path]].js', _config.root); + const directoryUrl = new URL('[[path]].js', functionsUrl); await fs.promises.rename(finalBuildUrl, directoryUrl); } },