Skip to content

Commit 0c258d4

Browse files
authored
fix(devtools): use vite plugin for env-specific config (#899)
1 parent 110ec66 commit 0c258d4

File tree

4 files changed

+32
-32
lines changed

4 files changed

+32
-32
lines changed

local.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ import type { ModuleOptions } from './packages/devtools/src/types'
1818
* })
1919
* ```
2020
*/
21-
import { defineNuxtModule, logger } from '@nuxt/kit'
21+
import { defineNuxtModule, extendViteConfig, logger } from '@nuxt/kit'
2222
import { getPort } from 'get-port-please'
2323
import { resolve } from 'pathe'
2424
import { searchForWorkspaceRoot } from 'vite'
@@ -40,7 +40,7 @@ export default defineNuxtModule<ModuleOptions>({
4040
const workspaceRoot = resolve(packageDir, '../..')
4141
const PORT = await getPort({ port: 12442 })
4242

43-
nuxt.hook('vite:extendConfig', (config) => {
43+
extendViteConfig((config) => {
4444
config.server ||= {}
4545
// add proxy to client
4646
config.server.proxy ||= {}

packages/devtools/client/modules/markdown.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import type { BuiltinLanguage } from 'shiki'
2-
import { defineNuxtModule, logger } from '@nuxt/kit'
2+
import { defineNuxtModule, extendViteConfig, logger } from '@nuxt/kit'
33
import { consola } from 'consola'
44
import LinkAttributes from 'markdown-it-link-attributes'
55
import { createHighlighter } from 'shiki'
@@ -24,7 +24,7 @@ export default defineNuxtModule({
2424

2525
nuxt.options.extensions.push('.md')
2626

27-
nuxt.hook('vite:extendConfig', async (config) => {
27+
extendViteConfig((config) => {
2828
config.plugins!.push(
2929
Markdown({
3030
async markdownItSetup(md) {

packages/devtools/src/module-main.ts

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import type { ModuleOptions, NuxtDevToolsOptions } from './types'
55
import { existsSync } from 'node:fs'
66
import fs from 'node:fs/promises'
77
import os from 'node:os'
8-
import { addPlugin, addTemplate, addVitePlugin, logger } from '@nuxt/kit'
8+
import { addImports, addPlugin, addTemplate, addVitePlugin, extendViteConfig, logger } from '@nuxt/kit'
99
import { colors } from 'consola/utils'
1010
import { join } from 'pathe'
1111
import sirv from 'sirv'
@@ -110,7 +110,7 @@ window.__NUXT_DEVTOOLS_TIME_METRIC__.appInit = Date.now()
110110

111111
const clientDirExists = existsSync(clientDir)
112112

113-
nuxt.hook('vite:extendConfig', (config) => {
113+
extendViteConfig((config) => {
114114
config.server ||= {}
115115
config.server.fs ||= {}
116116
config.server.fs.allow ||= [
@@ -126,11 +126,9 @@ window.__NUXT_DEVTOOLS_TIME_METRIC__.appInit = Date.now()
126126
config.server.watch.ignored.push('**/.cache/nuxt-devtools/**')
127127
})
128128

129-
nuxt.hook('imports:extend', (imports) => {
130-
imports.push({
131-
name: 'useNuxtDevTools',
132-
from: join(runtimeDir, 'use-nuxt-devtools'),
133-
})
129+
addImports({
130+
name: 'useNuxtDevTools',
131+
from: join(runtimeDir, 'use-nuxt-devtools'),
134132
})
135133

136134
const ROUTE_PATH = `${nuxt.options.app.baseURL || '/'}/__nuxt_devtools__`.replace(/\/+/g, '/')

packages/devtools/src/server-rpc/server-data.ts

Lines changed: 23 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import type { Nitro } from 'nitropack'
22
import type { ResolvedConfig } from 'vite'
33
import type { NuxtDevtoolsServerContext, ServerFunctions } from '../types'
4+
import { addVitePlugin } from '@nuxt/kit'
45

56
export function setupServerDataRPC({
67
nuxt,
@@ -32,27 +33,28 @@ export function setupServerDataRPC({
3233
nitro = _nitro
3334
})
3435

35-
nuxt.hook('vite:extendConfig', (vite, options) => {
36-
if (options.isServer) {
37-
vite.plugins ||= []
38-
vite.plugins.push({
39-
name: 'nuxt:devtools:config-retriever',
40-
enforce: 'post',
41-
configResolved(config) {
42-
viteServer = normalizeViteConfig(config)
43-
},
44-
})
45-
}
46-
else if (options.isClient) {
47-
vite.plugins ||= []
48-
vite.plugins.push({
49-
name: 'nuxt:devtools:config-retriever',
50-
enforce: 'post',
51-
configResolved(config) {
52-
viteClient = normalizeViteConfig(config)
53-
},
54-
})
55-
}
36+
addVitePlugin({
37+
name: 'nuxt:devtools:config',
38+
applyToEnvironment(environment) {
39+
if (environment.name === 'ssr') {
40+
return {
41+
name: 'nuxt:devtools:config-retriever',
42+
enforce: 'post',
43+
configResolved(config) {
44+
viteServer = normalizeViteConfig(config)
45+
},
46+
}
47+
}
48+
if (environment.name === 'client') {
49+
return {
50+
name: 'nuxt:devtools:config-retriever',
51+
enforce: 'post',
52+
configResolved(config) {
53+
viteClient = normalizeViteConfig(config)
54+
},
55+
}
56+
}
57+
},
5658
})
5759

5860
return {

0 commit comments

Comments
 (0)