@astrojs/cloudflare 6.1.0 → 6.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
- @astrojs/cloudflare:build: cache hit, replaying output b77c78448d3e171a
2
- @astrojs/cloudflare:build: 
3
- @astrojs/cloudflare:build: > @astrojs/cloudflare@6.1.0 build /home/runner/work/astro/astro/packages/integrations/cloudflare
4
- @astrojs/cloudflare:build: > astro-scripts build "src/**/*.ts" && tsc
5
- @astrojs/cloudflare:build: 
1
+ @astrojs/cloudflare:build: cache hit, replaying output 58c9f74829c66203
2
+ @astrojs/cloudflare:build: 
3
+ @astrojs/cloudflare:build: > @astrojs/cloudflare@6.1.2 build /home/runner/work/astro/astro/packages/integrations/cloudflare
4
+ @astrojs/cloudflare:build: > astro-scripts build "src/**/*.ts" && tsc
5
+ @astrojs/cloudflare:build: 
package/CHANGELOG.md CHANGED
@@ -1,5 +1,23 @@
1
1
  # @astrojs/cloudflare
2
2
 
3
+ ## 6.1.2
4
+
5
+ ### Patch Changes
6
+
7
+ - [#6075](https://github.com/withastro/astro/pull/6075) [`45b41d98f`](https://github.com/withastro/astro/commit/45b41d98f50dc9f76a5004a8b3346f393f1a6cb6) Thanks [@NachoVazquez](https://github.com/NachoVazquez)! - Uses config root path as location for Cloudflare Pages Functions
8
+
9
+ - Updated dependencies [[`f6fc662c3`](https://github.com/withastro/astro/commit/f6fc662c3c59d164584c6287a930fcd1c9086ee6), [`592386b75`](https://github.com/withastro/astro/commit/592386b75541f3b7f7d95c631f86024b7e2d314d), [`1b591a143`](https://github.com/withastro/astro/commit/1b591a1431b44eacd239ed8f76809916cabca1db), [`bf8d7366a`](https://github.com/withastro/astro/commit/bf8d7366acb57e1b21181cc40fff55a821d8119e), [`ec38a8921`](https://github.com/withastro/astro/commit/ec38a8921f02a275949abcababe1b8afdf8184a2), [`f20a85b64`](https://github.com/withastro/astro/commit/f20a85b642994f240d8c94260fc55ffa1fd14294), [`9f22ac3d0`](https://github.com/withastro/astro/commit/9f22ac3d097ef2cb3b2bbe5343b8a8a49d83425d), [`cee70f5c6`](https://github.com/withastro/astro/commit/cee70f5c6ac9b0d2edc1f8a6f8f5043605576026), [`ac7fb04d6`](https://github.com/withastro/astro/commit/ac7fb04d6b162f28a337918138d5737e2c0fffad), [`d1f5611fe`](https://github.com/withastro/astro/commit/d1f5611febfd020cca4078c71bafe599015edd16), [`2189170be`](https://github.com/withastro/astro/commit/2189170be523f74f244e84ccab22c655219773ce), [`32abe49bd`](https://github.com/withastro/astro/commit/32abe49bd073417b480b1b990f432a837c12eb6f)]:
10
+ - astro@2.0.7
11
+
12
+ ## 6.1.1
13
+
14
+ ### Patch Changes
15
+
16
+ - [#6046](https://github.com/withastro/astro/pull/6046) [`df3201165`](https://github.com/withastro/astro/commit/df320116528e00ab082396531b4deffbb0707b78) Thanks [@matthewp](https://github.com/matthewp)! - Cloudflare fix for building to directory mode
17
+
18
+ - Updated dependencies [[`41e97158b`](https://github.com/withastro/astro/commit/41e97158ba90d23d346b6e3ff6c7c14b5ecbe903), [`e779c6242`](https://github.com/withastro/astro/commit/e779c6242418d1d4102e683ca5b851b764c89688)]:
19
+ - astro@2.0.4
20
+
3
21
  ## 6.1.0
4
22
 
5
23
  ### Minor Changes
package/dist/index.js CHANGED
@@ -2,7 +2,7 @@ import esbuild from "esbuild";
2
2
  import * as fs from "fs";
3
3
  import * as os from "os";
4
4
  import glob from "tiny-glob";
5
- import { fileURLToPath } from "url";
5
+ import { fileURLToPath, pathToFileURL } from "url";
6
6
  function getAdapter(isModeDirectory) {
7
7
  return isModeDirectory ? {
8
8
  name: "@astrojs/cloudflare",
@@ -67,7 +67,10 @@ function createIntegration(args) {
67
67
  }
68
68
  },
69
69
  "astro:build:done": async ({ pages }) => {
70
- const entryPath = fileURLToPath(new URL(_buildConfig.serverEntry, _buildConfig.server)), entryUrl = new URL(_buildConfig.serverEntry, _config.outDir), buildPath = fileURLToPath(entryUrl);
70
+ const entryPath = fileURLToPath(new URL(_buildConfig.serverEntry, _buildConfig.server));
71
+ const entryUrl = new URL(_buildConfig.serverEntry, _config.outDir);
72
+ const buildPath = fileURLToPath(entryUrl);
73
+ const finalBuildUrl = pathToFileURL(buildPath.replace(/\.mjs$/, ".js"));
71
74
  await esbuild.build({
72
75
  target: "es2020",
73
76
  platform: "browser",
@@ -81,7 +84,7 @@ function createIntegration(args) {
81
84
  js: SHIM
82
85
  }
83
86
  });
84
- await fs.promises.rename(buildPath, buildPath.replace(/\.mjs$/, ".js"));
87
+ await fs.promises.rename(buildPath, finalBuildUrl);
85
88
  const serverUrl = new URL(_buildConfig.server);
86
89
  await fs.promises.rm(serverUrl, { recursive: true, force: true });
87
90
  const cloudflareSpecialFiles = ["_headers", "_redirects", "_routes.json"];
@@ -135,10 +138,10 @@ function createIntegration(args) {
135
138
  );
136
139
  }
137
140
  if (isModeDirectory) {
138
- const functionsUrl = new URL(`file://${process.cwd()}/functions/`);
141
+ const functionsUrl = new URL("functions", _config.root);
139
142
  await fs.promises.mkdir(functionsUrl, { recursive: true });
140
143
  const directoryUrl = new URL("[[path]].js", functionsUrl);
141
- await fs.promises.rename(entryUrl, directoryUrl);
144
+ await fs.promises.rename(finalBuildUrl, directoryUrl);
142
145
  }
143
146
  }
144
147
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@astrojs/cloudflare",
3
3
  "description": "Deploy your site to cloudflare workers or cloudflare pages",
4
- "version": "6.1.0",
4
+ "version": "6.1.2",
5
5
  "type": "module",
6
6
  "types": "./dist/index.d.ts",
7
7
  "author": "withastro",
@@ -32,10 +32,10 @@
32
32
  "tiny-glob": "^0.2.9"
33
33
  },
34
34
  "peerDependencies": {
35
- "astro": "^2.0.2"
35
+ "astro": "^2.0.7"
36
36
  },
37
37
  "devDependencies": {
38
- "astro": "2.0.2",
38
+ "astro": "2.0.7",
39
39
  "astro-scripts": "0.0.10",
40
40
  "chai": "^4.3.6",
41
41
  "cheerio": "^1.0.0-rc.11",
package/src/index.ts CHANGED
@@ -3,7 +3,7 @@ import esbuild from 'esbuild';
3
3
  import * as fs from 'fs';
4
4
  import * as os from 'os';
5
5
  import glob from 'tiny-glob';
6
- import { fileURLToPath } from 'url';
6
+ import { fileURLToPath, pathToFileURL } from 'url';
7
7
 
8
8
  type Options = {
9
9
  mode: 'directory' | 'advanced';
@@ -89,9 +89,11 @@ export default function createIntegration(args?: Options): AstroIntegration {
89
89
  }
90
90
  },
91
91
  'astro:build:done': async ({ pages }) => {
92
- const entryPath = fileURLToPath(new URL(_buildConfig.serverEntry, _buildConfig.server)),
93
- entryUrl = new URL(_buildConfig.serverEntry, _config.outDir),
94
- buildPath = fileURLToPath(entryUrl);
92
+ const entryPath = fileURLToPath(new URL(_buildConfig.serverEntry, _buildConfig.server));
93
+ const entryUrl = new URL(_buildConfig.serverEntry, _config.outDir);
94
+ const buildPath = fileURLToPath(entryUrl);
95
+ // A URL for the final build path after renaming
96
+ const finalBuildUrl = pathToFileURL(buildPath.replace(/\.mjs$/, '.js'));
95
97
 
96
98
  await esbuild.build({
97
99
  target: 'es2020',
@@ -108,7 +110,7 @@ export default function createIntegration(args?: Options): AstroIntegration {
108
110
  });
109
111
 
110
112
  // Rename to worker.js
111
- await fs.promises.rename(buildPath, buildPath.replace(/\.mjs$/, '.js'));
113
+ await fs.promises.rename(buildPath, finalBuildUrl);
112
114
 
113
115
  // throw the server folder in the bin
114
116
  const serverUrl = new URL(_buildConfig.server);
@@ -201,10 +203,10 @@ export default function createIntegration(args?: Options): AstroIntegration {
201
203
  }
202
204
 
203
205
  if (isModeDirectory) {
204
- const functionsUrl = new URL(`file://${process.cwd()}/functions/`);
206
+ const functionsUrl = new URL('functions', _config.root);
205
207
  await fs.promises.mkdir(functionsUrl, { recursive: true });
206
208
  const directoryUrl = new URL('[[path]].js', functionsUrl);
207
- await fs.promises.rename(entryUrl, directoryUrl);
209
+ await fs.promises.rename(finalBuildUrl, directoryUrl);
208
210
  }
209
211
  },
210
212
  },
@@ -0,0 +1,21 @@
1
+ import { loadFixture } from './test-utils.js';
2
+ import { expect } from 'chai';
3
+ import cloudflare from '../dist/index.js';
4
+
5
+ /** @type {import('./test-utils').Fixture} */
6
+ describe('mode: "directory"', () => {
7
+ let fixture;
8
+
9
+ before(async () => {
10
+ fixture = await loadFixture({
11
+ root: './fixtures/basics/',
12
+ output: 'server',
13
+ adapter: cloudflare({ mode: 'directory' }),
14
+ });
15
+ await fixture.build();
16
+ });
17
+
18
+ it('generates functions folder inside the project root', async () => {
19
+ expect(await fixture.pathExists('../functions')).to.be.true;
20
+ });
21
+ });