@@ -29,16 +29,27 @@ const adapterMap = {
2929
3030/**
3131 * @param {import("./vite.js").AdexOptions } [options]
32- * @returns
32+ * @returns { (import("vite").Plugin)[] }
3333 */
3434export function adex ( {
3535 fonts,
3636 islands = false ,
3737 ssr = true ,
3838 adapter : adapter = 'node' ,
39- __clientConfig = { } ,
4039} = { } ) {
40+ /**
41+ *@type {Partial<import('vite').UserConfig> }
42+ */
43+ let rootCfg = { }
44+ // @ts -expect-error probably because of the `.filter`
4145 return [
46+ {
47+ name : 'adex-cfg' ,
48+ enforce : 'pre' ,
49+ configResolved ( cfg ) {
50+ rootCfg = cfg
51+ } ,
52+ } ,
4253 preactPages ( {
4354 root : '/src/pages' ,
4455 id : '~routes' ,
@@ -134,8 +145,8 @@ export function adex({
134145 islands && adexIslandsBuilder ( ) ,
135146
136147 // SSR/Render Server Specific plugins
137- ssr && adexServerBuilder ( { fonts, adapter, islands } ) ,
138- ]
148+ ssr && adexServerBuilder ( { fonts, rootCfg : rootCfg , adapter, islands } ) ,
149+ ] . filter ( Boolean )
139150}
140151
141152/**
@@ -210,7 +221,7 @@ function adexClientBuilder({ ssr = true, islands = false } = {}) {
210221 */
211222function adexBuildPrep ( { islands = false } ) {
212223 return {
213- name : 'remover ' ,
224+ name : 'adex-build-prep ' ,
214225 apply : 'build' ,
215226 async configResolved ( config ) {
216227 if ( ! islands ) return
@@ -497,7 +508,7 @@ function adexDevServer({ islands = false } = {}) {
497508 const devCSSMap = new Map ( )
498509 let cfg
499510 return {
500- name : adexDevServer . name ,
511+ name : 'adex-dev-server' ,
501512 apply : 'serve' ,
502513 enforce : 'pre' ,
503514 configResolved ( _cfg ) {
@@ -569,11 +580,12 @@ function adexDevServer({ islands = false } = {}) {
569580/**
570581 * @param {object } options
571582 * @param {import("./fonts.js").Options } options.fonts
583+ * @param {import("vite").UserConfig } options.rootCfg
572584 * @param {string } options.adapter
573585 * @param {boolean } options.islands
574586 * @returns {import("vite").Plugin }
575587 */
576- function adexServerBuilder ( { fonts, adapter, islands } ) {
588+ function adexServerBuilder ( { fonts, rootCfg , adapter, islands } ) {
577589 let input = 'src/entry-server.js'
578590 let cfg
579591 return {
@@ -596,6 +608,10 @@ function adexServerBuilder({ fonts, adapter, islands }) {
596608
597609 console . log ( `\nBuilding Server: ${ serverOutDir } \n` )
598610
611+ const sanitizedPlugins = rootCfg . plugins
612+ . filter ( d => ! d . name . startsWith ( 'vite:' ) )
613+ . filter ( d => ! d . name . startsWith ( 'adex-' ) )
614+
599615 await build ( {
600616 configFile : false ,
601617 ssr : {
@@ -696,6 +712,7 @@ function adexServerBuilder({ fonts, adapter, islands }) {
696712 ) ,
697713 addFontsPlugin ( fonts ) ,
698714 islands && adexIslandsBuilder ( ) ,
715+ ...sanitizedPlugins ,
699716 ] ,
700717 build : {
701718 outDir : serverOutDir ,
@@ -776,7 +793,7 @@ function preactPages({
776793 replacer = '' ,
777794} = { } ) {
778795 return {
779- name : 'routes' ,
796+ name : 'adex- routes' ,
780797 enforce : 'pre' ,
781798 resolveId ( id ) {
782799 if ( id !== virtualId ) {
0 commit comments