Skip to content

Commit b0b6e08

Browse files
committed
feat: Support Nuxt 5.0
1 parent 86c89de commit b0b6e08

File tree

1 file changed

+16
-12
lines changed

1 file changed

+16
-12
lines changed

src/module.ts

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { existsSync } from 'node:fs'
22
import { createJiti } from 'jiti'
33
import { defu } from 'defu'
4-
import { useLogger, addPlugin, addImports, addTemplate, createResolver, defineNuxtModule } from '@nuxt/kit'
4+
import { useLogger, addPlugin, addImports, addTemplate, createResolver, defineNuxtModule, addVitePlugin } from '@nuxt/kit'
55
import GraphQLPlugin from '@rollup/plugin-graphql'
66
import type { PluginOption } from 'vite'
77
import { name, version } from '../package.json'
@@ -25,7 +25,7 @@ export default defineNuxtModule<ModuleOptions>({
2525
version,
2626
configKey: 'apollo',
2727
compatibility: {
28-
nuxt: '^3.0.0 || ^4.0.0'
28+
nuxt: '^3.0.0 || ^4.0.0 || ^5.0.0'
2929
}
3030
},
3131
defaults: {
@@ -159,18 +159,22 @@ export default defineNuxtModule<ModuleOptions>({
159159
].map(n => ({ name: n, from: '@vue/apollo-composable' })))
160160
])
161161

162-
nuxt.hook('vite:extendConfig', (config) => {
163-
config.optimizeDeps = config.optimizeDeps || {}
164-
config.optimizeDeps.exclude = config.optimizeDeps.exclude || []
165-
config.optimizeDeps.exclude.push('@vue/apollo-composable')
162+
addVitePlugin(GraphQLPlugin())
166163

167-
config.plugins = config.plugins || []
168-
config.plugins.push(GraphQLPlugin() as PluginOption)
169-
170-
if (!nuxt.options.dev) {
171-
config.define = { ...config.define, __DEV__: false }
164+
addVitePlugin(() => ({
165+
name: 'apollo-composable-optimize-deps',
166+
configEnvironment(name, config) {
167+
// you can set environment-specific vite configuration here
168+
if (name === 'client') {
169+
config.optimizeDeps ||= {}
170+
config.optimizeDeps.include ||= []
171+
config.optimizeDeps.include.push('@vue/apollo-composable')
172+
}
173+
},
174+
applyToEnvironment(environment) {
175+
return environment.name === 'client'
172176
}
173-
})
177+
}))
174178

175179
nuxt.hook('webpack:config', (configs) => {
176180
for (const config of configs) {

0 commit comments

Comments
 (0)