diff options
author | 2024-09-11 14:26:50 +0200 | |
---|---|---|
committer | 2024-09-11 14:26:50 +0200 | |
commit | c4d2f17aba5b352573e6ac182803ec5d763c8c87 (patch) | |
tree | 2ee2e33e316bb3e2bffa93facd6cda27a361752d | |
parent | 8d4c5276f39ab4391d064740c9c2f2666d494663 (diff) | |
download | astro-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
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', |