mirror of
https://github.com/withastro/astro.git
synced 2024-12-30 22:03:56 -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 },
|
||||
clearScreen: false,
|
||||
appType: 'custom',
|
||||
ssr: {
|
||||
// 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',
|
||||
],
|
||||
},
|
||||
ssr: { external: true },
|
||||
plugins: [loadFallbackPlugin({ fs, root: pathToFileURL(root) })],
|
||||
});
|
||||
|
||||
|
|
Loading…
Reference in a new issue