mirror of
https://github.com/withastro/astro.git
synced 2025-01-13 22:11:20 -05:00
Set external: true when loading astro config (#11819)
Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
This commit is contained in:
parent
560ef15ad2
commit
2bdde80cd3
2 changed files with 12 additions and 14 deletions
11
.changeset/moody-waves-think.md
Normal file
11
.changeset/moody-waves-think.md
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
---
|
||||||
|
'astro': major
|
||||||
|
---
|
||||||
|
|
||||||
|
Updates the Astro config loading flow to ignore processing locally-linked dependencies with Vite (e.g. `npm link`, in a monorepo, etc). Instead, they will be normally imported by the Node.js runtime the same way as other dependencies from `node_modules`.
|
||||||
|
|
||||||
|
Previously, Astro would process locally-linked dependencies which were able to use Vite features like TypeScript when imported by the Astro config file.
|
||||||
|
|
||||||
|
However, this caused confusion as integration authors may test against a package that worked locally, but not when published. This method also restricts using CJS-only dependencies because Vite requires the code to be ESM. Therefore, Astro's behaviour is now changed to ignore processing any type of dependencies by Vite.
|
||||||
|
|
||||||
|
In most cases, make sure your locally-linked dependencies are built to JS before running the Astro project, and the config loading should work as before.
|
|
@ -11,20 +11,7 @@ async function createViteServer(root: string, fs: typeof fsType): Promise<ViteDe
|
||||||
optimizeDeps: { noDiscovery: true },
|
optimizeDeps: { noDiscovery: true },
|
||||||
clearScreen: false,
|
clearScreen: false,
|
||||||
appType: 'custom',
|
appType: 'custom',
|
||||||
ssr: {
|
ssr: { external: true },
|
||||||
// NOTE: Vite doesn't externalize linked packages by default. During testing locally,
|
|
||||||
// these dependencies trip up Vite's dev SSR transform. Awaiting upstream feature:
|
|
||||||
// https://github.com/vitejs/vite/pull/10939
|
|
||||||
external: [
|
|
||||||
'@astrojs/tailwind',
|
|
||||||
'@astrojs/mdx',
|
|
||||||
'@astrojs/react',
|
|
||||||
'@astrojs/preact',
|
|
||||||
'@astrojs/sitemap',
|
|
||||||
'@astrojs/markdoc',
|
|
||||||
'@astrojs/db',
|
|
||||||
],
|
|
||||||
},
|
|
||||||
plugins: [loadFallbackPlugin({ fs, root: pathToFileURL(root) })],
|
plugins: [loadFallbackPlugin({ fs, root: pathToFileURL(root) })],
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue