summaryrefslogtreecommitdiff
path: root/packages/integrations/cloudflare/src/index.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/integrations/cloudflare/src/index.ts')
-rw-r--r--packages/integrations/cloudflare/src/index.ts14
1 files changed, 8 insertions, 6 deletions
diff --git a/packages/integrations/cloudflare/src/index.ts b/packages/integrations/cloudflare/src/index.ts
index a859e3009..3433cf46d 100644
--- a/packages/integrations/cloudflare/src/index.ts
+++ b/packages/integrations/cloudflare/src/index.ts
@@ -3,7 +3,7 @@ import esbuild from 'esbuild';
import * as fs from 'fs';
import * as os from 'os';
import glob from 'tiny-glob';
-import { fileURLToPath } from 'url';
+import { fileURLToPath, pathToFileURL } from 'url';
type Options = {
mode: 'directory' | 'advanced';
@@ -89,9 +89,11 @@ export default function createIntegration(args?: Options): AstroIntegration {
}
},
'astro:build:done': async ({ pages }) => {
- const entryPath = fileURLToPath(new URL(_buildConfig.serverEntry, _buildConfig.server)),
- entryUrl = new URL(_buildConfig.serverEntry, _config.outDir),
- buildPath = fileURLToPath(entryUrl);
+ const entryPath = fileURLToPath(new URL(_buildConfig.serverEntry, _buildConfig.server));
+ const entryUrl = new URL(_buildConfig.serverEntry, _config.outDir);
+ const buildPath = fileURLToPath(entryUrl);
+ // A URL for the final build path after renaming
+ const finalBuildUrl = pathToFileURL(buildPath.replace(/\.mjs$/, '.js'));
await esbuild.build({
target: 'es2020',
@@ -108,7 +110,7 @@ export default function createIntegration(args?: Options): AstroIntegration {
});
// Rename to worker.js
- await fs.promises.rename(buildPath, buildPath.replace(/\.mjs$/, '.js'));
+ await fs.promises.rename(buildPath, finalBuildUrl);
// throw the server folder in the bin
const serverUrl = new URL(_buildConfig.server);
@@ -204,7 +206,7 @@ export default function createIntegration(args?: Options): AstroIntegration {
const functionsUrl = new URL(`file://${process.cwd()}/functions/`);
await fs.promises.mkdir(functionsUrl, { recursive: true });
const directoryUrl = new URL('[[path]].js', functionsUrl);
- await fs.promises.rename(entryUrl, directoryUrl);
+ await fs.promises.rename(finalBuildUrl, directoryUrl);
}
},
},