Skip to content

Commit

Permalink
fix: add nuxt app alias
Browse files Browse the repository at this point in the history
  • Loading branch information
harlan-zw committed Nov 25, 2022
1 parent 0b587e7 commit 22361b4
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 9 deletions.
25 changes: 17 additions & 8 deletions packages/nuxt-delay-hydration/src/module.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { promises as fsp } from 'fs'
import { addComponentsDir, addPlugin, createResolver, defineNuxtModule } from '@nuxt/kit'
import {addComponentsDir, addPlugin, addTemplate, createResolver, defineNuxtModule} from '@nuxt/kit'
// @ts-expect-error untyped
import template from 'lodash.template'

Expand Down Expand Up @@ -121,18 +121,27 @@ export default defineNuxtModule<ModuleOptions>({
scripts[s] = template(scriptT)({ options })
}

nuxt.hooks.hook('nitro:config', (config) => {
config.externals = config.externals || {}
config.externals.inline = config.externals.inline || []
config.externals.inline.push(runtimeDir)
config.virtual = config.virtual || {}
config.virtual['#delay-hydration']
= `export const script = ${JSON.stringify(scripts.global, null, 2)}
const exports = `export const script = ${JSON.stringify(scripts.global, null, 2)}
export const replayScript = ${JSON.stringify(scripts.replay, null, 2)}
export const mode = '${options.mode}'
export const include = ${JSON.stringify(options.include)}
export const exclude = ${JSON.stringify(options.exclude)}
export const debug = ${JSON.stringify(options.debug)}`

// add alias for nuxt app
const dst = addTemplate({
filename: 'delay-hydration.mjs',
getContents: () => exports,
})
nuxt.options.alias['#delay-hydration'] = dst.dst

// add alias for nitro
nuxt.hooks.hook('nitro:config', (config) => {
config.externals = config.externals || {}
config.externals.inline = config.externals.inline || []
config.externals.inline.push(runtimeDir)
config.virtual = config.virtual || {}
config.virtual['#delay-hydration'] = exports
config.plugins = config.plugins || []
config.plugins.push(resolve(runtimeDir, 'nitro-plugin'))
})
Expand Down
2 changes: 1 addition & 1 deletion playground/nuxt.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ export default defineNuxtConfig({
'nuxt-delay-hydration',
],
delayHydration: {
mode: 'init',
mode: 'mount',
exclude: ['/not-delayed'],
},
app: {
Expand Down

0 comments on commit 22361b4

Please sign in to comment.