Skip to content

Commit 00e1501

Browse files
authored
fix: handle SSR configuration properly (#124)
* fix: handle SSR configuration properly * chore: simplify transform assets
1 parent 5344733 commit 00e1501

File tree

3 files changed

+20
-19
lines changed

3 files changed

+20
-19
lines changed

playground/nuxt.config.mts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import LayerModule from './layer-module'
55

66
export default defineNuxtConfig({
77
extends: ['layers/vuetify-layer'],
8-
ssr: true,
8+
// ssr: false,
99
sourcemap: true,
1010
imports: {
1111
autoImport: true,

src/utils/configure-nuxt.ts

Lines changed: 7 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,10 @@ export function configureNuxt(
1818

1919
const runtimeDir = ctx.resolver.resolve('./runtime')
2020

21-
nuxt.options.build.transpile.push(configKey)
22-
nuxt.options.build.transpile.push(runtimeDir)
21+
if (!nuxt.options.ssr) {
22+
nuxt.options.build.transpile.push(configKey)
23+
nuxt.options.build.transpile.push(runtimeDir)
24+
}
2325

2426
nuxt.options.css ??= []
2527
if (typeof styles === 'string' && ['sass', 'expose'].includes(styles))
@@ -29,11 +31,10 @@ export function configureNuxt(
2931
else if (typeof styles === 'object' && typeof styles?.configFile === 'string')
3032
nuxt.options.css.unshift(styles.configFile)
3133

32-
if (includeTransformAssetsUrls) {
34+
if (includeTransformAssetsUrls && typeof nuxt.options.vite.vue?.template?.transformAssetUrls === 'undefined') {
3335
nuxt.options.vite.vue ??= {}
3436
nuxt.options.vite.vue.template ??= {}
35-
if (typeof nuxt.options.vite.vue.template.transformAssetUrls === 'undefined')
36-
nuxt.options.vite.vue.template.transformAssetUrls = transformAssetUrls
37+
nuxt.options.vite.vue.template.transformAssetUrls = transformAssetUrls
3738
}
3839

3940
extendWebpackConfig(() => {
@@ -99,16 +100,9 @@ export function configureNuxt(
99100
})
100101
}
101102

102-
if (nuxt.options.dev) {
103+
if (nuxt.options.dev || ctx.dateAdapter) {
103104
addPlugin({
104105
src: ctx.resolver.resolve(runtimeDir, 'plugins/vuetify-date'),
105106
})
106107
}
107-
else {
108-
if (ctx.dateAdapter) {
109-
addPlugin({
110-
src: ctx.resolver.resolve(runtimeDir, 'plugins/vuetify-date'),
111-
})
112-
}
113-
}
114108
}

src/utils/configure-vite.ts

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,18 @@ export function configureVite(configKey: string, nuxt: Nuxt, ctx: VuetifyNuxtCon
1717

1818
viteInlineConfig.optimizeDeps = defu(viteInlineConfig.optimizeDeps, { exclude: ['vuetify'] })
1919

20-
viteInlineConfig.ssr ||= {}
21-
viteInlineConfig.ssr.noExternal = [
22-
...(Array.isArray(viteInlineConfig.ssr.noExternal) ? viteInlineConfig.ssr.noExternal : []),
23-
configKey,
24-
]
20+
if (nuxt.options.ssr) {
21+
viteInlineConfig.ssr ||= {}
22+
viteInlineConfig.ssr.noExternal = [
23+
...(Array.isArray(viteInlineConfig.ssr.noExternal)
24+
? viteInlineConfig.ssr.noExternal
25+
: viteInlineConfig.ssr.noExternal && typeof viteInlineConfig.ssr.noExternal !== 'boolean'
26+
? [viteInlineConfig.ssr.noExternal]
27+
: []
28+
),
29+
configKey,
30+
]
31+
}
2532

2633
viteInlineConfig.plugins.push(vuetify({ styles: true, autoImport: true }))
2734
viteInlineConfig.plugins.push(vuetifyStylesPlugin({ styles: ctx.moduleOptions.styles }, ctx.logger))

0 commit comments

Comments
 (0)