summaryrefslogtreecommitdiff
path: root/packages/integrations/image/src/index.ts
diff options
context:
space:
mode:
authorGravatar Bjorn Lu <bjornlu.dev@gmail.com> 2022-10-13 23:16:08 +0800
committerGravatar GitHub <noreply@github.com> 2022-10-13 11:16:08 -0400
commit93f72f90bc8b29b1bf1402354f1ed6a110411243 (patch)
tree06ac1374721d415d1834fb3c61b27580811655e2 /packages/integrations/image/src/index.ts
parentac6e2af73c4c02d3fb0ec90420479f3716593556 (diff)
downloadastro-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.ts9
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({