diff --git a/packages/sveltekit/src/vite/detectAdapter.ts b/packages/sveltekit/src/vite/detectAdapter.ts index e979eb0c43e4..85b794575c93 100644 --- a/packages/sveltekit/src/vite/detectAdapter.ts +++ b/packages/sveltekit/src/vite/detectAdapter.ts @@ -5,7 +5,7 @@ import type { Package } from '@sentry/core'; /** * Supported @sveltejs/adapters-[adapter] SvelteKit adapters */ -export type SupportedSvelteKitAdapters = 'node' | 'auto' | 'vercel' | 'other'; +export type SupportedSvelteKitAdapters = 'node' | 'auto' | 'vercel' | 'cloudflare' | 'other'; /** * Tries to detect the used adapter for SvelteKit by looking at the dependencies. @@ -21,6 +21,8 @@ export async function detectAdapter(debug?: boolean): Promise { const consoleWarnSpy = vi.spyOn(console, 'warn').mockImplementation(() => {}); const consoleLogSpy = vi.spyOn(console, 'log').mockImplementation(() => {}); - it.each(['auto', 'vercel', 'node'])( + it.each(['auto', 'vercel', 'node', 'cloudflare'])( 'returns the adapter name (adapter %s) and logs it to the console', async adapter => { pkgJson.dependencies[`@sveltejs/adapter-${adapter}`] = '1.0.0'; @@ -68,6 +68,7 @@ describe('detectAdapter', () => { pkgJson.dependencies['@sveltejs/adapter-auto'] = '1.0.0'; pkgJson.dependencies['@sveltejs/adapter-vercel'] = '1.0.0'; pkgJson.dependencies['@sveltejs/adapter-node'] = '1.0.0'; + pkgJson.dependencies['@sveltejs/adapter-cloudflare'] = '1.0.0'; const detectedAdapter = await detectAdapter(); expect(detectedAdapter).toEqual('vercel'); @@ -75,5 +76,8 @@ describe('detectAdapter', () => { delete pkgJson.dependencies['@sveltejs/adapter-vercel']; const detectedAdapter2 = await detectAdapter(); expect(detectedAdapter2).toEqual('node'); + delete pkgJson.dependencies['@sveltejs/adapter-node']; + const detectedAdapter3 = await detectAdapter(); + expect(detectedAdapter3).toEqual('cloudflare'); }); }); diff --git a/packages/sveltekit/test/vite/svelteConfig.test.ts b/packages/sveltekit/test/vite/svelteConfig.test.ts index 35e32ce8ac4d..a567407b6623 100644 --- a/packages/sveltekit/test/vite/svelteConfig.test.ts +++ b/packages/sveltekit/test/vite/svelteConfig.test.ts @@ -68,6 +68,11 @@ describe('getAdapterOutputDir', () => { expect(outputDir).toEqual('customBuildDir'); }); + it('returns the output directory of the Cloudflare adapter', async () => { + const outputDir = await getAdapterOutputDir({ kit: { outDir: 'customOutDir' } }, 'cloudflare'); + expect(outputDir).toEqual('customOutDir/cloudflare'); + }); + it.each(['vercel', 'auto', 'other'] as SupportedSvelteKitAdapters[])( 'returns the config.kit.outdir directory for adapter-%s', async adapter => {