summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Erika <3019731+Princesseuh@users.noreply.github.com> 2024-09-11 14:26:50 +0200
committerGravatar GitHub <noreply@github.com> 2024-09-11 14:26:50 +0200
commitc4d2f17aba5b352573e6ac182803ec5d763c8c87 (patch)
tree2ee2e33e316bb3e2bffa93facd6cda27a361752d
parent8d4c5276f39ab4391d064740c9c2f2666d494663 (diff)
downloadastro-c4d2f17aba5b352573e6ac182803ec5d763c8c87.tar.gz
astro-c4d2f17aba5b352573e6ac182803ec5d763c8c87.tar.zst
astro-c4d2f17aba5b352573e6ac182803ec5d763c8c87.zip
feat: remove hybrid (#375)
* feat: remove hybrid * fix: udpate with new API * fix: update for latest next changes * fix: more test-utils fix * fix: build * fix: build * fix: tests * fix: netlify * fix: astro env * fix: use types from AStro * chore: changeset
-rw-r--r--packages/integrations/cloudflare/package.json4
-rw-r--r--packages/integrations/cloudflare/src/index.ts9
-rw-r--r--packages/integrations/cloudflare/src/utils/image-config.ts4
-rw-r--r--packages/integrations/cloudflare/test/fixtures/astro-dev-platform/package.json2
-rw-r--r--packages/integrations/cloudflare/test/fixtures/astro-env/astro.config.ts12
-rw-r--r--packages/integrations/cloudflare/test/fixtures/astro-env/package.json2
-rw-r--r--packages/integrations/cloudflare/test/fixtures/compile-image-service/astro.config.mjs2
-rw-r--r--packages/integrations/cloudflare/test/fixtures/compile-image-service/package.json2
-rw-r--r--packages/integrations/cloudflare/test/fixtures/external-image-service/package.json2
-rw-r--r--packages/integrations/cloudflare/test/fixtures/module-loader/astro.config.mjs2
-rw-r--r--packages/integrations/cloudflare/test/fixtures/module-loader/package.json2
-rw-r--r--packages/integrations/cloudflare/test/fixtures/no-output/package.json2
-rw-r--r--packages/integrations/cloudflare/test/fixtures/routes-json/astro.config.mjs2
-rw-r--r--packages/integrations/cloudflare/test/fixtures/routes-json/package.json2
-rw-r--r--packages/integrations/cloudflare/test/fixtures/with-solid-js/package.json2
-rw-r--r--packages/integrations/cloudflare/test/fixtures/wrangler-preview-platform/package.json2
-rw-r--r--packages/integrations/cloudflare/test/no-output.test.js23
-rw-r--r--packages/integrations/cloudflare/test/routes-json.test.js8
18 files changed, 30 insertions, 54 deletions
diff --git a/packages/integrations/cloudflare/package.json b/packages/integrations/cloudflare/package.json
index 436062f4e..d7726ea77 100644
--- a/packages/integrations/cloudflare/package.json
+++ b/packages/integrations/cloudflare/package.json
@@ -40,11 +40,11 @@
"@inox-tools/astro-when": "^0.2.2"
},
"peerDependencies": {
- "astro": "^5.0.0-alpha.0"
+ "astro": "^5.0.0-alpha.6"
},
"devDependencies": {
"@astrojs/test-utils": "workspace:*",
- "astro": "^5.0.0-alpha.0",
+ "astro": "^5.0.0-alpha.6",
"astro-scripts": "workspace:*",
"cheerio": "1.0.0",
"execa": "^8.0.1",
diff --git a/packages/integrations/cloudflare/src/index.ts b/packages/integrations/cloudflare/src/index.ts
index c4a42cd94..695af8671 100644
--- a/packages/integrations/cloudflare/src/index.ts
+++ b/packages/integrations/cloudflare/src/index.ts
@@ -141,10 +141,10 @@ export default function createIntegration(args?: Options): AstroIntegration {
order: 'pre',
});
},
- 'astro:config:done': ({ setAdapter, config }) => {
- if (config.output === 'static') {
- throw new AstroError(
- '[@astrojs/cloudflare] `output: "server"` or `output: "hybrid"` is required to use this adapter. Otherwise, this adapter is not necessary to deploy a static site to Cloudflare.'
+ 'astro:config:done': ({ setAdapter, config, buildOutput, logger }) => {
+ if (buildOutput === 'static') {
+ logger.warn(
+ '[@astrojs/cloudflare] This adapter is intended to be used with server rendered pages, which this project does not contain any of. As such, this adapter is unnecessary.'
);
}
@@ -156,6 +156,7 @@ export default function createIntegration(args?: Options): AstroIntegration {
exports: ['default'],
adapterFeatures: {
edgeMiddleware: false,
+ buildOutput: 'server',
},
supportedAstroFeatures: {
serverOutput: 'stable',
diff --git a/packages/integrations/cloudflare/src/utils/image-config.ts b/packages/integrations/cloudflare/src/utils/image-config.ts
index b191be366..21d9ec733 100644
--- a/packages/integrations/cloudflare/src/utils/image-config.ts
+++ b/packages/integrations/cloudflare/src/utils/image-config.ts
@@ -1,10 +1,10 @@
-import type { AstroConfig, AstroIntegrationLogger } from 'astro';
+import type { AstroConfig, AstroIntegrationLogger, HookParameters } from 'astro';
import { passthroughImageService, sharpImageService } from 'astro/config';
export function setImageConfig(
service: string,
config: AstroConfig['image'],
- command: 'dev' | 'build' | 'preview',
+ command: HookParameters<'astro:config:setup'>['command'],
logger: AstroIntegrationLogger
) {
switch (service) {
diff --git a/packages/integrations/cloudflare/test/fixtures/astro-dev-platform/package.json b/packages/integrations/cloudflare/test/fixtures/astro-dev-platform/package.json
index c28d37081..f001946d9 100644
--- a/packages/integrations/cloudflare/test/fixtures/astro-dev-platform/package.json
+++ b/packages/integrations/cloudflare/test/fixtures/astro-dev-platform/package.json
@@ -4,7 +4,7 @@
"private": true,
"dependencies": {
"@astrojs/cloudflare": "workspace:*",
- "astro": "^5.0.0-alpha.0"
+ "astro": "^5.0.0-alpha.6"
},
"devDependencies": {
"wrangler": "^3.72.2"
diff --git a/packages/integrations/cloudflare/test/fixtures/astro-env/astro.config.ts b/packages/integrations/cloudflare/test/fixtures/astro-env/astro.config.ts
index 8017c0b6d..b7d556b3b 100644
--- a/packages/integrations/cloudflare/test/fixtures/astro-env/astro.config.ts
+++ b/packages/integrations/cloudflare/test/fixtures/astro-env/astro.config.ts
@@ -2,13 +2,11 @@ import cloudflare from '@astrojs/cloudflare';
import { defineConfig, envField } from 'astro/config';
export default defineConfig({
- experimental: {
- env: {
- schema: {
- API_URL: envField.string({ context: 'client', access: 'public', optional: true }),
- PORT: envField.number({ context: 'server', access: 'public', default: 4321 }),
- API_SECRET: envField.string({ context: 'server', access: 'secret' }),
- },
+ env: {
+ schema: {
+ API_URL: envField.string({ context: 'client', access: 'public', optional: true }),
+ PORT: envField.number({ context: 'server', access: 'public', default: 4321 }),
+ API_SECRET: envField.string({ context: 'server', access: 'secret' }),
},
},
adapter: cloudflare(),
diff --git a/packages/integrations/cloudflare/test/fixtures/astro-env/package.json b/packages/integrations/cloudflare/test/fixtures/astro-env/package.json
index 3c0ac3bf8..e1bf4c8e0 100644
--- a/packages/integrations/cloudflare/test/fixtures/astro-env/package.json
+++ b/packages/integrations/cloudflare/test/fixtures/astro-env/package.json
@@ -4,7 +4,7 @@
"private": true,
"dependencies": {
"@astrojs/cloudflare": "workspace:*",
- "astro": "^5.0.0-alpha.0"
+ "astro": "^5.0.0-alpha.6"
},
"devDependencies": {
"wrangler": "^3.72.2"
diff --git a/packages/integrations/cloudflare/test/fixtures/compile-image-service/astro.config.mjs b/packages/integrations/cloudflare/test/fixtures/compile-image-service/astro.config.mjs
index 7c569595e..7c98bbb98 100644
--- a/packages/integrations/cloudflare/test/fixtures/compile-image-service/astro.config.mjs
+++ b/packages/integrations/cloudflare/test/fixtures/compile-image-service/astro.config.mjs
@@ -5,5 +5,5 @@ export default defineConfig({
adapter: cloudflare({
imageService: 'compile',
}),
- output: 'hybrid',
+ output: 'static',
});
diff --git a/packages/integrations/cloudflare/test/fixtures/compile-image-service/package.json b/packages/integrations/cloudflare/test/fixtures/compile-image-service/package.json
index 337f2282b..b141fbce7 100644
--- a/packages/integrations/cloudflare/test/fixtures/compile-image-service/package.json
+++ b/packages/integrations/cloudflare/test/fixtures/compile-image-service/package.json
@@ -4,6 +4,6 @@
"private": true,
"dependencies": {
"@astrojs/cloudflare": "workspace:*",
- "astro": "^5.0.0-alpha.0"
+ "astro": "^5.0.0-alpha.6"
}
}
diff --git a/packages/integrations/cloudflare/test/fixtures/external-image-service/package.json b/packages/integrations/cloudflare/test/fixtures/external-image-service/package.json
index 7e4f0c34e..28746837f 100644
--- a/packages/integrations/cloudflare/test/fixtures/external-image-service/package.json
+++ b/packages/integrations/cloudflare/test/fixtures/external-image-service/package.json
@@ -4,6 +4,6 @@
"private": true,
"dependencies": {
"@astrojs/cloudflare": "workspace:*",
- "astro": "^5.0.0-alpha.0"
+ "astro": "^5.0.0-alpha.6"
}
}
diff --git a/packages/integrations/cloudflare/test/fixtures/module-loader/astro.config.mjs b/packages/integrations/cloudflare/test/fixtures/module-loader/astro.config.mjs
index dd2af8bc2..38365a374 100644
--- a/packages/integrations/cloudflare/test/fixtures/module-loader/astro.config.mjs
+++ b/packages/integrations/cloudflare/test/fixtures/module-loader/astro.config.mjs
@@ -3,5 +3,5 @@ import { defineConfig } from 'astro/config';
export default defineConfig({
adapter: cloudflare({}),
- output: 'hybrid'
+ output: 'static'
});
diff --git a/packages/integrations/cloudflare/test/fixtures/module-loader/package.json b/packages/integrations/cloudflare/test/fixtures/module-loader/package.json
index 472f43a04..6381b72de 100644
--- a/packages/integrations/cloudflare/test/fixtures/module-loader/package.json
+++ b/packages/integrations/cloudflare/test/fixtures/module-loader/package.json
@@ -4,6 +4,6 @@
"private": true,
"dependencies": {
"@astrojs/cloudflare": "workspace:*",
- "astro": "^5.0.0-alpha.0"
+ "astro": "^5.0.0-alpha.6"
}
}
diff --git a/packages/integrations/cloudflare/test/fixtures/no-output/package.json b/packages/integrations/cloudflare/test/fixtures/no-output/package.json
index 446cb9dab..e5f40f7b8 100644
--- a/packages/integrations/cloudflare/test/fixtures/no-output/package.json
+++ b/packages/integrations/cloudflare/test/fixtures/no-output/package.json
@@ -4,6 +4,6 @@
"private": true,
"dependencies": {
"@astrojs/cloudflare": "workspace:*",
- "astro": "^5.0.0-alpha.0"
+ "astro": "^5.0.0-alpha.6"
}
}
diff --git a/packages/integrations/cloudflare/test/fixtures/routes-json/astro.config.mjs b/packages/integrations/cloudflare/test/fixtures/routes-json/astro.config.mjs
index 6fa5ec5d3..3aaa37d9a 100644
--- a/packages/integrations/cloudflare/test/fixtures/routes-json/astro.config.mjs
+++ b/packages/integrations/cloudflare/test/fixtures/routes-json/astro.config.mjs
@@ -1,7 +1,7 @@
import { defineConfig } from 'astro/config';
export default defineConfig({
- output: 'hybrid',
+ output: 'static',
redirects: {
'/a/redirect': '/',
},
diff --git a/packages/integrations/cloudflare/test/fixtures/routes-json/package.json b/packages/integrations/cloudflare/test/fixtures/routes-json/package.json
index d526f29d5..4755e86c6 100644
--- a/packages/integrations/cloudflare/test/fixtures/routes-json/package.json
+++ b/packages/integrations/cloudflare/test/fixtures/routes-json/package.json
@@ -4,6 +4,6 @@
"private": true,
"dependencies": {
"@astrojs/cloudflare": "workspace:*",
- "astro": "^5.0.0-alpha.0"
+ "astro": "^5.0.0-alpha.6"
}
}
diff --git a/packages/integrations/cloudflare/test/fixtures/with-solid-js/package.json b/packages/integrations/cloudflare/test/fixtures/with-solid-js/package.json
index 79e7ee34d..43090f109 100644
--- a/packages/integrations/cloudflare/test/fixtures/with-solid-js/package.json
+++ b/packages/integrations/cloudflare/test/fixtures/with-solid-js/package.json
@@ -5,7 +5,7 @@
"dependencies": {
"@astrojs/cloudflare": "workspace:*",
"@astrojs/solid-js": "^4.4.1",
- "astro": "^5.0.0-alpha.0",
+ "astro": "^5.0.0-alpha.6",
"solid-js": "^1.8.21"
}
}
diff --git a/packages/integrations/cloudflare/test/fixtures/wrangler-preview-platform/package.json b/packages/integrations/cloudflare/test/fixtures/wrangler-preview-platform/package.json
index d006ba799..1cd81fa2a 100644
--- a/packages/integrations/cloudflare/test/fixtures/wrangler-preview-platform/package.json
+++ b/packages/integrations/cloudflare/test/fixtures/wrangler-preview-platform/package.json
@@ -4,6 +4,6 @@
"private": true,
"dependencies": {
"@astrojs/cloudflare": "workspace:*",
- "astro": "^5.0.0-alpha.0"
+ "astro": "^5.0.0-alpha.6"
}
}
diff --git a/packages/integrations/cloudflare/test/no-output.test.js b/packages/integrations/cloudflare/test/no-output.test.js
deleted file mode 100644
index bf5321491..000000000
--- a/packages/integrations/cloudflare/test/no-output.test.js
+++ /dev/null
@@ -1,23 +0,0 @@
-import * as assert from 'node:assert/strict';
-import { describe, it } from 'node:test';
-import { fileURLToPath } from 'node:url';
-import { astroCli } from './_test-utils.js';
-
-const root = new URL('./fixtures/no-output/', import.meta.url);
-
-describe('MissingOutputConfig', () => {
- it('throws during the build', async () => {
- let error = undefined;
- try {
- await astroCli(fileURLToPath(root), 'build');
- } catch (err) {
- error = err;
- }
- assert.notEqual(error, undefined);
- assert.ok(
- error.message.includes(
- '[@astrojs/cloudflare] `output: "server"` or `output: "hybrid"` is required to use this adapter.'
- )
- );
- });
-});
diff --git a/packages/integrations/cloudflare/test/routes-json.test.js b/packages/integrations/cloudflare/test/routes-json.test.js
index 7051e29b7..1442ddfed 100644
--- a/packages/integrations/cloudflare/test/routes-json.test.js
+++ b/packages/integrations/cloudflare/test/routes-json.test.js
@@ -23,7 +23,7 @@ describe('_routes.json generation', () => {
assert.deepEqual(routes, {
version: 1,
- include: ['/_image', '/a/*'],
+ include: ['/a/*', '/_image'],
exclude: ['/_astro/*', '/redirectme', '/public.txt', '/a', '/a/redirect', '/404', '/b'],
});
});
@@ -71,7 +71,7 @@ describe('_routes.json generation', () => {
assert.deepEqual(routes, {
version: 1,
- include: ['/_image'],
+ include: [],
exclude: [],
});
});
@@ -101,7 +101,7 @@ describe('_routes.json generation', () => {
assert.deepEqual(routes, {
version: 1,
- include: ['/_image', '/a/*', '/another'],
+ include: ['/a/*', '/_image', '/another'],
exclude: ['/_astro/*', '/redirectme', '/public.txt', '/a', '/a/redirect', '/404', '/b'],
});
});
@@ -131,7 +131,7 @@ describe('_routes.json generation', () => {
assert.deepEqual(routes, {
version: 1,
- include: ['/_image', '/a/*'],
+ include: ['/a/*', '/_image'],
exclude: [
'/_astro/*',
'/redirectme',