diff options
author | 2022-11-11 14:22:43 +0800 | |
---|---|---|
committer | 2022-11-11 14:22:43 +0800 | |
commit | 3ae2a961b77da179d24c44734af54424e76a5049 (patch) | |
tree | 699217fe8ee1d4e222bfa2b3136c1c642093703e /packages/integrations/solid/src | |
parent | 7ec016fec35d97bde38ec35126cd80ff27de85d0 (diff) | |
download | astro-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.ts | 6 | ||||
-rw-r--r-- | packages/integrations/solid/src/index.ts | 8 |
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) }); }, }, }; |