diff options
author | 2022-10-13 23:16:08 +0800 | |
---|---|---|
committer | 2022-10-13 11:16:08 -0400 | |
commit | 93f72f90bc8b29b1bf1402354f1ed6a110411243 (patch) | |
tree | 06ac1374721d415d1834fb3c61b27580811655e2 /packages/integrations/image/src/index.ts | |
parent | ac6e2af73c4c02d3fb0ec90420479f3716593556 (diff) | |
download | astro-93f72f90bc8b29b1bf1402354f1ed6a110411243.tar.gz astro-93f72f90bc8b29b1bf1402354f1ed6a110411243.tar.zst astro-93f72f90bc8b29b1bf1402354f1ed6a110411243.zip |
Fix image external config in build (#5073)
Diffstat (limited to '')
-rw-r--r-- | packages/integrations/image/src/index.ts | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/packages/integrations/image/src/index.ts b/packages/integrations/image/src/index.ts index 24e70a35d..e3770d5e9 100644 --- a/packages/integrations/image/src/index.ts +++ b/packages/integrations/image/src/index.ts @@ -52,7 +52,7 @@ export default function integration(options: IntegrationOptions = {}): AstroInte // During SSG builds, this is used to track all transformed images required. const staticImages = new Map<string, Map<string, TransformOptions>>(); - function getViteConfiguration() { + function getViteConfiguration(isDev: boolean) { return { plugins: [createPlugin(_config, resolvedOptions)], build: { @@ -62,8 +62,9 @@ export default function integration(options: IntegrationOptions = {}): AstroInte }, ssr: { noExternal: ['@astrojs/image', resolvedOptions.serviceEntryPoint], - // CJS dependencies used by `serviceEntryPoint` - external: ['http-cache-semantics', 'image-size', 'mime'], + // Externalize CJS dependencies used by `serviceEntryPoint`. Vite dev mode has trouble + // loading these modules with `ssrLoadModule`, but works in build. + external: isDev ? ['http-cache-semantics', 'image-size', 'mime'] : [], }, assetsInclude: ['**/*.wasm'], }; @@ -75,7 +76,7 @@ export default function integration(options: IntegrationOptions = {}): AstroInte 'astro:config:setup': async ({ command, config, updateConfig, injectRoute }) => { needsBuildConfig = !config.build?.server; _config = config; - updateConfig({ vite: getViteConfiguration() }); + updateConfig({ vite: getViteConfiguration(command === 'dev') }); if (command === 'dev' || config.output === 'server') { injectRoute({ |