summaryrefslogtreecommitdiff
path: root/packages/integrations/solid/src
diff options
context:
space:
mode:
authorGravatar Bjorn Lu <bjornlu.dev@gmail.com> 2022-11-11 14:22:43 +0800
committerGravatar GitHub <noreply@github.com> 2022-11-11 14:22:43 +0800
commit3ae2a961b77da179d24c44734af54424e76a5049 (patch)
tree699217fe8ee1d4e222bfa2b3136c1c642093703e /packages/integrations/solid/src
parent7ec016fec35d97bde38ec35126cd80ff27de85d0 (diff)
downloadastro-3ae2a961b77da179d24c44734af54424e76a5049.tar.gz
astro-3ae2a961b77da179d24c44734af54424e76a5049.tar.zst
astro-3ae2a961b77da179d24c44734af54424e76a5049.zip
Respect Vite user config for third-party packages (#5345)
Diffstat (limited to 'packages/integrations/solid/src')
-rw-r--r--packages/integrations/solid/src/dependencies.ts6
-rw-r--r--packages/integrations/solid/src/index.ts8
2 files changed, 8 insertions, 6 deletions
diff --git a/packages/integrations/solid/src/dependencies.ts b/packages/integrations/solid/src/dependencies.ts
index 93e870bc1..ebe5e2a0a 100644
--- a/packages/integrations/solid/src/dependencies.ts
+++ b/packages/integrations/solid/src/dependencies.ts
@@ -1,10 +1,12 @@
+import type { AstroConfig } from 'astro';
import { fileURLToPath } from 'url';
import { crawlFrameworkPkgs } from 'vitefu';
-export async function getSolidPkgsConfig(root: URL, isBuild: boolean) {
+export async function getSolidPkgsConfig(isBuild: boolean, astroConfig: AstroConfig) {
return await crawlFrameworkPkgs({
- root: fileURLToPath(root),
+ root: fileURLToPath(astroConfig.root),
isBuild,
+ viteUserConfig: astroConfig.vite,
isFrameworkPkgByJson(pkgJson) {
return containsSolidField(pkgJson.exports || {});
},
diff --git a/packages/integrations/solid/src/index.ts b/packages/integrations/solid/src/index.ts
index 1a7667d59..15757c2cb 100644
--- a/packages/integrations/solid/src/index.ts
+++ b/packages/integrations/solid/src/index.ts
@@ -1,4 +1,4 @@
-import type { AstroIntegration, AstroRenderer } from 'astro';
+import type { AstroConfig, AstroIntegration, AstroRenderer } from 'astro';
import { getSolidPkgsConfig } from './dependencies.js';
function getRenderer(): AstroRenderer {
@@ -24,11 +24,11 @@ function getRenderer(): AstroRenderer {
};
}
-async function getViteConfiguration(isDev: boolean, root: URL) {
+async function getViteConfiguration(isDev: boolean, astroConfig: AstroConfig) {
// https://github.com/solidjs/vite-plugin-solid
// We inject the dev mode only if the user explicitely wants it or if we are in dev (serve) mode
const nestedDeps = ['solid-js', 'solid-js/web', 'solid-js/store', 'solid-js/html', 'solid-js/h'];
- const solidPkgsConfig = await getSolidPkgsConfig(root, !isDev);
+ const solidPkgsConfig = await getSolidPkgsConfig(!isDev, astroConfig);
return {
/**
* We only need esbuild on .ts or .js files.
@@ -58,7 +58,7 @@ export default function (): AstroIntegration {
hooks: {
'astro:config:setup': async ({ command, addRenderer, updateConfig, config }) => {
addRenderer(getRenderer());
- updateConfig({ vite: await getViteConfiguration(command === 'dev', config.root) });
+ updateConfig({ vite: await getViteConfiguration(command === 'dev', config) });
},
},
};